Skip to content

Releases: kotest/kotest

v5.8.1

11 Mar 04:15
23b0629
Compare
Choose a tag to compare

What's Changed

New Contributors

Read more

v5.8.0

03 Nov 16:50
01bd98f
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v5.7.2...v5.8.0

v5.7.2

17 Sep 15:02
a801069
Compare
Choose a tag to compare
Updated eventually for 5.7

v5.7.1

03 Sep 13:51
3d34c11
Compare
Choose a tag to compare
Fix timeout detection when withTimeout wraps a blocking job (#3675)

* Fix timeout detection when withTimeout wraps a blocking job

This is a workaround for kotlinx.coroutines/issues/3875.

Fixes #3672

* Add timeout tests

---------

Co-authored-by: Sam <sam@sksamuel.com>

v5.7.0

01 Sep 21:25
a0ce334
Compare
Choose a tag to compare
chore(deps): update plugin kotlinbinarycompatibilityvalidator to v0.1…

…3.2 (#3667)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Sam <sam@sksamuel.com>

v5.6.2

10 May 20:19
00e117b
Compare
Choose a tag to compare

5.6.2 May 2023

Assertions

  • Adding shouldHaveSameInstantAs matcher for OffsetDateTime. Fixes #3488 by @Kantis in #3501

Property testing

  • Fixes a problem with property testing on Apple platforms #3506
  • Reverts behaviour of Arb.string() to only generate Strings of printable ascii characters
    • 5.6.0 changed it to include some control characters, see #3513 for details
  • Fix huge allocation for OffsetDateTime Arb without arguments by @rescribet in #3491
  • Fix Arb.map edgecases by @myuwono in #3496

Documentation

Other

⚠️ Reverted behavior of Arb.string()

With Kotest 5.6.0, Codepoint.ascii() was changed to include a wider range of ascii chararacters, and Codepoint.printableAscii() was introduced with the historic range used by Codepoint.ascii().

Arb.string() has been using Codepoint.ascii() as it's default for generating chars for the string. This caused issues for some users, and we decided to revert Arb.string() to the historic behavior by changing the default to the new Codepoint.printableAscii().

Hopefully this doesn't cause any issues for you. If it does, you can revert to the 5.6.0 ~ 5.6.1 behavior by using Codepoint.ascii() explicitly.

If you added explicit usage of Codepoint.printableAscii() to circumvent the issue, you can safely remove the explicit parameter starting with Kotest 5.6.2.

New Contributors

Full Changelog: v5.6.1...v5.6.2

v5.6.1

18 Apr 15:56
98abe9b
Compare
Choose a tag to compare

Maintenance release, published since 5.6.0 failed to upload for some targets.

Breaking changes (from 5.5.5 -> 5.6.x)

  • Moved ConstantNow-related functions to a new module named io.kotest:kotest-extensions-now (remember to add -jvm suffix for Maven)
    • Add this module as a dependency to keep using withConstantNow
  • Remove Iterable checking logic from IterableEq (#3420)

See full changelog at https://kotest.io/docs/changelog.html

v5.6.0

17 Apr 02:12
a74efa1
Compare
Choose a tag to compare

Breaking changes

  • Moved ConstantNow-related functions to a new module named io.kotest:kotest-extensions-now (remember to add -jvm suffix for Maven)
    • Add this module as a dependency to keep using withConstantNow
  • Remove Iterable checking logic from IterableEq (#3420)

See full changelog at https://kotest.io/docs/changelog.html

v5.5.5

05 Feb 18:39
35b84cb
Compare
Choose a tag to compare
  • Support coroutineTestScope globally (#3383)
  • Improved double and float tolerance messages (#3355)
  • Nested Data Driven Tests is not displayed as nested in Intellij #3341
  • Fixed writing seeds when test name contains a colon on windows (#3304)
  • withClue() fails with EmptyStackException if a coroutine switches threads #2447
  • Use TestDispatcher inside beforeInvocation callbacks (#3363)
  • Make checkCoverage checking against provided pairs (#3344)
  • Kotest runner junit5 jvm has vulnerable transative dependency CVE-2021-29425 #3364
  • Fix sequence matchers for constrained sequences (#3336)
  • Print full path in JunitXmlReporter when useTestPathAsName is enabled instead of just leaf and first parent #3347
  • Support { } lambdas as lazy clues (#3348)
  • Use 'language injection' on assertions, so embedded languages are easier to use in IntelliJ #2916
  • Removing default location for htmlReporter and using the default value from the constructor (#3306)
  • Arb.bigDecimal should generate decimals which terminate with all kinds of terminal digit #3282
  • Check enums using equals method instead of scanning their properties (#3291)
  • Add BlockHound support (#3308)
  • Matchers return this. (#2945)
  • Added shouldMatchResource, shouldNotMatchResource matchers (#2945)
  • Added matchExactly matcher for Maps #3246
  • Fix dumping config when systemProperty set to true (#3275)
  • Returning the original failure when ErrorCollector has only collected a single failure (#3269)

v5.5.4

03 Nov 21:26
3f568e4
Compare
Choose a tag to compare

Fixes issue 3277.

gradle test --tests "A*" --tests "B*"

All tests from A* and B* were skipped instead of being ran.

This was a regression from 5.4.x, where this used to work. This was because kotest 5.5.3 were using the wrong combinators for combining the inclusion filters.

Contributors: