Time to turn the calendar to a new year and a new release — our January release is here!
Finagle 18.1.0, Finatra 18.1.0, Scrooge 18.1.0, TwitterServer 18.1.0, and Util 18.1.0.
New Features:
finagle-core: FailureDetector
has a new method, onClose
, which provides
a Future that is satisfied when the FailureDetector
marks a peer as Closed.
186f0949
finagle-core: Introduce trace logging of requests as they flow through a Finagle client or server. These logs can be turned on at runtime by setting the “com.twitter.finagle.request.Logger” logger to trace level. 203fed55
finagle-http2: HTTP/2 clients now expose the number of currently opened streams under
the $client/streams
gauge. add0050e
finagle-http2: HTTP/2 servers now expose the number of currently opened streams under
the $server/streams
gauge. ed6800a3
finagle-memcached: By default, the Memcached client now creates two connections to each endpoint, instead of 4. 1c5d9eac
finagle-redis: Add support for redis Geo Commands. d32d1236 based on the PR https://github.com/twitter/finagle/pull/628 written by Mura-Mi [https://github.com/Mura-Mi]
finagle-thrift: Add c.t.f.thrift.service.ThriftServiceBuilder
and
c.t.f.thrift.service.ReqRepThriftServiceBuilder
for backwards compatibility
of creating higher-kinded method-per-endpoint clients. f61b6f99
finagle-core: c.t.f.http.MethodBuilder
and c.t.f.thriftmux.MethodBuilder
now
expose idempotent
and nonIdempotent
methods, which can be used to configure
retries and the sending of backup requests. 2c1105e5
Bug Fixes:
finagle-mysql: Fix a bug with transactions where an exception during a rollback could leave the connection with a partially committed transaction. 4b76bfc2
finagle-toggle: c.t.f.toggle.Toggle
s are independent; that is, applying the same value to
two different toggles with the same fraction will produce independent true/false
values. 8ef6acb1
Runtime Behavior Changes:
finagle-core, finagle-netty4: When creating engines, SslClientEngineFactories now use
SslClientEngineFactory.getHostString
instead of SslClientEngineFactory.getHostname
.
This no longer performs an unnecessary reverse lookup when a hostname is not supplied
as part of the SslClientConfiguration
. d05d1299
finagle-http2: Supplies a dependency on io.netty.netty-tcnative-boringssl-static, which adds support for ALPN, which is necessary for encrypted http/2. To use a different static ssl dependency, exclude the tcnative-boringssl dependency and manually depend on the one you want to use. 246be7e5
Breaking API Changes:
finagle-base-http, finagle-http: Removed Apache Commons Lang dependency,
org.apache.commons.lang3.time.FastDateFormat
now is java.time.format.DateTimeFormatter
.
8cd6a882
finagle-base-http: c.t.f.http.Message.headerMap
is now an abstract method.
24e74e52
finagle-core: c.t.f.ssl.server.SslServerSessionVerifier
no longer uses the unauthenticated
host information from SSLSession
. 559ae4ad
finagle-memcached: ConcurrentLoadBalancerFactory
was removed and its behavior
was replaced by a Stack.Param inside finagle-core’s LoadBalancerFactory
.
502a91d5
finagle-thrift, finagle-thriftmux: Remove ReqRep
specific methods. Since the “ReqRep”
builders are now subclasses of their non-“ReqRep” counterparts their is no longer a
need to expose “ReqRep” specific methods. 9737ead8
Deprecations:
finagle-exp: c.t.f.exp.BackupRequestFilter
has been deprecated. Please use
c.t.f.client.BackupRequestFilter
instead. 3326d2fd
finagle-http: c.t.f.http.Request.multipart
has been deprecated.
Use c.t.f.http.exp.MultipartDecoder
instead. a205bd20
Added:
finatra-thrift: Add support for building all types of Finagle Thrift clients to
the underlying embedded TwitterServer with the c.t.finatra.thrift.ThriftClient
test utility. See: https://twitter.github.io/scrooge/Finagle.html#creating-a-client
47f7f6c7
finatra-jackson: Added support to finatra/jackson for deserializing com.twitter.util.Duration
instances from their String representations. 9e6576c9
Changed:
c.t.finatra.http.internal.marshalling.RequestInjectableValues
to be correctly specified as private to the http
package. 712edf91Fixed:
Closed:
scrooge-generator: Update c.t.fingale.thrit.service.MethodPerEndpointBuilder
to build MethodPerEndpoint
types. Add new ThriftServiceBuilder
for
building the higher-kinded form from a ServicePerEndpoint
. Users should
prefer using the MethodPerEndpointBuilder
. 08b25e3d
scrooge-generator: Add more metadata to generated java objects 46dd949c Includes:
scrooge: Add support for scrooge.Request
and scrooge.Response
types in generated ThriftMethod
code. 80bfa731
New Features:
c.t.util.security.X509CrlFile
for reading
Certificate Revocation List PEM formatted X509CRL
files.
32d8cc8a