diff --git a/lib/analytics.dart b/lib/analytics.dart
index a76cf982..dc798d94 100644
--- a/lib/analytics.dart
+++ b/lib/analytics.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/analytics_exp.dart b/lib/analytics_exp.dart
index 21f15ec1..dbfa272b 100644
--- a/lib/analytics_exp.dart
+++ b/lib/analytics_exp.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:device_info/device_info.dart';
diff --git a/lib/apis/githost.dart b/lib/apis/githost.dart
index 07f6cf49..8f3639c8 100644
--- a/lib/apis/githost.dart
+++ b/lib/apis/githost.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 
 import 'package:flutter/foundation.dart';
diff --git a/lib/apis/githost_factory.dart b/lib/apis/githost_factory.dart
index b5c8d0bf..8dc3f9b8 100644
--- a/lib/apis/githost_factory.dart
+++ b/lib/apis/githost_factory.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'githost.dart';
 import 'github.dart';
 import 'gitlab.dart';
diff --git a/lib/apis/github.dart b/lib/apis/github.dart
index b01eeb69..27db0589 100644
--- a/lib/apis/github.dart
+++ b/lib/apis/github.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
diff --git a/lib/apis/gitlab.dart b/lib/apis/gitlab.dart
index beed8cf5..74e58f31 100644
--- a/lib/apis/gitlab.dart
+++ b/lib/apis/gitlab.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
diff --git a/lib/app.dart b/lib/app.dart
index 8ec4ad7b..7474d043 100644
--- a/lib/app.dart
+++ b/lib/app.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/lib/app_router.dart b/lib/app_router.dart
index 0090dc06..04eb2837 100644
--- a/lib/app_router.dart
+++ b/lib/app_router.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:meta/meta.dart';
diff --git a/lib/app_settings.dart b/lib/app_settings.dart
index 5e8c01c3..22006771 100644
--- a/lib/app_settings.dart
+++ b/lib/app_settings.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
 
diff --git a/lib/core/checklist.dart b/lib/core/checklist.dart
index d38c3cf5..a7d62412 100644
--- a/lib/core/checklist.dart
+++ b/lib/core/checklist.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:convert';
 
 import 'package:meta/meta.dart';
diff --git a/lib/core/flattened_notes_folder.dart b/lib/core/flattened_notes_folder.dart
index 9f6dd0b6..39e03b3e 100644
--- a/lib/core/flattened_notes_folder.dart
+++ b/lib/core/flattened_notes_folder.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:meta/meta.dart';
 
 import 'package:gitjournal/core/note.dart';
diff --git a/lib/core/git_repo.dart b/lib/core/git_repo.dart
index dd6b4b7f..4091b235 100644
--- a/lib/core/git_repo.dart
+++ b/lib/core/git_repo.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/lib/core/graph.dart b/lib/core/graph.dart
index 94d880ce..6615f245 100644
--- a/lib/core/graph.dart
+++ b/lib/core/graph.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:math';
 
diff --git a/lib/core/link.dart b/lib/core/link.dart
index 6f7bdb35..e7bb267b 100644
--- a/lib/core/link.dart
+++ b/lib/core/link.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:markdown/markdown.dart' as md;
 import 'package:meta/meta.dart';
 
diff --git a/lib/core/links_loader.dart b/lib/core/links_loader.dart
index 7c6dd406..516d2442 100644
--- a/lib/core/links_loader.dart
+++ b/lib/core/links_loader.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 import 'dart:isolate';
 
diff --git a/lib/core/md_yaml_doc.dart b/lib/core/md_yaml_doc.dart
index c6939570..b504365f 100644
--- a/lib/core/md_yaml_doc.dart
+++ b/lib/core/md_yaml_doc.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:collection';
 
 import 'package:collection/collection.dart';
diff --git a/lib/core/md_yaml_doc_codec.dart b/lib/core/md_yaml_doc_codec.dart
index 6a7a3b1a..a10dc2f6 100644
--- a/lib/core/md_yaml_doc_codec.dart
+++ b/lib/core/md_yaml_doc_codec.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:collection';
 
 import 'package:yaml/yaml.dart';
diff --git a/lib/core/md_yaml_doc_loader.dart b/lib/core/md_yaml_doc_loader.dart
index 584682b3..86fff43b 100644
--- a/lib/core/md_yaml_doc_loader.dart
+++ b/lib/core/md_yaml_doc_loader.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 import 'dart:isolate';
 
diff --git a/lib/core/note.dart b/lib/core/note.dart
index bdad1bc8..50f4e27b 100644
--- a/lib/core/note.dart
+++ b/lib/core/note.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
 
