Releases: apple/servicetalk
0.42.32
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 receivesClientHello
message and can parse SNI information.
- Allows users to configure the maximum length of a
- 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 totrue
, 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 viaDnsServiceDiscovererBuilder
. This property will be removed in future releases.
- Binds all DNS channels to a local wildcard address by default and provides new API at
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
forDefaultGrpcServerBuilder
(#2623) - 7273a53 - Include timeout value when
toFuture().get(long, TimeUnit)
times out (#2622)
Dependencies
- 37dd601 - Update Netty 4.1.93 -> 4.1.94 (#2620)
- e5a3774 - Update Jackson 2.14.2 -> 2.14.3 (#2619)
- ff660de - Update Jersey 2.35 -> 2.37 (#2621)
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
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
- 16c2297 -
KeepAliveManager
: force close the channel in case of any issues (#2611, #2612) - 4e1464d -
KeepAliveManager
: report an exception toConnectionObserver
(#2614)
Improvements
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
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
;
- Deprecated
New features
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 thanInteger.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
: useSingle.fromSupplier
(#2596) - 8d7697e - Delete code that is not used anywhere (#2597)
Testing
- 6be77e1 - Test HTTP/2
KeepAliveManager
withDuplexChannel
(#2604) - 894ab87 -
WriteStreamSubscriberTest
verify writability change (#2606)
Documentation
- 5f8a1cc - Clarify blocking scenarios Subscriber/Subscription (#2598)
- fc8e698 -
Publisher.fromInputStream
: clarifyInputStream
ownership in javadoc (#2586)
Dependencies
- b9da175 - Update netty 4.1.92 -> 4.1.93 (#2609)
- af410dd - Update zipkin-reporter 2.16.3 -> 2.16.4 (#2587)
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
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 acceptint
, notlong
(#2573)- Deprecate
Http2SettingsBuilder.initialWindowSize(long)
, users should migrate toHttp2SettingsBuilder.initialWindowSize(int)
;
- Deprecate
New features
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
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.26.1
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
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.28
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 propagateTimeoutException
(#2555) - 35bf953 -
ConcurrentTerminalSubscriber
fix deferred terminal concurrency (#2556) - 6a8a226 -
Publisher.takeUntil(Completable)
: preserve original terminal signal (#2565) - 75db082 -
HttpConnectionContext
must reference single-threadedIoExecutor
(#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 forprocess*
methods (#2567)
Documentation
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.
0.42.27
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 overallopentelemetry-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
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);
- Use
- Deprecated
RoundRobinLoadBalancerFactory
- Use
RoundRobinLoadBalancers#builder(String)
instead (2527);
- Use
- Deprecated
DnsServiceDiscovererObserver#onNewDiscovery(String)
- Use
DnsServiceDiscovererObserver#onNewDiscovery(String, String)
instead (#2521)
- Use
- Deprecated
MultiAddressHttpClientBuilderProvider#newBuilder(MultiAddressHttpClientBuilder)
- Implement
MultiAddressHttpClientBuilderProvider#newBuilder(String, MultiAddressHttpClientBuilder)
(#2525);
- Implement
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
: allnextCancellable
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.
0.42.25
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
- dda6869 - Deprecate
ConnectionAcceptor
andConnectionAcceptorFactory
(#2491)- Migrate to
LateConnectionAcceptor
and useHttpServerBuilder#appendLateConnectionAcceptor(...)
to configure it. Pre-existingHttpServerBuilder#appendConnectionAcceptorFilter(...)
is also deprecated.
- Migrate to
New features
- 570a81a - Implement TLS Certificate Compression Support (#2497)
- 6954627 - Introduce Early and Late ConnectionAcceptors (#2486)
Bug Fixes
Improvements
- c3f4145 -
GrpcServiceContext
should provide access to netty channel id (#2498) - 9b8972f -
GrpcDeadlineServerFilter
: use inner class to capture external state (#2501) - 049af48 - Always disable
AUTO_READ
forTcpServerBinder
(#2492) - 0dcca97 - Keep only preferred addresses for DNS resolutions (#2500)
Dependencies
- 27f856b - Update Netty 4.1.87 -> 4.1.89 (#2505)
- aae691a - Update netty-incubator-transport-native-io_uring 0.0.16 -> 0.0.17
- 492abdc - Update proto-google-common-protos 2.12.0 -> 2.13.0
- 9b594e4 - Update OpenTelemetry 1.18.0 -> 1.22.0
- ec21f9d - Update Jackson 2.14.1 -> 2.14.2
- e5f0853 - Update jctools 3.3.1-ea -> 4.0.1 (#2351)
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
@daschl
@idelpivnitskiy
@mgodave
@Scottmitch
@tkountis
0.42.23.1
This is a recommended bug-fix release only for 0.42.23 users if they can not upgrade to 0.42.24.
Changes
Bug Fixes
- 2df3fe9 - Fix a memory leak and increased latency for gRPC after adding
ListenableAsyncCloseable.onClosing()
(#2473) - 0e54e33 - Do not apply
InternalRetryingHttpClientFilter
for reserved connections (#2470) - a251047 - Revert "Preserve the caller's stacktrace for blocking API (#2420)" (#2488)
- Avoids memory leak when Netty reuses the same exception instance.
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.