# What changed in testcontainers

> 16 changes in testcontainers 4 from its official release notes, upgrade guides and advisories: 1 breaking, 9 new APIs and options. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/pypi/testcontainers/

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

## testcontainers 4

### Breaking changes

- Compose support was implemented for v2 with improved typing, which may affect existing Compose usage. (4.0.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.0.0)

### New APIs and options

- Adds a CrateDB community module for using CrateDB with Testcontainers. (4.15.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.15.0)
- Kafka listener name and security protocol are configurable. (4.14.2) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.14.2)
- Useful compose options are now exposed. (4.14.1) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.14.1)
- MySQL, Cassandra, Kafka, and Trino now allow passing in a custom wait strategy string. (4.14.1) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.14.1)
- NATS now supports JetStream. (4.14.1) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.14.1)
- Adds ExecWaitStrategy as a wait strategy; Postgres is migrated from the deprecated decorator. (4.14.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.14.0)
- AsyncRedisContainer is supported. (4.0.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.0.0)
- Compose runs can target specific services. (4.0.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.0.0)
- Support for tc.host was added, and docker:dind was de-prioritised. (4.0.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.0.0)

### Fixes and other changes

- Elasticsearch 9.x is now supported. (4.14.1) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.14.1)
- Python 3.14 is now supported. (4.13.3) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.13.3)
- Consumers no longer need to state that Python 4 is unsupported. (4.13.3) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.13.3)
- URLError was added to the exceptions handled while waiting for Elasticsearch. (4.0.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.0.0)
- A fix addressed flaky garbage collection that was resulting in testing errors. (4.0.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.0.0)
- The RabbitMQ readiness probe was fixed. (4.0.0) — [release notes](https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.0.0)
