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
- 85fd41b - Do not cancel subscription on
BlockingIterable#hasNext(long, TimeUnit)
(#3128, #3154)BlockingIterable#hasNext(long, TimeUnit)
no longer cancels the subscription if the operation times out. This makes it consistent with the behavior ofjava.util.concurrent.Future.get(long, TimeUnit)
and helps to preserve the stream for future use. However, this could result in resource leaks if the stream is not closed. We recommend using the try-with-resources pattern with blocking API's to avoid leaks.
- We've started using the dependency analysis plugin (#3158) which highlighted a number of dependency cleanups we could do. Some of those involved lowering dependency scope from
api
toimplementation
. Those shouldn't affect most users but in limited cases you may have been inadvertently getting a compile time dependency on a module transiently that didn't belong. In those cases you'll need to include the relevant module in your build.
API Deprecations
- 6fc7987 - loadbalancer: deprecate RoundRobinLoadBalancer types (#3149)
- Users should plan migration to the new LoadBalancer API (#3136). For more information, see documentation and examples.
New Features
- e4d4418 - loadbalancer: move
DefaultLoadBalancer
out of experimental (#3136) - 68055fa - http-netty: let
RetryingHttpRequesterFilter
return responses on failure (#3048) - 1bcf8ea - [grpc-protoc] Add an option to generate default service methods (#3110)
Bug Fixes
Improvements
- 569323f - Adding remote info to logger message so clients can be tracked down (#3155)
- f570fdb -
BlockingStreamingHttpService
: drop trailers if users didn't create any (#3151)
Dependencies
- ad2bbbb, 3fbc367 - Update Netty 4.1.115 -> 4.1.117 (#3141, #3172)
- 135a994 - Update Netty io_uring 0.0.25 -> 0.0.26 (#3157)
- 8951931 - Update OpenTelemetry 1.28.0 -> 1.38.0, instrumentation 1.28.0 -> 1.33.3 (#3161)
- Notably, some of the
opentelemetry-instrumentation
modules contained breaking API changes that may cause incompatibilities.
- Notably, some of the
- a19a930 - Update Jersey for Jakarta EE 9 3.0.13 -> 3.0.17
- 5277958 - Update Jersey for Jakarta EE 10 3.1.6 -> 3.1.9
Dependencies Scope Changes
- 46d56ea - Remove unused
api
dependencies or move them to lower scope (#3169) - e87371c - Remove unused
implementation
dependencies or move them toruntime
(#3168) - cb6fd6c - Promote dependencies to
api
where necessary (#3167) - 373299a - Explicitly declare transitive dependencies that we use directly (#3164)
Documentation
- c750d92 - docs: incorporate default load balancer docs into the main site (#3153)
- 673e4d9 - Add logo, favicon and footer copy (#3116)
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
@colestanfield
@mgodave
@federicobucchi
@idelpivnitskiy
@daschl