Finagle v6.27.0 Release Notes
-
🆕 New Features
* 👍 finagle-http: Support nacks between Finagle Http clients and servers. When a server fails with retryable exceptions (exceptions wrapped by `Failure.rejected`), it sends back a "Nack" response, i.e. 503 Response code with a new "finagle-http-nack" header. This allows clients to safely retry failed requests, and keep connections open. ``RB_ID=705948`` ⚙ Runtime Behavior Changes
finagle-core: FailFast parameter renamed from
onOrOff
toenabled
.RB_ID=720781
finagle-core: When evaluating NameTree unions, return components of the union in Ok state rather than waiting for all components to be Ok. This enables resilience of unions when part of the tree cannot be resolved.
RB_ID=697114
finagle-stats: Standard of deviation is no longer calculated. It is exported as a constant 0.0 for "$statName.stddev".
RB_ID=717647
💥 Breaking API Changes
* finagle-stream: Introduce StreamRequest as a replacement for Netty's HttpRequest, and converted the rest of the public API to not leak other Netty types (notably ChannelBuffer is replaced by Buf). ``RB_ID=695896`` * finagle-core: Dtab does not implement the Namer interface anymore. Use `c.t.f.naming.DefaultInterpreter` to bind a name via a Dtab. Support for Dtab entries starting with /#/ has been removed. `c.t.f.Namer.bindAndEval` has been removed. Use `c.t.f.Namer.resolve` instead. ``RB_ID=711681`` * 🗄 finagle: `LoadService` and `ThriftRichClient` migrated off of deprecated `ClassManifest` to `ClassTag`. ``RB_ID=720455``