Finagle v6.35.0 Release Notes

  • ๐Ÿ—„ Deprecations

    * ๐Ÿ“ฆ finagle: remove unused finagle-validate and finagle-testers packages. ``RB_ID=818726``
    
    โš™ Runtime Behavior Changes
    
    • finagle-core: DeadlineFilter is now per-connection, so the max rejection percentage is not shared across clients. This prevents a single client from exceeding the rejection budget. RB_ID=813731.

    • ๐Ÿšš finagle-core: The use of keytool in PEMEncodedKeyManager has been removed and instead the keystore is being loaded from the pkcs12 file. RB_ID=832070

    • finagle-http: Local Dtabs are now encoded into the Dtab-Local header. X-Dtab headers may still be read but should be considered deprecated. RB_ID=815092

    • ๐Ÿšš finagle-thrift: Removed duplicate "thrift" label on Thrift/ThriftMux scrooge-related server stats. RB_ID=816825

    ๐Ÿ’ฅ Breaking API Changes

    * ๐Ÿ—„ finagle-redis: Deprecated ChannelBuffer exposing apis for string commands. ``RB_ID=817766``.
    
    * ๐Ÿšš finagle-core: DefaultClient has been removed. Implementors should prefer `c.t.f.StackClient`
      ``RB_ID=812681``.
    
    * finagle-core: When a client is created, its server set resolution is started eagerly.
      ``RB_ID=806940``
    
    * finagle-core: Dentry now takes a Dentry.Prefix instead of a Path. ``RB_ID=813914``
    
    * ๐Ÿšš finagle-core: Remove `*.client.withTransport.socksProxy` param as part of the initiative to
      move to CLI flags based configuration for SOCKS. ``RB_ID=842512``
    
    * finagle-thrift/thriftmux: Thrift servers constructed using `Thrift.serveIface` now use
      `Thrift.server.serveIface`. ThriftMux servers constructed using `ThriftMux.serveIface` now use
      `ThriftMux.server.serveIface`. ``RB_ID=824865``
    
    * ๐Ÿšš finagle-cache-resolver: `c.t.f.cacheresolver.ZookeeperCacheNodeGroup` has been removed from the
      API since we no longer check for the zookeeper data for the cache pool size to refresh for the
      changes in the serverset. ``RB_ID=811190``
    
    ๐Ÿ†• New Features
    ~~~~~~~~~~~~
    
    * ๐Ÿ”ง finagle-http: http 1.1 running on netty4 is configurable via `c.t.finagle.netty4.http.exp.Netty4Impl`.
      It has not been tested in production and should be considered beta software. ``RB_ID=828188``
    
    * finagle-core: Multi-line Dtabs may now contain line-oriented comments beginning with '#'.
      Comments are omitted from parsed Dtabs. ``RB_ID=818752``
    
    * finagle-http: new stack params MaxChunkSize, MaxHeaderSize, and MaxInitialLineLength
      are available to configure the http codec. ``RB_ID=811129``
    
    * ๐Ÿ›ฐ finagle-mux: Mux now has support for fragmenting Tdispatch and Rdispatch payloads.
      This helps with head-of-line blocking in the presence of large payloads and allows
      long transmissions to be interrupted. ``RB_ID=794641``.
    
    * ๐Ÿ›  finagle-core: Dtabs allow wildcard path elements in prefixes. ``RB_ID=813914``
    
    * ๐Ÿ‘ finagle-netty4: HTTP proxy support for any Finagle Netty 4 client. ``RB_ID=819752``
    
    * finagle-core: Gauge for dns resolutions awaiting lookups. ``RB_ID=822410``
    
    ๐Ÿ› Bug Fixes
    ~~~~~~~~~
    
    * finagle-http: Ensure that service closure is delayed until chunked response bodies
      have been processed. ``RB_ID=813110``
    
    * finagle-stats: Ensure that histogram snapshotting does not fall behind if snapshot()
      is not called at least once per interval. ``RB_ID=826149``