diff --git a/pkgs/test/CHANGELOG.md b/pkgs/test/CHANGELOG.md
index 304d5d28085317aadf64a45eb9e11b956ffc72b7..038000f40a4554e47cccffd9785eadb53165274f 100644
--- a/pkgs/test/CHANGELOG.md
+++ b/pkgs/test/CHANGELOG.md
@@ -1,7 +1,9 @@
-## 1.10.0-dev
+## 1.10.0
 
 * Add `customHtmlTemplateFile` configuration option to allow sharing an
   html template between tests
+* Depend on the latest `package:test_core`.
+* Depend on the latest `package:test_api`.
 
 ## 1.9.4
 
diff --git a/pkgs/test/lib/src/runner/browser/browser.dart b/pkgs/test/lib/src/runner/browser/browser.dart
index 881dd74bce6beddda5434922463dded6d9ed1e21..fa816db98d3dea172765f28be63ab5eef8c9f3d7 100644
--- a/pkgs/test/lib/src/runner/browser/browser.dart
+++ b/pkgs/test/lib/src/runner/browser/browser.dart
@@ -6,7 +6,6 @@ import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
 
-import 'package:pedantic/pedantic.dart';
 import 'package:stack_trace/stack_trace.dart';
 import 'package:typed_data/typed_data.dart';
 
diff --git a/pkgs/test/lib/src/runner/browser/firefox.dart b/pkgs/test/lib/src/runner/browser/firefox.dart
index 06a279a7015782adb8b4ba97445a49951228bfe5..cf0efe6ab1c885ff86853d8af1a689d8e9e5928c 100644
--- a/pkgs/test/lib/src/runner/browser/firefox.dart
+++ b/pkgs/test/lib/src/runner/browser/firefox.dart
@@ -7,7 +7,6 @@ import 'dart:io';
 
 import 'package:path/path.dart' as p;
 import 'package:pedantic/pedantic.dart';
-
 import 'package:test_api/src/backend/runtime.dart'; // ignore: implementation_imports
 import 'package:test_core/src/util/io.dart'; // ignore: implementation_imports
 
diff --git a/pkgs/test/lib/src/runner/browser/phantom_js.dart b/pkgs/test/lib/src/runner/browser/phantom_js.dart
index 2a00ed71b7f71984fb47a167c642bb88b300c0bb..d2adbcde6de413a11d7ca07a2c3f0d4ce3b904c3 100644
--- a/pkgs/test/lib/src/runner/browser/phantom_js.dart
+++ b/pkgs/test/lib/src/runner/browser/phantom_js.dart
@@ -7,12 +7,10 @@ import 'dart:io';
 
 import 'package:path/path.dart' as p;
 import 'package:pedantic/pedantic.dart';
-
 import 'package:test_api/src/backend/runtime.dart'; // ignore: implementation_imports
-
+import 'package:test_core/src/runner/application_exception.dart'; // ignore: implementation_imports
 import 'package:test_core/src/util/exit_codes.dart' // ignore: implementation_imports
     as exit_codes;
-import 'package:test_core/src/runner/application_exception.dart'; // ignore: implementation_imports
 import 'package:test_core/src/util/io.dart'; // ignore: implementation_imports
 
 import '../executable_settings.dart';
diff --git a/pkgs/test/lib/src/runner/browser/safari.dart b/pkgs/test/lib/src/runner/browser/safari.dart
index 2bd5d80ef5d18eaa92a383f1a6adc6075db061b1..a47bb09000685f4a282a89a68df97fd6f9d86fa5 100644
--- a/pkgs/test/lib/src/runner/browser/safari.dart
+++ b/pkgs/test/lib/src/runner/browser/safari.dart
@@ -8,13 +8,12 @@ import 'dart:io';
 
 import 'package:path/path.dart' as p;
 import 'package:pedantic/pedantic.dart';
-
 import 'package:test_api/src/backend/runtime.dart'; // ignore: implementation_imports
 import 'package:test_core/src/util/io.dart'; // ignore: implementation_imports
 
+import '../executable_settings.dart';
 import 'browser.dart';
 import 'default_settings.dart';
-import '../executable_settings.dart';
 
 /// A class for running an instance of Safari.
 ///
