Skip to content

Releases: apple/servicetalk

0.42.34

30 Jun 18:10
883bb82
Compare
Choose a tag to compare

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

New features

  • 348b47d - Add DnsServiceDiscovererBuilder.consolidateCacheSize(int) (#2629)
  • 9823c00 - Allow configuring "negative" DNS TTL for failed resolutions (#2628)

Bug Fixes

  • 0f49071 - [Single|Completable].toFuture() cancellable handle exception (#2632)

Improvements

  • f5847e8 - Adjust DNS default max TTL cache boundary to 30 seconds (#2627)
  • 09ce257 - Avoid double offloading a service when offloadAll() strategy is used (#2631)
  • 8492622 - NettyIoExecutors: allow passing 0 for N of IoThreads to infer defaults from Netty (#2630)

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

0.42.33

23 Jun 18:36
662efb4
Compare
Choose a tag to compare

This is a follow up release for 0.42.32 to address the backward compatibility issue. This release is expected to be a "drop-in" replacement for all prior 0.42.X releases.

Changes

Improvements

  • 7d9eeb7 - Provide default fragment(String) override for all request types (#2626)

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
@idelpivnitskiy

0.42.32

23 Jun 00:26
80cc4af
Compare
Choose a tag to compare

⚠️ We found that this release breaks backward compatibility with all prior 0.42.X releases due to a missed default implementation in #2603. It was addressed in #2626. Please upgrade to 0.42.33 or later releases.

Changes

New features

  • 9c53587 - Add fragment methods to HttpRequestMetaData (#2603)
    • Allows users to get/set a fragment portion of URL for an HTTP request.
  • c88d120 - Add SslConfig.handshakeTimeout() (#2624)
    • Allows users to change the default timeout value for SSL handshake.
  • 9665dcf - Add ClientHello configuration options for SNI (#2625)
    • Allows users to configure the maximum length of a ClientHello message and timeout that a new accepted connection is expected to wait until it receives ClientHello message and can parse SNI information.
  • f041080 - Bind DNS channels to a local wildcard address (#2617)
    • Binds all DNS channels to a local wildcard address by default and provides new API at DnsServiceDiscovererBuilder to change the address or disable binding.
    • Temporarily, we introduced -Dio.servicetalk.dns.discovery.netty.skipBinding=boolean system property. If set to true, it allows users to skip binding (reverts to pre-existing behavior) in case the new behavior causes any issues and if they can not make a code change via DnsServiceDiscovererBuilder. This property will be removed in future releases.

Improvements

  • 1999bd9 - Change default SD retry strategy to exponential backoff with full jitter (#2616)
  • 5bd8c65 - Client should log observed errors from ServiceDiscoverer (#2618)
  • 47c9e4c - Use DelegatingHttpServerBuilder for DefaultGrpcServerBuilder (#2623)
  • 7273a53 - Include timeout value when toFuture().get(long, TimeUnit) times out (#2622)

Dependencies


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
@mikehepple
@Scottmitch
@tkountis

0.42.31

03 Jun 16:17
02e0ffa
Compare
Choose a tag to compare

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

New features

  • 8d262ab - Add support for custom args when using the maven grpc-protoc plugin (#2613)

Bug Fixes

  • 16c2297 - KeepAliveManager: force close the channel in case of any issues (#2611, #2612)
  • 4e1464d - KeepAliveManager: report an exception to ConnectionObserver (#2614)

Improvements

  • 8f51884 - KeepAliveManager: include human-readable debug data in h2 frames (#2615)

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

0.42.30

25 May 19:25
533702c
Compare
Choose a tag to compare

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

API deprecations

  • 1a15108 - Deprecated some internal classes in concurrent-internal (#2566)
    • Deprecated io.servicetalk.concurrent.internal.ArrayUtils;
    • Deprecated io.servicetalk.concurrent.internal.ConcurrentTerminalSubscriber;
    • Deprecated io.servicetalk.concurrent.internal.QueueFullAndRejectedSubscribeException;

New features

  • 3c44998 - Publisher.validateOutstandingDemand() operator (#2595)

Bug Fixes

  • 34078fc - Handle graceful closure for indefinite streams (#2608)
  • ee98d18 - TransportObserver doesn't propagate connect failure before established (#2600)
  • 4f4f49a - Jersey router: async endpoints don't propagate AsyncContext (#2593)
  • 6f92e49 - Logging LifeCycleObservers quote connection (#2592)
  • 07bd07a - Publisher#buffer retry with sequential subscription (#2591)
  • e334146 - Fix race in TimeoutDemandPublisher (#2578)
  • e0f4ab6 - Publisher#timeoutDemand avoid suprious timer error (#2584)
  • cfc6746 - HttpObjectDecoder: handle chunk size greater than Integer.MAX_VALUE (#2579, #2594)

Improvements

  • 643ea5a - Use an unbounded queue for fixed size Executors (#2546)
  • f3929d2 - ThreadInterruptingCancellable consolidate state (#2599)
  • c9f262d - KeepAliveManager: improve debuggability (#2605)
  • eeebde9 - KeepAlivePolicy: validation, improved defaults & javadoc, ns precision (#2602)
  • bca9f11 - Jersey's EndpointEnhancingRequestFilter: use Single.fromSupplier (#2596)
  • 8d7697e - Delete code that is not used anywhere (#2597)

Testing

  • 6be77e1 - Test HTTP/2 KeepAliveManager with DuplexChannel (#2604)
  • 894ab87 - WriteStreamSubscriberTest verify writability change (#2606)

Documentation

  • 5f8a1cc - Clarify blocking scenarios Subscriber/Subscription (#2598)
  • fc8e698 - Publisher.fromInputStream: clarify InputStream ownership in javadoc (#2586)

Dependencies


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

0.42.29

04 May 20:12
3eea4ec
Compare
Choose a tag to compare

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

API deprecations

  • 6db81bc - Http2SettingsBuilder.initialWindowSize should accept int, not long (#2573)
    • Deprecate Http2SettingsBuilder.initialWindowSize(long), users should migrate to Http2SettingsBuilder.initialWindowSize(int);

New features

  • 4dc7bf3 - Add Publisher#timeoutDemand(Duration) operator (#2576)

Bug Fixes

  • abe118d - Avoid int overflow when receive large MAX_CONCURRENT_STREAMS value (#2572)
  • 9f25cd6 - Convert IPv6 colons to dots for the new peer host (#2575)

Improvements

  • d22363b - RRLB: reduce number of state transitions when health-check passed (#2577)

Dependencies

  • 802d6d1 - Revert "Update protobuf 3.21.12 -> 3.22.3" (#2574)

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

0.42.26.1

03 May 02:35
6622980
Compare
Choose a tag to compare

This is a recommended bug-fix release only for 0.42.26 users if they can not upgrade to 0.42.28.

Changes

Bug Fixes

  • 1d8c08f - DefaultDnsClient: make configuration for all caches consistent (#2530)
  • fac100a - RetryingHttpRequesterFilter to duplicate payload body (#2541)
  • 6da8c12 - Avoid int overflow when receive large MAX_CONCURRENT_STREAMS value (#2572)

Improvements

  • 825f235 - DefaultDnsClient reduce log level for TTL > max (#2557)

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.

@daschl
@idelpivnitskiy
@Scottmitch

0.42.28

28 Apr 21:31
f30f930
Compare
Choose a tag to compare

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

Bug Fixes

  • de05283 - Publisher#timeout always propagate TimeoutException (#2555)
  • 35bf953 - ConcurrentTerminalSubscriber fix deferred terminal concurrency (#2556)
  • 6a8a226 - Publisher.takeUntil(Completable): preserve original terminal signal (#2565)
  • 75db082 - HttpConnectionContext must reference single-threaded IoExecutor (#2564)

Improvements

  • 041f3dc - Allow null values with FormUrlEncodedHttp[De]Serializer (#2554)
  • 00179dd - DefaultDnsClient reduce log level for TTL > max (#2557)
  • 4011c8f - Improve how we copy payload body in case of redirect (#2563)
  • 35ab88d - Don't log "does not allow redirect" for non 3XX status codes (#2562)
  • 88086c7 - RetryingHttpRequesterFilter: share context when drain response payload (#2568)
  • 247fde1 - ConcurrentTerminalSubscriber: consolidate code for process* methods (#2567)

Documentation

  • a15d972 - JAXRS example demonstrating async response code override (#2558)

Dependencies

  • a143d72 - Update Netty 4.1.91 -> 4.1.92 (#2559)
  • e16073f - Update netty-incubator-transport-native-io_uring 0.0.19 -> 0.0.21 (#2569)
  • 92f40c3 - Update log4j 2.19.0 -> 2.20.0
  • 38fb8ac - Update protobuf 3.21.12 -> 3.22.3
  • 4965150 - Update proto-google-common-protos 2.13.0 -> 2.17.0

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

0.42.27

07 Apr 21:41
2a443eb
Compare
Choose a tag to compare

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

New features

  • 10973ca - Add new operators for Publisher: merge, mergeDelayError, mergeAll, mergeAllDelayError (#2533)
  • d9fd486 - Add Publisher.skipWhile(Predicate) operator (#2542)
  • 2991d28 - Extend RedirectConfig: custom allowed statuses and location mapper (#2552)
  • eb570b6 - New filter: JavaNetSoTimeoutHttpConnectionFilter (#2551)
  • be0043d - Add new tags for OpenTelemetry (#2536)
  • 8cb1dd2 - Move ProxyTunnel to servicetalk-http-netty-test-fixtures (#2550)

Bug Fixes

  • fd9a9c6 - DefaultDnsClient: make configuration for all caches consistent (#2530)
  • cd547f3 - RetryingHttpRequesterFilter to duplicate payload body (#2541)
  • 47fa6c0 - MultiAddressUrlClient: incorrect transformation of the request target without path (#2545)

Improvements

  • 5e39fb6 - Enhance RRLB logs to let users know when it resubscribed to SD (#2535)
  • a9d6619 - Use unpadded jctools queue by default (#2490)
  • e3f545a - Implement all default methods in EmptyHttpHeaders (#2543)
  • 14f09b2 - ProxyConnectConnectionFactoryFilter: report when the channel is closed (#2544)
  • 2065040 - MultiAddressHttpClientBuilder.followRedirects take a nullable config (#2547)

Dependencies

  • bf0b0dc - Update Netty 4.1.89 -> 4.1.91 (#2548)
  • 2ff3eef - Only depend on opentelemetry-api and not the overall opentelemetry-bom (#2538)

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.

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

0.42.26

01 Mar 00:44
6f571be
Compare
Choose a tag to compare

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

API deprecations

  • Deprecated DefaultDnsServiceDiscovererBuilder
    • Use DnsServiceDiscoverers#builder(String) instead (#2511);
  • Deprecated RoundRobinLoadBalancerFactory
    • Use RoundRobinLoadBalancers#builder(String) instead (2527);
  • Deprecated DnsServiceDiscovererObserver#onNewDiscovery(String)
    • Use DnsServiceDiscovererObserver#onNewDiscovery(String, String) instead (#2521)
  • Deprecated MultiAddressHttpClientBuilderProvider#newBuilder(MultiAddressHttpClientBuilder)
    • Implement MultiAddressHttpClientBuilderProvider#newBuilder(String, MultiAddressHttpClientBuilder) (#2525);

New features

  • fc6881a - Implement explicit, customizable DNS maxTTL (#2508)
  • d2bbae6 - Implement DnsServiceDiscovererBuilderProvider(#2511)
  • 4840dea - Implement RoundRobinLoadBalancerBuilderProvider (#2527)
  • b4543f4 - RoundRobinLoadBalancer: re-subscribe when all hosts become unhealthy (#2514)
  • 5fdb1ad - Extend DnsServiceDiscovererObserver functionality (#2521)
  • 6c2be4c - Option to create a client that runs DNS resolutions for every new connection (#2520)
  • 929fa66 - Provide a way to specify an id (label) for MultiAddressHttpClientBuilder (#2525)

Bug Fixes

  • 57e7001 - Avoid potential memory leak when SrvAddressRemovedException is thrown (#2522)
  • 024d663 - DnsServiceDiscovererObserver should always report adjusted TTL (#2526)
  • 17baadd - SequentialCancellable: all nextCancellable must be cancelled too (#2513)
  • c91c7a4 - Sequential Subscriber is not reset after cancel for all test sources (#2515)

Improvements

  • 7919e6a - DefaultDnsClient: enhance logging (#2509)
  • 38d5166 - Disable cache by default for DNS ServiceDiscoverer (#2518)
  • a5f73b3 - Don't allow to override ServiceDiscoverer for resolved address client (#2524)
  • 61d74b2 - Use SslProvider.isOptionSupported(...) to determine certificate compression support (#2507)

Dependencies


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.

@daschl
@idelpivnitskiy
@mgodave
@Scottmitch
@tkountis