diff --git a/.travis.yml b/.travis.yml
index 538a8c7..781f46d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,6 @@
 dart:
   - dev
   - stable
-  - 2.0.0
 
 dart_task:
   - test: --platform vm
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7590f16..b65db46 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,14 @@
+## 1.0.10
+
+* Use conditional imports to avoid `dart:isolate` imports on the web.
+* Bump minimum SDK to `2.1.0`.
+
+## 1.0.9
+
+* Identical to `1.0.6` - republishing with a higher version number to get around
+  issues with conditional `dart:isolate` imports on the version of
+  `build_modules` which is compatible with the `2.0.0` SDK.
+
 ## 1.0.8
 
 * Fix issue on Dart `2.0.0`.
diff --git a/lib/src/async_package_resolver.dart b/lib/src/async_package_resolver.dart
index 06c61e7..ef75081 100644
--- a/lib/src/async_package_resolver.dart
+++ b/lib/src/async_package_resolver.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
-
 import 'package_resolver.dart';
 import 'sync_package_resolver.dart';
 
diff --git a/lib/src/current_isolate_resolver.dart b/lib/src/current_isolate_resolver.dart
index dcd5822..1244b5c 100644
--- a/lib/src/current_isolate_resolver.dart
+++ b/lib/src/current_isolate_resolver.dart
@@ -2,7 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
 import 'dart:isolate';
 
 import 'package:path/path.dart' as p;
diff --git a/lib/src/package_resolver.dart b/lib/src/package_resolver.dart
index 35097a2..d53d761 100644
--- a/lib/src/package_resolver.dart
+++ b/lib/src/package_resolver.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
-
 import 'package:http/http.dart' as http;
 
 import 'package_config_resolver.dart';
diff --git a/lib/src/sync_package_resolver.dart b/lib/src/sync_package_resolver.dart
index daaf46c..5cb4c99 100644
--- a/lib/src/sync_package_resolver.dart
+++ b/lib/src/sync_package_resolver.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
-
 import 'package:http/http.dart' as http;
 
 import 'no_package_resolver.dart';
diff --git a/lib/src/utils.dart b/lib/src/utils.dart
index 2becf22..b588c54 100644
--- a/lib/src/utils.dart
+++ b/lib/src/utils.dart
@@ -2,7 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
 import 'dart:convert';
 
 import 'package:http/http.dart' as http;
diff --git a/lib/src/utils_io.dart b/lib/src/utils_io.dart
index 8959f4d..df768e6 100644
--- a/lib/src/utils_io.dart
+++ b/lib/src/utils_io.dart
@@ -2,14 +2,13 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
 
-Future<String> readFileAsString(Uri uri) async {
+Future<String> readFileAsString(Uri uri) {
   var path = uri.toFilePath(windows: Platform.isWindows);
-  return await new File(path).readAsString();
+  return new File(path).readAsString();
 }
 
 String packagePathForRoot(String package, Uri root) {
diff --git a/lib/src/utils_io_stub.dart b/lib/src/utils_io_stub.dart
index cefa097..7683079 100644
--- a/lib/src/utils_io_stub.dart
+++ b/lib/src/utils_io_stub.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
-
 Future<String> readFileAsString(Uri uri) => throw UnsupportedError(
     'Reading files is only supported where dart:io is available.');
 
diff --git a/lib/src/utils_isolate.dart b/lib/src/utils_isolate.dart
index b197429..a58c4db 100644
--- a/lib/src/utils_isolate.dart
+++ b/lib/src/utils_isolate.dart
@@ -2,7 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
 import 'dart:isolate';
 
 Future<Uri> resolvePackageUri(Uri packageUri) =>
diff --git a/lib/src/utils_isolate_stub.dart b/lib/src/utils_isolate_stub.dart
index b5071ac..4639b97 100644
--- a/lib/src/utils_isolate_stub.dart
+++ b/lib/src/utils_isolate_stub.dart
@@ -2,7 +2,5 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
-
 Future<Uri> resolvePackageUri(Uri packageUri) =>
     throw UnsupportedError('May not use a package URI');
diff --git a/lib/src/utils_stub.dart b/lib/src/utils_stub.dart
index cefa097..7683079 100644
--- a/lib/src/utils_stub.dart
+++ b/lib/src/utils_stub.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:async';
-
 Future<String> readFileAsString(Uri uri) => throw UnsupportedError(
     'Reading files is only supported where dart:io is available.');
 
diff --git a/pubspec.yaml b/pubspec.yaml
index eba6244..344aac8 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,12 +1,12 @@
 name: package_resolver
-version: 1.0.8
+version: 1.0.10
 
 description: First-class package resolution strategy classes.
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/package_resolver
 
 environment:
-  sdk: '>=2.0.0 <3.0.0'
+  sdk: '>=2.1.0 <3.0.0'
 
 dependencies:
   collection: ^1.9.0
diff --git a/test/current_isolate_info_test.dart b/test/current_isolate_info_test.dart
index d0573c3..8f87c21 100644
--- a/test/current_isolate_info_test.dart
+++ b/test/current_isolate_info_test.dart
@@ -4,7 +4,6 @@
 
 @TestOn('vm')
 
-import 'dart:async';
 import 'dart:io';
 import 'dart:isolate';
 