diff --git a/lib/core/note_notifier.dart b/lib/core/note_notifier.dart
index 74304fee..042eb676 100644
--- a/lib/core/note_notifier.dart
+++ b/lib/core/note_notifier.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/core/note_serializer.dart b/lib/core/note_serializer.dart
index 739b6b3c..dfd2eb69 100644
--- a/lib/core/note_serializer.dart
+++ b/lib/core/note_serializer.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:convert';
 
 import 'package:flutter_emoji/flutter_emoji.dart';
diff --git a/lib/core/notes_cache.dart b/lib/core/notes_cache.dart
index f94699c3..98437556 100644
--- a/lib/core/notes_cache.dart
+++ b/lib/core/notes_cache.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:convert';
 import 'dart:io';
 
diff --git a/lib/core/notes_folder.dart b/lib/core/notes_folder.dart
index d4d91c5e..7f3b030f 100644
--- a/lib/core/notes_folder.dart
+++ b/lib/core/notes_folder.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'note.dart';
 import 'notes_folder_config.dart';
 import 'notes_folder_notifier.dart';
diff --git a/lib/core/notes_folder_config.dart b/lib/core/notes_folder_config.dart
index 9ab9be09..a69bbda6 100644
--- a/lib/core/notes_folder_config.dart
+++ b/lib/core/notes_folder_config.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:equatable/equatable.dart';
diff --git a/lib/core/notes_folder_fs.dart b/lib/core/notes_folder_fs.dart
index 65f494f6..2b12d784 100644
--- a/lib/core/notes_folder_fs.dart
+++ b/lib/core/notes_folder_fs.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:collection';
 import 'dart:io';
 
diff --git a/lib/core/notes_folder_notifier.dart b/lib/core/notes_folder_notifier.dart
index a036d15d..6bcabc01 100644
--- a/lib/core/notes_folder_notifier.dart
+++ b/lib/core/notes_folder_notifier.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/core/processors/image_extractor.dart b/lib/core/processors/image_extractor.dart
index 802cf59b..8b3596af 100644
--- a/lib/core/processors/image_extractor.dart
+++ b/lib/core/processors/image_extractor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:equatable/equatable.dart';
 import 'package:meta/meta.dart';
 
diff --git a/lib/core/processors/inline_tags.dart b/lib/core/processors/inline_tags.dart
index 78645b1e..b417c232 100644
--- a/lib/core/processors/inline_tags.dart
+++ b/lib/core/processors/inline_tags.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
   (c) Copyright 2020 Vishesh Handa
 
diff --git a/lib/core/processors/wiki_links_auto_add.dart b/lib/core/processors/wiki_links_auto_add.dart
index a68b84b0..bada0e02 100644
--- a/lib/core/processors/wiki_links_auto_add.dart
+++ b/lib/core/processors/wiki_links_auto_add.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:gitjournal/core/note.dart';
 import 'package:gitjournal/core/notes_folder.dart';
 
diff --git a/lib/core/sorted_notes_folder.dart b/lib/core/sorted_notes_folder.dart
index 3ff0bce4..c518264c 100644
--- a/lib/core/sorted_notes_folder.dart
+++ b/lib/core/sorted_notes_folder.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:math';
 
 import 'package:flutter/material.dart';
diff --git a/lib/core/sorting_mode.dart b/lib/core/sorting_mode.dart
index 940c2c52..72e3487b 100644
--- a/lib/core/sorting_mode.dart
+++ b/lib/core/sorting_mode.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:easy_localization/easy_localization.dart';
 
 import 'package:gitjournal/core/note.dart';
diff --git a/lib/core/transformers/base.dart b/lib/core/transformers/base.dart
index ebd639e7..ed3cd284 100644
--- a/lib/core/transformers/base.dart
+++ b/lib/core/transformers/base.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:gitjournal/core/note.dart';
 
 export 'package:gitjournal/core/note.dart';
diff --git a/lib/core/virtual_notes_folder.dart b/lib/core/virtual_notes_folder.dart
index acdc6072..e6e4d9f1 100644
--- a/lib/core/virtual_notes_folder.dart
+++ b/lib/core/virtual_notes_folder.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:gitjournal/settings.dart';
 import 'note.dart';
 import 'notes_folder.dart';
diff --git a/lib/editors/autocompletion_widget.dart b/lib/editors/autocompletion_widget.dart
index db107d9c..0b315140 100644
--- a/lib/editors/autocompletion_widget.dart
+++ b/lib/editors/autocompletion_widget.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:ui';
 
 import 'package:flutter/material.dart';
