npm / testcontainers
testcontainers
What changed in testcontainers 11 to 12, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
1 breaking1 deprecations17 new APIs and options7 behavior and defaults1 tooling18 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli inittestcontainers 1224 changes
Breaking changes 1
The minimum engine requirement is now >= 22.22 because Node 20 is EOL and dependencies require it.
New APIs and options 6
An InfluxDB module was added to Testcontainers.
A never-pull policy was added.
Adds support for MongoDB Atlas Local.
Adds a module for Mosquitto.
Configures custom service ports for Azurite.
Applies custom startup wait messages for MSSQL.
Behavior and default changes 4
Increases the timeout for waiting for host port bindings to 30 seconds.
Only reuses reaper containers created by testcontainers-node.
Reuses the insecure HTTP wait agent across retries.
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.
Tooling 1
Copies Redpanda runtime assets during the build.
Fixes and other changes 12
Waits for Couchbase KV readiness before the start operation resolves.
Starts Redpanda only after its config is in place.
Docker log streams are closed when consumers stop reading.
Image references pinned by tag and digest now keep the tag.
Fixes truncation of output from container exec.
Downgraded archiver to restore compatibility with Jest CJS.
Fixes Couchbase service configuration.
Fixes initial data handling for Redis and Valkey.
Resets stateful regex log waits between matches, preventing state from carrying over between matches.
Preserves TCP and UDP bindings when both use the same container port.
Fixes detection of healthchecks in Podman images.
The environment variable is now read lazily so dotenv and other runtime overrides work.
testcontainers 1121 changes
Deprecations 1
A warning is emitted when compose wait strategy names do not match containers.
New APIs and options 11
Adds control over automatic cleanup for containers and compose environments.
Adds an Oracle Free module for using Oracle Free with Testcontainers.
Azurite now supports HTTPS and OAuth configuration.
GenericContainer now supports security options.
Postgres containers now support SSL.
Adds an Azure Service Bus module for using Azure Service Bus with Testcontainers.
Exports KafkaContainer's SaslSslListenerOptions for use by developers.
The OpenSearch module adds support for disabling TLS.
Adds support for identity token authentication.
Adds the s3mock module.
Adds configuration for the Ryuk reconnection timeout.
Behavior and default changes 3
Adds support for running in parallel when UIDs are distinct.
Copying files into containers now follows symlinks.
Copying archives to containers can preserve UID/GID.
Fixes and other changes 6
Nested .dockerignore exclusions are now honored in the Docker build context.
A new Reaper is used when a reused Reaper is unreachable.
Fixes asynchronous disposal of an abstract started container.
Authenticates with identityToken when it is present in auths.
Fixes Selenium support for a user-provided network.
Redis containers now accept a command override.