Ian Bennett


Posted March 14, 2019

March 2019 Release Notes - Version 19.3.0 🦁

Spring has almost sprung, so take a look at all that we have done!


New Features

  • finagle-core: Added tracing annotations to backup requests. 5201f623
    • Timestamped annotation “Client Backup Request Issued”
    • Timestamped annotation “Client Backup Request Won” or “Client Backup Request Lost”
    • Binary annotation “clnt/backup_request_threshold_ms”, with the current value of the latency threshold, in milliseconds
    • Binary annotation “clnt/backup_request_span_id”, with the span id of the backup request

Breaking API Changes

  • finagle-core: Deprecated multi-param legacy tls methods have been removed in c.t.f.param.ServerTransportParams and c.t.f.builder.ServerBuilder. Users should migrate to using the tls(SslServerConfiguration) method instead. ca646bd8

Runtime Behavior Changes

  • finagle-core: The tracing annotations from MkJvmFilter have been enhanced. 0586f657
  • Timestamped annotations “GC Start” and “GC End” for each garbage collection event that occurred during the request.
  • Binary annotation “jvm/gc_count”, with the total number of garbage collection events that occurred during the request.
  • Binary annotation “jvm/gc_ms”, with the total milliseconds of garbage collection events that occurred during the request.



  • finatra-kafka: FinagleKafka clients pass correct deadline for close to underlying Kafka clients. 6e579e60
  • finatra-kafka-streams: (BREAKING API CHANGE) Create flags for common consumer and producer configs. KafkaFlagUtils#kafkaDocumentation and getKafkaDefault are no longer public methods. 9ca7eac5
  • finatra-kafka: Added support to fetch end offset for a given partition. 2053b76a
  • finatra-http: Added HttpServerTrait which allows for a simple way to serve a Finagle Service[Request, Response] on an external interface without the need to configure the Finatra HttpRouter. a4fe06c5
  • finatra-http: Added support to serve c.t.io.Reader as a streaming request. 4491e5e5


  • finatra-kafka-streams: finatra-kafka-streams: Refactor queryable state management ce05c72f
  • finatra-kafka-streams: Improve querying of windowed stores. ea65ef40
  • inject-utils: Mark c.t.inject.utils.StringUtils#snakify,camelify,pascalify as deprecated as their implementations have moved to util/util-core c.t.conversions.StringOps. Encourage users to switch usages to c.t.conversions.StringOps#toSnakeCase,toCamelCase,toPascalCase. 85b9361c
  • finatra-thrift: Changed c.t.finatra.thrift.ThriftServerTrait#service to #thriftService to not collide with the serving of a Finagle service from the HttpServer when a server extends both HttpServer and ThriftServer. a4fe06c5




No Changes

Twitter Server

  • Change the /admin/histograms?h=…-style endpoints to return data in the same style as /admin/histograms.json. This should make it easier to use tools to parse data from either endpoint. 92e4dad5


New Features

  • util-core: Discard parent reader from Reader.flatten when child reader encounters an exception. 0cc640ac
  • util-core: Added c.t.conversions.StringOps#toSnakeCase,toCamelCase,toPascalCase implementations. b0a5d062