Ruben Oanta

@rubenoanta

Posted August 27, 2020

August 2020 Release Notes - Version 20.8.1

Release 20.8.0 had a corrupt artifact uploaded to maven central. This patch release addresses that and includes some other goodies:

Finagle

New Features

  • finagle-thriftmux: Add MethodBuilder specific APIs for ThriftMux partition aware client. e2f467c1

Finatra

Added

  • thrift: JavaThriftRouter now allows mounting controllers by value (as opposed to via DI). bcc76056
  • finatra-kafka: Expose delivery timeout duration in KafkaProducerConfig. cc023430

Changed

  • inject-core: Remove deprecated com.twitter.inject.Mockito trait. Users are encouraged to switch to the com.twitter.mock.Mockito trait from util/util-mock. 92c3f7ba

Fixed

  • inject-server: Ensure Awaiter.any does not try to block on an empty list of Awaitables. Add tests. b19e8a25
  • finatra-jackson: Fix bugs around generic case class deserialization involving other generic types. Reported (with reproduction and pointers) on GitHub by @aatasiei (https://github.com/twitter/finatra/issues/547). Fixes #547. a6ba62b6
  • finatra-jackson: Fix a bug preventing JSON parsing of generic case classes, which in turn, contain fields with generic case classes. Reported (with a thorough reproducer and an analysis) on GitHub by @aatasiei (https://github.com/twitter/finatra/issues/548). Fixes #548. 0a3803ff

Util

New Features

  • util-mock: Introduce mockito-scala based mocking integration. Fix up and update mockito testing dependencies:
    • mockito-all:1.10.19 to mockito-core:3.3.3
    • scalatestplus:mockito-1-10:3.1.0.0 to scalatestplus:mockito-3-2:3.1.2.0 b2fb4b3a
  • util-app: Add support for flags of Java Enum types. 4657258d

Twitter Server

  • Check SecurityManager permissions in the ContentHandler to ensure that contention snapshotting is allowed. ce783a3c

Scrooge

  • scrooge-generator: The Scala generator no longer generates Proxy classes on structs by default. These can be opted into on a struct-by-struct basis by adding a Thrift annotation to a struct, (com.twitter.scrooge.scala.generateStructProxy = “true”). See struct Request in scrooge-generator-tests/src/test/resources/gold_file_input/gold.thrift for an example. 2a0f311b
  • scrooge-generator: Fixed a bug in the Java generated code where responses were often deserialized twice. 175e1358
  • scrooge-generator: Java-generated ServiceIface interfaces now extend c.t.f.thrift.AbstractThriftService. a36486fb
  • scrooge-generator: Reduced the size of generated Scala code. 1dc7e4f4