Finagle v19.7.0 Release Notes

Release Date: 2019-07-18 // 9 months ago
  • 🆕 New Features

    🛰 finagle-http: Measure streaming (message.isChunked) chunk payload size with two new histograms:
    🛰 stream/request/chunk_payload_bytes and 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
    -com.twitter.finagle.socks.socksProxyForLocalhost 5521bc8

    finagle-core: OffloadFilter flag to reduce network contention. 2bd4d61

    finagle-exp: Add private c.t.f.exp.ConcurrencyLimitFilter for rejecting requests
    that exceed estimated concurrency limit e331491

    ⚙ Runtime Behavior Changes

    finagle-http: c.t.f.http.Cors has been changed to no longer use the c.t.f.http.Response
    associated with the passed in c.t.f.http.Request. 455718a

    finagle-http: c.t.f.http.filter.ExceptionFilter has been changed to no longer
    👉 use the c.t.f.http.Response associated 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 setStatusCode and getStatusCode from
    🗄 c.t.f.http.Response which have been deprecated since 2017. 20b37b0

    🏗 finagle-core: All deprecated c.t.f.builder.ServerBuilder#build methods have
    🏗 been removed. Users should migrate to using the build method which takes a
    ServiceFactory[Req, Rep] as a parameter. 7ae208d

    🚚 finagle-core: The c.t.f.ssl.client.SslClientEngineFactory#getHostname method has been removed.
    All uses should be changed to use the getHostString method of SslClientEngineFactory instead.

    finagle-http: The setOriginAndCredentials, setMaxAge, setMethod, and setHeaders methods
    of c.t.f.http.Cors.HttpFilter are no longer overridable. 455718a

    finagle-http: The details of the c.t.f.Http.HttpImpl class are meant to be implementation
    details so the class constructor was made private along with the fields. Along these same lines
    🚚 the c.t.f.Http.H2ClientImpl.transporter method has been moved to a private location.

    🐛 Bug Fixes

    🚚 finagle-core: Ensure ClientDispatcher queueSize gauge 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.