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.

Comments
  • Kubernetes Support Revisited

    Kubernetes Support Revisited

    Testcontainers depends on Docker, and raw Docker is an issue in a Kubernetes managed environment (i.e. Jenkins X). It ends up either using the /var/run/docker.sock escape hatch or dind. Both approaches have issues. Would you like to be aiming at adding native Kubernetes support? Native Kubernetes support would even make Docker optional in a Kubernetes environment.

    See also: https://github.com/testcontainers/testcontainers-java/issues/449

    help wanted resolution/somedaymaybe type/breaking-api-change type/feature resolution/acknowledged client/in-container 
    opened by deas 77
  • "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 61
  • 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 org.testcontainers.images.RemoteDockerImage@2f48b3d2
      simpleDockerfileWorks(org.testcontainers.junit.DockerfileTest): failed to create a child event loop
      customizableImage(org.testcontainers.junit.DockerfileTest): Can't get Docker image name from org.testcontainers.junit.DockerfileTest$1@55787112
      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
  • 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 44
  • 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
  • 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
  • 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
  • "Can not connect to Ryuk" on macOS with Docker for Mac 2.4.0.0

    I've seen this exact error come and go a fair bit on here, but it's just today started happening for me.

    I'm using testcontainers-java 1.12.0, but updating to the latest version has no impact at all.

    When running my test, I get the following:

    2020-08-28 17:19:18.778,INFO ,[main]:,o.t.d.DockerClientProviderStrategy,,,,,Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
    2020-08-28 17:19:18.833,INFO ,[main]:,o.t.d.DockerClientProviderStrategy,,,,,Will use 'okhttp' transport
    2020-08-28 17:19:19.490,INFO ,[main]:,o.t.d.UnixSocketClientProviderStrategy,,,,,Accessing docker with local Unix socket
    2020-08-28 17:19:19.491,INFO ,[main]:,o.t.d.DockerClientProviderStrategy,,,,,Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
    2020-08-28 17:19:19.492,INFO ,[main]:,o.t.DockerClientFactory,,,,,Docker host IP address is localhost
    2020-08-28 17:19:19.680,INFO ,[main]:,o.t.DockerClientFactory,,,,,Connected to docker:
      Server Version: 19.03.13-beta2
      API Version: 1.40
      Operating System: Docker Desktop
      Total Memory: 2996 MB
    2020-08-28 17:19:19.988,INFO ,[main]:,o.t.u.RegistryAuthLocator,,,,,Credential helper/store (docker-credential-desktop) does not have credentials for quay.io
    

    And then a seemingly infinite amount of the following:

    2020-08-28 17:19:20.733,WARN ,[testcontainers-ryuk]:,o.t.u.ResourceReaper,,,,,Can not connect to Ryuk at localhost:32781
    java.net.ConnectException: Connection refused (Connection refused)
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    	at java.net.Socket.connect(Socket.java:589)
    	at java.net.Socket.connect(Socket.java:538)
    	at java.net.Socket.<init>(Socket.java:434)
    	at java.net.Socket.<init>(Socket.java:211)
    	at org.testcontainers.utility.ResourceReaper.lambda$start$1(ResourceReaper.java:113)
    	at java.lang.Thread.run(Thread.java:748)
    

    This is running with Java 1.8.0_222 from Amazon Corretto, running on macOS 10.15.6.

    This definitely worked yesterday. I did have an update to the Docker Engine today, and I'm assuming that's relevant, but everything else I'm doing with Docker is all working fine - including a different project that uses the Rust version of TestContainers. (Though I notice that doesn't use Ryuk, which might be relevant)

    Cheers

    opened by sazzer 39
  • Feature/pumba support

    Feature/pumba support

    Ok, this would be probably first approach to tackle this, since I don't really have much time right now to improve it. It's not yet fully done, but please at least review it.

    type/new module resolution/acknowledged 
    opened by slnowak 37
  • Bump org.jetbrains.kotlin.plugin.spring from 1.7.22 to 1.8.0 in /examples

    Bump org.jetbrains.kotlin.plugin.spring from 1.7.22 to 1.8.0 in /examples

    Bumps org.jetbrains.kotlin.plugin.spring from 1.7.22 to 1.8.0.

    Release notes

    Sourced from org.jetbrains.kotlin.plugin.spring's releases.

    Kotlin 1.8.0

    Changelog

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.plugin.spring's changelog.

    1.8.0

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • 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 com.gradle.enterprise.gradle.plugin from 3.11.4 to 3.12.1

    Bump com.gradle.enterprise.gradle.plugin from 3.11.4 to 3.12.1

    Bumps com.gradle.enterprise.gradle.plugin from 3.11.4 to 3.12.1.

    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 immudb4j from 0.9.10.2 to 1.0.0 in /examples

    Bump immudb4j from 0.9.10.2 to 1.0.0 in /examples

    Bumps immudb4j from 0.9.10.2 to 1.0.0.

    Release notes

    Sourced from immudb4j's releases.

    v1.0.0

    Release notes

    immudb4j was upgraded to work with the latest immudb release 1.4.1

    Session-based authentication

    Connections to the database server are simplified by session-based authentication. The SDK automatically maintains sessions and provides support for interactive transactions.

    Stream APIs

    APIs for streaming data are essential when handling large values or a large number of entries that would otherwise be limited by the transport layer.

    SQL support

    There is now support for interactive SQL transactions. It is quite straightforward to use the SQL API since it resembles the JDBC API.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/codenotary/immudb4j/compare/0.10.2...1.0.0

    v1.0.0-RC1

    immudb4j was upgraded to work with the latest immudb release 1.4.1

    • Session-based authentication
    • Stream APIs
    • SQL support

    What's Changed

    ... (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 org.springframework.boot from 2.7.6 to 3.0.1 in /examples

    Bump org.springframework.boot from 2.7.6 to 3.0.1 in /examples

    Bumps org.springframework.boot from 2.7.6 to 3.0.1.

    Release notes

    Sourced from org.springframework.boot's releases.

    v3.0.1

    :lady_beetle: Bug Fixes

    • Fix typo in LocalDevToolsAutoConfiguration logging #33615
    • No warning is given when <springProfile> is used in a Logback <root> block #33610
    • Auto-configure PropagationWebGraphQlInterceptor for tracing propagation #33542
    • WebClient instrumentation fails with IllegalArgumentException when adapting to WebClientExchangeTagsProvider #33483
    • Reactive observation auto-configuration does not declare order for WebFilter #33444
    • Web server fails to start due to "Resource location must not be null" when attempting to use a PKCS 11 KeyStore #33433
    • Actuator health endpoint for neo4j throws NoSuchElementException and always returns Status.DOWN #33428
    • Anchors in YAML configuration files throw UnsupportedOperationException #33404
    • ZipkinRestTemplateSender is not customizable #33399
    • AOT doesn't work with Logstash Logback Encoder #33387
    • Maven process-aot goal fails when release version is set in Maven compiler plugin #33382
    • DependsOnDatabaseInitializationPostProcessor re-declares bean dependencies at native image runtime #33374
    • @SpringBootTest now throws a NullPointerException rather than a helpful IllegalStateException when @SpringBootConfiguration is not found #33371
    • bootBuildImage always trys to create a native image due to bootJar always adding a META-INF/native-image/argfile to the jar #33363

    :notebook_with_decorative_cover: Documentation

    • Improve gradle plugin tags documentation #33617
    • Improve maven plugin tags documentation #33616
    • Fix typo in tomcat accesslog checkExists doc #33512
    • Documented Java compiler level is wrong #33505
    • Fix typo in documentation #33453
    • Update instead of replace environment in bootBuildImage documentation #33424
    • Update the reference docs to document the need to declare the native-maven-plugin when using buildpacks to create a native image #33422
    • Document that the shutdown endpoint is not intended for use when deploying a war to a servlet container #33410
    • Reinstate GraphQL testing documentaion #33407
    • Description of NEVER in Sanitize Sensitive Values isn't formatted correctly #33398

    :hammer: Dependency Upgrades

    • Upgrade to AspectJ 1.9.19 #33586
    • Upgrade to Byte Buddy 1.12.20 #33587
    • Upgrade to Couchbase Client 3.4.1 #33588
    • Upgrade to Dropwizard Metrics 4.2.14 #33589
    • Upgrade to Elasticsearch Client 8.5.3 #33590
    • Upgrade to Hibernate 6.1.6.Final #33591
    • Upgrade to HttpClient 4.5.14 #33592
    • Upgrade to HttpCore 4.4.16 #33593
    • Upgrade to Infinispan 14.0.4.Final #33594
    • Upgrade to Jaybird 4.0.8.java11 #33595
    • Upgrade to Jetty 11.0.13 #33596
    • Upgrade to jOOQ 3.17.6 #33597
    • Upgrade to Kotlin 1.7.22 #33598
    • Upgrade to Lettuce 6.2.2.RELEASE #33599
    • Upgrade to MongoDB 4.8.1 #33600
    • Upgrade to MSSQL JDBC 11.2.2.jre17 #33601
    • Upgrade to Native Build Tools Plugin 0.9.19 #33602

    ... (truncated)

    Commits
    • 837947c Release v3.0.1
    • 5929d95 Merge branch '2.7.x'
    • b10b788 Next development version (v2.7.8-SNAPSHOT)
    • f588793 Update copyright year of changed files
    • 0254619 Merge branch '2.7.x'
    • e4772cf Update copyright year of changed files
    • 2e7ca6f Warning if <springProfile> is used in phase 2 model elements
    • 2ed512d Use model.deepMarkAsSkipped in SpringProfileModelHandler
    • 532fed3 Increase couchbase connection timeout for tests
    • 9562a2c Merge branch '2.7.x'
    • 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 com.gradle.enterprise.gradle.plugin from 3.11.4 to 3.12.1 in /examples

    Bump com.gradle.enterprise.gradle.plugin from 3.11.4 to 3.12.1 in /examples

    Bumps com.gradle.enterprise.gradle.plugin from 3.11.4 to 3.12.1.

    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.jetbrains.kotlin.jvm from 1.7.22 to 1.8.0 in /examples

    Bump org.jetbrains.kotlin.jvm from 1.7.22 to 1.8.0 in /examples

    Bumps org.jetbrains.kotlin.jvm from 1.7.22 to 1.8.0.

    Release notes

    Sourced from org.jetbrains.kotlin.jvm's releases.

    Kotlin 1.8.0

    Changelog

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend

    ... (truncated)

    Changelog

    Sourced from org.jetbrains.kotlin.jvm's changelog.

    1.8.0

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • 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
Releases(1.17.6)
  • 1.17.6(Nov 16, 2022)

    What's Changed

    Highlights

    This release has been made possible through the efforts of 20 contributors. The Testcontainers does not cease to amaze us, thanks to everyone of you and thanks for the ongoing support and collaboration 🥰.

    This release brings a lot of database love with 2 new modules, and as always a couple of bug fixes and improvements

    New Module: QuestDB (#5995) @Vangreen

    QuestDB, is a high-performance, open-source SQL database for applications in financial services, IoT, machine learning, DevOps and observability.

    var container = new QuestDBContainer("questdb/questdb:6.5.3")
    container.start()
    var connectionUrl = container.getHttpUrl()
    // use the connectionUrl and start testing!
    

    New Module: YugabyteDB (#4372) @srinivasa-vasu

    YugabyteDB, is a modern distributed SQL database for transactional cloud native applications. PostgreSQL compatible. It offers two APIs, SQL and CQL.

    var container = new YugabyteDBYSQLContainer("yugabytedb/yugabyte:2.14.4.0-b26");
    container.start()
    var jdbcUrl = container.getJdbcUrl();
    // use the jdbcUrl and start testing!
    
    var container = new YugabyteDBYCQLContainer("yugabytedb/yugabyte:2.14.4.0-b26");
    container.start()
    var contactPoint = container.getContactPoint();
    // use the contactPoint and start testing!
    

    🚀 Features & Enhancements

    • InfluxDB v2 support (#3669) @raminqaf
    • Add support for flags in DatastoreEmulatorContainer (#5993) @eddumelendez
    • Expose Redpanda schema registry (#5994) @gustavomonarin
    • Adds the ability to set a target build stage to a Dockerfile (#4810) @GenghisChen

    🐛 Bug Fixes

    • Fixes wrong timestamp calculation (#5988) @leblonk
    • Catch and ignore more errors when reflecting into container subclass (#5990) @akhaku
    • Return default for empty environment variable (#5983) @roulpriya

    📖 Documentation

    • Add Spotify in Donors section (#6083) @eddumelendez
    • Updated Vault docs, uplifted Vault image version (#3685) @RamazanYapparov
    • Add Hazelcast Example (#6117) @tomazfernandes
    • Improve ToxiProxyContainer test and docs (#6065) @eddumelendez
    • fix link zookeeper (#6079) @rnzit
    • chore: sync governance files (#6075) @kiview
    • Update docs to better reflect the links to other languages (#6068) @kiview
    • Add step to create symlink when Docker for Mac 4.13 is installed (#6064) @eddumelendez
    • Add language links to docs index (#6067) @leocross
    • Update gitlab_ci.md with clarifying note about the docker host port number (#6063) @BenManifold
    • Add zookeeper example (#6059) @eddumelendez
    • Add travis minimal configuration (#6056) @eddumelendez
    • fix: edit link in documentation (#6055) @DanielHabenicht
    • Deprecate setCustomContent and withCustomContent at NginxContainer (#5997) @eddumelendez
    • Add paragraph about Docker requirements to docs (#5987) @kiview
    • Add reference to supported languages (#5979) @eddumelendez
    • doc: Update logback-test.xml example to show how to enable DEBUG only for Testcontainers (#5976) @edysli

    🧹 Housekeeping

    • Remove "Starting an elasticsearch container" message in constructor (#6127) @deejgregor
    • Apply spotless and checkstyle to examples (#6061) @eddumelendez
    • Remove unused Pipfiles (#6046) @kiview
    • Update toxiproxy image to ghcr.io/shopify/toxiproxy (#5996) @eddumelendez
    • Deprecate setCustomContent and withCustomContent at NginxContainer (#5997) @eddumelendez
    • Remove Transferable#of(java.lang.String,int) for japicmp (#5992) @eddumelendez
    • Remove unnecessary configuration from simple tests (#5973) @JanHendrikDolling
    • Fix dependabot.yml ignore section (#5999) @eddumelendez
    • Update set-output command in workflows (#6058) @eddumelendez
    • Use gradle/gradle-build-action (#6121) @eddumelendez
    • Add lang and version labels to containers (#6124) @eddumelendez
    • Fix labeler configuration (#6157) @eddumelendez

    📦 Dependency updates

    9 changes * Ignore updates for org.neo4j:neo4j (#6112) @eddumelendez * Combined dependencies PR (#6210) @eddumelendez * Combined dependencies PR (#6205) @eddumelendez * Combined dependencies PR (#6173) @eddumelendez * Combined dependencies PR (#6153) @eddumelendez * Combined dependencies PR (#6150) @eddumelendez
    • Combined dependencies PR (#6118) @eddumelendez
    • Combined dependencies PR (#6114) @eddumelendez
    • Combined dependencies PR (#6113) @eddumelendez
    • Combined dependencies PR (#6212) @eddumelendez
    Source code(tar.gz)
    Source code(zip)
  • 1.17.5(Oct 4, 2022)

    What's Changed

    Warning Version 1.17.4 was released upgrading slf4j-api to version 2.x. This dependency has been reverted to 1.17.x.

    • Rollback back to slf4j-api 1.7.36 (#5951) @kiview
    • Bump logback-classic versions (#5948) @eddumelendez
    • Bump kotlin plugins version to 1.7.20 (#5945) @eddumelendez
    • Add banner when Ryuk is disabled (#5929) @eddumelendez

    📖 Documentation

    • Test container example for ImmuDB (#5860) @hariohmprasath
    • Reference to GitHub Discussions (#5928) @eddumelendez
    • Rename main branch (#5847) @eddumelendez

    📦 Dependency updates

    • Combined dependencies PR (#5944) @eddumelendez
    • Combined dependencies PR (#5936) @eddumelendez
    • Combined dependencies PR (#5935) @eddumelendez
    • Combined dependencies PR (#5931) @eddumelendez
    Source code(tar.gz)
    Source code(zip)
  • 1.17.4(Sep 29, 2022)

    What's Changed

    Highlights

    This release has been made possible through the efforts of whopping 23 contributors, wow! 🤯

    Besides 3 new modules, this release brings a couple of bugfixes, improved compatibility and resilience in certain scenarios, better defaults and more configurability.

    You might also notice many PRs related to the documentation, templates for PRs and issues, and automation regarding OSS contributions. Testcontainers has always been a project with a lot of involvement by the community and we are very proud of this. That’s why want to make contributing to Testcontainers a great experience, no matter if you raise an issue, submit a PR or initiate a discussion in GitHhub Discussions.

    🐼 New Module: Redpanda (#5740) @eddumelendez

    Redpanda, a Kafka-compatible streaming platform, recently added a special dev-container mode to their container image, that allows even faster startup times. A great reason to work in a Testcontainers module that leverages this flag by default to give you a great integration testing experience when using Redpanda. And of course, using Redpanda with Testcontainers is as easy and convenient as you are used to:

    var container = new RedpandaContainer("docker.redpanda.com/vectorized/redpanda:v22.2.1")
    container.start()
    var connectionUrl = container.getBootstrapServers()
    // use the connectionUrl and start testing!
    

    You can check out the docs to learn more.

    New Module: TiDB (#5511) @Icemap

    With TiDB, we are adding support for a new database module. As with other databases that can be accessed via JDBC, you can leverage Testcontainers’ special JDBC URL integration:

    jdbc:tc:tidb:v6.1.0:///databasename
    

    New Module: Hashicorp Consul (#4683) @julb

    Consul

    🚀 Features & Enhancements

    • getContainerByServiceName should work without suffix (#5776) @REslim30
    • Allow Pulsar default WaitStrategy to honour startup timeout (#5674) @nahguam
    • fix: ContainerDatabaseDriver does not register Properties object (#5829) @REslim30
    • couchbase: allow to configure bucket replicas and default to 0. (#5840) @daschl
    • Add compatibility with MongoDB 6 (#5771) @eddumelendez
    • Set default elasticsearch heap size to 2GB (Alternate PR) (#5684) @REslim30
    • Add Transferable.of(String, int) (#5741) @eddumelendez
    • Make TestcontainersExtension public (#5285) @hmatt1
    • Update Cassandra driver to 4.x (#2830) @emerkle826
    • Make outer maximum startup timeout in DockerComposeContainer configurable (#5588) @henri-tremblay
    • Improve Pulsar's wait strategy to rely on clusterName (#5613) @eddumelendez

    🐛 Bug Fixes

    • getLivenessCheckPortNumbers() should return mapped port (#5734) @REslim30

    📖 Documentation

    • Improve consistency of Testcontainers name in docs (#5866) @neslihanedes
    • Fix typos on index.md (#5832) @neslihanedes
    • docs: fix link to the bounty program (#5831) @mdelapenya
    • Fix link for Selenium examples (#5786) @kiview
    • Remove disque-job-queue and mongodb-container examples (#5782) @eddumelendez
    • Upgrade spring-boot version to 2.7.3 in examples (#5764) @eddumelendez
    • Add samples section (#5763) @eddumelendez
    • Add Consul module (#4683) @julb
    • Add syntax highlighting to colima usage doc (#5673) @kishaningithub
    • Link to the docs on environment discovery failure (#5615) @bsideup
    • Add docs for AWS CodeBuild and Tekton (#5614) @eddumelendez
    • Update CircleCI docs for current Cloud/v2/v3 configuration (#5611) @epragtbeamtree
    • Update Oracle-XE docs and use code example from tests (#4385) @kiview
    • Enable JUnitPlatform in Gradle for JUnit5 examples (#4130) @kiview
    • Add documentation for DependsOn (#5597) @QuinnBast
    • Improve docs (#5522) @eddumelendez
    • Improve Issue Templates (#5836) @eddumelendez
    • Fix type/docs label (#5759) @eddumelendez
    • Add Pull Request Template (#5735) @eddumelendez
      • Link to the docs on environment discovery failure (#5615) @bsideup

    🧹 Housekeeping

    • Update localstack images in tests (#5783) @eddumelendez
    • Remove thundra from ci.yml (#5850) @eddumelendez
    • Exclude org.testcontainers.shaded.* package and upgrade deps (#5775) @eddumelendez
    • Revert "Update GHA runner image to latest Ubuntu" (#5766) @kiview
    • Add test-retry plugin (#5586) @eddumelendez
    • GitHub Workflows security hardening (#5821) @sashashura
    • Add host os and arch in bug report template (#5525) @eddumelendez
    • getLivenessCheckPortNumbers() should return mapped port (#5734) @REslim30
    • Use testCompileOnly instead of testCompileClasspath (#5849) @eddumelendez
    • Update slf4j in test-support to 2.0.0 (#5848) @kiview
    • Remove disque-job-queue and mongodb-container examples (#5782) @eddumelendez
    • Run mongosh or mongo if cmd exists (#5774) @eddumelendez
    • Add .sdkmanrc with 8.0.345-tem (#5772) @eddumelendez
    • Add link to GH Discussions to Issue forms (#5767) @eddumelendez
    • [couchbase] Only expose ports for enabled services (#4595) @daschl
    • Update GHA runner image to latest Ubuntu (#5761) @kiview
    • Enforce UTF-8 as Javadoc encoding (#5738) @gesellix
    • Drop usage of org.junit.platform.commons.util (#5729) @eddumelendez
    • Move junit4 to assertj (#5685) @eddumelendez
    • Removes unused module junit-toolbox (#5678) @froque
    • Move to assertj (#5679) @eddumelendez
    • Add pr label for area/docker-compose (#5610) @eddumelendez
    • Update alpine image to 3.16 (#4698) @tobiasstadler
    • Update spotless version to 6.8.0 (#5605) @eddumelendez
    • Fix javadoc comment in ToxiproxyContainer#getProxy(GenericContainer, int) (#5591) @kwart
    • chore: Set permissions for GitHub actions (#5523) @naveensrinivasan
    • Add labeler action (#5516) @eddumelendez

    📦 Dependency updates

    • Update ryuk version to 0.3.4 (#5619) @eddumelendez
    • Combined dependencies PR (#5820, #5816, #5762, #5758, #5757, #5733, #5730, #5672, #5671, #5668, #5587, #5583, #5580) @eddumelendez
    • Update Gradle Wrapper to 7.5.1 (#5676) @github-actions
    • Update Gradle Wrapper to 7.5 (#5598) @github-actions
    Source code(tar.gz)
    Source code(zip)
  • 1.17.3(Jun 29, 2022)

    What's Changed

    🚀 Features & Enhancements

    • modules/clickhouse: JDBC driver name changed, liveness port (#5474) @anavrotski
    • Elasticsearch: Fix startup check for 8.3 and above (#5521) @spinscale
    • Switch toxiproxy default image to ghcr.io and update default tag to 2.4.0 (#5173) @gmunozfe
    • Check admin endpoint instead of metrics for Pulsar WaitStrategy. (#5514) @nahguam
    • [LocalStack] Remove usage of deprecated methods (#5491) @eddumelendez
    • Add clickhouse/clickhouse-server compatibility (#5488) @eddumelendez
    • Use sshd container 1.1.0 (#5486) @jerrinot
    • [HiveMQ] do not delete /opt/hivemq/temp-extensions in startup command (#5509) @YannickWeber
    • Pulsar: add flag to enable transactions and set configuration (#5479) @nicoloboschi
    • Don't ignore sql test query exception, add it as cause exception (#5484) @anatoly0karyakin
    • Get region from env variables or default (#3556) @adrianpozueco
    • Use TestInstances API from JUnit Jupiter (#2719) @tobiasstadler

    ☠️ Deprecations

    • [LocalStack] Deprecate methods using aws sdk v1 (#5489) @eddumelendez

    🐛 Bug Fixes

    • Don't delete images if deleteOnExit is false (#5391) @kiview

    📖 Documentation

    • Added the Bucket4j library to "Who is using Testcontainers?" (#5480) @MaxBartkov
    • Docs: Add Spark ClickHouse Connector use case (#5270) @pan3793
    • Polish examples (#5520) @eddumelendez
    • [LocalStack] Remove usage of deprecated methods (#5491) @eddumelendez
    • Feature template: Fix typo in Alternatives section label (#5505) @daniel-shuy
    • Fix missing link color in docs (#5508) @kiview
    • adds docs cockroach jdbc example (#5100) @cristianbriscaru
    • Remove free disk space check log in example (#5502) @KENNYSOFT
    • Add issue forms (#5490) @eddumelendez
    • Add MariaDB root user password section to docs (#5498) @kiview
    • Add section about MySQL root user password to docs (#5497) @kiview

    🧹 Housekeeping

    • Cleanup japicmp baselines (#5463) @eddumelendez
    • JdbcDatabaseContainer: fix wrong instance call (#5465) @monosoul
    • Add try-with-resources to HttpWaitStrategyTest (#5397) @eddumelendez
    • Apply spotless and checkstyle (#5390) @eddumelendez
    • Add spotless and checkstyle (#5383) @eddumelendez

    📦 Dependency updates

    Click to expand...
    • Bump common-custom-user-data-gradle-plugin from 1.7 to 1.7.2 in /examples (#5495) @dependabot
    • Bump neo4j-java-driver from 4.4.5 to 4.4.6 in /examples (#5468) @dependabot
    • Bump google-cloud-firestore from 3.0.21 to 3.2.0 in /modules/gcloud (#5444) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/azure (#5443) @dependabot
    • Bump slf4j-api from 1.7.32 to 1.7.36 in /examples (#5078) @dependabot
    • Bump gson from 2.8.9 to 2.9.0 in /examples (#5076) @dependabot
    • Bump r2dbc-mssql from 0.8.7.RELEASE to 0.9.0.RELEASE in /modules/mssqlserver (#4983) @dependabot
    • Bump mockito-core from 4.4.0 to 4.6.1 in /modules/junit-jupiter (#5473) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.210 to 1.12.233 in /modules/localstack (#5472) @dependabot
    • Bump google-cloud-datastore from 2.4.0 to 2.7.0 in /modules/gcloud (#5471) @dependabot
    • Bump s3 from 2.17.181 to 2.17.204 in /modules/localstack (#5470) @dependabot
    • Bump common-custom-user-data-gradle-plugin from 1.7 to 1.7.1 in /examples (#5469) @dependabot
    • Bump com.gradle.enterprise.gradle.plugin from 3.10 to 3.10.1 (#5461) @dependabot
    • Bump google-cloud-spanner from 6.20.0 to 6.25.5 in /modules/gcloud (#5455) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/r2dbc (#5454) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/gcloud (#5453) @dependabot
    • Bump google-cloud-firestore from 3.0.21 to 3.2.0 in /modules/gcloud (#5444) @dependabot
    • Bump elasticsearch-rest-client from 7.16.2 to 8.2.2 in /modules/elasticsearch (#5430) @dependabot
    • Bump jedis from 4.2.2 to 4.2.3 in /modules/junit-jupiter (#5426) @dependabot
    • Bump rest-assured from 5.0.1 to 5.1.0 in /modules/vault (#5419) @dependabot
    • Bump kafka-clients from 3.0.0 to 3.2.0 in /modules/kafka (#5372) @dependabot
    • Bump cucumber-junit from 7.2.3 to 7.3.4 in /examples (#5371) @dependabot
    • Bump jedis from 4.2.2 to 4.2.3 in /examples (#5369) @dependabot
    • Bump client-java from 15.0.0 to 15.0.1 in /modules/k3s (#5329) @dependabot
    • Bump mongodb-driver-sync from 4.5.1 to 4.6.0 in /modules/mongodb (#5328) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.6.20 to 1.6.21 in /examples (#5317) @dependabot
    • Bump mysql-connector-java from 8.0.27 to 8.0.29 in /modules/junit-jupiter (#5308) @dependabot
    • Bump mongo-java-driver from 3.12.10 to 3.12.11 in /core (#5291) @dependabot
    • Bump logback-classic from 1.2.10 to 1.2.11 in /modules/hivemq (#5243) @dependabot
    • Bump json from 20211205 to 20220320 in /examples (#5217) @dependabot
    • Bump r2dbc-postgresql from 0.8.11.RELEASE to 0.8.12.RELEASE in /modules/postgresql (#5201) @dependabot
    • Bump awaitility from 4.1.1 to 4.2.0 in /modules/couchbase (#5199) @dependabot
    • Bump slf4j-api from 1.7.35 to 1.7.36 in /core (#5085) @dependabot
    • Bump slf4j-api from 1.7.32 to 1.7.36 in /examples (#5078) @dependabot
    • Bump common-custom-user-data-gradle-plugin from 1.6.5 to 1.7 (#5462) @dependabot
    • Bump com.gradle.enterprise.gradle.plugin from 3.10 to 3.10.1 (#5461) @dependabot
    • Bump hivemq-extension-sdk from 4.8.0 to 4.8.1 in /modules/hivemq (#5459) @dependabot
    • Bump reactor-core from 3.4.17 to 3.4.18 in /modules/r2dbc (#5457) @dependabot
    • Bump google-cloud-bigtable from 2.6.2 to 2.8.0 in /modules/gcloud (#5456) @dependabot
    • Bump google-cloud-spanner from 6.20.0 to 6.25.5 in /modules/gcloud (#5455) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/gcloud (#5453) @dependabot
    • Bump azure-cosmos from 4.29.1 to 4.30.0 in /modules/azure (#5452) @dependabot
    • Bump postgresql from 42.3.4 to 42.3.6 in /modules/cockroachdb (#5450) @dependabot
    • Bump google-cloud-pubsub from 1.116.4 to 1.119.0 in /modules/gcloud (#5449) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/k3s (#5447) @dependabot
    • Bump trino-jdbc from 379 to 382 in /modules/trino (#5446) @dependabot
    • Bump google-cloud-firestore from 3.0.21 to 3.2.0 in /modules/gcloud (#5444) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/rabbitmq (#5442) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/orientdb (#5441) @dependabot
    • Bump release-drafter/release-drafter from 5.19.0 to 5.20.0 (#5440) @dependabot
    • Bump actions/cache from 3.0.2 to 3.0.3 (#5439) @dependabot
    • Bump peter-evans/create-pull-request from 4.0.2 to 4.0.3 (#5438) @dependabot
    • Bump postgresql from 42.3.3 to 42.3.6 in /examples (#5437) @dependabot
    • Bump transport from 7.17.3 to 7.17.4 in /modules/elasticsearch (#5435) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/database-commons (#5436) @dependabot
    • Bump aws-java-sdk-logs from 1.12.169 to 1.12.232 in /modules/localstack (#5434) @dependabot
    • Bump postgresql from 42.3.4 to 42.3.6 in /modules/junit-jupiter (#5433) @dependabot
    • Bump jedis from 4.2.2 to 4.2.3 in /core (#5432) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /core (#5431) @dependabot
    • Bump elasticsearch-rest-client from 7.16.2 to 8.2.2 in /modules/elasticsearch (#5430) @dependabot
    • Bump postgresql from 42.3.1 to 42.3.6 in /modules/spock (#5428) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.210 to 1.12.231 in /modules/localstack (#5427) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/vault (#5425) @dependabot
    • Bump common-custom-user-data-gradle-plugin from 1.6.2 to 1.7 in /examples (#5423) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/junit-jupiter (#5422) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.210 to 1.12.232 in /modules/dynalite (#5421) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.191 to 1.12.231 in /modules/localstack (#5420) @dependabot
    • Bump tomcat-jdbc from 10.0.20 to 10.0.21 in /modules/jdbc (#5417) @dependabot
    • Bump rest-assured from 5.0.1 to 5.1.0 in /modules/vault (#5419) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/neo4j (#5415) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/jdbc (#5410) @dependabot
    • Bump mockito-core from 4.3.1 to 4.6.0 in /core (#5411) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/kafka (#5413) @dependabot
    • Bump postgresql from 42.3.4 to 42.3.6 in /modules/postgresql (#5412) @dependabot
    • Bump assertj-core from 3.22.0 to 3.23.1 in /modules/pulsar (#5414) @dependabot
    • Bump neo4j from 3.5.32 to 3.5.33 in /modules/neo4j (#5408) @dependabot
    • Bump mariadb-java-client from 3.0.3 to 3.0.5 in /modules/mariadb (#5409) @dependabot
    • Bump tomcat-jdbc from 10.0.20 to 10.0.21 in /modules/jdbc-test (#5407) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.17.2(May 19, 2022)

    What's Changed

    While this release had a major focus on stability, we managed to optimize the startup sequence and it should make your tests even faster!

    Here is what it takes to have a Redis up and running with Testcontainers, end-to-end from the test's start to an instance ready to be connected: Before (1.17.1): 2.4s Before (1.17.2): 1.7s 🚀

    And here is just the "initialize Testcontainers" measurements:

    Before (1.17.1): 1102ms Before (1.17.2): 928ms

    How we did it? We noticed that we can cache a couple of Docker responses, plus also removed now obsolete (yet expensive!) disk space check.

    🚀 Features & Enhancements

    • K3sContainer: expose kubeConfig for docker network access (#5097) @johnathana
    • Remove the disk space check (#5381) @bsideup
    • Use GenericContainer in RyukResourceReaper (#5358) @bsideup
    • Allow insecure HTTPS/TLS connection for HttpWaitStrategy (#4951) @reta
    • Read indexServerAddress from Docker's /info (#5347) @bsideup
    • Allow to create exchanges, queues, bindings in the same vhost (#5348) @eddumelendez
    • Test DOCKER_HOST in DockerClientProviderStrategy (#5357) @bsideup
    • Add getConnectionString() for MongoDBContainer (#5271) @mdedetrich
    • Rely on TransportConfig to read DOCKER_HOST env variable for DockerComposeContainer (#5276) @eddumelendez

    🐛 Bug Fixes

    • Reset WebDriver and vncRecordingContainer when Selenium container stops (#5116) @tobiasstadler
    • Synchronize removal of containers from JDBC URL cache (#4598) @edee111
    • Fix deadlock in LocalImagesCache (#5356) @bsideup
    • Elasticsearch: Don't throw exception on missing CA cert file (#5265) @spinscale
    • Fix connection leak in JDBC waitUntilContainerStarted (#5281) @rpygithub

    📖 Documentation

    • Add docs for using Gitlab CI with Docker wormhole executor (#4770) @JurrianFahner
    • Remove "Linux - Travis CI"from docs (#4374) @cac03
    • Add SeaTunnel to who is using testcontainers (#5272) @ruanwenjun
    • Fix docs: use getHost (#5288) @eddumelendez

    🧹 Housekeeping

    • Fix TestcontainersTestDescription filename (#5387) @eddumelendez
    • run core tests in parallel (#5365) @bsideup
    • Correct usage of deprecated method createSubscription() (#5350) @felix-seifert
    • Fix docs: use getHost (#5288) @eddumelendez
    • Add testcontainers/java-team in CODEOWNERS (#5353) @eddumelendez
    • Manage Gradle Enterprise plugins with Dependabot (#5342) @jprinet
    • Use getHost instead of getContainerIpAddress() (#5277) @eddumelendez

    📦 Dependency updates

    • Upgrade lombok to be compatible with java 17 (#5388) @eddumelendez
    • Combined dependencies PR (#5367) @eddumelendez
    • Bump com.gradle.enterprise.gradle.plugin from 3.9 to 3.10 (#5343) @dependabot
    • Use latest version of alpine/socat container image (#5280) @dboreham
    Source code(tar.gz)
    Source code(zip)
  • 1.17.1(Apr 13, 2022)

    What's Changed

    🐛 Bug Fixes

    • Fix StackOverflowError in DockerClientFactory#client (#5262) @bsideup

    📖 Documentation

    • Update Testcontainers branding (#5258) @kiview
    Source code(tar.gz)
    Source code(zip)
  • 1.17.0(Apr 11, 2022)

    What's Changed

    Highlights

    This new version of Testcontainers comes packed with many new features and quality-of-life improvements, so we appropriately bumped the version to 1.17.0.

    🐝 New Module: HiveMQ (#4797) @YannickWeber

    Having started its Open Source life as its own 3rd-party Testcontainers library, we are very happy to welcome HiveMQ into the main repository. Now, using HiveMQ as part of your integration tests is as simple as a couple of lines of Java code:

    
    @Container
    HiveMQContainer hivemq = new HiveMQContainer(DockerImageName.parse("hivemq/hivemq-ce:2021.3"));
    hivemq.start();
    
    Mqtt5BlockingClient client = Mqtt5Client.builder()
        .serverPort(hivemqCe.getMqttPort())
        .serverHost(hivemqCe.getHost())
        .buildBlocking();
    
    client.connect();
    

    Check out the docs to learn more about its many features!

    💀 Ryuk JVM mode (#4959) (#4960) @bsideup

    Many Testcontainers user love the convenience Ryuk brings to Testcontainers: No matter what you do in your integration tests, Ryuk has got you covered and will cleanup all Docker resources created by Testcontainers after your test run is finished.

    But some users operate Testcontainers in environments which do not support our container-based Ryuk implementation. So far their only option was to disable Ryuk alltogether.

    Coming with this release, Testcontainers will now fallback to a JVM based resource-cleanup implementation in case of Ryuk being disabled. While this won't be as robust as the Ryuk container based implementation in all circumstances, it is nevertheless a great addition and acts as a useful compromise.

    🚀 Features & Enhancements

    • Allow to create a container file from a Transferable (#3814) (#3815) @thomasdarimont
    • Elasticsearch: Ensure Elasticsearch 8 works OOTB secure as default (#5099) @spinscale
    • Deperecate getContainerIpAddress (#5247) @kiview
    • Fix ScriptUtils.runInitScript() in hierarchical classloader setup by using TCCL (#5167) @famod
    • [HiveMQ] added tmpFs (#5109) @YannickWeber
    • Replace deprecated checkAndPullImage with RemoteDockerImage (#5148) @bsideup
    • Enable Neo4j labs plugin definition. (#5035) @meistermeier
    • Deprecate getTestHostIpAddress and getContainerIpAddress (#5149) @bsideup
    • Add the session header to every Docker request (#5145) @bsideup
    • Start Ryuk lazily when in the reusable mode (#4938) @bsideup
    • [HiveMQ] replaced MultiLogMessageWaitStrategy.java with WaitAllStrategy (#5093) @YannickWeber
    • #5032 - MS SQL Server disable encrypt by default (#5033) @StefanHufschmidt
    • [Couchbase] Add support for Eventing service (#4953) @tchlyah

    🐛 Bug Fixes

    • Fix incorrect path for RABBITMQ_CONFIG_FILE (#5184) @mdedetrich
    • Update mkdocs to 1.3.0 (#5186) @kiview
    • Do not mount Selenium's SHM on Windows (#5105) @bsideup

    📖 Documentation

    • Improved jitpack dependencies page (#5189) @YannickWeber
    • Update mkdocs to 1.3.0 (#5186) @kiview
    • Mention that Spring Data Neo4j uses Testcontainers in the docs. (#5169) @meistermeier
    • Fix formatting in docs for image override configuration (#5147) @rnorth
    • [docs]Add the used organization Byzer. (#5125) @hellozepp
    • [Neo4j] Include code from tests in docs. (#5120) @meistermeier
    • Polish code samples so that they are easier to copy & paste (#5038) @maciejwalkowiak
    • Upgrade mkdocs (#3443) @rnorth
    • Remove the INCUBATING note from CockroachDB module docs (#4963) @kiview
    • Update docs version to ${GITHUB_REF##*/} (#4932) @github-actions
    • Simplify dependency management for JUnit Jupiter (#4704) @marcphilipp

    🧹 Housekeeping

    • Increase default client ping timeout from 5 to 10 seconds (#5254) @kiview
    • add virtual environment to git ignore (#5156) @jetersen
    • Improve Gradle build cacheability (#5188) @jprinet
    • Remove OkHttp transport (#5113) @bsideup
    • use collapse-after for dependencies category (#5157) @jetersen
    • [HiveMQ] replaced non-ascii single quote with ascii single quote (#5102) @YannickWeber
    • Run tests using shaded dependencies (#5146) @bsideup
    • [HiveMQ] every IT now uses getHost() (#5106) @YannickWeber
    • Fix tests on Windows (#5096) @bsideup
    • Upgrade mkdocs (#3443) @rnorth
    • Remove some dead code from PostgreSQLContainer (#4948) @dajudge
    • Use JDK 1.8 in Azure pipelines (#4942) @kiview

    📦 Dependency updates

    Click to expand...
    • Update Gradle Wrapper to 7.4.2 (#5193) @github-actions
    • Update Gradle Wrapper to 7.4.1 (#5168) @github-actions
    • Update to docker-java 3.2.13 (#5045) @bsideup
    • Update Gradle Wrapper to 7.4 (#5036) @github-actions
    • Upgrade mkdocs (#3443) @rnorth
    • Bump zip4j from 2.9.1 to 2.10.0 in /modules/hivemq (#5242) @dependabot
    • Bump hivemq-extension-sdk from 4.7.4 to 4.7.5 in /modules/hivemq (#5241) @dependabot
    • Bump google-cloud-firestore from 3.0.14 to 3.0.21 in /modules/gcloud (#5239) @dependabot
    • Bump google-cloud-pubsub from 1.115.1 to 1.116.3 in /modules/gcloud (#5238) @dependabot
    • Bump google-cloud-datastore from 2.2.2 to 2.3.0 in /modules/gcloud (#5236) @dependabot
    • Bump reactor-core from 3.4.15 to 3.4.16 in /modules/r2dbc (#5234) @dependabot
    • Bump google-cloud-bigtable from 2.5.2 to 2.6.1 in /modules/gcloud (#5233) @dependabot
    • Bump mongodb-driver-sync from 4.5.0 to 4.5.1 in /modules/mongodb (#5231) @dependabot
    • Bump client-java from 14.0.0 to 15.0.0 in /modules/k3s (#5230) @dependabot
    • Bump trino-jdbc from 369 to 375 in /modules/trino (#5228) @dependabot
    • Bump r2dbc-postgresql from 0.8.11.RELEASE to 0.8.12.RELEASE in /modules/r2dbc (#5227) @dependabot
    • Bump okhttp from 3.14.9 to 4.9.3 in /modules/solr (#5229) @dependabot
    • Bump peter-evans/create-pull-request from 3.12.1 to 4.0.1 (#5226) @dependabot
    • Bump actions/cache from 2.1.7 to 3.0.1 (#5225) @dependabot
    • Bump neo4j-java-driver from 4.4.3 to 4.4.5 in /examples (#5223) @dependabot
    • Bump s3 from 2.17.108 to 2.17.162 in /modules/localstack (#5222) @dependabot
    • Bump aws-java-sdk-logs from 1.12.169 to 1.12.191 in /modules/localstack (#5221) @dependabot
    • Bump awaitility from 4.1.1 to 4.2.0 in /core (#5219) @dependabot
    • Bump logback-classic from 1.2.10 to 1.2.11 in /examples (#5216) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.6.10 to 1.6.20 in /examples (#5215) @dependabot
    • Bump transport from 7.17.1 to 7.17.2 in /modules/elasticsearch (#5214) @dependabot
    • Bump mockito-core from 4.3.1 to 4.4.0 in /modules/junit-jupiter (#5212) @dependabot
    • Bump jedis from 4.1.1 to 4.2.1 in /examples (#5210) @dependabot
    • Bump java-client from 3.2.5 to 3.2.6 in /modules/couchbase (#5209) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.169 to 1.12.191 in /modules/localstack (#5206) @dependabot
    • Bump rest-assured from 4.5.1 to 5.0.0 in /modules/vault (#5207) @dependabot
    • Bump neo4j-java-driver from 4.4.3 to 4.4.5 in /modules/neo4j (#5205) @dependabot
    • Bump elasticsearch-rest-client from 7.16.2 to 8.1.2 in /modules/elasticsearch (#5202) @dependabot
    • Bump awaitility from 4.1.1 to 4.2.0 in /modules/couchbase (#5199) @dependabot
    • Bump tomcat-jdbc from 10.0.16 to 10.0.20 in /modules/jdbc (#5196) @dependabot
    • Bump tomcat-jdbc from 10.0.16 to 10.0.20 in /modules/jdbc-test (#5195) @dependabot
    • Bump actions/checkout from 2 to 3 (#5140) @dependabot
    • Bump google-cloud-firestore from 3.0.11 to 3.0.14 in /modules/gcloud (#5143) @dependabot
    • Bump google-cloud-spanner from 6.17.4 to 6.20.0 in /modules/gcloud (#5142) @dependabot
    • Bump actions/setup-java from 2.5.0 to 3 (#5141) @dependabot
    • Bump actions/checkout from 2 to 3 (#5140) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.150 to 1.12.169 in /modules/dynalite (#5138) @dependabot
    • Bump transport from 7.17.0 to 7.17.1 in /modules/elasticsearch (#5136) @dependabot
    • Bump org.springframework.boot from 2.6.3 to 2.6.4 in /examples (#5137) @dependabot
    • Bump elasticsearch-rest-client from 7.16.2 to 8.0.1 in /modules/elasticsearch (#5135) @dependabot
    • Bump guava from 31.0.1-jre to 31.1-jre in /modules/jdbc-test (#5133) @dependabot
    • Bump aws-java-sdk-logs from 1.12.139 to 1.12.169 in /modules/localstack (#5132) @dependabot
    • Bump neo4j from 3.5.29 to 3.5.31 in /modules/neo4j (#5131) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.150 to 1.12.169 in /modules/localstack (#5130) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.150 to 1.12.169 in /modules/localstack (#5127) @dependabot
    • Bump postgresql from 42.3.2 to 42.3.3 in /examples (#5090) @dependabot
    • Bump google-cloud-datastore from 2.2.2 to 2.2.4 in /modules/gcloud (#5088) @dependabot
    • Bump release-drafter/release-drafter from 5.17.6 to 5.18.1 (#5087) @dependabot
    • Bump amqp-client from 5.14.1 to 5.14.2 in /core (#5080) @dependabot
    • Bump azure-cosmos from 4.24.0 to 4.26.0 in /modules/azure (#5079) @dependabot
    • Bump google-cloud-bigtable from 2.5.2 to 2.5.3 in /modules/gcloud (#5075) @dependabot
    • Bump kubernetes-client from 5.11.0 to 5.12.1 in /modules/k3s (#5071) @dependabot
    • Bump amqp-client from 5.14.1 to 5.14.2 in /modules/rabbitmq (#5070) @dependabot
    • Bump rest-assured from 4.4.0 to 4.5.1 in /modules/vault (#5072) @dependabot
    • Bump postgresql from 42.3.1 to 42.3.3 in /modules/postgresql (#5064) @dependabot
    • Bump postgresql from 42.3.2 to 42.3.3 in /modules/cockroachdb (#5063) @dependabot
    • Bump reactor-core from 3.4.14 to 3.4.15 in /modules/r2dbc (#5065) @dependabot
    • Bump postgresql from 42.3.2 to 42.3.3 in /modules/junit-jupiter (#5059) @dependabot
    • Bump hivemq-extension-sdk from 4.7.3 to 4.7.4 in /modules/hivemq (#5061) @dependabot
    • Bump mongodb-driver-sync from 4.4.1 to 4.5.0 in /modules/mongodb (#5062) @dependabot
    • Bump spock-core from 2.0-groovy-3.0 to 2.1-groovy-3.0 in /modules/spock (#5057) @dependabot
    • Bump google-cloud-datastore from 2.2.2 to 2.2.3 in /modules/gcloud (#5013) @dependabot
    • Bump cucumber-junit from 7.2.2 to 7.2.3 in /examples (#4976) @dependabot
    • Bump mysql-connector-java from 8.0.27 to 8.0.28 in /modules/jdbc-test (#4971) @dependabot
    • Bump mysql-connector-java from 8.0.27 to 8.0.28 in /modules/mysql (#4972) @dependabot
    • Bump google-cloud-bigtable from 2.5.1 to 2.5.2 in /modules/gcloud (#5015) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/k3s (#5012) @dependabot
    • Bump jackson-dataformat-yaml from 2.8.8 to 2.13.1 in /modules/k3s (#5011) @dependabot
    • Bump amqp-client from 5.14.0 to 5.14.1 in /modules/rabbitmq (#5008) @dependabot
    • Bump google-cloud-firestore from 3.0.10 to 3.0.11 in /modules/gcloud (#5006) @dependabot
    • Bump postgresql from 42.3.1 to 42.3.2 in /modules/cockroachdb (#5005) @dependabot
    • Bump trino-jdbc from 367 to 369 in /modules/trino (#5004) @dependabot
    • Bump peter-evans/create-pull-request from 3.12.0 to 3.12.1 (#5003) @dependabot
    • Bump gradle-update/update-gradle-wrapper-action from 1.0.16 to 1.0.17 (#5002) @dependabot
    • Bump release-drafter/release-drafter from 5.15.0 to 5.17.6 (#5001) @dependabot
    • Bump cucumber-java from 7.2.2 to 7.2.3 in /examples (#4999) @dependabot
    • Bump amqp-client from 5.14.0 to 5.14.1 in /core (#4997) @dependabot
    • Bump kafka-clients from 3.0.0 to 3.1.0 in /examples (#4998) @dependabot
    • Bump postgresql from 42.3.1 to 42.3.2 in /examples (#4996) @dependabot
    • Bump mockito-core from 4.2.0 to 4.3.1 in /core (#4995) @dependabot
    • Bump postgresql from 42.3.1 to 42.3.2 in /modules/junit-jupiter (#4994) @dependabot
    • Bump slf4j-api from 1.7.32 to 1.7.35 in /core (#4991) @dependabot
    • Bump org.springframework.boot from 2.6.2 to 2.6.3 in /examples (#4992) @dependabot
    • Bump jedis from 4.0.1 to 4.1.1 in /modules/junit-jupiter (#4990) @dependabot
    • Bump transport from 7.16.2 to 7.17.0 in /modules/elasticsearch (#4988) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.137 to 1.12.150 in /modules/localstack (#4989) @dependabot
    • Bump jedis from 4.0.1 to 4.1.1 in /examples (#4986) @dependabot
    • Bump mockito-core from 4.2.0 to 4.3.1 in /modules/junit-jupiter (#4987) @dependabot
    • Bump mysql-connector-java from 8.0.27 to 8.0.28 in /modules/spock (#4985) @dependabot
    • Bump testcontainers from 1.16.2 to 1.16.3 in /core (#4984) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.137 to 1.12.150 in /modules/dynalite (#4980) @dependabot
    • Bump mariadb-java-client from 2.7.4 to 3.0.3 in /modules/mariadb (#4981) @dependabot
    • Bump neo4j-java-driver from 4.4.2 to 4.4.3 in /modules/neo4j (#4977) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.139 to 1.12.150 in /modules/localstack (#4978) @dependabot
    • Bump cucumber-junit from 7.2.2 to 7.2.3 in /examples (#4976) @dependabot
    • Bump tomcat-jdbc from 10.0.14 to 10.0.16 in /modules/jdbc-test (#4973) @dependabot
    • Bump mysql-connector-java from 8.0.27 to 8.0.28 in /modules/junit-jupiter (#4970) @dependabot
    • Bump tomcat-jdbc from 10.0.14 to 10.0.16 in /modules/jdbc (#4967) @dependabot
    • Bump java-client from 3.2.4 to 3.2.5 in /modules/couchbase (#4966) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 1.16.3(Jan 18, 2022)

    What's Changed

    Highlights

    Testcontainers 1.16.3 includes many changes, but there are two key highlights in this release:

    k3s module (#4582) @rnorth, @kiview

    We've had plenty of feedback from users wanting to use Testcontainers to help test Kubernetes components. In particular, this is useful for people developing Kubernetes controllers/operators, who need something more than just a mocked Kubernetes API. In this release we're bringing the k3s module, which gives you a neat way to spin up the K3S lightweight Kubernetes inside of a container. We believe that k3s hits a sweet spot for ease of use and performance, so is a good option for testing Kubernetes components.

    Now, launching a lightweight single-node Kubernetes cluster within your tests is easy as:

    K3sContainer k3s = new K3sContainer(DockerImageName.parse("rancher/k3s:v1.21.3-k3s1"));
    k3s.start();
    
    String kubeConfigYaml = k3s.getKubeConfigYaml();
    ApiClient client = Config.fromConfig(new StringReader(kubeConfigYaml));
    
    // now use `client` to talk to your cluster!
    

    Check out the docs to find out more!

    Selenium 4 compatibility (#4914) @GannaChernyshova, @tobiasstadler, @kiview, @rnorth

    Selenium 4 was announced a while back, but we needed to make some changes to Testcontainers' Selenium/Webdriver module for compatibility. We're happy to announce that these changes have now been made, so you can now use Selenium 4 with Testcontainers!

    As part of this upgrade we have to drop compatibility with Selenium 2, but believe that this will not have any practical impact.

    🚀 Features & Enhancements

    • [Reusable mode] Don't log about starting container unnecessarily (#4844) @pkubowicz
    • Display Ryuk logs when it fails to start (#4842) @vincz7777
    • [couchbase] Explicitly configure service quotas (and allow customizat… (#4802) @daschl
    • removed hardcoded log level setting on mockserver (#4798) @szymonprz
    • [couchbase] Ignore transient primary index creation error. (#4681) @daschl
    • Execute Docker credential program through shell on Windows (#4763) @mruemeli

    🐛 Bug Fixes

    • change external port check to it can timeout and retry (#4680) @kmcgovern-apixio

    📖 Documentation

    • Add Gradle Enterprise badge in README (#4850) @jprinet
    • Remove references to Atlassian for LocalStack (#4796) @HarshCasper
    • Update sponsors as of Dec 2021 (#4806) @rnorth
    • Use a relative path to the Selenium module (#4700) @bsideup
    • Add link to webdrivers module (#4699) @brunoborges
    • jdbc.md: Fix typo (#4678) @perlun
    • Fix Documentation not displaying properly for 'Docker wormhole pattern' (#4658) @wimdeblauwe

    🧹 Housekeeping

    • Replace jcenter with mavenCentral in all examples (#4931) @kiview
    • Update dependabot rules for new modules (#4864) @rnorth
    • Tweak logging around reusable mode (#4858) @rnorth
    • Add GE remote cache to examples project (#4855) @kiview
    • Increase AzureCI timeout to 120 minutes instead of using the default of 60 minutes (#4854) @kiview
    • Reinstate usage of READ_ONLY_REMOTE_GRADLE_CACHE to avoid wrong cache hits (#4853) @kiview
    • Gradle Enterprise Trial (#4705) @kiview
    • Update GE plugin in examples to 3.6.1 (#4672) @kiview
    • Use key=value format for GRADLE_ENTERPRISE_ACCESS_KEY value (#4671) @kiview
    • Add Gradle Enterprise (#4057) @kiview
    • Use automated PR to update docs version (#4606) @rnorth
    • Add Thundra test summary badge to README (#4604) @rwxdash

    📦 Dependency updates

    Click to expand...
    • Bump actions/cache from 2.1.6 to 2.1.7 (#4757) @dependabot
    • Bump actions/setup-java from 2.3.1 to 2.4.0 (#4756) @dependabot
    • Bump actions/setup-java from 2.4.0 to 2.5.0 (#4832) @dependabot
    • Bump amqp-client from 5.13.1 to 5.14.0 in /core (#4745) @dependabot
    • Bump amqp-client from 5.7.0 to 5.14.0 in /modules/rabbitmq (#4889) @dependabot
    • Bump amqp-client from 5.7.0 to 5.14.0 in /modules/rabbitmq (#4889) @dependabot
    • Bump annotations from 20.0.0 to 23.0.0 in /modules/presto (#4880) @dependabot
    • Bump annotations from 20.0.0 to 23.0.0 in /modules/presto (#4880) @dependabot
    • Bump annotations from 20.0.0 to 23.0.0 in /modules/rabbitmq (#4894) @dependabot
    • Bump annotations from 20.0.0 to 23.0.0 in /modules/rabbitmq (#4894) @dependabot
    • Bump annotations from 20.0.0 to 23.0.0 in /modules/trino (#4892) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /core (#4747) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /examples (#4753) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /modules/jdbc (#4726) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /modules/mysql (#4738) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /modules/nginx (#4733) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /modules/oracle-xe (#4725) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /modules/postgresql (#4719) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /modules/selenium (#4718) @dependabot
    • Bump annotations from 22.0.0 to 23.0.0 in /modules/spock (#4723) @dependabot
    • Bump assertj-core from 3.12.0 to 3.22.0 in /modules/orientdb (#4897) @dependabot
    • Bump assertj-core from 3.12.2 to 3.22.0 in /modules/rabbitmq (#4898) @dependabot
    • Bump assertj-core from 3.14.0 to 3.22.0 in /modules/r2dbc (#4900) @dependabot
    • Bump assertj-core from 3.15.0 to 3.22.0 in /modules/azure (#4870) @dependabot
    • Bump assertj-core from 3.15.0 to 3.22.0 in /modules/azure (#4870) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /core (#4874) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /examples (#4896) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/database-commons (#4867) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/jdbc (#4866) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/junit-jupiter (#4869) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/kafka (#4873) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/neo4j (#4876) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/pulsar (#4893) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/pulsar (#4893) @dependabot
    • Bump assertj-core from 3.21.0 to 3.22.0 in /modules/vault (#4878) @dependabot
    • Bump auto-service from 1.0 to 1.0.1 in /modules/mariadb (#4720) @dependabot
    • Bump auto-service from 1.0 to 1.0.1 in /modules/mssqlserver (#4728) @dependabot
    • Bump auto-service from 1.0 to 1.0.1 in /modules/mysql (#4730) @dependabot
    • Bump auto-service from 1.0 to 1.0.1 in /modules/postgresql (#4740) @dependabot
    • Bump auto-service from 1.0-rc6 to 1.0.1 in /modules/r2dbc (#4909) @dependabot
    • Bump awaitility from 4.1.0 to 4.1.1 in /core (#4640) @dependabot
    • Bump awaitility from 4.1.0 to 4.1.1 in /modules/couchbase (#4622) @dependabot
    • Bump awaitility from 4.1.0 to 4.1.1 in /modules/couchbase (#4622) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.100 to 1.12.122 in /modules/dynalite (#4734) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.122 to 1.12.131 in /modules/dynalite (#4820) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.131 to 1.12.137 in /modules/dynalite (#4871) @dependabot
    • Bump aws-java-sdk-dynamodb from 1.12.60 to 1.12.100 in /modules/dynalite (#4621) @dependabot
    • Bump aws-java-sdk-logs from 1.12.119 to 1.12.122 in /modules/localstack (#4750) @dependabot
    • Bump aws-java-sdk-logs from 1.12.122 to 1.12.132 in /modules/localstack (#4849) @dependabot
    • Bump aws-java-sdk-logs from 1.12.132 to 1.12.139 in /modules/localstack (#4919) @dependabot
    • Bump aws-java-sdk-logs from 1.12.132 to 1.12.139 in /modules/localstack (#4919) @dependabot
    • Bump aws-java-sdk-logs from 1.12.60 to 1.12.100 in /modules/localstack (#4641) @dependabot
    • Bump aws-java-sdk-logs from 1.12.60 to 1.12.119 in /modules/localstack (#4710) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.100 to 1.12.122 in /modules/localstack (#4746) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.122 to 1.12.131 in /modules/localstack (#4827) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.131 to 1.12.137 in /modules/localstack (#4904) @dependabot
    • Bump aws-java-sdk-s3 from 1.12.80 to 1.12.100 in /modules/localstack (#4618) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.100 to 1.12.122 in /modules/localstack (#4735) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.100 to 1.12.124 in /modules/localstack (#4766) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.124 to 1.12.131 in /modules/localstack (#4825) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.131 to 1.12.137 in /modules/localstack (#4895) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.131 to 1.12.139 in /modules/localstack (#4920) @dependabot
    • Bump aws-java-sdk-sqs from 1.12.82 to 1.12.100 in /modules/localstack (#4633) @dependabot
    • Bump azure-cosmos from 4.16.0 to 4.24.0 in /modules/azure (#4877) @dependabot
    • Bump clickhouse-jdbc from 0.3.1-patch to 0.3.2 in /modules/clickhouse (#4813) @dependabot
    • Bump com.gradle.enterprise.gradle.plugin from 3.7.2 to 3.8 in /examples (#4836) @dependabot
    • Bump cucumber-java from 6.11.0 to 7.1.0 in /examples (#4709) @dependabot
    • Bump cucumber-java from 7.1.0 to 7.2.2 in /examples (#4907) @dependabot
    • Bump cucumber-java from 7.1.0 to 7.2.2 in /examples (#4907) @dependabot
    • Bump cucumber-junit from 6.11.0 to 7.0.0 in /examples (#4650) @dependabot
    • Bump cucumber-junit from 7.0.0 to 7.1.0 in /examples (#4748) @dependabot
    • Bump cucumber-junit from 7.1.0 to 7.2.2 in /examples (#4911) @dependabot
    • Bump elasticsearch-rest-client from 7.15.0 to 7.15.1 in /modules/elasticsearch (#4625) @dependabot
    • Bump elasticsearch-rest-client from 7.15.0 to 7.15.2 in /modules/elasticsearch (#4707) @dependabot
    • Bump elasticsearch-rest-client from 7.15.2 to 7.16.2 in /modules/elasticsearch (#4823) @dependabot
    • Bump google-cloud-bigtable from 2.4.0 to 2.5.1 in /modules/gcloud (#4879) @dependabot
    • Bump google-cloud-bigtable from 2.4.0 to 2.5.1 in /modules/gcloud (#4879) @dependabot
    • Bump google-cloud-datastore from 2.2.1 to 2.2.2 in /modules/gcloud (#4872) @dependabot
    • Bump google-cloud-firestore from 3.0.9 to 3.0.10 in /modules/gcloud (#4875) @dependabot
    • Bump google-cloud-pubsub from 1.115.0 to 1.115.1 in /modules/gcloud (#4890) @dependabot
    • Bump google-cloud-spanner from 6.17.3 to 6.17.4 in /modules/gcloud (#4901) @dependabot
    • Bump gradle-update/update-gradle-wrapper-action from 1.0.15 to 1.0.16 (#4829) @dependabot
    • Bump gson from 2.8.8 to 2.8.9 in /examples (#4651) @dependabot
    • Bump java-client from 3.2.1 to 3.2.2 in /modules/couchbase (#4636) @dependabot
    • Bump java-client from 3.2.2 to 3.2.3 in /modules/couchbase (#4724) @dependabot
    • Bump java-client from 3.2.3 to 3.2.4 in /modules/couchbase (#4815) @dependabot
    • Bump jcc from 11.5.0.0 to 11.5.7.0 in /modules/db2 (#4865) @dependabot
    • Bump jedis from 3.0.1 to 4.0.1 in /modules/toxiproxy (#4828) @dependabot
    • Bump jedis from 3.7.0 to 4.0.1 in /core (#4822) @dependabot
    • Bump jedis from 3.7.0 to 4.0.1 in /examples (#4835) @dependabot
    • Bump jedis from 3.7.0 to 4.0.1 in /modules/junit-jupiter (#4814) @dependabot
    • Rollback jedis to 3.0.1 (#4852) @kiview
    • Bump json from 20210307 to 20211205 in /examples (#4838) @dependabot
    • Bump junit-jupiter-api from 5.8.1 to 5.8.2 in /modules/junit-jupiter (#4722) @dependabot
    • Bump junit-jupiter-engine from 5.8.1 to 5.8.2 in /modules/junit-jupiter (#4743) @dependabot
    • Bump junit-jupiter-params from 5.8.1 to 5.8.2 in /modules/junit-jupiter (#4742) @dependabot
    • Bump logback-classic from 1.2.6 to 1.2.7 in /examples (#4754) @dependabot
    • Bump logback-classic from 1.2.7 to 1.2.10 in /examples (#4831) @dependabot
    • Bump lombok from 1.18.20 to 1.18.22 in /examples (#4649) @dependabot
    • Bump mkdocs from 1.0.4 to 1.2.3 (#4771) @dependabot
    • Bump mockito-core from 3.12.4 to 4.0.0 in /core (#4632) @dependabot
    • Bump mockito-core from 3.12.4 to 4.1.0 in /modules/junit-jupiter (#4706) @dependabot
    • Bump mockito-core from 4.0.0 to 4.1.0 in /core (#4731) @dependabot
    • Bump mockito-core from 4.1.0 to 4.2.0 in /core (#4819) @dependabot
    • Bump mockito-core from 4.1.0 to 4.2.0 in /modules/junit-jupiter (#4821) @dependabot
    • Bump mongodb-driver-sync from 4.0.2 to 4.4.1 in /modules/mongodb (#4888) @dependabot
    • Bump mssql-jdbc from 9.4.0.jre8 to 9.5.0.jre8-preview in /modules/mssqlserver (#4739) @dependabot
    • Bump mysql-connector-java from 8.0.26 to 8.0.27 in /modules/jdbc-test (#4628) @dependabot
    • Bump mysql-connector-java from 8.0.26 to 8.0.27 in /modules/junit-jupiter (#4630) @dependabot
    • Bump mysql-connector-java from 8.0.26 to 8.0.27 in /modules/junit-jupiter (#4630) @dependabot
    • Bump mysql-connector-java from 8.0.26 to 8.0.27 in /modules/mysql (#4617) @dependabot
    • Bump mysql-connector-java from 8.0.26 to 8.0.27 in /modules/spock (#4623) @dependabot
    • Bump neo4j from 3.5.9 to 3.5.29 in /modules/neo4j (#4616) @dependabot
    • Bump okhttp from 4.9.2 to 4.9.3 in /examples (#4749) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.5.31 to 1.6.0 in /examples (#4759) @dependabot
    • Bump org.jetbrains.kotlin.jvm from 1.6.0 to 1.6.10 in /examples (#4839) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.5.31 to 1.6.0 in /examples (#4737) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.5.31 to 1.6.0 in /examples (#4737) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.6.0 to 1.6.10 in /examples (#4833) @dependabot
    • Bump org.jetbrains.kotlin.plugin.spring from 1.6.0 to 1.6.10 in /examples (#4833) @dependabot
    • Bump org.springframework.boot from 2.5.5 to 2.5.6 in /examples (#4653) @dependabot
    • Bump org.springframework.boot from 2.5.6 to 2.6.1 in /examples (#4752) @dependabot
    • Bump org.springframework.boot from 2.5.6 to 2.6.1 in /examples (#4752) @dependabot
    • Bump org.springframework.boot from 2.6.1 to 2.6.2 in /examples (#4837) @dependabot
    • Bump org.springframework.boot from 2.6.1 to 2.6.2 in /examples (#4837) @dependabot
    • Bump peter-evans/create-pull-request from 3.11.0 to 3.12.0 (#4834) @dependabot
    • Bump peter-evans/create-pull-request from 3c3d696d5b8aa2eb0e70f76c251e4b149122acf1 to 3.11.0 (#4755) @dependabot
    • Bump postgresql from 42.2.12 to 42.3.1 in /modules/cockroachdb (#4868) @dependabot
    • Bump postgresql from 42.2.24 to 42.3.1 in /examples (#4648) @dependabot
    • Bump postgresql from 42.2.24 to 42.3.1 in /modules/junit-jupiter (#4643) @dependabot
    • Bump postgresql from 42.2.24 to 42.3.1 in /modules/postgresql (#4620) @dependabot
    • Bump postgresql from 42.2.24 to 42.3.1 in /modules/spock (#4629) @dependabot
    • Bump presto-jdbc from 331 to 350 in /modules/presto (#4887) @dependabot
    • Bump pulsar-client from 2.7.2 to 2.7.3 in /modules/pulsar (#4627) @dependabot
    • Bump pulsar-client from 2.7.3 to 2.7.4 in /modules/pulsar (#4902) @dependabot
    • Bump pulsar-client-admin from 2.7.2 to 2.7.3 in /modules/pulsar (#4638) @dependabot
    • Bump pulsar-client-admin from 2.7.3 to 2.7.4 in /modules/pulsar (#4882) @dependabot
    • Bump r2dbc-postgresql from 0.8.1.RELEASE to 0.8.11.RELEASE in /modules/r2dbc (#4921) @dependabot
    • Bump r2dbc-postgresql from 0.8.8.RELEASE to 0.8.11.RELEASE in /modules/postgresql (#4918) @dependabot
    • Bump reactor-core from 3.3.4.RELEASE to 3.4.14 in /modules/r2dbc (#4883) @dependabot
    • Bump s3 from 2.17.102 to 2.17.108 in /modules/localstack (#4908) @dependabot
    • Bump s3 from 2.17.52 to 2.17.72 in /modules/localstack (#4646) @dependabot
    • Bump s3 from 2.17.72 to 2.17.102 in /modules/localstack (#4824) @dependabot
    • Bump snakeyaml from 1.29 to 1.30 in /core (#4826) @dependabot
    • Bump solr-solrj from 8.10.0 to 8.10.1 in /examples (#4644) @dependabot
    • Bump solr-solrj from 8.10.1 to 8.11.1 in /examples (#4830) @dependabot
    • Bump solr-solrj from 8.3.0 to 8.11.1 in /modules/solr (#4906) @dependabot
    • Bump testcontainers from 1.16.0 to 1.16.2 in /core (#4619) @dependabot
    • Bump testng from 7.4.0 to 7.5 in /examples (#4899) @dependabot
    • Bump tomcat-jdbc from 10.0.12 to 10.0.13 in /modules/jdbc (#4736) @dependabot
    • Bump tomcat-jdbc from 10.0.12 to 10.0.13 in /modules/jdbc-test (#4721) @dependabot
    • Bump tomcat-jdbc from 10.0.12 to 10.0.14 in /modules/jdbc (#4775) @dependabot
    • Bump tomcat-jdbc from 10.0.13 to 10.0.14 in /modules/jdbc-test (#4812) @dependabot
    • Bump toxiproxy-java from 2.1.4 to 2.1.5 in /modules/toxiproxy (#4654) @dependabot
    • Bump transport from 7.15.0 to 7.15.1 in /modules/elasticsearch (#4637) @dependabot
    • Bump transport from 7.15.1 to 7.15.2 in /modules/elasticsearch (#4727) @dependabot
    • Bump transport from 7.15.2 to 7.16.2 in /modules/elasticsearch (#4818) @dependabot
    • Bump transport from 7.15.2 to 7.16.2 in /modules/elasticsearch (#4818) @dependabot
    • Bump trino-jdbc from 352 to 367 in /modules/trino (#4885) @dependabot
    • Update Gradle Wrapper to 7.3.3 (#4800) @github-actions
    • Update Gradle Wrapper to 7.3.1 (#4761) @github-actions
    • Bump up Gradle plugin dependencies (#4926) @jprinet
    • Fixes #4856 - update gCloud dependencies (#4857) @ddobrin
    • Upgrade Neo4j server and driver dependencies. (#4789) @meistermeier
    • Use jackson 2.8.8 in k3s module (#4928) @kiview
    Source code(tar.gz)
    Source code(zip)
  • 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)
Run Selenium 4 tests with JUnit on LambdaTest cloud.

Run Selenium 4 Tests With JUnit On LambdaTest Blog ⋅ Docs ⋅ Learning Hub ⋅ Newsletter ⋅ Certifications ⋅ YouTube       Learn how to use JUnit framewor

null 11 Jul 11, 2022
A sample repo to help you handle basic auth for automation test in Java-selenium on LambdaTest. Run your Java Selenium tests on LambdaTest platform.

How to handle basic auth for automation test in Java-selenium on LambdaTest Prerequisites Install and set environment variable for java. Windows - htt

null 12 Jul 13, 2022
A sample repo to help you clear browser cache with Selenium 4 Java on LambdaTest cloud. Run your Java Selenium tests on LambdaTest platform.

How to clear browser cache with Selenium 4 Java on LambdaTest cloud Prerequisites Install and set environment variable for java. Windows - https://www

null 12 Jul 13, 2022
A sample repo to help you handle cookies for automation test in Java-selenium on LambdaTest. Run your Java Selenium tests on LambdaTest platform.

How to handle cookies for automation test in Java-selenium on LambdaTest Prerequisites Install and set environment variable for java. Windows - https:

null 13 Jul 13, 2022
A sample repo to help you set geolocation for automation test in Java-selenium on LambdaTest. Run your Java Selenium tests on LambdaTest platform.

How to set geolocation for automation test in Java-selenium on LambdaTest Prerequisites Install and set environment variable for java. Windows - https

null 12 Jul 13, 2022
A sample repo to help you capture JavaScript exception for automation test in Java-selenium on LambdaTest. Run your Java Selenium tests on LambdaTest platform.

How to capture JavaScript exception for automation test in Java-selenium on LambdaTest Prerequisites Install and set environment variable for java. Wi

null 12 Jul 13, 2022
A sample repo to help you find an element by text for automation test in Java-selenium on LambdaTest. Run your Java Selenium tests on LambdaTest platform.

How to find an element by text for automation test in Java-selenium on LambdaTest Prerequisites Install and set environment variable for java. Windows

null 12 Jul 13, 2022
A sample repo to help you emulate network conditions in Java-selenium automation test on LambdaTest. Run your Java Selenium tests on LambdaTest platform.

How to emulate network conditions in Java-selenium automation test on LambdaTest Prerequisites Install and set environment variable for java. Windows

null 12 Jul 13, 2022
Intercept network request by running Selenium tests with JUnit on LambdaTest cloud.

Run Selenium 4 Tests With JUnit On LambdaTest Blog ⋅ Docs ⋅ Learning Hub ⋅ Newsletter ⋅ Certifications ⋅ YouTube       Learn how to use JUnit framewor

null 11 Jul 11, 2022
Emulate geolocation by running Selenium tests with JUnit on LambdaTest cloud.

Run Selenium 4 Tests With JUnit On LambdaTest Blog ⋅ Docs ⋅ Learning Hub ⋅ Newsletter ⋅ Certifications ⋅ YouTube       Learn how to use JUnit framewor

null 11 Jul 11, 2022
Check performance metrics by running Selenium 4 tests with JUnit on LambdaTest cloud.

Run Selenium 4 Tests With JUnit On LambdaTest Blog ⋅ Docs ⋅ Learning Hub ⋅ Newsletter ⋅ Certifications ⋅ YouTube       Learn how to use JUnit framewor

null 11 Jul 11, 2022
Clear browser cache by running Selenium tests with JUnit on LambdaTest cloud.

Run Selenium Tests With JUnit On LambdaTest (Browser Cache Clearing Example) Blog ⋅ Docs ⋅ Learning Hub ⋅ Newsletter ⋅ Certifications ⋅ YouTube      

null 16 Jul 11, 2022
A sample repo to help you capture JavaScript exception for automation test in Java-TestNG on LambdaTest. Run Selenium tests with TestNG on LambdaTest platform.

How to capture JavaScript exception for automation test in Java-TestNG on LambdaTest Environment Setup Global Dependencies Install Maven Or Install Ma

null 11 Jul 13, 2022
A sample repo to help you use relative locators for automation test in Java-TestNG on LambdaTest. Run Selenium tests with TestNG on LambdaTest platform.

How to use relative locators for automation test in Java-TestNG on LambdaTest Environment Setup Global Dependencies Install Maven Or Install Maven wit

null 11 Jul 13, 2022
A sample repo to help you use CDP console in Java-TestNG automation test on LambdaTest. Run Selenium tests with TestNG on LambdaTest platform.

How to use CDP console in Java-TestNG automation test on LambdaTest Environment Setup Global Dependencies Install Maven Or Install Maven with Homebrew

null 11 Jul 13, 2022
A sample repo to help you capture performance logs in Java-TestNG using CDP on LambdaTest. Run Selenium tests with TestNG on LambdaTest platform.

How to capture performance logs in Java-TestNG using CDP on LambdaTest Environment Setup Global Dependencies Install Maven Or Install Maven with Homeb

null 12 Jul 13, 2022
A sample repo to help you intercept network with Java-TestNG on LambdaTest cloud. Run Selenium tests with TestNG on LambdaTest platform.

How to intercept network with Java-TestNG on LambdaTest cloud Environment Setup Global Dependencies Install Maven Or Install Maven with Homebrew (Easi

null 12 Oct 23, 2022
A sample repo to help you set geolocation for automation test in Java-TestNG on LambdaTest. Run Selenium tests with TestNG on LambdaTest platform.

How to set geolocation for automation test in Java-TestNG on LambdaTest Environment Setup Global Dependencies Install Maven Or Install Maven with Home

null 12 Jul 13, 2022
A sample repo to help you emulate network control using CDP in Java-TestNG automation test on LambdaTest. Run Selenium tests with TestNG on LambdaTest platform.

How to emulate network control using CDP in Java-TestNG automation test on LambdaTest Environment Setup Global Dependencies Install Maven Or Install M

null 12 Oct 23, 2022