What's Changed
Highlights
This release has been made possible through the efforts of whopping 23 contributors, wow! 🤯
Besides 3 new modules, this release brings a couple of bugfixes, improved compatibility and resilience in certain scenarios, better defaults and more configurability.
You might also notice many PRs related to the documentation, templates for PRs and issues, and automation regarding OSS contributions. Testcontainers has always been a project with a lot of involvement by the community and we are very proud of this. That’s why want to make contributing to Testcontainers a great experience, no matter if you raise an issue, submit a PR or initiate a discussion in GitHhub Discussions.
🐼 New Module: Redpanda (#5740) @eddumelendez
Redpanda, a Kafka-compatible streaming platform, recently added a special dev-container
mode to their container image, that allows even faster startup times. A great reason to work in a Testcontainers module that leverages this flag by default to give you a great integration testing experience when using Redpanda. And of course, using Redpanda with Testcontainers is as easy and convenient as you are used to:
var container = new RedpandaContainer("docker.redpanda.com/vectorized/redpanda:v22.2.1")
container.start()
var connectionUrl = container.getBootstrapServers()
// use the connectionUrl and start testing!
You can check out the docs to learn more.
New Module: TiDB (#5511) @Icemap
With TiDB, we are adding support for a new database module. As with other databases that can be accessed via JDBC, you can leverage Testcontainers’ special JDBC URL integration:
jdbc:tc:tidb:v6.1.0:///databasename
New Module: Hashicorp Consul (#4683) @julb
🚀 Features & Enhancements
- getContainerByServiceName should work without suffix (#5776) @REslim30
- Allow Pulsar default WaitStrategy to honour startup timeout (#5674) @nahguam
- fix: ContainerDatabaseDriver does not register Properties object (#5829) @REslim30
- couchbase: allow to configure bucket replicas and default to 0. (#5840) @daschl
- Add compatibility with MongoDB 6 (#5771) @eddumelendez
- Set default elasticsearch heap size to 2GB (Alternate PR) (#5684) @REslim30
- Add
Transferable.of(String, int)
(#5741) @eddumelendez - Make TestcontainersExtension public (#5285) @hmatt1
- Update Cassandra driver to 4.x (#2830) @emerkle826
- Make outer maximum startup timeout in
DockerComposeContainer
configurable (#5588) @henri-tremblay - Improve Pulsar's wait strategy to rely on clusterName (#5613) @eddumelendez
🐛 Bug Fixes
📖 Documentation
- Improve consistency of Testcontainers name in docs (#5866) @neslihanedes
- Fix typos on index.md (#5832) @neslihanedes
- docs: fix link to the bounty program (#5831) @mdelapenya
- Fix link for Selenium examples (#5786) @kiview
- Remove
disque-job-queue
andmongodb-container
examples (#5782) @eddumelendez - Upgrade spring-boot version to 2.7.3 in examples (#5764) @eddumelendez
- Add samples section (#5763) @eddumelendez
- Add Consul module (#4683) @julb
- Add syntax highlighting to colima usage doc (#5673) @kishaningithub
- Link to the docs on environment discovery failure (#5615) @bsideup
- Add docs for AWS CodeBuild and Tekton (#5614) @eddumelendez
- Update CircleCI docs for current Cloud/v2/v3 configuration (#5611) @epragtbeamtree
- Update Oracle-XE docs and use code example from tests (#4385) @kiview
- Enable JUnitPlatform in Gradle for JUnit5 examples (#4130) @kiview
- Add documentation for DependsOn (#5597) @QuinnBast
- Improve docs (#5522) @eddumelendez
- Improve Issue Templates (#5836) @eddumelendez
- Fix type/docs label (#5759) @eddumelendez
- Add Pull Request Template (#5735) @eddumelendez
🧹 Housekeeping
- Update localstack images in tests (#5783) @eddumelendez
- Remove thundra from ci.yml (#5850) @eddumelendez
- Exclude
org.testcontainers.shaded.*
package and upgrade deps (#5775) @eddumelendez - Revert "Update GHA runner image to latest Ubuntu" (#5766) @kiview
- Add test-retry plugin (#5586) @eddumelendez
- GitHub Workflows security hardening (#5821) @sashashura
- Add host os and arch in bug report template (#5525) @eddumelendez
- getLivenessCheckPortNumbers() should return mapped port (#5734) @REslim30
- Use
testCompileOnly
instead oftestCompileClasspath
(#5849) @eddumelendez - Update slf4j in test-support to 2.0.0 (#5848) @kiview
- Remove
disque-job-queue
andmongodb-container
examples (#5782) @eddumelendez - Run mongosh or mongo if cmd exists (#5774) @eddumelendez
- Add .sdkmanrc with 8.0.345-tem (#5772) @eddumelendez
- Add link to GH Discussions to Issue forms (#5767) @eddumelendez
- [couchbase] Only expose ports for enabled services (#4595) @daschl
- Update GHA runner image to latest Ubuntu (#5761) @kiview
- Enforce UTF-8 as Javadoc encoding (#5738) @gesellix
- Drop usage of
org.junit.platform.commons.util
(#5729) @eddumelendez - Move junit4 to assertj (#5685) @eddumelendez
- Removes unused module junit-toolbox (#5678) @froque
- Move to assertj (#5679) @eddumelendez
- Add pr label for area/docker-compose (#5610) @eddumelendez
- Update alpine image to 3.16 (#4698) @tobiasstadler
- Update spotless version to 6.8.0 (#5605) @eddumelendez
- Fix javadoc comment in ToxiproxyContainer#getProxy(GenericContainer, int) (#5591) @kwart
- chore: Set permissions for GitHub actions (#5523) @naveensrinivasan
- Add labeler action (#5516) @eddumelendez
📦 Dependency updates
- Update ryuk version to 0.3.4 (#5619) @eddumelendez
- Combined dependencies PR (#5820, #5816, #5762, #5758, #5757, #5733, #5730, #5672, #5671, #5668, #5587, #5583, #5580) @eddumelendez
- Update Gradle Wrapper to 7.5.1 (#5676) @github-actions
- Update Gradle Wrapper to 7.5 (#5598) @github-actions