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

Changelog History
Page 6

  • v18.5.0 Changes

    ๐Ÿ› Bug Fixes

    
    * util-core: `c.t.concurrent.AsyncSemaphore` no longer completes promises while holding
      its intrinsic lock. ``PHAB_ID=D167434``
    
    * ๐ŸŒฒ util-logging: Fix incorrect `loggerName` in `c.t.logging.ScribeHandler` which
      prevented the short-circuiting of publishing messages emitted from the ScribeHandler.
      ``PHAB_ID=D161552``
    
    * util-hashing: Add murmur3, a fast, non-cryptographic hashing function that
      is missing from hashing.
      ``PHAB_ID=D164915``
    
  • v18.4.0 Changes

    ๐Ÿ†• New Features

    
    * util-app: Add the ability to bind specific implementations for `LoadService.apply`
      via `App.loadServiceBindings`. ``PHAB_ID=D146554``
    
    * util-core: Introduce the `ClosableOnce` trait which extends the guarantees of
      `Closable` to include idempotency of the `close` method. ``PHAB_ID=D152000``
    
    โš™ 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. PHAB_ID=D146029

    • 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. PHAB_ID=D146565

    • ๐Ÿ–จ 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)
    

    PHAB_ID=D144091

  • v18.3.0 Changes

    โš™ 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. ``PHAB_ID=D137629``
    
    * util-core: Promises/Futures now use LIFO execution order for their callbacks
      (was depth-based algorithm before).  ``PHAB_ID=D135407``
    
    * util-core: Wrap the function passed to `Closable.make` in a try/catch and return
      a `Future.exception` over any NonFatal exception. ``PHAB_ID=D142086``
    
    ๐Ÿ—„ Deprecations
    ~~~~~~~~~~~~
    
    * ๐Ÿ—„ util-core: RichU64* APIs are deprecated. Use Java 8 Unsigned Long API instead:
      ``PHAB_ID=D137893``
    
      - `new RichU64String("123").toU64Long` -> `Long.parseUnsignedInt`
      - `new RichU64Long(123L).toU64HexString` -> `Long.toHexString` (no leading zeros)
    
  • v18.2.0 Changes

    ๐Ÿ†• New Features

    
    * util-core: Added implicit conversion for percentage specified as "x.percent"
      to a fractional Double in `c.t.conversions.percent`. ``PHAB_ID=D128792``
    
    * util-tunable: Add deserializer for `c.t.u.StorageUnit` to JsonTunableMapper
      ``PHAB_ID=D132368``
    
    โš™ 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. PHAB_ID=D129437
  • v18.1.0 Changes

    ๐Ÿ†• New Features

    
    * ๐Ÿ”’ util-security: Added `c.t.util.security.X509CrlFile` for reading
      Certificate Revocation List PEM formatted `X509CRL` files.
      ``PHAB_ID=D127700``
    
  • v17.12.0 Changes

    ๐Ÿ’ฅ Breaking API Changes

    
    * ๐Ÿšš util-collection: `c.t.util.SetMaker` has been removed.
      Direct usage of Guava is recommended if needed. ``PHAB_ID=D116852``
    
  • v17.11.0 Changes

    Dependencies

    
    * ๐Ÿšš Guava has been removed as dependency from all modules except the
      'util-cache-guava' module. ``PHAB_ID=D117039``
    
    ๐Ÿ†• New Features
    
    • ๐Ÿ”’ util-security: Added c.t.util.security.PrivateKeyFile for reading PKCS#8 PEM formatted PrivateKey files. PHAB_ID=D105266

    ๐Ÿ› Bug Fixes

    
    * ๐Ÿ›  util-core: `c.t.io.BufByteWriter.fixed(size).owned()` will only represent bytes
      explicitly written instead of the full size of the backing array, `size`.
      ``PHAB_ID=D112938``
    
    ๐Ÿ’ฅ Breaking API Changes
    
    • util-cache: The Guava dependency and its associated implementations have been moved to a new module, 'util-cache-guava'. PHAB_ID=D117039

    • util-cache: c.t.cache.EvictingCache.lazily now takes a FutureCache instead of an implementation specific cache. PHAB_ID=D117039

  • v17.10.0 Changes

    ๐Ÿš€ 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``
    
    ๐Ÿ†• New Features
    ~~~~~~~~~~~~
    
    * util-intellij: Create util-intellij project and publish IntelliJ capture
      points plugin for debugging asynchronous stack traces of code using Twitter
      Futures in Scala 2.11.11. ``PHAB_ID=D96782``
    
    ๐Ÿ’ฅ Breaking 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``
    
    โš™ Runtime Behavior Changes
    
    • util-core: c.t.io.Buf.ByteArray.[Owned.Shared](Array[Byte], begin, end) now validates its input arguments. PHAB_ID=D100648

    • ๐Ÿšš util-jvm: The jvm/mem/postGC/{poolName}/max metric has been removed because it is the same as the jvm/mem/current/{poolName}/max metric. PHAB_ID=D95291

    • ๐Ÿ”’ util-security: Assert validity of X.509 certificates when read from a file. Attempting to read a c.t.util.security.X509CeritificateFile will now assert that the certificate is valid, i.e., if the current date and time are within the validity period given in the certificate. PHAB_ID=D88745

  • v7.1.0 Changes

    September 06, 2017

    ๐Ÿ’ฅ Breaking 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``
    
  • v7.0.0 Changes

    August 15, 2017

    ๐Ÿ†• 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`