diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile
index 0e7af7c..c491b1d 100644
--- a/.gitpod.Dockerfile
+++ b/.gitpod.Dockerfile
@@ -6,8 +6,8 @@
 # More information: https://www.gitpod.io/docs/config-docker/
 
 RUN sudo apt-get update && \
-    wget https://storage.googleapis.com/dart-archive/channels/stable/release/2.9.3/linux_packages/dart_2.9.3-1_amd64.deb && \
-    sudo dpkg -i dart_2.9.3-1_amd64.deb && \
+    wget https://storage.googleapis.com/dart-archive/channels/stable/release/2.10.0/linux_packages/dart_2.10.0-1_amd64.deb && \
+    sudo dpkg -i dart_2.10.0-1_amd64.deb && \
     sudo apt-get install -y protobuf-compiler redis && \
     sudo apt-get update && \
     echo "export PATH=\"\$PATH:/usr/lib/dart/bin:\$HOME/.pub-cache/bin\"" >> $HOME/.bashrc && \
diff --git a/.travis.yml b/.travis.yml
index eafa852..ec61b89 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,8 +3,9 @@
   - gem install coveralls-lcov
 dart:
   # Keep this value aligned with min SDK value in pubspec.yaml and FROM line of Dockerfile
-  - "2.9.3"
-  - beta
+  - "2.10.0"
+  # Beta is trailing stable.
+  # - beta
 
 # Use Ubuntu 18.04 (Bionic Beaver) 
 # https://docs.travis-ci.com/user/reference/overview/#virtualization-environments
diff --git a/Dockerfile b/Dockerfile
index 68c53d1..b067c4a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
 # Keep aligned with min SDK in pubspec.yaml and Dart test version in .travis.yml
-FROM google/dart:2.9.3
+FROM google/dart:2.10.0
 
 # The specific commit that dart-services should use. This should be kept
 # in sync with the flutter submodule in the dart-services repo.
diff --git a/app.yaml b/app.yaml
index c927f97..9806cba 100644
--- a/app.yaml
+++ b/app.yaml
@@ -19,6 +19,8 @@
 network:
   name: vpc-dart-services
 
+service: default
+
 skip_files:
 - ^\.git/.*$
 
diff --git a/cloud_run.Dockerfile b/cloud_run.Dockerfile
index a3c06f0..c94ed30 100644
--- a/cloud_run.Dockerfile
+++ b/cloud_run.Dockerfile
@@ -1,5 +1,5 @@
 # Keep aligned with min SDK in pubspec.yaml and Dart test version in .travis.yml
-FROM google/dart:2.9.3
+FROM google/dart:2.10.0
 
 # The specific commit that dart-services should use. This should be kept
 # in sync with the flutter submodule in the dart-services repo.
diff --git a/example/pubspec.lock b/example/pubspec.lock
index 300c382..5157607 100644
--- a/example/pubspec.lock
+++ b/example/pubspec.lock
@@ -7,14 +7,14 @@
       name: _fe_analyzer_shared
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "6.0.0"
+    version: "7.0.0"
   analyzer:
     dependency: transitive
     description:
       name: analyzer
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.39.15"
+    version: "0.39.17"
   archive:
     dependency: transitive
     description:
@@ -77,21 +77,21 @@
       name: build_resolvers
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.3.10"
+    version: "1.3.11"
   build_runner:
     dependency: "direct dev"
     description:
       name: build_runner
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.10.0"
+    version: "1.10.2"
   build_runner_core:
     dependency: transitive
     description:
       name: build_runner_core
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "5.2.0"
+    version: "6.0.1"
   build_web_compilers:
     dependency: "direct dev"
     description:
@@ -133,21 +133,21 @@
       name: cli_util
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.4"
+    version: "0.2.0"
   code_builder:
     dependency: transitive
     description:
       name: code_builder
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.4.0"
+    version: "3.4.1"
   codemirror:
     dependency: "direct main"
     description:
       name: codemirror
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.5.19+5.56.0"
+    version: "0.5.20+5.57.0"
   collection:
     dependency: transitive
     description:
