What's Changed
Highlights
This new version of Testcontainers comes packed with many new features and quality-of-life improvements, so we appropriately bumped the version to 1.17.0
.
๐ New Module: HiveMQ (#4797) @YannickWeber
Having started its Open Source life as its own 3rd-party Testcontainers library, we are very happy to welcome HiveMQ into the main repository.
Now, using HiveMQ as part of your integration tests is as simple as a couple of lines of Java code:
@Container
HiveMQContainer hivemq = new HiveMQContainer(DockerImageName.parse("hivemq/hivemq-ce:2021.3"));
hivemq.start();
Mqtt5BlockingClient client = Mqtt5Client.builder()
.serverPort(hivemqCe.getMqttPort())
.serverHost(hivemqCe.getHost())
.buildBlocking();
client.connect();
Check out the docs to learn more about its many features!
๐ Ryuk JVM mode (#4959) (#4960) @bsideup
Many Testcontainers user love the convenience Ryuk brings to Testcontainers: No matter what you do in your integration tests, Ryuk has got you covered and will cleanup all Docker resources created by Testcontainers after your test run is finished.
But some users operate Testcontainers in environments which do not support our container-based Ryuk implementation. So far their only option was to disable Ryuk alltogether.
Coming with this release, Testcontainers will now fallback to a JVM based resource-cleanup implementation in case of Ryuk being disabled.
While this won't be as robust as the Ryuk container based implementation in all circumstances, it is nevertheless a great addition and acts as a useful compromise.
๐ Features & Enhancements
- Allow to create a container file from a Transferable (#3814) (#3815) @thomasdarimont
- Elasticsearch: Ensure Elasticsearch 8 works OOTB secure as default (#5099) @spinscale
- Deperecate
getContainerIpAddress
(#5247) @kiview - Fix ScriptUtils.runInitScript() in hierarchical classloader setup by using TCCL (#5167) @famod
- [HiveMQ] added tmpFs (#5109) @YannickWeber
- Replace deprecated
checkAndPullImage
withRemoteDockerImage
(#5148) @bsideup - Enable Neo4j labs plugin definition. (#5035) @meistermeier
- Deprecate
getTestHostIpAddress
andgetContainerIpAddress
(#5149) @bsideup - Add the session header to every Docker request (#5145) @bsideup
- Start Ryuk lazily when in the reusable mode (#4938) @bsideup
- [HiveMQ] replaced MultiLogMessageWaitStrategy.java with WaitAllStrategy (#5093) @YannickWeber
- #5032 - MS SQL Server disable encrypt by default (#5033) @StefanHufschmidt
- [Couchbase] Add support for Eventing service (#4953) @tchlyah
๐ Bug Fixes
- Fix incorrect path for RABBITMQ_CONFIG_FILE (#5184) @mdedetrich
- Update mkdocs to 1.3.0 (#5186) @kiview
- Do not mount Selenium's SHM on Windows (#5105) @bsideup
๐ Documentation
- Improved jitpack dependencies page (#5189) @YannickWeber
- Update mkdocs to 1.3.0 (#5186) @kiview
- Mention that Spring Data Neo4j uses Testcontainers in the docs. (#5169) @meistermeier
- Fix formatting in docs for image override configuration (#5147) @rnorth
- [docs]Add the used organization
Byzer
. (#5125) @hellozepp - [Neo4j] Include code from tests in docs. (#5120) @meistermeier
- Polish code samples so that they are easier to copy & paste (#5038) @maciejwalkowiak
- Upgrade mkdocs (#3443) @rnorth
- Remove the
INCUBATING
note from CockroachDB module docs (#4963) @kiview - Update docs version to ${GITHUB_REF##*/} (#4932) @github-actions
- Simplify dependency management for JUnit Jupiter (#4704) @marcphilipp
๐งน Housekeeping
- Increase default client ping timeout from 5 to 10 seconds (#5254) @kiview
- add virtual environment to git ignore (#5156) @jetersen
- Improve Gradle build cacheability (#5188) @jprinet
- Remove OkHttp transport (#5113) @bsideup
- use collapse-after for dependencies category (#5157) @jetersen
- [HiveMQ] replaced non-ascii single quote with ascii single quote (#5102) @YannickWeber
- Run tests using shaded dependencies (#5146) @bsideup
- [HiveMQ] every IT now uses getHost() (#5106) @YannickWeber
- Fix tests on Windows (#5096) @bsideup
- Upgrade mkdocs (#3443) @rnorth
- Remove some dead code from PostgreSQLContainer (#4948) @dajudge
- Use JDK 1.8 in Azure pipelines (#4942) @kiview
๐ฆ Dependency updates
Click to expand...
- Update Gradle Wrapper to 7.4.2 (#5193) @github-actions
- Update Gradle Wrapper to 7.4.1 (#5168) @github-actions
- Update to
docker-java
3.2.13 (#5045) @bsideup - Update Gradle Wrapper to 7.4 (#5036) @github-actions
- Upgrade mkdocs (#3443) @rnorth
- Bump zip4j from 2.9.1 to 2.10.0 in /modules/hivemq (#5242) @dependabot
- Bump hivemq-extension-sdk from 4.7.4 to 4.7.5 in /modules/hivemq (#5241) @dependabot
- Bump google-cloud-firestore from 3.0.14 to 3.0.21 in /modules/gcloud (#5239) @dependabot
- Bump google-cloud-pubsub from 1.115.1 to 1.116.3 in /modules/gcloud (#5238) @dependabot
- Bump google-cloud-datastore from 2.2.2 to 2.3.0 in /modules/gcloud (#5236) @dependabot
- Bump reactor-core from 3.4.15 to 3.4.16 in /modules/r2dbc (#5234) @dependabot
- Bump google-cloud-bigtable from 2.5.2 to 2.6.1 in /modules/gcloud (#5233) @dependabot
- Bump mongodb-driver-sync from 4.5.0 to 4.5.1 in /modules/mongodb (#5231) @dependabot
- Bump client-java from 14.0.0 to 15.0.0 in /modules/k3s (#5230) @dependabot
- Bump trino-jdbc from 369 to 375 in /modules/trino (#5228) @dependabot
- Bump r2dbc-postgresql from 0.8.11.RELEASE to 0.8.12.RELEASE in /modules/r2dbc (#5227) @dependabot
- Bump okhttp from 3.14.9 to 4.9.3 in /modules/solr (#5229) @dependabot
- Bump peter-evans/create-pull-request from 3.12.1 to 4.0.1 (#5226) @dependabot
- Bump actions/cache from 2.1.7 to 3.0.1 (#5225) @dependabot
- Bump neo4j-java-driver from 4.4.3 to 4.4.5 in /examples (#5223) @dependabot
- Bump s3 from 2.17.108 to 2.17.162 in /modules/localstack (#5222) @dependabot
- Bump aws-java-sdk-logs from 1.12.169 to 1.12.191 in /modules/localstack (#5221) @dependabot
- Bump awaitility from 4.1.1 to 4.2.0 in /core (#5219) @dependabot
- Bump logback-classic from 1.2.10 to 1.2.11 in /examples (#5216) @dependabot
- Bump org.jetbrains.kotlin.plugin.spring from 1.6.10 to 1.6.20 in /examples (#5215) @dependabot
- Bump transport from 7.17.1 to 7.17.2 in /modules/elasticsearch (#5214) @dependabot
- Bump mockito-core from 4.3.1 to 4.4.0 in /modules/junit-jupiter (#5212) @dependabot
- Bump jedis from 4.1.1 to 4.2.1 in /examples (#5210) @dependabot
- Bump java-client from 3.2.5 to 3.2.6 in /modules/couchbase (#5209) @dependabot
- Bump aws-java-sdk-s3 from 1.12.169 to 1.12.191 in /modules/localstack (#5206) @dependabot
- Bump rest-assured from 4.5.1 to 5.0.0 in /modules/vault (#5207) @dependabot
- Bump neo4j-java-driver from 4.4.3 to 4.4.5 in /modules/neo4j (#5205) @dependabot
- Bump elasticsearch-rest-client from 7.16.2 to 8.1.2 in /modules/elasticsearch (#5202) @dependabot
- Bump awaitility from 4.1.1 to 4.2.0 in /modules/couchbase (#5199) @dependabot
- Bump tomcat-jdbc from 10.0.16 to 10.0.20 in /modules/jdbc (#5196) @dependabot
- Bump tomcat-jdbc from 10.0.16 to 10.0.20 in /modules/jdbc-test (#5195) @dependabot
- Bump actions/checkout from 2 to 3 (#5140) @dependabot
- Bump google-cloud-firestore from 3.0.11 to 3.0.14 in /modules/gcloud (#5143) @dependabot
- Bump google-cloud-spanner from 6.17.4 to 6.20.0 in /modules/gcloud (#5142) @dependabot
- Bump actions/setup-java from 2.5.0 to 3 (#5141) @dependabot
- Bump actions/checkout from 2 to 3 (#5140) @dependabot
- Bump aws-java-sdk-dynamodb from 1.12.150 to 1.12.169 in /modules/dynalite (#5138) @dependabot
- Bump transport from 7.17.0 to 7.17.1 in /modules/elasticsearch (#5136) @dependabot
- Bump org.springframework.boot from 2.6.3 to 2.6.4 in /examples (#5137) @dependabot
- Bump elasticsearch-rest-client from 7.16.2 to 8.0.1 in /modules/elasticsearch (#5135) @dependabot
- Bump guava from 31.0.1-jre to 31.1-jre in /modules/jdbc-test (#5133) @dependabot
- Bump aws-java-sdk-logs from 1.12.139 to 1.12.169 in /modules/localstack (#5132) @dependabot
- Bump neo4j from 3.5.29 to 3.5.31 in /modules/neo4j (#5131) @dependabot
- Bump aws-java-sdk-sqs from 1.12.150 to 1.12.169 in /modules/localstack (#5130) @dependabot
- Bump aws-java-sdk-s3 from 1.12.150 to 1.12.169 in /modules/localstack (#5127) @dependabot
- Bump postgresql from 42.3.2 to 42.3.3 in /examples (#5090) @dependabot
- Bump google-cloud-datastore from 2.2.2 to 2.2.4 in /modules/gcloud (#5088) @dependabot
- Bump release-drafter/release-drafter from 5.17.6 to 5.18.1 (#5087) @dependabot
- Bump amqp-client from 5.14.1 to 5.14.2 in /core (#5080) @dependabot
- Bump azure-cosmos from 4.24.0 to 4.26.0 in /modules/azure (#5079) @dependabot
- Bump google-cloud-bigtable from 2.5.2 to 2.5.3 in /modules/gcloud (#5075) @dependabot
- Bump kubernetes-client from 5.11.0 to 5.12.1 in /modules/k3s (#5071) @dependabot
- Bump amqp-client from 5.14.1 to 5.14.2 in /modules/rabbitmq (#5070) @dependabot
- Bump rest-assured from 4.4.0 to 4.5.1 in /modules/vault (#5072) @dependabot
- Bump postgresql from 42.3.1 to 42.3.3 in /modules/postgresql (#5064) @dependabot
- Bump postgresql from 42.3.2 to 42.3.3 in /modules/cockroachdb (#5063) @dependabot
- Bump reactor-core from 3.4.14 to 3.4.15 in /modules/r2dbc (#5065) @dependabot
- Bump postgresql from 42.3.2 to 42.3.3 in /modules/junit-jupiter (#5059) @dependabot
- Bump hivemq-extension-sdk from 4.7.3 to 4.7.4 in /modules/hivemq (#5061) @dependabot
- Bump mongodb-driver-sync from 4.4.1 to 4.5.0 in /modules/mongodb (#5062) @dependabot
- Bump spock-core from 2.0-groovy-3.0 to 2.1-groovy-3.0 in /modules/spock (#5057) @dependabot
- Bump google-cloud-datastore from 2.2.2 to 2.2.3 in /modules/gcloud (#5013) @dependabot
- Bump cucumber-junit from 7.2.2 to 7.2.3 in /examples (#4976) @dependabot
- Bump mysql-connector-java from 8.0.27 to 8.0.28 in /modules/jdbc-test (#4971) @dependabot
- Bump mysql-connector-java from 8.0.27 to 8.0.28 in /modules/mysql (#4972) @dependabot
- Bump google-cloud-bigtable from 2.5.1 to 2.5.2 in /modules/gcloud (#5015) @dependabot
- Bump assertj-core from 3.21.0 to 3.22.0 in /modules/k3s (#5012) @dependabot
- Bump jackson-dataformat-yaml from 2.8.8 to 2.13.1 in /modules/k3s (#5011) @dependabot
- Bump amqp-client from 5.14.0 to 5.14.1 in /modules/rabbitmq (#5008) @dependabot
- Bump google-cloud-firestore from 3.0.10 to 3.0.11 in /modules/gcloud (#5006) @dependabot
- Bump postgresql from 42.3.1 to 42.3.2 in /modules/cockroachdb (#5005) @dependabot
- Bump trino-jdbc from 367 to 369 in /modules/trino (#5004) @dependabot
- Bump peter-evans/create-pull-request from 3.12.0 to 3.12.1 (#5003) @dependabot
- Bump gradle-update/update-gradle-wrapper-action from 1.0.16 to 1.0.17 (#5002) @dependabot
- Bump release-drafter/release-drafter from 5.15.0 to 5.17.6 (#5001) @dependabot
- Bump cucumber-java from 7.2.2 to 7.2.3 in /examples (#4999) @dependabot
- Bump amqp-client from 5.14.0 to 5.14.1 in /core (#4997) @dependabot
- Bump kafka-clients from 3.0.0 to 3.1.0 in /examples (#4998) @dependabot
- Bump postgresql from 42.3.1 to 42.3.2 in /examples (#4996) @dependabot
- Bump mockito-core from 4.2.0 to 4.3.1 in /core (#4995) @dependabot
- Bump postgresql from 42.3.1 to 42.3.2 in /modules/junit-jupiter (#4994) @dependabot
- Bump slf4j-api from 1.7.32 to 1.7.35 in /core (#4991) @dependabot
- Bump org.springframework.boot from 2.6.2 to 2.6.3 in /examples (#4992) @dependabot
- Bump jedis from 4.0.1 to 4.1.1 in /modules/junit-jupiter (#4990) @dependabot
- Bump transport from 7.16.2 to 7.17.0 in /modules/elasticsearch (#4988) @dependabot
- Bump aws-java-sdk-s3 from 1.12.137 to 1.12.150 in /modules/localstack (#4989) @dependabot
- Bump jedis from 4.0.1 to 4.1.1 in /examples (#4986) @dependabot
- Bump mockito-core from 4.2.0 to 4.3.1 in /modules/junit-jupiter (#4987) @dependabot
- Bump mysql-connector-java from 8.0.27 to 8.0.28 in /modules/spock (#4985) @dependabot
- Bump testcontainers from 1.16.2 to 1.16.3 in /core (#4984) @dependabot
- Bump aws-java-sdk-dynamodb from 1.12.137 to 1.12.150 in /modules/dynalite (#4980) @dependabot
- Bump mariadb-java-client from 2.7.4 to 3.0.3 in /modules/mariadb (#4981) @dependabot
- Bump neo4j-java-driver from 4.4.2 to 4.4.3 in /modules/neo4j (#4977) @dependabot
- Bump aws-java-sdk-sqs from 1.12.139 to 1.12.150 in /modules/localstack (#4978) @dependabot
- Bump cucumber-junit from 7.2.2 to 7.2.3 in /examples (#4976) @dependabot
- Bump tomcat-jdbc from 10.0.14 to 10.0.16 in /modules/jdbc-test (#4973) @dependabot
- Bump mysql-connector-java from 8.0.27 to 8.0.28 in /modules/junit-jupiter (#4970) @dependabot
- Bump tomcat-jdbc from 10.0.14 to 10.0.16 in /modules/jdbc (#4967) @dependabot
- Bump java-client from 3.2.4 to 3.2.5 in /modules/couchbase (#4966) @dependabot