Twitter Util v19.12.0 Release Notes

  • ๐Ÿ†• New Features

    
    * util-stats: Introduces `c.t.f.stats.LazyStatsReceiver` which ensures that counters and histograms
      don't export metrics until after they have been `incr`ed or `add`ed at least once. ``PHAB_ID=D398898``
    
    * util-core: Introduce `Time#nowNanoPrecision` to produce nanosecond resolution timestamps in JDK9
      or later. ``PHAB_ID=D400661``
    
    * util-core: Introduce `Future#toCompletableFuture`, which derives a `CompletableFuture` from
      a `com.twitter.util.Future` to make integrating with Java APIs simpler. ``PHAB_ID=D408656``
    
    โš™ Runtime Behavior Changes
    
    • โฌ†๏ธ util: Upgrade to jackson 2.9.10 and jackson-databind 2.9.10.1 PHAB_ID=D410846

    ๐Ÿ’ฅ Breaking API Changes

    
    * ๐Ÿšš util-core: The lightly used `com.twitter.util.JavaSingleton` trait has been removed. It
      did not work as intended. Users should provide Java friendly objects, classes, and methods
      instead. ``PHAB_ID=D399947``
    
    ๐Ÿ—„ Deprecations
    ~~~~~~~~~~~~
    
    * โœ… util-test: The `c.t.logging.TestLogging` mixin has been deprecated. Users are encouraged to
      move to slf4j for logging and minimize dependencies on `com.twitter.logging` in general, as
      it is intended to be replaced entirely by slf4j. ``PHAB_ID=D403574``
    
    ๐Ÿ› Bug Fixes
    ~~~~~~~~~
    
    * ๐Ÿ‘ป util-core: `Future#toJavaFuture` incorrectly threw the exception responsible for failing it,
      instead of a `j.u.c.ExecutionException` wrapping the exception responsible for failing it.
      ``PHAB_ID=D408656``