Ian Bennett

@enbnt

Posted April 6, 2020

April 2020 Release Notes - Version 20.4.0

In these unprecedented times, we wish for nothing but your health and safety. April showers 🌦️ bring May flowers 🌻, so #StayAtHome and fill some time reading about some of the changes in our latest release.

Finagle

New Features

  • finagle-thrift/thriftmux: Thrift and ThriftMux client side can set a sharable TReusableBuffer by withTReusableBufferFactory. 9213ca35

Breaking API Changes

  • finagle-partitioning: Rename c.t.finagle.partitioning.CacheNode and CacheNodeMetadata to c.t.finagle.partitioning.PartitionNode and PartitionNodeMetadata. d32f0c25

  • finagle-partitioning: Rename c.t.finagle.partitioning.KetamaClientKey to HashNodeKey 2d0cd33e

Bug Fixes

  • finagle-base-http: RequestBuilder headers use SortedMap to equalize keys in different caps. setHeader keys are case insensitive, the last one wins. 535f324c

Finatra

Added

  • inject-app: Add Java-friendly main to EmbeddedApp. 4b40075d

  • finatra-kafka: Expose timeout duration in KafkaProducerConfig dest(). c5340a97

Changed

  • finatra-validation|jackson: (BREAKING API CHANGE) Introduced new case class validation library inspired by JSR-380 specification. The new library can be used as its own to validate field and method annotations for a case class. The library is also automatically integrated with Finatra’s custom CaseClassDeserializer to efficiently apply per field and method validations as request parsing is performed. However, Users can easily turn off validation during request parsing with the setting noValidation in their server configurations. For more information, please checkout Finatra User’s Guide. d874b1a9

Util

New Features

  • util-core: When looking to add idempotent close behavior, users should mix in CloseOnce to classes which already extend (or implement) Closable, as mixing in ClosableOnce leads to compiler errors. ClosableOnce.of can still be used to create a ClosableOnce proxy of an already instantiated Closable. Classes which do not extend Closable can still mix in ClosableOnce. 43671464

Breaking API Changes

  • util-hashing: Rename c.t.hashing.KetamaNode => HashNode, c.t.hashing.KetamaDistributor => ConsistentHashingDistributor. f595ed97

Twitter Server

  • No Changes

Scrooge

  • No Changes