@@ -273,14 +273,14 @@
       name: meta
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.2.2"
+    version: "1.2.3"
   mime:
     dependency: transitive
     description:
       name: mime
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.9.6+3"
+    version: "0.9.7"
   node_interop:
     dependency: transitive
     description:
@@ -364,7 +364,7 @@
       name: shelf
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.7.7"
+    version: "0.7.9"
   shelf_web_socket:
     dependency: transitive
     description:
@@ -457,4 +457,4 @@
     source: hosted
     version: "2.2.1"
 sdks:
-  dart: ">=2.8.1 <3.0.0"
+  dart: ">=2.10.0-0.0 <3.0.0"
diff --git a/pubspec.lock b/pubspec.lock
index 34cbbc2..5c7aefe 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -14,7 +14,7 @@
       name: _fe_analyzer_shared
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "6.0.0"
+    version: "7.0.0"
   analysis_server_lib:
     dependency: "direct main"
     description:
@@ -28,7 +28,7 @@
       name: analyzer
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.39.16"
+    version: "0.39.17"
   appengine:
     dependency: "direct main"
     description:
@@ -98,14 +98,14 @@
       name: build_runner
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.10.0"
+    version: "1.10.2"
   build_runner_core:
     dependency: transitive
     description:
       name: build_runner_core
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "5.2.0"
+    version: "6.0.1"
   built_collection:
     dependency: transitive
     description:
@@ -140,7 +140,7 @@
       name: cli_util
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.4"
+    version: "0.2.0"
   code_builder:
     dependency: transitive
     description:
@@ -595,7 +595,7 @@
       name: tuneup
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.6+2"
+    version: "0.3.7"
   typed_data:
     dependency: transitive
     description:
@@ -646,4 +646,4 @@
     source: hosted
     version: "2.2.1"
 sdks:
-  dart: ">=2.9.3 <3.0.0"
+  dart: ">=2.10.0 <3.0.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 0b250a7..dd8028b 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,11 +3,10 @@
 
 environment:
   # Keep SDK aligned with .travis.yml and FROM line of Dockerfile
-  sdk: ^2.9.3
+  sdk: ^2.10.0
 
 dependencies:
-  # TODO(domesticmouse): unpin analyzer after we update to Dart 2.10
-  analyzer: 0.39.16
+  analyzer: ^0.39.17
   analysis_server_lib: ^0.1.4
   appengine: ^0.12.0
   args: ^1.6.0
diff --git a/test/analysis_server_test.dart b/test/analysis_server_test.dart
index 4497fee..ca0218d 100644
--- a/test/analysis_server_test.dart
+++ b/test/analysis_server_test.dart
@@ -80,7 +80,7 @@
       expect(completionsContains(results, 'codeUnitAt'), false);
     });
 
-    test('repro #126 - completions polluted on second request', () {
+    test('repro #126 - completions polluted on second request', () async {
       // https://github.com/dart-lang/dart-services/issues/126
       return analysisServer.complete(completionFilterCode, 17).then((results) {
         return analysisServer
@@ -98,7 +98,6 @@
       // We're testing here that we don't have any path imports - we don't want
       // to enable browsing the file system.
       final testCode = "import '/'; main() { int a = 0; a. }";
-
       final results = await analysisServer.complete(testCode, 9);
       final completions = results.completions;
 
@@ -128,12 +127,11 @@
       );
     });
 
-    test('import_and_other_test', () {
+    test('import_and_other_test', () async {
       final testCode = "import '/'; main() { int a = 0; a. }";
+      final results = await analysisServer.complete(testCode, 34);
 
-      return analysisServer.complete(testCode, 34).then((results) {
-        expect(completionsContains(results, 'abs'), true);
-      });
+      expect(completionsContains(results, 'abs'), true);
     });
 
     test('simple_quickFix', () async {
