Daniel Schobel


Posted July 11, 2018

☀️ July 2018 Release Notes - Version 18.7.0

Hot off the presses, the July releases are here!

Finagle 18.7.0, Finatra 18.7.0, Scrooge 18.7.0, TwitterServer 18.7.0, and Util 18.7.0.


Runtime Behavior Changes:

  • finagle-core: Server-side rejections from c.t.f.filter.RequestSempahoreFilter.module are now captured by c.t.f.service.StatsFilter. They will roll up under "/failures", "/failures/rejected", and "/failures/restartable" in stats. 3b755c8a

  • finagle-core: c.t.f.tracing.Trace.tracers now returns only distinct tracers stored in the local context (returned all tracers before). b96bb137

  • finagle-http: HTTP param decoding is no longer truncated to 1024 params. 24662bea

  • finagle-mux: When mux propagates an interrupt started by BackupRequestFilter over the network, the FailureFlags.Ignorable status is propagated with it. fe8c6496

New Features:

  • finagle-core: There is now an implicit instance for Finagle’s default timer: DefaultTimer.Implicit. 64963bd8

  • finagle-core: Introduce new command-line flag c.t.f.tracing.enabled to entirely disable/enable tracing for a given process (default: true). 5a5ceb63

  • finagle-mysql: com.twitter.util.Time can now be used with PreparedStatements without converting the ctu.Time to a java.sql.Timestamp. bbca48c7

  • finagle-stats: Adds a lint rule to detect when metrics with colliding names are used. 26a2c3bd

Breaking API Changes:

  • finagle-core: c.t.f.dispatch.ClientDispatcher.wrapWriteException has been turned from a partial function instance into a static total function. 9a3c9070

  • finagle-mux: ClientDiscardedRequestException now extends FailureFlags and is no longer a case class. fe8c6496



  • inject-utils: Add ‘toLoggable’ implicit from Array[Byte] to String. 0eece86a


  • finatra-http: Fix infinite loop introduced by 8521d980. Fix underlying issue of the ResponseBuilder requiring a stored RouteInfo for classifying exceptions for stating. 57a02570

  • finatra-http: Fix FailureExceptionMapper handling of wrapped exceptions. Unwrap cause for all c.t.finagle.Failure exceptions, regardless of flags and add a try-catch to ExceptionManager to remap exceptions thrown by ExceptionMappers. 8521d980


API Changes:

  • util-app: util-core: Local.Context used to be a type alias for Array[Option[_]], now it is a new key-value liked structure. faaf0f2f


  • scrooge-adaptive: Turn scrooge-adaptive on as the default in ScroogeRunner. 633e0f2668d