๐จ Breaking Changes
1. Minimum Node engine requirement set to 20.
2. Default module images have been removed.
Previously:
await new PostgreSqlContainer().start();
Now:
await new PostgreSqlContainer("postgres:13.3-alpine").start();
For convenience, here is a table of all the previous default values, which you could just copy/paste to get back working again, but have a think about which version you actually need. Some of these are quite old and need to be updated.
Default module images
Module
Image
arangodb
arangodb:3.10.0
azurecosmosdb
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-EN20250228
azurite
mcr.microsoft.com/azure-storage/azurite:3.33.0
cassandra
cassandra:5.0.2
chromadb
chromadb/chroma:0.6.3
clickhouse
clickhouse/clickhouse-server:25.3-alpine
cockroachdb
cockroachdb/cockroach:v24.3.5
couchbase
couchbase/server:6.5.1
elasticsearch
elasticsearch:7.17.7
etcd
quay.io/coreos/etcd:v3.6.0
eventstoredb
eventstore/eventstore:24.10
gcloud
gcr.io/google.com/cloudsdktool/cloud-sdk:517.0.0-emulators
hivemq
hivemq/hivemq-ce:2023.5
k3s
rancher/k3s:v1.31.2-k3s1
kafka
confluentinc/cp-kafka:7.2.2
localstack
localstack/localstack:2.2.0
mariadb
mariadb:11.5.2
minio
minio/minio:RELEASE.2024-12-13T22-19-12Z
mockserver
mockserver/mockserver:5.15.0
mongodb
mongo:4.0.1
mssqlserver
mcr.microsoft.com/mssql/server:2022-CU13-ubuntu-22.04
mysql
mysql:8.0.31
nats
nats:2.8.4-alpine
neo4j
neo4j:4.4.12
ollama
ollama/ollama:0.1.44
postgresql
postgres:13.3-alpine
qdrant
qdrant/qdrant:v1.13.4
rabbitmq
rabbitmq:3.12.11-management-alpine
redis
redis:7.2
redpanda
docker.redpanda.com/redpandadata/redpanda:v23.3.10
scylladb
scylladb/scylla:6.2.0
selenium
selenium/standalone-chrome:112.0
toxiproxy
ghcr.io/shopify/toxiproxy:2.11.0
valkey
valkey/valkey:8.0
weaviate
semitechnologies/weaviate:1.24.5
3. Dropped support for Docker Compose v1 (EOL July 2023).
4. Docker compose version no longer available via ComposeClient
const { compose } = await getContainerRuntimeClient();
compose.version; // no longer available
5. Container stop timeouts have changed from seconds to milliseconds
Previously:
await container.stop({ timeout: 10 }); // 10 seconds
Now:
await container.stop({ timeout: 10_000 }); // 10 seconds
6. EventStoreDB has been renamed to KurrentDB
Previously:
import { EventStoreDBContainer } from "@testcontainers/eventstoredb";
new EventStoreDBContainer("eventstore/eventstore:24.10").start();
Now:
import { KurrentDbContainer } from "@testcontainers/kurrentdb";
new KurrentDbContainer("kurrentplatform/kurrentdb:25.0").start();
RandomUniquePortGenerator
replaced byRandomPortGenerator
Changes
๐งน Maintenance
- Refactor workflows @cristianrgreco (#1016)
- Add dependabot @cristianrgreco (#1013)
- Rename EventStoreDB to KurrentDB @botflux (#901)
- Don't log compose version to improve startup performance @cristianrgreco (#1012)
- Container stop timeouts should be in milliseconds @digital88 (#962)
- Remove default images + Min node version 20 @cristianrgreco (#938)
๐ฆ Dependency Updates
- Bump the dependencies group across 3 directories with 27 updates @dependabot[bot] (#1015)
- Bump the actions group with 3 updates @dependabot[bot] (#1014)