diff --git a/CHANGELOG.md b/CHANGELOG.md
index f630263..13905e0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.0.2-dev
+
+- Fix Strong mode errors with `package:shelf` v0.7.x
+
 ## 1.0.1
 
 - Allow dependencies on `package:shelf` v0.7.x
diff --git a/analysis_options.yaml b/analysis_options.yaml
new file mode 100644
index 0000000..3d7fdea
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1,37 @@
+analyzer:
+  strong-mode: true
+linter:
+  rules:
+    - avoid_empty_else
+    - avoid_init_to_null
+    - avoid_null_checks_in_equality_operators
+    - await_only_futures
+    - camel_case_types
+    - cancel_subscriptions
+    - constant_identifier_names
+    - control_flow_in_finally
+    - directives_ordering
+    - empty_catches
+    - empty_constructor_bodies
+    - empty_statements
+    - hash_and_equals
+    - implementation_imports
+    - iterable_contains_unrelated_type
+    - library_names
+    - library_prefixes
+    - list_remove_unrelated_type
+    - non_constant_identifier_names
+    - overridden_fields
+    - package_api_docs
+    - package_names
+    - package_prefixed_library_names
+    - prefer_final_fields
+    - prefer_is_not_empty
+    - slash_for_doc_comments
+    - super_goes_last
+    - test_types_in_equals
+    - throw_in_finally
+    - type_init_formals
+    - unnecessary_brace_in_string_interps
+    - unrelated_type_equality_checks
+    - valid_regexps
diff --git a/lib/src/async_handler.dart b/lib/src/async_handler.dart
index 1b68f12..3445aca 100644
--- a/lib/src/async_handler.dart
+++ b/lib/src/async_handler.dart
@@ -12,12 +12,13 @@
 
   AsyncHandler(Future<Handler> future) : _future = new ResultFuture(future);
 
-  call(Request request) {
+  FutureOr<Response> call(Request request) {
     if (_future.result == null) {
       return _future.then((handler) => handler(request));
     }
 
-    if (_future.result.isError) return _future;
+    if (_future.result.isError)
+      return new Future.error(_future.result.asError.error);
 
     return _future.result.asValue.value(request);
   }
diff --git a/lib/src/dir_handler.dart b/lib/src/dir_handler.dart
index 3605aa9..47f86af 100644
--- a/lib/src/dir_handler.dart
+++ b/lib/src/dir_handler.dart
@@ -4,6 +4,8 @@
 
 library shelf_packages_handler.dir_handler;
 
+import 'dart:async';
+
 import 'package:path/path.dart' as p;
 import 'package:shelf/shelf.dart';
 
@@ -22,7 +24,7 @@
   DirHandler(this._name, this._inner);
 
   /// The callback for handling a single request.
-  call(Request request) {
+  FutureOr<Response> call(Request request) {
     var segments = request.url.pathSegments;
     for (var i = 0; i < segments.length; i++) {
       if (segments[i] != _name) continue;
diff --git a/lib/src/package_config_handler.dart b/lib/src/package_config_handler.dart
index fd79290..7994d48 100644
--- a/lib/src/package_config_handler.dart
+++ b/lib/src/package_config_handler.dart
@@ -2,6 +2,8 @@
 // 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:package_resolver/package_resolver.dart';
 import 'package:path/path.dart' as p;
 import 'package:shelf/shelf.dart';
@@ -22,7 +24,7 @@
   PackageConfigHandler(this._resolver);
 
   /// The callback for handling a single request.
-  call(Request request) {
+  FutureOr<Response> call(Request request) {
     var segments = request.url.pathSegments;
     return _handlerFor(segments.first)(request.change(path: segments.first));
   }
diff --git a/pubspec.yaml b/pubspec.yaml
index 40cc176..b0d67ef 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,11 +1,11 @@
 name: shelf_packages_handler
-version: 1.0.1
+version: 1.0.2-dev
 description: A shelf handler for serving a `packages/` directory.
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/shelf_packages_handler
 
 environment:
-  sdk: '>=1.9.0 <2.0.0'
+  sdk: '>=1.21.0 <2.0.0'
 
 dependencies:
   async: '^1.1.0'
