diff --git a/pkgs/test/CHANGELOG.md b/pkgs/test/CHANGELOG.md
index 906171b..9a3f647 100644
--- a/pkgs/test/CHANGELOG.md
+++ b/pkgs/test/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.5.4
+
+* Allow `analyzer` version `0.36.x`.
+
 ## 1.5.3
 
 * Allow `analyzer` version `0.35.x`.
diff --git a/pkgs/test/pubspec.yaml b/pkgs/test/pubspec.yaml
index 542d4e2..ae542f5 100644
--- a/pkgs/test/pubspec.yaml
+++ b/pkgs/test/pubspec.yaml
@@ -1,5 +1,5 @@
 name: test
-version: 1.5.3
+version: 1.5.4-dev
 author: Dart Team <misc@dartlang.org>
 description: A full featured library for writing and running Dart tests.
 homepage: https://github.com/dart-lang/test/blob/master/pkgs/test
@@ -8,7 +8,7 @@
   sdk: '>=2.1.0 <3.0.0'
 
 dependencies:
-  analyzer: '>=0.26.4 <0.36.0'
+  analyzer: '>=0.26.4 <0.37.0'
   async: '>=1.13.0 <3.0.0'
   boolean_selector: '^1.0.0'
   http_multi_server: '>=1.0.0 <3.0.0'
diff --git a/pkgs/test_core/CHANGELOG.md b/pkgs/test_core/CHANGELOG.md
index aefb9c7..1da6c04 100644
--- a/pkgs/test_core/CHANGELOG.md
+++ b/pkgs/test_core/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.2.2
+
+* Allow `analyzer` version `0.36.x`.
+
 ## 0.2.1+1
 
 * Allow `analyzer` version `0.35.x`.
diff --git a/pkgs/test_core/lib/src/runner/parse_metadata.dart b/pkgs/test_core/lib/src/runner/parse_metadata.dart
index f8c02a6..bdcaa1c 100644
--- a/pkgs/test_core/lib/src/runner/parse_metadata.dart
+++ b/pkgs/test_core/lib/src/runner/parse_metadata.dart
@@ -442,6 +442,7 @@
     }
 
     var map = <K, V>{};
+    // ignore: deprecated_member_use
     for (var element in (expression as SetOrMapLiteral).elements2) {
       if (element is MapLiteralEntry) {
         map[key(element.key)] = value(element.value);
@@ -461,6 +462,7 @@
 
     var list = expression as ListLiteral;
 
+    // ignore: deprecated_member_use
     return list.elements2.map((e) {
       if (e is! Expression) {
         throw SourceSpanFormatException(
diff --git a/pkgs/test_core/pubspec.yaml b/pkgs/test_core/pubspec.yaml
index b5d6f01..9f3664c 100644
--- a/pkgs/test_core/pubspec.yaml
+++ b/pkgs/test_core/pubspec.yaml
@@ -8,7 +8,7 @@
   sdk: '>=2.1.0 <3.0.0'
 
 dependencies:
-  analyzer: '>=0.35.3 <0.36.0'
+  analyzer: '>=0.35.3 <0.37.0'
   async: '>=1.13.0 <3.0.0'
   args: '>=1.4.0 <2.0.0'
   boolean_selector: '^1.0.0'
