1.7.0
https://github.com/testcontainers/testcontainers-java/milestone/31?closed=1
This release brings:
- Maven BOM support (
org.testcontainers:testcontainers-bom:1.7.0) - DockerCompose improvements: waiting strategies, log consumers, better defaults
- Various JDBC improvements
- Docker's built-in healthcheck support with
DockerHealthcheckWaitStrategy - Auto detection of classpath's Selenium 3.x version
Changed
- Added compatibility with selenium greater than 3.X (#611)
- Abstracted and changed database init script functionality to support use of SQL-like scripts with non-JDBC connections. (#551)
- Added
JdbcDatabaseContainer(Future)constructor. (#543) - Mark DockerMachineClientProviderStrategy as not persistable (#593)
- Added
waitingFor(String serviceName, WaitStrategy waitStrategy)and overloadedwithExposedService()methods toDockerComposeContainerto allow user to defineWaitStrategyfor compose containers. (#174, #515 and (#600)) - Deprecated
WaitStrategyand implementations in favour of classes with same names inorg.testcontainers.containers.strategy(#600) - Added
ContainerStateinterface representing the state of a started container (#600) - Added
WaitStrategyTargetinterface which is the target of the newWaitStrategy(#600) - Breaking: Removed hard-coded
wnamelessOracle database image name. Users should instead place a file on the classpath namedtestcontainers.propertiescontainingoracle.container.image=IMAGE, where IMAGE is a suitable image name and tag/SHA hash. For information, the approach recommended by Oracle for creating an Oracle XE docker image is described here. - Added
DockerHealthcheckWaitStrategythat is based on Docker's built-in healthcheck (#618). - Added
withLogConsumer(String serviceName, Consumer<OutputFrame> consumer)method toDockerComposeContainer(#605)
Fixed
- Fixed extraneous insertion of
useSSL=falsein all JDBC URL strings, even for DBs that do not understand it. Usage is now restricted to MySQL by default and can be overridden by authors ofJdbcDatabaseContainersubclasses (#568) - Fixed
getServicePortonDockerComposeContainerthrows NullPointerException if service instance number in not used. (#619) - Increase Ryuk's timeout and make it configurable with
ryuk.container.timeout. (#621#635)