From 692ee29d34d363ab18b77b3e0fc9400d805e68ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9E=84=EC=84=B8=ED=98=81?= <164876765+sehyuk080101@users.noreply.github.com> Date: Thu, 17 Jul 2025 06:22:21 +0900 Subject: [PATCH 01/17] Fix typo 'deamon' to 'daemon' (#2476) --- circle.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.sh b/circle.sh index c84ca3fe6..b5b7cdbb0 100755 --- a/circle.sh +++ b/circle.sh @@ -6,7 +6,7 @@ case "$1" in mkdir .docker cp $CIRCLE_PROJECT_REPONAME/etc/certs/* .docker - # configure docker deamon to use SSL and provide the path to the certificates + # configure docker daemon to use SSL and provide the path to the certificates docker_opts='DOCKER_OPTS="$DOCKER_OPTS -H tcp://127.0.0.1:2376 --tlsverify --tlscacert='$HOME'/.docker/ca.pem --tlscert='$HOME'/.docker/server-cert.pem --tlskey='$HOME'/.docker/server-key.pem"' sudo sh -c "echo '$docker_opts' >> /etc/default/docker" From 8762fe8616320f4f68802757af41c60088ccae48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Jul 2025 15:22:41 -0600 Subject: [PATCH 02/17] Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 (#2478) Bumps org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-version: 3.18.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6cefe8d3b..3ea1afce3 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ 4.5.12 1.27.1 2.19.0 - 3.17.0 + 3.18.0 1.7.30 1.81 From 64324e194d9c388521f4812a382f5315e403cb7d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Jul 2025 15:22:53 -0600 Subject: [PATCH 03/17] Bump netty.version from 4.2.2.Final to 4.2.3.Final (#2477) Bumps `netty.version` from 4.2.2.Final to 4.2.3.Final. Updates `io.netty:netty-codec-http` from 4.2.2.Final to 4.2.3.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.2.Final...netty-4.2.3.Final) Updates `io.netty:netty-handler` from 4.2.2.Final to 4.2.3.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.2.Final...netty-4.2.3.Final) Updates `io.netty:netty-handler-proxy` from 4.2.2.Final to 4.2.3.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.2.Final...netty-4.2.3.Final) Updates `io.netty:netty-transport-native-epoll` from 4.2.2.Final to 4.2.3.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.2.Final...netty-4.2.3.Final) Updates `io.netty:netty-transport-native-kqueue` from 4.2.2.Final to 4.2.3.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.2.Final...netty-4.2.3.Final) --- updated-dependencies: - dependency-name: io.netty:netty-codec-http dependency-version: 4.2.3.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-version: 4.2.3.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-version: 4.2.3.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-native-epoll dependency-version: 4.2.3.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-native-kqueue dependency-version: 4.2.3.Final dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3ea1afce3..d3eab7db7 100644 --- a/pom.xml +++ b/pom.xml @@ -71,7 +71,7 @@ 1.2.3 - 4.2.2.Final + 4.2.3.Final 2.2 1.8 2.3.3 From b5597dde3f00ee2ee32b1c137c04b1dfedf184bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Jul 2025 15:23:14 -0600 Subject: [PATCH 04/17] Bump org.junit.jupiter:junit-jupiter from 5.13.2 to 5.13.3 (#2469) Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) from 5.13.2 to 5.13.3. - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter dependency-version: 5.13.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docker-java-api/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-java-api/pom.xml b/docker-java-api/pom.xml index 0c9cde9ba..c5da3a385 100644 --- a/docker-java-api/pom.xml +++ b/docker-java-api/pom.xml @@ -50,7 +50,7 @@ org.junit.jupiter junit-jupiter - 5.13.2 + 5.13.3 test From a187d8274f452c14a14b952444005ca76d081527 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 10:42:43 -0600 Subject: [PATCH 05/17] Bump org.junit.jupiter:junit-jupiter from 5.13.3 to 5.13.4 (#2482) Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) from 5.13.3 to 5.13.4. - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.3...r5.13.4) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter dependency-version: 5.13.4 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docker-java-api/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-java-api/pom.xml b/docker-java-api/pom.xml index c5da3a385..aafe5cde0 100644 --- a/docker-java-api/pom.xml +++ b/docker-java-api/pom.xml @@ -50,7 +50,7 @@ org.junit.jupiter junit-jupiter - 5.13.3 + 5.13.4 test From 3d64d8d845f043eba4aa58448ec4c25fc757f2c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 10:43:43 -0600 Subject: [PATCH 06/17] Bump commons-io:commons-io from 2.19.0 to 2.20.0 (#2480) Bumps [commons-io:commons-io](https://github.com/apache/commons-io) from 2.19.0 to 2.20.0. - [Changelog](https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt) - [Commits](https://github.com/apache/commons-io/compare/rel/commons-io-2.19.0...rel/commons-io-2.20.0) --- updated-dependencies: - dependency-name: commons-io:commons-io dependency-version: 2.20.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d3eab7db7..df34bd07a 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ 2.18.4 4.5.12 1.27.1 - 2.19.0 + 2.20.0 3.18.0 1.7.30 From af2a9472d4f4bc73a05adf27d111fa92762b398d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Wed, 30 Jul 2025 20:41:48 -0600 Subject: [PATCH 07/17] Revert "Ignore jackson minor version updates" This reverts commit b1d9e9155257d848b8d790a68ed407d4a8233d45. --- .github/dependabot.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f0541701a..d301147be 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,6 +7,3 @@ updates: day: tuesday open-pull-requests-limit: 99 rebase-strategy: disabled - ignore: - - dependency-name: "com.fasterxml.jackson.core:*" - update-types: [ "version-update:semver-minor" ] From 9c40b40d59526981ee89c0043f5820402a0b67a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Jul 2025 10:13:10 -0600 Subject: [PATCH 08/17] Bump jackson.version from 2.18.4 to 2.19.2 (#2485) Bumps `jackson.version` from 2.18.4 to 2.19.2. Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.18.4 to 2.19.2 - [Commits](https://github.com/FasterXML/jackson/commits) Updates `com.fasterxml.jackson.core:jackson-databind` from 2.18.4 to 2.19.2 - [Commits](https://github.com/FasterXML/jackson/commits) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-annotations dependency-version: 2.19.2 dependency-type: direct:development update-type: version-update:semver-minor - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-version: 2.19.2 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docker-java/pom.xml | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker-java/pom.xml b/docker-java/pom.xml index f72d1d6c2..f1cc09f64 100644 --- a/docker-java/pom.xml +++ b/docker-java/pom.xml @@ -125,16 +125,16 @@ com.fasterxml.jackson.core jackson-databind - - 2.18.4 + + 2.19.2 test com.fasterxml.jackson.core jackson-annotations - - 2.18.4 + + 2.19.2 test diff --git a/pom.xml b/pom.xml index df34bd07a..9122d5bda 100644 --- a/pom.xml +++ b/pom.xml @@ -58,7 +58,7 @@ 1.8 2.30.1 - 2.18.4 + 2.19.2 4.5.12 1.27.1 2.20.0 From 464c112003eb1b7e0d42aac8fbfb3af038ba18b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Tue, 19 Aug 2025 12:20:11 -0600 Subject: [PATCH 09/17] Ignore major update for jersey --- .github/dependabot.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d301147be..43fe26c4d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,3 +7,10 @@ updates: day: tuesday open-pull-requests-limit: 99 rebase-strategy: disabled + ignore: + - dependency-name: "org.glassfish.jersey.connectors:jersey-apache-connector" + update-types: [ "version-update:semver-major" ] + - dependency-name: "org.glassfish.jersey.core:jersey-client" + update-types: [ "version-update:semver-major" ] + - dependency-name: "org.glassfish.jersey.inject:jersey-hk2" + update-types: [ "version-update:semver-major" ] From 39743d1b633f79e882c0ab994f3cc6be389efa8c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 12:25:39 -0600 Subject: [PATCH 10/17] Bump org.assertj:assertj-core from 3.27.3 to 3.27.4 (#2489) Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.27.3 to 3.27.4. - [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.27.3...assertj-build-3.27.4) --- updated-dependencies: - dependency-name: org.assertj:assertj-core dependency-version: 3.27.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docker-java-transport-tck/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-java-transport-tck/pom.xml b/docker-java-transport-tck/pom.xml index 654ad17b8..69d40cc3c 100644 --- a/docker-java-transport-tck/pom.xml +++ b/docker-java-transport-tck/pom.xml @@ -34,7 +34,7 @@ org.assertj assertj-core - 3.27.3 + 3.27.4 From 718fc382cb1923ce434c4f77c927cd6806f45a7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Tue, 19 Aug 2025 15:17:25 -0600 Subject: [PATCH 11/17] Add cache for maven --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5d6f8d370..d7b105d1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,6 +22,7 @@ jobs: with: java-version: ${{matrix.javaVersion}} distribution: temurin + cache: maven - name: Configure Docker id: setup_docker uses: docker/setup-docker-action@v4 @@ -41,6 +42,7 @@ jobs: with: java-version: 8 distribution: temurin + cache: maven - name: Configure Docker id: setup_docker uses: docker/setup-docker-action@v4 From 95d0fa703bf81fb20648a794e31b410216e6d5be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Tue, 19 Aug 2025 15:21:33 -0600 Subject: [PATCH 12/17] Switch dependabot to daily --- .github/dependabot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 43fe26c4d..9bcef2d88 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,7 +4,7 @@ updates: directory: "/" schedule: interval: weekly - day: tuesday + day: monday open-pull-requests-limit: 99 rebase-strategy: disabled ignore: From 9165f4191c5c52fce24c57665fd8007f4d902605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Tue, 19 Aug 2025 15:25:48 -0600 Subject: [PATCH 13/17] Update name-template in release-drafter --- .github/release-drafter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index d03b3f5f5..f570cce43 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,5 +1,5 @@ tag-template: $NEXT_PATCH_VERSION -name-template: '$NEXT_PATCH_VERSION 🌈' +name-template: '$NEXT_PATCH_VERSION' categories: - title: 'πŸš€ Features' labels: From dfe1866d956f64fd4b91834f9b09ee973ac1f270 Mon Sep 17 00:00:00 2001 From: Alexander Koshevoy <11692026+tejksat@users.noreply.github.com> Date: Tue, 19 Aug 2025 23:53:58 +0200 Subject: [PATCH 14/17] Add support for container wait conditions (#2487) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Expose the `condition` query parameter (added in Docker Engine API v1.30) on `WaitContainerCmd`. When the parameter is omitted, we keep the daemon’s default `not-running` behaviour. Practical implications ---------------------- * **create β†’ wait (no condition) β†’ start** Calling `wait` right after `create` but **before** `start` returns immediately with whatever exit-code the daemon reports for a container that has never run (typically `0`). In other words, you learn nothing about the future process. * **create β†’ start β†’ wait (no condition)** For short-lived containers started with `--rm`, the container may be auto-removed before the client manages to issue `wait`, resulting in a *"container not found"* error. * **create β†’ wait(condition=removed) β†’ start** Passing the new `removed` condition eliminates both races: the wait call blocks until the container has exited *and* been removed, reliably yielding the actual exit code even for `--rm` containers. --- .../api/command/WaitContainerCmd.java | 18 ++++- .../api/model/WaitContainerCondition.java | 26 ++++++ .../core/command/WaitContainerCmdImpl.java | 17 ++++ .../core/exec/WaitContainerCmdExec.java | 6 ++ .../dockerjava/cmd/WaitContainerCmdIT.java | 80 +++++++++++++++++++ 5 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitContainerCondition.java diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/WaitContainerCmd.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/WaitContainerCmd.java index 3117cf7e4..7b910cd69 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/WaitContainerCmd.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/WaitContainerCmd.java @@ -2,9 +2,11 @@ import javax.annotation.CheckForNull; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import com.github.dockerjava.api.async.ResultCallback; import com.github.dockerjava.api.exception.NotFoundException; +import com.github.dockerjava.api.model.WaitContainerCondition; import com.github.dockerjava.api.model.WaitResponse; /** @@ -20,8 +22,20 @@ public interface WaitContainerCmd extends AsyncDockerCmd> T exec(T resultCallback); diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitContainerCondition.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitContainerCondition.java new file mode 100644 index 000000000..8af0efa35 --- /dev/null +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitContainerCondition.java @@ -0,0 +1,26 @@ +package com.github.dockerjava.api.model; + +import javax.annotation.Nonnull; + +/** + * Docker Engine API wait conditions (added in v1.30). + * + * @since {@link RemoteApiVersion#VERSION_1_30} + */ +public enum WaitContainerCondition { + NOT_RUNNING("not-running"), + NEXT_EXIT("next-exit"), + REMOVED("removed"); + + @Nonnull + private final String value; + + WaitContainerCondition(@Nonnull String value) { + this.value = value; + } + + @Nonnull + public String getValue() { + return value; + } +} diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/command/WaitContainerCmdImpl.java b/docker-java-core/src/main/java/com/github/dockerjava/core/command/WaitContainerCmdImpl.java index 91b2255bc..b627e2ccd 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/command/WaitContainerCmdImpl.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/command/WaitContainerCmdImpl.java @@ -2,7 +2,10 @@ import java.util.Objects; +import javax.annotation.Nullable; + import com.github.dockerjava.api.command.WaitContainerCmd; +import com.github.dockerjava.api.model.WaitContainerCondition; import com.github.dockerjava.api.model.WaitResponse; /** @@ -15,6 +18,8 @@ public class WaitContainerCmdImpl extends AbstrAsyncDockerCmd r WebTarget webTarget = getBaseResource().path("/containers/{id}/wait").resolveTemplate("id", command.getContainerId()); + WaitContainerCondition condition = command.getCondition(); + if (condition != null) { + webTarget = webTarget.queryParam("condition", condition.getValue()); + } + LOGGER.trace("POST: {}", webTarget); webTarget.request().accept(MediaType.APPLICATION_JSON).post((Object) null, new TypeReference() { diff --git a/docker-java/src/test/java/com/github/dockerjava/cmd/WaitContainerCmdIT.java b/docker-java/src/test/java/com/github/dockerjava/cmd/WaitContainerCmdIT.java index e2ad2a643..3a39b3eea 100644 --- a/docker-java/src/test/java/com/github/dockerjava/cmd/WaitContainerCmdIT.java +++ b/docker-java/src/test/java/com/github/dockerjava/cmd/WaitContainerCmdIT.java @@ -8,18 +8,25 @@ import com.github.dockerjava.api.exception.DockerClientException; import com.github.dockerjava.api.exception.DockerException; import com.github.dockerjava.api.exception.NotFoundException; +import com.github.dockerjava.api.model.WaitContainerCondition; import com.github.dockerjava.api.model.WaitResponse; +import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; +import static com.github.dockerjava.api.model.HostConfig.newHostConfig; +import static com.github.dockerjava.core.RemoteApiVersion.VERSION_1_25; +import static com.github.dockerjava.core.RemoteApiVersion.VERSION_1_30; +import static com.github.dockerjava.junit.DockerMatchers.isGreaterOrEqual; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.emptyString; import static org.hamcrest.Matchers.not; +import static org.junit.Assume.assumeThat; public class WaitContainerCmdIT extends CmdIT { public static final Logger LOG = LoggerFactory.getLogger(BuildImageCmd.class); @@ -102,4 +109,77 @@ public void testWaitContainerTimeout() { LOG.info(e.getMessage()); } } + + @Test + public void testWaitNotStartedContainer() { + assumeThat("API version should be > 1.25", dockerRule, isGreaterOrEqual(VERSION_1_25)); + + CreateContainerResponse container = dockerRule.getClient().createContainerCmd("busybox") + .withHostConfig(newHostConfig().withAutoRemove(true)) + .exec(); + + LOG.info("Created container: {}", container.toString()); + assertThat(container.getId(), not(is(emptyString()))); + + WaitContainerResultCallback callback = dockerRule.getClient().waitContainerCmd(container.getId()).exec(new WaitContainerResultCallback()); + + Integer statusCode = callback.awaitStatusCode(100, TimeUnit.MILLISECONDS); + Assert.assertEquals(0, statusCode.intValue()); + } + + @Test + public void testWaitContainerWithAutoRemoval() { + assumeThat("API version should be > 1.30", dockerRule, isGreaterOrEqual(VERSION_1_30)); + + CreateContainerResponse container = dockerRule.getClient().createContainerCmd("busybox") + .withCmd("false") + .withHostConfig(newHostConfig().withAutoRemove(true)) + .exec(); + + LOG.info("Created container: {}", container.toString()); + assertThat(container.getId(), not(is(emptyString()))); + + WaitContainerResultCallback removedCondition = dockerRule.getClient().waitContainerCmd(container.getId()) + .withCondition(WaitContainerCondition.REMOVED) + .exec(new WaitContainerResultCallback()); + + WaitContainerResultCallback nextExitCondition = dockerRule.getClient().waitContainerCmd(container.getId()) + .withCondition(WaitContainerCondition.NEXT_EXIT) + .exec(new WaitContainerResultCallback()); + + dockerRule.getClient().startContainerCmd(container.getId()).exec(); + + Assert.assertEquals(1, removedCondition.awaitStatusCode(100, TimeUnit.MILLISECONDS).intValue()); + Assert.assertEquals(1, nextExitCondition.awaitStatusCode(100, TimeUnit.MILLISECONDS).intValue()); + } + + @Test + public void testWaitRestartedContainer() { + assumeThat("API version should be > 1.30", dockerRule, isGreaterOrEqual(VERSION_1_30)); + + CreateContainerResponse container = dockerRule.getClient().createContainerCmd("busybox") + .withCmd("sh", "-c", "[ -f \"$HOME/.first_run_marker\" ] && exit 2 || { touch \"$HOME/.first_run_marker\"; exit 1; }") + .exec(); + + LOG.info("Created container: {}", container.toString()); + assertThat(container.getId(), not(is(emptyString()))); + + WaitContainerResultCallback firstExitCallback = dockerRule.getClient().waitContainerCmd(container.getId()) + .withCondition(WaitContainerCondition.NEXT_EXIT) + .exec(new WaitContainerResultCallback()); + + dockerRule.getClient().startContainerCmd(container.getId()).exec(); + + Integer firstStatusCode = firstExitCallback.awaitStatusCode(100, TimeUnit.MILLISECONDS); + Assert.assertEquals(1, firstStatusCode.intValue()); + + WaitContainerResultCallback callback = dockerRule.getClient().waitContainerCmd(container.getId()) + .withCondition(WaitContainerCondition.NEXT_EXIT) + .exec(new WaitContainerResultCallback()); + + dockerRule.getClient().startContainerCmd(container.getId()).exec(); + + Integer statusCode = callback.awaitStatusCode(100, TimeUnit.MILLISECONDS); + Assert.assertEquals(2, statusCode.intValue()); + } } From ce05588c61724ad3b03350fd1556d413740257c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 18:25:33 -0600 Subject: [PATCH 15/17] Bump netty.version from 4.2.3.Final to 4.2.4.Final (#2494) Bumps `netty.version` from 4.2.3.Final to 4.2.4.Final. Updates `io.netty:netty-codec-http` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-handler` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-handler-proxy` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-transport-native-epoll` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-transport-native-kqueue` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) --- updated-dependencies: - dependency-name: io.netty:netty-codec-http dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-native-epoll dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-native-kqueue dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9122d5bda..83542af74 100644 --- a/pom.xml +++ b/pom.xml @@ -71,7 +71,7 @@ 1.2.3 - 4.2.3.Final + 4.2.4.Final 2.2 1.8 2.3.3 From 4df8cbb4d90d6d88378493d78a691342e95769ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 18:42:40 -0600 Subject: [PATCH 16/17] Bump jersey.version from 2.30.1 to 2.47 (#2496) Bumps `jersey.version` from 2.30.1 to 2.47. Updates `org.glassfish.jersey.connectors:jersey-apache-connector` from 2.30.1 to 2.47 Updates `org.glassfish.jersey.core:jersey-client` from 2.30.1 to 2.47 Updates `org.glassfish.jersey.inject:jersey-hk2` from 2.30.1 to 2.47 --- updated-dependencies: - dependency-name: org.glassfish.jersey.connectors:jersey-apache-connector dependency-version: '2.47' dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.glassfish.jersey.core:jersey-client dependency-version: '2.47' dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.glassfish.jersey.inject:jersey-hk2 dependency-version: '2.47' dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 83542af74..fe10d4302 100644 --- a/pom.xml +++ b/pom.xml @@ -57,7 +57,7 @@ 1.8 1.8 - 2.30.1 + 2.47 2.19.2 4.5.12 1.27.1 From 150293d945f34e54c562ac82a803fd738fed4be4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 18:58:21 -0600 Subject: [PATCH 17/17] Bump org.apache.commons:commons-compress from 1.27.1 to 1.28.0 (#2486) Bumps [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) from 1.27.1 to 1.28.0. - [Changelog](https://github.com/apache/commons-compress/blob/master/RELEASE-NOTES.txt) - [Commits](https://github.com/apache/commons-compress/compare/rel/commons-compress-1.27.1...rel/commons-compress-1.28.0) --- updated-dependencies: - dependency-name: org.apache.commons:commons-compress dependency-version: 1.28.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fe10d4302..58fa183e8 100644 --- a/pom.xml +++ b/pom.xml @@ -60,7 +60,7 @@ 2.47 2.19.2 4.5.12 - 1.27.1 + 1.28.0 2.20.0 3.18.0 1.7.30