Releases: apple/servicetalk
0.42.52
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
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
- 99371cf -
CloseableIteratorBufferAsInputStream
: fixCLOSED
marker instance (#3086) - 8fd62da - Detect unexpected response leaks for multi-address client instances (#3096)
- 275623c - Preserve default
Http2Settings
whenHttp2SettingsBuilder
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
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
- fe7739e - Correct netty dependencies (#3078)
- 412460f - Correct log4j dependencies (#3080)
- 16d49bc - Remove unused dependencies from
servicetalk-transport-netty
(#3079)
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.49
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
toConnectionObserver.onSecurityHandshake
(#3074)- Deprecated
ConnectionObserver.onSecurityHandshake()
, use newConnectionObserver.onSecurityHandshake(SslConfig)
instead.
- Deprecated
- 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
) - useChannelPerResolution
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
forSslContextBuilder#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
- 892e613 - Update Netty 4.1.112 -> 4.1.114 (#3054, #3071)
- 9e310cc - Stop using
servicetalk-dependencies
internally (#3055)
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.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) - 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)
- 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.
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