0.42.17
This is a minor maintenance release appropriate for all ServiceTalk users that contains several useful improvements and bug fixes. This release is expected to be a "drop-in" replacement for all prior 0.42.X releases.
As the ServiceTalk API advances towards a 1.0 release all users are strongly encouraged to update their applications to eliminate all use of deprecated APIs. Existing deprecated APIs will be removed in a future ServiceTalk release without further additional notice. If you encounter problems replacing deprecated usages please create a support issue.
Changes
API Deprecations
- 43328e1 - gRPC request/response context to pass data between gRPC and HTTP layers (#2311)
- Deprecate
DefaultGrpcClientMetadata.INSTANCE
constant and the same constant in all generated subtypes. Instead, always create a new instance ofDefaultGrpcClientMetadata
. If theINSTANCE
is used, any manual attempt to access newly added request/response context will throwUnsupportedOperationException
; - In the generated gRPC code, deprecate endpoints that operate with
GrpcPayloadWriter
. Users should migrate to the new overload that hasBlockingStreamingGrpcServerResponse
instead ofGrpcPayloadWriter
;
- Deprecate
- 5e5b746 - Deprecate
CharSequences.asciiStringIndexOf(...)
(#2353)- Users should use
CharSequences#indexOf(...)
instead.
- Users should use
New features
- 43328e1 - gRPC request/response context to pass data between gRPC and HTTP layers (#2311)
- No need to use
AsyncContext
anymore to pass HTTP headers to/from gRPC endpoint.
- No need to use
- 40d2f02 - HTTP/2 set initial settings (#2341, #2346, #2361)
- New API to tune any defined HTTP/2 settings parameters and connection flow-control window.
- 6b6b162 - Introduce
IdleTimeoutConnectionFilter
as alternative toIDLE_TIMEOUT
(#2340)- Helps to track idle connections at L7 OSI layer rather than L4.
Bug Fixes
- 1681caf - HTTP/2 avoid premature connection closure when negotiating via ALPN (#2342)
- f11310c -
AsciiBuffer.indexOf
returns incorrect result for 2-bytes characters (#2352) - 2928a29 -
Publisher#flatMapMerge
allow terminal propagation after invalid demand (#2348)
Improvements
- 8efc07a - Override
toString()
for delegating connection (#2335) - b7b71bc - Improve
DefaultHttp2Settings#toString()
(#2347) - be079c1 - Use
IdleTimeoutConnectionFilter
instead of SocketOption by default (#2349) - 49f5f8f - Improve parsing of
Set-Cookie
headers (#2329) - 9c668f4 - Allow users access
payloadBodyInputStream()
multiple times (#2355)
Dependencies
- 3d8d0e8 - Update Netty 4.1.79 -> 4.1.82 (#2350, #2363)
- 4f1dca1 - Update netty-incubator-transport-native-io_uring 0.0.14 -> 0.0.15 (#2357)
- 0e7eb61 - Update Jackson 2.13.3 -> 2.13.4 (#2358)
Tests improvements
- ba7e826 - Validate HTTP/2 messages with malformed headers are rejected (#2359)
- 8bc579c - Update grpc-java 1.45.1 -> 1.49.0 to test compatibility with the latest release
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.