diff --git a/pkgs/test/lib/src/runner/node/platform.dart b/pkgs/test/lib/src/runner/node/platform.dart
index c888f9386aba56f03beccbdc95024b8b042a23dd..bc23173c5db1c12fb796c00bd87250ae7de4eb45 100644
--- a/pkgs/test/lib/src/runner/node/platform.dart
+++ b/pkgs/test/lib/src/runner/node/platform.dart
@@ -9,7 +9,6 @@ import 'dart:convert';
 import 'package:async/async.dart';
 import 'package:multi_server_socket/multi_server_socket.dart';
 import 'package:node_preamble/preamble.dart' as preamble;
-import 'package:pedantic/pedantic.dart';
 import 'package:package_resolver/package_resolver.dart';
 import 'package:path/path.dart' as p;
 import 'package:stream_channel/stream_channel.dart';
diff --git a/pkgs/test/pubspec.yaml b/pkgs/test/pubspec.yaml
index 0177e3ef3657e3b96fc0b89d4ee7010aee01e737..7a88666e0202dbdd9921ba314bc30de0b36ddafb 100644
--- a/pkgs/test/pubspec.yaml
+++ b/pkgs/test/pubspec.yaml
@@ -31,8 +31,8 @@ dependencies:
   web_socket_channel: ^1.0.0
   yaml: ^2.0.0
   # Use an exact version until the test_api and test_core package are stable.
-  test_api: 0.2.11
-  test_core: 0.2.15
+  test_api: 0.2.12
+  test_core: 0.2.16
 
 dev_dependencies:
   fake_async: ^1.0.0
diff --git a/pkgs/test_api/CHANGELOG.md b/pkgs/test_api/CHANGELOG.md
index 6a6c88f272d8c3e8ba9f24380c6f4117df6a01de..070b9cdd15950d78c95b18b599c3cbe84b8c8b44 100644
--- a/pkgs/test_api/CHANGELOG.md
+++ b/pkgs/test_api/CHANGELOG.md
@@ -1,7 +1,8 @@
-## 0.2.12-dev
+## 0.2.12
 
 * Link to docs on setting timeout when a test times out with the default
   duration.
+* No longer directly depend on `package:pedantic`.
 
 ## 0.2.11
 
diff --git a/pkgs/test_api/lib/src/backend/invoker.dart b/pkgs/test_api/lib/src/backend/invoker.dart
index 08009b12d111646234a43aac9e37c5b55c765d1c..f00964555d1fcb2dce6aef01bafc63c27397879c 100644
--- a/pkgs/test_api/lib/src/backend/invoker.dart
+++ b/pkgs/test_api/lib/src/backend/invoker.dart
@@ -4,7 +4,6 @@
 
 import 'dart:async';
 
-import 'package:pedantic/pedantic.dart';
 import 'package:stack_trace/stack_trace.dart';
 
 import '../frontend/expect.dart';
diff --git a/pkgs/test_api/lib/src/frontend/stream_matcher.dart b/pkgs/test_api/lib/src/frontend/stream_matcher.dart
index 7ba7f55daef7459ba98317b7df5918cbe72a8a34..35b150e86203cb846a2ceeab46e54242751a7864 100644
--- a/pkgs/test_api/lib/src/frontend/stream_matcher.dart
+++ b/pkgs/test_api/lib/src/frontend/stream_matcher.dart
@@ -6,7 +6,6 @@ import 'dart:async';
 
 import 'package:async/async.dart';
 import 'package:matcher/matcher.dart';
-import 'package:pedantic/pedantic.dart';
 
 import '../utils.dart';
 import 'async_matcher.dart';
