All Versions
68
Latest Version
Avg Release Cycle
29 days
Latest Release
1262 days ago

Changelog History
Page 4

  • v1.7.1 Changes

    April 20, 2018

    🛠 Fixed

    • 🛠 Fixed missing commons-codec dependency (#642)
    • 🛠 Fixed HostPortWaitStrategy throws NumberFormatException when port is exposed but not mapped (#640)
    • 🛠 Fixed log processing: multibyte unicode, linebreaks and ASCII color codes. Color codes can be turned on with withRemoveAnsiCodes(false) (#643)
    • 🛠 Fixed Docker host IP detection within docker container (detect only if not explicitly set) (#648)
    • ➕ Add support for private repositories using docker credential stores/helpers (PR #647, fixes #567)

    🔄 Changed

    • 👌 Support multiple HTTP status codes for HttpWaitStrategy (#630)
    • ✅ Mark all long-living threads started by Testcontainers as daemons and group them. (#646)
    • ✂ Remove noisy DEBUG logging of Netty packets (#646)
    • ⚡️ Updated docker-java to 3.1.0-rc-2 (#646)
  • v1.7.0 Changes

    April 07, 2018

    🛠 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)

    🔄 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)
    • ➕ Added withFixedExposedPort(int hostPort, int containerPort, InternetProtocol protocol) method to FixedHostPortGenericContainer and addFixedExposedPort(int hostPort, int containerPort, InternetProtocol protocol) to GenericContainer (#586)
  • v1.6.0 Changes

    January 28, 2018

    🛠 Fixed

    • 🛠 Fixed incompatibility of Docker-Compose container with JDK9. (#562)
    • 🛠 Fixed retrieval of Docker host IP when running inside Docker. (#479)
    • ✅ Compose is now able to pull images from private repositories. (#536)
    • 🛠 Fixed overriding MySQL image command. (#534)
    • 🛠 Fixed shading for javax.annotation.CheckForNull (#563 and testcontainers/testcontainers-scala#11).

    🔄 Changed

    • ➕ Added JDK9 build and tests to Travis-CI. (#562)
    • ➕ Added Kafka module (#546)
    • ➕ Added "Death Note" to track & kill spawned containers even if the JVM was "kill -9"ed (#545)
    • ✅ Environment variables are now stored as Map instead of List (#550)
    • ➕ Added withEnv(String name, Function<Optional<String>, String> mapper) with optional previous value (#550)
    • ➕ Added withFileSystemBind overloaded method with READ_WRITE file mode by default (#550)
    • ✅ All connections to JDBC containers (e.g. MySQL) don't use SSL anymore. (#374)
  • v1.5.1 Changes

    December 19, 2017

    🛠 Fixed

    • 🛠 Fixed problem with case-sensitivity when checking internal port. (#524)
    • ➕ Add retry logic around checkExposedPort pre-flight check for improved robustness (#513)

    🔄 Changed

    • ➕ Added getDatabaseName method to JdbcDatabaseContainer, MySQLContainer, PostgreSQLContainer (#473)
    • ➕ Added VncRecordingContainer - Network-based, attachable re-implementation of VncRecordingSidekickContainer (#526)
  • v1.5.0 Changes

    December 12, 2017

    🛠 Fixed

    • 🛠 Fixed problems with using container based docker-compose on Windows (#514)
    • 🛠 Fixed problems with copying files on Windows (#514)
    • 🛠 Fixed regression in 1.4.3 when using Docker Compose on Windows (#439)
    • 🛠 Fixed local Docker Compose executable name resolution on Windows (#416)
    • 🛠 Fixed TAR composition on Windows (#444)
    • 👍 Allowing addExposedPort to be used after ports have been specified with withExposedPorts (#453)
    • ✅ Stopping creation of temporary directory prior to creating temporary file (#443)
    • ✅ Ensure that temp files are created in a temp directory (#423)
    • ➕ Added WaitAllStrategy as a mechanism for composing multiple startup WaitStrategy objects together
    • 🔄 Changed BrowserWebDriverContainer to use improved wait strategies, to eliminate race conditions when starting VNC recording containers. This should lead to far fewer 'error' messages logged when starting up selenium containers, and less exposure to race related bugs (fixes #466).

    🔄 Changed

    • ✅ Make Network instances reusable (i.e. work with @ClassRule) (#469)
    • ➕ Added support for explicitly setting file mode when copying file into container (#446, #467)
    • ✅ Use Visible Assertions 2.1.0 for pre-flight test output (eliminating Jansi/JNR-POSIX dependencies for lower likelihood of conflict. JNA is now used internally by Visible Assertions instead).
    • 🚀 Mark all links functionality as deprecated. This is pending removal in a later release. Please see #465. Network features should be used instead.
    • ➕ Added support for copying files to/from running containers (#378)
    • ➕ Add getLivenessCheckPorts as an eventual replacement for getLivenessCheckPort; this allows multiple ports to be included in post-startup wait strategies.
    • 🔨 Refactor wait strategy port checking and improve test coverage.
    • ➕ Added support for customising the recording file name (#500)
  • v1.4.3 Changes

    October 14, 2017

    🛠 Fixed

    • 🛠 Fixed local Docker Compose executable name resolution on Windows (#416, #460)
    • 🛠 Fixed TAR composition on Windows (#444)
    • 👍 Allowing addExposedPort to be used after ports have been specified with withExposedPorts (#453)
    • ✅ Stopping creation of temporary directory prior to creating temporary file (#443)

    🔄 Changed

    • ➕ Added forResponsePredicate method to HttpWaitStrategy to test response body (#441)
    • 🔄 Changed DockerClientProviderStrategy to be loaded via Service Loader (#434, #435)
    • 🐳 Made it possible to specify docker compose container in configuration (#422, #425)
    • ✅ Clarified wording of pre-flight check messages (#457, #436)
    • ➕ Added caching of failure to find a docker daemon, so that subsequent tests fail fast. This is likely to be a significant improvement in situations where there is no docker daemon available, dramatically reducing run time and log output when further attempts to find the docker daemon cannot succeed.
    • 👍 Allowing JDBC containers' username, password and DB name to be customized (#400, #354)
  • v1.4.2 Changes

    July 25, 2017

    🛠 Fixed

    • ✅ Worked around incompatibility between Netty's Unix socket support and OS X 10.11. Reinstated use of TCP-Unix Socket proxy when running on OS X prior to v10.12. (Fixes #402)
    • 🔄 Changed to use version 2.0 of the Visible Assertions library for startup pre-flight checks. This no longer has a dependency on Jansi, and is intended to resolve a JVM crash issue apparently caused by native lib version conflicts (#395). Please note that the newer ANSI code is less mature and thus has had less testing, particularly in interesting terminal environments such as Windows. If issues are encountered, coloured assertion output may be disabled by setting the system property visibleassertions.ansi.enabled to true.
    • 🛠 Fixed NullPointerException when calling GenericContainer#isRunning on not started container (#411)

    🔄 Changed

    • ✂ Removed Guava usage from jdbc module (#401)
  • v1.4.1 Changes

    July 10, 2017

    🛠 Fixed

    • 🛠 Fixed Guava shading in jdbc module
  • v1.4.0 Changes

    July 09, 2017

    🛠 Fixed

    • 🛠 Fixed the case when disk's size is bigger than Integer's max value (#379, #380)
    • 🛠 Fixed erroneous version reference used during CI testing of shaded dependencies
    • 🛠 Fixed leakage of Vibur and Tomcat JDBC test dependencies in jdbc-test and mysql modules (#382)
    • ➕ Added timeout and retries for creation of RemoteWebDriver (#381, #373, #257)
    • 🛠 Fixed various shading issues
    • 👌 Improved removal of containers/networks when using Docker Compose, eliminating irrelevant errors during cleanup (#342, #394)

    🔄 Changed

  • v1.3.1 Changes

    June 22, 2017

    🛠 Fixed

    • 🛠 Fixed non-POSIX fallback for file attribute reading (#371)
    • 🛠 Fixed NullPointerException in AuditLogger when running using slf4j-log4j12 bridge (#375)
    • 👌 Improved cleanup of JDBC connections during database container startup checks

    🔄 Changed

    • ✅ Extracted MariaDB into a separate repository (#337)
    • ➕ Added TC_DAEMON JDBC URL flag to prevent ContainerDatabaseDriver from shutting down containers at the time all connections are closed. (#359, #360)
    • ➕ Added pre-flight checks (can be disabled with checks.disable configuration property) (#363)
    • 👌 Improved startup time by adding dynamic priorities to DockerClientProviderStrategy (#362)
    • ➕ Added global configuration file ~/.testcontainers.properties (#362)
    • ➕ Added container arguments to specify SELinux contexts for mounts (#334)
    • ✂ Removed unused Jersey dependencies (#361)
    • ✂ Removed deprecated, wrongly-generated setters from GenericContainer