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``