Finagle v20.8.0 Release Notes

Release Date: 2020-08-11 // over 3 years ago
  • โš™ Runtime Behavior Changes

    
    * finagle-netty4-http: Post, Put, Patch non-streaming outbound requests with empty bodies will
      be added the `Content-Length` header with value `0`. ``PHAB_ID=D518010``
    
    * finagle-core: A ServiceFactory created by ServiceFactory.const/constant propagates the wrapped
      service status. ``PHAB_ID=D520598``
    
    * finagle-core: Only deposit into the RetryBudget after a request succeeds. 
      This should help mitigate retry storm behavior. ``PHAB_ID=D528880``
    
    * ๐Ÿ›ฐ finagle-http: `c.t.f.http.filter.PayloadSizeFilter` no longer adds an annotation on each
      streaming chunk and instead aggregates the byte count and adds a single record on stream
      termination. ``PHAB_ID=D522543``
    
    * finagle-zipkin-scribe: zipkin scribe `log_span` prefix replaced with `scribe`. `zipkin-scribe/scribe/<stats>`. ``PHAB_ID=D527531``
    
    ๐Ÿ†• New Features
    ~~~~~~~~~~~~
    
    * finagle-core: introduce type-safe `ReqRep` variant ``PHAB_ID=D520027``
    
    * finagle-core: Added a new variant of `Filter.andThenIf` which allows passing the parameters
      as individual parameters instead of a Scala tuple. ``PHAB_ID=D523010``
    
    * finagle-core: new metric (counter) for traces that are sampled. `finagle/tracing/sampled` ``PHAB_ID=D522355``
    
    * finagle-netty4: Add the `c.t.f.netty4.Netty4Listener.MaxConnections` param that can be used
      to limit the number of connections that a listener will maintain. Connections that exceed
      the limit are eagerly closed. ``PHAB_ID=D517737``
    
    * finagle-thrift: Added java-friendly `c.t.f.thrift.exp.partitioning.ClientHashingStrategy` and
      `c.t.f.thrift.exp.partitioning.ClientCustomStrategy` `create` methods, and added java-friendly
      `c.t.f.thrift.exp.partitioning.RequestMergerRegistry#addRequestMerger` and
      `c.t.f.thrift.exp.partitioning.ResponseMergerRegistry#addResponseMerger` to make partitioning
      easier to use from Java. ``PHAB_ID=D525770``
    
    ๐Ÿ’ฅ Breaking API Changes
    ~~~~~~~~~~~~~~~~~~~~
    
    * finagle-core: `ReqRep` can no longer be created via `new ReqRep(..)`. Please use
      `ReqRep.apply(..)` instead.
      ``PHAB_ID=D520027``
    
    * โšก๏ธ finagle-thrift: Updated the `c.t.f.thrift.exp.partitioning.ClientHashingStrategy` and the
      `c.t.f.thrift.exp.partitioning.ClientCustomStrategy` to take constructor arguments instead
      of needing to override methods on construction. ``PHAB_ID=D525770``
    
    * ๐Ÿšš finagle-zipkin-core: Removed unused `statsReceiver` constructor argument from `RawZipkinTracer`. ``PHAB_ID=D527531``