Skip to content

0.42.35

Compare
Choose a tag to compare
@idelpivnitskiy idelpivnitskiy released this 12 Jul 23:01
· 302 commits to main since this release
7090878

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.

Changes

Behavior changes

  • 7f0b795 - Publisher.[retry|repeat] change default exception handling mode (#2642)
    • It's unexpected by Reactive Streams specification that Subscriber methods can throw. If they do, Publisher.retry* and Publisher.repeat* operators will try-catch it and propagate IllegalStateException downstream. Previously, such exceptions were propagated upstream and could be observed by the retry predicate, which is not expected. In case users need pre-existing behavior, Publisher.retry* operators added a new overload that takes terminateOnNextException boolean.
  • c30e076 - RetryingHttpRequesterFilter: don't wait for LB if it's unhealthy (#2648)
    • Now LoadBalancer can throw not only NoAvailableHostException but also NoActiveHostException. If users' business logic processes NoAvailableHostException, they should process NoActiveHostException the same way.

API deprecations

  • d078d0d - Publisher.scanWith enhancements (#2640)
    • Deprecate ScanWithMapper and ScanWithLifetimeMapper in favor of the new ScanMapper and ScanLifetimeMapper.
    • Deprecate Publisher.scanWith(Supplier) in favor of the new Publisher.scanWithMapper(Supplier).
    • Deprecate Publisher.scanWithLifetime(Supplier) in favor of the new Publisher.scanWithLifetimeMapper(Supplier).

New features

Bug Fixes

  • 3843dd4 - Publisher.[retry|repeat] operators demand management if onNext throws (#2639)
  • c30e076 - RetryingHttpRequesterFilter: don't wait for LB if it's unhealthy (#2648)

Improvements

  • e257614 - Apply optimized execution strategy for converted connections (#2634)
  • d078d0d - Publisher.scanWith enhancements (#2640)
  • cf1da8d - Enhance debug logging for ReservableRequestConcurrencyControllers (#2645)
  • 140abce - DefaultDnsClient log when resolution fails with an exception (#2646)
  • 996e41b - Publisher.retry wrap exceptions thrown from onNext (#2649)
  • d4a0c22 - Increase default SslConfig.maxCertificateListBytes() to 32Kb (#2650)
  • 2a114c0 - Remove incorrect assertions from logging lifecycle observers (#2644)

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.

@bryce-anderson
@daschl
@idelpivnitskiy
@Scottmitch
@tkountis