0.20.1 (latest)

Elder Refuge

  • Changed Assertion.Builder<Iterable<*>>.contains to pass if the argument is an empty list/varargs.
  • Fixed an out of bounds exception in Assertion.Builder<Iterable<*>>.containsExactly

0.20.0

Pain Mother

Added strikt.gradle module with some support for testing Gradle's API.

0.19.7

Glorious Catacomb

  • Adds assertions and mappings for java.io.File and java.nio.file.Path
  • Adds assertions for Spring's ResponseEntity class.

0.19.6

Bitter Forest

Fixes issues with bom publication.

0.19.5

Victorious Scholar

Packages a BOM for aligning strikt versions.

0.19.4

Poison Spire

Suppresses internal stack frames from exceptions to make it easier to determine where the assertion was raised.

0.19.3

Iron Ocean

  • Adds assertions and mappings for Assertion.Builder<ClosedRange>.
  • Adds endsWith(Char) for Assertion.Builder<CharSequence>.

0.19.2

Bounteous Steel

  • Adds getValue assertion/mapping for Assertion.Builder<Map<*, *>>.

0.19.1

Mighty Rainbow

  • Adds overload of not that accepts a block.

0.19.0

Poison Hammer

  • Ensures that chains inside of blocks still fail fast.
  • Ensures get is runtime type safe. It's now a no-op when preceded by a failing type-narrowing assertion.

0.18.2

Venomous Twilight

Added atLeat, atMost and exactly assertions for iterables.

0.18.1

Ferocious Rose

Extends strikt-jackson module with further assertion and mapping functions:

  • hasNodeType(JsonNodeType)
  • isMissing()
  • textValue()
  • numberValue()
  • booleanValue()

0.18.0

Silken Grasshopper

Adds strikt-jackson module.

0.17.3

Unfettered Serpent

Adds isPresent and isAbsent assertions for java.util.Optional along with toNullable mapping function.

0.17.2

Battleworn Understanding

Fixes isSorted when used in a block.

0.17.1

Whispering Sword

Adds filter, filterNot and filterIsInstance functions for Assertion.Builder<Iterable<*>>

0.17.0

Forsaken Raven

Changes

  • Upgrades Strikt to depend on Kotlin 1.3.
  • expectThrows is un-deprecated.

New functionality

  • Expectations are now compatible with suspending lambdas.

Fixes

  • isBefore and isAfter in strikt-java-time now support ZonedDateTime.

0.16.3

Saffron Mammoth

New functionality

  • Assertion.Builder<Collection<*>.isSorted
  • isEqualTo now has special handling for arrays that compares content using contentEquals.

0.16.2

Anonymous Ifrit

  • Backed out truncation of values in failure messages.

0.16.1

Onyx Mammoth

  • Backed out truncation of values in failure messages.

0.16.0

Sadness Blossom

Breaking changes

  • Assertions for java.time types moved from strikt-core to new strikt-java-time module.

New functionality

  • Assertion.Builder<Map<*, *>>.isNotEmpty
  • Assertion.Builder<Array<*>>.toList
  • Assertion.Builder<CharSequence>.trim
  • Assertion.Builder<String>.trim

0.15.2

Alabaster Tyrant

  • Added is(Not)(NullOr)(Empty|Blank) assertions.

0.15.1

Wasteland Monkey

  • Changes get to use a receiver rather than a parameter.
  • Adds new first(predicate) and flatMap mapping extensions for iterable subjects.

0.15.0

Garden Daimyo

  • Deprecates chain in favor of new get method.

0.14.4

Void Maiden

  • Added Java 11 build & hopefully fixed site publishing

0.14.3

Hungry Boulder

  • Added isIn assertion.