diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json
index b2ba0d5..051ed07 100644
--- a/.dart_tool/package_config.json
+++ b/.dart_tool/package_config.json
@@ -124,7 +124,7 @@
       "name": "benchmark_harness",
       "rootUri": "../third_party/pkg/benchmark_harness",
       "packageUri": "lib/",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     },
     {
       "name": "boolean_selector",
@@ -261,7 +261,7 @@
       "name": "ffi",
       "rootUri": "../third_party/pkg/ffi",
       "packageUri": "lib/",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     },
     {
       "name": "fixnum",
@@ -773,4 +773,4 @@
       "languageVersion": "2.4"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 36ad29f..4336a2e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,16 @@
-## 2.11.0
+## 2.12.0
+
+### Language
+
+**Breaking Change** [Null
+Safety](https://dart.dev/null-safety/understanding-null-safety) is now enabled
+by default in all packages with a lower sdk constraint of 2.12.0 or greater.
+Files that are not subject to language versioning (whether because they are not
+contained in a pub package, or because the package that they are contained in
+has no lower sdk constraint) are treated as opted into to null safety by default
+and may report new errors.  Pub packages may be opted out of null safety by
+setting a min sdk constraint in pubspec.yaml of 2.9.0 or less.  Files may be
+opted out of null safety by adding `// @dart=2.9` to the beginning of the file.
 
 ### Core libraries
 
diff --git a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
index 9f390a8..9103fc1 100644
--- a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
@@ -8,7 +8,7 @@
 
 /// The current version of the Dart language (or, for non-stable releases, the
 /// version of the language currently in the process of being developed).
-const _currentVersion = '2.11.0';
+const _currentVersion = '2.12.0';
 
 /// A map containing information about all known experimental flags.
 final _knownFeatures = <String, ExperimentalFeature>{
@@ -98,7 +98,7 @@
     isExpired: IsExpired.non_nullable,
     documentation: 'Non Nullable by default',
     experimentalReleaseVersion: Version.parse('2.10.0'),
-    releaseVersion: null,
+    releaseVersion: Version.parse('2.12.0'),
   );
 
   static final nonfunction_type_aliases = ExperimentalFeature(
@@ -175,7 +175,7 @@
   static const bool extension_methods = true;
 
   /// Default state of the experiment "non-nullable"
-  static const bool non_nullable = false;
+  static const bool non_nullable = true;
 
   /// Default state of the experiment "nonfunction-type-aliases"
   static const bool nonfunction_type_aliases = false;
diff --git a/pkg/compiler/test/codegen/data/tdiv1.dart b/pkg/compiler/test/codegen/data/tdiv1.dart
index 554e0c6..fb8d4d0b 100644
--- a/pkg/compiler/test/codegen/data/tdiv1.dart
+++ b/pkg/compiler/test/codegen/data/tdiv1.dart
@@ -2,7 +2,7 @@
 // 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.
 
-//@dart=2.10
+//@dart=2.12
 
 /*member: main:ignore*/
 void main() {
diff --git a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
index 4be55af..9be22af 100644
--- a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
+++ b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
@@ -24,17 +24,17 @@
 }
 
 const Version enableAlternativeInvalidationStrategyVersion =
-    const Version(2, 11);
+    const Version(2, 12);
 const Version enableConstantUpdate2018Version = const Version(2, 0);
 const Version enableControlFlowCollectionsVersion = const Version(2, 0);
 const Version enableExtensionMethodsVersion = const Version(2, 6);
-const Version enableNonNullableVersion = const Version(2, 11);
-const Version enableNonfunctionTypeAliasesVersion = const Version(2, 11);
+const Version enableNonNullableVersion = const Version(2, 12);
+const Version enableNonfunctionTypeAliasesVersion = const Version(2, 12);
 const Version enableSetLiteralsVersion = const Version(2, 0);
 const Version enableSpreadCollectionsVersion = const Version(2, 0);
-const Version enableTripleShiftVersion = const Version(2, 11);
-const Version enableValueClassVersion = const Version(2, 11);
-const Version enableVarianceVersion = const Version(2, 11);
+const Version enableTripleShiftVersion = const Version(2, 12);
+const Version enableValueClassVersion = const Version(2, 12);
+const Version enableVarianceVersion = const Version(2, 12);
 
 ExperimentalFlag parseExperimentalFlag(String flag) {
   switch (flag) {
@@ -69,7 +69,7 @@
   ExperimentalFlag.constantUpdate2018: true,
   ExperimentalFlag.controlFlowCollections: true,
   ExperimentalFlag.extensionMethods: true,
-  ExperimentalFlag.nonNullable: false,
+  ExperimentalFlag.nonNullable: true,
   ExperimentalFlag.nonfunctionTypeAliases: false,
   ExperimentalFlag.setLiterals: true,
   ExperimentalFlag.spreadCollections: true,
@@ -93,31 +93,31 @@
 };
 
 const Map<ExperimentalFlag, Version> experimentEnabledVersion = {
-  ExperimentalFlag.alternativeInvalidationStrategy: const Version(2, 11),
+  ExperimentalFlag.alternativeInvalidationStrategy: const Version(2, 12),
   ExperimentalFlag.constantUpdate2018: const Version(2, 0),
   ExperimentalFlag.controlFlowCollections: const Version(2, 0),
   ExperimentalFlag.extensionMethods: const Version(2, 6),
-  ExperimentalFlag.nonNullable: const Version(2, 11),
-  ExperimentalFlag.nonfunctionTypeAliases: const Version(2, 11),
+  ExperimentalFlag.nonNullable: const Version(2, 12),
+  ExperimentalFlag.nonfunctionTypeAliases: const Version(2, 12),
   ExperimentalFlag.setLiterals: const Version(2, 0),
   ExperimentalFlag.spreadCollections: const Version(2, 0),
-  ExperimentalFlag.tripleShift: const Version(2, 11),
-  ExperimentalFlag.valueClass: const Version(2, 11),
-  ExperimentalFlag.variance: const Version(2, 11),
+  ExperimentalFlag.tripleShift: const Version(2, 12),
+  ExperimentalFlag.valueClass: const Version(2, 12),
+  ExperimentalFlag.variance: const Version(2, 12),
 };
 
 const Map<ExperimentalFlag, Version> experimentReleasedVersion = {
-  ExperimentalFlag.alternativeInvalidationStrategy: const Version(2, 11),
+  ExperimentalFlag.alternativeInvalidationStrategy: const Version(2, 12),
   ExperimentalFlag.constantUpdate2018: const Version(2, 0),
   ExperimentalFlag.controlFlowCollections: const Version(2, 0),
   ExperimentalFlag.extensionMethods: const Version(2, 6),
   ExperimentalFlag.nonNullable: const Version(2, 10),
-  ExperimentalFlag.nonfunctionTypeAliases: const Version(2, 11),
+  ExperimentalFlag.nonfunctionTypeAliases: const Version(2, 12),
   ExperimentalFlag.setLiterals: const Version(2, 0),
   ExperimentalFlag.spreadCollections: const Version(2, 0),
-  ExperimentalFlag.tripleShift: const Version(2, 11),
-  ExperimentalFlag.valueClass: const Version(2, 11),
-  ExperimentalFlag.variance: const Version(2, 11),
+  ExperimentalFlag.tripleShift: const Version(2, 12),
+  ExperimentalFlag.valueClass: const Version(2, 12),
+  ExperimentalFlag.variance: const Version(2, 12),
 };
 
 const AllowedExperimentalFlags defaultAllowedExperimentalFlags =
diff --git a/pkg/front_end/test/test_generator_test.dart b/pkg/front_end/test/test_generator_test.dart
index 9ce654d..a701999 100644
--- a/pkg/front_end/test/test_generator_test.dart
+++ b/pkg/front_end/test/test_generator_test.dart
@@ -223,6 +223,6 @@
   Generator(this.typeParameters, this.beforePlug, this.afterPlug);
 
   String generate(String plug) {
-    return "${beforePlug}${plug}${afterPlug}";
+    return "// @dart = 2.9\n${beforePlug}${plug}${afterPlug}";
   }
 }
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.outline.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.outline.expect
index dbdc77e..f56cd1f 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.outline.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.outline.expect
@@ -9,23 +9,20 @@
 // // @dart=2.8
 // ^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versionedUnallowedPackage; // error
 //    ^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental and requires language version of 2.9 or higher.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_8_AllowedPackage; // error
 //    ^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_9_AllowedPackage; // error
 //    ^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? versionedAllowedPackage; // error
 //    ^
 //
@@ -52,8 +49,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? unversionedLibrary; // error
 //    ^
 //
@@ -66,8 +63,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental and requires language version of 2.9 or higher.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
 //
@@ -80,8 +76,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_9_Library; // error
 //    ^
 //
@@ -94,8 +89,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? versioned_2_10_Library; // error
 //    ^
 //
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.expect
index 2846fe1..cc7d176 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.expect
@@ -9,23 +9,20 @@
 // // @dart=2.8
 // ^^^^^^^^^^^^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versionedUnallowedPackage; // error
 //    ^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental and requires language version of 2.9 or higher.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_8_AllowedPackage; // error
 //    ^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_9_AllowedPackage; // error
 //    ^
 //
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? versionedAllowedPackage; // error
 //    ^
 //
@@ -51,8 +48,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? unversionedLibrary; // error
 //    ^
 //
@@ -65,8 +62,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental and requires language version of 2.9 or higher.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
 //
@@ -79,8 +75,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_9_Library; // error
 //    ^
 //
@@ -93,8 +88,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? versioned_2_10_Library; // error
 //    ^
 //
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.transformed.expect
index 43eedc9..77ecfc9 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.transformed.expect
@@ -20,8 +20,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? unversionedLibrary; // error
 //    ^
 //
@@ -34,8 +34,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental and requires language version of 2.9 or higher.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
 //
@@ -48,8 +47,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
 // int? versioned_2_9_Library; // error
 //    ^
 //
@@ -62,8 +60,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? versioned_2_10_Library; // error
 //    ^
 //
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.outline.expect
index 65bed41..08fe734 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.outline.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.outline.expect
@@ -2,8 +2,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? i;
 //    ^
 //
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.expect
index a2fd43e..cb74741 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.expect
@@ -2,8 +2,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? i;
 //    ^
 //
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.transformed.expect
index a2fd43e..cb74741 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.transformed.expect
@@ -2,8 +2,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 // int? i;
 //    ^
 //
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.outline.expect
index e55d2e4..ffc88d6 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.outline.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.outline.expect
@@ -2,8 +2,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which is experimental and requires language version of 2.10 or higher.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.12 or higher.
 // int? i;
 //    ^
 //
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.expect
index 9a19627..996501a 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.expect
@@ -2,8 +2,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which is experimental and requires language version of 2.10 or higher.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.12 or higher.
 // int? i;
 //    ^
 //
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.transformed.expect
index 9a19627..996501a 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.transformed.expect
@@ -2,8 +2,7 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which is experimental and requires language version of 2.10 or higher.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.12 or higher.
 // int? i;
 //    ^
 //
diff --git a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.outline.expect b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.outline.expect
index 0d9ef5b..e9e3bdd 100644
--- a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.outline.expect
+++ b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.outline.expect
@@ -1,60 +1,40 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class SubClass extends mai::Class {
-  synthetic constructor •() → self::SubClass*
+  synthetic constructor •() → self::SubClass
     ;
 }
 static method main() → dynamic
   ;
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
 class SuperClass extends core::Object {
-  synthetic constructor •() → mai::SuperClass*
+  synthetic constructor •() → mai::SuperClass
     ;
-  method method(covariant core::int* i) → void
+  method method(covariant core::int i) → void
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 class Mixin extends core::Object {
-  synthetic constructor •() → mai::Mixin*
+  synthetic constructor •() → mai::Mixin
     ;
-  method method(core::num* i) → void
+  method method(core::num i) → void
     ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 abstract class _Class&SuperClass&Mixin = mai::SuperClass with mai::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → mai::_Class&SuperClass&Mixin*
+  synthetic constructor •() → mai::_Class&SuperClass&Mixin
     : super mai::SuperClass::•()
     ;
-  forwarding-stub method method(covariant core::num* i) → void
+  forwarding-stub method method(covariant core::num i) → void
     return super.{mai::SuperClass::method}(i);
 }
 class Class extends mai::_Class&SuperClass&Mixin {
-  synthetic constructor •() → mai::Class*
+  synthetic constructor •() → mai::Class
     ;
 }
diff --git a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.strong.expect b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.strong.expect
index 4ad4202..cd8c81e 100644
--- a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.strong.expect
+++ b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.strong.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class SubClass extends mai::Class {
-  synthetic constructor •() → self::SubClass*
+  synthetic constructor •() → self::SubClass
     : super mai::Class::•()
     ;
 }
@@ -13,51 +13,31 @@
   new self::SubClass::•();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
 class SuperClass extends core::Object {
-  synthetic constructor •() → mai::SuperClass*
+  synthetic constructor •() → mai::SuperClass
     : super core::Object::•()
     ;
-  method method(covariant core::int* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method method(covariant core::int i) → void {}
 }
 class Mixin extends core::Object {
-  synthetic constructor •() → mai::Mixin*
+  synthetic constructor •() → mai::Mixin
     : super core::Object::•()
     ;
-  method method(core::num* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method method(core::num i) → void {}
 }
 abstract class _Class&SuperClass&Mixin = mai::SuperClass with mai::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → mai::_Class&SuperClass&Mixin*
+  synthetic constructor •() → mai::_Class&SuperClass&Mixin
     : super mai::SuperClass::•()
     ;
-  forwarding-stub method method(covariant core::num* i) → void
+  forwarding-stub method method(covariant core::num i) → void
     return super.{mai::SuperClass::method}(i);
 }
 class Class extends mai::_Class&SuperClass&Mixin {
-  synthetic constructor •() → mai::Class*
+  synthetic constructor •() → mai::Class
     : super mai::_Class&SuperClass&Mixin::•()
     ;
 }
diff --git a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.strong.transformed.expect b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.strong.transformed.expect
index 4ad4202..cd8c81e 100644
--- a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.strong.transformed.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class SubClass extends mai::Class {
-  synthetic constructor •() → self::SubClass*
+  synthetic constructor •() → self::SubClass
     : super mai::Class::•()
     ;
 }
@@ -13,51 +13,31 @@
   new self::SubClass::•();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
 class SuperClass extends core::Object {
-  synthetic constructor •() → mai::SuperClass*
+  synthetic constructor •() → mai::SuperClass
     : super core::Object::•()
     ;
-  method method(covariant core::int* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method method(covariant core::int i) → void {}
 }
 class Mixin extends core::Object {
-  synthetic constructor •() → mai::Mixin*
+  synthetic constructor •() → mai::Mixin
     : super core::Object::•()
     ;
-  method method(core::num* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method method(core::num i) → void {}
 }
 abstract class _Class&SuperClass&Mixin = mai::SuperClass with mai::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → mai::_Class&SuperClass&Mixin*
+  synthetic constructor •() → mai::_Class&SuperClass&Mixin
     : super mai::SuperClass::•()
     ;
-  forwarding-stub method method(covariant core::num* i) → void
+  forwarding-stub method method(covariant core::num i) → void
     return super.{mai::SuperClass::method}(i);
 }
 class Class extends mai::_Class&SuperClass&Mixin {
-  synthetic constructor •() → mai::Class*
+  synthetic constructor •() → mai::Class
     : super mai::_Class&SuperClass&Mixin::•()
     ;
 }
diff --git a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.expect b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.expect
index 4ad4202..cd8c81e 100644
--- a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.expect
+++ b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class SubClass extends mai::Class {
-  synthetic constructor •() → self::SubClass*
+  synthetic constructor •() → self::SubClass
     : super mai::Class::•()
     ;
 }
@@ -13,51 +13,31 @@
   new self::SubClass::•();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
 class SuperClass extends core::Object {
-  synthetic constructor •() → mai::SuperClass*
+  synthetic constructor •() → mai::SuperClass
     : super core::Object::•()
     ;
-  method method(covariant core::int* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method method(covariant core::int i) → void {}
 }
 class Mixin extends core::Object {
-  synthetic constructor •() → mai::Mixin*
+  synthetic constructor •() → mai::Mixin
     : super core::Object::•()
     ;
-  method method(core::num* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method method(core::num i) → void {}
 }
 abstract class _Class&SuperClass&Mixin = mai::SuperClass with mai::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → mai::_Class&SuperClass&Mixin*
+  synthetic constructor •() → mai::_Class&SuperClass&Mixin
     : super mai::SuperClass::•()
     ;
-  forwarding-stub method method(covariant core::num* i) → void
+  forwarding-stub method method(covariant core::num i) → void
     return super.{mai::SuperClass::method}(i);
 }
 class Class extends mai::_Class&SuperClass&Mixin {
-  synthetic constructor •() → mai::Class*
+  synthetic constructor •() → mai::Class
     : super mai::_Class&SuperClass&Mixin::•()
     ;
 }
diff --git a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.transformed.expect b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.transformed.expect
index 4ad4202..cd8c81e 100644
--- a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.transformed.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
 import self as self;
 import "main_lib.dart" as mai;
 
 import "org-dartlang-testcase:///main_lib.dart";
 
 class SubClass extends mai::Class {
-  synthetic constructor •() → self::SubClass*
+  synthetic constructor •() → self::SubClass
     : super mai::Class::•()
     ;
 }
@@ -13,51 +13,31 @@
   new self::SubClass::•();
 }
 
-library;
+library /*isNonNullableByDefault*/;
 import self as mai;
 import "dart:core" as core;
 
 class SuperClass extends core::Object {
-  synthetic constructor •() → mai::SuperClass*
+  synthetic constructor •() → mai::SuperClass
     : super core::Object::•()
     ;
-  method method(covariant core::int* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method method(covariant core::int i) → void {}
 }
 class Mixin extends core::Object {
-  synthetic constructor •() → mai::Mixin*
+  synthetic constructor •() → mai::Mixin
     : super core::Object::•()
     ;
-  method method(core::num* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  method method(core::num i) → void {}
 }
 abstract class _Class&SuperClass&Mixin = mai::SuperClass with mai::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → mai::_Class&SuperClass&Mixin*
+  synthetic constructor •() → mai::_Class&SuperClass&Mixin
     : super mai::SuperClass::•()
     ;
-  forwarding-stub method method(covariant core::num* i) → void
+  forwarding-stub method method(covariant core::num i) → void
     return super.{mai::SuperClass::method}(i);
 }
 class Class extends mai::_Class&SuperClass&Mixin {
-  synthetic constructor •() → mai::Class*
+  synthetic constructor •() → mai::Class
     : super mai::_Class&SuperClass&Mixin::•()
     ;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect
index 213fb86..8301dfb 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect
@@ -2,8 +2,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 //   return null?[1];
 //               ^
 //
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect
index 49cab5b..19c01b2 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect
@@ -2,8 +2,8 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: This requires the null safety language feature, which is experimental.
-// You can enable the experiment using the '--enable-experiment=non-nullable' command line option.
+// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: This requires the 'non-nullable' language feature to be enabled.
+// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
 //   return null?[1];
 //               ^
 //
diff --git a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.expect b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.expect
index 66cffa4..aad6d8e 100644
--- a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.expect
+++ b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.expect
Binary files differ
diff --git a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.transformed.expect
index 66cffa4..aad6d8e 100644
--- a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.transformed.expect
Binary files differ
diff --git a/pkg/kernel/lib/default_language_version.dart b/pkg/kernel/lib/default_language_version.dart
index eb90980..465988e 100644
--- a/pkg/kernel/lib/default_language_version.dart
+++ b/pkg/kernel/lib/default_language_version.dart
@@ -9,4 +9,4 @@
 
 import "ast.dart";
 
-Version defaultLanguageVersion = const Version(2, 11);
+Version defaultLanguageVersion = const Version(2, 12);
diff --git a/pkg/test_runner/lib/src/compiler_configuration.dart b/pkg/test_runner/lib/src/compiler_configuration.dart
index 01ae343..616cf8c 100644
--- a/pkg/test_runner/lib/src/compiler_configuration.dart
+++ b/pkg/test_runner/lib/src/compiler_configuration.dart
@@ -28,8 +28,6 @@
   var experiments = {
     ...configuration.experiments,
     ...testFile.experiments,
-    if (configuration.nnbdMode != NnbdMode.legacy)
-      'non-nullable',
   };
   if (experiments.isEmpty) {
     return const [];
diff --git a/pkg/vm/test/incremental_compiler_test.dart b/pkg/vm/test/incremental_compiler_test.dart
index 588b90c..52a98e6 100644
--- a/pkg/vm/test/incremental_compiler_test.dart
+++ b/pkg/vm/test/incremental_compiler_test.dart
@@ -71,7 +71,7 @@
           .writeLibraryFile(component.mainMethod.enclosingLibrary);
       expect(
           buffer.toString(),
-          equals('library;\n'
+          equals('library /*isNonNullableByDefault*/;\n'
               'import self as self;\n'
               '\n'
               'static method main() → dynamic {}\n'));
@@ -93,7 +93,7 @@
           .writeLibraryFile(component.mainMethod.enclosingLibrary);
       expect(
           buffer.toString(),
-          equals('library;\n'
+          equals('library /*isNonNullableByDefault*/;\n'
               'import self as self;\n'
               '\n'
               'static method main() → dynamic {}\n'));
diff --git a/runtime/vm/unit_test.cc b/runtime/vm/unit_test.cc
index b6cb15e..528aeb9e 100644
--- a/runtime/vm/unit_test.cc
+++ b/runtime/vm/unit_test.cc
@@ -220,7 +220,7 @@
 }
 
 bool TestCase::IsNNBD() {
-  return KernelIsolate::GetExperimentalFlag("non-nullable");
+  return !KernelIsolate::GetExperimentalFlag("no-non-nullable");
 }
 
 #ifndef PRODUCT
diff --git a/tests/language/nnbd/experiment_release_version/opt_in_test.dart b/tests/language/nnbd/experiment_release_version/opt_in_test.dart
index 8152f3d..a5ea27c 100644
--- a/tests/language/nnbd/experiment_release_version/opt_in_test.dart
+++ b/tests/language/nnbd/experiment_release_version/opt_in_test.dart
@@ -4,7 +4,7 @@
 
 // This version should continue to opt in to null safety in purpetuity (or at
 // least until Dart 3), when the experiment is enabled.
-// @dart = 2.10
+// @dart = 2.12
 
 void main() {
   // This should be an error since we are opted in.
diff --git a/tests/language/nnbd/extreme_bounds/superinterfaces_null_safe_lib.dart b/tests/language/nnbd/extreme_bounds/superinterfaces_null_safe_lib.dart
index 93e4ad2..3025e83 100644
--- a/tests/language/nnbd/extreme_bounds/superinterfaces_null_safe_lib.dart
+++ b/tests/language/nnbd/extreme_bounds/superinterfaces_null_safe_lib.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// @dart = 2.10
-
 // This library establishes an opted in class hierarchy which has a single
 // non-generic top element, with a generic element below it, and a null safety
 // specific instantantiation of the generic below that.  This is used to test
diff --git a/tests/language/nnbd/extreme_bounds/superinterfaces_out_of_order_error_test.dart b/tests/language/nnbd/extreme_bounds/superinterfaces_out_of_order_error_test.dart
index 50e53c2..dbd31a3 100644
--- a/tests/language/nnbd/extreme_bounds/superinterfaces_out_of_order_error_test.dart
+++ b/tests/language/nnbd/extreme_bounds/superinterfaces_out_of_order_error_test.dart
@@ -4,8 +4,6 @@
 
 // Requirements=nnbd-weak
 
-// @dart = 2.10
-
 // Test that upper bound computations which rely on the computations of the
 // cardinality of the superinterface sets define those sets without erasing or
 // modifying the superinterfaces.
diff --git a/tests/lib/isolate/scenarios/package_relative_root/.dart_tool/package_config.json b/tests/lib/isolate/scenarios/package_relative_root/.dart_tool/package_config.json
index 6d510b8..15b97d3 100644
--- a/tests/lib/isolate/scenarios/package_relative_root/.dart_tool/package_config.json
+++ b/tests/lib/isolate/scenarios/package_relative_root/.dart_tool/package_config.json
@@ -4,12 +4,12 @@
     {
       "name": "foo",
       "rootUri": "../packages/foo",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     },
     {
       "name": "bar",
       "rootUri": "../packages/bar",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/tests/lib/isolate/scenarios/package_relative_spec/.dart_tool/package_config.json b/tests/lib/isolate/scenarios/package_relative_spec/.dart_tool/package_config.json
index 740a2dd..abf1414 100644
--- a/tests/lib/isolate/scenarios/package_relative_spec/.dart_tool/package_config.json
+++ b/tests/lib/isolate/scenarios/package_relative_spec/.dart_tool/package_config.json
@@ -4,12 +4,12 @@
     {
       "name": "foo",
       "rootUri": "../foo_package",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     },
     {
       "name": "bar",
       "rootUri": "../bar1_package",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/tests/lib/isolate/scenarios/package_relative_spec/bar1_package/package.config b/tests/lib/isolate/scenarios/package_relative_spec/bar1_package/package.config
index e4dc783..1eb6595 100644
--- a/tests/lib/isolate/scenarios/package_relative_spec/bar1_package/package.config
+++ b/tests/lib/isolate/scenarios/package_relative_spec/bar1_package/package.config
@@ -4,12 +4,12 @@
     {
       "name": "foo",
       "rootUri": "../foo_package",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     },
     {
       "name": "bar",
       "rootUri": "../bar2_package",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/tests/lib/isolate/scenarios/short_package/.dart_tool/package_config.json b/tests/lib/isolate/scenarios/short_package/.dart_tool/package_config.json
index c043659..fc895d2 100644
--- a/tests/lib/isolate/scenarios/short_package/.dart_tool/package_config.json
+++ b/tests/lib/isolate/scenarios/short_package/.dart_tool/package_config.json
@@ -4,7 +4,7 @@
     {
       "name": "flu",
       "rootUri": "../flu_package",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/tests/standalone/package/scenarios/both_dir_and_file/.dart_tool/package_config.json b/tests/standalone/package/scenarios/both_dir_and_file/.dart_tool/package_config.json
index 23e4838..5faca26 100644
--- a/tests/standalone/package/scenarios/both_dir_and_file/.dart_tool/package_config.json
+++ b/tests/standalone/package/scenarios/both_dir_and_file/.dart_tool/package_config.json
@@ -9,7 +9,7 @@
     {
       "name": "foo",
       "rootUri": "../foo",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/tests/standalone/package/scenarios/packages_file_in_parent/.dart_tool/package_config.json b/tests/standalone/package/scenarios/packages_file_in_parent/.dart_tool/package_config.json
index 23e4838..5faca26 100644
--- a/tests/standalone/package/scenarios/packages_file_in_parent/.dart_tool/package_config.json
+++ b/tests/standalone/package/scenarios/packages_file_in_parent/.dart_tool/package_config.json
@@ -9,7 +9,7 @@
     {
       "name": "foo",
       "rootUri": "../foo",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/tests/standalone/package/scenarios/packages_file_only/.dart_tool/package_config.json b/tests/standalone/package/scenarios/packages_file_only/.dart_tool/package_config.json
index 23e4838..5faca26 100644
--- a/tests/standalone/package/scenarios/packages_file_only/.dart_tool/package_config.json
+++ b/tests/standalone/package/scenarios/packages_file_only/.dart_tool/package_config.json
@@ -9,7 +9,7 @@
     {
       "name": "foo",
       "rootUri": "../foo",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/tests/standalone/package/scenarios/packages_option_only/sub/.dart_tool/package_config.json b/tests/standalone/package/scenarios/packages_option_only/sub/.dart_tool/package_config.json
index 23e4838..5faca26 100644
--- a/tests/standalone/package/scenarios/packages_option_only/sub/.dart_tool/package_config.json
+++ b/tests/standalone/package/scenarios/packages_option_only/sub/.dart_tool/package_config.json
@@ -9,7 +9,7 @@
     {
       "name": "foo",
       "rootUri": "../foo",
-      "languageVersion": "2.10"
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/tools/VERSION b/tools/VERSION
index 4e8ed30..966c0c1 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -25,7 +25,7 @@
 #
 CHANNEL dev
 MAJOR 2
-MINOR 11
+MINOR 12
 PATCH 0
-PRERELEASE 277
+PRERELEASE 0
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index e78a878..7c7ccd0 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -1902,7 +1902,6 @@
           "name": "check dart nnbd sdk for static errors",
           "script": "out/ReleaseX64/dart-sdk/bin/dart",
           "arguments": [
-            "--enable-experiment=non-nullable",
             "pkg/dev_compiler/tool/check_nnbd_sdk.dart"
           ]
         },
@@ -2193,7 +2192,6 @@
           "arguments": [
             "-ndart2js-hostasserts-linux-ia32-d8-unsound",
             "--dart2js-batch",
-            "--enable-experiment=non-nullable",
             "observatory_ui"
           ]
         },
@@ -2266,7 +2264,6 @@
             "-ndart2js-${system}-${runtime}-unsound",
             "--dart2js-batch",
             "--reset-browser-configuration",
-            "--enable-experiment=non-nullable",
             "observatory_ui"
           ]
         },
@@ -2319,7 +2316,6 @@
           "arguments": [
             "-ndart2js-minified-linux-d8-unsound",
             "--dart2js-batch",
-            "--enable-experiment=non-nullable",
             "observatory_ui"
           ]
         },
@@ -2392,7 +2388,6 @@
             "-ndart2js-minified-csp-linux-chrome-unsound",
             "--dart2js-batch",
             "--reset-browser-configuration",
-            "--enable-experiment=non-nullable",
             "observatory_ui"
           ]
         },
@@ -2426,7 +2421,6 @@
           "name": "check dart nnbd sdk for static errors",
           "script": "out/ReleaseX64/dart-sdk/bin/dart",
           "arguments": [
-            "--enable-experiment=non-nullable",
             "pkg/dev_compiler/tool/check_nnbd_sdk.dart",
             "--target",
             "dart2js"
@@ -2895,7 +2889,6 @@
           "script": "out/ReleaseX64/dart-sdk/bin/dartanalyzer",
           "arguments": [
             "--fatal-warnings",
-	    "--enable-experiment=non-nullable",
             "pkg/compiler"
           ]
         },
@@ -3073,7 +3066,6 @@
           "name": "analyze runtime/observatory",
           "script": "out/ReleaseX64/dart-sdk/bin/dartanalyzer",
           "arguments": [
-            "--enable-experiment=non-nullable",
             "runtime/observatory"
           ]
         },
diff --git a/tools/experimental_features.yaml b/tools/experimental_features.yaml
index d750f93..e1403b8 100644
--- a/tools/experimental_features.yaml
+++ b/tools/experimental_features.yaml
@@ -93,13 +93,9 @@
 # default 'language' "category" with code generated for both CFE and Analyzer,
 # while other categories can be tailored more specifically.
 
-current-version: '2.11.0'
+current-version: '2.12.0'
 
 features:
-  non-nullable:
-    help: "Non Nullable by default"
-    experimentalReleaseVersion: '2.10.0'
-
   triple-shift:
     help: "Triple-shift operator"
 
@@ -120,6 +116,11 @@
 # on the command line, and will eventually be removed.
 #
 
+  non-nullable:
+    help: "Non Nullable by default"
+    experimentalReleaseVersion: '2.10.0'
+    enabledIn: '2.12.0'
+
   extension-methods:
     help: "Extension Methods"
     enabledIn: '2.6.0'
