Skip to content

0.42.17

Compare
Choose a tag to compare
@idelpivnitskiy idelpivnitskiy released this 14 Sep 15:42
· 851 commits to main since this release
6ac3443

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 of DefaultGrpcClientMetadata. If the INSTANCE is used, any manual attempt to access newly added request/response context will throw UnsupportedOperationException;
    • In the generated gRPC code, deprecate endpoints that operate with GrpcPayloadWriter. Users should migrate to the new overload that has BlockingStreamingGrpcServerResponse instead of GrpcPayloadWriter;
  • 5e5b746 - Deprecate CharSequences.asciiStringIndexOf(...) (#2353)
    • Users should use CharSequences#indexOf(...) instead.

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.
  • 40d2f02 - HTTP/2 set initial settings (#2341, #2346, #2361)
  • 6b6b162 - Introduce IdleTimeoutConnectionFilter as alternative to IDLE_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

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.

@chrisvest
@idelpivnitskiy
@Scottmitch
@tkountis