diff --git a/pkgs/test_api/lib/src/utils.dart b/pkgs/test_api/lib/src/utils.dart
index 72295436d8aae2d24f57111d229a8e06b2adbc71..7f9be3313c47fac597b68a447e2affdfb18dd293 100644
--- a/pkgs/test_api/lib/src/utils.dart
+++ b/pkgs/test_api/lib/src/utils.dart
@@ -323,3 +323,12 @@ String prefixLines(String text, String prefix,
 /// we can use it through StringDescription.
 String prettyPrint(value) =>
     StringDescription().addDescriptionOf(value).toString();
+
+/// Indicates to tools that [future] is intentionally not `await`-ed.
+///
+/// In an `async` context, it is normally expected that all [Future]s are
+/// awaited, and that is the basis of the lint `unawaited_futures`. However,
+/// there are times where one or more futures are intentionally not awaited.
+/// This function may be used to ignore a particular future. It silences the
+/// `unawaited_futures` lint.
+void unawaited(Future<void> future) {}
diff --git a/pkgs/test_api/pubspec.yaml b/pkgs/test_api/pubspec.yaml
index 3abd4446a94d3a300d544c98b348fa9ab30a66dd..8027988c5a567adff9c52e01476ea51170293e07 100644
--- a/pkgs/test_api/pubspec.yaml
+++ b/pkgs/test_api/pubspec.yaml
@@ -1,5 +1,5 @@
 name: test_api
-version: 0.2.12-dev
+version: 0.2.12
 author: Dart Team <misc@dartlang.org>
 description: A library for writing Dart tests.
 homepage: https://github.com/dart-lang/test/blob/master/pkgs/test_api
@@ -13,7 +13,6 @@ dependencies:
   collection: ^1.8.0
   meta: ^1.1.5
   path: ^1.2.0
-  pedantic: ^1.0.0
   source_span: ^1.4.0
   stack_trace: ^1.9.0
   stream_channel: ">=1.7.0 <3.0.0"
@@ -26,6 +25,7 @@ dependencies:
 
 dev_dependencies:
   fake_async: ^1.0.0
+  pedantic: ^1.0.0
   test_descriptor: ^1.0.0
   test_process: ^1.0.0
   test: any
diff --git a/pkgs/test_api/test/backend/invoker_test.dart b/pkgs/test_api/test/backend/invoker_test.dart
index 9eef1fd0c54b79268ef971bd6065ae389ac78fdb..28ab7bd83d1527e205c15ecb2f020cc795704ca7 100644
--- a/pkgs/test_api/test/backend/invoker_test.dart
+++ b/pkgs/test_api/test/backend/invoker_test.dart
@@ -5,7 +5,6 @@
 import 'dart:async';
 
 import 'package:fake_async/fake_async.dart';
-import 'package:pedantic/pedantic.dart';
 import 'package:test/test.dart';
 import 'package:test_api/src/backend/group.dart';
 import 'package:test_api/src/backend/invoker.dart';
@@ -14,6 +13,7 @@ import 'package:test_api/src/backend/message.dart';
 import 'package:test_api/src/backend/metadata.dart';
 import 'package:test_api/src/backend/state.dart';
 import 'package:test_api/src/backend/suite.dart';
+import 'package:test_api/src/utils.dart';
 
 import '../utils.dart';
 
diff --git a/pkgs/test_api/test/frontend/add_tear_down_test.dart b/pkgs/test_api/test/frontend/add_tear_down_test.dart
index 10c3f93510dd5ca770f0d205f1811b2f2583d1c8..1027491cf5d6b7f13faf94c920442386dbecb101 100644
--- a/pkgs/test_api/test/frontend/add_tear_down_test.dart
+++ b/pkgs/test_api/test/frontend/add_tear_down_test.dart
@@ -5,7 +5,7 @@
 import 'dart:async';
 
 import 'package:async/async.dart';
-import 'package:pedantic/pedantic.dart';
+import 'package:test_api/src/utils.dart';
 import 'package:test/test.dart';
 
 import '../utils.dart';
diff --git a/pkgs/test_api/test/frontend/matcher/completion_test.dart b/pkgs/test_api/test/frontend/matcher/completion_test.dart
index 59f77290510c68c1d88d83b35dd4daeb06fb187c..87c8f6994bf8932279d959dc48dae1b036e4e7d6 100644
--- a/pkgs/test_api/test/frontend/matcher/completion_test.dart
+++ b/pkgs/test_api/test/frontend/matcher/completion_test.dart
@@ -4,9 +4,9 @@
 
 import 'dart:async';
 
-import 'package:pedantic/pedantic.dart';
 import 'package:test/test.dart';
 import 'package:test_api/src/backend/state.dart';
+import 'package:test_api/src/utils.dart';
 
 import '../../utils.dart';
 
diff --git a/pkgs/test_api/test/frontend/matcher/prints_test.dart b/pkgs/test_api/test/frontend/matcher/prints_test.dart
index 4cc5ba15d2d709ca0edb614c350f4afbce14613c..5516fd9c633aa8fb5986066950b5b6a438d7e3f9 100644
--- a/pkgs/test_api/test/frontend/matcher/prints_test.dart
+++ b/pkgs/test_api/test/frontend/matcher/prints_test.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async';
 
-import 'package:pedantic/pedantic.dart';
+import 'package:test_api/src/utils.dart';
 import 'package:test/test.dart';
 
 import '../../utils.dart';
diff --git a/pkgs/test_api/test/frontend/matcher/throws_test.dart b/pkgs/test_api/test/frontend/matcher/throws_test.dart
index 1d589a2cee5a45d9d84c2b3bf5d36e59bb61b662..ed9cc01ee202148a5f859096e86a6d7db1dfc225 100644
--- a/pkgs/test_api/test/frontend/matcher/throws_test.dart
+++ b/pkgs/test_api/test/frontend/matcher/throws_test.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async';
 
-import 'package:pedantic/pedantic.dart';
+import 'package:test_api/src/utils.dart';
 import 'package:test/test.dart';
 
 import '../../utils.dart';
diff --git a/pkgs/test_core/CHANGELOG.md b/pkgs/test_core/CHANGELOG.md
index fbe9a65058449d7b63d61e223de0e79419652937..fbd1e2d6ab40d01e34f3c2995176f753650d4661 100644
--- a/pkgs/test_core/CHANGELOG.md
+++ b/pkgs/test_core/CHANGELOG.md
@@ -1,8 +1,9 @@
-## 0.2.16-dev
+## 0.2.16
 
 * Internal cleanup.
 * Add `customHtmlTemplateFile` configuration option to allow sharing an
   html template between tests
+* Depend on the latest `test_api`.
 
 ## 0.2.15
 
diff --git a/pkgs/test_core/lib/src/runner/load_suite.dart b/pkgs/test_core/lib/src/runner/load_suite.dart
index 04dd1226f87ed02ac8971d81d2b00f792eb77165..a8d2825adeea6e5f225475dc6fe2da382a0ed49f 100644
--- a/pkgs/test_core/lib/src/runner/load_suite.dart
+++ b/pkgs/test_core/lib/src/runner/load_suite.dart
@@ -4,7 +4,6 @@
 
 import 'dart:async';
 
-import 'package:pedantic/pedantic.dart';
 import 'package:stack_trace/stack_trace.dart';
 import 'package:stream_channel/stream_channel.dart';
 
diff --git a/pkgs/test_core/lib/src/runner/runner_test.dart b/pkgs/test_core/lib/src/runner/runner_test.dart
index e80f849e0f4d0c625e2b60bc2a1fdb70c83d411d..44fb3a788605f2d67486beffd33c6a608b89325f 100644
--- a/pkgs/test_core/lib/src/runner/runner_test.dart
+++ b/pkgs/test_core/lib/src/runner/runner_test.dart
@@ -5,7 +5,6 @@
 import 'package:pedantic/pedantic.dart';
 import 'package:stack_trace/stack_trace.dart';
 import 'package:stream_channel/stream_channel.dart';
-
 import 'package:test_api/src/backend/group.dart'; // ignore: implementation_imports
 import 'package:test_api/src/backend/live_test.dart'; // ignore: implementation_imports
 import 'package:test_api/src/backend/live_test_controller.dart'; // ignore: implementation_imports
diff --git a/pkgs/test_core/lib/test_core.dart b/pkgs/test_core/lib/test_core.dart
index b7cdae98e63d3342f948cfd7fd70881d7dc4a821..7b44b0f4cd7698dae769b44dddf7af24914449c3 100644
--- a/pkgs/test_core/lib/test_core.dart
+++ b/pkgs/test_core/lib/test_core.dart
@@ -10,7 +10,6 @@ import 'dart:async';
 
 import 'package:meta/meta.dart';
 import 'package:path/path.dart' as p;
-import 'package:pedantic/pedantic.dart';
 import 'package:test_api/backend.dart'; //ignore: deprecated_member_use
 import 'package:test_api/src/backend/declarer.dart'; // ignore: implementation_imports
 import 'package:test_api/src/backend/invoker.dart'; // ignore: implementation_imports
diff --git a/pkgs/test_core/pubspec.yaml b/pkgs/test_core/pubspec.yaml
index da528761e39a59441cde4b15752b8ca6663fe419..1ca8e8711c4394e905de78e2eb20c0df2a9392ec 100644
--- a/pkgs/test_core/pubspec.yaml
+++ b/pkgs/test_core/pubspec.yaml
@@ -1,5 +1,5 @@
 name: test_core
-version: 0.2.16-dev
+version: 0.2.16
 author: Dart Team <misc@dartlang.org>
 description: A basic library for writing tests and running them on the VM.
 homepage: https://github.com/dart-lang/test/blob/master/pkgs/test_core
@@ -32,7 +32,7 @@ dependencies:
   # properly constrains all features it provides.
   matcher: ">=0.12.6 <0.12.7"
   # Use an exact version until the test_api package is stable.
-  test_api: 0.2.11
+  test_api: 0.2.12
 
 dependency_overrides:
   test_api: