Finagle v19.8.0 Release NotesRelease Date: 2019-08-06 // 12 days ago
💥 Breaking API Changes
* finagle-core: The contents of the `c.t.f.dispatch.GenSerialClientDispatcher` object have been moved to the new `c.t.f.dispatch.ClientDispatcher` object. The stats receiver free constructors of `GenSerialClientDispatcher` and `SerialClientDispatcher` have been removed. ``PHAB_ID=D342883`` * 🗄 finagle-thrift: The deprecated `ReqRepThriftServiceBuilder` object has been removed. Users should migrate to `ReqRepMethodPerEndpointBuilder`. ``PHAB_ID=D345740`` ⚙ Runtime Behavior Changes
🐧 finagle-core: Failed reads on Linux due to a remote peer disconnecting should now be properly seen as
c.t.f.ChannelClosedExceptioninstead of a
⬆️ finagle: Upgrade to Jackson 2.9.9.
⬆️ finagle: Upgrade to Netty 4.1.38.Final.
📦 finagle-base-http: Moved c.t.f.http.serverErrorsAsFailures out of its package object, which changes its name from
📦 finagle-thrift: Moved c.t.f.thrift.maxReusableBufferSize out of its package object, which changes its name from
Previous changes from v19.7.0
🆕 New Features
🛰 finagle-http: Measure streaming (message.isChunked) chunk payload size with two new histograms:
stream/response/chunk_payload_bytes, they are
🛰 published with a debug verbosity level. These chunk payload sizes are also traced via the same
trace keys. 11f4e32
👍 finagle-base-http: Add support for new "b3" tracing header. 8721837
finagle-core: Allow to not bypass SOCKS proxy for localhost by using the GlobalFlag
finagle-core: OffloadFilter flag to reduce network contention. 2bd4d61
finagle-exp: Add private
c.t.f.exp.ConcurrencyLimitFilterfor rejecting requests
that exceed estimated concurrency limit e331491
⚙ Runtime Behavior Changes
c.t.f.http.Corshas been changed to no longer use the
associated with the passed in
c.t.f.http.filter.ExceptionFilterhas been changed to no longer
👉 use the
c.t.f.http.Responseassociated with the passed in. 54d4acf
⚡️ finagle-http: Optimize creation of new Http Dispatchers by re-using created metrics and loggers.
💥 Breaking API Changes
🚚 finagle-base-http: Removed the methods
c.t.f.http.Responsewhich have been deprecated since 2017. 20b37b0
🏗 finagle-core: All deprecated
🏗 been removed. Users should migrate to using the
buildmethod which takes a
ServiceFactory[Req, Rep]as a parameter. 7ae208d
🚚 finagle-core: The
c.t.f.ssl.client.SslClientEngineFactory#getHostnamemethod has been removed.
All uses should be changed to use the
c.t.f.http.Cors.HttpFilterare no longer overridable. 455718a
finagle-http: The details of the
c.t.f.Http.HttpImplclass are meant to be implementation
details so the class constructor was made private along with the fields. Along these same lines
c.t.f.Http.H2ClientImpl.transportermethod has been moved to a private location.
🐛 Bug Fixes
🚚 finagle-core: Ensure ClientDispatcher
queueSizegauge is removed on transport
close, instead of waiting for clean-up at GC time. 963e9b8
finagle-http2: Don't propagate stream dependency information for the H2 client.