Releases: apple/servicetalk
0.42.48
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 forSingle
andCompletable
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
: useTerminateRepeatException
as a terminal marker (#3045) - 8074930 - Subscribable sources: try-catch
onSubscribe
and cleanup state if any (#3046) - 2f2bf85 - Improve
CancellationException
(#3039) - 45fc8f4 - capacity-limiter-api: add GradientCapacityLimiterTest (#3032)
- 52d68b0 - capacity-limiter-api: polish javadocs and minor code modifications (#3031)
- 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
Dependencies
Documentation
- 977ac05 - Improve Single (+Completable) amb* documentation (#3044)
- 21c0a74 - Properly drain failed responses in http-service-composition example (#3026)
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.
0.42.47
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)
andPublisher.fromInputStream(InputStream, int)
overloads.
- Deprecated pre-existing
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
- 807c92c - Update Netty 4.110 -> 4.1.112 (#2992, #3017)
- a98f1ae - Update protobuf 3.25.1 -> 3.25.3
- cc51140 - Revert "Update com.sun.xml.bind:jaxb-impl 2.3.3 -> 2.3.9" (#3019)
Documentation
- b700ef4 - Enhance clarifications for
ServiceDiscoverer
contract (#3002) - 5cd901d - Add HTTP file serving examples (#3010, #3016)
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
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
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 theDefaultLoadBalancer
(#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
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
Improvements
- bc6c3c4 - Convert scheme to lower case when parsing URI (#2938)
- 2f50382 - Enhance header name validation exception message (#2924)
- 8949741 - Fallback to
readChunkSize
ifInputStream.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
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
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 ofRoundRobinLoadBalancer
(#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
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
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
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
0.42.42
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
- 6f6c9e5 - Add
DelegatingServiceDiscoverer
to client-api (#2842) - bf64643 - Add
HttpClients.forMultiAddressUrl()
overload withServiceDiscoverer
(#2843) - 0af167a - Expose global A/AAAA and SRV DNS
ServiceDiscoverer
instances (#2844)
Experimental loadbalancer changes
- f3635b1 - loadbalancer: Add an xDS compatible
HealthChecker
implementation (#2809) - 11c5a3d - LoadBalancer wire the tracker on the host layers with the request flow (#2816)
- fb39471 - loadbalancer-experimental: track the length of outstanding requests (#2833)
- 954c147 - loadbalancer: move
DefaultLoadBalancer
to its own experimental module (#2819) - d2794c4 - loadbalancer-experimental: Add some documentation for DefaultLoadBalancer (#2837)
Dependencies
- 3a652dd - Update Netty 4.1.106 -> 4.1.107 (#2834)
- 612b080 - Update netty-incubator-transport-native-io_uring 0.0.24 -> 0.0.25 (#2840)
- e80d853 - Update protobuf 3.23.2 -> 3.25.1 (#2846)
- e67bf6e - Update log4j 2.20.0 -> 2.22.1
- e269d36 - Update jctools 4.0.1 -> 4.0.3
- b23bcaa - Update Jackson 2.15.2 -> 2.15.4
- 1a916e5 - Update zipkin-reporter 2.16.4 -> 2.17.2
- 12190dd - Update proto-google-common-protos 2.21.0 -> 2.29.0
Documentation
- de5278d - Clarify
ConnectionObserver
callbacks contract (#2838) - c17a0f6 - Clarify lifecycle of global
Executors
(#2845)
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.41
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
Bug Fixes
Improvements
Experimental loadbalancer changes
- 00e740c - loadbalancer: Add the ErrorClass enum and use it in RequestTracker (#2808)
- 34db3ac - loadbalancer: introduce the HealthChecker interface (#2800)
- 8a8e3ab - Latency tracking utilities to support LB L7 breakers (#2794)
- cb8405d - loadbalancer: cleanup HostSelector List variance (#2795)
- aac806c - loadbalancer: Simplify ConnectionFactory usage in DefaultHost (#2796)
- 6b2b65e - loadbalancer: selectors consider health first and have configurable fail-open behavior (#2787)
- e5784f8 - loadbalancer: fix NormalizedTimeSourceExecutor to work with units other than nanos (#2791)
- e3daaf3 - loadbalancer: Some cleanups for DefaultHost (#2779)
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
@chrisvest
@daschl
@idelpivnitskiy
@Scottmitch
@tkountis
0.42.40
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
- cf40cb3 - concurrent-api: fix
IllegalArgumentExcetion
for zero jitter inRetryStrategies
(#2777) - 1d00f69 - Additional fix for IPv6-derived SNI hostnames (#2778)
Improvements
- 3266749 - Disable RRLB health-checking for
DiscoveryStrategy.ON_NEW_CONNECTION
(#2772) - 112fb07 - mdc-utils: Make
LoggerStringWriter
thread friendly (#2771)
Experimental loadbalancer changes
- 0fdbdd5 - loadbalancer: fix observer name pattern (#2783)
- 82ad584 - loadbalancer: add an observer pattern to DefaultLoadBalancer (#2770)
- bad9558 - loadbalancer: HostSelector can be rebuilt each time the DefaultLoadBalancer gets a host set update (#2774)
- d288479 - loadbalancer: Change generics of LoadBalancerPolicy (#2773)
- e3a10f8 - loadbalancer: Use a sequential execution concurrency model in DefaultLoadBalancer (#2768)
- ad80596 - loadbalancer: add builder for the DefaultLoadBalancer (#2749)
- 623c32a - loadbalancer: move health check related constants to the HealthCheck class (#2764)
- 936e01b - loadbalancer: better asymptotic behavior of host updates (#2745)
Dependencies
- 42e3b0b - Revert grpc-java back 1.59.1 -> 1.56.1 (#2784)
- 4d30837 - Update Netty 4.1.101 -> 4.1.103 (#2782)
- 90205ff - Bump dawidd6/action-download-artifact from 2.28.0 to 2.28.1 (#2781)
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
@Scottmitch
@tkountis
0.42.39
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
- 231ec64 - Fix incorrect name of
decoderEnforceMaxRstFramesPerWindow
property (#2740)- Deprecates mistakenly named
io.servicetalk.http.netty.http2.decoderEnforceMaxRstFramesPerWindow.maxConsecutiveEmptyFrames=200
system property in favor of the correct naming:io.servicetalk.http.netty.http2.decoderEnforceMaxRstFramesPerWindow.maxRstFramesPerWindow=200
- Deprecates mistakenly named
- 40e20f5 - Add initializer API for headers of HTTP proxy CONNECT request (#2744)
- Deprecates
SingleAddressHttpClientBuilder.proxyAddress(Object)
in favor of a new methodSingleAddressHttpClientBuilder.proxyConfig(ProxyConfig)
- Deprecates
New Features
Bug Fixes
- 7906cda - Fix bug in http/grpc logging observer that prevented request Throwables to be logged (#2759)
- f2fbd46 - Mark HTTP/2 connection as closing on exception caught (#2686)
Improvements
- ff33868 - Disable
decoderEnforceMaxRstFramesPerWindow
for HTTP/2 clients (#2752) - 99ea1c5 -
ZipkinReporter
: add trace logging for batching and encoded spans (#2739) - 877c4f7 - Enable Keep-Alive socket option by default (#2676)
- 3649525 - Warn if response payloads are not drained properly (#2710)
- 294de53 - Do not consume orphaned message bodies, just warn (#2733)
Dependencies
Documentation
- 25b09db - Adjust
servicetalk-examples-http-retry
(#2746) - 5e711b4 - Improve javadocs for
Publisher.firstOrElse(...) and
Publisher.firstOrError()` (#2736)
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
@tflobbe
@tkountis