0.23.0¶
Released: March 2026
New Features¶
Cassandra Support¶
New stove-cassandra module for testing applications that use Apache Cassandra:
Configure in your Stove setup:
Stove()
.with {
cassandra {
CassandraSystemOptions(
keyspace = "my_keyspace",
configureExposedConfiguration = { cfg ->
listOf(
"spring.cassandra.contact-points=${cfg.host}:${cfg.port}",
"spring.cassandra.local-datacenter=${cfg.datacenter}",
"spring.cassandra.keyspace-name=${cfg.keyspace}"
)
}
).migrations {
register<CreateKeyspaceMigration>()
}
}
}.run()
Includes:
- CQL statement execution (
shouldExecute) and query assertions (shouldQuery) - Prepared/bound statement support
- Raw
CqlSessionaccess viasession() - Keyspace-aware session management — sessions are created without a keyspace first, then rebound after migrations create it
- Migrations via
CassandraMigrationtype alias - Container pause/unpause for fault injection
- Provided instance support via
CassandraSystemOptions.provided() - Cleanup hooks
See the Cassandra documentation for full details.
Portal — Local Observability Dashboard¶
New stove-portal module and a companion CLI (stove) that gives you a real-time web dashboard for your e2e test runs.
Add one line to your Stove config:
Stove()
.with {
portal { PortalSystemOptions(appName = "product-api") }
tracing { enableSpanReceiver() }
// ... other systems
}.run()
Start the CLI, run your tests, and open http://localhost:4040:
- Timeline — every HTTP call, Kafka message, database query with inputs, outputs, expected vs. actual
- Trace — distributed trace tree from OpenTelemetry spans, with exception details and stack traces
- Snapshots — system state cards captured at test boundaries
- Kafka Explorer — dedicated view with consumed/published/failed counts and expandable JSON payloads
The portal emitter is fault-tolerant: non-blocking queue, auto-disables after 5 consecutive gRPC failures, never breaks your tests. If the CLI isn't running, nothing happens.
Install the CLI:
See the Portal documentation for full details.
Documentation¶
- Comprehensive documentation improvements across all pages
- Added Cassandra to provided instances, components index, and README
- Fixed inaccurate Docker requirement claims — docs now clarify that Docker is only needed in container mode, not when using provided instances
- Fixed incorrect
TestSystemInterceptorreferences →TestSystemKafkaInterceptor<*, *>in Kafka docs - Expanded Ktor framework docs with DI auto-detection table and tabbed examples
- Added Spring Boot 4.x
addTestDependencies4xsection - Added missing MySQL section to provided instances docs
- Added 0.21.2 → 0.22.x migration notes to troubleshooting
- Added Portal documentation with architecture, installation, configuration, and REST API reference
Dependency Updates¶
- Testcontainers 2.0.4
- Apache Cassandra Java Driver 4.19.2 (new)
Migration Guide¶
From 0.22.x to 0.23.0¶
This is a non-breaking release. All existing APIs remain compatible.
New Features to Opt Into¶
Cassandra: Add stove-cassandra to your dependencies if you're testing against Cassandra. See the Cassandra documentation.
Portal: Add stove-portal to your dependencies and install the CLI via Homebrew (brew install Trendyol/trendyol-tap/stove) or the shell script. See the Portal documentation.