Twitter Util v7.0.0 Release Notes
Release Date: 2017-08-15 // over 6 years ago-
๐ New Features
* util-core: Added `c.t.util.SlowProbeProxyTimer` for monitoring the duration of execution for timer tasks. ``PHAB_ID=D70279`` * util-core: Introduced RootMonitor#set to set custom Monitor to RootMonitor. ``PHAB_ID=D70876`` * ๐ util-jvm: `JvmStats` has been moved here from TwitterServer allowing broader access to many metrics including GC, allocations, memory, and more. ``PHAB_ID=D80883`` * ๐ util-stats: Introducing Verbosity Levels for StatsReceivers (see docs on `StatsReceiver` for more info). ``PHAB_ID=D70112`` * util-tunable: `c.t.u.tunable.Tunable`, `c.t.u.tunable.TunableMap`, `c.t.u.tunable.JsonTunableMapper`, and `c.t.u.tunable.ServiceLoadedTunableMap` are now public. This allows users to create and use Tunables, a mechanism for accessing dynamically configured values. See https://twitter.github.io/finagle/guide/Configuration.html#tunables for details on how these can be used in Finagle. ``PHAB_ID=D80751``. ๐ Bug Fixes ~~~~~~~~~ * util-core: Fix some consistency issues with `c.t.util.ByteReaderImpl`. Advance its cursor by the number of bytes consumed via `readBytes(Int)`, not the number specified as a method argument. `readString` will now throw an UnderflowException if the number of bytes specified exceeds the remaining buffer length instead of silently making due with the rest of the buffer's contents. ``PHAB_ID=D78301`` โ Runtime Behavior Changes
util-core:
c.t.util.Closable.sequence
now continues processing theClosables
should any of their closes result in a failedFuture
and will return the first failure. Synchronous exceptions are now handled by lifting them into failedFutures
.PHAB_ID=D62418
0๏ธโฃ util-events:
com.twitter.util.events.sinkEnabled
now defaults to false in preparation for removal in an upcoming release.PHAB_ID=D64437
๐ฅ Breaking API Changes
* util-core: ByteWriter has been transformed into a true trait which can now be implemented outside of the com.twitter.io package. ``PHAB_ID=D59996`` * ๐ util-core: The method ByteWriter.owned() has been moved to a sub trait, BufByteWriter, to separate the notion of the target buffer representation from the writer methods in order to make it easier to target different buffer representations. ``PHAB_ID=D61215`` * util-stats: ``PHAB_ID=D59762`` - `ProxyStatsReceiver.self` is now protected (was public before). - `StatsReceiver.repr` is now `def` (was `val` before). * util-stats: `Counter#add` now takes a `Long` instead of an `Integer` as an argument. ``PHAB_ID=D69064`` * util-stats: `StatsReceiver#counter`, `StatsReceiver#stat`, and `StatsReceiver.addGauge` now may optionally take `c.t.f.stats.Verbosity` as a first argument. ``PHAB_ID=D70112`` ๐ Deprecations ~~~~~~~~~~~~ * ๐ util-events: This module is deprecated and will be removed in an upcoming release. ``PHAB_ID=D64437`` * util-stats: ``PHAB_ID=D62611`` - `StatsReceiver.counter0` is deprecated in favour of vararg `StatsReceiver.counter` - `StatsReceiver.stat0` is deprecated in favour of vararg `StatsReceiver.stat`