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
. Usescala.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
; useexception
insteadcancel
; useraise
instead
Removed deprecated
c.t.u.Futures.select
; useFuture.select
instead. Remove deprecatedflatten
method onc.t.u.Future
; useFutures.flatten
instead.RB_ID=915500
🚚 util-core: Removed deprecated
c.t.u.LongOverflowException
. Usejava.lang.ArithmeticException
instead. Removed deprecatedc.t.u.LongOverflowArith
and all methods on it:add
; use Java 8'sMath.addExact
insteadsub
; use Java 8'sMath.subtractExact
insteadmul
; use Java 8'sMath.multiplyExact
insteadRB_ID=915545
🚚 util-core: Removed deprecated
c.t.concurrent.exp.AsyncStream
. Usec.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``