# What changed in testcontainers

> 45 changes in testcontainers 11 to 12 from its official release notes, upgrade guides and advisories: 1 breaking, 1 deprecations, 17 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/testcontainers/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## testcontainers 12

### Breaking changes

- The minimum engine requirement is now >= 22.22 because Node 20 is EOL and dependencies require it. (12.0.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.0)

### New APIs and options

- An InfluxDB module was added to Testcontainers. (12.2.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.2.0)
- A never-pull policy was added. (12.2.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.2.0)
- Adds support for MongoDB Atlas Local. (12.1.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.1.0)
- Adds a module for Mosquitto. (12.1.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.1.0)
- Configures custom service ports for Azurite. (12.0.2) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.2)
- Applies custom startup wait messages for MSSQL. (12.0.2) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.2)

### Behavior and default changes

- Increases the timeout for waiting for host port bindings to 30 seconds. (12.2.1) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.2.1)
- Only reuses reaper containers created by testcontainers-node. (12.2.1) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.2.1)
- Reuses the insecure HTTP wait agent across retries. (12.0.4) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.4)
- When an image or service has a Docker healthcheck, it is now used as the default wait strategy; otherwise, Testcontainers falls back to waiting for listening ports. (12.0.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.0)

### Tooling

- Copies Redpanda runtime assets during the build. (12.0.2) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.2)

### Fixes and other changes

- Waits for Couchbase KV readiness before the start operation resolves. (12.2.1) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.2.1)
- Starts Redpanda only after its config is in place. (12.2.1) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.2.1)
- Docker log streams are closed when consumers stop reading. (12.2.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.2.0)
- Image references pinned by tag and digest now keep the tag. (12.2.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.2.0)
- Fixes truncation of output from container exec. (12.0.4) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.4)
- Downgraded archiver to restore compatibility with Jest CJS. (12.0.3) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.3)
- Fixes Couchbase service configuration. (12.0.2) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.2)
- Fixes initial data handling for Redis and Valkey. (12.0.2) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.2)
- Resets stateful regex log waits between matches, preventing state from carrying over between matches. (12.0.2) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.2)
- Preserves TCP and UDP bindings when both use the same container port. (12.0.2) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.2)
- Fixes detection of healthchecks in Podman images. (12.0.1) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.1)
- The environment variable is now read lazily so dotenv and other runtime overrides work. (12.0.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v12.0.0)

## testcontainers 11

### Deprecations

- A warning is emitted when compose wait strategy names do not match containers. (11.12.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.12.0)

### New APIs and options

- Adds control over automatic cleanup for containers and compose environments. (11.14.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.14.0)
- Adds an Oracle Free module for using Oracle Free with Testcontainers. (11.13.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.13.0)
- Azurite now supports HTTPS and OAuth configuration. (11.12.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.12.0)
- GenericContainer now supports security options. (11.12.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.12.0)
- Postgres containers now support SSL. (11.12.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.12.0)
- Adds an Azure Service Bus module for using Azure Service Bus with Testcontainers. (11.11.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.11.0)
- Exports KafkaContainer's SaslSslListenerOptions for use by developers. (11.11.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.11.0)
- The OpenSearch module adds support for disabling TLS. (11.10.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.10.0)
- Adds support for identity token authentication. (11.9.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.9.0)
- Adds the s3mock module. (11.8.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.8.0)
- Adds configuration for the Ryuk reconnection timeout. (11.8.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.8.0)

### Behavior and default changes

- Adds support for running in parallel when UIDs are distinct. (11.14.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.14.0)
- Copying files into containers now follows symlinks. (11.12.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.12.0)
- Copying archives to containers can preserve UID/GID. (11.12.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.12.0)

### Fixes and other changes

- Nested .dockerignore exclusions are now honored in the Docker build context. (11.12.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.12.0)
- A new Reaper is used when a reused Reaper is unreachable. (11.12.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.12.0)
- Fixes asynchronous disposal of an abstract started container. (11.11.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.11.0)
- Authenticates with identityToken when it is present in auths. (11.11.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.11.0)
- Fixes Selenium support for a user-provided network. (11.11.0) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.11.0)
- Redis containers now accept a command override. (11.8.1) — [release notes](https://github.com/testcontainers/testcontainers-node/releases/tag/v11.8.1)
