Skip to content

Update kotest to v6 - #171

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-kotest
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-kotest

Conversation

@renovate

@renovate renovate Bot commented Aug 18, 2025 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
io.kotest:kotest-assertions-core 5.9.1 → 6.2.6 age confidence
io.kotest:kotest-property 5.9.1 → 6.2.6 age confidence
io.kotest:kotest-runner-junit5 5.9.1 → 6.2.6 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

kotest/kotest (io.kotest:kotest-assertions-core)

v6.2.6

Compare Source

What's Changed
New Contributors

Full Changelog: kotest/kotest@6.2.5...v6.2.6

v6.2.5

Compare Source

What's Changed

Full Changelog: kotest/kotest@6.2.4...v6.2.5

v6.2.4

Compare Source

What's Changed
New Contributors

Full Changelog: kotest/kotest@6.2.3...v6.2.4

v6.2.3

Compare Source

What's Changed
New Contributors

Full Changelog: kotest/kotest@6.2.2...v6.2.3

v6.2.2

Compare Source

What's Changed
New Contributors

Full Changelog: kotest/kotest@v6.2.1...v6.2.2

v6.2.1

Compare Source

What's Changed

Full Changelog: kotest/kotest@v6.2.0...v6.2.1

v6.2.0

Compare Source

✨ Features

New matchers / assertions

