๐จ Breaking Changes
-
Node 20 is EOL. Minimum engine requirement is now
>= 22.22, matching the constraints from our dependencies. -
Previously, when no wait strategy was configured, Testcontainers defaulted to
Wait.forListeningPorts().The new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to
Wait.forListeningPorts()when no healthcheck is available.To keep the previous behaviour, configure
Wait.forListeningPorts()explicitly:import { DockerComposeEnvironment, GenericContainer, Wait } from "testcontainers"; // Container: opt back into the previous default of waiting for listening ports const container = await new GenericContainer("my-image:latest") .withExposedPorts(8080) .withWaitStrategy(Wait.forListeningPorts()) .start(); // Compose: apply the previous default to all services const environment = await new DockerComposeEnvironment(composeFilePath, "docker-compose.yml") .withDefaultWaitStrategy(Wait.forListeningPorts()) .up(); // Compose: or apply it to a specific compose container const environment = await new DockerComposeEnvironment(composeFilePath, "docker-compose.yml") .withWaitStrategy("api-1", Wait.forListeningPorts()) .up();
Changes
๐ Features
- Use configured health checks as the default wait strategy @digital88 (#1096)
๐ Bug Fixes
- Read
RYUK_CONTAINER_IMAGElazily so dotenv / other runtime overrides work @dvirarad (#1323) - Use
/tmpfor Kafka startup script @cristianrgreco (#1302)
๐ Documentation
- Clarify PR defaults in AGENTS.md @cristianrgreco (#1303)
๐งน Maintenance
- Repair npm publish version updates @cristianrgreco (#1330)
๐ฆ Dependency Updates
- Bump ghcr.io/devcontainers/features/node from 1.7.1 to 2.0.0 in the dependencies group @dependabot[bot] (#1318)
- Bump the dependencies group across 18 directories with 20 updates @dependabot[bot] (#1321)
- Bump the dependencies group across 1 directory with 30 updates @dependabot[bot] (#1322)
- Bump the dependencies group across 1 directory with 23 updates @dependabot[bot] (#1300)
- Bump the dependencies group across 16 directories with 18 updates @dependabot[bot] (#1299)