Finatra v20.12.0 Release Notes
-
โ Added
* finatra-kafka-streams: Add async map commands to Kafka Streams DSL (`flatMapAsync`, `flatMapValuesAsync`, `mapAsync`, and `mapValuesAsync`) ``PHAB_ID=D593995`` * โฌ๏ธ finatra-kafka-streams: Allow String configuration to be null and set upgradefrom to null if it is running in 2.5 kafka client. ``PHAB_ID=D592608`` * finatra-http: Allow injecting filtered controllers in HttpRouter from Java. ``PHAB_ID=D590707`` * ๐ inject-utils: Move deprecation warning from `c.t.inject.conversions.map` to `c.t.inject.conversions.map.RichMap`. ``PHAB_ID=D591979`` * kafka: Add an option `includePartitionMetrics` to `KafkaFinagleMetricsReporter` to not include metrics per partition of the `FinagleKafkaConsumer`. Defaults to true. ``PHAB_ID=D587636`` * ๐ finatra: Enables cross-build for 2.13.1 for inject-logback. ``PHAB_ID=D588586`` * finatra-kafka-streams: Add delay DSL calls to insert a delay into a Kafka Streams topology. * ๐ finatra: Enables cross-build for 2.13.1 for inject-thrift-client. ``PHAB_ID=D583509`` * finatra-kafka-streams: Add `c.t.f.k.t.s.PersistentTimerValueStore` which stores a value in the timerstore that can be used when the timer is triggered. ``PHAB_ID=D583020`` * ๐ inject-core: Add ability to call `InMemoryStats#waitFor` with a fixed timeout ``PHAB_ID=D576147`` * ๐ finatra: Enables cross-build for 2.13.1 for httpclient, http, and jackson. ``PHAB_ID=D574391`` ๐ Changed
๐ inject-utils: Deprecate all methods in
c.t.inject.conversions.map.RichMap
, and move functionality toc.t.conversions.MapOps
in the util/util-core project.PHAB_ID=D578819
๐ inject-utils: Deprecate all methods in
c.t.inject.conversions.tuple
, and move functionality toc.t.conversions.TupleOps
in the util/util-core project.PHAB_ID=D578804
๐ inject-utils: Deprecate all methods in
c.t.inject.conversions.seq
, and move functionality toc.t.conversions.SeqOps
in the util/util-core project.PHAB_ID=D578605
๐ inject-utils: Remove deprecated
camelify
,pascalify
, andsnakify
fromc.t.inject.conversions.string.RichString
. Additionally, deprecatetoOption
andgetOrElse
inc.t.inject.conversions.string.RichString
, and move functionality toc.t.conversions.StringOps
in the util/util-core project.PHAB_ID=D578549
c.t.finatra.http.exceptions.ExceptionMapperCollection changed from Traversable to Iterable for cross-building 2.12 and 2.13.
PHAB_ID=D574391
๐ inject-core: (BREAKING API CHANGE) Move the testing utility
InMemoryStatsReceiverUtility
andInMemoryStats
into inject-core from inject-server. They can both be found undercom.twitter.inject
.PHAB_ID=D574643
๐ validation: (BREAKING API CHANGE) Introduce new Validation Framework APIs which support cascading validation to nested case classes and other improvements which also closer align to JSR380.
Validator#validate
has changed from returningUnit
and throwing an exception to model the JSR380 version that returns a Set of failed constraints. There is a new method which replicates the throwing behavior.PHAB_ID=D559644
kafka: Split
c.t.f.kafka.tracingEnabled
flag intoc.t.f.k.producers.producerTracingEnabled
andc.t.f.k.consumers.consumerTracingEnabled
to selectively enable/disable tracing for producers/consumers. Producer tracing is turned on by default and consumer tracing is turned off by default now.PHAB_ID=D571064
๐ Fixed
* inject-server: Wire through HTTP method in AdminHttpClient so that POST requests can be made to HTTPAdmin endpoints. ``PHAB_ID=D584988``