diff --git a/CHANGELOG.md b/CHANGELOG.md
index f5f621a..7e0cef2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+## 2.1.1-dev.3.1
+
+* Cherry-pick 46080dd886a622c5520895d49c97506ecedb1df8 to dev
+* Cherry-pick fc62cf037343248c5ace87629d8eb1063f9f2428 to dev
+* Cherry-pick 770ab5275ac34af62d7c39da8eac8c56fdc48edb to dev
+* Cherry-pick 957e194735bda4fcf06cdcc68fa80f3290b17d79 to dev
+
 ## 2.1.1-dev.3.0
 
 * Cherry-pick 3cb16d20e7810a2a378bb897d939f67c0b380d88 to dev
diff --git a/DEPS b/DEPS
index f44b9ec..ae2451a 100644
--- a/DEPS
+++ b/DEPS
@@ -158,27 +158,27 @@
     "@" + Var("clang_format_scripts_rev"),
 
   Var("dart_root") + "/tools/sdks": {
-      "packages": [
-          {
-              "package": "dart/dart-sdk/${{platform}}",
-              "version": "version:2.1.1-dev.1.0",
-          },
-      ],
+      "packages": [{
+          "package": "dart/dart-sdk/${{platform}}",
+          "version": "version:2.1.1-dev.1.0",
+      }],
       "dep_type": "cipd",
   },
   Var("dart_root") + "/third_party/d8": {
-      "packages": [
-          {
-              "package": "dart/d8",
-              "version": "version:6.9.427.23+1",
-          },
-      ],
+      "packages": [{
+          "package": "dart/d8",
+          "version": "version:6.9.427.23+1",
+      }],
       "dep_type": "cipd",
   },
 
-  Var("dart_root") + "/tests/co19_2/src":
-      Var("chromium_git") + "/external/github.com/dart-lang/co19.git" +
-      "@" + Var("co19_2_rev"),
+  Var("dart_root") + "/tests/co19_2/src": {
+      "packages": [{
+          "package": "dart/third_party/co19",
+          "version": "git_revision:" + Var("co19_2_rev"),
+      }],
+      "dep_type": "cipd",
+  },
 
   Var("dart_root") + "/third_party/zlib":
       Var("chromium_git") + "/chromium/src/third_party/zlib.git" +
@@ -190,6 +190,14 @@
       "https://boringssl.googlesource.com/boringssl.git" +
       "@" + Var("boringssl_rev"),
 
+  Var("dart_root") + "/third_party/gsutil": {
+      "packages": [{
+          "package": "infra/gsutil",
+          "version": "version:4.34",
+      }],
+      "dep_type": "cipd",
+  },
+
   Var("dart_root") + "/third_party/root_certificates":
       Var("dart_git") + "root_certificates.git" +
       "@" + Var("root_certificates_rev"),
@@ -451,20 +459,6 @@
     ],
   },
   {
-    "name": "gsutil",
-    "pattern": ".",
-    "action": [
-      "download_from_google_storage",
-      "--no_auth",
-      "--no_resume",
-      "--bucket",
-      "dart-dependencies",
-      "--extract",
-      "-s",
-      Var('dart_root') + "/third_party/gsutil.tar.gz.sha1",
-    ],
-  },
-  {
     # Pull Debian wheezy sysroot for i386 Linux
     'name': 'sysroot_i386',
     'pattern': '.',
diff --git a/third_party/.gitignore b/third_party/.gitignore
index b0b3349..836a11d 100644
--- a/third_party/.gitignore
+++ b/third_party/.gitignore
@@ -9,7 +9,6 @@
 !d8
 !7zip.tar.gz.sha1
 !firefox_jsshell
-!gsutil.tar.gz.sha1
 !clang.tar.gz.sha1
 !unittest.tar.gz.sha1
 !update.sh
diff --git a/third_party/gsutil.tar.gz.sha1 b/third_party/gsutil.tar.gz.sha1
deleted file mode 100644
index cfc510a..0000000
--- a/third_party/gsutil.tar.gz.sha1
+++ /dev/null
@@ -1 +0,0 @@
-99b82a42b98b78fc2a3f155995a16d8d7517b657
\ No newline at end of file
diff --git a/tools/VERSION b/tools/VERSION
index 3457917..f1ad7f9 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 1
 PATCH 1
 PRERELEASE 3
-PRERELEASE_PATCH 0
+PRERELEASE_PATCH 1
diff --git a/tools/bots/dart_sdk.py b/tools/bots/dart_sdk.py
index 50f3978..be81900 100755
--- a/tools/bots/dart_sdk.py
+++ b/tools/bots/dart_sdk.py
@@ -44,14 +44,14 @@
                           'dart-sdk')
   dart_exe =  os.path.join(dart_sdk, 'bin', 'dart')
   dartdoc_dart = os.path.join(bot_utils.DART_DIR,
-                              'third_party', 'pkg' , 'dartdoc' , 'bin' , 
+                              'third_party', 'pkg', 'dartdoc', 'bin',
                               'dartdoc.dart')
   footer_file = os.path.join(bot_utils.DART_DIR,
                               'tools', 'bots', 'dartdoc_footer.html')
   url = 'https://api.dartlang.org/stable'
   with bot.BuildStep('Build API docs by dartdoc'):
     bot_utils.run([dart_exe, dartdoc_dart,
-                  '--sdk-docs','--output', dirname, '--footer' , footer_file,
+                  '--sdk-docs', '--output', dirname, '--footer', footer_file,
                   '--rel-canonical-prefix=' + url])
 
 def CreateUploadVersionFile():
@@ -172,7 +172,7 @@
       throw_on_error=False)
   # If the returncode is nonzero and we can find a specific error message,
   # we know there are no objects with a prefix of [gsu_path].
-  missing = (returncode and 'CommandException: No such object' in stderr)
+  missing = (returncode and 'CommandException: One or more URLs matched no objects.' in stderr)
   # Either the returncode has to be zero or the object must be missing,
   # otherwise throw an exception.
   if not missing and returncode:
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index a617489..715ce52 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -23,7 +23,10 @@
       "samples/",
       "sdk/",
       "tests/angular/",
-      "tests/co19_2/",
+      "tests/co19_2/co19_2-analyzer.status",
+      "tests/co19_2/co19_2-dart2js.status",
+      "tests/co19_2/co19_2-kernel.status",
+      "tests/co19_2/co19_2-runtime.status",
       "tests/compiler/",
       "tests/corelib_2/",
       "tests/dart/",
@@ -56,7 +59,10 @@
       "samples/",
       "sdk/",
       "tests/angular/",
-      "tests/co19_2/",
+      "tests/co19_2/co19_2-analyzer.status",
+      "tests/co19_2/co19_2-dart2js.status",
+      "tests/co19_2/co19_2-kernel.status",
+      "tests/co19_2/co19_2-runtime.status",
       "tests/compiler/",
       "tests/corelib_2/",
       "tests/dart/",
@@ -136,12 +142,14 @@
       "samples-dev/",
       "tools/",
       "third_party/android_tools/sdk/platform-tools/adb",
-      "third_party/gsutil/",
       "third_party/pkg/",
       "third_party/pkg_tested/",
       "third_party/observatory_pub_packages/packages/",
       "tests/angular/",
-      "tests/co19_2/",
+      "tests/co19_2/co19_2-analyzer.status",
+      "tests/co19_2/co19_2-dart2js.status",
+      "tests/co19_2/co19_2-kernel.status",
+      "tests/co19_2/co19_2-runtime.status",
       "tests/compiler/",
       "tests/corelib_2/",
       "tests/dart/",
