Skip to content

Releases: apple/servicetalk

0.42.52

19 Nov 14:04
c18a104
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

  • f8abe11 - Add option skipDeprecated to the protoc code generator to avoid generating deprecated code (#3089)
  • 7a05d7d - Add Single/Completable subscribe overloads that can also handle failures (#3112)

Bug Fixes

  • f783e7d - Publisher#flatMapConcatIterable may skip emitting items (#3108)
  • 158d4c3 - Reset flush strategy after client request is written (#3103)
  • d7dd886 - Server-side AsyncContext initialized in lifecycle observer is lost (#3111)
  • 4187c05 - Discard new writes without closing connection on AbortWritesEvent (#3102)

Improvements

  • 8d30706 - Preserve full request context while redirecting (#3104)
  • 38cc84b - RedirectSingle: avoid extra operator for exception handling path (#3114)
  • 057cc56 - capacity-limiter-api: observe all gradient limit changes (#3107)
  • c14e4aa - TcpServerBinder logs "Failed to create a connection" twice (#3113)

Dependencies

Documentation


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
@mgodave
@idelpivnitskiy
@daschl
@Scottmitch
@tkountis

0.42.51

14 Nov 06:55
5d187f7
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

  • 8441a20 - traffic-resilience-http: Add dry-run mode for resilience filters (#3085, #3091)

Bug Fixes

  • eebe458 - Fix response leak that can be caused by an exception during redirect (#3095)

Improvements

  • 99371cf - CloseableIteratorBufferAsInputStream: fix CLOSED marker instance (#3086)
  • 8fd62da - Detect unexpected response leaks for multi-address client instances (#3096)
  • 275623c - Preserve default Http2Settings when Http2SettingsBuilder is used (#3092)

Documentation

  • ec8ea4c - traffic-resilience-http: Add documentation for capacity limiters (#3082, #3098)
  • 681cf76 - LifecycleObserver examples: clarify server-side ordering options (#3087)
  • d282dcc - HelloWorldJaxRsResource: fix method name (#3094)

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
@chrisvest
@daschl
@idelpivnitskiy
@mgodave
@tkountis

0.42.50

15 Oct 08:39
140ccb5
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

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

0.42.49

04 Oct 18:07
906f37c
Compare
Choose a tag to compare

⚠️ This release has an issue with generated pom.xml files that does not let Maven to import all transitive dependencies correctly. Please upgrade to 0.42.50.

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

  • 94c1bbb - Add SslConfig to ConnectionObserver.onSecurityHandshake (#3074)
    • Deprecated ConnectionObserver.onSecurityHandshake(), use new ConnectionObserver.onSecurityHandshake(SslConfig) instead.
  • 6613bd5 - Add experimental system properties for Netty DnsNameResolver (#3073)
    • io.servicetalk.dns.discovery.netty.experimental.tcpFallbackOnTimeout (default: false) - enables fallback to TCP protocol if UDP query failed with timeout exception;
    • io.servicetalk.dns.discovery.netty.experimental.datagramChannelStrategy (default: ChannelPerResolver) - use ChannelPerResolution to force Netty to create a new UDP channel on every resolution.

Bug Fixes

  • 004983e - HttpRequestMetaData#hasQueryParameter(String) implementaiton fix (#3058)
  • ab4e9b2 - HttpRequestMetaData#hasQueryParameter(String) default implementation fix (#3061)
  • 19d0907 - tcp-netty-internal: fix race in TcpConnector (#3069)
  • a3a4212 - Use invoke for SslContextBuilder#endpointIdentificationAlgorithm(String) (#3072)

Improvements

  • 249efc7 - concurrent-api: save the timestamp of the SingleToFuture.get() calls (#3051)
  • 34a0849 - Allow null value for query parameter setter methods (#3059)

Experimental loadbalancer changes

  • a75232b - loadbalancer-experimental: make DefaultLoadBalancer the default RR implementation (#3065)
  • 57f8454 - loadbalancer-experimental: don't always pay for EWMA with noop detector (#3057)
  • a5b42a0 - loadbalancer-experimental: Add support for randomly subsetting hosts (#3062)

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

0.42.48

27 Aug 12:04
16af216
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

  • 9f68119 - Encode/Decode grpc-message status per spec (#3023)
  • 372f108 - http-utils: cleanup the BeforeFinallyHttpOperator state (#3042)
  • 44a5b80 - http-netty: fix JavaNetSoTimeoutHttpConnectionFilter leak (#3043)
  • ed0265c - ConnectablePayloadWriter: avoid static exception that may leak memory (#3047)
  • f345761 - SpliceFlatStreamToMetaSingle: propagate cancel when races with data (#3036)
  • 2316f7c - Amb operators for Single and Completable should respect reactive contract 2.3 (#3040)
  • d09421a - http-utils: fix leak in AbstractTimeoutHttpFilter (#3038)
  • 0537138 - http-utils: fix leak in BeforeFinallyHttpOperator (#3034)

Improvements

  • 4d9ab77 - Add TransportConfig to control low level transport settings (#3041)
  • edb05b5 - Single.repeat: use TerminateRepeatException as a terminal marker (#3045)
  • 8074930 - Subscribable sources: try-catch onSubscribe and cleanup state if any (#3046)
  • 2f2bf85 - Improve CancellationException (#3039)
  • 893a156 - capacity-limiter-api: avoid division in EMA (#3030)
  • 4e7d64e - capacity-limiter-api: make AimdCapacityLimiter use ReentrantLock (#3025)
  • 1c2afec - Remove some uses of synchronized (#3024)

Experimental loadbalancer changes

  • 6b3a09f - loadbalancer-experimental: reduce dogpiling on hosts after healthy hosts (#3021)

Dependencies

Documentation

  • 977ac05 - Improve Single (+Completable) amb* documentation (#3044)
  • 21c0a74 - Properly drain failed responses in http-service-composition example (#3026)
  • 52d68b0 - capacity-limiter-api: polish javadocs and minor code modifications (#3031)

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

0.42.47

25 Jul 21:05
4fb4028
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

  • 434da83 - Add Publisher.fromInputStream(InputStream, ByteArrayMapper) (#2989)
    • Deprecated pre-existing Publisher.fromInputStream(InputStream) and Publisher.fromInputStream(InputStream, int) overloads.

Bug Fixes

  • 821619a - Fix discovery flow for PartitionedHttpClient (#3001)
  • e3759e8 - LoadBalancer should always consider the first events as initial state (#3004)
  • 3897efb - Avoid race b/w ServiceDiscoverer events after cancel and re-subscribe (#3005)
  • b58d0b5 - Incorrect state possible after retrying ServiceDiscoverer events (#3006)

Improvements

  • 4ce7d2c - StreamingConnectionFactory should set hostnameVerificationAlgorithm to an empty string (#2988)
  • efb24b3 - Align Set-Cookie attribute names with RFC6265 syntax (#2995)

Experimental loadbalancer changes

  • c4198c2 - loadbalancer-experimental: allow configuring the pending request penalty (#2991)
  • d78f85a - loadbalancer-experimental: Narrow ewma config params from long to int (#2994)
  • 72e9511 - loadbalancer-experimental: DefaultLoadBalancer logs settings on startup (#3000)
  • e1d0ba2 - loadbalancer-experimental: remove deprecated APIs (#2998)
  • dafeeb0 - loadbalancer-experimental: subscribe is the last thing we do in DefaultLB constructor (#3007)
  • 0a7f539 - loadbalancer-experimental: add LB observer method for when the host set changes (#3003)

Dependencies

Documentation


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
@chrisvest
@daschl
@idelpivnitskiy
@mgodave
@Scottmitch
@tkountis

0.42.46

26 Jun 01:27
17b97c8
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

  • 7b68059 - DefaultHostAndPort: equals and hashCode are not consistent (#2974)

Improvements

  • 7dad836 - Multi-address client: don't leak full request target in exception msg (#2972)
  • ff218cc - Multi-address client: take advantage of lowercase scheme (#2975)
  • e110d64 - Multi-address client: move setHostHeader to key factory, avoid NPE warn (#2976)
  • 7f8a7f4 - Multi-address client: optimize client selection (#2979)
  • 82e256e - FromInputStreamPublisher: avoid extra allocation of a buffer (#2965)
  • 2c90b8d - Set SslContextBuilder.endpointIdentificationAlgorithm for Netty 4.2.x (#2985)

Experimental loadbalancer changes

  • 411ddc6 - loadbalancer-experimental: thread through the ConnectionPoolStrategyFactory (#2969)
  • febb582 - loadbalancer-experimental: thread the LoadBalancingPolicy into the DefaultLoadBalancer (#2970)
  • 4e6ce9b - loadbalancer: better LoadBalancerFactory.toString() implementations (#2971)
  • 7e19105 - loadbalancer-experimental: properly capture consecutive error signals (#2984)

Dependencies

  • 6b303b3 - Update log4j 2.22.1 -> 2.23.1
  • e16b09e - Update com.sun.xml.bind:jaxb-impl 2.3.3 -> 2.3.9
  • 49488fa - Update Jersey 2.37 -> 2.41
  • 965e33f - Update Jackson 2.15.4 -> 2.16.2
  • 8e89dde - Revert "Update Netty 4.1.110 -> 4.1.111 (#2959)"
    • We had to downgrade Netty to avoid breaking grpc-java users in the same classpath.

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

0.42.45

12 Jun 23:00
97dae90
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

Behavior Changes

  • b49e66b - Reduce default TLS handshake timeout from 10 to 5 seconds (#2947)

Improvements

  • bc6c3c4 - Convert scheme to lower case when parsing URI (#2938)
  • 2f50382 - Enhance header name validation exception message (#2924)
  • 8949741 - Fallback to readChunkSize if InputStream.available() not implemented (#2949)
  • d84cb41 - FromInputStreamPublisher: reduce default read chunk size to 16Kb-32B (#2958)

Experimental loadbalancer changes

  • 26ecff5 - loadbalancer-experimental: support non-sequential priorities (#2953)
  • bb569d0 - loadbalancer-experimental: allow configuring whether cancellation is an error (#2956)
  • 4eeffeb - loadbalancer-experimental: split ErrorClass into connection and request types (#2940)
  • 54ec680 - loadbalancer-experimental: thread lbDescription into the LoadBalancerObserver (#2936)
  • 6027c74 - loadbalancer-experimental: rename LoadBalancerPolicies to LoadBalancingPolicies (#2937)
  • d667d1d - loadbalancer-experimental: remove deprecated API's (#2935)

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.

@0x1306e6d
@bryce-anderson
@daschl
@idelpivnitskiy
@Scottmitch

0.42.44

15 May 19:53
73d6518
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

  • a65238c - Support Jersey 3 and Jakarta EE 9/10 (#2919)
  • baac8d6 - Introduce traffic resiliency features (#2911)
  • 7919d3a - RetryingHttpRequesterFilter: add on request retry callback (#2916)

Improvements

  • c85a8f4 - DnsServiceDiscoverer: add total resolution timeout (#2908)

Experimental loadbalancer changes

  • f0e7aff - loadbalancer-experimental: adjust load balancer policy docs and helpers (#2926)
  • a75d9fa - loadbalancer-experimental-provider: use System.getProperty(...) directly (#2922)
  • 6f12039 - loadbalancer-experimental: add flag to use DefaultLoadBalancer in place of RoundRobinLoadBalancer (#2913)
  • 2b55150 - loadbalancer-experimental: add a ServiceDiscovererEvent to carry weight and priority (#2907)
  • 53f9f35 - loadbalancer-experimental: add provider for enabling DefaultLoadBalancer (#2900)
  • 8f096da - loadbalancer-experimental: add weight support for P2C selection (#2892)
  • f1e39d7 - loadbalancer-experimental: add support for weights in round robin (#2909)
  • d02f866 - loadbalancer-experimental: add support for prioritization (#2905)

Documentation

  • e965d5a - client-api: add an example of how to use the ServiceDiscoverer API (#2903)

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.

@blake-bauman
@bryce-anderson
@chrisvest
@daschl
@idelpivnitskiy
@tkountis

0.42.43

17 Apr 18:48
e9cbcbd
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

  • fc8b1df - Add support for Optional TLS negotiation for http/1 and http/2 (#2871)

Behavior Changes

  • cbefaa9 - Lower initial delay for ServiceDiscovery retries from 8 to 2 seconds (#2891)
  • cc2cdfa - Lower max delay for ServiceDiscovery retries from 256 to 128 seconds (#2895)

Improvements

  • 5771163 - Always log registered ServiceLoader providers at INFO level (#2880)
  • e605c87 - Handle DNS SERVFAIL differently than NXDOMAIN (#2776)

Bug Fixes

  • dabaabc - Fix Content-Length header removal after content compression (#2863)
  • d4012e6 - http-netty: Properly set the host header for MultiAddressUrlClient (#2868)

Experimental loadbalancer changes

  • 9b1a8a6 - loadbalancer-experimental: Rename HealthChecker to OutlierDetector (#2860)
  • acdf203 - loadbalancer-experimental: Remove type param from LoadBalancerObserver (#2866)
  • 7c0815c - loadbalancer-experimental: remove the generic load balancer factory methods (#2865)
  • ad90616 - examples: add an example of using DefaultLoadBalancer (#2855)
  • 023e635 - experimental-loadbalancer: remove 'healthChecker' names (#2873)
  • 08f2c43 - loadbalancer-experimental: centralize LoadBalancingPolicy fail open default setting (#2872)
  • 1f31e61 - loadbalancer-experimental: consolidate outlier detector concerns into the OutlierDetectorConfig (#2864)
  • 71b5fa6 - loadbalancer-experimental: make connection selection strategy modular (#2815)
  • 1aafb7a - loadbalancer-experimental: tighten up load balancing policy (#2884)
  • aacc5b9 - grpc-netty: add RequestTracker support to grpc (#2885)

Dependencies

Documentation


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
@chrisvest
@daschl
@idelpivnitskiy
@mgodave
@Scottmitch
@tkountis