Rob Elliot
04/01/2026, 10:52 AMimplementation(platform("org.jetbrains.kotlin:kotlin-bom:6.1.1")) declaration.
We updated our dependency on net.javacrumbs.json-unit:json-unit-kotest from 5.1.0 to 5.1.1, which depends on io.kotest:kotest-assertions-core-jvm:6.1.5 and transitively on io.kotest:kotest-assertions-shared:6.1.5 -> io.kotest:kotest-assertions-shared-jvm:6.1.5.
When we run it blows up as so:
java.lang.NoClassDefFoundError: io/kotest/matchers/jvmerrorcollector
at io.kotest.engine.test.interceptors.CoroutineErrorCollectorInterceptor.intercept(CoroutineErrorCollectorInterceptor.kt:38)
at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:120)
at io.kotest.engine.test.interceptors.CoroutineDispatcherFactoryTestInterceptor.intercept(CoroutineDispatcherFactoryTestInterceptor.kt:41)
at io.kotest.engine.test.TestCaseExecutor$execute$3$1.invoke(TestCaseExecutor.kt:120)
at io.kotest.engine.test.interceptors.SupervisorScopeInterceptor$intercept$2.invokeSuspend(SupervisorScopeInterceptor.kt:23)
I think because jvmerrorcollector has moved from io.kotest.matchers to io.kotest.assertions between io.kotest:kotest-assertions-shared-jvm 6.1.1 and 6.1.5.
CoroutineErrorCollectorInterceptor is in io.kotest:kotest-framework-engine-jvm.
So:
io.kotest:kotest-framework-engine-jvm:6.1.1 depends on io.kotest:kotest-assertions-shared-jvm:6.1.1
net.javacrumbs.json-unit:json-unit-kotest:5.1.1 depends on io.kotest:kotest-assertions-shared-jvm:6.1.5
Which are incompatible because io.kotest:kotest-assertions-shared-jvm:6.1.5 is not backwards compatible with io.kotest:kotest-assertions-shared-jvm:6.1.1.
I think removing io.kotest.matchers.jvmerrorcollector from io.kotest:kotest-assertions-shared-jvm should have required a major version bump, which would in turn have alerted net.javacrumbs.json-unit:json-unit-kotest that it needed a major version bump, which would have made it more obvious to me that there was an incompatibility between my kotest 6 dependency and its transitive kotest 7 dependency.Oliver.O
04/01/2026, 11:00 AMRob Elliot
04/01/2026, 11:05 AMOliver.O
04/01/2026, 11:12 AMgradlew updateKotlinAbi.sam
04/01/2026, 4:59 PMsam
04/01/2026, 4:59 PMRob Elliot
04/02/2026, 10:03 AM