Skip to content

1.7.0

Compare
Choose a tag to compare
@bsideup bsideup released this 07 Apr 17:30

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 overloaded withExposedService() methods to DockerComposeContainer to allow user to define WaitStrategy for compose containers. (#174, #515 and (#600))
  • Deprecated WaitStrategy and implementations in favour of classes with same names in org.testcontainers.containers.strategy (#600)
  • Added ContainerState interface representing the state of a started container (#600)
  • Added WaitStrategyTarget interface which is the target of the new WaitStrategy (#600)
  • Breaking: Removed hard-coded wnameless Oracle database image name. Users should instead place a file on the classpath named testcontainers.properties containing oracle.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 DockerHealthcheckWaitStrategy that is based on Docker's built-in healthcheck (#618).
  • Added withLogConsumer(String serviceName, Consumer<OutputFrame> consumer) method to DockerComposeContainer (#605)

Fixed

  • Fixed extraneous insertion of useSSL=false in 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 of JdbcDatabaseContainer subclasses (#568)
  • Fixed getServicePort on DockerComposeContainer throws NullPointerException if service instance number in not used. (#619)
  • Increase Ryuk's timeout and make it configurable with ryuk.container.timeout. (#621#635)