Twitter Util v6.45.0 Release Notes

Release Date: 2017-06-06 // almost 7 years ago
  • 🆕 New Features

    
    * util-app: Optional resource shutdown sequencing for registered closables
      via `c.t.app.App#closeOnExitLast`. See longer note there for usage.
      ``RB_ID=916120``
    
    * util-core: Added `writeBytes(Buf)` to the ByteWriter abstract class to allow
      for efficient writing of the `c.t.io.Buf` type. ``RB_ID=917094``
    
    * ✅ util-core: Added `writeString(CharSequence, Charset)` and readString(Int, Charset)`
      to ByteWriter and ByteReader respectively to facilitate for more efficient String
      encoding and decoding. ``PHAB_ID=D63987``
    
    * util-core: Added `ByteReader.readUnsignedLongBE` and `ByteReader.readUnsignedLongLE`.
      ``RB_ID=917289``
    
    💥 Breaking API Changes
    
    • 🚚 util-collection: Removed deprecated c.t.u.JMapWrapper. Use scala.collection.JavaConverters instead. RB_ID=915544

    • util-core: ByteReader extends the AutoClosable interface to provide a notion of resource management. Users should ensure that instances of the ByteReader interface are closed after they are no longer needed. RB_ID=916086

    • 🚚 util-core: Removed deprecated methods from c.t.u.Future:

      • rawException; use exception instead
      • cancel; use raise instead

    Removed deprecated c.t.u.Futures.select; use Future.select instead. Remove deprecated flatten method on c.t.u.Future; use Futures.flatten instead. RB_ID=915500

    • 🚚 util-core: Removed deprecated c.t.u.LongOverflowException. Use java.lang.ArithmeticException instead. Removed deprecated c.t.u.LongOverflowArith and all methods on it:

      • add; use Java 8's Math.addExact instead
      • sub; use Java 8's Math.subtractExact instead
      • mul; use Java 8's Math.multiplyExact instead RB_ID=915545
    • 🚚 util-core: Removed deprecated c.t.concurrent.exp.AsyncStream. Use c.t.concurrent.AsyncStream instead. RB_ID=916422

    • 🚚 util-eval: Removed from the project. RB_ID=915430 https://finagle.github.io/blog/2017/04/06/announce-removals/

    ⚙ Runtime Behavior Changes

    
    * util-core: All `Timers` now handle negative or undefined times/durations in uniform way:
      treat them as zeros (i.e., `Time.epoch`, `Duration.Zero`). ``RB_ID=916008``