comparables.shouldBeAtLeast — @​AlexCue987 (#​5831)
MultipleMatcherResult for combining multiple matcher results — @​sksamuel (#​5723)
shouldContainExactCopies for lists — @​AlexCue987 (#​5913)
Character matchers — @​JordanLongstaff (#​5921)
shouldBeSingle matcher — @​sksamuel (#​6028)
shouldContainRepeats for strings — @​AlexCue987 (#​6004)
Infix form for inspectors — @​alfonsoristorato (#​5920)
Block-asserting overload for shouldBeFailure — @​alfonsoristorato (#​5927)
Per-call Eq overrides via a withEqs DSL — @​PreAgile (#​6010)
Per-element data class diffs in collection comparisons — @​PreAgile (#​5835)

Framework / API

Run data tests singularly — @​alfonsoristorato (#​5574)
New JVM test-suites module (deprecates JunitXmlReporter) — @​sksamuel (#​5801)
Support isolation modes on all KMP platforms — @​sksamuel (#​5806)
Breadcrumbs support for Kotest spec files — @​sksamuel (#​5793)
Type-safe test metadata API — @​PreAgile (#​5905)
Public API for creating custom styles — @​sksamuel (#​5814)
Support multiple --test args joined by semicolon in KOTEST_INCLUDE_PATTERN — @​sksamuel (#​5922)
Extend life of deprecated Test containers and add onStart — @​sksamuel (#​5896)
Make Arb.stringPattern multiplatform — @​wilmveel (#​6008)
Complete the permutations module — @​sksamuel (#​6016)
Add Wasm WASI target to kotest-property and kotest-property-permutations — @​jsoizo (#​6129)
Make fibonacci interval functions public — @​mvanhorn (#​6135)
Add Android instrumented test module — @​sksamuel (#​5900)

IntelliJ plugin

N-times setter for test invocation — @​alfonsoristorato (#​5815)
Invocation count on the Kotest producer — @​alfonsoristorato (#​5837)
Singular data-test run on the Kotest producer — @​alfonsoristorato (#​5843)
Amper-aware run-configuration producer — @​sksamuel (#​5999)

🐛 Fixes

Property testing / Arb / Exhaustive / shrinkers

Integer shrinkers proposing wrap-around values near MIN — @​sksamuel (#​5931)
Arb.ipAddressV4 couldn't produce 255 in any octet — @​sksamuel (#​5938)
Arb.multiple couldn't produce the largest multiple of k ≤ max — @​sksamuel (#​5939)
Arb.map maxSize off-by-one and minSize == maxSize crash — @​sksamuel (#​5937)
Arb.map half-open nextInt for targetSize — @​sksamuel (#​5946)
Arb.factor crash on k=1 / never producing k — @​sksamuel (#​5959)
Arb.date never producing Dec 31 in leap years — @​sksamuel (#​5949)
Arb.intRange overflow when domain.last == Int.MAX_VALUE — @​sksamuel (#​5945)
Arb.subsequence only producing prefixes — @​sksamuel (#​5958)
Arb.orNull(0.0) still producing nulls via boundary draw — @​sksamuel (#​5936)
Arb.slice throwing on empty input list — @​sksamuel (#​6044)
Codepoint.lowSurrogate using ushr instead of and — @​sksamuel (#​5935)
IntRangeShrinker overflow on Int.MAX_VALUE singleton — @​sksamuel (#​5957)
DurationShrinker discarding all shrinks if any candidate is Duration.ZERO — @​sksamuel (#​5955)
Exhaustive.merge truncating to the shorter length — @​sksamuel (#​5956)
Exhaustive.azstring crash on size-0 ranges — @​sksamuel (#​5947)
List.edgecase recursing on the unshuffled tail — @​sksamuel (#​5950); silently dropping un-tested arbs — @​sksamuel (#​5930)
orNull.edgecase returning null instead of Sample(null) — @​sksamuel (#​5948)
PropTestConfig.maxDiscardPercentage ignoring the global setting — @​sksamuel (#​5951)
Propagate expected/actual diff values to property-test errors — @​sksamuel (#​6009)
Degenerate ranges / inclusive max bounds in yearMonth/localTime/double/float arbs — @​sksamuel (#​6120)
Honor discardCheckThreshold in max-discard check — @​sksamuel (#​6126)
Arb.list repeated-element edgecase now actually repeats a single element — @​sksamuel (#​6128)
Descriptive error when Arb.distinct exhausts attempts — @​sksamuel (#​6122)
Dead AssertionError branch in PropertyErrorMessageBuilder — @​sksamuel (#​6065)

Spec DSLs / test naming / prefixes

ShouldSpec nested context missing "context " prefix — @​sksamuel (#​5979)
FunSpec nested context missing "context " prefix — @​sksamuel (#​5984)
FreeSpec config leaf test registered as container — @​sksamuel (#​5966)
DescribeSpec root it/fit/xit(name) always DISABLED — @​sksamuel (#​5965)
it/fit/xit(name, lambda) missing prefix/wrong receiver — @​sksamuel (#​5978)
context/fcontext no-lambda missing "Context: " prefix — @​sksamuel (#​5974)
WordSpec config-form should producing " when" suffix — @​sksamuel (#​5964);
addWhen/addShould missing withDefaultAffixes — @​sksamuel (#​5995)
ExpectSpec root expect leaf wrapping in container scope — @​sksamuel (#​5983)
BehaviorSpec missing f* overloads — @​sksamuel (#​5988)
given/context test-lambda missing withDefaultAffixes — @​sksamuel (#​5975)
FeatureSpec rename xfscenario → fscenario — @​sksamuel (#​5972)
scenario leaf running with wrong scope — @​sksamuel (#​6062)
truncateTestName splitting UTF-16 surrogate pairs — @​sksamuel (#​5990)
Honor WithDataTestName.dataTestName() on all platforms — @​sksamuel (#​6064)
Data test run including sibling regular containers — @​alfonsoristorato (#​6033)
Materializer dropping xmethod on nested TestCases — @​sksamuel (#​5992)
Descriptor.depth() off-by-one — @​sksamuel (#​6123)

Matchers / assertions / messages

CompletableFuture cancelled() matcher reporting "completed" — @​sksamuel (#​5960)
URI/URL parameter matcher NPEs and fragment/ref message typos — @​sksamuel (#​5961)
haveMaxLength negated message reporting wrong minimum length — @​sksamuel (#​5941)
shouldNotBeRegex calling positive shouldEqualRegex — @​sksamuel (#​5952)
kotlinx-datetime Instant before/after negated message swap — @​sksamuel (#​5953)
containAllInAnyOrder/containExactlyInAnyOrder mislabeling missing elements — @​sksamuel (#​5942)
containsInOrder "found before" slice in failure message — @​sksamuel (#​6054)
beUpperCase/beLowerCase for non-String CharSequence — @​sksamuel (#​6055)
shouldBeEmpty crashing on dynamic iterables — @​sksamuel (#​6025)
Inverted Path/File shouldNotEqualJson config-block overload — @​sksamuel (#​6068)
beEqualToUsingFields message listing wrong fields — @​sksamuel (#​6066)
MapEq differing-key computation via Eq typeclass, not raw == — @​sksamuel (#​6067)
NumberEq cross-type comparisons (Double/Long, Float/Long, etc.) — @​sksamuel (#​6087)
Integer overflow in shouldBeWithin near MAX_VALUE — @​sksamuel (#​6088)
haveElementAt swapped expected/actual + negative index handling — @​sksamuel (#​6125)
Path containNFiles failing gracefully on non-directory — @​sksamuel (#​6077)
Path haveExtension/haveNameWithoutExtension NPE on root paths — @​sksamuel (#​6078)
Restore large-string diff output in StringEq.diff() — @​sksamuel (#​5944)
Make clear what the actual string value is — @​sschuberth (#​6110)
escapeString in Diff producing literal control chars — @​sksamuel (#​5943)
Validate tolerance / handle infinities in Float plusOrMinus — @​sksamuel (#​6124)
Integer enum schema values never matching JSON numbers — @​sksamuel (#​6056)
retry exception classification + cap backoff at remaining timeout — @​sksamuel (#​6114)

Engine / runners / discovery / listeners

Failfast in sibling contexts via per-scope CoroutineContext tracking — @​sksamuel (#​5774)
Coroutines probe dump with background coroutines — @​sksamuel (#​5894)
DataClassEq comparator — @​scottdfedorov (#​5602)
KSP processor including abstract/sealed spec classes — @​sksamuel (#​5987)
duplicate specs across KSP rounds — @​sksamuel (#​6115)
AnnotationSpec @​Test(expected=...) requiring exact class match — @​sksamuel (#​5993)
JUnit4RuleExtension running test outside rule chain when rule skips — @​sksamuel (#​5986)
JUnit4 runner not firing testIgnored events — @​sksamuel (#​5967)
JUnit listeners collapsing MultipleExceptions to a single placeholder — @​sksamuel (#​5976)
testIgnored creating duplicate descriptor when test already started — @​sksamuel (#​5982)
Discovery allow_private respecting presence not value — @​sksamuel (#​5980)
duplicate specs for ClassSelector + UniqueIdSelector — @​sksamuel (#​5981)
failOnIgnoredTests never triggering due to per-spec results reset — @​sksamuel (#​5968);
count TestAbortedException-skipped tests — @​sksamuel (#​6059)
InvocationTimeoutInterceptor missing WasmWasi guard — @​sksamuel (#​5991)
Tag expressions: OR-of-exclusions over-permissive — @​sksamuel (#​5973)
parser precedence & over | — @​sksamuel (#​6089)
three-valued OR identity — @​sksamuel (#​6090)
parenthesize operands in combine — @​sksamuel (#​6046)
isSubtreeComplete checking each child result, not the parent — @​sksamuel (#​6050)
CollectingTestEngineListener cross-thread-safe error state — @​sksamuel (#​6052)
FailureFirstSorter comparator contract violation — @​sksamuel (#​6070)
ExtensionStore untyped get key mismatch / getOrComputeIfAbsent not storing — @​sksamuel (#​6092)
Propagate beforeInvocation/afterInvocation listener failures — @​sksamuel (#​6041)
Cancel timeout coroutine when block completes/fails — @​sksamuel (#​6051)
cancel wall-clock watchdog when block throws — @​sksamuel (#​6113)
PropertyOrder.Strict comparing values even when key sets differ — @​sksamuel (#​6043)
JvmReflection caches thread-safe — @​sksamuel (#​6086); FailFastScopeTracker thread-safe — @​sksamuel (#​6069)
Invoke package config extensions for spec-level callbacks — @​sksamuel (#​6118)
Permutation.iteration always 0 — @​sksamuel (#​6057)
preserve duration & discardCheckThreshold in PermutationConfiguration.from() — @​sksamuel (#​6045)
Detect Spec subclasses in KotestFileVisitor instead of a name list — @​sksamuel (#​6036)
Register shouldBe with Power Assert correctly — @​sksamuel (#​6071)
until() default fixes — @​sksamuel (#​6058); regression revert — @​sksamuel (#​6093)
eventually listener default in jsTest — @​sksamuel (#​5841)
wasmJsD8Test timeout failure when tests use delay() — @​sksamuel (#​5827)
Native IR crash from shadowed OnlyInputTypes — @​PreAgile (#​5828)
Only override ignored flags for test-level run — @​sksamuel (#​5824)
Replace periods with wildcards in GradleTestFilterBuilder — @​sksamuel (#​5842)
replace interpolated entries with wildcards in asString() — @​sksamuel (#​5844)
Gradle ClassMethodNameFilterUtils.reset only clearing commandLine patterns — @​sksamuel (#​5804)
spec-prefix match must respect path boundary — @​sksamuel (#​6082)
Spec/Test platform producers creating a new run config every run — @​sksamuel (#​5998)
RunnerOs NPE when RUNNER_OS unset — @​sksamuel (#​6091)
LazyJvmAssertionError computing its message lazily — @​sksamuel (#​6080)
SpecRefExecutor removing @​ApplyExtension extensions in a finally block — @​sksamuel (#​6040)

Extensions / resource handling

Close pooled Connection + HikariDataSource in SharedJdbcDatabaseContainerExtension — @​sksamuel (#​6049); close HikariDataSource in project/spec extensions — @​sksamuel (#​6060, #​6048);
release lock on mount exception — @​sksamuel (#​6047, #​6039); release lock on Compose container start failure — @​sksamuel (#​6116)
Close the InputStream in KotestPropertiesLoader.loadSystemProps — @​sksamuel (#​6053)
Null the server field after stopping in MockServerListener.afterSpec — @​sksamuel (#​6061)
Spring: forward test exception to test context manager — @​sksamuel (#​6102);
restore original System.out/err for nested tests — @​sksamuel (#​6117);
remove leftover debug println — @​sksamuel (#​6121);
fix inverted kotest.listener.spring.ignore.warning boolean — @​sksamuel (#​6083)
Avoid unsafe cast of throwable cause in Allure spec-init failure reporting — @​sksamuel (#​6072)

Reporting / output / TeamCity / IntelliJ

Pass exception to TEST_FAILED placeholder so TeamCity shows a failure — @​alfonsoristorato (#​5928)
IntelliJ jump-to-source via locationUrl instead of displayName tag — @​sksamuel (#​5929);
use correct producer from the custom IJ window — @​alfonsoristorato (#​5902)
HtmlWriter flag error-only rows with failure CSS class — @​sksamuel (#​6074);
HtmlReporter read results from configured build dir — @​sksamuel (#​6073)
JunitXmlReportTestEngineListener reset accumulated state per spec — @​sksamuel (#​6042);
keep ISO-8601 Z in JUnit XML timestamp — @​sksamuel (#​6085);
queue specIgnored events in PinnedSpecTestEngineListener — @​sksamuel (#​6127)
Leftover-seconds in console total-time summary — @​sksamuel (#​6084)
shouldContainExactCopies param name — @​AlexCue987 (#​5918)

Typos

"shunk" → "shrunk" in shrink output — @​sksamuel (#​5932)
"should not be be" double-word in date/time between matchers — @​sksamuel (#​5954)
"should not should be" in beUpperCase/beLowerCase — @​sksamuel (#​5940)
Javadoc shouldContainNotSlice → shouldNotContain… — @​AlexCue987 (#​5903)

📦 Dependency / toolchain updates

stacktrace-decoroutinator-jvm → v2.6.4 — @​renovate[bot] (#​5963)
koin → v4.2.1 — @​renovate[bot] (#​5970)
org.pitest:pitest → v1.23.1 — @​renovate[bot] (#​5969)
jackson-module-kotlin → v2.21.3 — @​renovate[bot] (#​5962), then → v2.21.4 — @​renovate[bot] (#​6100)
classgraph → v4.8.184 — @​renovate[bot] (#​6101)
mockserver → v6.0.0 — @​Kantis (#​6017)
KSP → 2.3.9 — @​sksamuel (#​6038)
IntelliJ plugin IC-261 target → 2026.1.1 — @​sksamuel (#​5971)
AGP → 9.0.0 final — @​sschuberth (#​6109)

v6.1.11

Compare Source

What's Changed

Full Changelog: kotest/kotest@v6.1.10...6.1.11

v6.1.10

Compare Source

What's Changed
New Contributors

Full Changelog: kotest/kotest@v6.1.9...v6.1.10

v6.1.9

Compare Source

Full Changelog: kotest/kotest@v6.1.8...v6.1.9

The Gradle 9.4 --tests filter change was missed from the 6.1.8 release.
This 6.1.9 release includes it.

If you are using Gradle 9.4+ then you need this build to run a single test from the IDE.

v6.1.8

Compare Source

What's Changed

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@coderabbitai

coderabbitai Bot commented Aug 18, 2025 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b6bdd1f7-5473-4c49-9e38-b6f453add02e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from 5fa011b to 53a74c2 Compare August 25, 2025 04:54
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from 1e1331d to d603aa9 Compare September 8, 2025 01:57
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from cda9a19 to 645d01a Compare October 9, 2025 10:46
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from 645d01a to b152635 Compare October 15, 2025 05:59
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from 6749003 to f5e0c49 Compare November 10, 2025 23:36
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from f5e0c49 to acbc7d4 Compare November 19, 2025 23:53
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from acbc7d4 to d63e9bc Compare December 7, 2025 16:15
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from d63e9bc to 59978fa Compare January 11, 2026 11:40
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from f3288c0 to 6a4add6 Compare January 25, 2026 15:56
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from 6a4add6 to 2b30cec Compare February 1, 2026 10:52
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from 2b30cec to 93aedb2 Compare March 1, 2026 10:59
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 3 times, most recently from 72f13c7 to 74aab8d Compare March 15, 2026 01:09
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from b522836 to 640e9a7 Compare March 24, 2026 05:59
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from 0a44c29 to 22019de Compare March 30, 2026 13:47
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from 22019de to 555922a Compare April 2, 2026 09:16
@codacy-production

codacy-production Bot commented Apr 2, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from 10d20f5 to 6be46a9 Compare April 8, 2026 21:39
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from 6be46a9 to 7e64ca2 Compare April 21, 2026 19:54
@renovate renovate Bot changed the title Update kotest to v6 (major) Update kotest to v6 May 13, 2026
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 3 times, most recently from 742a29e to 875e44f Compare May 22, 2026 18:49
@renovate
renovate Bot force-pushed the renovate/major-kotest branch 2 times, most recently from 8267ead to 1f57c0a Compare June 18, 2026 21:54
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from 1f57c0a to fc4d3cd Compare June 28, 2026 17:56
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from fc4d3cd to 667430c Compare July 8, 2026 03:03
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from 667430c to 11bf3df Compare July 21, 2026 10:55
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from 11bf3df to c606f70 Compare August 12, 2026 05:38
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from c606f70 to ce6fc60 Compare September 10, 2026 23:36
@renovate
renovate Bot force-pushed the renovate/major-kotest branch from ce6fc60 to 2857e39 Compare October 14, 2026 21:44

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants