Moses Nakamura

@mnnakamura

Posted November 17, 2017

🍠 November 2017 Release Notes - Version 17.11.0

It’s November, and you know what that means! Library releases!!! We’re now publishing with sbt 1.0.x, and we now also publish sbt-scrooge-plugin for sbt 1.0.x. We are also continuing to publish sbt-scrooge-plugin for sbt 0.13.x.

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

Finagle

New Features:

  • finagle-core: Add ResponseClassifiers, RetryOnTimeout and RetryOnChannelClosed, for exceptions that are commonly retried when building from ClientBuilder but had no MethodBuilder equivalents. 3d292b49

  • finagle-netty4: Netty4Transporter and Netty4Listener are now accessible, which allows external users to create their own protocols for use with Finagle on Netty 4. 3ce475db

Breaking API Changes:

  • finagle-core: Numerous overloads of c.t.f.Server.serve have been marked final. ea543806

  • finagle-thrift: Correctly send mux.Request#contexts in all cases. There were some cases in which mux.Request#contexts were not always propagated. The contexts are now always written across the transport. Note that there may be duplicated contexts between “local” context values and “broadcast” context values. Local values will precede broadcast values in sequence. 45832aad

Finatra

Changed:

  • EmbeddedTwitterServer, EmbeddedHttpServer, and EmbeddedThriftServer flags and args parameters changed to call-by-name. 3276d4e9

Fixed:

  • inject-server: Ensure EmbeddedTwitterServer has started before trying to close httpAdminClient. 839afc3b

Util

New Features:

  • util-security: Added c.t.util.security.PrivateKeyFile for reading PKCS#8 PEM formatted PrivateKey files. 23f4a6a0

Scrooge

  • scrooge-generator: Deprecated some scala generated classes and use new ones FutureIface -> MethodPerEndpoint, MethodIface -> MethodPerEndpoint.apply(), MethodIfaceBuilder -> MethodPerEndpointBuilder, BaseServiceIface -> ServicePerEndpoint, ServiceIface -> ServicePerEndpoint, ServiceIfaceBuilder -> ServicePerEndpointBuilder. To construct a client use c.t.f.ThriftRichClient.servicePerEndpoint instead of newServiceIface, to convert ServicePerEndpoint to MethodPerEndpoint use c.t.f.ThriftRichClient.methodPerEndpoint instead of newMethodIface. 26f86b2b

  • scrooge-generator: (BREAKING API CHANGE) Change the java generator to no longer generate files with org.slf4j imports and remove limited usage of org.slf4j Logger in generated services. bf5364be

Twitter Server

Breaking API Changes:

  • Change to apply JUL log format in the c.t.server.logging.Logging trait constructor instead of in premain to apply format as early in the logging stack as possible. However, this means that users overriding the def defaultFormatter will not be able to use any flags to configure their formatting, note: the default LogFormatter does not use flags. ec674bc5

Changelogs