0.42.17
版本发布时间: 2022-09-14 23:42:59
apple/servicetalk最新发布版本:0.42.47(2024-07-26 05:05:49)
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
-
https://github.com/apple/servicetalk/commit/43328e18fb05d7963630e03f00898d54d0d79da8 - 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
-
https://github.com/apple/servicetalk/commit/5e5b746a059c0fdcfca9cd53cbc816dbfa1e8abc - Deprecate
CharSequences.asciiStringIndexOf(...)
(#2353)- Users should use
CharSequences#indexOf(...)
instead.
- Users should use
New features
-
https://github.com/apple/servicetalk/commit/43328e18fb05d7963630e03f00898d54d0d79da8 - 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
-
https://github.com/apple/servicetalk/commit/40d2f02d6a0723f2d3198bdd59862a4f02f044b8 - HTTP/2 set initial settings (#2341, #2346, #2361)
- New API to tune any defined HTTP/2 settings parameters and connection flow-control window.
-
https://github.com/apple/servicetalk/commit/6b6b162b5e94b212a94c31b183d19d48a5710414 - Introduce
IdleTimeoutConnectionFilter
as alternative toIDLE_TIMEOUT
(#2340)- Helps to track idle connections at L7 OSI layer rather than L4.
Bug Fixes
- https://github.com/apple/servicetalk/commit/1681caf079b437a19f0b8542ed6caae18adb430c - HTTP/2 avoid premature connection closure when negotiating via ALPN (#2342)
-
https://github.com/apple/servicetalk/commit/f11310c6453e344d2290b4b69cf10cce21abb6ae -
AsciiBuffer.indexOf
returns incorrect result for 2-bytes characters (#2352) -
https://github.com/apple/servicetalk/commit/2928a29c512b0c20d490fef1368d17271f49409a -
Publisher#flatMapMerge
allow terminal propagation after invalid demand (#2348)
Improvements
-
https://github.com/apple/servicetalk/commit/8efc07a09f1ea8a80527d4dea68537ec36e98dcb - Override
toString()
for delegating connection (#2335) -
https://github.com/apple/servicetalk/commit/b7b71bc60c2e1e39ce69b5ccd38843687de59dda - Improve
DefaultHttp2Settings#toString()
(#2347) -
https://github.com/apple/servicetalk/commit/be079c1e40cf90b7c5ca5f83a5851a378d782a28 - Use
IdleTimeoutConnectionFilter
instead of SocketOption by default (#2349) -
https://github.com/apple/servicetalk/commit/49f5f8f9a871d315aff118cf4af79c37365fd317 - Improve parsing of
Set-Cookie
headers (#2329) -
https://github.com/apple/servicetalk/commit/9c668f47654463b22805ed1557ec17f702950ec6 - Allow users access
payloadBodyInputStream()
multiple times (#2355)
Dependencies
- https://github.com/apple/servicetalk/commit/3d8d0e83aec5bab121bb2e31765941cc538c322a - Update Netty 4.1.79 -> 4.1.82 (#2350, #2363)
- https://github.com/apple/servicetalk/commit/4f1dca14d10175a160d3299f88fa4db0443483a7 - Update netty-incubator-transport-native-io_uring 0.0.14 -> 0.0.15 (#2357)
- https://github.com/apple/servicetalk/commit/0e7eb61177733a64acbd4ea0cd39475c8f7fefc3 - Update Jackson 2.13.3 -> 2.13.4 (#2358)
Tests improvements
- https://github.com/apple/servicetalk/commit/ba7e826173dad07c334a87076467ead797005f50 - Validate HTTP/2 messages with malformed headers are rejected (#2359)
- https://github.com/apple/servicetalk/commit/8bc579c0793e3135a53d4b396571b21b9b099913 - 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.
@chrisvest @idelpivnitskiy @Scottmitch @tkountis