Skip to content


Johan Haleby edited this page Aug 30, 2019 · 3 revisions

Release Notes 4.0.0

Released at: 2019-08-30


  • Awaitility now requires Java 8 or above. This means that a lot of code could be removed internally as well as allowing an updated set of dependencies.
  • The API has been updated to use java.time.Duration instead of org.awaitility.Duration (see backward incompatible changes for more info).
  • Better handling of InterruptedException using code from Guava (Uninterruptibles#sleepUninterruptibly) (issue 134)
  • Added support for Adder's. For example: await().untilAdder(myLongAdder, equalTo(5L))
  • Added support for Accumulators's. For example: await().untilAccumulator(myLongAccumulator, equalTo(5L))
  • Scala version is updated from 2.11.8 to 2.13.0
  • Upgraded Groovy from 2.4.11 to 2.5.7
  • Hamcrest is update from version 1.3 to 2.1
  • Removed the awaitility-proxy module since it's no longer required when using Java 8+

Backward incompatible changes

  • Removed org.awaitility.Duration, use java.time.Duration instead. Constants such as ONE_SECOND, TWO_HUNDRED_MILLISECONDS etc have been moved to org.awaitility.Durations.
  • Removed the org.awaitility.core.Predicate interface, use java.util.function.Predicate instead.
  • Removed the org.awaitility.core.BiFunction interface, use java.util.function.BiFunction instead.
  • Removed the org.awaitility.core.Supplier interface, use java.util.function.Supplier instead.
  • Replaced IllegalStateException with IllegalArgumentException when constructing erroneous ConditionSettings

Minor changes

Refer to the change log.