0.37.0
Changes
This release contains the following significant changes:
New features
API changes
- 4fd7559 - Improve
CharSequences#split
to support trim and min copies (#1335) - 1645999 - Encoding header negotiation deduplication and
CharSequences
cleanup (#1311)
io.servicetalk.http.api.CharSequences
has been deprecated and the replacement is available here io.servicetalk.buffer.api.CharSequences
. The deprecated API will be removed in the upcoming releases.
As part of this work the following new methods were introduced:
StreamingHttp[Request|Response]#messageBody()
StreamingHttp[Request|Response]#transformMessageBody(UnaryOperator)
The following methods were deprecated and will be removed in the upcoming releases:
*StreamingHttp[Request|Response]#payloadBodyAndTrailers()
*StreamingHttp[Request|Response]#transformRawPayloadBody(UnaryOperator)
*StreamingHttp[Request|Response]#transformRaw(TrailersTransformer)
Bug fixes
- f839de4 - Fix broken encoding when publisher has no content (#1345)
- 2edcee2 -
NettyChannelPublisher
duplicateonError
(#1343) - 75d3822 -
Completable#merge(Publisher)
subscriber concurrency updates (#1334) - 5832d5d - HTTP Trailers Propagation Fix (#1332)
- b549c55 - HTTP/2
CloseHandler
avoid writing after channel closed (#1346) - aed51b5 -
Completable#mergeDelayError(Publisher)
and HTTP client control flow (#1336) - af2db97 - Remove
content-length
whentransfer-encoding: chunked
is present (#1349) - f19ae20 - Parse payload body for non-2xx response to
CONNECT
request (#1347) - 93165f0 -
EmptySubscription
propagate error toSubscriber
(#1319) - 299c541 -
[Single|Completable]
toPublisher
andPublisher#scanWith
offloading and async context fixes (#1333) - f7f4daf - HTTP StreamingService to BlockingStreaming backpressure and error propagation fixes (#1328)
- 2c3bc26 -
Publisher#flatMapMerge*
preserve error (#1325) - 28f740d -
Publisher#flatMapConcatIterable(..)
to not cancel ifonNext
throws (#1324)
Improvements
- 58baa0a - Debug-log when
RoundRobinLoadBalancer
closes connections to inactive addresses (#1351) - 6f5204a - Reject HTTP messages with malformed
content-length
value(s) (#1350) - 044b6a2 -
HttpResponseDecoderTest
: Improve tests for variable response body length (#1348) - 4bddc09 - Add MDC
ThreadContextMap
conflict check on ST default provider (#1344) - ba50beb - gRPC Server allow drop of request trailers (#1341)
- 9a840ef - Consolidate all HTTP/2 exceptions logic in
Http2Exception
class (#1318) - 759d515 -
ServiceTalkTestTimeout
remove default min timeout limit (#1322) - c18bdfb - Infer
HttpProtocolVersion
in requests/responses based upon protocol selection (#1321) - a13ae07 - Log when global
IoExecutor
orExecutor
instance gets closed (#1337) - 1cf815a -
Publisher [toIterable | toInputStream]
simplify internal queue limit (#1331) - 4a8a2f7 -
OnSubscribeIgnoringSubscriberForOffloading
empty subscription usage (#1330)
Github Automations
Dependencies upgrade
Documentation
- 0c99a3e - Examples for HTTP and gRPC compression (#1342)
- 029a728 - URL fix for JAX-RS API documentation (#1338)
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.