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
- util-stats: Add two new Java-friendly methods to StatsReceiver (addGauge and provideGauge)
-
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
- util: Bump jackson version to 2.11.0.
-
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``.
- util-hashing: Rename
-
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. UseFuture.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. d523c0c5util-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
- util-core: Promises now exclusively use the state local to setting the interrupt
-
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. UseFuture.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``
- ๐ util-core:
-
v20.1.0 Changes
January 29, 2020No 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``
- โฌ๏ธ util: Upgrade to jackson 2.9.10 and jackson-databind 2.9.10.1
-
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 bothjvm
andjvm/mem
. These are now only exported underjvm/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``