diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0b295ac..8b23c18 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.13.3+2
+
+* Set max SDK version to `<3.0.0`, and adjust other dependencies.
+
 ## 0.13.3+1
 
  * Updated SDK version to 2.0.0-dev.17.0
diff --git a/analysis_options.yaml b/analysis_options.yaml
index da17516..2ba6e21 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,5 +1,4 @@
 analyzer:
-  strong-mode: true
   errors:
     unused_import: error
     unused_local_variable: error
diff --git a/pubspec.yaml b/pubspec.yaml
index 162c2da..0aa377c 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,14 +1,18 @@
 name: html
-version: 0.13.3+1
-author: Dart Team <misc@dartlang.org>
+version: 0.13.3+2
+
 description: A library for working with HTML documents. Previously known as html5lib.
+author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/html
+
 environment:
-  sdk: '>=2.0.0-dev.17.0 <2.0.0'
+  sdk: '>=2.0.0-dev.17.0 <3.0.0'
+
 dependencies:
   csslib: '>=0.13.2 <0.15.0'
   source_span: '>=1.0.0 <2.0.0'
   utf: '>=0.9.0 <0.10.0'
+
 dev_dependencies:
-  path: '>=0.9.0 <2.0.0'
-  test: '^0.12.0'
+  path: ^1.6.2
+  test: ^1.3.0
diff --git a/test/parser_feature_test.dart b/test/parser_feature_test.dart
index de8843b..45c704c 100644
--- a/test/parser_feature_test.dart
+++ b/test/parser_feature_test.dart
@@ -85,7 +85,7 @@
     var html = '<body><div>$textContent</div>';
     var doc = parse(html, generateSpans: true);
     Text text = doc.body.nodes[0].nodes[0];
-    expect(text, new isInstanceOf<Text>());
+    expect(text, new TypeMatcher<Text>());
     expect(text.data, textContent);
     expect(text.sourceSpan.start.offset, html.indexOf(textContent));
     expect(text.sourceSpan.length, textContent.length);
@@ -229,7 +229,7 @@
       ''');
       var n = doc.querySelector('desc');
       var keys = n.attributes.keys.toList();
-      expect(keys[0], new isInstanceOf<AttributeName>());
+      expect(keys[0], new TypeMatcher<AttributeName>());
       expect(keys[0].prefix, 'xlink');
       expect(keys[0].namespace, 'http://www.w3.org/1999/xlink');
       expect(keys[0].name, 'type');
diff --git a/test/parser_test.dart b/test/parser_test.dart
index f09ae22..c0a96cb 100644
--- a/test/parser_test.dart
+++ b/test/parser_test.dart
@@ -74,9 +74,9 @@
   test('dart:io', () {
     // ensure IO support is unregistered
     expect(inputstream.consoleSupport,
-        new isInstanceOf<inputstream.ConsoleSupport>());
+        new TypeMatcher<inputstream.ConsoleSupport>());
     var file = new File('$testDataDir/parser_feature/raw_file.html').openSync();
-    expect(() => parse(file), throwsA(new isInstanceOf<ArgumentError>()));
+    expect(() => parse(file), throwsA(new TypeMatcher<ArgumentError>()));
     parser_console.useConsole();
     expect(parse(file).body.innerHtml.trim(), 'Hello world!');
   });
