diff --git a/CHANGELOG.md b/CHANGELOG.md
index a216870..a0aac1a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,6 @@
-## 0.22.1+4-dev
+## 0.22.1+4
+
+* Support Dart 2 stable.
 
 * Bump and widen dev dependencies on build packages.
 
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 6f04432..d8d47b4 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,5 +1,3 @@
-analyzer:
-  strong-mode: true
 linter:
   rules:
     # Errors
diff --git a/pubspec.yaml b/pubspec.yaml
index fd5e16d..3a2e7b0 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,18 +1,18 @@
 name: observable
-version: 0.22.1+4-dev
+version: 0.22.1+4
 author: Dart Team <misc@dartlang.org>
 description: Support for marking objects as observable
 homepage: https://github.com/dart-lang/observable
 environment:
-  sdk: '>=2.0.0-dev.55.0 <2.0.0'
+  sdk: '>=2.0.0-dev.55.0 <3.0.0'
 dependencies:
-  collection: '^1.11.0'
-  dart_internal: '^0.1.1'
-  meta: '^1.0.4'
-  quiver: '>=0.24.0 <0.30.0'
+  collection: ^1.11.0
+  dart_internal: ^0.1.1
+  meta: ^1.0.4
+  quiver: '>=0.24.0 <3.0.0'
 dev_dependencies:
-  dart_style: '^1.0.9'
   build_runner: '>=0.8.0 <0.10.0'
   build_test: ^0.10.0
   build_web_compilers: '>=0.3.1 <0.5.0'
-  test: ^0.12.0
+  dart_style: ^1.0.9
+  test: ^1.3.0
diff --git a/test/observable_test.dart b/test/observable_test.dart
index 3a05e2d..e88495d 100644
--- a/test/observable_test.dart
+++ b/test/observable_test.dart
@@ -24,7 +24,7 @@
   });
 
   test('handle future result', () {
-    var callback = expectAsync(() {});
+    var callback = expectAsync0(() {});
     return new Future(callback);
   });
 
@@ -48,7 +48,7 @@
     var t = createModel(123);
     int called = 0;
 
-    subs.add(t.changes.listen(expectAsync((records) {
+    subs.add(t.changes.listen(expectAsync1((records) {
       called++;
       expectPropertyChanges(records, 2);
     })));
@@ -62,7 +62,7 @@
     var t = createModel(123);
     int called = 0;
 
-    subs.add(t.changes.listen(expectAsync((records) {
+    subs.add(t.changes.listen(expectAsync1((records) {
       called++;
       expectPropertyChanges(records, 1);
       if (called == 1) {
@@ -81,8 +81,8 @@
       expectPropertyChanges(records, 2);
     }
 
-    subs.add(t.changes.listen(expectAsync(verifyRecords)));
-    subs.add(t.changes.listen(expectAsync(verifyRecords)));
+    subs.add(t.changes.listen(expectAsync1(verifyRecords)));
+    subs.add(t.changes.listen(expectAsync1(verifyRecords)));
 
     t.value = 41;
     t.value = 42;
@@ -112,7 +112,7 @@
   test('cancel listening', () {
     var t = createModel(123);
     var sub;
-    sub = t.changes.listen(expectAsync((records) {
+    sub = t.changes.listen(expectAsync1((records) {
       expectPropertyChanges(records, 1);
       sub.cancel();
       t.value = 777;
@@ -123,12 +123,12 @@
   test('cancel and reobserve', () {
     var t = createModel(123);
     var sub;
-    sub = t.changes.listen(expectAsync((records) {
+    sub = t.changes.listen(expectAsync1((records) {
       expectPropertyChanges(records, 1);
       sub.cancel();
 
       scheduleMicrotask(() {
-        subs.add(t.changes.listen(expectAsync((records) {
+        subs.add(t.changes.listen(expectAsync1((records) {
           expectPropertyChanges(records, 1);
         })));
         t.value = 777;
