All Versions
161
Latest Version
Avg Release Cycle
24 days
Latest Release
-

Changelog History
Page 3

  • v20.7.0 Changes

    July 22, 2020

    ๐Ÿ†• New Features

    • util-app: Add ability to observe App lifecycle events. 2d2e6803
  • v20.6.0 Changes

    June 24, 2020

    ๐Ÿ†• New Features

    • util-stats: Add two new Java-friendly methods to StatsReceiver (addGauge and provideGauge)
      ๐Ÿ‘ that take java.util.function.Supplier as well as list vararg argument last to enable better
      developers' experience. 77c76e41
    • util-app: Add a Flaggable instance for java.time.LocalTime. 19f13a07
    • ๐Ÿ“œ util-app: Add two new methods to retrieve flag's unparsed value (as string): Flag.getUnparsed
      0๏ธโƒฃ and Flag.getWithDefaultUnparsed. 4ef3c9b9
  • v20.5.0 Changes

    May 29, 2020

    ๐Ÿ†• New Features

    • ๐Ÿ”’ util-security: Moved Credentials from util-core: c.t.util.Credentials => c.t.util.security.Credentials. c34cd8ef

    ๐Ÿ’ฅ Breaking API Changes

    ๐Ÿ”’ util-core: Move Credentials to util-security: c.t.util.Credentials => c.t.util.security.Credentials. c34cd8ef

    util-core: Change the namespace of ActivitySource and its derivatives to com.twitter.io as its no longer considered experimental since the code has changed minimally in the past 5 years. 3e939701

  • v20.4.1 Changes

    April 26, 2020

    ๐Ÿ†• New Features

    * ๐Ÿ‘• util-tunable: ConfigurationLinter accepts a relative path. ``PHAB_ID=D468528``
    
    โš™ Runtime Behavior Changes
    
    • util: Bump jackson version to 2.11.0. PHAB_ID=D457496
  • v20.4.0 Changes

    April 02, 2020

    ๐Ÿ†• New Features

    * util-core: When looking to add idempotent close behavior, users should mix in `CloseOnce` to
      classes which already extend (or implement) `Closable`, as mixing in `ClosableOnce` leads to
      compiler errors. `ClosableOnce.of` can still be used to create a `ClosableOnce` proxy of an
      already instantiated `Closable`. Classes which do not extend `Closable` can still
      mix in `ClosableOnce`. ``PHAB_ID=D455819``
    
    ๐Ÿ’ฅ Breaking API Changes
    
    • util-hashing: Rename c.t.hashing.KetamaNode => HashNode, c.t.hashing.KetamaDistributor => ConsistentHashingDistributor. PHAB_ID=D449929

    โš™ Runtime Behavior Changes

    
    * util-stats: Provide CachedRegex, a function that filters a
      Map[String, Number] => Map[String, Number] and caches which keys to filter on
      based on a regex.  Useful for filtering down metrics in the style that Finagle
      typically recommends ``PHAB_ID=D459391``.
    
  • v20.3.0 Changes

    March 08, 2020

    ๐Ÿ’ฅ Breaking API Changes

    util-core: The system property com.twitter.util.UseLocalInInterruptible no longer
    can be used to modulate which Local state is present when a Promise is interrupted.
    da638942

    ๐Ÿšš util-core: Future.unapply has been removed. Use Future.poll to retrieve Future's
    state. 26beb347

    โš™ Runtime Behavior Changes

    • util-core: Promises now exclusively use the state local to setting the interrupt
      ๐Ÿ– handler when raising on a Promise. da638942

    ๐Ÿ†• New Features

    ๐Ÿ‘ util-app: Add c.t.util.app.App#onExitLast to be able to provide better Java
    ergonomics for designating a final exit function. d523c0c5

    util-core: Add c.t.io.Reader.concat to conveniently concatenate a collection
    of Reader to a single Reader. 68b28ac1

    ๐Ÿ› Bug Fixes

    • ๐ŸŒฒ util-logging: Add a missing _* that could result in exceptions when using the
      Logger.apply(Level, Throwable, String, Any*) signature. c875d359
  • v20.2.1 Changes

    February 26, 2020

    ๐Ÿ†• New Features

    
    * ๐Ÿ‘ util-app: Add `c.t.util.app.App#onExitLast` to be able to provide better Java
      ergonomics for designating a final exit function. ``PHAB_ID=D433874``
    
    * util-core: Add `c.t.io.Reader.concat` to conveniently concatenate a collection
      of Reader to a single Reader. ``PHAB_ID=D434448``
    
    ๐Ÿ’ฅ Breaking API Changes
    
    • ๐Ÿšš util-core: Future.unapply has been removed. Use Future.poll to retrieve Future's state. PHAB_ID=D427429

    ๐Ÿ› Bug Fixes

    
    * ๐ŸŒฒ util-logging: Add a missing `_*` that could result in exceptions when using the
      `Logger.apply(Level, Throwable, String, Any*)` signature. ``PHAB_ID=D430122``
    
  • v20.1.0 Changes

    January 29, 2020

    No Changes

  • v19.12.0 Changes

    ๐Ÿ†• New Features

    
    * util-stats: Introduces `c.t.f.stats.LazyStatsReceiver` which ensures that counters and histograms
      don't export metrics until after they have been `incr`ed or `add`ed at least once. ``PHAB_ID=D398898``
    
    * util-core: Introduce `Time#nowNanoPrecision` to produce nanosecond resolution timestamps in JDK9
      or later. ``PHAB_ID=D400661``
    
    * util-core: Introduce `Future#toCompletableFuture`, which derives a `CompletableFuture` from
      a `com.twitter.util.Future` to make integrating with Java APIs simpler. ``PHAB_ID=D408656``
    
    โš™ Runtime Behavior Changes
    
    • โฌ†๏ธ util: Upgrade to jackson 2.9.10 and jackson-databind 2.9.10.1 PHAB_ID=D410846

    ๐Ÿ’ฅ Breaking API Changes

    
    * ๐Ÿšš util-core: The lightly used `com.twitter.util.JavaSingleton` trait has been removed. It
      did not work as intended. Users should provide Java friendly objects, classes, and methods
      instead. ``PHAB_ID=D399947``
    
    ๐Ÿ—„ Deprecations
    ~~~~~~~~~~~~
    
    * โœ… util-test: The `c.t.logging.TestLogging` mixin has been deprecated. Users are encouraged to
      move to slf4j for logging and minimize dependencies on `com.twitter.logging` in general, as
      it is intended to be replaced entirely by slf4j. ``PHAB_ID=D403574``
    
    ๐Ÿ› Bug Fixes
    ~~~~~~~~~
    
    * ๐Ÿ‘ป util-core: `Future#toJavaFuture` incorrectly threw the exception responsible for failing it,
      instead of a `j.u.c.ExecutionException` wrapping the exception responsible for failing it.
      ``PHAB_ID=D408656``
    
  • v19.11.0 Changes

    November 06, 2019

    ๐Ÿ†• New Features

    
    * ๐Ÿ‘ util: Add initial support for JDK 11 compatibility. ``PHAB_ID=D365075``
    
    * util-core: Created public method Closable.stopCollectClosablesThread that stops CollectClosables
    thread. ``PHAB_ID=D382800``
    
    * util-core: Introduced `Reader.fromIterator` to create a Reader from an iterator. It is not
    recommended to call `iterator.next()` after creating a `Reader` from it. Doing so will affect the
    behavior of `Reader.read()` because it will skip the value returned from `iterator.next`.
    ``PHAB_ID=D391769``
    
    โš™ Runtime Behavior Changes
    
    • โฌ†๏ธ util: Upgrade to caffeine 2.8.0 PHAB_ID=D384592

    • util-jvm: Stop double-exporting postGC stats under both jvm and jvm/mem. These are now only exported under jvm/mem/postGC. PHAB_ID=D392230

    ๐Ÿ’ฅ Breaking API Changes

    
    * util-stats: abstract methods of StatsReceiver now take Schemas. The old APIs
      are now final and cannot be overriden. For custom implementations, define
      schema based methods (eg, counter(verbosity, name) is now
      counter(CounterSchema)). NB: users can continue to call the old interface;
      only implementors must migrate.``PHAB_ID=D385068``
    
    * ๐Ÿšš util-core: Removed `c.t.io.Pipe.copyMany` (was `Reader.copyMany`). Use `AsyncStream.foreachF`
      link to `Pipe.copy` for substitution. ``PHAB_ID=D396590``
    
    * util-core: Add `c.t.io.BufReader.readAll` to consume a `Reader[Buf]` and concat values to a Buf.
      Replace `c.t.io.Reader.readAll` with `Reader.readAllItems`, the new API consumes a generic Reader[T],
      and return a Seq of items. ``PHAB_ID=D391346``
    
    * ๐Ÿšš util-core: Moved `c.t.io.Reader.chunked` to `c.t.io.BufReader.chunked`, and `Reader.framed` to
      `BufReader.framed`. ``PHAB_ID=D392198``
    
    * ๐Ÿšš util-core: Moved `c.t.io.Reader.copy` to `c.t.io.Pipe.copy`, and `Reader.copyMany` to
      `Pipe.copyMany`. ``PHAB_ID=D393650``
    
    ๐Ÿ—„ Deprecations
    ~~~~~~~~~~~~
    
    * util-core: Mark `c.t.io.BufReaders`, `c.t.io.Bufs`, `c.t.io.Readers`, and `c.t.io.Writers` as
      Deprecated. These classes will no longer be needed, and will be removed, after 2.11 support is
      dropped. ``PHAB_ID=D393913``
    
    * ๐Ÿšš util-stats: Removed deprecated methods `stat0` and `counter0` from `StatsReceiver`. ``PHAB_ID=D393063``