Migrate to pkg:lints recommended (#76)

* Migrate to pkg:lints recommended

* require dart 2.13, drop prerelease changelog entries
diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml
index bd93fbe..17c7d20 100644
--- a/.github/workflows/test-package.yml
+++ b/.github/workflows/test-package.yml
@@ -47,7 +47,7 @@
       matrix:
         # Add macos-latest and/or windows-latest if relevant for this package.
         os: [ubuntu-latest]
-        sdk: [2.12.0, dev]
+        sdk: [2.14.0, dev]
     steps:
       - uses: actions/checkout@v2
       - uses: dart-lang/setup-dart@v1
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2bb6c1f..89736d9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,24 +1,11 @@
+## 2.1.1-dev
+
+* Require Dart 2.14
+
 ## 2.1.0
 
 * Stable release for null safety.
 
-## 2.1.0-nullsafety.3
-
-* Update SDK constraints to `>=2.12.0-0 <3.0.0` based on beta release
-  guidelines.
-
-## 2.1.0-nullsafety.2
-
-* Allow prerelease versions of the 2.12 sdk.
-
-## 2.1.0-nullsafety.1
-
-* Allow 2.10 stable and 2.11.0 dev SDK versions.
-
-## 2.1.0-nullsafety
-
-* Migrate to null safety.
-
 ## 2.0.0
 
 **Breaking changes**
diff --git a/analysis_options.yaml b/analysis_options.yaml
index b36c874..8465834 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,4 +1,5 @@
-include: package:pedantic/analysis_options.yaml
+include: package:lints/recommended.yaml
+
 analyzer:
   strong-mode:
     implicit-casts: false
@@ -11,7 +12,8 @@
 
 linter:
   rules:
-    - annotate_overrides
     - comment_references
-    - prefer_generic_function_type_aliases
-    - prefer_typing_uninitialized_variables
+    - always_declare_return_types
+    - omit_local_variable_types
+    - prefer_single_quotes
+    - unawaited_futures
diff --git a/pubspec.yaml b/pubspec.yaml
index d4a7173..17948bc 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: stream_channel
-version: 2.1.0
+version: 2.1.1-dev
 
 description: >-
   An abstraction for two-way communication channels based on the Dart Stream
@@ -7,11 +7,11 @@
 homepage: https://github.com/dart-lang/stream_channel
 
 environment:
-  sdk: '>=2.12.0 <3.0.0'
+  sdk: '>=2.14.0 <3.0.0'
 
 dependencies:
   async: ^2.5.0
 
 dev_dependencies:
-  pedantic: ^1.10.0
+  lints: ^1.0.0
   test: ^1.16.0
diff --git a/test/disconnector_test.dart b/test/disconnector_test.dart
index 4f16012..66773b5 100644
--- a/test/disconnector_test.dart
+++ b/test/disconnector_test.dart
@@ -5,7 +5,6 @@
 import 'dart:async';
 
 import 'package:async/async.dart';
-import 'package:pedantic/pedantic.dart';
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/test.dart';
 
diff --git a/test/isolate_channel_test.dart b/test/isolate_channel_test.dart
index a1ec37e..a754421 100644
--- a/test/isolate_channel_test.dart
+++ b/test/isolate_channel_test.dart
@@ -3,11 +3,9 @@
 // BSD-style license that can be found in the LICENSE file.
 
 @TestOn('vm')
-
 import 'dart:async';
 import 'dart:isolate';
 
-import 'package:pedantic/pedantic.dart';
 import 'package:stream_channel/isolate_channel.dart';
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/test.dart';
diff --git a/test/multi_channel_test.dart b/test/multi_channel_test.dart
index 00bcabe..763e6b8 100644
--- a/test/multi_channel_test.dart
+++ b/test/multi_channel_test.dart
@@ -2,7 +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 'package:pedantic/pedantic.dart';
+import 'dart:async';
+
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/test.dart';
 
diff --git a/test/stream_channel_completer_test.dart b/test/stream_channel_completer_test.dart
index a874925..22db01a 100644
--- a/test/stream_channel_completer_test.dart
+++ b/test/stream_channel_completer_test.dart
@@ -4,7 +4,6 @@
 
 import 'dart:async';
 
-import 'package:pedantic/pedantic.dart';
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/test.dart';
 
diff --git a/test/stream_channel_test.dart b/test/stream_channel_test.dart
index e101d20..76edbdf 100644
--- a/test/stream_channel_test.dart
+++ b/test/stream_channel_test.dart
@@ -6,7 +6,6 @@
 import 'dart:convert';
 
 import 'package:async/async.dart';
-import 'package:pedantic/pedantic.dart';
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/test.dart';
 
diff --git a/test/with_close_guarantee_test.dart b/test/with_close_guarantee_test.dart
index decc2b4..a18f09f 100644
--- a/test/with_close_guarantee_test.dart
+++ b/test/with_close_guarantee_test.dart
@@ -5,7 +5,6 @@
 import 'dart:async';
 
 import 'package:async/async.dart';
-import 'package:pedantic/pedantic.dart';
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/test.dart';
 
diff --git a/test/with_guarantees_test.dart b/test/with_guarantees_test.dart
index a19dc58..849e304 100644
--- a/test/with_guarantees_test.dart
+++ b/test/with_guarantees_test.dart
@@ -4,7 +4,6 @@
 
 import 'dart:async';
 
-import 'package:pedantic/pedantic.dart';
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/test.dart';