Neuman Vong


Posted October 24, 2018

October 2018 Release Notes — Version 18.10.0

Here we are in the month of October, just a few weeks until creatures of fantasy roam the streets together with people dressed up as creatures of fantasy 👹.

Speaking of the fantastic, we have new releases!

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



  • finagle-core: Deprecation warnings have been removed from the ‘status’, ‘onClose’, and ‘close’ methods on c.t.f.t.Transport, and added to the corresponding methods on c.t.f.t.TransportContext. 9ae6d978

Runtime Behavior Changes

  • finagle-netty3: Implementations for ‘status’, ‘onClose’, and ‘close’ methods have been moved from c.t.f.n.t.ChannelTransportContext to c.t.f.n.t.ChannelTransport. 9ae6d978



  • finatra-thrift: Set the bound StatsReceiver in the underlying Finagle ThriftMux server in the c.t.finatra.thrift.ThriftServer. This prevented testing of underlying Finagle server stats as the InMemoryStatsReceiver used by the EmbeddedThriftServer was not properly passed all the way through the stack. 33d0524b


  • finatra-http, finatra-thrift: Make HTTP and Thrift StatsFitlers “Response Classification” aware. 4085d40c

  • finatra-http, finatra-thrift: (BREAKING API CHANGE) Update the DarkTrafficFilterModule in both HTTP and Thrift to allow for specifying further configuration of the underlying Finagle client. This allows users the ability to set Finagle client concerns like ResponseClassification or other configuration not expressed by the DarkTrafficFilterModule’s API.

    • Additionally, the Thrift DarkTrafficFilterModule has been updated to be ThriftMux only. For more information on mux see: What is ThriftMux.
    • We also update the enableSampling method to accept a c.t.inject.Injector to aid in the decision-making for if a given request should be “sampled” by the filter. d7486843
  • finatra-thrift: (BREAKING API CHANGE) Update c.t.finatra.thrift.routing.ThriftRouter API for adding Java Thrift controllers. The service: Class[_] was rendered unnecessary some time ago but not removed from the API signature. Because this parameter is useless and it shadows another variable inside of the code we remove it from the signature altogether rather than deprecating the API. c2378cc7

  • finatra-thrift: Rename defaultFinatraThriftPort to defaultThriftPort. 5910fd23


  • scrooge: Add type annotations to public members in generated code. 5cad1005

Twitter Server


  • Deprecate c.t.server.AdminHttpServer#routes. Routes should be added to the AdminHttpServer via c.t.server.AdminHttpServer#addAdminRoutes. 4078e4cb

Runtime Behavior Changes

  • Update BuildProperties to not emit a warning when no file can be located. 7ce6e4cb


Breaking API Changes

  • util-core: and c.t.Reader.writable() are removed. Use instead. 5ef6a0dc

  • util-core: c.t.util.TempFolder has been moved to 2f8ee904

  • util-core: Removed the forwarding types c.t.util.TimeConversions and c.t.util.StorageUnitConversions. Use c.t.conversions.time and directly. 0c83ebc0

  • util-core: c.t.concurrent.AsyncStream.fromReader has been moved to 6c3be47d

New Features

  • util-core: (BufReader),, (InputStreamReader) now take an additional parameter, chunkSize, the upper bound of the number of bytes that a given reader emits at each read. 719f41a6

Runtime Behavior Changes

  • util-core: c.t.u.Duration.inTimeUnit can now return j.u.c.TimeUnit.MINUTES. 0daac8d7