diff --git a/lib/editors/bottom_bar.dart b/lib/editors/bottom_bar.dart
index 994e5b73..a7135cd1 100644
--- a/lib/editors/bottom_bar.dart
+++ b/lib/editors/bottom_bar.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/editors/checklist_editor.dart b/lib/editors/checklist_editor.dart
index 5b93c433..cb55ed83 100644
--- a/lib/editors/checklist_editor.dart
+++ b/lib/editors/checklist_editor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/lib/editors/common.dart b/lib/editors/common.dart
index 106f0d05..5669c909 100644
--- a/lib/editors/common.dart
+++ b/lib/editors/common.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/editors/disposable_change_notifier.dart b/lib/editors/disposable_change_notifier.dart
index dc1684cb..ba8e8f5f 100644
--- a/lib/editors/disposable_change_notifier.dart
+++ b/lib/editors/disposable_change_notifier.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/editors/heuristics.dart b/lib/editors/heuristics.dart
index 0d0ad454..c7066be4 100644
--- a/lib/editors/heuristics.dart
+++ b/lib/editors/heuristics.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:gitjournal/editors/common.dart';
 
 TextEditorState autoAddBulletList(
diff --git a/lib/editors/journal_editor.dart b/lib/editors/journal_editor.dart
index c93451d5..4ad47dda 100644
--- a/lib/editors/journal_editor.dart
+++ b/lib/editors/journal_editor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/editors/markdown_editor.dart b/lib/editors/markdown_editor.dart
index 825aab9c..7ebedbe2 100644
--- a/lib/editors/markdown_editor.dart
+++ b/lib/editors/markdown_editor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/editors/note_body_editor.dart b/lib/editors/note_body_editor.dart
index 7aa792f8..6c4ea3fb 100644
--- a/lib/editors/note_body_editor.dart
+++ b/lib/editors/note_body_editor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/editors/org_editor.dart b/lib/editors/org_editor.dart
index 579ad23b..b658f15d 100644
--- a/lib/editors/org_editor.dart
+++ b/lib/editors/org_editor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Alen Šiljak <gitjournal@alensiljak.eu.org>
 
diff --git a/lib/editors/raw_editor.dart b/lib/editors/raw_editor.dart
index 29ae5fb3..4de1a9ff 100644
--- a/lib/editors/raw_editor.dart
+++ b/lib/editors/raw_editor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/editors/scaffold.dart b/lib/editors/scaffold.dart
index 5b49d229..485b0790 100644
--- a/lib/editors/scaffold.dart
+++ b/lib/editors/scaffold.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 import 'package:flutter/scheduler.dart';
 
diff --git a/lib/error_reporting.dart b/lib/error_reporting.dart
index ddabb84f..665fc86f 100644
--- a/lib/error_reporting.dart
+++ b/lib/error_reporting.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/lib/folder_views/card_view.dart b/lib/folder_views/card_view.dart
index f4f6d443..c963ad66 100644
--- a/lib/folder_views/card_view.dart
+++ b/lib/folder_views/card_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/folder_views/common.dart b/lib/folder_views/common.dart
index 91be5b3c..81bd51a6 100644
--- a/lib/folder_views/common.dart
+++ b/lib/folder_views/common.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:path/path.dart' as p;
diff --git a/lib/folder_views/grid_view.dart b/lib/folder_views/grid_view.dart
index 92d46d13..84259393 100644
--- a/lib/folder_views/grid_view.dart
+++ b/lib/folder_views/grid_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/folder_views/journal_view.dart b/lib/folder_views/journal_view.dart
index e2c07e00..b29fb74a 100644
--- a/lib/folder_views/journal_view.dart
+++ b/lib/folder_views/journal_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/folder_views/list_view.dart b/lib/folder_views/list_view.dart
index 06ea6d1a..8f01929e 100644
--- a/lib/folder_views/list_view.dart
+++ b/lib/folder_views/list_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/folder_views/note_tile.dart b/lib/folder_views/note_tile.dart
index 0c386f78..68f36167 100644
--- a/lib/folder_views/note_tile.dart
+++ b/lib/folder_views/note_tile.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:convert';
 
 import 'package:flutter/material.dart';
diff --git a/lib/folder_views/standard_view.dart b/lib/folder_views/standard_view.dart
index 13cd832f..6c464536 100644
--- a/lib/folder_views/standard_view.dart
+++ b/lib/folder_views/standard_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/iap.dart b/lib/iap.dart
index a4347c49..cc1c6568 100644
--- a/lib/iap.dart
+++ b/lib/iap.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:convert';
 import 'dart:io' show Platform;
 
diff --git a/lib/main_autocomplete.dart b/lib/main_autocomplete.dart
index e1b29344..156b3b94 100644
--- a/lib/main_autocomplete.dart
+++ b/lib/main_autocomplete.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:ui';
 
 import 'package:flutter/material.dart';
diff --git a/lib/main_zeroconf.dart b/lib/main_zeroconf.dart
index e93a060c..a8b1a582 100644
--- a/lib/main_zeroconf.dart
+++ b/lib/main_zeroconf.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/lib/oauthapp.dart b/lib/oauthapp.dart
index c83eba41..4aea051a 100644
--- a/lib/oauthapp.dart
+++ b/lib/oauthapp.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'apis/githost_factory.dart';
diff --git a/lib/purchase_manager.dart b/lib/purchase_manager.dart
index a7fee1a8..688d8101 100644
--- a/lib/purchase_manager.dart
+++ b/lib/purchase_manager.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/repository.dart b/lib/repository.dart
index f19aef7d..58fb724a 100644
--- a/lib/repository.dart
+++ b/lib/repository.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/lib/repository_manager.dart b/lib/repository_manager.dart
index 40a65ec4..f8c07e7c 100644
--- a/lib/repository_manager.dart
+++ b/lib/repository_manager.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/screens/debug_screen.dart b/lib/screens/debug_screen.dart
index 5436272c..192226e5 100644
--- a/lib/screens/debug_screen.dart
+++ b/lib/screens/debug_screen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:convert';
 
 import 'package:flutter/material.dart';
diff --git a/lib/screens/feature_timeline_screen.dart b/lib/screens/feature_timeline_screen.dart
index d1013015..ffc031c7 100644
--- a/lib/screens/feature_timeline_screen.dart
+++ b/lib/screens/feature_timeline_screen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/gestures.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/screens/filesystem_screen.dart b/lib/screens/filesystem_screen.dart
index f25813f3..d69acf7b 100644
--- a/lib/screens/filesystem_screen.dart
+++ b/lib/screens/filesystem_screen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/screens/folder_listing.dart b/lib/screens/folder_listing.dart
index 17c5b3f9..337a3a12 100644
--- a/lib/screens/folder_listing.dart
+++ b/lib/screens/folder_listing.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
 
diff --git a/lib/screens/folder_view.dart b/lib/screens/folder_view.dart
index 289db0bb..48e92db9 100644
--- a/lib/screens/folder_view.dart
+++ b/lib/screens/folder_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/screens/graph_view.dart b/lib/screens/graph_view.dart
index b7500022..9160e53e 100644
--- a/lib/screens/graph_view.dart
+++ b/lib/screens/graph_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:provider/provider.dart';
diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart
index 519fd428..e830c078 100644
--- a/lib/screens/home_screen.dart
+++ b/lib/screens/home_screen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/screens/login_screen.dart b/lib/screens/login_screen.dart
index 1f94a771..a75f94f2 100644
--- a/lib/screens/login_screen.dart
+++ b/lib/screens/login_screen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
   Code adapted from https://github.com/TheAlphamerc/flutter_login_signup/
 
diff --git a/lib/screens/note_editor.dart b/lib/screens/note_editor.dart
index 2e03aead..bdf751a0 100644
--- a/lib/screens/note_editor.dart
+++ b/lib/screens/note_editor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
 
diff --git a/lib/screens/onboarding_screens.dart b/lib/screens/onboarding_screens.dart
index 68746758..1c83c307 100644
--- a/lib/screens/onboarding_screens.dart
+++ b/lib/screens/onboarding_screens.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:auto_size_text/auto_size_text.dart';
diff --git a/lib/screens/purchase_screen.dart b/lib/screens/purchase_screen.dart
index 5b63912a..4180e393 100644
--- a/lib/screens/purchase_screen.dart
+++ b/lib/screens/purchase_screen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 
 import 'package:flutter/material.dart';
diff --git a/lib/screens/settings_display_images.dart b/lib/screens/settings_display_images.dart
index fa3a40fa..4882572f 100644
--- a/lib/screens/settings_display_images.dart
+++ b/lib/screens/settings_display_images.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Roland Fredenhagen <important@van-fredenhagen.de>
 
diff --git a/lib/screens/settings_display_images_caption.dart b/lib/screens/settings_display_images_caption.dart
index bc88ac23..d7545fe6 100644
--- a/lib/screens/settings_display_images_caption.dart
+++ b/lib/screens/settings_display_images_caption.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Roland Fredenhagen <important@van-fredenhagen.de>
 
diff --git a/lib/screens/settings_display_images_theming.dart b/lib/screens/settings_display_images_theming.dart
index cab097c7..d733c4f0 100644
--- a/lib/screens/settings_display_images_theming.dart
+++ b/lib/screens/settings_display_images_theming.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Roland Fredenhagen <important@van-fredenhagen.de>
 
diff --git a/lib/screens/settings_experimental.dart b/lib/screens/settings_experimental.dart
index 3a95c2bb..abe9a51a 100644
--- a/lib/screens/settings_experimental.dart
+++ b/lib/screens/settings_experimental.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
 
diff --git a/lib/screens/settings_git_remote.dart b/lib/screens/settings_git_remote.dart
index e1961a95..6a1b9e46 100644
--- a/lib/screens/settings_git_remote.dart
+++ b/lib/screens/settings_git_remote.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/screens/settings_note_metadata.dart b/lib/screens/settings_note_metadata.dart
index a1443086..43f68ec5 100644
--- a/lib/screens/settings_note_metadata.dart
+++ b/lib/screens/settings_note_metadata.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart
index caf0c091..31223f7a 100644
--- a/lib/screens/settings_screen.dart
+++ b/lib/screens/settings_screen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
                     Roland Fredenhagen <important@van-fredenhagen.de>
diff --git a/lib/screens/settings_widgets.dart b/lib/screens/settings_widgets.dart
index 2a10823f..f3557814 100644
--- a/lib/screens/settings_widgets.dart
+++ b/lib/screens/settings_widgets.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/screens/signup_screen.dart b/lib/screens/signup_screen.dart
index b1606382..e86ba992 100644
--- a/lib/screens/signup_screen.dart
+++ b/lib/screens/signup_screen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:gitjournal/screens/login_screen.dart';
diff --git a/lib/screens/tag_listing.dart b/lib/screens/tag_listing.dart
index 8b2bd4b4..cbac3279 100644
--- a/lib/screens/tag_listing.dart
+++ b/lib/screens/tag_listing.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/settings.dart b/lib/settings.dart
index 8ed394e8..46675acb 100644
--- a/lib/settings.dart
+++ b/lib/settings.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
                     Roland Fredenhagen <important@van-fredenhagen.de>
diff --git a/lib/setup/autoconfigure.dart b/lib/setup/autoconfigure.dart
index b0404c5d..ce8fefc8 100644
--- a/lib/setup/autoconfigure.dart
+++ b/lib/setup/autoconfigure.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 
diff --git a/lib/setup/button.dart b/lib/setup/button.dart
index ff8b7974..f90d41cc 100644
--- a/lib/setup/button.dart
+++ b/lib/setup/button.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:function_types/function_types.dart';
diff --git a/lib/setup/clone.dart b/lib/setup/clone.dart
index f3615f7e..f12cc8b4 100644
--- a/lib/setup/clone.dart
+++ b/lib/setup/clone.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:dart_git/dart_git.dart';
 import 'package:git_bindings/git_bindings.dart' as git_bindings;
 import 'package:meta/meta.dart';
diff --git a/lib/setup/clone_url.dart b/lib/setup/clone_url.dart
index 861ac4b0..00ba4004 100644
--- a/lib/setup/clone_url.dart
+++ b/lib/setup/clone_url.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 
diff --git a/lib/setup/error.dart b/lib/setup/error.dart
index d934c435..c0c09b67 100644
--- a/lib/setup/error.dart
+++ b/lib/setup/error.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/setup/key_editors.dart b/lib/setup/key_editors.dart
index 36b5a322..0ec609c4 100644
--- a/lib/setup/key_editors.dart
+++ b/lib/setup/key_editors.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/setup/loading_error.dart b/lib/setup/loading_error.dart
index ece45bb2..00e5e3c8 100644
--- a/lib/setup/loading_error.dart
+++ b/lib/setup/loading_error.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'error.dart';
diff --git a/lib/setup/repo_selector.dart b/lib/setup/repo_selector.dart
index 5f4d5ac1..7b5d78de 100644
--- a/lib/setup/repo_selector.dart
+++ b/lib/setup/repo_selector.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/setup/screens.dart b/lib/setup/screens.dart
index e3e15e4f..1c1626c8 100644
--- a/lib/setup/screens.dart
+++ b/lib/setup/screens.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/setup/sshkey.dart b/lib/setup/sshkey.dart
index 801855d6..cee9c4b6 100644
--- a/lib/setup/sshkey.dart
+++ b/lib/setup/sshkey.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/ssh/keygen.dart b/lib/ssh/keygen.dart
index fee9a9d4..b694ba3f 100644
--- a/lib/ssh/keygen.dart
+++ b/lib/ssh/keygen.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:git_bindings/git_bindings.dart' as gb;
diff --git a/lib/utils.dart b/lib/utils.dart
index f901166b..9d625df0 100644
--- a/lib/utils.dart
+++ b/lib/utils.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/utils/datetime.dart b/lib/utils/datetime.dart
index ba129eed..ed937096 100644
--- a/lib/utils/datetime.dart
+++ b/lib/utils/datetime.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:core';
 
 import 'package:intl/intl.dart';
diff --git a/lib/utils/hero_dialog.dart b/lib/utils/hero_dialog.dart
index ab340f03..df1db5a8 100644
--- a/lib/utils/hero_dialog.dart
+++ b/lib/utils/hero_dialog.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Roland Fredenhagen <important@van-fredenhagen.de>
 
diff --git a/lib/utils/link_resolver.dart b/lib/utils/link_resolver.dart
index 1758ac66..cf062617 100644
--- a/lib/utils/link_resolver.dart
+++ b/lib/utils/link_resolver.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
 
diff --git a/lib/utils/logger.dart b/lib/utils/logger.dart
index 888b8514..34d0e765 100644
--- a/lib/utils/logger.dart
+++ b/lib/utils/logger.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:convert';
 import 'dart:io';
 
diff --git a/lib/widgets/app_drawer.dart b/lib/widgets/app_drawer.dart
index 9151c936..75e4b676 100644
--- a/lib/widgets/app_drawer.dart
+++ b/lib/widgets/app_drawer.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/widgets/app_drawer_header.dart b/lib/widgets/app_drawer_header.dart
index d3e2fa2c..9f5c1309 100644
--- a/lib/widgets/app_drawer_header.dart
+++ b/lib/widgets/app_drawer_header.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/widgets/editor_scroll_view.dart b/lib/widgets/editor_scroll_view.dart
index 6d9668e0..ba7269db 100644
--- a/lib/widgets/editor_scroll_view.dart
+++ b/lib/widgets/editor_scroll_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 /// A Scroll view which occupies the full height of the parent, and doesn't
diff --git a/lib/widgets/folder_selection_dialog.dart b/lib/widgets/folder_selection_dialog.dart
index 02655949..1834c552 100644
--- a/lib/widgets/folder_selection_dialog.dart
+++ b/lib/widgets/folder_selection_dialog.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/widgets/folder_tree_view.dart b/lib/widgets/folder_tree_view.dart
index f9067ff2..a8f6997e 100644
--- a/lib/widgets/folder_tree_view.dart
+++ b/lib/widgets/folder_tree_view.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:gitjournal/core/notes_folder_fs.dart';
diff --git a/lib/widgets/highlighted_text.dart b/lib/widgets/highlighted_text.dart
index 3d08e95b..a2c892b0 100644
--- a/lib/widgets/highlighted_text.dart
+++ b/lib/widgets/highlighted_text.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 class HighlightedText extends StatelessWidget {
diff --git a/lib/widgets/icon_dismissable.dart b/lib/widgets/icon_dismissable.dart
index c1f6e54f..0b5302a8 100644
--- a/lib/widgets/icon_dismissable.dart
+++ b/lib/widgets/icon_dismissable.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/widgets/images/markdown_image.dart b/lib/widgets/images/markdown_image.dart
index 01da95cb..b5266880 100644
--- a/lib/widgets/images/markdown_image.dart
+++ b/lib/widgets/images/markdown_image.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Roland Fredenhagen <important@van-fredenhagen.de>
 
diff --git a/lib/widgets/images/themable_image.dart b/lib/widgets/images/themable_image.dart
index 6d50ade0..ecbfbdb1 100644
--- a/lib/widgets/images/themable_image.dart
+++ b/lib/widgets/images/themable_image.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Roland Fredenhagen <important@van-fredenhagen.de>
 
diff --git a/lib/widgets/journal_editor_header.dart b/lib/widgets/journal_editor_header.dart
index 1e43fca9..bba6b2d5 100644
--- a/lib/widgets/journal_editor_header.dart
+++ b/lib/widgets/journal_editor_header.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:intl/intl.dart';
diff --git a/lib/widgets/markdown_renderer.dart b/lib/widgets/markdown_renderer.dart
index a36ee4e3..dca4723c 100644
--- a/lib/widgets/markdown_renderer.dart
+++ b/lib/widgets/markdown_renderer.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
                     Roland Fredenhagen <important@van-fredenhagen.de>
diff --git a/lib/widgets/markdown_toolbar.dart b/lib/widgets/markdown_toolbar.dart
index 3a1e6d80..ad832514 100644
--- a/lib/widgets/markdown_toolbar.dart
+++ b/lib/widgets/markdown_toolbar.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:font_awesome_flutter/font_awesome_flutter.dart';
diff --git a/lib/widgets/new_note_nav_bar.dart b/lib/widgets/new_note_nav_bar.dart
index 09ab2bea..54a003d8 100644
--- a/lib/widgets/new_note_nav_bar.dart
+++ b/lib/widgets/new_note_nav_bar.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:font_awesome_flutter/font_awesome_flutter.dart';
diff --git a/lib/widgets/note_editor_selector.dart b/lib/widgets/note_editor_selector.dart
index 1633feb6..b45cad64 100644
--- a/lib/widgets/note_editor_selector.dart
+++ b/lib/widgets/note_editor_selector.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
 Copyright 2020-2021 Vishesh Handa <me@vhanda.in>
 
diff --git a/lib/widgets/note_search_delegate.dart b/lib/widgets/note_search_delegate.dart
index add84016..8dac661e 100644
--- a/lib/widgets/note_search_delegate.dart
+++ b/lib/widgets/note_search_delegate.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/widgets/note_tag_editor.dart b/lib/widgets/note_tag_editor.dart
index 1b2b2814..b8b84526 100644
--- a/lib/widgets/note_tag_editor.dart
+++ b/lib/widgets/note_tag_editor.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/widgets/note_viewer.dart b/lib/widgets/note_viewer.dart
index 27947718..f36e9463 100644
--- a/lib/widgets/note_viewer.dart
+++ b/lib/widgets/note_viewer.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/widgets/notes_backlinks.dart b/lib/widgets/notes_backlinks.dart
index 6fc6b347..c283bdc4 100644
--- a/lib/widgets/notes_backlinks.dart
+++ b/lib/widgets/notes_backlinks.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
diff --git a/lib/widgets/pro_overlay.dart b/lib/widgets/pro_overlay.dart
index 70850b46..e5041a29 100644
--- a/lib/widgets/pro_overlay.dart
+++ b/lib/widgets/pro_overlay.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/widgets/purchase_slider.dart b/lib/widgets/purchase_slider.dart
index 3661ca4c..9530b726 100644
--- a/lib/widgets/purchase_slider.dart
+++ b/lib/widgets/purchase_slider.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:math';
 
 import 'package:flutter/material.dart';
diff --git a/lib/widgets/purchase_widget.dart b/lib/widgets/purchase_widget.dart
index 6bbc441e..e232b69e 100644
--- a/lib/widgets/purchase_widget.dart
+++ b/lib/widgets/purchase_widget.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 
 import 'package:flutter/material.dart';
diff --git a/lib/widgets/rename_dialog.dart b/lib/widgets/rename_dialog.dart
index c1b3a5eb..c960e0ee 100644
--- a/lib/widgets/rename_dialog.dart
+++ b/lib/widgets/rename_dialog.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:flutter/material.dart';
diff --git a/lib/widgets/scroll_view_without_animation.dart b/lib/widgets/scroll_view_without_animation.dart
index 220308a0..efd5ff3b 100644
--- a/lib/widgets/scroll_view_without_animation.dart
+++ b/lib/widgets/scroll_view_without_animation.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 class ScrollViewWithoutAnimation extends StatelessWidget {
diff --git a/lib/widgets/sorting_mode_selector.dart b/lib/widgets/sorting_mode_selector.dart
index 991cf7cd..df35586b 100644
--- a/lib/widgets/sorting_mode_selector.dart
+++ b/lib/widgets/sorting_mode_selector.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
diff --git a/lib/widgets/sync_button.dart b/lib/widgets/sync_button.dart
index bedadfe8..dde1faab 100644
--- a/lib/widgets/sync_button.dart
+++ b/lib/widgets/sync_button.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:async';
 
 import 'package:flutter/material.dart';
diff --git a/pubspec.lock b/pubspec.lock
index b06f6d77..5f10f55f 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -128,7 +128,7 @@ packages:
     source: hosted
     version: "1.1.0"
   collection:
-    dependency: transitive
+    dependency: "direct main"
     description:
       name: collection
       url: "https://pub.dartlang.org"
diff --git a/pubspec.yaml b/pubspec.yaml
index 3d99db1b..a9ab26a9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: A Note Taking App Built on top of Git
 version: 1.75.1+10
 
 environment:
-  sdk: ">=2.10.0 <3.0.0"
+  sdk: '>=2.12.0 <3.0.0'
   flutter: ">=2.0.3"
 
 publish_to: none
@@ -77,6 +77,7 @@ dependencies:
   uuid: ^3.0.4
   yaml: ^3.1.0
   yaml_serializer: ^0.0.11
+  collection: ^1.15.0-nullsafety.4
 
 dev_dependencies:
   #flutter_driver:
diff --git a/test/autocompletion/tags_test.dart b/test/autocompletion/tags_test.dart
index 9fe1eb1f..0c9f8160 100644
--- a/test/autocompletion/tags_test.dart
+++ b/test/autocompletion/tags_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:test/test.dart';
 
 import 'package:gitjournal/editors/autocompletion_widget.dart';
diff --git a/test/checklist_test.dart b/test/checklist_test.dart
index 6d78823e..419d7930 100644
--- a/test/checklist_test.dart
+++ b/test/checklist_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
diff --git a/test/editor_heuristics_test.dart b/test/editor_heuristics_test.dart
index 96f2796c..db497e76 100644
--- a/test/editor_heuristics_test.dart
+++ b/test/editor_heuristics_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:test/test.dart';
 
 import 'package:gitjournal/editors/heuristics.dart';
diff --git a/test/flattened_notes_folder_large_test.dart b/test/flattened_notes_folder_large_test.dart
index e244fbce..b24cd7a6 100644
--- a/test/flattened_notes_folder_large_test.dart
+++ b/test/flattened_notes_folder_large_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 import 'dart:math';
 
diff --git a/test/flattened_notes_folder_test.dart b/test/flattened_notes_folder_test.dart
index 6c28130d..40155b19 100644
--- a/test/flattened_notes_folder_test.dart
+++ b/test/flattened_notes_folder_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 import 'dart:math';
 
diff --git a/test/link_resolver_test.dart b/test/link_resolver_test.dart
index 77148175..38c291cb 100644
--- a/test/link_resolver_test.dart
+++ b/test/link_resolver_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
diff --git a/test/links_loader_test.dart b/test/links_loader_test.dart
index 56ff134a..f198b359 100644
--- a/test/links_loader_test.dart
+++ b/test/links_loader_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:test/test.dart';
 
 import 'package:gitjournal/core/links_loader.dart';
diff --git a/test/markdown_bug_test.dart b/test/markdown_bug_test.dart
index 10febde9..40e83438 100644
--- a/test/markdown_bug_test.dart
+++ b/test/markdown_bug_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 /*
   MIT License
 
diff --git a/test/markdown_toolbar_test.dart b/test/markdown_toolbar_test.dart
index 58e02d6e..d29d3b9d 100644
--- a/test/markdown_toolbar_test.dart
+++ b/test/markdown_toolbar_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'package:flutter/material.dart';
 
 import 'package:test/test.dart';
diff --git a/test/md_yaml_codec_test.dart b/test/md_yaml_codec_test.dart
index a16f722c..4c5e7053 100644
--- a/test/md_yaml_codec_test.dart
+++ b/test/md_yaml_codec_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:collection';
 
 import 'package:test/test.dart';
diff --git a/test/md_yaml_doc_loader_test.dart b/test/md_yaml_doc_loader_test.dart
index f8b32173..cd497820 100644
--- a/test/md_yaml_doc_loader_test.dart
+++ b/test/md_yaml_doc_loader_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
diff --git a/test/note_serializer_test.dart b/test/note_serializer_test.dart
index d907bc99..9e2bb34e 100644
--- a/test/note_serializer_test.dart
+++ b/test/note_serializer_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:collection';
 
 import 'package:test/test.dart';
diff --git a/test/note_storage_test.dart b/test/note_storage_test.dart
index d1e170b0..dd5ee613 100644
--- a/test/note_storage_test.dart
+++ b/test/note_storage_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:collection';
 import 'dart:io';
 
diff --git a/test/note_test.dart b/test/note_test.dart
index fca72ea1..43aea80c 100644
--- a/test/note_test.dart
+++ b/test/note_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
diff --git a/test/notes_cache_test.dart b/test/notes_cache_test.dart
index d83e1176..2d472a95 100644
--- a/test/notes_cache_test.dart
+++ b/test/notes_cache_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
diff --git a/test/notes_folder_config_test.dart b/test/notes_folder_config_test.dart
index f9910100..17c7d4aa 100644
--- a/test/notes_folder_config_test.dart
+++ b/test/notes_folder_config_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
diff --git a/test/sorted_notes_folder_test.dart b/test/sorted_notes_folder_test.dart
index d9004954..d2d6a5ee 100644
--- a/test/sorted_notes_folder_test.dart
+++ b/test/sorted_notes_folder_test.dart
@@ -1,3 +1,5 @@
+// @dart=2.9
+
 import 'dart:io';
 import 'dart:math';
 
diff --git a/test_driver/main.dart b/test_driver/main.dart
index 60bedda2..efe0b646 100644
--- a/test_driver/main.dart
+++ b/test_driver/main.dart
@@ -103,7 +103,7 @@ Future<void> populateWithData(SharedPreferences pref) async {
 }
 
 void createNote(String filePath, DateTime dt,
-    {@required String body, String title}) {
+    {required String body, String? title}) {
   var content = "";
 
   if (title == null) {