Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.

Overview

Testcontainers

Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.

Build Status Download

Testcontainers logo

Read the documentation here

License

See LICENSE.

Copyright

Copyright (c) 2015 - 2021 Richard North and other authors.

MS SQL Server module is (c) 2017 - 2021 G DATA Software AG and other authors.

Hashicorp Vault module is (c) 2017 - 2021 Capital One Services, LLC and other authors.

See contributors for all contributors.

Issues
  • Podman support

    Podman support

    It would be really nice if TestContainers supported podman. This is a real game changer to no longer depend on Docker daemons to run.

    resolution/somedaymaybe 
    opened by gastaldi 92
  • Azure pipelines

    Azure pipelines

    type/housekeeping type/test-improvement os/windows os/linux 
    opened by bsideup 65
  • "No such image: testcontainers/ryuk:0.3.0"

    Testcontainers 1.15.0 on Docker Engine 20.10/Docker for Mac 2.5.4 fails with the following stacktrace:

    org.testcontainers.containers.ContainerLaunchException: Container startup failed
    
    	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:327)
    	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:308)
    	at org.testcontainers.spock.TestcontainersMethodInterceptor.startContainers_closure3(TestcontainersMethodInterceptor.groovy:83)
    	at groovy.lang.Closure.call(Closure.java:405)
    	at groovy.lang.Closure.call(Closure.java:421)
    	at org.testcontainers.spock.TestcontainersMethodInterceptor.startContainers(TestcontainersMethodInterceptor.groovy:80)
    	at org.testcontainers.spock.TestcontainersMethodInterceptor.interceptSetupSpecMethod(TestcontainersMethodInterceptor.groovy:25)
    	at org.spockframework.runtime.extension.AbstractMethodInterceptor.intercept(AbstractMethodInterceptor.java:36)
    	at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:97)
    	at org.spockframework.spring.SpringInterceptor.interceptSetupSpecMethod(SpringInterceptor.java:37)
    	at org.spockframework.runtime.extension.AbstractMethodInterceptor.intercept(AbstractMethodInterceptor.java:36)
    	at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:97)
    	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
    	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
    	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
    Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=couchdb:1.7.2, imagePullPolicy=DefaultPullPolicy())
    	at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1278)
    	at org.testcontainers.containers.GenericContainer.logger(GenericContainer.java:612)
    	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:317)
    	... 16 more
    Caused by: com.github.dockerjava.api.exception.NotFoundException: Status 404: {"message":"No such image: testcontainers/ryuk:0.3.0"}
    
    	at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:241)
    	at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.post(DefaultInvocationBuilder.java:125)
    	at org.testcontainers.shaded.com.github.dockerjava.core.exec.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:33)
    	at org.testcontainers.shaded.com.github.dockerjava.core.exec.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:13)
    	at org.testcontainers.shaded.com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
    	at org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
    	at org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl.exec(CreateContainerCmdImpl.java:595)
    	at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:91)
    	at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:203)
    	at org.testcontainers.LazyDockerClient.getDockerClient(LazyDockerClient.java:14)
    	at org.testcontainers.LazyDockerClient.listImagesCmd(LazyDockerClient.java:12)
    	at org.testcontainers.images.LocalImagesCache.maybeInitCache(LocalImagesCache.java:68)
    	at org.testcontainers.images.LocalImagesCache.get(LocalImagesCache.java:32)
    	at org.testcontainers.images.AbstractImagePullPolicy.shouldPull(AbstractImagePullPolicy.java:18)
    	at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:66)
    	at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:27)
    	at org.testcontainers.utility.LazyFuture.getResolvedValue(LazyFuture.java:17)
    	at org.testcontainers.utility.LazyFuture.get(LazyFuture.java:39)
    	at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1276)
    	... 18 more
    
    opened by gesellix 60
  • Test containers stale forever with docker in docker

    Test containers stale forever with docker in docker

    Running testcontainers v1.11.2 on a TeamCity worker over docker. It was working until we moved everything to a new machine (we also changed OS from Ubuntu to Debian). Now it run forever without logging anything:

    Running TestDockerDBs
    [main] INFO org.testcontainers.dockerclient.DockerClientProviderStrategy - Loaded org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy from ~/.testcontainers.properties, will try it first
    [main] INFO org.testcontainers.dockerclient.DockerClientProviderStrategy - Will use 'okhttp' transport
    [main] INFO org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy - Found docker client settings from environment
    [main] INFO org.testcontainers.dockerclient.DockerClientProviderStrategy - Found Docker environment with Environment variables, system properties and defaults. Resolved:
        dockerHost=unix:///var/run/docker.sock
        apiVersion='{UNKNOWN_VERSION}'
        registryUrl='https://index.docker.io/v1/'
        registryUsername='root'
        registryPassword='null'
        registryEmail='null'
        dockerConfig='DefaultDockerClientConfig[dockerHost=unix:///var/run/docker.sock,registryUsername=root,registryPassword=<null>,registryEmail=<null>,registryUrl=https://index.docker.io/v1/,dockerConfigPath=/root/.docker,sslConfig=<null>,apiVersion={UNKNOWN_VERSION},dockerConfig=<null>]'
    
    [main] WARN org.testcontainers.utility.RegistryAuthLocator - Failure when attempting to lookup auth config (dockerImageName: alpine:3.5, configFile: /root/.docker/config.json. Falling back to docker-java default behaviour. Exception message: /root/.docker/config.json (No such file or directory)
    

    This was running for 14 hours without any response.

    It seems that the alpine container it's stopping right after starting, logging only the ip (which is in the same subnet as the worker).

    Docker info:

    Containers: 16
     Running: 15
     Paused: 0
     Stopped: 1
    Images: 16
    Server Version: 18.09.6
    Storage Driver: overlay2
     Backing Filesystem: extfs
     Supports d_type: true
     Native Overlay Diff: true
    Logging Driver: journald
    Cgroup Driver: cgroupfs
    Plugins:
     Volume: local
     Network: bridge host macvlan null overlay
     Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
    Swarm: inactive
    Runtimes: runc
    Default Runtime: runc
    Init Binary: docker-init
    containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
    runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
    init version: fec3683
    Security Options:
     seccomp
      Profile: default
    Kernel Version: 4.9.0-9-amd64
    Operating System: Debian GNU/Linux 9 (stretch)
    OSType: linux
    Architecture: x86_64
    CPUs: 72
    Total Memory: 250.6GiB
    Name: mighty
    ID: IBKW:IZW5:C26P:EYCR:7MEL:FZEO:NT75:NFWE:SU3V:XAF4:VRDT:YL6T
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    Labels:
    Experimental: false
    Insecure Registries:
     127.0.0.0/8
    Live Restore Enabled: false
    Product License: Community Engine
    
    WARNING: No swap limit support
    
    help wanted client/in-container 
    opened by ABeltramo 53
  • DockerClientFactory#client() dead lock when running docker inside docker (DiD)

    DockerClientFactory#client() dead lock when running docker inside docker (DiD)

    DockerClientFactory#client() causes deadlock when running docker-in-docker and tries to resolve IP address.

    Environment

    docker-in-docker (gradle build in Jenkins)

    When

    resolving DockerClientProviderStrategy#getDockerHostIpAddress()

    Description and steps to reproduce: We use PostgreSQLContainer 1.11.4 to run DB instance:

    1. new PostgreSQLContainer();

    2. It calls parent constructors till GenericContainer() initializing DockerClientFactory#client() singleton instance.

    3. DockerClientFactory#client() uses synchronized(this.$lock): image

    4. Tries to get host ip

    5. the host URI is unix:///var/run/docker.sock, scheme is unix and running IN_A_CONTAINER => goto DockerClientConfigUtils#getDefaultGateway()

    6. To define the gateway they want run ip route|awk '/default/ { print $3 }' inside alpine container. To achieve this they need to call DockerClientFactory#runInsideDocker(Consumer, BiFunction)

    7. DockerClientFactory#runInsideDocker(Consumer, BiFunction) fetches (initializes) client instance again, because strategy is still null! image

    8. call DockerClientFactory#client(), but it is synchronized and locked on STEP 3 -> DEAD LOCK!!

    Environment:

    Testcontainers Version: 1.11.4 JVM: 11.0.3 (Azul Systems, Inc. 11.0.3+7-LTS) Gradle: 5.5 Platform:

    Client:
      Version:           18.09.6
      API version:       1.39
      Built:             Sat May  4 02:35:27 2019
      OS/Arch:           linux/amd64
    
    Engine:
      Version:          18.09.2
      API version:      1.39 (minimum version 1.12)
      Built:            Sun Feb 10 03:42:13 2019
      OS/Arch:          linux/amd64
    

    Notes:

    This works correct when running in host systems, because in this case IN_A_CONTAINER is false and getDockerHostIpAddress() is resolved to default "localhost" value.

    opened by radistao 50
  • test failures in version 1.1.0

    test failures in version 1.1.0

    At commit 248befb, I'm seeing test failures on my local box. There's enough output that I hesitate to paste it all. I'm happy to add more to help figure out what's going on.

    $ mvn clean install
    <snipped...a lot>
    Results :
    
    Failed tests:   pullingNonExistentImageFailsGracefully(org.testcontainers.junit.NonExistentImagePullTest): Pulling a nonexistent container will cause an exception to be thrown: IllegalStateException was thrown instead of ContainerFetchException
    
    Tests in error: 
      secondTest(org.testcontainers.junit.DockerComposeV2FormatTest): Can't get Docker image name from [email protected]
      simpleDockerfileWorks(org.testcontainers.junit.DockerfileTest): failed to create a child event loop
      customizableImage(org.testcontainers.junit.DockerfileTest): Can't get Docker image name from [email protected]
      dockerfileBuilderWorks(org.testcontainers.junit.DockerfileTest): failed to create a child event loop
      org.testcontainers.junit.DockerNetworkModeTest
      testFixedHostPortMapping(org.testcontainers.junit.FixedHostPortContainerTest): failed to create a child event loop
      org.testcontainers.junit.GenericContainerRuleTest
      testFetchStdoutWithNoLimit(org.testcontainers.junit.OutputStreamTest): failed to create a child event loop
      testFetchStdout(org.testcontainers.junit.OutputStreamTest): failed to create a child event loop
      testFetchStdoutWithTimeout(org.testcontainers.junit.OutputStreamTest): failed to create a child event loop
      testLogConsumer(org.testcontainers.junit.OutputStreamTest): failed to create a child event loop
      testToStringConsumer(org.testcontainers.junit.OutputStreamTest): failed to create a child event loop
      simpleTest[alpine:3.2](org.testcontainers.junit.ParameterizedDockerfileContainerTest): failed to create a child event loop
      simpleTest[alpine:3.3](org.testcontainers.junit.ParameterizedDockerfileContainerTest): failed to create a child event loop
      testWaitUntilReady_Success(org.testcontainers.junit.wait.HostPortWaitStrategyTest): failed to create a child event loop
      testWaitUntilReady_Timeout(org.testcontainers.junit.wait.HostPortWaitStrategyTest): failed to create a child event loop
      testWaitUntilReady_Success(org.testcontainers.junit.wait.HttpWaitStrategyTest): failed to create a child event loop
      testWaitUntilReady_Timeout(org.testcontainers.junit.wait.HttpWaitStrategyTest): failed to create a child event loop
    
    Tests run: 52, Failures: 1, Errors: 18, Skipped: 3
    
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] TestContainers Parent POM .......................... SUCCESS [  0.850 s]
    [INFO] TestContainers Core ................................ FAILURE [02:30 min]
    [INFO] TestContainers :: JDBC ............................. SKIPPED
    [INFO] TestContainers :: JDBC :: MySQL .................... SKIPPED
    [INFO] TestContainers :: JDBC :: PostgreSQL ............... SKIPPED
    [INFO] TestContainers :: Selenium ......................... SKIPPED
    [INFO] TestContainers :: nginx ............................ SKIPPED
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 02:31 min
    [INFO] Finished at: 2016-07-06T10:06:27-07:00
    [INFO] Final Memory: 38M/524M
    [INFO] ------------------------------------------------------------------------
    

    with a stack trace that shows up a bunch:

    Exception in thread "Thread-2" java.lang.IllegalStateException: failed to create a child event loop
        at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:81)
        at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:48)
        at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:57)
        at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:67)
        at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:54)
        at com.github.dockerjava.netty.DockerCmdExecFactoryImpl$InetSocketInitializer.init(DockerCmdExecFactoryImpl.java:241)
        at com.github.dockerjava.netty.DockerCmdExecFactoryImpl.init(DockerCmdExecFactoryImpl.java:197)
        at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:159)
        at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:45)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getClientForConfig(DockerClientProviderStrategy.java:96)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getClient(DockerClientProviderStrategy.java:89)
        at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:85)
        at org.testcontainers.images.builder.ImageFromDockerfile.lambda$static$22(ImageFromDockerfile.java:42)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: io.netty.channel.ChannelException: failed to open a new selector
        at io.netty.channel.nio.NioEventLoop.openSelector(NioEventLoop.java:127)
        at io.netty.channel.nio.NioEventLoop.<init>(NioEventLoop.java:119)
        at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:97)
        at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:31)
        at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:77)
        ... 13 more
    Caused by: java.io.IOException: Too many open files
        at sun.nio.ch.IOUtil.makePipe(Native Method)
        at sun.nio.ch.KQueueSelectorImpl.<init>(KQueueSelectorImpl.java:84)
        at sun.nio.ch.KQueueSelectorProvider.openSelector(KQueueSelectorProvider.java:42)
        at io.netty.channel.nio.NioEventLoop.openSelector(NioEventLoop.java:125)
        ... 17 more
    

    I'm running OS X 10.10.5, using docker toolbox 1.11.2.

    $ docker info
    Containers: 1
    Images: 449
    Storage Driver: aufs
     Root Dir: /mnt/sda1/var/lib/docker/aufs
     Backing Filesystem: extfs
     Dirs: 613
     Dirperm1 Supported: true
    Logging Driver: json-file
    Kernel Version: 4.4.8-boot2docker
    Operating System: Boot2Docker 1.11.1-rc1 (TCL 7.0); HEAD : 903a352 - Tue Apr 26 14:18:06 UTC 2016
    CPUs: 1
    Total Memory: 995.9 MiB
    Name: docker-vm
    ID: QAXI:YDZA:NQO6:CJ6F:222Q:FZO5:MJIB:BKUR:OCQP:WCJJ:QOUT:JYPN
    Debug mode (server): true
    File Descriptors: 13
    Goroutines: 30
    System Time: 2016-07-06T17:25:13.145332684Z
    EventsListeners: 0
    Init SHA1: 
    Init Path: 
    Docker Root Dir: /mnt/sda1/var/lib/docker
    Username: ********
    Registry: https://index.docker.io/v1/
    Labels:
     provider=virtualbox
    
    type/bug 
    opened by dbyron0 47
  • Can't connect to Ryuk container when using remote Docker host

    Can't connect to Ryuk container when using remote Docker host

    Version 1.6.0 Not sure if this came from multiple threads but never seen it with single thread. Many tests use several types of containers.

    java.lang.ExceptionInInitializerError
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:348)
    	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:58)
    	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
    	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
    	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:48)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    	at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
    	at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    	at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
    	at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:105)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    	at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:355)
    	at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.IllegalStateException: Can not connect to Ryuk
    	at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:158)
    	at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:116)
    	at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:126)
    	at org.testcontainers.containers.JdbcDatabaseContainer.<init>(JdbcDatabaseContainer.java:35)
    	at org.testcontainers.containers.PostgreSQLContainer.<init>(PostgreSQLContainer.java:28)
    	at com.tests.container.DbContainer.<init>()
    	at com.tests.MyTest.<clinit>()
    	... 27 more
    
    
    resolution/acknowledged 
    opened by alexcase52 43
  • Not working in Bitbucket pipeline:

    Not working in Bitbucket pipeline: "authorization denied by plugin pipelines: Command not supported."

    It seems to be both docker and testcontainers issue:

    Running name.antonsmirnov.apptogether.dao.DeveloperDaoTest
    08:08:56.040 [main] INFO  EnvironmentAndSystemPropertyClientProviderStrategy - Found docker client settings from environment
    08:08:56.060 [main] INFO  DockerClientProviderStrategy - Found Docker environment with Environment variables, system properties and defaults. Resolved: 
        dockerHost=tcp://localhost:2375
        apiVersion='{UNKNOWN_VERSION}'
        registryUrl='https://index.docker.io/v1/'
        registryUsername='root'
        registryPassword='null'
        registryEmail='null'
        dockerConfig='DefaultDockerClientConfig[dockerHost=tcp://localhost:2375,registryUsername=root,registryPassword=<null>,registryEmail=<null>,registryUrl=https://index.docker.io/v1/,dockerConfigPath=/root/.docker,sslConfig=<null>,apiVersion={UNKNOWN_VERSION},dockerConfig=<null>]'
    
    08:08:56.066 [main] INFO  DockerClientFactory - Docker host IP address is localhost
    08:08:56.227 [main] INFO  DockerClientFactory - Connected to docker: 
      Server Version: 17.12.0-ce
      API Version: 1.35
      Operating System: Alpine Linux v3.7 (containerized)
      Total Memory: 32171 MB
    08:08:57.182 [testcontainers-netty-1-6] ERROR ResultCallbackTemplate - Error during callback
    com.github.dockerjava.api.exception.DockerException: {"message":"authorization denied by plugin pipelines: Command not supported."}
    
    	at com.github.dockerjava.netty.handler.HttpResponseHandler.channelRead0(HttpResponseHandler.java:111) [testcontainers-1.7.2.jar:na]
    	at com.github.dockerjava.netty.handler.HttpResponseHandler.channelRead0(HttpResponseHandler.java:33) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1342) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:934) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [testcontainers-1.7.2.jar:na]
    	at org.testcontainers.shaded.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138) [testcontainers-1.7.2.jar:na]
    	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
    Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.211 sec <<< FAILURE!
    

    Fabric docker plugin had the same issue and they were able to fix it with relatively small changes in plugin. See issues:

    • https://bitbucket.org/site/master/issues/15844/bug-in-authorization-plugin#comment-45553072
    • https://bitbucket.org/site/master/issues/15505/maven-fabric8-plugin-fails-to-run-docker

    This is blocker issue and can be easily fixed.

    type/bug resolution/acknowledged area/bitbucket-pipelines 
    opened by 4ntoine 43
  • Intermittent couchbase failures in CI

    Intermittent couchbase failures in CI

    For a long time we've been getting intermittent failures in CI, such as this:

    shouldInsertDocument - org.testcontainers.couchbase.Couchbase4_6Test
    com.couchbase.client.core.RequestCancelledException: Request cancelled in-flight.
    	at com.couchbase.client.core.endpoint.AbstractGenericHandler.handleOutstandingOperations(AbstractGenericHandler.java:686)
    	at com.couchbase.client.core.endpoint.AbstractGenericHandler.handlerRemoved(AbstractGenericHandler.java:667)
    	at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.callHandlerRemoved0(DefaultChannelPipeline.java:626)
    	at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.destroyDown(DefaultChannelPipeline.java:878)
    	at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.destroyUp(DefaultChannelPipeline.java:844)
    	at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.destroy(DefaultChannelPipeline.java:836)
    	at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.access$700(DefaultChannelPipeline.java:44)
    	at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:1286)
    	at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:176)
    	at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:162)
    	at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:821)
    	at com.couchbase.client.deps.io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:776)
    	at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399)
    	at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:464)
    	at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
    	at com.couchbase.client.deps.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    	at java.lang.Thread.run(Thread.java:748)
    

    Unfortunately this is a nuisance for us and for contributors. I've tried suggestions such as this but it hasn't improved reliability.

    Can anyone with more Couchbase expertise help investigate?

    To reproduce, run the test suites under modules/couchbase repeatedly.

    type/bug help wanted resolution/acknowledged modules/couchbase 
    opened by rnorth 43
  • Optional possibility to reuse existing containers

    Optional possibility to reuse existing containers

    Hi. Currently there is a case when Testcontainers isn't that great. I talk about complicated integration testing environment where there are many containers that are launched during tests. Current architecture of Testcontainers creates needed containers, starts them and destroys them after tests. It's perfectly OK when your tests use one, two, maybe three containers but after that number time to run single test on developer's computer just gets too high.

    One of projects I work on has rather complicated integration testing environment: two Cassandra containers, Maria container, Splunk container and several containers with some applications. With Testcontainers creating and destroying all these containers around test execution (one test or suite, doesn't matter) takes ages to execute. Currently the project uses some Groovy scripts trying to find existing containers and use them instead of always creating new ones, but overall experience with this solution isn't good and I'd like to bring Testcontainers into that project. Which has aforementioned time consuming problems with current create-and-destroy approach in complex environments.

    So I thought - why don't bring to Testcontainers optional behavior of reusing existing containers (stopped or even running)? In complicated environments it will greatly boost test startup time to seconds - Testcontainers would only need to scan existing containers and if one is found and running - only apply initialScript from PRs https://github.com/testcontainers/testcontainers-java/pull/776/files#diff-5b39417ccdbbe90d4dc26c69fba8fa8eR114 and https://github.com/testcontainers/testcontainers-java/pull/575 and container is good to go. If no suitable containers found, then simply create the one - existing Testcontainers behavior.

    What do you think about this idea?

    type/question resolution/somedaymaybe resolution/acknowledged 
    opened by AnkBurov 40
  • Bump s3 from 2.17.72 to 2.17.95 in /modules/localstack

    Bump s3 from 2.17.72 to 2.17.95 in /modules/localstack

    Bumps s3 from 2.17.72 to 2.17.95.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump aws-java-sdk-sqs from 1.12.100 to 1.12.124 in /modules/localstack

    Bump aws-java-sdk-sqs from 1.12.100 to 1.12.124 in /modules/localstack

    Bumps aws-java-sdk-sqs from 1.12.100 to 1.12.124.

    Changelog

    Sourced from aws-java-sdk-sqs's changelog.

    1.12.124 2021-12-02

    AWS Amplify UI Builder

    • Features

      • This release introduces the actions and data types for the new Amplify UI Builder API. The Amplify UI Builder API provides a programmatic interface for creating and configuring user interface (UI) component libraries and themes for use in Amplify applications.

    AWS Network Manager

    • Features

      • This release adds API support for AWS Cloud WAN.

    AWS Resource Access Manager

    • Features

      • This release adds the ability to use the new ResourceRegionScope parameter on List operations that return lists of resources or resource types. This new parameter filters the results by letting you differentiate between global or regional resource types.

    1.12.123 2021-12-01

    AWS Direct Connect

    • Features

      • Adds SiteLink support to private and transit virtual interfaces. SiteLink is a new Direct Connect feature that allows routing between Direct Connect points of presence.

    AWS Shield

    • Features

      • This release adds API support for Automatic Application Layer DDoS Mitigation for AWS Shield Advanced. Customers can now enable automatic DDoS mitigation in count or block mode for layer 7 protected resources.

    AWSKendraFrontendService

    • Features

      • Experience Builder allows customers to build search applications without writing code. Analytics Dashboard provides quality and usability metrics for Kendra indexes. Custom Document Enrichment allows customers to build a custom ingestion pipeline to pre-process documents and generate metadata.

    Amazon DevOps Guru

    • Features

      • DevOps Guru now provides detailed, database-specific analyses of performance issues and recommends corrective actions for Amazon Aurora database instances with Performance Insights turned on. You can also use AWS tags to choose which resources to analyze and define your applications.

    Amazon DynamoDB

    • Features

      • Add support for Table Classes and introduce the Standard Infrequent Access table class.

    Amazon Elastic Compute Cloud

    • Features

      • This release adds support for Amazon VPC IP Address Manager (IPAM), which enables you to plan, track, and monitor IP addresses for your workloads. This release also adds support for VPC Network Access Analyzer, which enables you to analyze network access to resources in your Virtual Private Clouds.

    Amazon Lex Model Building V2

    • Features

      • This release introduces a new feature, Automated Chatbot Designer, that helps customers automatically create a bot design from existing conversation transcripts. The feature uses machine learning to discover most common intents and the information needed to fulfill them.

    Amazon SageMaker Runtime

    • Features

      • Adding new exception types for InvokeEndpoint

    Amazon SageMaker Service

    • Features

      • This release enables - 1/ Inference endpoint configuration recommendations and ability to run custom load tests to meet performance needs. 2/ Deploy serverless inference endpoints. 3/ Query, filter and retrieve end-to-end ML lineage graph, and incorporate model quality/bias detection in ML workflow.

    ... (truncated)

    Commits
    • 4b99a74 AWS SDK for Java 1.12.124
    • 548cb63 Update GitHub version number to 1.12.124-SNAPSHOT
    • e9d4710 AWS SDK for Java 1.12.123
    • cdcd7b5 Update GitHub version number to 1.12.123-SNAPSHOT
    • 29d9a0f AWS SDK for Java 1.12.122
    • da80f77 Update GitHub version number to 1.12.122-SNAPSHOT
    • 59a3fda AWS SDK for Java 1.12.121
    • 62dbb2e Update GitHub version number to 1.12.121-SNAPSHOT
    • 73ab9d4 AWS SDK for Java 1.12.120
    • 0e0f0bb Update GitHub version number to 1.12.120-SNAPSHOT
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • springboot2.2.5.RELEASE+junit5+postgresql

    springboot2.2.5.RELEASE+junit5+postgresql

    gradle.build

    def junitJupiterVersion = '5.4.2'
    testImplementation "org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion"
    testImplementation "org.junit.jupiter:junit-jupiter-params:$junitJupiterVersion"
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion"
    testImplementation "org.testcontainers:testcontainers:1.16.2"
    testImplementation "org.testcontainers:junit-jupiter:1.16.2"
    testImplementation "org.testcontainers:postgresql:1.16.2"
    
    package com.baby.class5.dao;
    
    import org.junit.jupiter.api.Test;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.boot.test.util.TestPropertyValues;
    import org.springframework.context.ApplicationContextInitializer;
    import org.springframework.context.ConfigurableApplicationContext;
    import org.springframework.test.context.ActiveProfiles;
    import org.springframework.test.context.ContextConfiguration;
    import org.testcontainers.containers.PostgreSQLContainer;
    import org.testcontainers.junit.jupiter.Container;
    import org.testcontainers.junit.jupiter.Testcontainers;
    import org.testcontainers.utility.DockerImageName;
    
    import static org.junit.jupiter.api.Assertions.assertTrue;
    
    @SpringBootTest
    @ActiveProfiles("dev")
    @Testcontainers
    @ContextConfiguration(initializers = {MixedLifecycleTests.Initializer.class})
    class MixedLifecycleTests {
    
        @Container
        private static PostgreSQLContainer postgresqlContainer = new PostgreSQLContainer(DockerImageName.parse("postgresql:10"));
    
        static class Initializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
            public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
                TestPropertyValues.of(
                        "spring.datasource.url=" + postgresqlContainer.getJdbcUrl(),
                        "spring.datasource.username=" + postgresqlContainer.getUsername(),
                        "spring.datasource.password=" + postgresqlContainer.getPassword()
                ).applyTo(configurableApplicationContext.getEnvironment());
            }
        }
    
        @Test
        void test() {
            assertTrue(postgresqlContainer.isRunning());
        }
    }
    

    gitlab-ci dind

    MixedLifecycleTests > initializationError FAILED
        java.lang.ExceptionInInitializerError at Unsafe.java:-2
            Caused by: java.lang.IllegalStateException at MixedLifecycleTests.java:24
    2021-12-03 15:20:18.559  INFO 91 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
    2021-12-03 15:20:18.576  INFO 91 --- [extShutdownHook] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} closing ...
    2021-12-03 15:20:18.592  INFO 91 --- [extShutdownHook] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} closed
    
    opened by o0hailang0o 2
  • Parse Docker images of `<name>:<tag>@sha256:<hash>` format

    Parse Docker images of `:@sha256:` format

    Currently, DockerImageName doesn't support image names in <name>:<tag>@sha256:<hash> format, as it expects image name to be in one of these formats:

    • <name>:<tag>
    • <name>@sha256:<hash>

    However, <name>:<tag>@sha256:<hash> is a valid Docker image name format. Could you please add its support?

    As a result, I expect DockerImageName to ignore tags of such image names and work with hash only. Tags can be returned via toString().

    opened by remal 0
  • Bump solr-solrj from 8.10.1 to 8.11.0 in /examples

    Bump solr-solrj from 8.10.1 to 8.11.0 in /examples

    Bumps solr-solrj from 8.10.1 to 8.11.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump com.gradle.enterprise.gradle.plugin from 3.6.1 to 3.7.2 in /examples

    Bump com.gradle.enterprise.gradle.plugin from 3.6.1 to 3.7.2 in /examples

    Bumps com.gradle.enterprise.gradle.plugin from 3.6.1 to 3.7.2.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump org.springframework.boot from 2.5.6 to 2.6.1 in /examples

    Bump org.springframework.boot from 2.5.6 to 2.6.1 in /examples

    Bumps org.springframework.boot from 2.5.6 to 2.6.1.

    Release notes

    Sourced from org.springframework.boot's releases.

    v2.6.1

    :lady_beetle: Bug Fixes

    • The name of the matching-strategy property is incorrect in the action message of the failure analysis for a PatternParseException #28839
    • ErrorPageSecurityFilter prevents deployment to a Servlet 3.1 compatible container #28790
    • QuartzDataSourceScriptDatabaseInitializer does not provide a mapping for MariaDB #28779
    • The order of 'test' and 'Inlined Test Properties' property sources in incorrect #28776
    • ArrayStoreException when using Spring Security in a Servlet app without spring-security-web #28774
    • Warning that DefaultClientResources was not shutdown properly when using Lettuce with Actuator #28767
    • Page with permitAll is no longer accessible via auto-configured MockMvc #28759
    • Dependency management for org.elasticsearch.distribution.integ-test-zip:elasticsearch should declare its type as zip #28746

    :notebook_with_decorative_cover: Documentation

    • Fix typos in the "External Application Properties" section #28834
    • Fix output of "spring --version" in reference documentation #28833
    • Add a package description for org.springframework.boot.actuate.metrics.data #28761

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    v2.6.0

    For full upgrade instructions and new and noteworthy features please see the release notes.

    :star: New Features

    • Support both kebab-case and camelCase as Spring init CLI Options #28138

    :lady_beetle: Bug Fixes

    • Profiles added using @ActiveProfiles have different precedence #28724
    • Dependency management for JSTL is out of date #28660
    • A RestClientBuilder bean is not defined when RestHighLevelClient is unavailable #28655
    • JUnit annotations may prevent a test context from being cached #28566
    • Avoid duplicate AOP proxy class definition with FilteredClassLoader #28545
    • Metrics for ThreadPoolTaskScheduler can conflict with the metrics of ThreadPoolTaskExecutor if they share the same bean name prefix #28536
    • Task metrics should not expose time-related metrics as these are not supported yet #28535
    • Logback should default to JVM's default charset instead of ASCII #28487

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump pulsar-client-admin from 2.7.3 to 2.9.0 in /modules/pulsar

    Bump pulsar-client-admin from 2.7.3 to 2.9.0 in /modules/pulsar

    Bumps pulsar-client-admin from 2.7.3 to 2.9.0.

    Release notes

    Sourced from pulsar-client-admin's releases.

    v2.8.1

    Broker

    • Fix the issue of all web threads get stuck when deleting a namespace #11596
    • Improve error logs in BacklogQuotaManager #11469
    • Solve the issue of precise rate limiting does not take effect #11446
    • Fix replicated subscriptions direct memory leak #11396
    • Change ContextClassLoader to NarClassLoader in ProtocolHandler #11276
    • Fix the issue of ledger rollover scheduled tasks were executed before reaching the ledger maximum rollover time #11116
    • Fix publish_time not set error when broker entry metadata enable without AppendBrokerTimestampMetadataInterceptor #11014
    • Fix parseMessageMetadata error cause by not skip broker entry metadata #10968
    • Fix issue where Key_Shared consumers could get stuck #10920
    • Fix throwable exception not thrown #10863
    • Handle multiple topic creation for the same topic-name in broker #10847
    • Add REST API to enable or disable replicated subscriptions #10790
    • Fix issue that message ordering could be broken when redelivering messages on Key_Shared subscription #10762
    • Fix set-publish-rate when using preciseTopicPublishRateLimiterEnable=true #10384
    • Upgrade BookKeeper version to resolve the BouncyCastle issue #11759
    • Fix getPreviousPosition NPE #11621
    • Remove duplicated configuration #11283
    • Source tarball: apply executable file permissions to shell scripts #11858
    • Fix java_test_functions build failed #11829
    • Fix generate javadoc for kafka-connect-adaptor failed #11807
    • Fix unnecessary user interactions when building pulsar-standalone image #11623
    • Do not expose meaningless stats for publisher #11454
    • Add metrics storageLogicalSize for the TopicStats and NamespaceStats #11430
    • Compress managed ledger info #11490
    • Print message metadata when getting message by id #11092
    • Query parameter "negativeAckRedeliveryDelay" should be effective even if DLQ is disabled #11495
    • Fix websocket TLS bug #11243
    • Fix the Pulsar Proxy flaky test (Collector already registered that provides name: jvm_memory_direct_bytes_used) #11900
    • Fix flaky test testReacquireLocksAfterSessionLost #11815
    • Fix flaky test testUpdateDynamicLocalConfiguration #11115
    • Fix flaky test testBrokerRanking #11114
    • Fix flaky test in AdminApiOffloadTest #11028
    • Fix the flaky test in the ManagedLedgerTest #11016
    • Make Metadata ZKSessionTest less Flaky #10955
    • Make MetadataCacheTest reliable. #10877
    • Fix pulsar_standalone docker image build failed #11862
    • Producer getting producer busy is removing existing producer from list #11804
    • Revert PR 11594 to avoid copy data to direct buffer #11792
    • Upgrade aircompressor to 0.20 #11790
    • Fix wrappedBuffer always using the same block of memory #11782
    • Fix com.squareup.okhttp-okhttp-2.7.4.jar unaccounted for in LICENSE bug #11769
    • Handle NPE and memory leak when full key range isn't covered with active consumers #11749
    • Call .release() when discarding entry to prevent direct memory leak #11748
    • Avoid duplicated disconnecting producers after fail to add entry#11741
    • Expose compaction metrics to Prometheus #11739
    • Fix the topic in a fenced state and can not recover#11737
    • Remove subscription when closing Reader on non-persistent topics #11731
    • Fix branch-2.8 cherry-pick issue. #11694

    ... (truncated)

    Commits
    • bdd57b2 [Java Client] Use info, not warn, log level when successfully registering sch...
    • 4711db9 Fix build - TransactionTest
    • cad9371 [ServerCnx] Close connection after receiving unexpected SendCommand (#12780)
    • f047b5a [Java Client] Let producer reconnect for state RegisteringSchema (#12781)
    • 38b05dc [Transaction] Fix transaction system topic create in loop. (#12749)
    • 94db24a [Transaction] Fix topicTransactionBuffer handle null snapshot (#12758)
    • 28e3d79 [issue-12764] Revert "BookkeeperClientFactory should pass in the ZK instance ...
    • edbf15c Fix checkstyle after resolving conflicts
    • 13d935b KCA doesn't handle unchecked unchecked ConnectException/KafkaException for th...
    • 9941edb Stop OffsetStore when stopping the connector (#12457)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump neo4j from 3.5.29 to 3.5.30 in /modules/neo4j

    Bump neo4j from 3.5.29 to 3.5.30 in /modules/neo4j

    Bumps neo4j from 3.5.29 to 3.5.30.

    Release notes

    Sourced from neo4j's releases.

    Neo4j 1.9.0 stable release

    The 1.9 release of Neo4j builds upon the previous 1.8 releases and brings extensive improvements in stability and performance. In addition, Neo4j 1.9 Enterprise introduces auto-clustering support, with dramatically simplified configuration and deployment for high demand production use.

    • Support for auto-clustering in Neo4j Enterprise, which replaces the previous Zookeeper based HA clustering, provides a streamlined deployment process and is much safer and more resilient in failure scenarios.
    • New neo4j-arbiter tool, which acts as a voting instance in a Neo4j cluster but does not keep a data store or handle transactions.
    • Addition of string manipulation, timestamp and other functions to the Cypher query language.
    • Improvements to memory utilization, which reduces working memory requirements and improves overall performance.
    • New REST endpoints for inspecting cluster status information (master, slave, etc).
    • Correction of several concurrency and performance issues.
    • Improvements to Online Backup in Neo4j Enterprise, including auto-detection of full vs incremental backup based on existing content at the backup location.
    • Updates to Neo4j server webadmin, including welcome pages for new users.

    It is recommended to upgrade all previous Neo4j installations to this release. Neo4j 1.9 does not require any explicit upgrade to persistent stores created using Neo4j 1.7 and 1.8 installations, however current users of Neo4j Enterprise must consult the documentation and update the cluster configuration. Please see the deployment and cluster upgrade sections of the Neo4j manual for more detail. Also note that Neo4j 1.9 is tested and supported with Oracle JRE 7. Users of previous Java versions should upgrade to Oracle JRE 7 when deploying Neo4j 1.9.

    As part of the Neo4j 1.9 release, multiple behaviours and features of Neo4j have been declared as deprecated, in order to help users prepare for the removal of these in the next major Neo4j release. A list of deprecations can be found in the Neo4j manual.

    For a full summary of changes in this release, please review the CHANGES.TXT file contained within the distribution.

    Neo4j 1.8.0 stable release

    The 1.8 release of Neo4j provides extensive improvements in stability and performance. As an incremental service release, Neo4j 1.8 builds upon the previous 1.6 and 1.7 releases and provides full backward compatibility.

    This release includes the following corrections and improvements:

    • Correction of several concurrency issues affecting performance in multi- threaded configurations.
    • Correction of several concurrency issues that infrequently affect consistency of persisted data.
    • Optimization of high-availability (HA) protocols to increase write performance.
    • Support for zero-downtime rolling upgrades in HA clusters.
    • Improvements to transaction distribution in HA clusters, providing greater resistance to branching.
    • Configurable rotation of logical logs.
    • Support for streamed responses to REST API requests.
    • Support for bi-directional traversals, branch state and path expanders in the traversal framework.
    • Performance improvements to several graph algorithms.
    • Support in the Cypher language for writing graph data and updating auto-indexes (manual indexes are not supported).
    • Extensions to the Cypher language to allow the use of patterns as expressions and predicates.
    • Correction of several issues in the Cypher parser when using collections and when aggregating.
    • Improved error reporting in Cypher and more reliable statement parsing.
    • Support for explicit transactions in neo4j-shell.

    It is recommended to upgrade all previous Neo4j installations to this release. Neo4j 1.8 does not require any explicit upgrade to persistent stores created using Neo4j 1.6 and 1.7 installations. Please see the deployment section of the Neo4j manual for more detail.

    For a full summary of changes in this release, please review the CHANGES.TXT file contained within the distribution.

    Commits
    • 797338b Use standard javax.ws.rs artifact
    • 5573f8b DumpIdFile tool ()
    • 30eb694 Update IANA to 2021b
    • e516a90 Ensure overflow check for days/seconds/nanos for DurationValue
    • 23a31fd Move TransactionBoundPlanContextTest to enterprise edition
    • 20318f4 Fix bug: Uniqueness constraint used where existence constraint needed
    • 2d00fb4 Update netty to address CVE-2021-37136 and CVE-2021-37137 ()
    • c4ea666 update for browser 4.3.4
    • 88a7577 Fix content negotiation in the discovery API. ()
    • 0e69503 Bump shiro version to 1.8.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump mssql-jdbc from 9.4.0.jre8 to 9.5.0.jre8-preview in /modules/mssqlserver

    Bump mssql-jdbc from 9.4.0.jre8 to 9.5.0.jre8-preview in /modules/mssqlserver

    Bumps mssql-jdbc from 9.4.0.jre8 to 9.5.0.jre8-preview.

    Release notes

    Sourced from mssql-jdbc's releases.

    [9.4.0] Stable Release

    Added

    • Added JAVA 16 support #1579
    • Added optional realm connection string property for Kerberos authentication #1581
    • Added support for multiple, successive connections using AKV provider #1594
    • Updated error messages for Enclave exceptions with forward link to troubleshooting guide #1585
    • Added driver version to the database during prelogin #1583
    • Append MSAL exception error msg to error string #1576
    • Send client process ID to server on Java 9+ #1595
    • Removed dependency to org.hamcrest #1596
    • Updated dependency versions for azure-identity, azure-security-keyvault-keys, adal4j, gson, antlr, and bouncycastle #1613
    • Removed Java 9-specific class references from the Java 8 jar #1626
    • Updated dependencies versions and upgraded to Gradle version 7 #1627

    Fixed issues

    • Fixed an issue where batch fails when always encrypted is enabled in connection string and clearParameters was called #1578
    • Fixed memory leak issue #1633
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
Releases(1.16.2)
  • 1.16.2(Oct 22, 2021)

    What's Changed

    1.16.2 fixes a race condition that was inadvertently added in 1.16.1. This bug can potentially cause unstable builds in some environments, manifesting as port wait timeouts at container startup.

    🚀 Features & Enhancements

    • Added started log message used in Selenium 4.0.0 (#4580) @tobiasstadler
    • [couchbase] Add support for Couchbase Analytics. (#4592) @daschl

    🐛 Bug Fixes

    • Make Bolt log wait strategy more lenient (#4455) @fbiville
    • Fix nested lambda in getWithTimeout (#4470) @Flugtiger
    • Fix race condition in external port check (#4597) @kiview

    📖 Documentation

    • Update RELEASING.md (#4590) @kiview

    🧹 Housekeeping

    • Upgrade to Docker Compose 1.29.2 (#4164) (#4461) @rombert
    • Don't run tests as part of the release build (#4600) @kiview
    • Revert "Temporarily disable Thundra on master branch" (#4571) @rwxdash
    • Remove Linux Azure pipelines build (#4452) @rnorth
    Source code(tar.gz)
    Source code(zip)
  • 1.16.1(Oct 18, 2021)

    What's Changed

    1.16.1 inadvertently introduced a race condition. This bug can potentially cause unstable builds in some environments, manifesting as port wait timeouts at container startup. We recommend upgrading to 1.16.2 or higher.

    Testcontainers 1.16.1 has been released! 🎉

    This release brings a lot of eagerly awaited new features and fixes, such as:

    🔮 Better Oracle Database support

    Thanks to the engagement of the community and @gvenzl's new Docker images for Oracle Database Express Edition we were able to update our OracleContainer module to ensure its compatibility with a wide range of Oracle XE versions.

    And at the same time, thanks to the new images, we were able to re-integrate the Oracle module into our CI. This means we can verify compatibility for using Testcontainers with Oracle Database going forward.

    ☁️ New Azure Cosmos DB module

    With the new Azure Comos DB module we finally added Azure to our list of cloud service testing facilities. It is based on Microsoft's Azure Cosmos DB-Emulator and provides you with a way to do your integration testing without the need for an actual Azure service.

    public CosmosDBEmulatorContainer emulator = new CosmosDBEmulatorContainer(
            DockerImageName.parse("mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest")
    );
    

    Please check out the module docs to learn how to use it for your integration testing needs.

    ⛴ Host port access for containers

    For further improving the developer experience of our users, we added a new API to make hosts ports accessible to containers:

    container.withAccessToHost(true)
    

    You still need to use exposeHostPorts, as per the docs, but this can now be done after the container has started, thereby allowing new usage patterns in your tests.

    🌪 Faster Cassandra startup

    By making clever use of the configuration settings available in Cassandra, CassandraContainer will now start up to 3 times faster. It is now also configured to be less resource hungry out of the box.

    ✨ Better startup performance for all containers

    We found a couple of ways to improve the container startup performance for our users, no matter the Testcontainers module you use. This comes through some internal changes with regards to how Testcontainers checks for open ports during container startup and will shave up to a couple of seconds from your test suite.


    We are grateful for the ongoing support of our community and users and thank each of our awesome contributors!

    🚀 Features & Enhancements

    • Oracle Database: Update OracleContainer and re-activate on CI (#4298) @kiview & (#4402) @KyleAure
    • Azure Cosmos DB: Introduce CosmosDBEmulatorContainer (#4303) @okohub
    • Host Port Access: Provide an API to force access to the host (#4584) @bsideup
    • Cassandra: Tune Cassandra options for faster startup (#4309) @bsideup
    • Performance: Perform container startup port checks in parallel (#4463) @bsideup
    • Performance: Retry internal port checking in the same exec (#4460) @bsideup
    • OrientDB: Use log wait strategy for more reliable readiness detection (#4471) @rnorth
    • Fix flaky kafka cluster example (#4549) @rnorth
    • Give EnvironmentAndSystemPropertyClientProviderStrategy the highest priority (#4472) @kiview
    • Avoid overriding of files copied to container using subsequent withCopyFileToContainer (#2957) @findepi
    • Make TimescaleDB available with JDBC syntax (#3891) @raynigon
    • Refactor JDBC URL parsing to support different Oracle URLs (#4476) @rnorth
    • Allow to disable configuration of EnvironmentAndSystemPropertyClientProviderStrategy through Testcontainers (#4387) @kiview
    • Shorten fallback to another strategy (#4386) @pioorg
    • Update Kafka config dynamically (#4316) @bsideup
    • Disable Chrome's GPU support in BrowserWebDriverContainer (#4315) @kiview

    🐛 Bug Fixes

    • Prevent Compose image pre-fetching from pulling all tags when tag is absent (#4538) @rnorth
    • Randomize naming for createVolumeDirectory method (#4195) @johnathana
    • Perform distinct/applicable filtering after identifying configured and available Docker client strategies (#4467) @bsideup
    • Use POSIX mode for large numbers in tar archives (#4384) (#4388) @schmidt-galen-heb

    📖 Documentation

    • Update GitLab CI docs: Add --tls=false to docker-in-docker to avoid startup delays (#4573) @ulrichwinter
    • Document Dependabot merge process (#4556) @kiview
    • Add togglz as user (#4484) @bennetelli
    • Add Alkira as user (#4370) @sankee168
    • Add Elastic as user (#4369) @mdelapenya
    • Update RELEASING.md (#4295) @kiview

    🧹 Housekeeping

    • Remove unused @ClassRule container in KafkaContainerTest and use cp-kafka:6.2.1 as default (#4564) @kiview
    • Remove httpclient5_test (#4562) @bsideup
    • Temporarily disable Thundra on master branch (#4570) @rnorth
    • Enable JUnitPlatform for Spock tests (#4568) @kiview
    • Skip japicmp for new modules (#4569) @rnorth
    • Fix AuthenticatedImagePullTest (#4560) @bsideup
    • Switch from AdoptOpenJDK to Temurin and latest JDK 8. (#4537) @pioorg
    • Fix dangling constructor reference in deprecation note (#4443) @JarvisCraft
    • Tidy up core's build file (#4207) @bsideup
    • couchbase: add debug-level phase timings. (#4466) @daschl
    • Fix CmdModifierTest#testMemoryLimitModified in cgroup2 environment. (#4375) @cac03
    • Add Thundra Foresight Integration to the CI Build (#4313) @rwxdash
    • Add japicmp to every module (#4364) @bsideup
    • Fix failing PublicBinaryAPITest for DynamicPollInterval (#4353) @kiview

    📦 Dependency updates

    • Upgrade ryuk image to 0.3.3 (#4581) @rnorth
    • Upgrade ryuk image to 0.3.2 (#4359) @rnorth
    • Update Gradle Wrapper to 7.2 (#4379) @github-actions
    • Update JUnit 4.12 to 4.13.2. (#4167) @michael-simons
    • Update to docker-java 3.2.12 (#4459) @bsideup
    Click to expand...
    • Bump aws-java-sdk-sqs from 1.12.62 to 1.12.82 in /modules/localstack (#4558) @dependabot
    • Bump aws-java-sdk-logs from 1.12.60 to 1.12.82 in /modules/localstack (#4557) @dependabot
    • Bump actions/setup-java from 2.3.0 to 2.3.1 (#4536) @dependabot
    • Bump junit-jupiter-api from 5.7.2 to 5.8.1 in /modules/junit-jupiter (#4530) @dependabot
    • Bump postgresql from 42.2.23 to 42.2.24 in /examples (#4528) @dependabot
    • Bump elasticsearch-rest-client from 7.14.1 to 7.15.0 in /modules/elasticsearch (#4520) @dependabot
    • Bump solr-solrj from 8.9.0 to 8.10.0 in /examples (#4519) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /examples (#4506) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.5.30 to 1.5.31 in /examples (#4508) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /modules/vault (#4510) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /modules/database-commons (#4501) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /modules/kafka (#4502) @dependabot
    • Bump r2dbc-mssql from 0.8.6.RELEASE to 0.8.7.RELEASE in /modules/mssqlserver (#4497) @dependabot
    • Bump junit-jupiter-params from 5.7.2 to 5.8.1 in /modules/junit-jupiter (#4500) @dependabot
    • Bump s3 from 2.17.34 to 2.17.52 in /modules/localstack (#4547) @dependabot
    • Bump aws-java-sdk-logs from 1.12.60 to 1.12.80 in /modules/localstack (#4543) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.62 to 1.12.80 in /modules/localstack (#4541) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.62 to 1.12.80 in /modules/localstack (#4540) @dependabot
    • Bump kafka-clients from 2.8.0 to 3.0.0 in /examples (#4535) @dependabot
    • Bump okhttp from 4.9.1 to 4.9.2 in /examples (#4534) @dependabot
    • Bump logback-classic from 1.2.5 to 1.2.6 in /examples (#4533) @dependabot
    • Bump org.springframework.boot from 2.5.4 to 2.5.5 in /examples (#4532) @dependabot
    • Bump postgresql from 42.2.23 to 42.2.24 in /modules/junit-jupiter (#4531) @dependabot
    • Bump postgresql from 42.2.23 to 42.2.24 in /examples (#4528) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.5.30 to 1.5.31 in /examples (#4526) @dependabot
    • Bump postgresql from 42.2.23 to 42.2.24 in /modules/spock (#4523) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /modules/pulsar (#4522) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /modules/junit-jupiter (#4521) @dependabot
    • Bump transport from 7.14.1 to 7.15.0 in /modules/elasticsearch (#4516) @dependabot
    • Bump elasticsearch-rest-client from 7.14.1 to 7.15.0 in /modules/elasticsearch (#4520) @dependabot
    • Bump guava from 30.1.1-jre to 31.0.1-jre in /modules/jdbc-test (#4518) @dependabot
    • Bump kafka-clients from 2.8.0 to 3.0.0 in /modules/kafka (#4515) @dependabot
    • Bump r2dbc-mariadb from 1.0.2 to 1.0.3 in /modules/mariadb (#4505) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.5.30 to 1.5.31 in /examples (#4508) @dependabot
    • Bump junit-jupiter-engine from 5.7.2 to 5.8.1 in /modules/junit-jupiter (#4513) @dependabot
    • Bump postgresql from 42.2.23 to 42.2.24 in /modules/postgresql (#4509) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /modules/neo4j (#4512) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /examples (#4506) @dependabot
    • Bump influxdb-java from 2.21 to 2.22 in /modules/influxdb (#4503) @dependabot
    • Bump tomcat-jdbc from 10.0.10 to 10.0.12 in /modules/jdbc (#4498) @dependabot
    • Bump junit-jupiter-params from 5.7.2 to 5.8.1 in /modules/junit-jupiter (#4500) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /modules/oracle-xe (#4495) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /core (#4496) @dependabot
    • Bump assertj-core from 3.20.2 to 3.21.0 in /modules/jdbc (#4499) @dependabot
    • Bump tomcat-jdbc from 10.0.10 to 10.0.12 in /modules/jdbc-test (#4493) @dependabot
    • Bump gradle/wrapper-validation-action from 1.0.3 to 1.0.4 (#4161) @dependabot
    • Bump s3 from 2.17.9 to 2.17.34 in /modules/localstack (#4447) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.37 to 1.12.62 in /modules/localstack (#4446) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.37 to 1.12.62 in /modules/localstack (#4445) @dependabot
    • Bump jedis from 3.6.1 to 3.7.0 in /examples (#4432) @dependabot
    • Bump amqp-client from 5.12.0 to 5.13.1 in /core (#4430) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.5.10 to 1.5.30 in /examples (#4428) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /core (#4427) @dependabot
    • Bump cucumber-java from 6.9.1 to 6.11.0 in /examples (#4418) @dependabot
    • Bump transport from 7.13.4 to 7.14.1 in /modules/elasticsearch (#4417) @dependabot
    • Bump mssql-jdbc from 9.3.1.jre8-preview to 9.4.0.jre8 in /modules/mssqlserver (#4414) @dependabot
    • Bump actions/setup-java from 2.1.0 to 2.3.0 (#4439) @dependabot
    • Bump gradle-update/update-gradle-wrapper-action from 1.0.14 to 1.0.15 (#4438) @dependabot
    • Bump gson from 2.8.7 to 2.8.8 in /examples (#4437) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.5.21 to 1.5.30 in /examples (#4436) @dependabot
    • Bump org.springframework.boot from 2.5.2 to 2.5.4 in /examples (#4435) @dependabot
    • Bump mongo-java-driver from 3.12.9 to 3.12.10 in /core (#4434) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /examples (#4433) @dependabot
    • Bump jedis from 3.6.1 to 3.7.0 in /examples (#4432) @dependabot
    • Bump amqp-client from 5.12.0 to 5.13.1 in /core (#4430) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.5.10 to 1.5.30 in /examples (#4428) @dependabot
    • Bump aws-java-sdk-logs from 1.12.37 to 1.12.60 in /modules/localstack (#4425) @dependabot
    • Bump cucumber-junit from 6.9.1 to 6.11.0 in /examples (#4426) @dependabot
    • Bump elasticsearch-rest-client from 7.13.0 to 7.14.1 in /modules/elasticsearch (#4424) @dependabot
    • Bump mockito-core from 3.11.2 to 3.12.4 in /core (#4422) @dependabot
    • Bump mockito-core from 3.11.2 to 3.12.4 in /modules/junit-jupiter (#4421) @dependabot
    • Bump cucumber-java from 6.9.1 to 6.11.0 in /examples (#4418) @dependabot
    • Bump java-client from 3.2.0 to 3.2.1 in /modules/couchbase (#4415) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /modules/postgresql (#4416) @dependabot
    • Bump transport from 7.13.4 to 7.14.1 in /modules/elasticsearch (#4417) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /modules/selenium (#4412) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.37 to 1.12.60 in /modules/dynalite (#4413) @dependabot
    • Bump jedis from 3.6.3 to 3.7.0 in /modules/junit-jupiter (#4409) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /modules/mysql (#4408) @dependabot
    • Bump mariadb-java-client from 2.7.3 to 2.7.4 in /modules/mariadb (#4407) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /modules/jdbc (#4406) @dependabot
    • Bump tomcat-jdbc from 10.0.8 to 10.0.10 in /modules/jdbc (#4411) @dependabot
    • Bump jedis from 3.6.3 to 3.7.0 in /core (#4410) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /modules/spock (#4404) @dependabot
    • Bump tomcat-jdbc from 10.0.8 to 10.0.10 in /modules/jdbc-test (#4403) @dependabot
    • Bump annotations from 21.0.1 to 22.0.0 in /modules/nginx (#4405) @dependabot
    • Bump commons-compress from 1.20 to 1.21 in /core (#4349, #4308) @dependabot
    • Bump logback-classic from 1.2.3 to 1.2.5 in /examples (#4347) @dependabot
    • Bump postgresql from 42.2.22 to 42.2.23 in /modules/junit-jupiter (#4341) @dependabot
    • Bump mysql-connector-java from 8.0.25 to 8.0.26 in /modules/spock (#4339) @dependabot
    • Bump slf4j-simple from 1.7.30 to 1.7.32 in /examples (#4346) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.19 to 1.12.37 in /modules/localstack (#4328) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.16 to 1.12.37 in /modules/dynalite (#4327) @dependabot
    • Bump r2dbc-mariadb from 1.0.1 to 1.0.2 in /modules/mariadb (#4324) @dependabot
    • Bump s3 from 2.16.97 to 2.17.9 in /modules/localstack (#4319) @dependabot
    • Bump tomcat-jdbc from 10.0.7 to 10.0.8 in /modules/jdbc-test (#4320) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.5.20 to 1.5.21 in /examples (#4351) @dependabot
    • Bump postgresql from 42.2.22 to 42.2.23 in /examples (#4350) @dependabot
    • Bump jedis from 3.6.1 to 3.6.3 in /core (#4348) @dependabot
    • Bump logback-classic from 1.2.3 to 1.2.5 in /examples (#4347) @dependabot
    • Bump aws-java-sdk-logs from 1.12.16 to 1.12.37 in /modules/localstack (#4345) @dependabot
    • Bump testcontainers from 1.15.3 to 1.16.0 in /core (#4344) @dependabot
    • Bump postgresql from 42.2.22 to 42.2.23 in /modules/spock (#4343) @dependabot
    • Bump slf4j-api from 1.7.30 to 1.7.32 in /examples (#4342) @dependabot
    • Bump amqp-client from 5.12.0 to 5.13.0 in /core (#4340) @dependabot
    • Bump transport from 7.13.2 to 7.13.4 in /modules/elasticsearch (#4336) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.16 to 1.12.37 in /modules/localstack (#4338) @dependabot
    • Bump mysql-connector-java from 8.0.25 to 8.0.26 in /modules/spock (#4339) @dependabot
    • Bump HikariCP from 4.0.3 to 5.0.0 in /modules/spock (#4334) @dependabot
    • Bump mysql-connector-java from 8.0.25 to 8.0.26 in /modules/mysql (#4333) @dependabot
    • Bump mongo-java-driver from 3.12.7 to 3.12.9 in /core (#4332) @dependabot
    • Bump jedis from 3.6.1 to 3.6.3 in /modules/junit-jupiter (#4329) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.5.10 to 1.5.21 in /examples (#4331) @dependabot
    • Bump elasticsearch-rest-client from 7.13.0 to 7.13.4 in /modules/elasticsearch (#4330) @dependabot
    • Bump jedis from 3.6.1 to 3.6.3 in /examples (#4326) @dependabot
    • Bump slf4j-api from 1.7.30 to 1.7.32 in /core (#4322) @dependabot
    • Bump postgresql from 42.2.22 to 42.2.23 in /modules/postgresql (#4325) @dependabot
    • Bump mysql-connector-java from 8.0.25 to 8.0.26 in /modules/junit-jupiter (#4323) @dependabot
    • Bump java-client from 3.1.6 to 3.2.0 in /modules/couchbase (#4321) @dependabot
    • Bump mysql-connector-java from 8.0.25 to 8.0.26 in /modules/jdbc-test (#4318) @dependabot
    • Bump s3 from 2.16.97 to 2.17.9 in /modules/localstack (#4319) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.16.0(Jul 20, 2021)

    What's Changed

    Testcontainers 1.16.0 is here! 🎉

    This release brings many small fixes and improvements; among them:

    Better M1 Mac compatibility

    Users of M1 Mac will be pleased to know that Testcontainers now falls back to pulling x86_64 images when ARM64 images are unavailable, meaning that Docker's QEMU compatibility mode will be used to run the image. It's not perfect - not every image runs under QEMU. However, this allows Testcontainers users with M1 Macs to use more images than they could previously.

    If possible, users should use recently published images for their dependencies which have a native ARM64 variant, rather than relying on QEMU emulation.

    Startup performance and reliability improvements

    Some issues affecting container startup time and reliability (especially with Docker for Windows) have been fixed.

    Additionally, this release uses the latest version of docker-java and uses an Apache HttpClient5 transport by default. This resolves bugs encountered by some users when the previous default transport (okhttp) relating to image pulling.


    As always, thank you to our many users and contributors!

    🚀 Features & Enhancements

    • Fallback to x86 image if image pulling fails (#4290) @bsideup
    • Spock Testcontainers annotation is now inherited (#4053) @tlefevre
    • Use Apache HttpClient5 transport as the default (#4287) @bsideup
    • Remove visible assertions dependency (#4010) @bsideup
    • Couchbase: Add support for community edition of couchbase server (#4221) @Gerschtli
    • Couchbase: Update to latest version, add flushEnabled flag (#4041) @Gerschtli
    • Only publish exposed ports (#4122) @rnorth
    • Allow DOCKER_HOST and related settings to be set in ~/.testcontainers.properties (#4118) @rnorth
    • Use implicit strategy when docker.host configuration is set (#4175) @rnorth
    • Improve logging in InternalCommandPortListeningCheck (#2984) (#3001) @vcvitaly

    🐛 Bug Fixes

    • Remove withPublishAllPorts from Ryuk and stabilize containerInfo content on start (#4263) @kiview
    • Allow for docker timestamps with timezone offsets (#4073) @candrews
    • Fix KafkaContainer with multiple networks defined (#4213) @DennisFederico
    • Fixed potential NPE in MountableFile (#4193) @fkorotkov
    • Improve log messages when database container test query fails (#3015) @vcvitaly

    📖 Documentation

    • Remove GitHub Sponsors button (#4217) @rnorth
    • Add @oleg-nenashev as backer, reference @jenkinsci and @cloudbees as adopters (#4170) @oleg-nenashev
    • Docs: Use testImplementation instead of deprecated testCompile (#4054) @slovdahl
    • Docs: Add Backbase as Bronze sponsor (#4039) @torrespro

    🧹 Housekeeping

    • Split Windows CI into core and non-core steps (#4293) @rnorth
    • Upgrade alpine images for better M1 compatibility (#4291) @rnorth
    • Switch from using Travis to GitHub Actions for release (#3434) @rnorth
    • Remove stalebot (#4216) @rnorth
    • Cleanup japicmp excludes (#4192) @bsideup
    • Update to Gradle 7 (#4171) @bsideup
    • Add combine-prs workflow (#4176) @rnorth
    • Bump actions/cache from 2.1.3 to 2.1.6 (#4162) @dependabot
    • Combined dependencies PR (#4135) @rnorth
    • Only run update-* and release-drafter on original repository, not on forks (#4104) @mrotteveel
    • Reduce dependabot bump rate to monthly (#4083) @rnorth
    • Use up-to-date MySQL docker images (#4059) @rnorth

    📦 Dependency updates

    • Remove visible assertions dependency (#4010) @bsideup
    • Update docker-java to 3.2.11 (#4220) @bsideup
    • Update to Gradle 7 (#4171) @bsideup
    Click to expand...
    • Bump aws-java-sdk-sqs from 1.12.1 to 1.12.19 in /modules/localstack (#4274) @dependabot
    • Bump tomcat-jdbc from 10.0.6 to 10.0.8 in /modules/jdbc (#4272) @dependabot
    • Bump s3 from 2.16.80 to 2.16.97 in /modules/localstack (#4271) @dependabot
    • Bump jedis from 3.6.0 to 3.6.1 in /examples (#4258) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /core (#4257) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /modules/database-commons (#4241) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.1030 to 1.12.16 in /modules/dynalite (#4240) @dependabot
    • Bump gradle-update/update-gradle-wrapper-action from 1.0.13 to 1.0.14 (#4262) @dependabot
    • Bump actions/github-script from 3 to 4.0.2 (#4261) @dependabot
    • Bump gson from 2.8.6 to 2.8.7 in /examples (#4260) @dependabot
    • Bump postgresql from 42.2.20 to 42.2.22 in /examples (#4259) @dependabot
    • Bump jedis from 3.6.0 to 3.6.1 in /examples (#4258) @dependabot
    • Bump aws-java-sdk-logs from 1.11.807 to 1.12.16 in /modules/localstack (#4256) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.5.10 to 1.5.20 in /examples (#4255) @dependabot
    • Bump solr-solrj from 8.8.2 to 8.9.0 in /examples (#4254) @dependabot
    • Bump mockito-core from 3.10.0 to 3.11.2 in /modules/junit-jupiter (#4252) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.5.10 to 1.5.20 in /examples (#4253) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /examples (#4248) @dependabot
    • Bump mockito-core from 3.10.0 to 3.11.2 in /core (#4247) @dependabot
    • Bump transport from 7.13.1 to 7.13.2 in /modules/elasticsearch (#4250) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /modules/pulsar (#4246) @dependabot
    • Bump postgresql from 42.2.20 to 42.2.22 in /modules/junit-jupiter (#4245) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /modules/neo4j (#4244) @dependabot
    • Bump org.springframework.boot from 2.5.0 to 2.5.2 in /examples (#4243) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /modules/junit-jupiter (#4239) @dependabot
    • Bump s3 from 2.16.80 to 2.16.94 in /modules/localstack (#4238) @dependabot
    • Bump elasticsearch-rest-client from 7.13.0 to 7.13.2 in /modules/elasticsearch (#4237) @dependabot
    • Bump postgresql from 42.2.20 to 42.2.22 in /modules/postgresql (#4235) @dependabot
    • Bump jedis from 3.6.0 to 3.6.1 in /core (#4234) @dependabot
    • Bump postgresql from 42.2.20 to 42.2.22 in /modules/spock (#4232) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.1030 to 1.12.16 in /modules/localstack (#4233) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /modules/jdbc (#4229) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /modules/kafka (#4230) @dependabot
    • Bump awaitility from 3.0.0 to 4.1.0 in /modules/couchbase (#4228) @dependabot
    • Bump jedis from 3.6.0 to 3.6.1 in /modules/junit-jupiter (#4226) @dependabot
    • Bump assertj-core from 3.19.0 to 3.20.2 in /modules/vault (#4225) @dependabot
    • Bump tomcat-jdbc from 10.0.6 to 10.0.7 in /modules/jdbc-test (#4224) @dependabot
    • Bump org.springframework.boot from 2.4.1 to 2.5.0 in /examples (#4123) @dependabot
    • Bump assertj-core from 3.14.0 to 3.19.0 in /examples (#3765) @dependabot
    • Bump assertj-core from 3.18.1 to 3.19.0 in /modules/junit-jupiter (#3729) @dependabot
    • Bump assertj-core from 3.18.1 to 3.19.0 in /core (#3727) @dependabot
    • Bump assertj-core from 3.18.1 to 3.19.0 in /modules/kafka (#3720) @dependabot
    • Bump assertj-core from 3.18.1 to 3.19.0 in /modules/pulsar (#3718) @dependabot
    • Bump clickhouse-jdbc from 0.2.4 to 0.3.1-patch in /modules/clickhouse (#4190) @dependabot
    • Bump snakeyaml from 1.27 to 1.29 in /core (#4188) @dependabot
    • Bump s3 from 2.16.62 to 2.16.80 in /modules/localstack (#4186) @dependabot
    • Bump transport from 7.12.1 to 7.13.1 in /modules/elasticsearch (#4184) @dependabot
    • Bump annotations from 20.1.0 to 21.0.1 in /core (#4156) @dependabot
    • Bump junit-jupiter-params from 5.7.1 to 5.7.2 in /modules/junit-jupiter (#4154) @dependabot
    • Bump junit-jupiter-api from 5.7.1 to 5.7.2 in /modules/junit-jupiter (#4153) @dependabot
    • Bump spock-core from 1.3-groovy-2.5 to 2.0-groovy-3.0 in /modules/spock (#4152) @dependabot
    • Bump annotations from 20.1.0 to 21.0.1 in /examples (#4141) @dependabot
    • Bump postgresql from 42.2.18 to 42.2.20 in /examples (#4114) @dependabot
    • Bump tomcat-jdbc from 9.0.40 to 10.0.6 in /modules/jdbc-test (#4084) @dependabot
    • Bump jedis from 3.4.0 to 3.6.0 in /examples (#4031) @dependabot
    • Bump postgresql from 42.2.18 to 42.2.20 in /modules/spock (#4021) @dependabot
    • Bump kafka-clients from 2.3.1 to 2.8.0 in /examples (#4022) @dependabot
    • Bump postgresql from 42.2.18 to 42.2.20 in /modules/postgresql (#4015) @dependabot
    • Bump amqp-client from 5.9.0 to 5.12.0 in /core (#3992) @dependabot
    • Bump guava from 30.1-jre to 30.1.1-jre in /modules/jdbc-test (#3911) @dependabot
    • Bump guava from 30.1-jre to 30.1.1-jre in /core (#3908) @dependabot
    • Bump assertj-core from 3.14.0 to 3.19.0 in /examples (#3765) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.1018 to 1.12.1 in /modules/localstack (#4181) @dependabot
    • Bump annotations from 20.1.0 to 21.0.1 in /modules/selenium (#4150) @dependabot
    • Bump annotations from 20.1.0 to 21.0.1 in /modules/nginx (#4146) @dependabot
    • Bump annotations from 20.1.0 to 21.0.1 in /modules/jdbc (#4145) @dependabot
    • Bump annotations from 20.1.0 to 21.0.1 in /modules/postgresql (#4140) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.4.32 to 1.5.10 in /examples (#4139) @dependabot
    • Bump mysql-connector-java from 8.0.22 to 8.0.25 in /modules/junit-jupiter (#4087) @dependabot
    • Bump HikariCP from 3.4.5 to 4.0.3 in /modules/junit-jupiter (#3854) @dependabot
    • Bump actions/setup-java from 1 to 2.1.0 (#4163) @dependabot
    • Bump elasticsearch-rest-client from 7.12.1 to 7.13.0 in /modules/elasticsearch (#4157) @dependabot
    • Bump kafka-clients from 2.6.0 to 2.8.0 in /modules/kafka (#4017) @dependabot
    • Bump r2dbc-mariadb from 1.0.0 to 1.0.1 in /modules/mariadb (#3881) @dependabot
    • Bump okhttp from 4.9.0 to 4.9.1 in /examples (#3743) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.930 to 1.11.1030 in /modules/localstack (#4159) @dependabot
    • Bump testng from 7.3.0 to 7.4.0 in /examples (#4116) @dependabot
    • Bump assertj-core from 3.16.1 to 3.19.0 in /modules/jdbc (#4144) @dependabot
    • Bump annotations from 20.1.0 to 21.0.1 in /modules/mysql (#4142) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.1018 to 1.11.1030 in /modules/dynalite (#4149) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.5.0 to 1.5.10 in /examples (#4138) @dependabot
    • Bump annotations from 20.1.0 to 21.0.1 in /modules/spock (#4151) @dependabot
    • Bump rest-assured from 4.3.3 to 4.4.0 in /modules/vault (#4143) @dependabot
    • Bump junit-jupiter-engine from 5.7.1 to 5.7.2 in /modules/junit-jupiter (#4117) @dependabot
    • Bump tomcat-jdbc from 10.0.0 to 10.0.6 in /modules/jdbc (#4085) @dependabot
    • Bump assertj-core from 3.18.1 to 3.19.0 in /modules/database-commons (#3721) @dependabot
    • Update Gradle Wrapper to 7.1.1 (#4266) @github-actions
    • Update Gradle Wrapper to 7.1 (#4214) @github-actions
    • Bump actions/cache from 2.1.3 to 2.1.6 (#4162) @dependabot
    • Bump assertj-core from 3.18.1 to 3.19.0 in /modules/vault (#3722) @dependabot
    • Bump assertj-core from 3.18.1 to 3.19.0 in /modules/neo4j (#3716) @dependabot
    • Bump mysql-connector-java from 8.0.22 to 8.0.25 in /modules/mysql (#4086) @dependabot
    • Bump HikariCP from 3.4.5 to 4.0.3 in /modules/spock (#3857) @dependabot
    • Bump solr-solrj from 8.7.0 to 8.8.2 in /examples (#4005) @dependabot
    • Bump auto-service from 1.0-rc7 to 1.0 in /modules/mssqlserver (#3983) @dependabot
    • Bump jedis from 3.3.0 to 3.6.0 in /modules/junit-jupiter (#4028) @dependabot
    • Bump jedis from 3.4.0 to 3.6.0 in /core (#4019) @dependabot
    • Bump mssql-jdbc from 9.1.1.jre8-preview to 9.3.1.jre8-preview in /modules/mssqlserver (#4048) @dependabot
    • Bump elasticsearch-rest-client from 7.12.0 to 7.12.1 in /modules/elasticsearch (#4049) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.4.32 to 1.5.0 in /examples (#4115) @dependabot
    • Bump postgresql from 42.2.18 to 42.2.20 in /modules/junit-jupiter (#4032) @dependabot
    • Bump junit-jupiter-engine from 5.7.0 to 5.7.1 in /modules/junit-jupiter (#3768) @dependabot
    • Bump commons-lang3 from 3.11 to 3.12.0 in /modules/jdbc-test (#3856) @dependabot
    • Bump json from 20201115 to 20210307 in /examples (#3884) @dependabot
    • Bump lombok from 1.18.16 to 1.18.20 in /examples (#3956) @dependabot
    • Bump auto-service from 1.0-rc7 to 1.0 in /modules/postgresql (#3984) @dependabot
    • Bump auto-service from 1.0-rc7 to 1.0 in /modules/mysql (#3988) @dependabot
    • Bump auto-service from 1.0-rc7 to 1.0 in /modules/mariadb (#3989) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.4.21-2 to 1.4.32 in /examples (#3946) @dependabot
    • Bump junit-jupiter-params from 5.7.0 to 5.7.1 in /modules/junit-jupiter (#3769) @dependabot
    • Bump junit from 4.13.1 to 4.13.2 in /examples (#3794) @dependabot
    • Bump junit-jupiter-api from 5.7.0 to 5.7.1 in /modules/junit-jupiter (#3770) @dependabot
    • Bump transport from 7.10.1 to 7.12.1 in /modules/elasticsearch (#4050) @dependabot
    • Bump testcontainers from 1.15.2 to 1.15.3 in /core (#4067) @dependabot
    • Bump r2dbc-mssql from 0.8.5.RELEASE to 0.8.6.RELEASE in /modules/mssqlserver (#4089) @dependabot
    • Bump pulsar-client from 2.7.1 to 2.7.2 in /modules/pulsar (#4097) @dependabot
    • Bump mariadb-java-client from 2.7.0 to 2.7.3 in /modules/mariadb (#4090) @dependabot
    • Bump r2dbc-postgresql from 0.8.5.RELEASE to 0.8.8.RELEASE in /modules/postgresql (#4092) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.929 to 1.11.1018 in /modules/dynalite (#4091) @dependabot
    • Bump mysql-connector-java from 8.0.22 to 8.0.25 in /modules/spock (#4093) @dependabot
    • Bump mockito-core from 3.6.28 to 3.10.0 in /modules/junit-jupiter (#4094) @dependabot
    • Bump mockito-core from 3.6.28 to 3.10.0 in /core (#4100) @dependabot
    • Bump pulsar-client-admin from 2.7.0 to 2.7.2 in /modules/pulsar (#4098) @dependabot
    • Bump mysql-connector-java from 8.0.22 to 8.0.25 in /modules/jdbc-test (#4095) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.986 to 1.11.1018 in /modules/localstack (#4101) @dependabot
    • Bump s3 from 2.16.34 to 2.16.62 in /modules/localstack (#4102) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.15.3(Apr 15, 2021)

    What's Changed

    🚀 Features & Enhancements

    • Localstack: Make it possible to provide custom LocalStack services (#3995) @bsideup
    • Localstack: Add EC2 to localstack services enum (#3955) @pinzon
    • Add TrinoContainer, a container for Trino (#3668) @findepi
    • Compose: Make DockerComposeContainer only pull necessary images when multiple compose files were given (#3787) @askfor
    • Delegate copyFile{To,From}Container's state verification to Docker (#3805) @michael-simons

    🐛 Bug Fixes

    • MySQL: Fix problem of starting up mysql 5.7.33 version when user is root (#3953) @seveneves
    • JDBC: Prevent ContainerDatabaseDriver from throwing NPEs when on classpath but not initialized (#3976) @mrotteveel
    • Filter mapped ports when port numbers are not specified (replaces #3948) (#3979) @rnorth
    • Compose: Fix NPE bug with docker-compose files in working directory (#3866) @GooseMagnet
    • Selenium: Fix mp4 recording to be compatible with Firefox (#3812) @leonard84

    📖 Documentation

    • Update docs to clarify shading approach (#3974) @bsideup
    • Gitlab: add information for TLS disabled mode (#2466) @pmihalcin
    • Add example of mapping from file in system (#3808) @kevinrobayna
    • Add Cloudflare Web Analytics to docs site (#3896) @rnorth
    • Bump docs environment to python 3.7 (#3871) @xp-vit
    • Add Backbase (#3870) @torrespro
    • Documentation TransferWise has changed its name as Wise. (#3873) @muzir
    • Add Google (#3868) @jamesward

    🧹 Housekeeping

    • Pin localstack to 0.12.8 (#3981) @rnorth
    • Bump docs environment to python 3.7 (#3871) @xp-vit
    • Fix GitHub Actions error due to short SHA form (#3874) @rnorth

    📦 Dependency updates

    • Update docker-java to 3.2.8 (#3980) @bsideup
    • Bump s3 from 2.15.56 to 2.16.34 in /modules/localstack (#3963) @dependabot
    • Bump pulsar-client from 2.7.0 to 2.7.1 in /modules/pulsar (#3913) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.930 to 1.11.986 in /modules/localstack (#3942) @dependabot
    • Bump elasticsearch-rest-client from 7.10.1 to 7.12.0 in /modules/elasticsearch (#3945) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.4.21-2 to 1.4.32 in /examples (#3947) @dependabot
    • Bump release-drafter/release-drafter from e5ccf147077e46b0225a80bbe314d795d77bb7a2 to 5.15.0 (#3915) @dependabot
    • Bump testcontainers from 1.15.1 to 1.15.2 in /core (#3795) @dependabot
    • Docs: Bump jinja2 from 2.11.2 to 2.11.3 (#3897) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.15.2(Feb 11, 2021)

    What's Changed

    • What 1984 means to you? To us, this number means PR #1984, one of the oldest PRs we had open and... finally merged! 😅 Thanks to an amazing contribution by @seglo, we now provide an example of testing Kafka clusters where multiple KafkaContainers are connected into one network. Try it!
    • Another "old" PR is #3180 by @oussamabadr. Those of you who run Selenium tests with Testcontainers will appreciate this newly added option to use (scrollable!) MP4 format instead of FLV.
    • The connection with Ryuk (our watchdog sidecar container) now sets the socket timeout and retries the failures - helps with some rare networking edge cases. (#3682) @diegolovison
    • The logs consumer no longer adds extra new lines thanks to #3752 by @perlun
    • Locally built images no longer get affected by the hub.image.name.prefix setting! (#3666) @reda-alaoui
    • Jackson dependency is now forced to an older version to help with NoClassDefFoundError (com/fasterxml/jackson/annotation/JsonMerge).

    And more!

    🚀 Features & Enhancements

    • Switch to Presto image hosted on GHCR (#3667) @findepi
    • Implement getDatabaseName() in CockroachContainer (#3778) @croemmich
    • Make recorder .flv videos scrollable (#512) (#3180) @oussamabadr
    • Support HTTP headers on HttpWaitStrategy (#2549) @renatomefi
    • Show port mappings in HttpWaitStrategy (#2341) @aguibert
    • Support newer versions of CockroachDB by changing the docker command (#3608) @giger85
    • Improve logging for port listener (#3736) @artjomka
    • couchbase: wait until all services are part of the config (#3003) @daschl
    • Support Ryuk socket timeout (#3682) @diegolovison
    • Add init command parameter to Vault container (#3188) @tandrup
    • Startables#deepStart with varargs (#3261) @jochenchrist

    🐛 Bug Fixes

    • Remove extra newlines in container log output (#3752) @perlun
    • Fix handling of locally built images when used with hub.image.name.prefix (#3666) @reda-alaoui

    📖 Documentation

    • Kafka cluster example (#1984, #3758) @seglo
    • Documentation PostGIS JDBC url sample version update (#3606) @aulea
    • GenericContainer: fix typo in Javadoc (#3684) @perlun
    • Added documentation for Bigtable Emulator container (#3708) @RamazanYapparov
    • Clarify usage of host port exporting (#3421) @alxgrk
    • Rename Presto to Trino (#3649) @martint

    🧹 Housekeeping

    • update release drafter to v5.13.0 (#3632) @jetersen
    • Remove duplicated dependency in jdbc-test module (#3664) @giger85
    • add github actions to dependabot config (#3633) @jetersen
    • Remove ciMate (#3631) @bsideup

    📦 Dependency updates

    • update release drafter to v5.13.0 (#3632) @jetersen
    • Force Jackson version (#3602) @bsideup
    • Bump aws-java-sdk-sqs from 1.11.884 to 1.11.930 in /modules/localstack (#3660) @dependabot
    • Bump guava from 30.0-jre to 30.1-jre in /modules/jdbc-test (#3622) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.929 to 1.11.930 in /modules/localstack (#3659) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.3.31 to 1.4.21-2 in /examples (#3646) @dependabot
    • Bump gradle-update/update-gradle-wrapper-action from 74a035c to 1.0.9 (#3653) @dependabot
    • Bump cucumber-junit from 6.8.1 to 6.9.1 in /examples (#3625) @dependabot
    • Bump testcontainers from 1.14.3 to 1.15.1 in /core (#3587) @dependabot
    • Bump transport from 7.10.0 to 7.10.1 in /modules/elasticsearch (#3590) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.882 to 1.11.929 in /modules/localstack (#3654) @dependabot
    • Bump s3 from 2.15.14 to 2.15.56 in /modules/localstack (#3650) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.3.31 to 1.4.21-2 in /examples (#3645) @dependabot
    • Bump guava from 30.0-jre to 30.1-jre in /core (#3627) @dependabot
    • Bump ad-m/github-push-action from 68af9897f2b021035ca3952bf354bbb4675c1762 to 0.6.0 (#3658) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.901 to 1.11.929 in /modules/dynalite (#3652) @dependabot
    • Bump gradle/wrapper-validation-action from e2c57ac to 1.0.3 (#3657) @dependabot
    • Update actions/cache requirement to v2.1.3 (#3651) @dependabot
    • Bump solr-solrj from 8.6.3 to 8.7.0 in /examples (#3446) @dependabot
    • Bump cucumber-java from 6.8.1 to 6.9.1 in /examples (#3624) @dependabot
    • Bump r2dbc-mariadb from 0.8.4-rc to 1.0.0 in /modules/mariadb (#3593) @dependabot
    • Bump org.springframework.boot from 2.3.4.RELEASE to 2.4.1 in /examples (#3594) @dependabot
    • Bump jedis from 3.3.0 to 3.4.0 in /examples (#3595) @dependabot
    • Bump tomcat-jdbc from 9.0.40 to 10.0.0 in /modules/jdbc (#3592) @dependabot
    • Bump elasticsearch-rest-client from 7.10.0 to 7.10.1 in /modules/elasticsearch (#3589) @dependabot
    • Bump jedis from 3.3.0 to 3.4.0 in /core (#3586) @dependabot
    • Bump rest-assured from 4.3.1 to 4.3.3 in /modules/vault (#3588) @dependabot
    • Bump r2dbc-mssql from 0.8.4.RELEASE to 0.8.5.RELEASE in /modules/mssqlserver (#3397) @dependabot
    • Bump mockito-core from 3.5.15 to 3.6.28 in /modules/junit-jupiter (#3539) @dependabot
    • Bump mockito-core from 3.5.13 to 3.6.28 in /core (#3542) @dependabot
    • Bump mssql-jdbc from 9.1.0.jre8-preview to 9.1.1.jre8-preview in /modules/mssqlserver (#3563) @dependabot
    • Bump pulsar-client-admin from 2.6.1 to 2.7.0 in /modules/pulsar (#3566) @dependabot
    • Bump pulsar-client from 2.6.1 to 2.7.0 in /modules/pulsar (#3565) @dependabot
    • Bump json from 20180813 to 20201115 in /examples (#3567) @dependabot
    • Bump influxdb-java from 2.20 to 2.21 in /modules/influxdb (#3568) @dependabot
    • Bump assertj-core from 3.18.0 to 3.18.1 in /modules/vault (#3486) @dependabot
    • Upgrade Ryuk to 0.3.1 (#3629) @rnorth
    Source code(tar.gz)
    Source code(zip)
  • 1.15.1(Dec 11, 2020)

    What's Changed

    This release focuses on stability and compatibility:

    • Docker 20.10 introduced a new version of the API, 1.41, where they removed quite a few deprecations, and we were using one of them. If you were getting "No such image: testcontainers/ryuk:0.3.0" - that's the cause.
    • In 1.15.0, ImageNameSubstitutor was added to help dealing with Docker Hub's rate limits. 1.15.1 introduces a default implementation that automatically prefixes every image without the registry. See the docs for more details.
    • docker-java was updated to the latest version that improves the BitBucket Pipelines compatibility, Windows path handling, Socket I/O and related thread stucking on recv.
    • The MockServer module is now compatible with the latest version of the image (5.11.x) and got an improved wait strategy.

    🚀 Features & Enhancements

    • Make MockServer compatible with newer (5.11.x) versions (#3437) @lanwen
    • Update to docker-java 3.2.7 (#3577) @bsideup
    • Expose Toxiproxy control port and proxy name (#3454) @aartigao
    • Add HttpWaitStrategy#withMethod (#3533) @xaviarias
    • Added Bigtable emulator container support (#3466) @saturnism
    • Default prefixing image substitutor (#3413) @rnorth
    • avoid code duplication by using ContainerState in ResourceReaper (#3573) @bsideup
    • Pre-resolve LazyDockerClient from GenericContainer#start() (#3530) @bsideup

    🐛 Bug Fixes

    • Always use toAbsolutePath() for MountableFile (#3514) @kiview
    • PostgisContainerProvider ignores tag parameter and uses DEFAULT_TAG (#3465) @hlavki
    • Avoid using the image name filter. Fixes #3574 (#3575) @bsideup
    • Support timestamps with offset from "inspect image" (#3055) @acanda
    • Search Oracle image name in classpath (#3439) @eyalkoren
    • Selenium: Restore getDockerImageForCapabilities method to public scope (#3441) @rnorth

    📖 Documentation

    • More examples in the gcloud module doc (#3463) @saturnism
    • Update Presto URL to use https in 'Who is using' list (#3438) @findepi
    • Add Presto project as Testcontainers user (#3435) @findepi

    🧹 Housekeeping

    • Add toxiproxy to dependabot.yml (#3502) @sullis

    📦 Dependency updates

    • Use lower Jackson version to avoid conflicts. (#3579) @bsideup
    • Update to docker-java 3.2.7 (#3577) @bsideup
    • Bump toxiproxy-java from 2.1.3 to 2.1.4 in /modules/toxiproxy (#3524) @dependabot
    • Bump transport from 7.9.2 to 7.10.0 in /modules/elasticsearch (#3473) @dependabot
    • Bump assertj-core from 3.17.2 to 3.18.1 in /core (#3471) @dependabot
    • Bump assertj-core from 3.18.0 to 3.18.1 in /modules/junit-jupiter (#3470) @dependabot
    • Bump assertj-core from 3.17.2 to 3.18.1 in /modules/kafka (#3469) @dependabot
    • Bump assertj-core from 3.17.2 to 3.18.1 in /modules/pulsar (#3475) @dependabot
    • Bump tomcat-jdbc from 9.0.39 to 9.0.40 in /modules/jdbc (#3509) @dependabot
    • Bump tomcat-jdbc from 9.0.39 to 9.0.40 in /modules/jdbc-test (#3513) @dependabot
    • Update to docker-java 3.2.6 (#3498) @bsideup
    • Bump assertj-core from 3.17.2 to 3.18.1 in /modules/database-commons (#3479) @dependabot
    • Bump assertj-core from 3.18.0 to 3.18.1 in /modules/neo4j (#3477) @dependabot
    • Bump elasticsearch-rest-client from 7.9.2 to 7.10.0 in /modules/elasticsearch (#3474) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.882 to 1.11.901 in /modules/dynalite (#3472) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.15.0(Nov 5, 2020)

    What's Changed

    Notable changes from previous release candidates (1.15.0-rc1, 1.15.0-rc2) are called out in these release notes. If migrating from 1.14.3, please see the RC release notes for other changes.

    🚀 Features & Enhancements

    • 🎉 Image substitution (#3102) @rnorth

      This change introduces a mechanism for programmatic image name substitution, as one of a number of mitigations for Docker Hub image pull rate limiting. For more information, please see the documentation.

    • 🥳 Add GCloud module for Google Cloud Datastore, Firestore, PubSub, and Spanner emulators (#2690) @eddumelendez

      For more information, please check out the documentation for this module!

    Included in 1.15.0-rc2

    • Add image compatibility checks (#3021) @rnorth The majority of modules make assumptions about the container image being used - for example, port numbers, expected log lines, etc. When asking users to provide their own images with modules, it is potentially confusing if the provided image diverges from the original 'vendor-provided' image that the module was built to support.

      This change is intended to ensure that, if the user provides their own image that is not the same as the vendor-provided one, they are given adequate warning and forced to signal that this is intentional.

      For example:

      • new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:any")) will just work, because confluentinc/cp-kafka matches the image name that KafkaContainer was designed to work with
      • but new KafkaContainer(DockerImageName.parse("some-other-kafka")) will not work immediately, because some-other-kafka may be an entirely divergent image from confluentinc/cp-kafka. In this case, the user would be prompted to add .asCompatibleSubstituteFor("confluentinc/cp-kafka") which tells Testcontainers that this is a conscious decision

      This PR adds to DockerImageName:

      • asCompatibleSubstituteFor(DockerImageName) and asCompatibleSubstituteFor(String) methods which may be used to claim compatibility with a vendor-provided image
      • isCompatibleWith(DockerImageName) and assertCompatibleWith(DockerImageName) methods which can be used by Testcontainers to check that the provided image is compatible with the expected vendor-provided image

    Included in 1.15.0-rc1

    • Add a rootless Docker strategy (#2985) @bsideup. This allows Testcontainers to be used with Docker's rootless mode. All Testcontainers' features and modules are compatible with Docker rootless mode, but we would appreciate feedback on unidentified edge cases.

    • Deprecate ambiguous constructors (#2839) @rnorth. This change affects the majority of constructors for container classes. This is intended to encourage users to specify an exact docker image and tag for dependencies, rather than relying on a (potentially outdated) default image chosen by Testcontainers.

      • new XyzContainer()-style and new XyzContainer(String)-style constructors are deprecated throughout, in favour of a strongly typed new XyzContainer(DockerImageName)-style constructor.
      • Users should identify an appropriate Docker image for their test dependencies, and use as follows: new XyzContainer( DockerImageName.parse( "the/image:tag" ) ).
      • We expect to make some further improvements in this area before the final 1.15.0 release.
    • Un-shade docker-java-api (#2882) @bsideup. This change follows some significant refactoring of the docker-java library, and should resolve various issues associated with shading of dependencies.

    • New optional transport based on Apache HttpClient5. This is a very promising transport that most probably will become the default in future versions of Testcontainers. You can give it a try by putting transport.type = httpclient5 to $HOME/.testcontainers.properties.

    ⚠️ Breaking API changes

    Included in 1.15.0-rc1

    While we expect that the vast majority of users will notice no difference, these changes can be considered breaking, so warrant special mention:

    • Un-shade docker-java-api (#2882) @bsideup
    • Remove deprecated implicit network in KafkaContainer (#2932) @bsideup
    • Clean up deprecated methods (#2835) @bsideup
    • Migrate postgis image to the postgis/postgis docker hub repo. (#2797) @Sanych

    Other improvements

    • Refactor TestcontainersConfiguration to allow config by env var (#3411) @rnorth
    • Elasticsearch: Add withPassword(String) method for secure access (#2321) @dadoonet
    • Vault: add a fluent API for configuring Vault's logging level (#2231) @fullkomnun
    • Add gcloud endpoint accessors (#3344) @rnorth
    • docker-machine: get full remote daemon URL, to allow for use of custom daemon port (#2769) (#3237) @vcvitaly
    • Allow users to specify a MongoDB database name (#2980) @silaev
    • Presto: Bump default Presto version (used in deprecated constructor and unversioned JDBC URL) from 329 to 344 (#3312) @findepi
    • Reduce severity of warning for failed auth config lookups (fixes #1399) (#3353) @DevilzOwn
    • When an image version is not specified, use latest as the default tag (#3313) @rnorth
    • Don't display a stack trace in the logs when .testcontainers.properties is not found (#2293) @rishumehrotra

    🐛 Bug Fixes

    • Fix use of HostPortWaitStrategy with Postgres container (fixes #3382) (#3403) @pawellozinski
    • Support Confluent Platform 6 in Kafka (#3293) @bsideup
    • Add support for MongoDB 4.4 (#3083) @kiview
    • Remove potential NullPointerException when trying to log an error in VNC recorder (#3408) @codefiddler

    📖 Documentation

    • Correct documentation for ryuk image (#3383) @ae-govau
    • Latest kafka container 5.4.3 (#3402) @artamonovkirill
    • Fix a small typo in documentation (#3349) @dadoonet
    • Update image references in Localstack module docs (#3076) @artamonovkirill
    • Elasticsearch: Add test and documentation for secured cluster, bump default Elasticsearch version (deprecated constructor) from 6.4.1 to 7.9.2 (#2320) @dadoonet
    • Increase memory limits used in example (#3340) @rnorth

    🧹 Housekeeping

    • Bump Python mkdocs tool dependency to address CVE-2019-10906 (#3379) @artamonovkirill
    • Update sponsors (#3410) @rnorth
    • Latest kafka container 5.4.3 (#3402) @artamonovkirill
    • Update tests to use emulators image (#3406) @eddumelendez
    • Change image used for test to avoid image name cache preventing proper pull (#3378) @rnorth
    • Fix remote gradle cache 400 InvalidArgument error (#3346) @rnorth
    • Use a lighter weight image for MultiplePortsExposedTest (#3343) @rnorth
    • Remove GitHub Actions cache restore keys (#3342) @rnorth
    • Increase memory limits used in example (#3340) @rnorth
    • Upgrade mkdocs-codeinclude-plugin (#3354) @rnorth
    • Always continue on error for examples CI (#3339) @rnorth
    • Add workflow for Update Gradle Wrapper Action. (#3297) @cristiangreco

    📦 Dependency updates

    Click to expand...
    • Bump s3 from 2.15.9 to 2.15.14 in /modules/localstack (#3388) @dependabot
    • Bump mockito-core from 3.5.13 to 3.5.15 in /modules/junit-jupiter (#3387) @dependabot
    • Bump assertj-core from 3.17.2 to 3.18.0 in /modules/junit-jupiter (#3386) @dependabot
    • Bump assertj-core from 3.17.2 to 3.18.0 in /modules/neo4j (#3385) @dependabot
    • Bump assertj-core from 3.17.2 to 3.18.0 in /modules/vault (#3384) @dependabot
    • Bump postgresql from 42.2.17 to 42.2.18 in /modules/junit-jupiter (#3369) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.880 to 1.11.884 in /modules/localstack (#3377) @dependabot
    • Bump guava from 29.0-jre to 30.0-jre in /core (#3371) @dependabot
    • Bump mysql-connector-java from 8.0.21 to 8.0.22 in /modules/junit-jupiter (#3370) @dependabot
    • Bump postgresql from 42.2.17 to 42.2.18 in /examples (#3367) @dependabot
    • Bump postgresql from 42.2.17 to 42.2.18 in /modules/spock (#3362) @dependabot
    • Bump s3 from 2.15.7 to 2.15.9 in /modules/localstack (#3361) @dependabot
    • Bump lombok from 1.18.14 to 1.18.16 in /examples (#3368) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.880 to 1.11.882 in /modules/localstack (#3365) @dependabot
    • Bump mssql-jdbc from 8.4.1.jre8 to 9.1.0.jre8-preview in /modules/mssqlserver (#3364) @dependabot
    • Bump mysql-connector-java from 8.0.21 to 8.0.22 in /modules/spock (#3363) @dependabot
    • Bump mysql-connector-java from 8.0.21 to 8.0.22 in /modules/jdbc-test (#3360) @dependabot
    • Bump guava from 29.0-jre to 30.0-jre in /modules/jdbc-test (#3359) @dependabot
    • Bump mysql-connector-java from 8.0.21 to 8.0.22 in /modules/mysql (#3357) @dependabot
    • Bump postgresql from 42.2.17 to 42.2.18 in /modules/postgresql (#3358) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.880 to 1.11.882 in /modules/dynalite (#3356) @dependabot
    • Bump cucumber-java from 6.6.0 to 6.8.1 in /examples (#3324) @dependabot
    • Bump s3 from 2.14.21 to 2.15.7 in /modules/localstack (#3335) @dependabot
    • Bump zt-exec from 1.10 to 1.12 in /core (#3253) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.870 to 1.11.880 in /modules/localstack (#3336) @dependabot
    • Bump org.springframework.boot from 2.3.3.RELEASE to 2.3.4.RELEASE in /examples (#3247) @dependabot
    • Bump cucumber-junit from 6.7.0 to 6.8.1 in /examples (#3325) @dependabot
    • Bump httpclient from 4.5.12 to 4.5.13 in /modules/spock (#3329) @dependabot
    • Bump httpclient from 4.5.12 to 4.5.13 in /modules/junit-jupiter (#3326) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.860 to 1.11.880 in /modules/localstack (#3337) @dependabot
    • Bump postgresql from 42.2.16 to 42.2.17 in /modules/postgresql (#3334) @dependabot
    • Bump tomcat-jdbc from 9.0.37 to 9.0.39 in /modules/jdbc (#3333) @dependabot
    • Bump postgresql from 42.2.16 to 42.2.17 in /modules/spock (#3330) @dependabot
    • Bump postgresql from 42.2.16 to 42.2.17 in /modules/junit-jupiter (#3327) @dependabot
    • Bump postgresql from 42.2.16 to 42.2.17 in /examples (#3323) @dependabot
    • Bump solr-solrj from 8.6.2 to 8.6.3 in /examples (#3321) @dependabot
    • Bump mariadb-java-client from 2.6.2 to 2.7.0 in /modules/mariadb (#3278) @dependabot
    • Bump junit from 4.13 to 4.13.1 in /examples (#3328) @dependabot
    • Bump tomcat-jdbc from 9.0.37 to 9.0.39 in /modules/jdbc-test (#3338) @dependabot
    • Bump mockito-core from 3.5.11 to 3.5.13 in /modules/junit-jupiter (#3283) @dependabot
    • Bump elasticsearch-rest-client from 7.9.1 to 7.9.2 in /modules/elasticsearch (#3276) @dependabot
    • Bump mockito-core from 3.5.11 to 3.5.13 in /core (#3275) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.865 to 1.11.880 in /modules/dynalite (#3332) @dependabot
    • Bump assertj-core from 3.17.1 to 3.17.2 in /core (#3251) @dependabot
    • Bump testng from 7.2.0 to 7.3.0 in /examples (#3068) @dependabot
    • Bump r2dbc-mariadb from 0.8.3-beta1 to 0.8.4-rc in /modules/mariadb (#3300) @dependabot
    • Bump lombok from 1.18.12 to 1.18.14 in /examples (#3322) @dependabot
    • Bump snakeyaml from 1.25 to 1.27 in /core (#3252) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.15.0-rc2(Sep 30, 2020)

    What's Changed

    This release includes a fix for a breaking change that appeared in Docker for Mac v2.4.0.0 (#3159). We recommend upgrading to this version of Testcontainers ASAP.

    🚀 Features & Enhancements

    • Add image compatibility checks (#3021) @rnorth The majority of modules make assumptions about the container image being used - for example, port numbers, expected log lines, etc. When asking users to provide their own images with modules, it is potentially confusing if the provided image diverges from the original 'vendor-provided' image that the module was built to support.

      This change is intended to ensure that, if the user provides their own image that is not the same as the vendor-provided one, they are given adequate warning and forced to signal that this is intentional.

      For example:

      • new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:any")) will just work, because confluentinc/cp-kafka matches the image name that KafkaContainer was designed to work with
      • but new KafkaContainer(DockerImageName.parse("some-other-kafka")) will not work immediately, because some-other-kafka may be an entirely divergent image from confluentinc/cp-kafka. In this case, the user would be prompted to add .asCompatibleSubstituteFor("confluentinc/cp-kafka") which tells Testcontainers that this is a conscious decision

      This PR adds to DockerImageName:

      • asCompatibleSubstituteFor(DockerImageName) and asCompatibleSubstituteFor(String) methods which may be used to claim compatibility with a vendor-provided image
      • isCompatibleWith(DockerImageName) and assertCompatibleWith(DockerImageName) methods which can be used by Testcontainers to check that the provided image is compatible with the expected vendor-provided image
    • Add support for Docker compose withOptions(...) (#2827) @Gapmeister66

    ☠️ Deprecations

    • Exclude id from NetworkImpl.NetworkImplBuilder (testcontainers#8125) (#2807) @quincy

    🐛 Bug Fixes

    • Fix bind mounts for ResourceReaper/ryuk and ContainerisedDockerCompose on macOS (#3159) @gesellix
    • Remove dependency upon internet URLs for selenium tests (#3271) @rnorth
    • #3057 Fix jetbrains annotations configuration scope (#3157) @wpanas
    • Whitespace configuration fix (#3127, fixes #3053) (#3127) @artjomka

    📖 Documentation

    • Remove use of implicit network for multi-container Kafka (#3128) @iaintatchbbc
    • #3129 Fix dead link for CircleCI configuration (#3156) @wpanas

    🧹 Housekeeping

    • Make testMatrix task emit all check tasks, rather than filtering out up-to-date tasks (#3287) @rnorth
    • Remove dependency upon internet URLs for selenium tests (#3271) @rnorth
    • Use testCompileClasspath instead of testCompileOnly (#3219) @colltoaction
    • Add some more logs to bash script used for DockerHealthcheckWaitStratgyTest (#2988) @kiview
    • Fix the Rootless Docker CI job (#3050) @bsideup
    • Add continue-on-error for cache step, and upgrade GH cache action (#3133) @rnorth

    📦 Dependency updates

    • Bump aws-java-sdk-s3 from 1.11.865 to 1.11.870 in /modules/localstack (#3285) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.860 to 1.11.865 in /modules/localstack (#3255) @dependabot
    • Bump s3 from 2.14.16 to 2.14.21 in /modules/localstack (#3254) @dependabot
    • Bump mockito-core from 3.5.7 to 3.5.11 in /core (#3250) @dependabot
    • Bump cucumber-junit from 6.6.0 to 6.7.0 in /examples (#3246) @dependabot
    • Bump okhttp from 4.8.1 to 4.9.0 in /examples (#3245) @dependabot
    • Bump solr-solrj from 8.6.1 to 8.6.2 in /examples (#3244) @dependabot
    • Bump mockito-core from 3.5.10 to 3.5.11 in /modules/junit-jupiter (#3243) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.860 to 1.11.865 in /modules/dynalite (#3242) @dependabot
    • Bump assertj-core from 3.17.1 to 3.17.2 in /modules/pulsar (#3192) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.856 to 1.11.860 in /modules/localstack (#3226) @dependabot
    • Bump assertj-core from 3.17.1 to 3.17.2 in /modules/database-commons (#3197) @dependabot
    • Bump assertj-core from 3.17.1 to 3.17.2 in /modules/junit-jupiter (#3199) @dependabot
    • Bump assertj-core from 3.17.1 to 3.17.2 in /modules/kafka (#3200) @dependabot
    • Bump cucumber-java from 6.4.0 to 6.6.0 in /examples (#3213) @dependabot
    • Bump r2dbc-postgresql from 0.8.4.RELEASE to 0.8.5.RELEASE in /modules/postgresql (#3230) @dependabot
    • Bump s3 from 2.14.12 to 2.14.16 in /modules/localstack (#3231) @dependabot
    • Bump junit-jupiter-api from 5.6.2 to 5.7.0 in /modules/junit-jupiter (#3233) @dependabot
    • Bump junit-jupiter-params from 5.6.2 to 5.7.0 in /modules/junit-jupiter (#3232) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.856 to 1.11.860 in /modules/dynalite (#3235) @dependabot
    • Bump postgresql from 42.2.15 to 42.2.16 in /examples (#3216) @dependabot
    • Bump junit-jupiter-engine from 5.6.2 to 5.7.0 in /modules/junit-jupiter (#3234) @dependabot
    • Bump cucumber-junit from 6.4.0 to 6.6.0 in /examples (#3215) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.851 to 1.11.860 in /modules/localstack (#3227) @dependabot
    • Bump assertj-core from 3.17.1 to 3.17.2 in /modules/vault (#3193) @dependabot
    • Bump mockito-core from 3.5.7 to 3.5.10 in /modules/junit-jupiter (#3201) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.852 to 1.11.856 in /modules/localstack (#3203) @dependabot
    • Bump s3 from 2.14.8 to 2.14.12 in /modules/localstack (#3202) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.851 to 1.11.856 in /modules/dynalite (#3194) @dependabot
    • Bump annotations from 20.0.0 to 20.1.0 in /modules/mysql (#3198) @dependabot
    • Bump annotations from 20.0.0 to 20.1.0 in /modules/selenium (#3195) @dependabot
    • Bump annotations from 20.0.0 to 20.1.0 in /modules/jdbc (#3196) @dependabot
    • Bump annotations from 20.0.0 to 20.1.0 in /examples (#3217) @dependabot
    • Bump annotations from 20.0.0 to 20.1.0 in /modules/postgresql (#3207) @dependabot
    • Bump annotations from 20.0.0 to 20.1.0 in /modules/nginx (#3206) @dependabot
    • Bump annotations from 20.0.0 to 20.1.0 in /modules/spock (#3204) @dependabot
    • Bump annotations from 20.0.0 to 20.1.0 in /core (#3214) @dependabot
    • Bump assertj-core from 3.16.1 to 3.17.1 in /core (#3210) @dependabot
    • Bump elasticsearch-rest-client from 7.9.0 to 7.9.1 in /modules/elasticsearch (#3212) @dependabot
    • Bump assertj-core from 3.17.1 to 3.17.2 in /modules/neo4j (#3208) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.847 to 1.11.852 in /modules/localstack (#3182) @dependabot
    • Bump s3 from 2.14.6 to 2.14.8 in /modules/localstack (#3181) @dependabot
    • Bump assertj-core from 3.17.0 to 3.17.1 in /modules/kafka (#3175) @dependabot
    • Bump assertj-core from 3.17.0 to 3.17.1 in /modules/pulsar (#3176) @dependabot
    • Bump assertj-core from 3.17.0 to 3.17.1 in /modules/junit-jupiter (#3177) @dependabot
    • Bump assertj-core from 3.17.0 to 3.17.1 in /modules/vault (#3173) @dependabot
    • Bump assertj-core from 3.17.0 to 3.17.1 in /modules/database-commons (#3168) @dependabot
    • Bump assertj-core from 3.17.0 to 3.17.1 in /modules/neo4j (#3167) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.846 to 1.11.851 in /modules/localstack (#3171) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.847 to 1.11.851 in /modules/dynalite (#3172) @dependabot
    • Bump mssql-jdbc from 8.3.1.jre8-preview to 8.4.1.jre8 in /modules/mssqlserver (#3174) @dependabot
    • Bump assertj-core from 3.16.1 to 3.17.0 in /modules/database-commons (#3141) @dependabot
    • Bump assertj-core from 3.16.1 to 3.17.0 in /modules/neo4j (#3137) @dependabot
    • Bump s3 from 2.13.76 to 2.14.6 in /modules/localstack (#3162) @dependabot
    • Bump assertj-core from 3.16.1 to 3.17.0 in /modules/kafka (#3139) @dependabot
    • Bump mockito-core from 3.5.5 to 3.5.7 in /modules/junit-jupiter (#3163) @dependabot
    • Bump postgresql from 42.2.15 to 42.2.16 in /modules/spock (#3138) @dependabot
    • Bump mockito-core from 3.5.0 to 3.5.7 in /core (#3164) @dependabot
    • Bump pulsar-client from 2.6.0 to 2.6.1 in /modules/pulsar (#3155) @dependabot
    • Bump mockito-core from 3.5.2 to 3.5.5 in /modules/junit-jupiter (#3143) @dependabot
    • Bump assertj-core from 3.16.1 to 3.17.0 in /modules/junit-jupiter (#3144) @dependabot
    • Bump postgresql from 42.2.15 to 42.2.16 in /modules/postgresql (#3145) @dependabot
    • Bump assertj-core from 3.16.1 to 3.17.0 in /modules/vault (#3146) @dependabot
    • Bump pulsar-client-admin from 2.6.0 to 2.6.1 in /modules/pulsar (#3154) @dependabot
    • Bump elasticsearch-rest-client from 7.8.0 to 7.9.0 in /modules/elasticsearch (#3152) @dependabot
    • Bump postgresql from 42.2.15 to 42.2.16 in /modules/junit-jupiter (#3142) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.846 to 1.11.847 in /modules/localstack (#3148) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.837 to 1.11.847 in /modules/dynalite (#3150) @dependabot
    • Bump assertj-core from 3.16.1 to 3.17.0 in /modules/pulsar (#3153) @dependabot
    • Bump postgresql from 42.2.14 to 42.2.15 in /modules/spock (#3119) @dependabot
    • Bump influxdb-java from 2.19 to 2.20 in /modules/influxdb (#3120) @dependabot
    • Bump org.springframework.boot from 2.3.2.RELEASE to 2.3.3.RELEASE in /examples (#3111) @dependabot
    • Bump mockito-core from 3.4.4 to 3.5.2 in /modules/junit-jupiter (#3130) @dependabot
    • Bump postgresql from 42.2.14 to 42.2.15 in /modules/junit-jupiter (#3115) @dependabot
    • Bump postgresql from 42.2.14 to 42.2.15 in /modules/postgresql (#3113) @dependabot
    • Bump cucumber-java from 6.2.2 to 6.4.0 in /examples (#3112) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.831 to 1.11.846 in /modules/localstack (#3132) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.837 to 1.11.846 in /modules/localstack (#3131) @dependabot
    • Bump s3 from 2.13.61 to 2.13.76 in /modules/localstack (#3114) @dependabot
    • Bump solr-solrj from 8.5.2 to 8.6.1 in /examples (#3107) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.827 to 1.11.837 in /modules/dynalite (#3090) @dependabot
    • Bump okhttp from 4.8.0 to 4.8.1 in /examples (#3106) @dependabot
    • Bump cucumber-junit from 6.2.2 to 6.4.0 in /examples (#3109) @dependabot
    • Bump postgresql from 42.2.14 to 42.2.15 in /examples (#3108) @dependabot
    • Bump mockito-core from 3.4.6 to 3.5.0 in /core (#3105) @dependabot
    • Bump mongo-java-driver from 3.12.6 to 3.12.7 in /core (#3104) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.831 to 1.11.837 in /modules/localstack (#3088) @dependabot
    • Bump kafka-clients from 2.5.0 to 2.6.0 in /modules/kafka (#3085) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.816 to 1.11.827 in /modules/dynalite (#3027) @dependabot
    • Bump mongo-java-driver from 3.12.5 to 3.12.6 in /core (#3024) @dependabot
    • Bump mockito-core from 3.3.3 to 3.4.6 in /core (#3065) @dependabot
    • Bump r2dbc-mysql from 0.8.1.RELEASE to 0.8.2.RELEASE in /modules/mysql (#3046) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.816 to 1.11.831 in /modules/localstack (#3064) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.812 to 1.11.831 in /modules/localstack (#3063) @dependabot
    • Bump mysql-connector-java from 8.0.20 to 8.0.21 in /modules/jdbc-test (#3044) @dependabot
    • Bump mysql-connector-java from 8.0.20 to 8.0.21 in /modules/mysql (#3045) @dependabot
    • Bump mockito-core from 3.3.3 to 3.4.4 in /modules/junit-jupiter (#3038) @dependabot
    • Bump org.springframework.boot from 2.3.1.RELEASE to 2.3.2.RELEASE in /examples (#3039) @dependabot
    • Bump mysql-connector-java from 8.0.20 to 8.0.21 in /modules/junit-jupiter (#3037) @dependabot
    • Bump r2dbc-mariadb from 0.8.2-alpha2 to 0.8.3-beta1 in /modules/mariadb (#3036) @dependabot
    • Bump mariadb-java-client from 2.6.1 to 2.6.2 in /modules/mariadb (#3034) @dependabot
    • Bump r2dbc-postgresql from 0.8.3.RELEASE to 0.8.4.RELEASE in /modules/postgresql (#3035) @dependabot
    • Bump mysql-connector-java from 8.0.20 to 8.0.21 in /modules/spock (#3032) @dependabot
    • Bump r2dbc-mssql from 0.8.3.RELEASE to 0.8.4.RELEASE in /modules/mssqlserver (#3033) @dependabot
    • Bump okhttp from 4.7.2 to 4.8.0 in /examples (#3042) @dependabot
    • Bump s3 from 2.13.50 to 2.13.61 in /modules/localstack (#3028) @dependabot
    • Bump commons-lang3 from 3.10 to 3.11 in /modules/jdbc-test (#3043) @dependabot
    • Bump cucumber-junit from 6.1.1 to 6.2.2 in /examples (#3041) @dependabot
    • Bump cucumber-java from 6.1.1 to 6.2.2 in /examples (#3040) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.15.0-rc1(Jul 19, 2020)

    What's Changed

    This is a release candidate build for version 1.15.0, including a large number of small but noticeable changes.

    At least one further release candidate build is expected before 1.15.0 final, and some API changes may still be made. We would encourage users to upgrade to this release candidate version if possible, and to give us feedback on any issues that are encountered.

    Notable changes

    • Add a rootless Docker strategy (#2985) @bsideup. This allows Testcontainers to be used with Docker's rootless mode. All Testcontainers' features and modules are compatible with Docker rootless mode, but we would appreciate feedback on unidentified edge cases.

    • Deprecate ambiguous constructors (#2839) @rnorth. This change affects the majority of constructors for container classes. This is intended to encourage users to specify an exact docker image and tag for dependencies, rather than relying on a (potentially outdated) default image chosen by Testcontainers.

      • new XyzContainer()-style and new XyzContainer(String)-style constructors are deprecated throughout, in favour of a strongly typed new XyzContainer(DockerImageName)-style constructor.
      • Users should identify an appropriate Docker image for their test dependencies, and use as follows: new XyzContainer( DockerImageName.parse( "the/image:tag" ) ).
      • We expect to make some further improvements in this area before the final 1.15.0 release.
    • Un-shade docker-java-api (#2882) @bsideup. This change follows some significant refactoring of the docker-java library, and should resolve various issues associated with shading of dependencies.

    • New optional transport based on Apache HttpClient5. This is a very promising transport that most probably will become the default in future versions of Testcontainers. You can give it a try by putting transport.type = httpclient5 to $HOME/.testcontainers.properties.

    ⚠️ Breaking API changes

    While we expect that the vast majority of users will notice no difference, these changes can be considered breaking, so warrant special mention:

    • Un-shade docker-java-api (#2882) @bsideup
    • Remove deprecated implicit network in KafkaContainer (#2932) @bsideup
    • Clean up deprecated methods (#2835) @bsideup
    • Migrate postgis image to the postgis/postgis docker hub repo. (#2797) @Sanych

    ☠️ Deprecations

    • Deprecate ambiguous constructors (#2839) @rnorth.

    🚀 Features & Enhancements

    • Add a rootless Docker strategy (#2985) @bsideup
    • Maintain deterministic order in withCopyFileToContainer (#2897) @findepi
    • Couchbase: include error response from Couchbase in checkSuccessfulResponse() (#3006) @aaronjwhiteside
    • Allow overriding detected host (#2991) @bsideup
    • Use EnvAndSysPropClientProviderStrategy only if DOCKER_HOST is set (#2987) @bsideup
    • Un-shade docker-java-api (#2882) @bsideup
    • Method to enable functions worker in pulsar container (#2711) @lanwen
    • Remove deprecated implicit network in KafkaContainer (#2932) @bsideup
    • Do not resolve LazyFuture from RemoteDockerImage#toString (#2930) @bsideup
    • Cache Ryuk's failure to prevent the double start (#2935) @bsideup
    • Upgrade to docker-java 3.2.2, try Apache HttpClient5 (#2803) @bsideup
    • Use testcontainers/* Docker Hub images (#2850) @bsideup
    • Enable AWS KMS For LocalStack 0.10.8 (#2812) @SahilWadhwa
    • Add acceptLicense method to MSSQLServerContainer (#2085) @KyleAure
    • Update to latest LocalStack container and support unified port mode (#2825) @artamonovkirill

    🐛 Bug Fixes

    • Fix PrestoContainer WaitStrategy regex (#2992) @MrBuddyCasino
    • Fix local Docker Compose (#2998) @bsideup
    • Pin version of RabbitMQ image to 3.7.25-management-alpine (#2941) @rnorth
    • Run correct subset of docker compose containers when withServices/withScaledService used (#2922) @rnorth
    • Fix log-related leaks (#2883) @bsideup
    • Avoid connection leaks in LogUtils (#2834) @bsideup

    📖 Documentation

    • Add fkorotkov to backers (#2997) @rnorth
    • Convert Docs for the Junit5 (#2977) @raynigon
    • Add breaking change and deprecation sections to release notes (#2978) @rnorth
    • Adapt docs to non deprecated way of setting --memory and --memory-swap (#2511) @tschmidt01
    • Add Windows Server 2019 as unsupported to docs (#2963) @kiview
    • Add user from Apache SkyWalking (#2967) @kezhenxu94
    • Add backers (#2958) @rnorth
    • Convert Docs for Kafka Module #1158 (#2925) @raynigon
    • Convert Docs for Webdriver Containers (#2927) @raynigon
    • Add initial bounty policy documentation. (#2954) @rnorth
    • Convert Docs for the Spock Testframework (#2928) @raynigon
    • Use codeinclude for Elasticsearch Module (#2828) @raynigon
    • Update Windows docs for WSL2 (#2816) @kiview
    • Update Mysql and Postgres tests example URLs (#2832) @muzir
    • Added jOOQ to the who's using section, and me to the backers section (#2996) @lukaseder

    🧹 Housekeeping

    • RabbitMQ: correct shouldMountConfigurationFileSysctl test so that it exercises the withRabbitMQConfigSysctl method (#2945) @JeanBaptisteWATENBERG
    • Delete pom.xml in examples/singleton-container (#2937) @bsideup
    • Continue on ciMate's error (#2933) @bsideup
    • Pin registry image used for testing (#2926) @rnorth
    • upgrade to Dependabot 2 (#2898) @sullis
    • Fix compilation error related to unicode in source code (#2464) @trexinc
    • Hard deprecate ProxiedUnixSocketClientProviderStrategy (#2851) @bsideup
    • Migrate postgis image to the postgis/postgis docker hub repo. (#2797) @Sanych
    • Switch to latest v5 release of release-drafter (#2815) @jetersen

    📦 Dependency updates

    Click to expand...
    • Bump cucumber-java from 5.7.0 to 6.1.1 in /examples (#2919) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.812 to 1.11.816 in /modules/dynalite (#2976) @dependabot
    • Bump pulsar-client-admin from 2.5.1 to 2.6.0 in /modules/pulsar (#2975) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.812 to 1.11.816 in /modules/localstack (#2973) @dependabot
    • Bump s3 from 2.13.46 to 2.13.50 in /modules/localstack (#2972) @dependabot
    • Bump tomcat-jdbc from 9.0.36 to 9.0.37 in /modules/jdbc (#2971) @dependabot
    • Bump rest-assured from 4.3.0 to 4.3.1 in /modules/vault (#2970) @dependabot
    • Bump tomcat-jdbc from 9.0.36 to 9.0.37 in /modules/jdbc-test (#2969) @dependabot
    • Bump s3 from 2.13.41 to 2.13.46 in /modules/localstack (#2947) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.807 to 1.11.812 in /modules/dynalite (#2953) @dependabot
    • Bump mariadb-java-client from 2.6.0 to 2.6.1 in /modules/mariadb (#2950) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.807 to 1.11.812 in /modules/localstack (#2949) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.807 to 1.11.812 in /modules/localstack (#2948) @dependabot
    • Update to docker-java 3.2.5 (#2938) @bsideup
    • Upgrade docker-java to 3.2.4 (#2924) @rnorth
    • Bump s3 from 2.13.36 to 2.13.41 in /modules/localstack (#2907) @dependabot
    • Bump okhttp from 3.14.8 to 4.7.2 in /examples (#2915) @dependabot
    • Bump selenium-chrome-driver from 3.14.0 to 3.141.59 in /examples (#2914) @dependabot
    • Bump selenium-remote-driver from 3.14.0 to 3.141.59 in /examples (#2913) @dependabot
    • Bump aws-java-sdk-sqs from 1.11.797 to 1.11.807 in /modules/localstack (#2896) @dependabot-preview
    • Bump me.champeau.gradle.japicmp from 0.2.8 to 0.2.9 in /core (#2900) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.11.479 to 1.11.807 in /modules/dynalite (#2905) @dependabot
    • Bump aws-java-sdk-s3 from 1.11.802 to 1.11.807 in /modules/localstack (#2894) @dependabot-preview
    • Bump postgresql from 42.2.13 to 42.2.14 in /examples (#2892) @dependabot-preview
    • Bump pulsar-client from 2.5.2 to 2.6.0 in /modules/pulsar (#2893) @dependabot-preview
    • Bump cucumber-junit from 5.7.0 to 6.1.1 in /examples (#2891) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.7.1 to 7.8.0 in /modules/elasticsearch (#2889) @dependabot-preview
    • upgrade to Dependabot 2 (#2898) @sullis
    • Bump postgresql from 42.2.13 to 42.2.14 in /modules/spock (#2873) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.35 to 9.0.36 in /modules/jdbc-test (#2866) @dependabot-preview
    • Bump postgresql from 42.2.13 to 42.2.14 in /modules/junit-jupiter (#2869) @dependabot-preview
    • Bump s3 from 2.13.31 to 2.13.36 in /modules/localstack (#2872) @dependabot-preview
    • Bump org.springframework.boot from 2.3.0.RELEASE to 2.3.1.RELEASE in /examples (#2871) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.35 to 9.0.36 in /modules/jdbc (#2865) @dependabot-preview
    • Bump postgresql from 42.2.13 to 42.2.14 in /modules/postgresql (#2867) @dependabot-preview
    • Bump aws-java-sdk-s3 from 1.11.797 to 1.11.802 in /modules/localstack (#2870) @dependabot-preview
    • Update to docker-java 3.2.3 (#2885) @bsideup
    • Bump aws-java-sdk-logs from 1.11.792 to 1.11.797 in /modules/localstack (#2849) @dependabot-preview
    • Bump postgresql from 42.2.12 to 42.2.13 in /modules/postgresql (#2846) @dependabot-preview
    • Bump s3 from 2.13.23 to 2.13.31 in /modules/localstack (#2848) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.792 to 1.11.797 in /modules/localstack (#2847) @dependabot-preview
    • Bump postgresql from 42.2.12 to 42.2.13 in /modules/junit-jupiter (#2845) @dependabot-preview
    • Bump postgresql from 42.2.12 to 42.2.13 in /modules/spock (#2840) @dependabot-preview
    • Bump postgresql from 42.2.12 to 42.2.13 in /examples (#2842) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.6.2 to 7.7.1 in /modules/elasticsearch (#2841) @dependabot-preview
    • Bump mongo-java-driver from 3.12.4 to 3.12.5 in /core (#2844) @dependabot-preview
    • Bump testcontainers from 1.14.2 to 1.14.3 in /core (#2818) @dependabot-preview
    • Bump r2dbc-mssql from 0.8.2.RELEASE to 0.8.3.RELEASE in /modules/mssqlserver (#2821) @dependabot-preview
    • Bump aws-java-sdk-s3 from 1.11.784 to 1.11.792 in /modules/localstack (#2817) @dependabot-preview
    • Bump r2dbc-postgresql from 0.8.2.RELEASE to 0.8.3.RELEASE in /modules/postgresql (#2824) @dependabot-preview
    • Bump mssql-jdbc from 8.3.0.jre8-preview to 8.3.1.jre8-preview in /modules/mssqlserver (#2823) @dependabot-preview
    • Bump solr-solrj from 8.5.1 to 8.5.2 in /examples (#2819) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.789 to 1.11.792 in /modules/localstack (#2820) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.789 to 1.11.792 in /modules/localstack (#2822) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.14.3(May 29, 2020)

    What's Changed

    🚀 Features & Enhancements

    • Move away from using quay.io for default images (#2805) @rnorth
    • Couchbase: wait until query engine knows about bucket before creating… (#2662) @daschl
    • Couchbase: Bump Server Image Version (#2804) @daschl
    • Added additional url params in JdbcDatabaseContainer (#1802) (#1874) @eaxdev
    • Record and dump Ryuk's logs on timeout (#2810) @bsideup
    • Add default labels to images created with ImageFromDockerfile (#2809) @bsideup
    • Ensure that ParsedDockerfile supports platform args (#2780) @rnorth

    📖 Documentation

    • Add docs for startup strategy information/examples (#1157) (#2565) @vcvitaly

    🧹 Housekeeping

    • Dynamic CI jobs for examples (#2677) @rnorth
    • Prevent Local gradle build cache collisions (#2778) @rnorth
    • Docs: Update version #2757 (#2758) @AElMehdi

    📦 Dependency updates

    Click to expand...
    • Bump s3 from 2.13.18 to 2.13.23 in /modules/localstack (#2786) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.782 to 1.11.789 in /modules/localstack (#2788) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.784 to 1.11.789 in /modules/localstack (#2785) @dependabot-preview
    • Bump pulsar-client from 2.5.1 to 2.5.2 in /modules/pulsar (#2787) @dependabot-preview
    • Bump influxdb-java from 2.18 to 2.19 in /modules/influxdb (#2784) @dependabot-preview
    • Bump s3 from 2.13.16 to 2.13.18 in /modules/localstack (#2748) @dependabot-preview
    • Bump org.springframework.boot from 2.2.7.RELEASE to 2.3.0.RELEASE in /examples (#2753) @dependabot-preview
    • Bump solr-solrj from 8.3.0 to 8.5.1 in /examples (#2749) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.782 to 1.11.784 in /modules/localstack (#2746) @dependabot-preview
    • Bump aws-java-sdk-s3 from 1.11.782 to 1.11.784 in /modules/localstack (#2747) @dependabot-preview
    • Bump mysql-connector-java from 8.0.19 to 8.0.20 in /modules/jdbc-test (#2750) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.33 to 9.0.35 in /modules/jdbc-test (#2752) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.33 to 9.0.35 in /modules/jdbc (#2744) @dependabot-preview
    • Bump mssql-jdbc from 8.2.2.jre8 to 8.3.0.jre8-preview in /modules/mssqlserver (#2755) @dependabot-preview
    • Bump guava from 28.2-jre to 29.0-jre in /modules/jdbc-test (#2754) @dependabot-preview
    • Bump testcontainers from 1.14.1 to 1.14.2 in /core (#2751) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.14.2(May 15, 2020)

    What's Changed

    🚀 Features & Enhancements

    • Add MongoDB module (#1961) @silaev
    • Add Apache Solr Module (#2123) @raynigon
    • Implement DockerClientFactory.isDockerAvailable() (#2605) @mvysny
    • RabbitMQ: Support declaring an exchange within a vhost (#2362) @dangets
    • Docker Compose: Verify that all services that have a wait condition defined also have a corresponding service instance (#2637) @jannis-baratheon
    • Add a getter for Toxiproxy exposed port (#2513) @lutovich
    • Add ContainerState#getHost as a replacement for getContainerIpAddress (#2742) @bsideup

    🐛 Bug Fixes

    • Store GenericContainer#exposedPorts as an order-preserving Set (#2613) @bsideup
    • Correction for an edge case in local image repos (duplicate tags) (#2692, #2431) @Choobz
    • Remove duplicate debug log message at container start (#2522) @Streppel
    • Fix a regression in OracleContainer introduced in #2473 (#2612) @bsideup

    📖 Documentation

    • Fix typo in DinD documentation (#2725) @liquidpie
    • Doc update for elasticsearch and kafka (#2615) @mans2singh
    • Example and docs for ability to copy to and from container for #1164 (#1989) @sumitanvekar
    • Fix typo (#2636) @britter

    🧹 Housekeeping

    • Split JDBC tests (#2556) @rnorth
    • Revert "Example and docs for ability to copy to and from container for #1164" (#2651) @rnorth
    • Replace legacy orchardup/mysql with mysql:5.7.22 in docker compose test (#2602) @rnorth
    • Make neo4j module support Gradle caching (#2649) @rnorth
    • Fix flaky JDBC tmpfs test (#2646) @rnorth

    📦 Dependency updates

    Click to expand...
    • Update example to Spring Boot 2.3.0 (#2743) @bsideup
    • Bump mssql-jdbc from 6.1.0.jre8 to 8.3.0.jre8-preview in /modules/mssqlserver (#2733) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.777 to 1.11.782 in /modules/localstack (#2730) @dependabot-preview
    • Bump r2dbc-mariadb from 0.8.1-alpha1 to 0.8.2-alpha2 in /modules/mariadb (#2702) @dependabot-preview
    • Bump assertj-core from 3.16.0 to 3.16.1 in /core (#2706) @dependabot-preview
    • Bump transport from 6.7.1 to 7.7.0 in /modules/elasticsearch (#2737) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.34 to 9.0.35 in /modules/mysql (#2713) @dependabot-preview
    • Bump java-client from 2.7.14 to 2.7.15 in /modules/couchbase (#2701) @dependabot-preview
    • Bump auto-service from 1.0-rc6 to 1.0-rc7 in /modules/mariadb (#2739) @dependabot-preview
    • Bump auto-service from 1.0-rc6 to 1.0-rc7 in /modules/mysql (#2736) @dependabot-preview
    • Bump auto-service from 1.0-rc6 to 1.0-rc7 in /modules/postgresql (#2735) @dependabot-preview
    • Bump auto-service from 1.0-rc6 to 1.0-rc7 in /modules/mssqlserver (#2734) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.778 to 1.11.782 in /modules/localstack (#2732) @dependabot-preview
    • Bump s3 from 2.13.12 to 2.13.16 in /modules/localstack (#2729) @dependabot-preview
    • Bump assertj-core from 3.16.0 to 3.16.1 in /modules/database-commons (#2703) @dependabot-preview
    • Bump assertj-core from 3.16.0 to 3.16.1 in /modules/vault (#2695) @dependabot-preview
    • Bump assertj-core from 3.16.0 to 3.16.1 in /modules/pulsar (#2696) @dependabot-preview
    • Bump HikariCP from 3.4.3 to 3.4.5 in /modules/spock (#2699) @dependabot-preview
    • Bump assertj-core from 3.16.0 to 3.16.1 in /modules/kafka (#2709) @dependabot-preview
    • Bump assertj-core from 3.16.0 to 3.16.1 in /modules/junit-jupiter (#2700) @dependabot-preview
    • Bump assertj-core from 3.16.0 to 3.16.1 in /modules/neo4j (#2698) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.34 to 9.0.35 in /modules/mariadb (#2712) @dependabot-preview
    • Bump HikariCP from 3.4.3 to 3.4.5 in /modules/junit-jupiter (#2697) @dependabot-preview
    • Bump HikariCP from 3.4.3 to 3.4.4 in /modules/junit-jupiter (#2679) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.777 to 1.11.778 in /modules/localstack (#2680) @dependabot-preview
    • Bump s3 from 2.13.11 to 2.13.12 in /modules/localstack (#2681) @dependabot-preview
    • Bump org.springframework.boot from 2.2.6.RELEASE to 2.2.7.RELEASE in /examples (#2683) @dependabot-preview
    • Bump HikariCP from 3.4.3 to 3.4.4 in /modules/spock (#2678) @dependabot-preview
    • Bump aws-java-sdk-s3 from 1.11.775 to 1.11.778 in /modules/localstack (#2682) @dependabot-preview
    • Bump okhttp from 3.14.6 to 3.14.8 in /core (#2644) @dependabot-preview
    • Bump httpclient from 4.5.11 to 4.5.12 in /modules/junit-jupiter (#2409) @dependabot-preview
    • Bump annotations from 17.0.0 to 19.0.0 in /core (#2358) @dependabot-preview
    • Bump mongo-java-driver from 3.12.3 to 3.12.4 in /core (#2676) @dependabot-preview
    • Bump s3 from 2.13.9 to 2.13.11 in /modules/localstack (#2673) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.775 to 1.11.777 in /modules/localstack (#2674) @dependabot-preview
    • Bump assertj-core from 3.15.0 to 3.16.0 in /modules/kafka (#2664) @dependabot-preview
    • Bump assertj-core from 3.15.0 to 3.16.0 in /modules/neo4j (#2665) @dependabot-preview
    • Bump assertj-core from 3.15.0 to 3.16.0 in /modules/pulsar (#2668) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.775 to 1.11.777 in /modules/localstack (#2675) @dependabot-preview
    • Bump assertj-core from 3.15.0 to 3.16.0 in /modules/database-commons (#2672) @dependabot-preview
    • Bump assertj-core from 3.15.0 to 3.16.0 in /modules/junit-jupiter (#2669) @dependabot-preview
    • Bump assertj-core from 3.15.0 to 3.16.0 in /modules/vault (#2670) @dependabot-preview
    • Bump assertj-core from 3.15.0 to 3.16.0 in /core (#2671) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.773 to 1.11.775 in /modules/localstack (#2660) @dependabot-preview
    • Bump s3 from 2.13.7 to 2.13.9 in /modules/localstack (#2659) @dependabot-preview
    • Bump cucumber-java from 5.6.0 to 5.7.0 in /examples (#2658) @dependabot-preview
    • Bump cucumber-junit from 5.6.0 to 5.7.0 in /examples (#2657) @dependabot-preview
    • Bump jedis from 3.2.0 to 3.3.0 in /examples (#2656) @dependabot-preview
    • Bump jedis from 3.2.0 to 3.3.0 in /modules/junit-jupiter (#2652) @dependabot-preview
    • Bump jedis from 3.2.0 to 3.3.0 in /core (#2653) @dependabot-preview
    • Bump guava from 28.2-jre to 29.0-jre in /core (#2643) @dependabot-preview
    • Bump s3 from 2.13.4 to 2.13.7 in /modules/localstack (#2642) @dependabot-preview
    • Bump mysql-connector-java from 8.0.19 to 8.0.20 in /modules/mysql (#2618) @dependabot-preview
    • Bump testcontainers from 1.14.0 to 1.14.1 in /core (#2623) @dependabot-preview
    • Bump okhttp from 3.14.7 to 3.14.8 in /examples (#2645) @dependabot-preview
    • Bump mysql-connector-java from 8.0.19 to 8.0.20 in /modules/junit-jupiter (#2620) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.768 to 1.11.773 in /modules/localstack (#2641) @dependabot-preview
    • Bump s3 from 2.13.2 to 2.13.4 in /modules/localstack (#2630) @dependabot-preview
    • Bump HikariCP from 3.4.2 to 3.4.3 in /modules/junit-jupiter (#2622) @dependabot-preview
    • Bump HikariCP from 3.4.2 to 3.4.3 in /modules/spock (#2625) @dependabot-preview
    • Bump mysql-connector-java from 8.0.19 to 8.0.20 in /modules/spock (#2624) @dependabot-preview
    • Bump kafka-clients from 2.4.1 to 2.5.0 in /modules/kafka (#2576) @dependabot-preview
    • Bump amqp-client from 5.8.0 to 5.9.0 in /core (#2593) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.762 to 1.11.768 in /modules/localstack (#2611) @dependabot-preview
    • Bump pulsar-client from 2.5.0 to 2.5.1 in /modules/pulsar (#2609) @dependabot-preview
    • Bump ipcsocket from 1.0.0 to 1.0.1 in /core (#2525) @dependabot-preview
    • Bump s3 from 2.11.10 to 2.13.2 in /modules/localstack (#2610) @dependabot-preview
    • Bump influxdb-java from 2.17 to 2.18 in /modules/influxdb (#2592) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.14.1(Apr 23, 2020)

    What's Changed

    🚀 Features & Enhancements

    • Allow using LocalStackContainer with AWS SDK v2 #1442 (#2579) @musketyr
    • Support ImageFromDockerfile authenticated image pulls (#2573, #2575) @rnorth

    🐛 Bug Fixes

    • Fix regression introduced in #2473 (missing this constructor call) (#2596) @bsideup
    • Public ImageData class for custom image pull policies (#2585) @cha55son
    • Delegate getMetadata() to R2DBCDatabaseContainerProvider (#2577) @bsideup
    • Respect specified VNC recording directory for BrowserWebDriverContainer again (#2574) @srempfer

    📖 Documentation

    • CircleCI docs: fix invalid executor key (#2607) @fernfernfern
    • Update latest _version tag in Documentation Code Samples (#2568) @SudharakaP
    • Update Copyright for 2020 in Documentation (#2566) @SudharakaP
    • CreateContainerCmd Link was outdated. (#2583) @KraTos5589

    🧹 Housekeeping

    • Set custom ciMate key (#2601) @bsideup
    • Push Gradle Cache from GHA (#2597) @bsideup
    • Reduce AZP build to a minimal subset of core, except when running on Windows (#2587) @rnorth
    • GHA: disable fail-fast matrix strategy (#2591) @bsideup
    • Add gradle caching to find_gradle_jobs build (#2589) @rnorth
    • Exclude multi-module module-info.class from shaded JAR (#2588) @rnorth
    • Generate GitHub Actions CI Jobs automatically (#2520) @rnorth
    • Reduce CircleCI build to a minimal subset of core (#2586) @rnorth
    • Add type/enhancement to the Release Drafter (#2580) @bsideup
    • Explicitly set ciMate's projectId in CircleCI (#2572) @bsideup
    • Upgrade Gradle to 6.3 (#2551) @rnorth
    • Use relative path for temp dirs in test (#2604) @rnorth

    📦 Dependency updates

    Click to expand...
    • Bump mongo-java-driver from 3.12.1 to 3.12.3 in /core (#2594) @dependabot-preview
    • Bump testcontainers from 1.12.5 to 1.14.0 in /core (#2569) @dependabot-preview
    • Update Gradle Shadow Plugin to 5.2.0 (#2582) @bsideup
    • Bump assertj-core from 3.14.0 to 3.15.0 in /modules/junit-jupiter (#2570) @dependabot-preview
    • Bump junit-jupiter-params from 5.6.0 to 5.6.2 in /modules/junit-jupiter (#2571) @dependabot-preview
    • Bump cucumber-junit from 5.5.0 to 5.6.0 in /examples (#2529) @dependabot-preview
    • Bump org.springframework.boot from 2.2.5.RELEASE to 2.2.6.RELEASE in /examples (#2530) @dependabot-preview
    • Bump java-client from 2.7.13 to 2.7.14 in /modules/couchbase (#2540) @dependabot-preview
    • Bump r2dbc-mssql from 0.8.1.RELEASE to 0.8.2.RELEASE in /modules/mssqlserver (#2559) @dependabot-preview
    • Bump junit-jupiter-api from 5.6.0 to 5.6.2 in /modules/junit-jupiter (#2554) @dependabot-preview
    • Bump cucumber-java from 5.5.0 to 5.6.0 in /examples (#2527) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.33 to 9.0.34 in /modules/mariadb (#2543) @dependabot-preview
    • Bump r2dbc-postgresql from 0.8.1.RELEASE to 0.8.2.RELEASE in /modules/postgresql (#2561) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.759 to 1.11.762 in /modules/localstack (#2541) @dependabot-preview
    • Bump junit-jupiter-engine from 5.6.0 to 5.6.2 in /modules/junit-jupiter (#2553) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.33 to 9.0.34 in /modules/mysql (#2542) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.14.0(Apr 13, 2020)

    What's Changed

    This release includes a number of big improvements, features and bug fixes! To name just a handful:

    • 🎉 docker-java is updated to 3.2.x. This is a major milestone for the library that we participated in. Please pay attention to deprecation warnings - ideally com.github.dockerjava.api.* should be the only package in use from com.github.dockerjava.*. Future versions of Testcontainers will no longer shade com.github.dockerjava.api.* and will include it as a dependency (com.github.docker-java:docker-java-api).

    • 🎉 R2DBC support for MySQL, MariaDB, PostgreSQL and MS SQL Server! See the docs for more info. Special thanks goes to the R2DBC team for their help and support with this PR.

    • 🎉 Vastly improved Couchbase container reliability, thanks to @daschl of @couchbase! This does include some small breaking changes to the Couchbase module's API - but ones that we consider to be worth the migration effort for a more stable build. Please see the documentation for the new usage syntax.

    • 🎉 Containers started by the JUnit Jupiter integration are now compatible with TestLifecycleAware, allowing greater hooks into phases of test execution.

    • 🎉 Broadened support for authenticated private registries when using Docker Compose.

    Read on for many more improvements:

    🚀 Features

    • Breaking change: Rewrite Couchbase module for improved reliability (#2491, #2447) @daschl, @bsideup.
    • Add R2DBC support (#2545) @bsideup
    • Pre-pull images required for Docker Compose (#2201, #1799, #1903) @rnorth
    • Include image name in RemoteDockerImage#toString (#2558, #2450) @bsideup, @dbyron0
    • VNC recording with BrowserWebdriverContainer in Spock-Extension (#2548, #726, #631) @kiview, @dkublik, @erdi, @tamershahin
    • Support TestLifecycleAware-ness of containers started by the JUnit Jupiter integration (#1326) @roamingthings
    • Expand Container dependsOn parameters to accept Iterable (#2259) @rnorth
    • Cache results of auth lookups (#2213) @rnorth
    • Add custom exception message when HealthState not present in docker inspect response (#2206) @pivovarit

    🐛 Bug Fixes

    • Use LogMessageWaitStrategy in VncRecordingContainer (#2547) @srempfer
    • Protect NetworkImpl#close from concurrency issues (#2203) @pivovarit
    • Fallback to getDefaultGateway() if "bridge" is unavailable. (#2429) @bsideup
    • Fix invalid connection URLs returned by PostgreSQLContainer (#1976) (#2049) @pivovarit
    • Fix internal port check when other ports are opened as well on the target container (#2363) @codablock
    • Make default file recording directory of BrowserWebDriverContainer platform independent (#2562) @kiview
    • Fix Spock's TestLifecycleAware integration (#2563) @bsideup

    📖 Documentation

    • Add more clear warning message instructing users how to enable reusable containers (#2422) @aguibert
    • Add more information for using registry mirror (#2477) @sparsick
    • Remove unusual public in Groovy example code (#2238) @mkutz
    • Use @DynamicPropertySource in the Spring Boot example (#2495) @bsideup
    • Extend docs with registry mirror as workaround for custom images (#2452) @sparsick
    • Add example for Cassandra module (#2210, #1975) @ftrossbach

    🧹 Housekeeping

    • Temporarily ignore DB2 test - unrelated CI disk space issues (#2557) @kiview. This will be reinstated shortly, following work to reduce the disk usage of individual CI jobs.
    • Add ciMate (#2550) @bsideup
    • Move static config in modules to constructor (#2473) @MitchJust
    • Fix update-docs-version.yml script (#2519) @rnorth
    • Bump Copyrights to 2020 (#2488) @pivovarit

    📦 Dependency updates

    Click to expand...
    • Update to docker-java 3.2.1 (#2435) @bsideup
    • Remove unused JEE deps (#2505) @dajudge
    • Bump aws-java-sdk-logs from 1.11.737 to 1.11.759 in /modules/localstack (#2518) @dependabot-preview
    • Bump mockito-core from 3.3.0 to 3.3.3 in /modules/junit-jupiter (#2437) @dependabot-preview
    • Bump rest-assured from 4.2.0 to 4.3.0 in /modules/vault (#2440) @dependabot-preview
    • Bump okhttp from 3.14.6 to 3.14.7 in /examples (#2481) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.31 to 9.0.33 in /modules/mariadb (#2444) @dependabot-preview
    • Bump postgresql from 42.2.10 to 42.2.12 in /modules/postgresql (#2499) @dependabot-preview
    • Bump testng from 7.1.1 to 7.2.0 in /examples (#2441) @dependabot-preview
    • Bump kafka-clients from 2.4.0 to 2.4.1 in /modules/kafka (#2424) @dependabot-preview
    • Bump mariadb-java-client from 2.5.4 to 2.6.0 in /modules/mariadb (#2461) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.31 to 9.0.33 in /modules/mysql (#2445) @dependabot-preview
    • Bump postgresql from 42.2.10 to 42.2.12 in /modules/junit-jupiter (#2498) @dependabot-preview
    • Bump postgresql from 42.2.10 to 42.2.12 in /examples (#2500) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.6.1 to 7.6.2 in /modules/elasticsearch (#2501) @dependabot-preview
    • Bump postgresql from 42.2.10 to 42.2.12 in /modules/spock (#2502) @dependabot-preview
    • Bump httpclient from 4.5.11 to 4.5.12 in /modules/spock (#2411) @dependabot-preview
    • Bump mockito-core from 3.3.0 to 3.3.3 in /core (#2439) @dependabot-preview
    • Bump Cucucmber example version to 5.5.0 (#2476) @rasklaad
    • Upgrade localstack to 0.10.8 (#2413) @MariuszCwikla
    • Update to docker-java 3.2.0 (#2297) @bsideup
    Source code(tar.gz)
    Source code(zip)
  • 1.13.0(Mar 5, 2020)

    What's Changed

    🚀 Features

    • Add OrientDB 3.0.x module (#1414) @robfrank
    • Add Presto container (#2196) @findepi
    • Add functionality to retrieve container by its name (#2314) @artjomka

    🐛 Bug Fixes

    • Fix localstack cloudwatchlogs service (#2316) @MariuszCwikla
    • Set sourceJar.from=allSource for modules/spock (#2281) @pertu
    • Improve checkMountableFile on Windows with unusual paths (#2296) @bedla
    • Pin mkdocs dependencies to avoid version incompatibility (#2335) @rnorth
    • Add small delay in while loop to avoid spamming logs (ResourceReaper) (#2287) @worldtiki

    📖 Documentation

    • idiomatize test container configuration in kotlin example (#1964) @alex0ptr
    • Adding Windows Subsystem for Linux section to the windows documentation (#2282) @rnorth
    • Add junit-jupiter dependency in junit 5 quickstart docs (#2301) @Dark0096
    • Mention JDBC URL change in Spring Boot 2.3.0 (#2286) @bsideup

    🧹 Housekeeping

    • Prune images between module checks (#2376) @bsideup
    • Kafka: replace deprecated poll method millis param with Duration (#2318) @nshipyakov
    • Fix CI Docker Compose test failure (#2284) @rnorth

    📦 Dependency updates

    Click to expand...
    • Bump mockito-core from 3.2.4 to 3.3.0 in /core (#2370) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.6.0 to 7.6.1 in /modules/elasticsearch (#2401) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.722 to 1.11.737 in /modules/localstack (#2399) @dependabot-preview
    • Bump java-client from 2.7.12 to 2.7.13 in /modules/couchbase (#2397) @dependabot-preview
    • Bump org.springframework.boot from 2.2.4.RELEASE to 2.2.5.RELEASE in /examples (#2387) @dependabot-preview
    • Bump mockito-core from 3.2.4 to 3.3.0 in /modules/junit-jupiter (#2372) @dependabot-preview
    • Bump okhttp from 3.14.4 to 3.14.6 in /core (#2243) @dependabot-preview
    • Bump commons-compress from 1.19 to 1.20 in /core (#2337) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.5.2 to 7.6.0 in /modules/elasticsearch (#2347) @dependabot-preview
    • Bump postgresql from 42.2.9 to 42.2.10 in /examples (#2338) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.30 to 9.0.31 in /modules/mariadb (#2343) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.30 to 9.0.31 in /modules/mysql (#2344) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.718 to 1.11.722 in /modules/localstack (#2353) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.636 to 1.11.718 in /modules/localstack (#2336) @dependabot-preview
    • Bump postgresql from 42.2.9 to 42.2.10 in /modules/junit-jupiter (#2330) @dependabot-preview
    • Bump postgresql from 42.2.9 to 42.2.10 in /modules/postgresql (#2328) @dependabot-preview
    • Bump postgresql from 42.2.9 to 42.2.10 in /modules/spock (#2329) @dependabot-preview
    • Bump lombok from 1.18.10 to 1.18.12 in /examples (#2333) @dependabot-preview
    • Bump aws-java-sdk-logs from 1.11.636 to 1.11.717 in /modules/localstack (#2327) @dependabot-preview
    • Bump java-client from 2.7.11 to 2.7.12 in /modules/couchbase (#2323) @dependabot-preview
    • Bump junit-jupiter-api from 5.5.2 to 5.6.0 in /modules/junit-ju… (#2271) @dependabot-preview
    • Bump mariadb-java-client from 2.5.3 to 2.5.4 in /modules/mariadb (#2298) @dependabot-preview
    • Bump assertj-core from 3.14.0 to 3.15.0 in /core (#2308) @dependabot-preview
    • Bump assertj-core from 3.14.0 to 3.15.0 in /modules/kafka (#2303) @dependabot-preview
    • Bump assertj-core from 3.14.0 to 3.15.0 in /modules/vault (#2304) @dependabot-preview
    • Bump assertj-core from 3.14.0 to 3.15.0 in /modules/pulsar (#2305) @dependabot-preview
    • Bump assertj-core from 3.14.0 to 3.15.0 in /modules/neo4j (#2306) @dependabot-preview
    • Bump assertj-core from 3.14.0 to 3.15.0 in /modules/database-commons (#2307) @dependabot-preview
    • Bump elasticsearch-rest-client in /modules/elasticsearch (#2277) @dependabot-preview
    • Bump httpclient from 4.5.10 to 4.5.11 in /modules/spock (#2263) @dependabot-preview
    • Bump httpclient from 4.5.10 to 4.5.11 in /modules/junit-jupiter (#2265) @dependabot-preview
    • Bump rest-assured from 4.1.2 to 4.2.0 in /modules/vault (#2266) @dependabot-preview
    • Bump okhttp from 3.14.5 to 3.14.6 in /examples (#2268) @dependabot-preview
    • Bump org.springframework.boot in /examples (#2273) @dependabot-preview
    • Bump mongo-java-driver from 3.12.0 to 3.12.1 in /core (#2264) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.12.5(Jan 22, 2020)

    What's Changed

    🚀 Features

    • Move execInContainer and copy* to ContainerState (#2176) @bsideup
    • Use inspectNetworkCmd to get the gateway's IP (#2151) @bsideup
    • Improve Docker Compose error messaging (#2154) @rnorth
    • RabbitMQ: add vhost parameter for policies (#1701) @twillouer
    • Accept GenericContainer subclasses in deepStart (#2221) @findepi

    🐛 Bug Fixes

    • Prevent duplicate attempts to start Ryuk container (#2245) @rnorth
    • Remove stray 'KB' suffix from docker build context size log mes… (#2214) @rnorth
    • JDBC: Fix parsing empty connection parameters (#2207) @findepi
    • Fix framing in OkHttp transport (#2155) @bsideup
    • do not implicitly connect to Kafka network (#2139) @bsideup
    • Truncate mode bits for z/OS file permissions (#2023) @aguibert
    • Fix DockerClientFactory#dockerHostIpAddress (#2119) @bsideup
    • Fix use of bash-specific /proc/net/tcp* check in InternalCommandPortListeningCheck t… (#2195) @perlun
    • Include only published projects into BOM (#2118) @bsideup

    📖 Documentation

    • Replace unicode characters in strings with unicode escape seque… (#2261) @rnorth
    • Add example for nginx module (#2027) @worldtiki
    • Mention testcontainers-bom in "Maven dependencies" section of… (#2178) @eaxdev
    • Add Vert.x SQL Client to Userlist (#2211) @BillyYccc
    • Add GitHub action to automatically update docs version (#2122) @rnorth
    • Use Python 3.7 for netlify doc generation (#2143) @rnorth
    • Add Infinispan to "Who is using Testcontainers" (#2136) @tristantarrant
    • Add XWiki to "Who is using Testcontainers" (#2117) @vmassol
    • Fix anchor link for link to feature description (#2257) @spottedmahn

    🧹 Housekeeping

    • GitHub Actions checkout v2 (#2212) @sullis
    • Add GitHub action to automatically update docs version (#2122) @rnorth
    • Refactor deprecated Mockito API usages (#2039) @pivovarit
    • Set AWS credentials for the build cache in AZP (#2138) @bsideup
    • Use Python 3.7 for netlify doc generation (#2143) @rnorth
    • GHA-based in-docker testing (#2121) @bsideup
    • Restore Travis Release automation (#2279) @rnorth
    • Bump flaky annotation review dates (#2248) @rnorth
    • Remove duplicated DockerImageNameTest test case (#2040) @pivovarit

    📦 Dependency updates

    Click to expand...
    • Bump mysql-connector-java from 8.0.18 to 8.0.19 in /modules/jun… (#2244) @dependabot-preview
    • Bump junit from 4.12 to 4.13 in /examples (#2220) @dependabot-preview
    • Bump mysql-connector-java from 8.0.18 to 8.0.19 in /modules/mysql (#2241) @dependabot-preview
    • Bump mysql-connector-java from 8.0.18 to 8.0.19 in /modules/spock (#2242) @dependabot-preview
    • Bump pulsar-client from 2.4.1 to 2.5.0 in /modules/pulsar (#2252) @dependabot-preview
    • Bump okhttp from 3.14.4 to 3.14.5 in /examples (#2230) @dependabot-preview
    • Bump mariadb-java-client from 2.5.2 to 2.5.3 in /modules/mariadb (#2233) @dependabot-preview
    • Bump HikariCP from 3.4.1 to 3.4.2 in /modules/junit-jupiter (#2235) @dependabot-preview
    • Bump HikariCP from 3.4.1 to 3.4.2 in /modules/spock (#2236) @dependabot-preview
    • Bump testng from 7.1.0 to 7.1.1 in /examples (#2200) @dependabot-preview
    • Bump slf4j-api from 1.7.29 to 1.7.30 in /examples (#2190) @dependabot-preview
    • Bump mockito-core from 3.2.0 to 3.2.4 in /core (#2186) @dependabot-preview
    • Bump slf4j-api from 1.7.29 to 1.7.30 in /core (#2188) @dependabot-preview
    • Bump vault-java-driver from 5.0.0 to 5.1.0 in /modules/vault (#2187) @dependabot-preview
    • Bump mockito-core from 3.2.0 to 3.2.4 in /modules/junit-jupiter (#2189) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.5.0 to 7.5.1 in /modules/elasticsearch (#2197) @dependabot-preview
    • Bump jedis from 3.1.0 to 3.2.0 in /core (#2183) @dependabot-preview
    • Bump jedis from 3.1.0 to 3.2.0 in /modules/junit-jupiter (#2181) @dependabot-preview
    • Bump kafka-clients from 2.3.1 to 2.4.0 in /modules/kafka (#2182) @dependabot-preview
    • Bump jedis from 3.1.0 to 3.2.0 in /examples (#2184) @dependabot-preview
    • Bump testng from 7.0.0 to 7.1.0 in /examples (#2164) @dependabot-preview
    • Bump influxdb-java from 2.16 to 2.17 in /modules/influxdb (#2157) @dependabot-preview
    • Bump org.springframework.boot from 2.2.1.RELEASE to 2.2.2.RELEASE in /examples (#2161) @dependabot-preview
    • Bump postgresql from 42.2.8 to 42.2.9 in /modules/spock (#2158) @dependabot-preview
    • Bump postgresql from 42.2.8 to 42.2.9 in /examples (#2162) @dependabot-preview
    • Bump postgresql from 42.2.8 to 42.2.9 in /modules/postgresql (#2159) @dependabot-preview
    • Bump postgresql from 42.2.8 to 42.2.9 in /modules/junit-jupiter (#2160) @dependabot-preview
    • Bump mongo-java-driver from 3.11.2 to 3.12.0 in /core (#2168) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.29 to 9.0.30 in /modules/mariadb (#2172) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.29 to 9.0.30 in /modules/mysql (#2174) @dependabot-preview
    • Bump amqp-client from 5.7.3 to 5.8.0 in /core (#2173) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.4.0 to 7.5.0 in /modules/elasticsearch (#2142) @dependabot-preview
    • Bump vibur-dbcp from 22.2 to 25.0 in /modules/mysql (#2130) @dependabot-preview
    • Bump mockito-core from 3.1.0 to 3.2.0 in /core (#2129) @dependabot-preview
    • Bump vibur-dbcp from 22.2 to 25.0 in /modules/mariadb (#2128) @dependabot-preview
    • Bump mockito-core from 3.1.0 to 3.2.0 in /modules/junit-jupiter (#2131) @dependabot-preview
    • Bump java-client from 2.7.10 to 2.7.11 in /modules/couchbase (#2150) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.12.4(Nov 29, 2019)

    What's Changed

    🚀 Features

    • Hash copied files (#2055) @bsideup
    • Rework KafkaContainer (do not run a sub-process) (#2078) @bsideup
    • Image pull policy (#1345) (#2024) @dmarkhas @bsideup
    • Upgrade docker-compose image to latest version and perform dire… (#1847) @rnorth
    • Lazily create/set Network in KafkaContainer (#2079) @bsideup
    • Add read timeout to http wait strategy (#2058) @dweidenfeld
    • Add reused parameter to the hooks (#2052) @bsideup
    • Check container's status if WaitStrategy fails. (#1837) @bsideup
    • Add docker compose support for --build and --rmi options (#1625, #1336, #924) @lightoze @sonerd @rnorth
    • Localstack support for HOSTNAME_EXTERNAL (#1891) @rnorth
    • Slf4jLogConsumer improvements (#1986) @toadzky

    🐛 Bug Fixes

    • Stabilize CouchbaseContainer by merging the Socat command (#2081) @bsideup
    • Make Startables#deepStart always iterate sequentially (#2053) @pivovarit
    • Fix session label when reuse is not supported but requested (#2051) @bsideup
    • Fix docker image name parsing bugs (#2022) @rnorth

    📖 Documentation

    • Add Transferwise to "Who is using Testcontainers" (#2105) @muzir
    • Add Marquez as user (#2060) @wslulciuc
    • Fix typo in docs/modules/databases/index.md (#2043) @f-lopes
    • Slf4j log consumer improvements - add docs (#2016) @rnorth

    🧹 Housekeeping

    • Basic GitHub Action for release (#1991) @rnorth
    • Add GHA for Release Drafter (#2109) @bsideup
    • Switch to publishing non-delomboked sources (#1788) @rnorth
    • Break up quickstart example projects and introduce JUnit 5 refe… (#1416 #2097) @bmuschko @rnorth
    • Restore Flaky on couchbase tests (#2106) @bsideup
    • Add Gradle wrapper to examples/ that points to the parent's wrapper (#2077) @bsideup
    • Fix vault module, add new test with java client v2 (#1791) @casz
    • Tidy code style in CommandLine.java (#2004) @yorlov
    • Mock TestcontainersConfiguration in ReusabilityUnitTests (#2080) @bsideup
    • Future-proofing TestEnvironmentTest (#2036) @pivovarit

    📦 Dependency updates

    Click to expand...
    • Bump mariadb-java-client from 2.5.1 to 2.5.2 in /modules/mariadb (#2098) @dependabot-preview
    • Bump aws-java-sdk-s3 from 1.11.680 to 1.11.683 in /modules/loca… (#2103) @dependabot-preview
    • Bump java-client from 2.7.9 to 2.7.10 in /modules/couchbase (#2057) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.27 to 9.0.29 in /modules/mysql (#2095) @dependabot-preview
    • Bump aws-java-sdk-s3 from 1.11.636 to 1.11.680 in /modules/loca… (#2094) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.27 to 9.0.29 in /modules/mariadb (#2096) @dependabot-preview
    • Bump slf4j-api from 1.7.28 to 1.7.29 in /core (#2030) @dependabot-preview
    • Bump mongo-java-driver from 3.11.1 to 3.11.2 in /core (#2035) @dependabot-preview
    • Bump org.springframework.boot from 2.2.0.RELEASE to 2.2.1.RELEA… (#2042) @dependabot-preview
    • Bump slf4j-api from 1.7.28 to 1.7.29 in /examples (#2031) @dependabot-preview
    • Bump jna-platform from 5.4.0 to 5.5.0 in /core (#2017) @dependabot-preview
    • Bump vault-java-driver from 4.0.0 to 5.0.0 in /modules/vault (#2019) @dependabot-preview
    • Bump assertj-core from 3.12.0 to 3.14.0 in /modules/vault (#2018) @dependabot-preview
    • Bump assertj-core from 3.13.2 to 3.14.0 in /modules/kafka (#2008) @dependabot-preview
    • Bump assertj-core from 3.13.2 to 3.14.0 in /core (#2005) @dependabot-preview
    • Bump kafka-clients from 2.3.0 to 2.3.1 in /modules/kafka (#2002) @dependabot-preview
    • Bump assertj-core from 3.13.2 to 3.14.0 in /modules/database-co… (#2007) @dependabot-preview
    • Bump assertj-core from 3.13.2 to 3.14.0 in /modules/neo4j (#2006) @dependabot-preview
    • Bump assertj-core from 3.13.2 to 3.14.0 in /modules/pulsar (#2009) @dependabot-preview
    • Bump influxdb-java from 2.15 to 2.16 in /modules/influxdb (#2010) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.12.3(Oct 26, 2019)

    What's Changed

    🚀 Features

    • Reusable containers (stage 1, alpha) (#1781) @bsideup
    • Allow @Testcontainers to be inherited from superclass (#1843) (#2001) @bmuskalla
    • Add support for DockerClient event streaming (#1886) @MitchJust
    • Automatically set SHM for selenium container, and allow SHM size to be configured (#1751) @glefloch
    • Add cockroach db support (#499) @tolkonepiu

    🐛 Bug Fixes

    • Always copy to "/" (root). Fixes #1954 (#1956) @bsideup
    • Fix for streaming readBytes timeout on Windows (#1947) @rnorth
    • ConnectionWrapper#rollback(Savepoint) delegates to wrong method #1909 (#1937) @MariuszCwikla
    • fix typo in "stepfunctions" LocalStack's service name (#1930) @glefloch

    📖 Documentation

    • Added documentation example of using local Docker Compose (#1987) @jonathanvila
    • Update example dependency specified in junit_5.md (#1817) @sghill
    • Add a simple example with how to use the mock server container (#1950) @worldtiki
    • Remove hostname and port from JDBC examples to avoid confusion (#1786) @bsideup

    🧹 Housekeeping

    • Lock the version of AWS S3 SDK in the build script. (#1955) @bsideup
    • Fix use of SHM for Selenium containers on Windows (#1948) @rnorth
    • Bump flaky test review dates (#1952) @rnorth
    • Update Gradle to 5.6.2 (#1510) @kiview

    📦 Dependency updates

    • Bump org.springframework.boot from 2.1.9.RELEASE to 2.2.0.RELEASE in /examples (#1985) @dependabot-preview
    • Bump mysql-connector-java from 8.0.17 to 8.0.18 in /modules/jun… (#1971) @dependabot-preview
    • Bump cucumber-java from 4.7.4 to 4.8.0 in /examples (#1974) @dependabot-preview
    • Bump mysql-connector-java from 8.0.17 to 8.0.18 in /modules/spo… (#1972) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.26 to 9.0.27 in /modules/mysql (#1969) @dependabot-preview
    • Bump mysql-connector-java from 8.0.17 to 8.0.18 in /modules/mys… (#1968) @dependabot-preview
    • Bump cucumber-junit from 4.7.4 to 4.8.0 in /examples (#1973) @dependabot-preview
    • Bump mariadb-java-client from 2.5.0 to 2.5.1 in /modules/mariadb (#1983) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.26 to 9.0.27 in /modules/mariadb (#1967) @dependabot-preview
    • Bump mongo-java-driver from 3.11.0 to 3.11.1 in /core (#1970) @dependabot-preview
    • Bump okhttp from 3.14.2 to 3.14.4 in /core (#1924) @dependabot-preview
    • Bump jna-platform from 5.3.1 to 5.4.0 in /core (#1796) @dependabot-preview
    • Bump gson from 2.8.5 to 2.8.6 in /examples (#1960) @dependabot-preview
    • Bump cucumber-junit from 4.7.2 to 4.7.4 in /examples (#1957) @dependabot-preview
    • Bump cucumber-java from 4.7.2 to 4.7.4 in /examples (#1958) @dependabot-preview
    • Bump mockito-core from 3.0.0 to 3.1.0 in /core (#1932) @dependabot-preview
    • Bump org.springframework.boot from 2.1.8.RELEASE to 2.1.9.RELEASE in /examples (#1944) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.3.2 to 7.4.0 in /modules/elasticsearch (#1934) @dependabot-preview
    • Bump rest-assured from 4.1.1 to 4.1.2 in /modules/vault (#1943) @dependabot-preview
    • Bump mariadb-java-client from 2.4.4 to 2.5.0 in /modules/mariadb (#1942) @dependabot-preview
    • Bump mockito-core from 3.0.0 to 3.1.0 in /modules/junit-jupiter (#1931) @dependabot-preview
    • Bump okhttp from 3.14.3 to 3.14.4 in /examples (#1925) @dependabot-preview
    • Bump lettuce-core from 5.1.8.RELEASE to 5.2.0.RELEASE in /examples (#1919) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.12.2(Sep 26, 2019)

    What's Changed

    🚔 Security

    • Reduce logs in EnvironmentAndSystemPropertyClientProviderStrategy (#1913) @rnorth. This fixes an issue (#1912) whereby docker registry credentials could be logged:
      • if credentials were hardcoded in ~/.docker/config.json and
      • if Testcontainers detected environment variables/system properties (such as DOCKER_HOST) which set/override the address of the docker daemon.

    We recommend that you check recent CI logs for any accidentally logged credentials, and apologise for the inconvenience. Please see below for an example of the log message, which occurs during initial connection to the Docker daemon.

    INFO  o.t.d.DockerClientProviderStrategy - Found Docker environment with Environment 
    variables, system properties and defaults. Resolved: 
        dockerHost=unix:///var/run/docker.sock
        apiVersion='{UNKNOWN_VERSION}'
        registryUrl='https://index.docker.io/v1/'
        registryUsername='...'
        registryPassword='...'
        registryEmail='...'
        dockerConfig='DefaultDockerClientConfig[dockerHost=
    unix:///var/run/docker.sock,registryUsername=...,registryPassword=<...>,
    registryEmail=<...>,registryUrl=https://index.docker.io/v1/,
    dockerConfigPath=/home/user/.docker,sslConfig=<null>,
    apiVersion={UNKNOWN_VERSION},dockerConfig=<null>]'
    

    has been changed to:

    INFO  o.t.d.DockerClientProviderStrategy - Found Docker environment with Environment 
    variables, system properties and defaults. Resolved dockerHost=unix:///var/run/docker.sock
    

    Other changes

    • Make LocalStack image configurable (#1873) @aosagie
    • Use official Oracle JDBC driver for Testcontainers' own tests (#73) (#1899) @kaiwinter

    📖 Documentation

    • add wescale as happy user (#1887) @atomfrede
    • add jhipster as user (#1838) @atomfrede

    📦 Dependency updates

    Click to expand...
    • Bump commons-dbutils from 1.6 to 1.7 in /modules/oracle-xe (#1905) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.635 to 1.11.636 in /modules/localstack (#1901) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.633 to 1.11.635 in /modules/localstack (#1896) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.24 to 9.0.26 in /modules/mysql (#1894) @dependabot-preview
    • Bump HikariCP from 3.4.0 to 3.4.1 in /modules/spock (#1888) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.24 to 9.0.26 in /modules/mariadb (#1895) @dependabot-preview
    • Bump HikariCP from 3.4.0 to 3.4.1 in /modules/junit-jupiter (#1889) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.632 to 1.11.633 in /modules/localstack (#1885) @dependabot-preview
    • Bump HikariCP from 3.3.1 to 3.4.0 in /modules/junit-jupiter (#1883) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.631 to 1.11.632 in /modules/localstack (#1884) @dependabot-preview
    • Bump HikariCP from 3.3.1 to 3.4.0 in /modules/spock (#1882) @dependabot-preview
    • Bump postgresql from 42.2.7 to 42.2.8 in /modules/postgresql (#1876) @dependabot-preview
    • Bump postgresql from 42.2.7 to 42.2.8 in /modules/spock (#1878) @dependabot-preview
    • Bump postgresql from 42.2.7 to 42.2.8 in /examples (#1879) @dependabot-preview
    • Bump mariadb-java-client from 2.4.3 to 2.4.4 in /modules/mariadb (#1875) @dependabot-preview
    • Bump postgresql from 42.2.7 to 42.2.8 in /modules/junit-jupiter (#1877) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.630 to 1.11.631 in /modules/localstack (#1869) @dependabot-preview
    • Bump elasticsearch-rest-client from 7.3.1 to 7.3.2 in /modules/elasticsearch (#1870) @dependabot-preview
    • Bump lombok from 1.18.8 to 1.18.10 in /examples (#1867) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.629 to 1.11.630 in /modules/localstack (#1866) @dependabot-preview
    • Bump postgresql from 42.2.6 to 42.2.7 in /modules/postgresql (#1857) @dependabot-preview
    • Bump okhttp from 3.14.2 to 3.14.3 in /examples (#1861) @dependabot-preview
    • Bump postgresql from 42.2.6 to 42.2.7 in /examples (#1862) @dependabot-preview
    • Bump postgresql from 42.2.6 to 42.2.7 in /modules/spock (#1860) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.628 to 1.11.629 in /modules/localstack (#1858) @dependabot-preview
    • Bump postgresql from 42.2.6 to 42.2.7 in /modules/junit-jupiter (#1856) @dependabot-preview
    • Bump junit-jupiter-engine from 5.5.1 to 5.5.2 in /modules/junit-jupiter (#1840) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.626 to 1.11.628 in /modules/localstack (#1852) @dependabot-preview
    • Bump httpclient from 4.5.9 to 4.5.10 in /modules/junit-jupiter (#1851) @dependabot-preview
    • Bump junit-jupiter-api from 5.5.1 to 5.5.2 in /modules/junit-jupiter (#1842) @dependabot-preview
    • Bump httpclient from 4.5.9 to 4.5.10 in /modules/spock (#1850) @dependabot-preview
    • Bump rest-assured from 4.1.0 to 4.1.1 in /modules/vault (#1839) @dependabot-preview
    • Bump testng from 6.14.3 to 7.0.0 in /examples (#1756) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.12.1(Sep 8, 2019)

    What's Changed

    🚀 Features

    • Use "copy" strategy in withClasspathResourceMapping where appropriate (#1814) @bsideup
    • Speed up listening port detection by running the checks as a single command (#1782) @bsideup
    • RabbitMQ: Support legacy RabbitMQ configuration format (#1692) @twillouer
    • Separate "environment" and "classpath" properties (for global things) (#1784) @bsideup
    • Add check for compatible Docker OS type, to fail gracefully if Docker daemon does not support Linux containers (#1780) @casz

    🐛 Bug Fixes

    • Fix credentials when using a helper that returns a token (#1734) @rszewczyk
    • Reinstate retries for image pulls (#1712) @rnorth
    • Amend container shutdown to catch and log for all Exception classes (#1663) @rnorth
    • Coordinate image removals after stopping containers (#1745) @aguibert
    • RabbitMQ: fix typo in binding command (#1792) @glefloch
    • Fix Deprecated MySQL Class Name warnings (#1760) @turackangal
    • Exclude jna transitive dependency from visible-assertions to reconcile versions (#1744) @eggilbert

    📖 Documentation

    • Fix Javadoc error (#1812, #1813) @rnorth
    • update latest version with 1.12.0 (#1800) @ryukato
    • Add docker-compose.yml to simplify local doc development (#1653) @mikesir87
    • Update copyright notices (#1691) @twillouer
    • Add networking documentation (#1651) @mikesir87
    • Add Micronaut Data to who is using (#1717) @graemerocher
    • Add a basic documentation page for RabbitMQ module (#1661) @rnorth
    • Add link to DB2 module docs, and add incubating note to page (#1660) @rnorth

    🧹 Housekeeping

    Click to expand...
    • Add test to demonstrate fix for #1452 (loss of whitespace in sp… (#1702) @rnorth
    • Add more labels to the Stale bot's config (#1810) @bsideup
    • Disable Travis for all but master branch builds (#1720) @rnorth
    • Add docker-compose.yml to simplify local doc development (#1653) @mikesir87
    • Add Maven Central as a fallback for dependency download (#1710) @rnorth
    • Fix fixed host port test (#1355) @glebsts
    • Mark toxiproxy tests as flaky pending further analysis (#1772) @rnorth
    • JUnit rule for flaky test retry (#1680) @rnorth

    📦 Dependency updates

    Click to expand...
    • Bump org.springframework.boot from 2.1.7.RELEASE to 2.1.8.RELEASE in /examples (#1831) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.625 to 1.11.626 in /modules/localstack (#1830) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.624 to 1.11.625 in /modules/localstack (#1829) @dependabot-preview
    • Bump pulsar-client from 2.4.0 to 2.4.1 in /modules/pulsar (#1825) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.623 to 1.11.624 in /modules/localstack (#1826) @dependabot-preview
    • Bump neo4j from 3.5.8 to 3.5.9 in /modules/neo4j (#1823) @dependabot-preview
    • Bump amqp-client from 5.7.2 to 5.7.3 in /core (#1818) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.622 to 1.11.623 in /modules/localstack (#1819) @dependabot-preview
    • Bump slf4j-api from 1.7.26 to 1.7.28 in /core (#1805) @dependabot-preview
    • Bump rest-assured from 4.0.0 to 4.1.0 in /modules/vault (#1820) @dependabot-preview
    • Bump commons-compress from 1.18 to 1.19 in /core (#1804) @dependabot-preview
    • Bump cucumber-java from 4.7.1 to 4.7.2 in /examples (#1812) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.621 to 1.11.622 in /modules/localstack (#1811) @dependabot-preview
    • Bump cucumber-junit from 4.7.1 to 4.7.2 in /examples (#1809) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.620 to 1.11.621 in /modules/localstack (#1808) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.619 to 1.11.620 in /modules/localstack (#1803) @dependabot-preview
    • Bump mongo-java-driver from 3.10.2 to 3.11.0 in /core (#1795) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.618 to 1.11.619 in /modules/localstack (#1793) @dependabot-preview
    • Bump mockito-core from 2.28.2 to 3.0.0 in /modules/junit-jupiter (#1636) @dependabot-preview
    • Bump jedis from 3.0.1 to 3.1.0 in /core (#1656) @dependabot-preview
    • Bump snakeyaml from 1.21 to 1.25 in /core (#1742) @dependabot-preview
    • Bump assertj-core from 3.12.2 to 3.13.2 in /core (#1789) @dependabot-preview
    • Bump selenium-firefox-driver from 3.14.0 to 3.141.59 in /examples (#1748) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.616 to 1.11.618 in /modules/localstack (#1785) @dependabot-preview
    • Bump mockito-core from 2.28.2 to 3.0.0 in /core (#1635) @dependabot-preview
    • Bump elasticsearch-rest-client from 6.7.1 to 7.3.1 in /modules/elasticsearch (#1779) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.615 to 1.11.616 in /modules/localstack (#1768) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.613 to 1.11.615 in /modules/localstack (#1762) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.22 to 9.0.24 in /modules/mysql (#1755) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.612 to 1.11.613 in /modules/localstack (#1754) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.22 to 9.0.24 in /modules/mariadb (#1753) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.611 to 1.11.612 in /modules/localstack (#1750) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.610 to 1.11.611 in /modules/localstack (#1747) @dependabot-preview
    • Bump org.springframework.boot from 2.1.6.RELEASE to 2.1.7.RELEASE in /examples (#1736) @dependabot-preview
    • Bump java-client from 2.7.7 to 2.7.9 in /modules/couchbase (#1714) @dependabot-preview
    • Bump lettuce-core from 5.1.7.RELEASE to 5.1.8.RELEASE in /examples (#1696) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.609 to 1.11.610 in /modules/localstack (#1741) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.608 to 1.11.609 in /modules/localstack (#1735) @dependabot-preview
    • Bump assertj-core from 3.13.1 to 3.13.2 in /modules/kafka (#1707) @dependabot-preview
    • Bump mariadb-java-client from 2.4.2 to 2.4.3 in /modules/mariadb (#1704) @dependabot-preview
    • Bump slf4j-api from 1.7.26 to 1.7.28 in /examples (#1730) @dependabot-preview
    • Bump pulsar-client from 2.3.2 to 2.4.0 in /modules/pulsar (#1729) @dependabot-preview
    • Bump assertj-core from 3.13.1 to 3.13.2 in /modules/neo4j (#1708) @dependabot-preview
    • Bump assertj-core from 3.13.1 to 3.13.2 in /modules/database-commons (#1705) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.604 to 1.11.608 in /modules/localstack (#1728) @dependabot-preview
    • Bump assertj-core from 3.13.1 to 3.13.2 in /modules/pulsar (#1703) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.601 to 1.11.604 in /modules/localstack (#1709) @dependabot-preview
    • Bump jedis from 3.0.1 to 3.1.0 in /examples (#1686) @dependabot-preview
    • Bump assertj-core from 3.12.2 to 3.13.1 in /modules/database-commons (#1685) @dependabot-preview
    • Bump jedis from 3.0.1 to 3.1.0 in /modules/junit-jupiter (#1657) @dependabot-preview
    • Bump assertj-core from 3.12.2 to 3.13.1 in /modules/pulsar (#1684) @dependabot-preview
    • Bump cucumber-junit from 4.6.0 to 4.7.1 in /examples (#1676) @dependabot-preview
    • Bump assertj-core from 3.12.2 to 3.13.1 in /modules/neo4j (#1681) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.599 to 1.11.601 in /modules/localstack (#1682) @dependabot-preview
    • Bump assertj-core from 3.12.2 to 3.13.1 in /modules/kafka (#1683) @dependabot-preview
    • Bump mysql-connector-java from 8.0.16 to 8.0.17 in /modules/junit-jupiter (#1658) @dependabot-preview
    • Bump mysql-connector-java from 8.0.16 to 8.0.17 in /modules/spock (#1634) @dependabot-preview
    • Bump cucumber-java from 4.6.0 to 4.7.1 in /examples (#1677) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.598 to 1.11.599 in /modules/localstack (#1667) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.597 to 1.11.598 in /modules/localstack (#1664) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.12.0(Jul 24, 2019)

    What's Changed

    🚀 Features

    • Add DB2 module (#1611) @aguibert

      As a result of our collaboration with @aguibert and @irinadel from IBM, we're happy to bring DB2 support to Testcontainers 🎉 It of course works with the JDBC URL support too! It means you can spin up a real instance of DB2 in your tests with one line: jdbc:tc:db2:///databasename.
      For more info, check the module's page: https://www.testcontainers.org/modules/databases/db2/

    • Implement dependsOn for cross-container dependencies (#1404) @bsideup

      Ever wanted to wait for container B before starting container A? We got you covered 😎

      With the new dependsOn method, it is now possible to model a graph of dependencies between your containers:

      @Rule
      KafkaContainer kafka = new KafkaContainer();
      
      @Rule
      SchemaRegistryContainer schemaRegistryContainer = new SchemaRegistryContainer("5.2.1")
              .withKafka(kafka)
              .dependsOn(kafka);
      
    • Improve pull handling (#1320) @rnorth

      Pulling images is sometimes a long running process. And, as with every long running process, having some sort of a visualization could help understanding what is going on!

      Before:

      11:15:50.598 INFO  🐳 [ibmcom/db2express-c:latest] - Pulling docker image: ibmcom/db2express-c:latest. Please be patient; this may take some time but only needs to be done once.
      

      Oh yeah, it will take some time 😅

      After:

      19:34:25.198 INFO  🐳 [ibmcom/db2express-c:latest] - Pulling image
      19:34:25.198 INFO  🐳 [ibmcom/db2express-c:latest] - Pulling image layers:  0 pending,  0 downloaded,  0 extracted, (0 bytes/0 bytes)
      19:34:25.967 INFO  🐳 [ibmcom/db2express-c:latest] - Pulling image layers: 12 pending,  1 downloaded,  0 extracted, (32 bytes/? MB)
      19:34:27.363 INFO  🐳 [ibmcom/db2express-c:latest] - Pulling image layers: 11 pending,  2 downloaded,  0 extracted, (1 MB/? MB)
      19:34:58.519 ERROR 🐳 [ibmcom/db2express-c:latest] - Docker image pull has not made progress in 30s - aborting pull
      19:34:58.564 ERROR 🐳 [ibmcom/db2express-c:latest] - Failed to pull image: ibmcom/db2express-c:latest. Please check output of `docker pull ibmcom/db2express-c:latest`
      

      (Note that it detected a problem with pulling and reported it, hinting you how to debug it!)

    • Add RabbitMQ module (#1449) @martingreber

      Hey, 🐰 fans! How flexible do you think RabbitMQ can be? That flexible:

        RabbitMQContainer container = new RabbitMQContainer()
                .withVhost("vhost1")
                .withVhostLimit("vhost1", "max-connections", 1)
                .withVhost("vhost2", true)
                .withExchange("direct-exchange", "direct")
                .withExchange("topic-exchange", "topic")
                .withQueue("queue1")
                .withQueue("queue2", true, false, ImmutableMap.of("x-message-ttl", 1000))
                .withBinding("direct-exchange", "queue1")
                .withUser("user1", "password1")
                .withUser("user2", "password2", ImmutableSet.of("administrator"))
                .withPermission("vhost1", "user1", ".*", ".*", ".*")
                .withPolicy("max length policy", "^dog", ImmutableMap.of("max-length", 1), 1, "queues")
                .withPolicy("alternate exchange policy", "^direct-exchange", ImmutableMap.of("alternate-exchange", "amq.direct"))
                .withOperatorPolicy("operator policy 1", "^queue1", ImmutableMap.of("message-ttl", 1000), 1, "queues")
                .withPluginsEnabled("rabbitmq_shovel", "rabbitmq_random_exchange");
      
    • Allow JUnit Jupiter tests to be disabled when Docker is unavailable (#1530) @wilkinsona

      Thanks to our friends from Spring Boot (who also happened to use Testcontainers a lot 😁), it is now possible to skip JUnit Platform-based tests if Docker is not available:

      @Testcontainers(disabledWithoutDocker = true)
      class SomeIntegrationTest {
        // ...
      }
      
    • Fail fast if container_name is set in Docker Compose file (#1581) @bsideup

      Testcontainers does not support container_name property because it breaks the service discovery, but, before this change, the tests were failing without pointing to the problem.
      Thanks to the initial work from @mumukiller, it will fail fast if the property is presented.

    • Add new withDockerfile methods to ImageFromDockerfile (#1535) @aguibert

      ImageFromDockerfile should respect the .dockerignore file from now on.

    • Enable command override for PostgreSQLContainer (#938) @kellen

    • Add container stopping and stopped hooks (#1610) @jalaziz

    • Fail gracefully if no JDBC driver found (#1434) @rnorth

    • Simplify Kafka container by deferring the Kafka command (#1458) @bsideup

    🧹 Housekeeping

    • Azure Pipelines for Windows testing (#1363) @bsideup

      This one is not a feature, but an exciting change! We now test every master build (and some PRs) on Windows!

      Since it requires running a real Windows machine, we have to host it ourselves.

      P.S. consider contacting us if you have a few spare Windows nodes ;)

    🐛 Bug Fixes

    • Improve splitting of SQL scripts into statements (#1627) @rnorth
    • catch exception when trying to kill dead container (#1420) @chungngoops

    📖 Documentation

    • Kotlin example (#1521) @eaxdev
    • Module contribution policy (#1576) @rnorth

    📦 Dependency updates

    • Upgrade duct-tape library (#1433) @rnorth
    • Upgrade localstack and enable new services (#1504) @rnorth
    • Bumped up default version of Confluent Platform to the current 5.2.1 (Kafka container) (#1446) @wlsc
    • Bump docker-java from 3.1.0-rc-4 to 3.1.5 in /core (#1649) @dependabot-preview @bsideup
    • Bump mysql-connector-java from 8.0.16 to 8.0.17 in /modules/mysql (#1633) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.594 to 1.11.597 in /modules/localstack (#1654) @dependabot-preview
    • Bump junit-jupiter-api from 5.5.0 to 5.5.1 in /modules/junit-jupiter (#1638) @dependabot-preview
    • Bump junit-jupiter-engine from 5.5.0 to 5.5.1 in /modules/junit-jupiter (#1642) @dependabot-preview
    • Bump neo4j from 3.5.7 to 3.5.8 in /modules/neo4j (#1640) @dependabot-preview
    • Bump amqp-client from 5.7.1 to 5.7.2 in /core (#1588) @dependabot-preview
    • Bump cucumber-junit from 4.5.4 to 4.6.0 in /examples (#1619) @dependabot-preview
    • Bump cucumber-java from 4.5.4 to 4.6.0 in /examples (#1620) @dependabot-preview
    • Bump aws-java-sdk-sqs from 1.11.479 to 1.11.594 in /modules/localstack (#1626) @dependabot-preview
    • Bump cucumber-java from 4.5.1 to 4.5.4 in /examples (#1615) @dependabot-preview
    • Bump cucumber-junit from 4.5.1 to 4.5.4 in /examples (#1614) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.21 to 9.0.22 in /modules/mysql (#1599) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.21 to 9.0.22 in /modules/mariadb (#1600) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.11.4(Jul 7, 2019)

    What's Changed

    • Deprecate fields that are derived from containerInfo (#1585) @bsideup

    🚀 Features

    • Add support for tmpfs to ContainerDatabaseDriver (#1500, #1239) @sparsick
    • Docker Compose: Allow specific services to be started (#1528, #1497) @HaMatthias

    🐛 Bug Fixes

    • Fix docker registry auth parsing of GCR json key format credentials (#1492) @atomfrede
    • Support MySQL 8 (#1470) @rnorth
    • Remove internet connectivity dependency from test (#1502) @rnorth

    📖 Documentation

    • Add minimal docs describing Drone CI usage (#1505) @rnorth
    • Add spock quickstart documentation (#1499) @RSchlenker
    • Remove broken link to roadmap (#1511) @Spedge
    • Replace deprecated RestClient.performRequest() (#1494) @izeye
    • Fix typo in docs (describe use of stop() method rather than close()) (#1479) @izeye
    • Fix initscript typo in documentation (#1491) @izeye
    • Add Zalando SE as users (#1542) @iCubeDm

    📦 Dependency updates

    Click to expand...
    • Bump httpclient from 4.5.8 to 4.5.9 in /core (#1544) @dependabot-preview
    • Bump neo4j from 3.5.6 to 3.5.7 in /modules/neo4j (#1586) @dependabot-preview
    • Bump cucumber-junit from 4.5.0 to 4.5.1 in /examples (#1584) @dependabot-preview
    • Bump cucumber-java from 4.5.0 to 4.5.1 in /examples (#1583) @dependabot-preview
    • Bump cucumber-java from 4.4.0 to 4.5.0 in /examples (#1580) @dependabot-preview
    • Bump cucumber-junit from 4.4.0 to 4.5.0 in /examples (#1579) @dependabot-preview
    • Bump junit-jupiter-engine from 5.4.2 to 5.5.0 in /modules/junit-jupiter (#1577) @dependabot-preview
    • Bump kafka-clients from 2.2.1 to 2.3.0 in /modules/kafka (#1565) @dependabot-preview
    • Bump postgresql from 42.2.5 to 42.2.6 in /modules/junit-jupiter (#1559) @dependabot-preview
    • Bump mockserver-client-java from 5.5.1 to 5.5.4 in /modules/mockserver (#1438) @dependabot-preview
    • Bump postgresql from 42.2.5 to 42.2.6 in /examples (#1561) @dependabot-preview
    • Bump postgresql from 42.2.5 to 42.2.6 in /modules/postgresql (#1560) @dependabot-preview
    • Bump postgresql from 42.2.5 to 42.2.6 in /modules/spock (#1558) @dependabot-preview
    • Bump cucumber-java from 4.3.1 to 4.4.0 in /examples (#1553) @dependabot-preview
    • Bump cucumber-junit from 4.3.1 to 4.4.0 in /examples (#1555) @dependabot-preview
    • Bump org.springframework.boot from 2.1.5.RELEASE to 2.1.6.RELEASE in /examples (#1556) @dependabot-preview
    • Bump lettuce-core from 5.1.6.RELEASE to 5.1.7.RELEASE in /examples (#1554) @dependabot-preview
    • Bump httpclient from 4.5.8 to 4.5.9 in /modules/spock (#1545) @dependabot-preview
    • Bump mariadb-java-client from 2.4.1 to 2.4.2 in /modules/mariadb (#1551) @dependabot-preview
    • Bump httpclient from 4.5.8 to 4.5.9 in /modules/junit-jupiter (#1543) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.20 to 9.0.21 in /modules/mysql (#1539) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.20 to 9.0.21 in /modules/mariadb (#1538) @dependabot-preview
    • Bump java-client from 2.7.6 to 2.7.7 in /modules/couchbase (#1536) @dependabot-preview
    • Bump lettuce-core from 5.1.1.RELEASE to 5.1.6.RELEASE in /examples (#1526) @dependabot-preview
    • Bump kafka-clients from 2.2.0 to 2.2.1 in /modules/kafka (#1522) @dependabot-preview
    • Bump pulsar-client from 2.3.1 to 2.3.2 in /modules/pulsar (#1517) @dependabot-preview
    • Bump okhttp from 3.13.1 to 3.14.2 in /examples (#1478) @dependabot-preview
    • Bump okhttp from 3.12.1 to 3.14.2 in /core (#1475) @dependabot-preview
    • Bump mockito-core from 2.27.0 to 2.28.2 in /core (#1512) @dependabot-preview
    • Bump tomcat-jdbc from 9.0.19 to 9.0.20 in /modules/mariadb (#1469) @dependabot-preview
    • Bump amqp-client from 5.7.0 to 5.7.1 in /core (#1501) @dependabot-preview
    • Bump jna-platform from 5.2.0 to 5.3.1 in /core (#1437) @dependabot-preview
    • Bump neo4j from 3.5.5 to 3.5.6 in /modules/neo4j (#1498) @dependabot-preview
    • Bump java-client from 2.7.4 to 2.7.6 in /modules/couchbase (#1493) @dependabot-preview
    • Bump neo4j-java-driver from 1.7.4 to 1.7.5 in /modules/neo4j (#1477) @dependabot-preview
    Source code(tar.gz)
    Source code(zip)
  • 1.11.3(May 21, 2019)

    What's Changed

    • (JUnit 5) Add field name to ExtensionConfigurationException message (#1488) @anandProDev

    🐛 Bug Fixes

    • Redirect Docker-Compose stderr to INFO logger (#1485) @kiview
    • Fix ScriptUtils splitting with Windows EOF (#1467) @ppfeiler
    • Support SELF typing for OracleContainer (#1425) @mumukiller

    📖 Documentation

    • Fix formatting bug in databases documentation (#1484) @izeye
    • Added example for MongoDB containers (#1288) @slu-it
    • Add documentation for Bitbucket Pipelines (#1439) @mschnitzler
    • Configure boomper probot (#1409) @rnorth
    • Add Lightbend to the "Who is using" list (#1464) @ennru

    📦 Dependency updates

    • Bump org.springframework.boot from 2.1.4.RELEASE to 2.1.5.RELEASE in /examples (#1471) @dependabot
    • Bump cucumber-junit from 4.3.0 to 4.3.1 in /examples (#1461) @dependabot
    • Bump tomcat-jdbc from 9.0.19 to 9.0.20 in /modules/mysql (#1468) @dependabot
    • Bump neo4j-java-driver from 1.7.3 to 1.7.4 in /modules/neo4j (#1451) @dependabot
    • Bump rest-assured from 3.3.0 to 4.0.0 in /modules/vault (#1460) @dependabot
    • Bump lombok from 1.18.6 to 1.18.8 in /examples (#1462) @dependabot
    • Bump cucumber-java from 4.3.0 to 4.3.1 in /examples (#1463) @dependabot
    • Bump org.springframework.boot from 2.1.2.RELEASE to 2.1.4.RELEASE in /examples (#1443) @dependabot
    • Bump junit-jupiter-api from 5.4.1 to 5.4.2 in /modules/junit-jupiter (#1365) @dependabot
    • Bump pulsar-client from 2.3.0 to 2.3.1 in /modules/pulsar (#1402) @dependabot
    • Bump mockito-core from 2.26.0 to 2.27.0 in /core (#1382) @dependabot
    • Bump neo4j from 3.5.4 to 3.5.5 in /modules/neo4j (#1426) @dependabot
    • Bump mysql-connector-java from 8.0.14 to 8.0.16 in /modules/mysql (#1427) @dependabot
    • Bump mysql-connector-java from 8.0.15 to 8.0.16 in /modules/junit-jupiter (#1428) @dependabot
    • Bump mysql-connector-java from 8.0.15 to 8.0.16 in /modules/spock (#1429) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.11.2(Apr 15, 2019)

    What's Changed

    🚀 Features

    • Add build args and Dockerfile path override to ImageFromDockerfile (#1372) @rnorth
    • Modify exposeHostPorts to allow host port and container port to be configured with different values (#1334) @bopi-
    • Improve WaitAllStrategy (#1272, #1400) @michael-simons, @kiview, @rnorth
    • Make StartupCheckStrategy timeout value configurable (#1308) @mimfgg

    🐛 Bug Fixes

    • Use tagged version of sshd when exposing host ports (#1407, #1391) @rnorth
    • Fix shading configuration to also apply it to modules (#1390, #1342) @bsideup

    Other changes

    • ScriptUtils: avoid repeated, unnecessary, calls to toLowerCase() (#1397, #1396) @mumukiller
    • Update default PostgreSQL image from 9.6.8 -> 9.6.12 (#1350) @sullis
    • Override close method of Network without throws statement (#1392, #1389) @mumukiller

    📦 Dependency updates

    • Bump transport from 6.6.2 to 6.7.0 in /modules/elasticsearch (#1344) @dependabot[bot]
    • Bump elasticsearch-rest-client from 6.6.2 to 6.7.0 in /modules/elasticsearch (#1343) @dependabot[bot]
    • Bump neo4j from 3.5.3 to 3.5.4 in /modules/neo4j (#1368) @dependabot[bot]
    • Bump elasticsearch-rest-client from 6.7.0 to 6.7.1 in /modules/elasticsearch (#1369) @dependabot[bot]
    • Bump junit-jupiter-engine from 5.4.1 to 5.4.2 in /modules/junit-jupiter (#1364) @dependabot[bot]
    • Bump httpclient from 4.5.7 to 4.5.8 in /modules/spock (#1353) @dependabot[bot]
    • Bump httpclient from 4.5.7 to 4.5.8 in /modules/junit-jupiter (#1352) @dependabot[bot]
    • Bump httpclient from 4.5.7 to 4.5.8 in /core (#1351) @dependabot[bot]
    • Bump transport from 6.7.0 to 6.7.1 in /modules/elasticsearch (#1370) @dependabot[bot]
    • Bump mockito-core from 2.25.1 to 2.26.0 in /core (#1366) @dependabot[bot]
    • Bump amqp-client from 5.6.0 to 5.7.0 in /core (#1367) @dependabot[bot]
    • Bump kafka-clients from 2.1.1 to 2.2.0 in /modules/kafka (#1338) @dependabot[bot]
    • Bump mongo-java-driver from 3.10.1 to 3.10.2 in /core (#1374) @dependabot[bot]
    • Bump cucumber-java from 2.3.1 to 4.3.0 in /examples (#1394) @dependabot[bot]
    • Bump tomcat-jdbc from 9.0.17 to 9.0.19 in /modules/mysql (#1401) @dependabot[bot]
    • Bump tomcat-jdbc from 9.0.17 to 9.0.19 in /modules/mariadb (#1403) @dependabot[bot]
    Source code(tar.gz)
    Source code(zip)
  • 1.11.1(Mar 25, 2019)

    What's Changed

    🚀 Features

    • Add getLogs() methods as alternative mechanism to capture container logs (#1206) @rnorth

    🐛 Bug Fixes

    • Toxiproxy: Fix bug which would prevent creation of multiple proxies (#1335) @worldtiki

    📦 Dependency updates

    • Bump spock-core from 1.0-groovy-2.4 to 1.3-groovy-2.5 in /modules/spock (#1291) @dependabot[bot]
    Source code(tar.gz)
    Source code(zip)
  • 1.11.0(Mar 22, 2019)

    What's Changed

    🚀 Features

    • Add Toxiproxy module (#1330) @rnorth
    • Added fsync=off option by default for postgresql (#1280, #1256) @mumukiller
    • Add JDBC custom credential support for postgres (#1293) @manikmagar
    • get exitcode from inspectExecCmd (#1318, #1319) @dmarkhas
    • Remove netty transport, rework shading (#1307) @bsideup
    • Update BrowserWebDriverContainer to honor existing no_proxy setting (#929) @roamingthings
    • Add support for creating Cluster objects without JMX reporting (#1199) @brasse
    • Allow TC_INITSCRIPT to support absolute/relative path via file: URI (#1329) @basicfu, @rnorth

    🐛 Bug Fixes

    • Start ambassador only if mapping configured (#1327, #1328) @ftardif
    • Add CredsStore validation in RegistryAuthLocator (#1303) @NikitaZhevnitskiy

    📦 Dependency updates

    • Bump mockito-core from 2.24.5 to 2.25.0 in /core (#1294) @dependabot[bot]
    • Bump transport from 6.6.1 to 6.6.2 in /modules/elasticsearch (#1302) @dependabot[bot]
    • Bump elasticsearch-rest-client from 6.6.1 to 6.6.2 in /modules/elasticsearch (#1301) @dependabot[bot]
    • Bump junit-jupiter-api from 5.4.0 to 5.4.1 in /modules/junit-jupiter (#1311) @dependabot[bot]
    • Bump assertj-core from 3.12.1 to 3.12.2 in /modules/pulsar (#1312) @dependabot[bot]
    • Bump mockito-core from 2.25.0 to 2.25.1 in /core (#1313) @dependabot[bot]
    • Bump junit-jupiter-engine from 5.4.0 to 5.4.1 in /modules/junit-jupiter (#1310) @dependabot[bot]
    • Bump assertj-core from 3.12.1 to 3.12.2 in /modules/kafka (#1316) @dependabot[bot]
    • Bump assertj-core from 3.12.1 to 3.12.2 in /core (#1314) @dependabot[bot]
    • Bump assertj-core from 3.12.1 to 3.12.2 in /modules/neo4j (#1315) @dependabot[bot]
    • Bump mariadb-java-client from 2.4.0 to 2.4.1 in /modules/mariadb (#1317) @dependabot[bot]
    • Bump tomcat-jdbc from 9.0.16 to 9.0.17 in /modules/mysql (#1321) @dependabot[bot]
    • Bump tomcat-jdbc from 9.0.16 to 9.0.17 in /modules/mariadb (#1322) @dependabot[bot]
    Source code(tar.gz)
    Source code(zip)
  • 1.10.7(Mar 12, 2019)

    What's Changed

    🚀 Features

    • Add additional convenience methods for Neo4j containers (#1246) @michael-simons
    • Allow to change password in MSSQLServerContainer (#885) @ecostanzi

    🐛 Bug Fixes

    • Allow extension of Neo4jContainer class (#1195) @portovep
    • refactor: robust version parsing (#1273, fixes #1220) @zregvart
    • Check Docker version according to checksEnabled flag (#1231, fiex #1220) @aivinog1

    📖 Documentation

    • Correct maven artifactId for postgresql (#1203) @ttreuthardt
    • Use withCapabilities in Webdriver docs (#1197) @mkutz
    • Change megabytes for bytes in withSharedMemorySize method documentation (#1215) @aidamanna
    • Migrate examples project to Gradle subproject (#1177) @kiview
    • Example cucumber test (#1180) @stsefanenko
    • minor word inversion (#1219) @fredclose
    • Fix failing docs example test (#1300) @rnorth

    📦 Dependency updates

    • Update ryuk references to latest version - 0.2.3 (#1212) @alelech
    • Bump annotations from 16.0.3 to 17.0.0 in /core (#1194) @dependabot[bot]
    • Bump transport from 6.5.4 to 6.6.0 in /modules/elasticsearch (#1191) @dependabot[bot]
    • Bump elasticsearch-rest-client from 6.5.4 to 6.6.0 in /modules/elasticsearch (#1190) @dependabot[bot]
    • Bump amqp-client from 5.5.3 to 5.6.0 in /core (#1186) @dependabot[bot]
    • Bump mariadb-java-client from 2.3.0 to 2.4.0 in /modules/mariadb (#1189) @dependabot[bot]
    • Bump HikariCP from 3.3.0 to 3.3.1 in /modules/spock (#1224) @dependabot[bot]
    • Bump junit-jupiter-engine from 5.3.2 to 5.4.0 in /modules/junit-jupiter (#1228) @dependabot[bot]
    • Bump HikariCP from 3.3.0 to 3.3.1 in /modules/junit-jupiter (#1227) @dependabot[bot]
    • Bump mysql-connector-java from 8.0.14 to 8.0.15 in /modules/spock (#1208) @dependabot[bot]
    • Bump mysql-connector-java from 8.0.14 to 8.0.15 in /modules/junit-jupiter (#1209) @dependabot[bot]
    • Bump tomcat-jdbc from 9.0.14 to 9.0.16 in /modules/mysql (#1226) @dependabot[bot]
    • Bump tomcat-jdbc from 9.0.14 to 9.0.16 in /modules/mariadb (#1225) @dependabot[bot]
    • Bump java-client from 2.7.2 to 2.7.3 in /modules/couchbase (#1222) @dependabot[bot]
    • Bump mockito-core from 2.23.4 to 2.24.0 in /core (#1210) @dependabot[bot]
    • Bump lombok from 1.18.4 to 1.18.6 in /examples (#1233) @dependabot[bot]
    • Bump assertj-core from 3.11.1 to 3.12.0 in /modules/neo4j (#1242) @dependabot[bot]
    • Bump assertj-core from 3.11.1 to 3.12.0 in /core (#1241) @dependabot[bot]
    • Bump assertj-core from 3.11.1 to 3.12.0 in /modules/pulsar (#1244) @dependabot[bot]
    • Bump assertj-core from 3.11.1 to 3.12.0 in /modules/kafka (#1243) @dependabot[bot]
    • Bump okhttp from 3.12.1 to 3.13.1 in /examples (#1268) @dependabot[bot]
    • Bump influxdb-java from 2.14 to 2.15 in /modules/influxdb (#1271) @dependabot[bot]
    • Bump assertj-core from 3.12.0 to 3.12.1 in /modules/pulsar (#1287) @dependabot[bot]
    • Bump assertj-core from 3.12.0 to 3.12.1 in /modules/neo4j (#1286) @dependabot[bot]
    • Bump assertj-core from 3.12.0 to 3.12.1 in /core (#1284) @dependabot[bot]
    • Bump assertj-core from 3.12.0 to 3.12.1 in /modules/kafka (#1285) @dependabot[bot]
    • Bump pulsar-client from 2.2.1 to 2.3.0 in /modules/pulsar (#1267) @dependabot[bot]
    • Bump lombok from 1.18.4 to 1.18.6 in /examples (#1261) @dependabot[bot]
    • Bump kafka-clients from 2.1.0 to 2.1.1 in /modules/kafka (#1251) @dependabot[bot]
    • Bump slf4j-api from 1.7.25 to 1.7.26 in /examples (#1262) @dependabot[bot]
    • Bump mockito-core from 2.24.0 to 2.24.5 in /core (#1255) @dependabot[bot]
    • Bump elasticsearch-rest-client from 6.6.0 to 6.6.1 in /modules/elasticsearch (#1259) @dependabot[bot]
    • Bump transport from 6.6.0 to 6.6.1 in /modules/elasticsearch (#1260) @dependabot[bot]
    • Bump selenium-firefox-driver from 3.14.0 to 3.141.59 in /examples (#1263) @dependabot[bot]
    • Bump mongo-java-driver from 3.9.1 to 3.10.1 in /core (#1234) @dependabot[bot]
    • Bump selenium-chrome-driver from 3.14.0 to 3.141.59 in /examples (#1264) @dependabot[bot]
    • Bump selenium-remote-driver from 3.14.0 to 3.141.59 in /examples (#1265) @dependabot[bot]
    • Bump commons-codec from 1.11 to 1.12 in /core (#1238) @dependabot[bot]
    • Bump cassandra-driver-core from 3.6.0 to 3.7.1 in /modules/cassandra (#1290) @dependabot[bot]
    • Bump java-client from 2.7.3 to 2.7.4 in /modules/couchbase (#1275) @dependabot[bot]
    • Bump slf4j-api from 1.7.25 to 1.7.26 in /core (#1254) @dependabot[bot]
    • Bump neo4j-java-driver from 1.7.2 to 1.7.3 in /modules/neo4j (#1297) @dependabot[bot]
    Source code(tar.gz)
    Source code(zip)
  • 1.10.6(Jan 29, 2019)

    What's Changed

    • Fix breaking changes to Dependabot config.yml (#1128) @feelepxyz
    • Ensure that sqlserver jdbc url is supported by container provider (#989, fixes #988) @neetkee

    🚀 Features

    • Make dynalite container extend GenericContainer, for JUnit5 support (#1114) @bijukunjummen
    • Make it possible to turn off Ryuk with an environment variable (#1181, fixes #1023, #700) @bsideup. For users with CI environments that do not need/do not allow the Ryuk container to operate (such as Bitbucket Pipelines), it may now be disabled by setting an environment variable. Please see the docs.

    📖 Documentation

    • Add "exposing host port" example (#1152) @stsefanenko
    • Redo documentation with mkdocs (#1150) @rnorth
    • Modernize Spring boot example (#1175) @artjomka
    • Fix typo in Postgresql gradle dependency (#1182) @danieldisu
    • Add "singleton container" example (#1178) @chungngoops

    📦 Dependency updates

    • Bump HikariCP from 3.2.0 to 3.3.0 in /modules/spock (#1117) @dependabot[bot]
    • Bump aws-java-sdk-s3 from 1.11.475 to 1.11.479 in /modules/localstack (#1130) @dependabot[bot]
    • Bump aws-java-sdk-dynamodb from 1.11.475 to 1.11.479 in /modules/dynalite (#1129) @dependabot[bot]
    • Bump amqp-client from 5.5.1 to 5.5.2 in /core (#1122) @dependabot[bot]
    • update mockserver to 5.5.1 and bind to port 1080 which is default (#1109) @lanwen
    • Bump HikariCP from 3.2.0 to 3.3.0 in /modules/junit-jupiter (#1120) @dependabot[bot]
    • Bump spring-boot-dependencies from 2.1.1.RELEASE to 2.1.2.RELEASE in /examples (#1149) @dependabot[bot]
    • Bump spring-boot-maven-plugin from 2.1.1.RELEASE to 2.1.2.RELEASE in /examples (#1148) @dependabot[bot]
    • Bump rest-assured from 3.2.0 to 3.3.0 in /modules/vault (#1143) @dependabot[bot]
    • Bump mysql-connector-java from 8.0.13 to 8.0.14 in /modules/spock (#1173) @dependabot[bot]
    • Bump mysql-connector-java from 8.0.13 to 8.0.14 in /modules/junit-jupiter (#1172) @dependabot[bot]
    • Bump mysql-connector-java from 8.0.13 to 8.0.14 in /modules/mysql (#1171) @dependabot[bot]
    • Bump amqp-client from 5.5.2 to 5.5.3 in /core (#1170) @dependabot[bot]
    Source code(tar.gz)
    Source code(zip)
  • 1.10.5-retag(Jan 2, 2019)

    What's Changed

    This release was primarily created to resolve #1111.

    📦 Dependency updates

    • Bump cassandra-driver-core from 3.5.1 to 3.6.0 in /modules/cassandra (#1050) @dependabot[bot]
    Source code(tar.gz)
    Source code(zip)
  • 1.10.4(Dec 29, 2018)

    ⚠️ There was a problem with the binaries release process for 1.10.4, meaning that some outdated v1.10.3 JARs may have been published with the 1.10.4 version label. Please use 1.10.5 or higher instead of this release. See #1111 for a description of the problem.

    What's Changed

    This release contains a few minor bug fixes and features, plus a raft of small dependency updates.

    🚀 Features

    • Support TmpFS mappings (#1021) @malltshik. Containers may now have a TmpFS volume mounted, e.g.:
      GenericContainer container = new GenericContainer(...)
          .withTmpFs(singletonMap("/data", "rw"))
      
    • Enable line terminator matching for LogMessageWaitStrategy (#982) @bengtbrodersen0042
    • SQL compound statement awareness in ScriptUtils. This feature allows stored procedures to be used in database init scripts (#579) @rnorth

    🐛 Bug Fixes

    • Start shared containers in beforeAll callback (Jupiter) (#1020) @kiview
    • Fix StreamType.RAW frame processing when using TTY mode with containers(#1101) @vektory79

    📖 Documentation/Internal

    • Fix broken link to Oracle test (#1018) @adoroszlai
    • Simplify selenium example (#1008) @rnorth
    • Simplify GitLab CI documentation (#1016) @TjeuKayim
    • Add dependabot.yml (#1026) @rnorth
    • Enable automatic release version numbering (#1025) @rnorth
    • Add categories to release drafter (#1074) @rnorth

    📦 Dependency updates

    We've recently enabled dependabot, and as a result have more than a few dependency updates in this release:

    Click to expand...
    • Bump annotations from 15.0 to 16.0.3 in /core (#1027) @dependabot[bot]
    • Bump slf4j-api from 1.7.7 to 1.7.25 in /examples (#1034) @dependabot[bot]
    • Bump jedis from 2.8.0 to 3.0.0 in /core (#1031) @dependabot[bot]
    • Bump rest-assured from 3.0.0 to 3.2.0 in /modules/vault (#1044) @dependabot[bot]
    • Bump vibur-dbcp from 9.0 to 22.2 in /modules/mysql (#1042) @dependabot[bot]
    • Bump postgresql from 9.4.1212 to 42.2.5 in /examples (#1037) @dependabot[bot]
    • Bump lombok from 1.16.6 to 1.18.4 in /examples (#1039) @dependabot[bot]
    • Bump aws-java-sdk-s3 from 1.11.126 to 1.11.475 in /modules/localstack (#1046) @dependabot[bot]
    • Bump okhttp from 3.6.0 to 3.12.0 in /examples (#1035) @dependabot[bot]
    • Bump jaxb-api from 2.3.0 to 2.3.1 in /core (#1029) @dependabot[bot]
    • Bump neo4j-java-driver from 1.7.1 to 1.7.2 in /modules/neo4j (#1045) @dependabot[bot]
    • Bump jetty from 6.1.25 to 6.1.26 in /modules/selenium (#1047) @dependabot[bot]
    • [Security] Bump logback-classic from 1.1.2 to 1.2.3 in /examples (#1060) @dependabot[bot]
    • Bump commons-dbutils from 1.6 to 1.7 in /modules/mysql (#1040) @dependabot[bot]
    • Bump vibur-dbcp from 9.0 to 22.2 in /modules/mariadb (#1063) @dependabot[bot]
    • Bump HikariCP from 2.6.1 to 3.2.0 in /modules/spock (#1053) @dependabot[bot]
    • Bump HikariCP-java6 from 2.3.8 to 2.3.13 in /modules/mariadb (#1064) @dependabot[bot]
    • Bump HikariCP-java6 from 2.3.8 to 2.3.13 in /modules/postgresql (#1051) @dependabot[bot]
    • Bump commons-dbutils from 1.6 to 1.7 in /modules/postgresql (#1048) @dependabot[bot]
    • Bump tomcat-jdbc from 8.5.4 to 9.0.14 in /modules/mariadb (#1061) @dependabot[bot]
    • Bump tomcat-jdbc from 8.5.4 to 9.0.14 in /modules/mysql (#1038) @dependabot[bot]
    • Bump aws-java-sdk-dynamodb from 1.11.126 to 1.11.475 in /modules/dynalite (#1059) @dependabot[bot]
    • Bump HikariCP-java6 from 2.3.8 to 2.3.13 in /modules/mysql (#1041) @dependabot[bot]
    • Bump HikariCP from 2.6.1 to 3.2.0 in /modules/junit-jupiter (#1072) @dependabot[bot]
    • Bump postgresql from 42.0.0 to 42.2.5 in /modules/junit-jupiter (#1075) @dependabot[bot]
    • Bump jedis from 2.8.0 to 3.0.0 in /examples (#1085) @dependabot[bot]
    • Bump maven-compiler-plugin from 3.1 to 3.8.0 in /examples (#1084) @dependabot[bot]
    • Bump mockito-all from 1.9.5 to 1.10.19 in /examples (#1083) @dependabot[bot]
    • Bump okhttp from 3.12.0 to 3.12.1 in /examples (#1081) @dependabot[bot]
    • Bump spinach from 0.2 to 0.3 in /examples (#1032) @dependabot[bot]
    • Bump commons-dbutils from 1.6 to 1.7 in /modules/mariadb (#1073) @dependabot[bot]
    • Bump amqp-client from 3.5.3 to 5.5.1 in /core (#1076) @dependabot[bot]
    • Bump postgresql from 9.3-1101-jdbc41 to 42.2.5 in /modules/postgresql (#1049) @dependabot[bot]
    • Bump elasticsearch-rest-client from 6.4.1 to 6.5.4 in /modules/elasticsearch (#1058) @dependabot[bot]
    • Bump mysql-connector-java from 6.0.6 to 8.0.13 in /modules/junit-jupiter (#1071) @dependabot[bot]
    • Bump visible-assertions from 1.0.5 to 2.1.1 in /examples (#1082) @dependabot[bot]
    • Bump mysql-connector-java from 5.1.35 to 8.0.13 in /modules/mysql (#1043) @dependabot[bot]
    • Bump influxdb-java from 2.10 to 2.14 in /modules/influxdb (#1070) @dependabot[bot]
    • Bump jersey-common from 2.23.1 to 2.27 in /core (#1078) @dependabot[bot]
    • Bump java-client from 2.6.1 to 2.7.2 in /modules/couchbase (#1036) @dependabot[bot]
    • Bump mysql-connector-java from 6.0.6 to 8.0.13 in /modules/spock (#1056) @dependabot[bot]
    • Bump spring-boot-dependencies from 2.0.1.RELEASE to 2.1.1.RELEASE in /examples (#1096) @dependabot[bot]
    • Bump testng from 6.9.10 to 6.14.3 in /examples (#1095) @dependabot[bot]
    • Bump visible-assertions from 2.1.1 to 2.1.2 in /examples (#1094) @dependabot[bot]
    • Bump gson from 2.5 to 2.8.5 in /examples (#1092) @dependabot[bot]
    • Bump kafka-clients from 1.0.0 to 2.1.0 in /modules/kafka (#1062) @dependabot[bot]
    • Bump commons-io from 2.5 to 2.6 in /core (#1086) @dependabot[bot]
    • Bump jedis from 2.8.0 to 3.0.0 in /modules/junit-jupiter (#1065) @dependabot[bot]
    • Bump mongo-java-driver from 3.0.2 to 3.9.1 in /core (#1089) @dependabot[bot]
    • Bump postgresql from 42.0.0 to 42.2.5 in /modules/spock (#1057) @dependabot[bot]
    • Bump spring-boot-maven-plugin from 2.0.1.RELEASE to 2.1.1.RELEASE in /examples (#1093) @dependabot[bot]
    • Bump mariadb-java-client from 1.5.9 to 2.3.0 in /modules/mariadb (#1068) @dependabot[bot]
    • Bump junit-jupiter-engine from 5.3.1 to 5.3.2 in /modules/junit-jupiter (#1066) @dependabot[bot]
    • Bump transport from 6.4.1 to 6.5.4 in /modules/elasticsearch (#1055) @dependabot[bot]
    • Bump okhttp from 3.10.0 to 3.12.1 in /core (#1080) @dependabot[bot]
    • Bump mockito-core from 1.10.19 to 2.23.4 in /core (#1077) @dependabot[bot]
    • Auto merge /examples dependencies (#1097) @bsideup
    • Bump guava from 18.0 to 23.0 in /examples (#1099) @dependabot[bot]
    • Bump json from 20160810 to 20180813 in /examples (#1098) @dependabot[bot]
    • Bump pulsar-client from 2.2.0 to 2.2.1 in /modules/pulsar (#1091) @dependabot[bot]
    • Bump assertj-core from 3.8.0 to 3.11.1 in /modules/kafka (#1067) @dependabot[bot]
    • Bump visible-assertions from 2.1.1 to 2.1.2 in /core (#1088) @dependabot[bot]
    • Bump javax.annotation-api from 1.3.1 to 1.3.2 in /core (#1087) @dependabot[bot]
    • Bump junit-jupiter-api from 5.3.1 to 5.3.2 in /modules/junit-jupiter (#1069) @dependabot[bot]
    • Bump jna-platform from 4.5.1 to 5.2.0 in /core (#1079) @dependabot[bot]
    • Bump jedis from 3.0.0 to 3.0.1 in /examples (#1103) @dependabot[bot]
    • Bump jedis from 3.0.0 to 3.0.1 in /core (#1105) @dependabot[bot]
    • Bump jedis from 3.0.0 to 3.0.1 in /modules/junit-jupiter (#1104) @dependabot[bot]
    • Bump assertj-core from 3.8.0 to 3.11.1 in /core (#1090) @dependabot[bot]
    • Bump assertj-core from 3.10.0 to 3.11.1 in /modules/pulsar (#1054) @dependabot[bot]
    Source code(tar.gz)
    Source code(zip)
  • 1.10.3(Dec 18, 2018)

    🎉 Neo4j container class is here 🎉

    Thanks to @michael-simons, we now have Neo4j as a provided container class. Now creating a container to test against Neo4j is as easy as writing new Neo4jContainer(). Please check out the docs for more information and examples.

    What else has Changed

    As always, thank you to everyone who has contributed in any way to this release.

    • Add Neo4j-OGM to 'Who is using Testcontainers'. (#996) @michael-simons
    • [Docs] Change withDockerfileFromBuilder example to use expression Lamda (#975) @bmuschko
    • Bump org.mock-server dependency set from 5.4.1 to 5.5.0 (#983) @bbednarek
    • Disable Gradle daemon (#1004) @rnorth
    • Use ChromeOptions and FirefoxOptions instead of DesiredCapabilities (#995) @pavelpp
    • Remove SLF4J Profiler (#1002) @rnorth
    Source code(tar.gz)
    Source code(zip)
Roman Beskrovnyi 176 Nov 29, 2021
🔌 Simple library to manipulate HTTP requests/responses and capture network logs made by the browser using selenium tests without using any proxies

Simple library to manipulate HTTP requests and responses, capture the network logs made by the browser using selenium tests without using any proxies

Sudharsan Selvaraj 27 Oct 23, 2021
CodeSheriff is a simple library that helps you in writing JUnit tests that check the quality of your code

CodeSheriff is a simple library that helps you in writing JUnit tests that check the quality of your code. For example, CodeSheriff may fail because you have methods in your code that have more than X lines of code, or that have complexity greater than Y.

Maurício Aniche 61 Aug 23, 2021
This is a repository to collect JUnit Tests for GAD exercises at TUM in SS21

TUM_GAD_Tests_SS21 This is a repository to collect JUnit Tests for GAD exercises at TUM in SS21. These tests have been written by students for student

null 33 Aug 14, 2021
AssertJ is a library providing easy to use rich typed assertions

AssertJ - Fluent assertions for java AssertJ provides a rich and intuitive set of strongly-typed assertions to use for unit testing (with JUnit, TestN

AssertJ 2.1k Dec 6, 2021
Library that allows tests written in Java to follow the BDD style introduced by RSpec and Jasmine.

J8Spec J8Spec is a library that allows tests written in Java to follow the BDD style introduced by RSpec and Jasmine. More details here: j8spec.github

J8Spec 45 Apr 17, 2021
JVM version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.

pact-jvm JVM implementation of the consumer driven contract library pact. From the Ruby Pact website: Define a pact between service consumers and prov

Pact Foundation 889 Nov 29, 2021
A collection of bite size examples for using chrome DevTools protocol commands with Selenium Webdriver v4.

selenium-devtools-guide A collection of bite size examples for using chrome DevTools protocol commands with Selenium Webdriver v4. Chrome Devtools Pro

Sudharsan Selvaraj 4 Aug 12, 2021
Serenity BDD is a test automation library designed to make writing automated acceptance tests easier, and more fun.

That feeling you get when you know you can trust your tests Serenity BDD is a library designed to make writing automated acceptance tests easier, and

Serenity BDD 591 Dec 2, 2021
Randomized Testing (Core JUnit Runner, ANT, Maven)

RANDOMIZED TESTING ================== JUnit test runner and plugins for running JUnit tests with pseudo-randomness. See the following for more infor

null 160 Nov 6, 2021
A TestNG like dataprovider runner for JUnit with many additional features

junit-dataprovider Have a look to this repositories Wiki pages for documenation, usage examples and further information. Table of contents Home What i

TNG Technology Consulting GmbH 230 Nov 17, 2021
JUnit 5 Parameterized Test Yaml Test Data Source

Yamaledt — JUnit 5 Parameterized Tests Using Yaml and Jamal Introduction and usage Note This is the latest development documentation. This is a SNAPSH

Peter Verhas 4 Jun 4, 2021
Exercicio envolvendo criação de Classe, Junit 5 e exception

ClasseData Complemente a classe Data desenvolvida anteriormente para que lance uma ExcecaoDataInvalida. Com esta única exceção, você deverá ser capaz

Mateus Samartini 3 May 7, 2021
Exercico com Junit 5, UML, Interação de classes e Exception

AcessoClube Exercico com Junit 5, UML, Interação de classes e Exception Exercicio: Projete e desenvolva um sistema de controle de acesso a um clube co

Mateus Samartini 3 May 3, 2021
Most popular Mocking framework for unit tests written in Java

Most popular mocking framework for Java Current version is 3.x Still on Mockito 1.x? See what's new in Mockito 2! Mockito 3 does not introduce any bre

mockito 12.4k Dec 2, 2021
Arbitrary test data generator for parameterized tests in Java inspired by AutoFixture.

AutoParams AutoParams is an arbitrary test data generator for parameterized tests in Java inspired by AutoFixture. Sometimes setting all the test data

null 202 Nov 30, 2021
Lightweight analysis tool for detecting mutability in Java classes

What is Mutability Detector? Mutability Detector is designed to analyse Java classes and report on whether instances of a given class are immutable. I

Mutability Detector 223 Nov 25, 2021
🕵️ Lightweight utility to intercept WebDriver and WebElement method calls.

Lightweight utility to intercept webdriver and webelement method calls. Supports both Selenium and Appium drivers About | To Get Started | Installatio

Sudharsan Selvaraj 18 Nov 16, 2021