All Versions
25
Latest Version
Avg Release Cycle
23 days
Latest Release
568 days ago

Changelog History
Page 1

  • v0.35.0 Changes

    December 10, 2020

    🔄 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.

  • v0.34.0 Changes

    November 12, 2020

    🔄 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.

  • v0.33.0 Changes

    October 15, 2020

    🔄 Changes

    🚀 This release contains the following significant changes:

    🆕 New features

    • 👍 3fba2fe - Support Unix Domain Sockets at HttpClientBuilder (#1153)
    • 👍 efa6356 - gRPC compression and support of message-encoding (#1151)
    • 👍 a323b86 - BlockingStreamingHttp[Response|Response] to support InputStream setter (#1175)
    • 21d9ccc - Add Publisher#flatMapMerge operator (#1011)

    API changes

    • ⚡️ fd873e8 - Support batched service discoverer updates (#1146)
    • efa6356 - HeaderUtils.hasContentType is now public (was done as part of #1151)

    👌 Improvements

    • c3ff7bf - Avoid Connection reset by peer error when server closes the connection (#1141)
    • 3d57030 - Add tests and examples for mutual TLS (#1179)
    • 🖨 db7d8fb - ConnectionContext.toString() prints Netty's channel id (#1172)
    • 👍 d89d814 - Support half-closure for UnixDomainSockets (#1165)
    • 🚚 4dd3782 - servicetalk-grpc-protoc remove plugin.proto (#1163)

    🐛 Bug fixes

    • 8643b82 - Clear AsyncContext before invoking HttpService (#1150)
    • f314139 - DynamicCompositeCancellable queue full return value fix (#1159)
    • 👀 573c998 - Do not abort server write if the CloseEvent is already registered (#1177)
    • 👍 597e8cd - Support write of read-only Buffer(s) for HTTP/2 (#1171)
    • 04057c9 - Publisher#flatMapMerge queue not drained bug (#1161)
    • 699ce29 - Single#toCompletionStage() avoid cancel if normal termination (#1162)
    • 2301ec6 - Do not complete server write if there are still pending requests (#1155)

    ⬆️ Dependencies upgrade

    • ⚡️ 3080944 - Update Netty 4.1.52 -> 4.1.53, netty-tcnative 2.0.32 -> 2.0.34 (#1176)
    • ⚡️ 51c36ab - Update jctools from 3.0.0 to 3.1.0 (#1182)
    • ⚡️ 329a9fa - Update zipkin-reporter from 2.15.0 to 2.15.2 (#1183)
    • ⚡️ acc8495 - Update jackson 2.10.4 -> 2.10.5 (#1157)
    • ⚡️ 350c5b1 - Update protobuf 3.12.1 -> 3.13.0 (#1164)

    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.

  • v0.32.0 Changes

    September 11, 2020

    🔄 Changes

    🚀 This release contains the following significant changes:

    Behavior Changes

    • 🌲 26b4f60 - Dynamic log level for wire logging and h2 frame logging (#1123)
      • Previously enableWireLogging and enableFrameLogging builder options would always log at TRACE logging level. Now the logging level is dynamic and derived from the logging configuration. You can use the logging configuration to control the log level, disable the logger all together (e.g. log level OFF), and/or filter logging dynamically (e.g. ThresholdFilter from log4j2 or equivalent mechanism with your preferred logging implementation).
    • 🏗 7b429c5 - Simplify ServiceDiscoverer generics in client builders (#1144)
    • 🚚 13ee468 - Remove servicetalk-grpc-gradle-plugin (#1125)
      • See the commit message for more details and updated example for impacts on your gradle build.

    🆕 New Features

    • 694ca94 - Observability for connection establishment and read-write events (#1105)
    • 🔒 11f8640 - Security handshake observability (#1099)
    • b6abb28 - Observability for connection level events (#1095)

    🐛 Bug Fixes

    • 💅 50fb8e6 - Ignore checkstyle line length for site-remote.yml
    • 08e7293 - Fix flaky test in HttpTransportObserverTest (#1143)
    • 1d76daa - Allow for continuations in streamed form-url-encoded params during serialization (#1133)
    • 099c9e0 - Fix assertEquals expected & actual order (#1127)

    👌 Improvements

    • 09ffa8c - Gradle wrapper validation (#1140)
    • bed2706 - Provide informative exceptions upon gRPC calls when plain h2/h1 resp (#1132)
    • 8a77394 - Improve wrapping with the close reason (#1142)
    • 2939492 - Provide a public factory for BiTransportObserver (#1135)
    • 7137ee3 - Report streamEstablished event, improve streamClosed handling (#1131)
    • b46a949 - Avoid using nullable fields for observers (#1134)
    • d077aac - Propagate SecurityHandshakeObserver without channel attribute (#1129)
    • 77a14d8 - Verify connection close event reported when it is closed after idle timeout (#1130)
    • c49d669 - Propagate ConnectionObserver without channel attribute (#1124)
    • 🔊 6dca512 - Introduce CatchAllTransportObserver that catches and logs unexpected exceptions (#1118)
    • 🔧 311c9c4 - Configure TransportObserver via ConnectionFactory on the client-side (#1114)
    • 🔌 553bef6 - Fix example comments for grpc gradle plugin dependency (#1137)
    • dfe9aad - Improve tests for ALPN (#1128)
    • f795959 - Add tests for HTTP request smuggling in headers (#1126)

    ⬆️ Dependencies upgrade

    • ⚡️ c2b33da - Update Netty 4.1.51 -> 4.1.52, netty-tcnative 2.0.31 -> 2.0.32 (#1145)

    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.

  • v0.31.0 Changes

    August 13, 2020

    🔄 Changes

    🚀 This release contains the following significant changes:

    🆕 New Features

    • ab1b686 - Retain addresses on service discovery failure (#1115)
    • 🏗 7fb95d0 - Add maven build files for gRPC helloworld example (#1091)

    🐛 Bug Fixes

    • 📄 05c28f8 - Fix docs external links from main -> master (#1116)
    • c993229 - Do not half-close outbound channel on graceful client closure (#1111)
    • 90812d0 - DefaultDnsClientTest.repeatDiscoverNxDomain test failure (#1107)
    • 901afcd - HTTP server does not complete the response if handler method throws (#1104)
    • 1f44ea7 - Close ServerContext before Executor in AbstractNettyHttpServerTest (#1101)
    • 9bcde10 - Use afterFinally in examples (#1093)

    👌 Improvements

    • 🚚 758f025 - Remove unused code (#1113)
    • b4b02e6 - Replace master terminology with main (#1108)
    • 915a4c5 - Add comments to clarify Client duplex behavior (#1106)
    • a742c54 - Enhance connection: close tests to cover more use-cases on the server-side (#1100)
    • 5607b03 - Ignore NetBeans and VS Code folders in .gitignore (#1096)
    • 🌲 23dee4c - Log error for unexpected error from a gRPC route (#1098)
    • 0938873 - Fix grammar in index.adoc (#1094)

    ⬆️ Dependencies upgrade

    • ⚡️ 984bdd5 - Update docs gradle 5.6.4 -> 6.5.1, docs node 8.12.0 -> 12.18.3 (#1110)
    • ⚡️ 67ed3be - Update gradlew 6.3 -> 6.5.1 (#1109)
    • ⬆️ c9abf84 - Upgrade opentracing from 0.31 to 0.33 (#1103)
    • ⚡️ f44c251 - Update Netty 4.1.50 -> 4.1.51, netty-tcnative 2.0.30 -> 2.0.31 (#1092)

    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.

  • v0.30.0 Changes

    July 08, 2020

    🔄 Changes

    🚀 This release contains the following significant changes:

    🐛 Bug Fixes

    • 0e26a5f - Fix incorrect request-n management for Publisher.multicast() (#1083)
    • 39fab80 - Do not shutdown output channel until client receives the full response (#1090)

    👌 Improvements

    ⬆️ Dependencies upgrade

    • ef94190 - Bump com.github.johnrengelman.shadow from 5.1.0 to 6.0.0 (#1089)

    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.

  • v0.29.0 Changes

    June 10, 2020

    🔄 Changes

    🚀 This release contains the following significant changes:

    🆕 New Features

    • 5e977e3 - Fail requests if ServiceDiscoverer emits an error (#1070)
    • ef44bcb - Observer for DNS ServiceDiscoverer (#1081)

    🐛 Bug Fixes

    • 👍 a856d50 - ServiceTalkThreadContextMap to support null values (#1084)
    • 🚚 6c8db6b - Zipkin Publisher remove explicit io.zipkin.zipkin2:zipkin dependency (#1078)

    👌 Improvements

    • 🗄 d37946e - Fix all deprecation warnings from Gradle 6.3 (#1080)
    • e514522 - Unwrap the cause only for DecoderException (#1077)
    • 848678f - Replace MaxSizeBasedWriteDemandEstimator with EWMAWriteDemandEstimator (#1076)
    • aaa77cd - Unwrap instances of SSLException (#1075)
    • 5e83430 - Avoid blocking JDK DNS resolutions (#1074)
    • 🛰 8061128 - Clarify exception when payload body can not be aggregated (#1073)
    • 🔧 b863902 - Configure ServiceTalkJacksonSerializerFeature explicitly and remove org.glassfish.jersey.jackson.JacksonFeature check (#1072)
    • 296555b - Method to create PUT requests for [Blocking]StreamingHttpRequestFactory (#1064)

    ⬆️ Dependencies upgrade

    • ⚡️ fbc31d8 - Update versions of quality plugins (#1082)
    • ⚡️ e731737 - Update zipkin-reporter 2.12.2 -> 2.15.0 (#1079)
    • ⚡️ 198d12c - Update jackson-databind 2.10.3 -> 2.10.4 (#1069)
    • ⚡️ 71a4a71 - Update grpc-java 1.27.1 -> 1.29.0 (testing dependency) (#1068)
    • ⚡️ f6f8b13 - Update log4j 2.13.1 -> 2.13.3 (#1067)
    • ⚡️ a466ba7 - Update proto-google-common-protos 1.17.0 -> 1.18.0 (#1066)
    • ⚡️ 90d9e3a - Update protobuf 3.11.4 -> 3.12.1 (#1065)

    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.

  • v0.28.0 Changes

    May 21, 2020

    🔄 Changes

    🚀 This release contains the following significant changes:

    🆕 New Features

    • 🛰 97f0d60 - Allow chunked responses without payload body (#1060)

    🐛 Bug Fixes

    • 5c38aaa - AbstractInMemorySpanBuilder to respect FOLLOWS_FROM (#1063)
    • 1a7498d - WriteStreamSubscriber retains listeners for the lifetime of the source (#1059)
    • 37ca956 - CancellableThenSubscription avoiding infinite loop (#1057)

    👌 Improvements

    • 👀 98754a5 - Mark ProxyResponseException as retryable IOException (#1062)
    • ec3d9d8 - Publisher#flatMapMergeSingle avoid queue if no concurrency (#1047)
    • 0️⃣ cf639bb - DefaultJerseyStreamingHttpRouter protect against duplicate termination (#1058)
    • f50a98f - RoundRobinLoadBalancer close state simplification (#1055)
    • 5f195b8 - CompositeException rename finishAndThrow to transferPendingToSuppressed (#1056)

    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.

  • v0.27.0 Changes

    May 15, 2020

    🔄 Changes

    🚀 This release contains the following significant changes:

    🔔 Noticeable behavior change

    • b82319f - RoundRobinLoadBalancer to allow duplicate addresses (#1052)

    🆕 New Features

    🐛 Bug Fixes

    • 🚀 592b477 - Release DnsRawRecords after SRV response (#1044)
    • d897beb - Publisher#flatMapMergeSingle potential queue drain visibility issue (#1014)
    • 00eb752 - Publisher#flatMapMergeSingle terminal condition race (#1012)

    👌 Improvements

    • ca502e9 - DelayedSubscription no longer uses ConcurrentSubscription internally (#1046)
    • b7cabe4 - RoundRobinLoadBalancer should not sort the addresses (#1051)
    • c9b404e - Implement Component#chek() for UdpReporter (#1054)
    • 2d111d9 - Consolidate concurrent.api NULL_TOKEN usage (#1045)
    • 44161eb - SingleConcatWithPublisher and invalid request-n (#1042)
    • e57a01c - ConcurrentSubscripiton avoid concurrent access for invalid demand (#1015)
    • 👻 f72b6d9 - More robust exception handling from Subscribers (#1034)
    • 🚚 1a0d51d - Remove keep alive duration limits (#1037)
    • 29a8d45 - HTTP Client Pipelining fullduplex (#980)
    • 454cf96 - ConcurrentUtils cleanup, [Completable|Single]Processor cancel concurrency fix, Simplify Publisher#flatMapConcatIterable (#1026)
    • c4fa823 - Publisher#flatMapSingle make subscription non-volatile (#1025)
    • c20478a - RoundRobinLoadBalancer should close connections gracefully (#1028)
    • b2562c1 - ReactiveStreams TCK tests to use Publisher#range() instead of Publisher#from(Integer[]) (#1021)
    • 4773b14 - servicetalk-opentracing-zipkin-publisher: declare api dependencies (#1020)
    • b88008b - Minor improvements for servicetalk-opentracing-zipkin-publisher (#1019)

    ⬆️ Dependencies upgrade

    • ⚡️ ef6502f - Update netty to 4.1.50.Final (#1050)
    • ⚡️ b22e5ea - Update Netty 4.1.48 -> 4.1.49 and netty-tcnative 2.0.29 -> 2.0.30 (#1030)

    📚 Documentation

    • 1b41a01 - Governance - clarify yes/no vote (#1041)
    • 🚚 d9290d4 - Remove Project Communication section from CONTRIBUTORS.adoc ToC (#1038)
    • 4fb9547 - Clarify Governance and Contribution guidelines (#1031)
    • 8576f00 - Disable SHA256 and SHA512 checksums for published artifacts (#1017)

    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.

  • v0.26.0 Changes

    April 15, 2020

    🔄 Changes

    🚀 This release contains the following significant changes:

    🔔 Noticeable behavior change

    • 289f908 - Change when* operators to before* instead of after* (#1005)

    🆕 New Features

    • 🏁 0ebe48e - Initial support for windows development (#977)
    • 👍 51d3682 - Add support for SameSite attribute in Cookies (#989)
    • 🚦 52532d4 - Add whenFinally(TerminalSignalConsumer) for Publisher, Single, Completable (#990)
    • 5b971c1 - Add ambWith and amb methods for Single and Completable (#1003)
    • 33a69b6 - Converting ZipkinPublisher to use a zipkin2.Reporter interface for reporting spans (#1001)

    🐛 Bug Fixes

    • 3bd64a9 - Fix ChannelSetTest async issues (#979)
    • 🔌 4a85c39 - gRPC gradle plugin rework (#983)
    • 8084127 - gRPC protoc script pushd not found (#982)
    • 8de9054 - AsyncContextInMemoryScopeManager to restore previous Scope on close() (#1004)
    • 3756013 - RoundRobinLoadBalancer should compose connection closure with error response (#1006)
    • ebb4931 - ProxyConnectConnectionFactoryFilter leaks connection in case of errors (#1002)

    👌 Improvements

    • 🏗 3c222b2 - buildStreaming(HttpClientBuildContext) should use information only from HttpClientBuildContext (#974)
    • c9aba8d - WriteStreamSubscriber aggregate Netty Promise return true (#978)
    • afe0a23 - NettyChannelPublisher cancel active subscriber should terminate (#976)
    • 🏗 d5a562e - gRPC gradle plugin write script to buildDir (#984)
    • 🔌 2217f9d - Follow-up enhancements for servicetalk-grpc-gradle-plugin (#985)
    • 5508ae6 - Fix typo in inheritRepositoriesFromBuildScript method name (#986)
    • 🔀 c5dbb2b - Replace ConcurrentSubscription with DelayedCancellable when synchronous request(Long.MAX_VALUE) (#993)
    • 38c10dd - Do not wrap unreleasable ByteBuf(s) with Unpooled.unreleasableBuffer (#991)
    • 9b45657 - Work around SpotBugs JDK11 bug, make code more robust (#998)
    • dad967a - Use ints as scores for ScoreSupplier (#996)
    • 🚚 10ded56 - Completable#concatWith(Completable) remove atomic operation (#1000)
    • 3e616be - Introduce HttpLoadBalancerFactory (#994)
    • 9c11c95 - Rename BeforeFinallyOnHttpResponseOperator to BeforeFinallyHttpOperator (#1007)
    • 🚦 e53d677 - Promote Single.TerminalSignalConsumer to top level interface (#1008)
    • 🚚 6d06124 - CollectTest remove assumption about subscribe ordering (#1016)
    • fd9eff4 - Use Math.min in SubscriberUtils (#1013)

    ⬆️ Dependencies upgrade

    • ⚡️ ad11d10 - Update versions of quality tools (#987)
    • ⚡️ 3c7b059 - Update to Gradle 6.3 (#992)
    • ⚡️ f8c9055 - Update SpotBugs gradle plugin 4.0.4 -> 4.0.5 (#997)

    📚 Documentation

    • ⚡️ cecc56d - publish-docs.sh overrides javadoc for older versions when it publishes SNAPSHOT update (#972)
    • 📄 666a16b - Enforce JDK8 when running publish-docs.sh (#973)

    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.