diff --git a/VERSION b/VERSION
index 738a839..e25d8d9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.1.4-dev
+1.1.5
diff --git a/internal/pkg/commands/command.go b/internal/pkg/commands/command.go
index 51f8d01..50a50dc 100644
--- a/internal/pkg/commands/command.go
+++ b/internal/pkg/commands/command.go
@@ -36,8 +36,6 @@
 	OUTPUT_TABLE OutputType = iota
 	OUTPUT_JSON
 	OUTPUT_YAML
-
-	CORE_VERSION_CONSTRAINT = ">= 3, < 4" // Support XOS major version 3
 )
 
 // Make it easy to override output stream for testing
diff --git a/internal/pkg/commands/common.go b/internal/pkg/commands/common.go
index 4629534..273bd5e 100644
--- a/internal/pkg/commands/common.go
+++ b/internal/pkg/commands/common.go
@@ -108,7 +108,7 @@
 			return nil, nil, err
 		}
 
-		constraint, err := versionUtils.NewConstraint(CORE_VERSION_CONSTRAINT)
+		constraint, err := versionUtils.NewConstraint(config.CORE_VERSION_CONSTRAINT)
 		if err != nil {
 			return nil, nil, err
 		}
@@ -117,7 +117,7 @@
 			return nil, nil, corderrors.WithStackTrace(&corderrors.VersionConstraintError{
 				Name:       "xos-core",
 				Version:    serverVersion.String(),
-				Constraint: CORE_VERSION_CONSTRAINT})
+				Constraint: config.CORE_VERSION_CONSTRAINT})
 		}
 
 	}
diff --git a/internal/pkg/config/config.go b/internal/pkg/config/config.go
index 382e0c2..e335bfc 100644
--- a/internal/pkg/config/config.go
+++ b/internal/pkg/config/config.go
@@ -34,7 +34,7 @@
 	OUTPUT_JSON
 	OUTPUT_YAML
 
-	CORE_VERSION_CONSTRAINT = ">= 3, < 4" // Support XOS major version 3
+	CORE_VERSION_CONSTRAINT = ">= 3, < 5" // Support XOS major versions 3 and 4
 )
 
 var CharReplacer = strings.NewReplacer("\\t", "\t", "\\n", "\n")
diff --git a/mock/Dockerfile b/mock/Dockerfile
index 900c825..6fbac5d 100644
--- a/mock/Dockerfile
+++ b/mock/Dockerfile
@@ -18,12 +18,12 @@
 FROM xosproject/grpc-mock:1.0.0 as build
 MAINTAINER Open Networking Foundation
 
-RUN apk add --update git python2 py-pip make
+RUN apk add --update git python3 py-pip make
 
 WORKDIR /xos
 RUN mkdir /xos/v1
 RUN git clone https://github.com/opencord/xos /opt/tmp_xos && mv /opt/tmp_xos/xos /opt/xos && mv /opt/tmp_xos/lib /opt/xos/lib && cp /opt/tmp_xos/VERSION /opt/xos
-RUN cd /opt/xos/lib/xos-genx && python setup.py install
+RUN cd /opt/xos/lib/xos-genx && python3 setup.py install
 RUN cd /opt/xos/coreapi/protos && make rebuild-protos
 
 RUN cp -r /opt/xos/coreapi/protos/*.proto /xos/v1
@@ -31,6 +31,21 @@
 COPY clean.sh /xos/clean.sh
 RUN /xos/clean.sh
 
+# TODO: Ugly hack to fix xos.proto and utility.proto
+#
+# Something is broken in grpc-mock. It is not processing the import statements
+# in xos.proto or utility.proto that import common.proto and therefore it cannot
+# find the ID and Query messages. Until we understand what is wrong, work around this
+# by stripping off the first four lines of common.proto, and appending it to
+# xos.proto and utility.proto.
+
+WORKDIR /xos/v1
+RUN tail -n +4 common.proto > common.suffix
+RUN mv xos.proto xos.orig && cat xos.orig common.suffix > xos.proto && sed -i '/import.*common.proto/d' xos.proto
+RUN mv utility.proto utility.orig && cat utility.orig common.suffix > utility.proto && sed -i '/import.*common.proto/d' utility.proto
+
+# end Ugly hack to fix xos.proto and utility.proto
+
 FROM xosproject/grpc-mock:1.0.0
 ENV GRPC_MOCK_COMPARE=sparse
 
diff --git a/pkg/testutils/testutils.go b/pkg/testutils/testutils.go
index 2f80f79..a026b41 100644
--- a/pkg/testutils/testutils.go
+++ b/pkg/testutils/testutils.go
@@ -16,6 +16,7 @@
 package testutils
 
 import (
+	"bytes"
 	"encoding/json"
 	"errors"
 	"fmt"
@@ -28,7 +29,6 @@
 
 const (
 	CONTAINER_NAME = "xos-mock-grpc-server"
-	//MOCK_DIR       = "/home/smbaker/projects/gopath/src/github.com/opencord/cordctl/mock"
 )
 
 var MockDir = os.Getenv("CORDCTL_MOCK_DIR")
@@ -43,11 +43,18 @@
 //     `data_name` is the name of the data.json to tell the mock server to use.
 //     If a mock server is already running with the same data_name, it is not restarted.
 func StartMockServer(data_name string) error {
+	var stdout, stderr bytes.Buffer
+
 	cmd_str := fmt.Sprintf("cd %s && DATA_JSON=%s docker-compose up -d", MockDir, data_name)
 	cmd := exec.Command("/bin/bash", "-c", cmd_str)
+	cmd.Stdout = &stdout
+	cmd.Stderr = &stderr
 
 	err := cmd.Run()
 	if err != nil {
+		// something failed... print the stdout and stderr
+		fmt.Printf("stdout=%s\n", stdout.String())
+		fmt.Printf("stderr=%s\n", stderr.String())
 		return err
 	}
 
