Happy Lunar New Year! The February release is here.
Finagle 18.2.0, Finatra 18.2.0, Scrooge 18.2.0, TwitterServer 18.2.0, and Util 18.2.0.
New Features
finagle-core: Add orElse to allow composition of FailureAccrualPolicy
s.
8c1e718e
finagle-core: c.t.f.http.MethodBuilder
now exposes a method newService
without a
methodName
to create a client. c.t.f.thriftmux.MethodBuilder
now exposes a
method servicePerEndpoint
without a methodName
to create a client. d8e010d6
finagle-thriftmux: Expose the underlying configured client label
in the
c.t.finagle.thriftmux.MethodBuilder
. 653e2696
Bug Fixes
Deprecations
c.t.finagle.ssl.Ssl
and related classes have been
deprecated. They were replaced as the primary way of using SSL/TLS
within Finagle in release 6.44.0 (April 2017). Please migrate to using
c.t.f.ssl.client.SslClientEngineFactory
or
c.t.f.ssl.server.SslServerEngineFactory
instead. 0b8a2890Breaking API Changes
finagle-base-http: c.t.f.h.codec.HttpCodec
has been moved to the finagle-http
project. 350953ae
finagle base-http: c.t.f.h.Request.multipart
has been removed.
Use c.t.f.h.exp.MultipartDecoder
instead. b9d71e36
finagle-http: Split the toggle ‘c.t.f.h.UseH2C’ into a client-side toggle and a server-side toggle, named ‘c.t.f.h.UseH2CClients’, and ‘c.t.f.h.UseH2CServers’, respectively. 0d960398
Runtime Behavior Changes
Added
inject-thrift-client: Add methods to c.t.inject.thrift.filters.ThriftClientFilterChain
to allow
Tunable timeouts and request timeouts. 72664be4
inject-thrift-client: Add idempotent
and nonIdempotent
methods to
c.t.inject.thrift.ThriftMethodBuilder
, which can be used to configure retries and the sending of
backup requests. 7868964d
inject-thrift-client: Add c.t.inject.thrift.modules.ServicePerEndpointModule
for
building ThriftMux clients using the thriftmux.MethodBuilder
. 42ef3bcc
Changed
inject-thrift: Update c.t.inject.thrift.PossibleRetryable
to specify a ResponseClassifier
and update usages in inject-thrift-client to use it. 582d46bc
inject-thrift-client: Un-deprecate c.t.inject.thrift.modules.ThriftClientModule
and update for parity with ServicePerEndpointModule
in regards to ThriftMux
client configuration. Update documentation. Rename ServicePerEndpointModule
to
the more descriptive and consistently named ThriftMethodBuilderClientModule
.
c4dc773e
scrooge-generator: Add asClosable
method to ServicePerEndpoint
and
ReqRepServicePerEndpoint
interfaces as well. 597864ac
scrooge-generator: Remove unused functionToService
and serviceToFunction
methods along with ServiceType
and ReqRepServiceType
type aliases in
order to simplify code generation.
NOTE: This functionality can be manually replicated by users if/when needed
to convert between a Function1 and a Finagle Service
. 2d25eb25
scrooge-generator: Scala generated client now has a asClosable method returns c.t.u.Closable,
client now can be closed by calling client.asClosable.close
. Note that asClosable
won’t be
generated if it is also defined by the user. 1fa4f0c6
scrooge-generator: Renamed subclasses of com.twitter.scrooge.RichResponse
:
ProtocolExceptionResponse
, SuccessfulResponse
, and ThriftExceptionResponse
.
These case classes are for representing different response types and should be only
used by the generated code. 2194e77d
Dependencies
New Features:
util-core: Added implicit conversion for percentage specified as “x.percent”
to a fractional Double in c.t.conversions.percent
. e573d263
util-tunable: Add deserializer for c.t.u.StorageUnit
to JsonTunableMapper
d320545a
Runtime Behavior Changes:
c.t.a.App.exitOnError
is called, it now gives close
an opportunity to clean up resources before exiting with an error.
aa32eb16