Skip to content

Releases: twitter/util

Util 18.6.0

15 Jun 03:40
Compare
Choose a tag to compare

API Changes

  • util-app: Allow users a way to override the argument parsing behavior in
    c.t.app.App#nonExitingMain which was inlined. Users can override parseArgs
    to define custom behavior. cf7860e5

  • util-core: Removed c.t.u.NonFatal, use scala.util.control.NonFatal
    instead. 57533b34

  • util-class-preloader: This library has been removed since it deprecated. We
    no longer recommend that people do this. af41e634

Bug Fixes

  • util-app: Fix issue where in some environments, URLClassLoader#getURLs can
    return null, failing LoadService from initializing properly
    (see: google/guava#2239). The URLClassLoader javadoc
    is not clear if a null can be returned when calling URLClassLoader#getURLs and for
    at least one application server, the default returned is null, thus we should be more
    resilient against this possibility. Fixes Finagle #695. 3adca94a

Deprecations

  • util-reflect: This library has been deprecated since it is legacy code and shouldn't
    be used for new services. We no longer think this facility is the right way to do it
    and encourage you to provide your own forwarders. af41e634

New Features

  • util-app: added #suppressGracefulShutdownErrors method to optionally suppress exceptions
    during graceful shutdown from bubbling up. ab261b26

Util 18.5.0

08 May 21:20
Compare
Choose a tag to compare

Bug Fixes

  • util-core: c.t.concurrent.AsyncSemaphore no longer completes promises while holding
    its intrinsic lock. b3b66cf8

  • util-logging: Fix incorrect loggerName in c.t.logging.ScribeHandler which
    prevented the short-circuiting of publishing messages emitted from the ScribeHandler.
    5a8520a5

  • util-hashing: Add murmur3, a fast, non-cryptographic hashing function that
    is missing from hashing.
    67ffeb92

Util 18.4.0

10 Apr 23:23
Compare
Choose a tag to compare

New Features:

  • util-app: Add the ability to bind specific implementations for LoadService.apply
    via App.loadServiceBindings. 74058678

  • util-core: Introduce the ClosableOnce trait which extends the guarantees of
    Closable to include idempotency of the close method. ccd1c697

Runtime Behavior Changes:

  • util-app: Add visibility for NonFatal exceptions during exiting of c.t.app.App.
    Added visibility into any NonFatal exceptions which occur during the closing of
    resources during App#close. b152745e

  • util-core: Ensure the Awaitable.CloseAwaitably0.closeAwaitably Future returns.
    Because the closed AtomicBoolean is flipped, we want to make sure that executing
    the passed in f function satisfies the onClose Promise even the cases of thrown
    exceptions. 0c793f97

  • util-stats: Alphabetically sort stats printed to the given PrintStream in the
    c.t.finagle.stats.InMemoryStatsReceiver#print(PrintStream) function.

    To include stats headers which provide better visual separation for the different
    types of stats being printedm, set includeHeaders to true. E.g.,

    InMemoryStatsReceiver#print(PrintStream, includeHeaders = true)
    

    a60a311c

Util 18.3.0

06 Mar 22:55
Compare
Choose a tag to compare

Runtime Behavior Changes:

  • util-app: Ensure that any flag parsing error reason is written to System.err
    before attempting to print flag usage. In the event that collecting flags for
    the printing the usage message fails, users will still receive a useful message
    as to why flag parsing failed. 31efdaf0

  • util-core: Promises/Futures now use LIFO execution order for their callbacks
    (was depth-based algorithm before). bf47b55f

  • util-core: Wrap the function passed to Closable.make in a try/catch and return
    a Future.exception over any NonFatal exception. 63d1caf3

Deprecations:

  • util-core: RichU64* APIs are deprecated. Use Java 8 Unsigned Long API instead:
    0e27f594

    • new RichU64String("123").toU64Long -> Long.parseUnsignedInt
    • new RichU64Long(123L).toU64HexString -> Long.toHexString (no leading zeros)

Util 18.2.0

06 Feb 03:48
Compare
Choose a tag to compare

New Features:

  • util-core: Added implicit conversion for percentage specified as "x.percent"
    to a fractional Double in c.t.conversions.percent. e573d263

  • util-tunable: Add deserializer for c.t.u.StorageUnit to JsonTunableMapper
    d320545a

Runtime Behavior Changes:

  • util-app: When c.t.a.App.exitOnError is called, it now gives close
    an opportunity to clean up resources before exiting with an error.
    aa32eb16

Util 18.1.0

18 Jan 01:11
Compare
Choose a tag to compare

New Features:

  • util-security: Added c.t.util.security.X509CrlFile for reading
    Certificate Revocation List PEM formatted X509CRL files.
    PHAB_ID=D127700

Util 17.12.0

11 Dec 19:48
Compare
Choose a tag to compare

API Changes:

  • util-collection: c.t.util.SetMaker has been removed.
    Direct usage of Guava is recommended if needed. b8bd0d4f

Util 17.11.0

17 Nov 17:02
Compare
Choose a tag to compare

New Features:

  • util-security: Added c.t.util.security.PrivateKeyFile for reading PKCS#8
    PEM formatted PrivateKey files. 23f4a6a0

Util 17.10.0

27 Oct 22:15
Compare
Choose a tag to compare

Release Version Changes:

  • From now on, release versions will be based on release date in the format of
    YY.MM.x where x is a patch number. PHAB_ID=D101244

API Changes:

  • util-app: c.t.app.Flag.let and letClear are now generic in their return type.
    PHAB_ID=D93951

Bug Fixes:

  • util-core: Fix Buf.ByteArray.Shared.apply(bytes,begin,end) constructor function.
    PHAB_ID=D100648

Util 7.1.0

06 Sep 21:53
Compare
Choose a tag to compare

API Changes:

  • util-events: Module has been removed. PHAB_ID=D82346

  • util-lint: Add GlobalRules#withRules for testing. Allow for the ability to
    specify a global rules set for use in testing. PHAB_ID=D83506