0.41.13
Changes
This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes and improvements. It contains important bug fixes for retry logic configuration, upgrades netty to 4.1.73 which relaxes duplicated native library detection, protobuf to 3.19.2 which fixes a potential Denial of Service issue, log4j to 2.17.1 which fixes CVE-2021-44832.
New features
- 6df6952 - Make exception mapper filters public (#2050)
HttpExceptionMapperServiceFilter
andGrpcExceptionMapperServiceFilter
can be used at any position in the filter chain to mapThrowable
(s) into a properly formatted HTTP/gRPC response.
- 83d4b93 - Make
HttpLifecycleObserverServiceFilter
public (#2051)- In addition to
[Http|Grpc]ServerBuilder#lifecycleObserver(...)
method that captures entire state of the server processing chain, newHttpLifecycleObserverServiceFilter
allows users to place lifecycle observer at any other position in the filter chain or apply conditionally.
- In addition to
API deprecation
Developer note: Additional API deprecation advisories and guidance have been added in each of the 0.41.X releases. Please build your application with the latest 0.41.X release and carefully review the deprecation warnings reported and associated suggestions. Changes to applications may be required for compatibility with future versions of ServiceTalk beyond the API compatible 0.41.X series. While there are many deprecations for planned future API changes, most applications should require few changes as the most significant changes are to internal or specialized APIs. If you have concerns or expect problems related to any of the API deprecations please report these as an issue.
- 593d620 - Rename
subscribeShareContext()
toshareContextOnSubscribe()
(#1975)- Deprecated
subscribeShareContext()
operator inSingle
,Completable
, andPublisher
, introduceshareContextOnSubscribe()
as a replacement to clarify that this operator does not actually subscribes to the async source.
- Deprecated
Bug fixes
- c69078f - Prevent retry logic modifications through the builder (#2031)
- eb72c09 - Allow using pre-existing
AutoRetryStrategyProvider
andRetryingHttpRequesterFilter
together (#2042) - 6e3667f - Fix infinite retries under particular conditions (#2041) (#2049)
Improvements
- c444966 -
RoundRobinLoadBalancer
: maketargetResource
logging less confusing (#2044) - 22ae4cb - Add more logging for
GrpcRouter
and other transport classes (#2055)
Documentation
Dependencies
- 65fe5cb - Update netty 4.1.72 -> 4.1.73 (#2053)
- 6f90bf1 - Update log4j 2.16.0 -> 2.17.1 (#2043, #2045)
- fb74aa0 - Update protobuf 3.19.1 -> 3.19.2 (#2047)
- efe2d94 - Update proto-google-common-protos 2.7.0 -> 2.7.1 (#2048)
- b04b8ff - Update gradle shadow 7.0.0 -> 7.1.1 (#2026)
- 72ba992 - Update grpc-java 1.42.1 -> 1.43.0 (used for compatibility testing) (#2027)
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 an unintended omission.
- @Abdelrahman-IK
- @bondolo
- @chemicL
- @idelpivnitskiy
- @Scottmitch
- @tkountis