Twitter Util v21.8.0 Release Notes

  • ๐Ÿ†• New Features

    
    * util-stats: add getAllExpressionsWithLabel utility to InMemoryStatsReceiver.
    ``PHAB_ID=D722942``
    
    * util-app: Experimentally crossbuilds with Scala 3. ``PHAB_ID=D714780``
    
    * util-app-lifecycle: Experimentally crossbuilds with Scala 3. ``PHAB_ID=D716444``
    
    * util-codec: Experimentally crossbuilds with Scala 3. ``PHAB_ID=D715114``
    
    * util-hashing: Experimentally crossbuilds with Scala 3. ``PHAB_ID=D718914``
    
    * ๐Ÿ‘• util-lint: Experimentally crossbuilds with Scala 3. ``PHAB_ID=D698954``
    
    * util-registry: Experimentally crossbuilds with Scala 3. ``PHAB_ID=D716019``
    
    * util-thrift: Experimentally crossbuilds with Scala 3. ``PHAB_ID=D715129``
    
    * util-app: Introduce a new `Command` class which provides a `Reader` interface to the output
      of a shell command. ``PHAB_ID=D686134``
    
    * util-core: Experimentally crossbuilds with Scala 3. ``PHAB_ID=D694775``
    
    ๐Ÿ’ฅ Breaking API Changes
    
    • util-app: Flags and GlobalFlag now use ClassTag instead of Manifest. PHAB_ID=D714780

    • util-thrift: ThriftCodec now uses ClassTag instead of Manifest. In scala3 Manifest is intended for use by the compiler and should not be used in client code. PHAB_ID=D715129

    • ๐Ÿšš util-core (BREAKING): Remove AbstractSpool. Java users should use Spools static class or the Spool companion object to create instances of Spool. PHAB_ID=D694775

    โš™ Runtime Behavior Changes

    
    * โšก๏ธ util: Update ScalaCheck to version 1.15.4 ``PHAB_ID=D691691``
    
    * util-jackson: `JsonDiff#toSortedString` now includes null-type nodes, so that
      `JsonDiff.Result#toString` shows differences in objects due to such nodes. ``PHAB_ID=D707033``