Skip to content

Releases: kotest/kotest

v6.0.0.M1

01 Oct 01:04
09d013c
Compare
Choose a tag to compare

What's Changed

  • Build Config update & enable Configuration Cache by @aSemy in #4062
  • Report config-cache errors as warnings by @aSemy in #4068
  • remove @ExperimentalCoroutinesApi opt-in from no-longer-experimental code by @aSemy in #4070
  • Update propagated coroutine annotations by @aSemy in #4071
  • Refactor KMP POM rewriting by @aSemy in #4072
  • update actions/upload-artifact to v4 by @aSemy in #4083
  • remove @OptIn(ExperimentalStdlibApi::class) from startWith() by @aSemy in #4082
  • Apply publishing conventions to kotest-bom by @aSemy in #4073
  • Tidy Range matchers by @aSemy in #4081
  • Tidy kotest-common logger by @aSemy in #4080
  • Update plugins used to build Kotest Gradle Plugin by @aSemy in #4079
  • Disable coroutineTestScope for WasmJs by @osipxd in #4078
  • Bump Kotlin to 1.9.24 by @aSemy in #4086
  • Suppressing usage of deprecated Kotest functionality by @Kantis in #4087
  • add Kotest icon to IDEA config by @aSemy in #4088
  • Update GitHub release workflows by @aSemy in #4076
  • Remove the non-existent parameter includeEmpty in KDoc of Arb.Companion.map() by @acanda in #4090
  • Remove @ExperimentalStdlibApi annotation from testCoroutineScheduler by @osipxd in #4075
  • multiplatform-plugin-gradle: Fix Gradle invocation on Windows by @OliverO2 in #4096
  • Suppressing more internal deprecations by @Kantis in #4093
  • Make TestCaseSourceRefTest more stable by @aSemy in #4097
  • Workflow: update build reports upload by @aSemy in #4098
  • Open up java.base/java.lang to use withEnvironment() with JDK17+ by @OliverO2 in #4100
  • Suppress opt-in warnings for experimental KGP features by @aSemy in #4099
  • Refactor retry, and retry tests by @aSemy in #4101
  • Add @Deprecated to overrides of Print#print by @aSemy in #4104
  • Test discovery: Make classpath scanning fallback configurable by @OliverO2 in #4017
  • Fix testing on GitHub Windows runners by @OliverO2 in #4102
  • Use centralized repositories for build by @aSemy in #4110
  • Remove TimeMarkCompat / MonotonicTimeSourceCompat / timeInMillis by @aSemy in #4105
  • note on Gradle Settings by @bliessens in #4095
  • Use test TimeSource in continually tests by @aSemy in #4109
  • Fix kotest-framework-multiplatform-plugin-gradle build by @OliverO2 in #4117
  • use measureTimedValue {} to measure operation durations in Discovery by @aSemy in #4122
  • CI: Harmonize master and PR tests by @OliverO2 in #4121
  • remove unnecessary inline by @aSemy in #4106
  • suppress deprecation warnings in InspectingTest by @aSemy in #4126
  • Fix warnings in kotest-assertions-shared by @aSemy in #4127
  • suppress deprecation warnings for deprecated io.kotest.assertions.until.* utils by @aSemy in #4125
  • Document kotest.framework.discovery.jar.scan.disable by @sschuberth in #4129
  • Stabilize tests on slow runners by @OliverO2 in #4132
  • Configure JVM test tasks with same args as main build by @OliverO2 in #4119
  • Stabilize GlobalTimeoutTest and EngineTimeoutTest by @aSemy in #4124
  • Enable concurrency cancellation in PR test GitHub Action by @aSemy in #4139
  • Use test TimeSource in eventually tests by @aSemy in #4114
  • Json path array match take3 (#74) by @AlexCue987 in #4118
  • Fix flaky tests ContinuallySpec, EventuallySpec by @OliverO2 in #4142
  • CI: run Gradle check on all OSes in parallel by @aSemy in #4143
  • Making helper classes internal instead, so we don't accidentally miss… by @Kantis in #4140
  • CI: Enable Configuration Cache re-use by @aSemy in #4146
  • shouldContainJsonKey-partial-match by @AlexCue987 in #4158
  • Opt in for K/N workers in test by @aSemy in #4128
  • Publish Kotest KMP Gradle Plugin to Maven Central by @aSemy in #4136
  • Fix typo in documentation by @G-Basak in #4168
  • Suppress deprecated usage of StableIdentifiers by @aSemy in #4169
  • Enable remote Gradle Build Cache by @aSemy in #4141
  • Add missing annotation to actual declarations by @aSemy in #4165
  • suppress deprecation warnings in MatchTest by @aSemy in #4134
  • Deprecate implementations of deprecated SpecExtension.intercept() by @aSemy in #4166
  • Use available virtual time automatically, harmonize time measurement by @OliverO2 in #4149
  • Opt in for expect-actual classes by @aSemy in #4164
  • commonize shouldCompleteWithin/shouldCompleteBetween/shouldTimeout by @aSemy in #4115
  • test_factories.md: include is only supported at the top level of a spec by @jlous in #4150
  • Update plugin com.gradle.develocity to v3.17.5 by @renovate in #4156
  • Rename 'Test' to 'MultiConfigTest' by @aSemy in #4180
  • Add seed to arb test, to avoid flakiness on CI by @aSemy in #4167
  • Optimize Kotest framework discovery in Kotest's own tests by @aSemy in #4148
  • Optimise parallel test launching test by @aSemy in #4182
  • Fix Kotest Gradle Plugin publishing by @aSemy in #4184
  • fix-verifier-in-containsExactlyInAnyOrder-take2 (#80) by @AlexCue987 in #4160
  • add-similarity-to-contain (#53) by @AlexCue987 in #3939
  • Tidy building 'Property test failed for inputs' message by @aSemy in #4185
  • Adapt assertion extensions for Collections and Iterables to use bounded types by @hanszt in #3961
  • Should be equal to comparing fields should support generics by @AlexCue987 in #4157
  • Cleaning stacktraces later by @Kantis in #4051
  • add more specific reason to beEmptyDirectory() failure message by @aSemy in #4186
  • GHA - Cache the Kotest user dir by @aSemy in #4187
  • haveElementAt-more-detail-take3 by @AlexCue987 in #4159
  • Fix Gradle signing/publish task dependency by @aSemy in #4188
  • fix edge case for isStable - when property and function have same name by @AlexCue987 in #4173
  • eventually fixed by @mirageoasis in #4018
  • Add similarity to haveKeys and haveKey (#47) by @AlexCue987 in #3930
  • Optimise PBT seed files by @aSemy in #4183
  • Fix contain exactly verifier by @AlexCue987 in #3977
  • Move some framework only commons into engine module by @sksamuel in #4189
  • --continue publishing by @aSemy in #4191
  • Create BuildService for collecting dependencies for kotest-bom by @aSemy in #4074
  • Avoid use of test types in junit listener by @sksamuel in #3789
  • Move some framework only commons into engine module part 2 by @sksamuel in #4192
  • Suffix Kotest Gradle Plugin snapshot versions with -SNAPSHOT by @aSemy in #4194
  • use Dev Publish plugin to test Kotest plugin by @aSemy in #4174
  • Removed long deprecated scope names by @sksamuel in #4198
  • Move more commons out to the projects that need it by @sksamuel in #4197
  • Remove deprecated/relocated Arb reflection utils by @aSemy in h...
Read more

v5.9.1

05 Jun 14:00
2cd159d
Compare
Choose a tag to compare

What's Changed

Assertions

Framework

  • Handling generic data classes when determining identifier stability by @Kantis in #4007
  • Refactor team city listener to extract the writing methods by @sksamuel in #4053

Property-testing

  • Reverted generation of null values in Arb.list<T?> due to performance issues by @Kantis in #4023
  • Add an Arbitrary to generate whitespace. by @jedesroches in #4030

Docs

Build / CI/CD / Dependency updates

New Contributors

Full Changelog: v5.9.0...v5.9.1

v5.9.0

09 May 17:53
237d7f6
Compare
Choose a tag to compare

New Features

  • Support for WebAssembly (the wasmJs target) has been added (#3805)

Breaking Changes

  • Support for watchosX86 and iosArm32 targets has been removed (#3805)

Requirements

  • Kotlin 1.9.23 and higher
  • kotlinx.coroutines 1.8.0 and higher

What's Changed

  • Add wasmJs target by @OliverO2 in #3805
  • fix(docs): indentation in System Extensions by @craigpastro in #3940
  • Change Arb.filterIsInstance() signature to use single type parameter by @kshired in #3943
  • Add missing functions to property-arbs docs by @snowe2010 in #3945
  • Increasing JVM heap allowance on GitHub by @Kantis in #3948
  • Fix JS and Wasm/JS test timeouts, bring back Node.js test output by @OliverO2 in #3953
  • add-similarity-to-contains-draft (#42) by @AlexCue987 in #3906
  • Update Sonatype snapshot URL by @aSemy in #3956
  • Fix json assertions artifact coordinate in docs by @TWiStErRob in #3968
  • Create CODE_OF_CONDUCT.md by @sschuberth in #3987
  • Restructure Kotlin/JS and Kotlin/JS/Wasm testing, fix #3329 by @OliverO2 in #3954
  • Correct Collection Matchers Documentation For collection.shouldContainAllInAnyOrder() by @u-ways-e in #3995
  • chore(deps): update plugin com.gradle.enterprise to v3.17.2 by @renovate in #3990
  • Add kotlin-faker to extensions list by @serpro69 in #3971
  • Better assertion failures for containJsonKeyValue by @Kantis in #3949
  • fix(deps): update dependency io.github.classgraph:classgraph to v4.8.172 by @renovate in #3957
  • Add similarity to contain exactly in any order by @AlexCue987 in #3938
  • Fix Arb.list failing within edge cases in case of null values by @oliverblaha in #3982
  • chore(deps): update plugin kotlinbinarycompatibilityvalidator to v0.14.0 by @renovate in #3993
  • chore(deps): update plugin io.kotest.multiplatform to v5.8.1 by @renovate in #3992
  • fixing the kotest autoscan warning message to reference the right property name by @stepanv in #4000
  • fix(deps): update dependency io.projectreactor.tools:blockhound to v1.0.9.release by @renovate in #3989
  • Allow comparison between empty set and other iterables by @Kantis in #4005
  • Moving similarity feature to kotest-assertions-core by @Kantis in #4006

New Contributors

Full Changelog: v5.8.1...v5.9.0

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…

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