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 the Closables should any of their closes result in a failed Future and will return the first failure. Synchronous exceptions are now handled by lifting them into failed Futures. 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`