diff --git a/CHANGELOG.md b/CHANGELOG.md
index f8531ae1d..a58ef82c1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 8.12.0
+
+Not released yet
+
+- Make ContainerState.exitCode() return a Long instead of Integer ([1052][])
+
+[1052]: https://github.com/spotify/docker-client/issues/1052
+
## 8.11.6
Released Jun 2, 2018
diff --git a/pom.xml b/pom.xml
index 1ef24341f..b3c9d1196 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
docker-client
- 8.11.8-SNAPSHOT
+ 8.12.0-SNAPSHOT
jar
docker-client
A docker client
diff --git a/src/main/java/com/spotify/docker/client/messages/ContainerState.java b/src/main/java/com/spotify/docker/client/messages/ContainerState.java
index 6b1b918e0..f6caf9d87 100644
--- a/src/main/java/com/spotify/docker/client/messages/ContainerState.java
+++ b/src/main/java/com/spotify/docker/client/messages/ContainerState.java
@@ -56,7 +56,7 @@ public abstract class ContainerState {
public abstract Integer pid();
@JsonProperty("ExitCode")
- public abstract Integer exitCode();
+ public abstract Long exitCode();
@JsonProperty("StartedAt")
public abstract Date startedAt();
@@ -83,7 +83,7 @@ static ContainerState create(
@JsonProperty("Paused") final Boolean addr,
@JsonProperty("Restarting") final Boolean restarting,
@JsonProperty("Pid") final Integer pid,
- @JsonProperty("ExitCode") final Integer exitCode,
+ @JsonProperty("ExitCode") final Long exitCode,
@JsonProperty("StartedAt") final Date startedAt,
@JsonProperty("FinishedAt") final Date finishedAt,
@JsonProperty("Error") final String error,
diff --git a/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java b/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java
index e3d09b9f4..19efcd99b 100644
--- a/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java
+++ b/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java
@@ -3134,7 +3134,7 @@ public void testVolumesFrom() throws Exception {
final ContainerInfo info = sut.inspectContainer(mountContainer);
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
final String logs;
try (LogStream stream = sut.logs(info.id(), stdout(), stderr())) {
@@ -3172,7 +3172,7 @@ public void testAttachContainer() throws Exception {
sut.waitContainer(volumeContainer);
final ContainerInfo info = sut.inspectContainer(volumeContainer);
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
}
@Test
@@ -3261,7 +3261,7 @@ public void testLogsNoStdOut() throws Exception {
final ContainerInfo info = sut.inspectContainer(container);
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
final String logs;
try (LogStream stream = sut.logs(info.id(), stdout(false), stderr())) {
@@ -3288,7 +3288,7 @@ public void testLogsNoStdErr() throws Exception {
final ContainerInfo info = sut.inspectContainer(container);
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
final String logs;
try (LogStream stream = sut.logs(info.id(), stdout(), stderr(false))) {
@@ -3314,7 +3314,7 @@ public void testLogsTimestamps() throws Exception {
final ContainerInfo info = sut.inspectContainer(container);
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
final String logs;
try (LogStream stream = sut.logs(info.id(), stdout(), stderr(), timestamps())) {
@@ -3343,7 +3343,7 @@ public void testLogsTail() throws Exception {
final ContainerInfo info = sut.inspectContainer(container);
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
final String logs;
try (LogStream stream = sut.logs(info.id(), stdout(), stderr(), tail(2))) {
@@ -3374,7 +3374,7 @@ public void testLogsSince() throws Exception {
final ContainerInfo info = sut.inspectContainer(container);
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
final String logs;
// Get logs since the current timestamp. This should return nothing.
@@ -3407,7 +3407,7 @@ public void testLogsTty() throws DockerException, InterruptedException {
sut.waitContainer(container);
final ContainerInfo info = sut.inspectContainer(container);
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
}
@Test(expected = ContainerNotFoundException.class)
@@ -5778,7 +5778,7 @@ private void verifyNoTimeoutContainer(final String volumeContainer, final String
final ContainerInfo info = sut.inspectContainer(volumeContainer);
assertThat(result.toString().contains("Finished"), is(true));
assertThat(info.state().running(), is(false));
- assertThat(info.state().exitCode(), is(0));
+ assertThat(info.state().exitCode(), is(0L));
}
private List containersToIds(final List containers) {
diff --git a/src/test/java/com/spotify/docker/client/messages/ContainerStateTest.java b/src/test/java/com/spotify/docker/client/messages/ContainerStateTest.java
index 6cf70b096..14b141889 100644
--- a/src/test/java/com/spotify/docker/client/messages/ContainerStateTest.java
+++ b/src/test/java/com/spotify/docker/client/messages/ContainerStateTest.java
@@ -52,7 +52,7 @@ public void testLoadFromRandomFixture() throws Exception {
assertThat(containerState.paused(), is(false));
assertThat(containerState.restarting(), is(false));
assertThat(containerState.running(), is(true));
- assertThat(containerState.exitCode(), is(0));
+ assertThat(containerState.exitCode(), is(0L));
assertThat(containerState.pid(), is(27629));
assertThat(containerState.startedAt(), is(new Date(1412236798929L)));
assertThat(containerState.finishedAt(), is(new Date(-62135769600000L)));