[various] Align Flutter and Dart SDK constraints (#3349)

As described in https://github.com/flutter/flutter/issues/121684, we currently have inconsistencies between Flutter SDK constraints and Dart SDK constraints; we have often updated only the former. This PR:
1. Adds CI enforcement via the repo tooling that the minimum versions are consistent.
2. Adds a new repo tooling command to update SDK constraints, to help mass-fix all the violations of the new enforcement in step 1 (and for future mass changes, such as when we update our test matrix and mass-drop support for versions that are no longe tested).
    - In all cases, the looser constraint was updated to match the more restrictive constraint, such that there's no actual change in what Flutter version any package actually supports.
3. Runs `dart fix --apply` over all changed packages to automatically fix all of the analysis failures caused by step 2 suddenly making all of our packages able to use `super` parameters.

Fixes https://github.com/flutter/flutter/issues/121684
Fixes https://github.com/flutter/flutter/issues/121685
diff --git a/.cirrus.yml b/.cirrus.yml
index 9db2e54..73a843d 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -95,9 +95,9 @@
       always:
         format_script: ./script/tool_runner.sh format --fail-on-change
         license_script: $PLUGIN_TOOL_COMMAND license-check
-        # The major and minor versions here should match the lowest version
+        # The major and minor version here should match the lowest version
         # analyzed in legacy_version_analyze.
-        pubspec_script: ./script/tool_runner.sh pubspec-check --min-min-flutter-version=3.0.0 --min-min-dart-version=2.17.0
+        pubspec_script: ./script/tool_runner.sh pubspec-check --min-min-flutter-version=3.0.0
         readme_script:
           - ./script/tool_runner.sh readme-check
           # Re-run with --require-excerpts, skipping packages that still need
diff --git a/packages/animations/CHANGELOG.md b/packages/animations/CHANGELOG.md
index 7ed0983..a6733e2 100644
--- a/packages/animations/CHANGELOG.md
+++ b/packages/animations/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.7
 * Updates screenshots to use webp compressed animations
 
diff --git a/packages/animations/example/lib/container_transition.dart b/packages/animations/example/lib/container_transition.dart
index 3fabccb..4e522d8 100644
--- a/packages/animations/example/lib/container_transition.dart
+++ b/packages/animations/example/lib/container_transition.dart
@@ -41,7 +41,7 @@
 /// The demo page for [OpenContainerTransform].
 class OpenContainerTransformDemo extends StatefulWidget {
   /// Creates the demo page for [OpenContainerTransform].
-  const OpenContainerTransformDemo({Key? key}) : super(key: key);
+  const OpenContainerTransformDemo({super.key});
 
   @override
   State<OpenContainerTransformDemo> createState() {
diff --git a/packages/animations/example/lib/fade_scale_transition.dart b/packages/animations/example/lib/fade_scale_transition.dart
index b6ca592..7a633f2 100644
--- a/packages/animations/example/lib/fade_scale_transition.dart
+++ b/packages/animations/example/lib/fade_scale_transition.dart
@@ -8,7 +8,7 @@
 /// The demo page for [FadeScaleTransition].
 class FadeScaleTransitionDemo extends StatefulWidget {
   /// Creates the demo page for [FadeScaleTransition].
-  const FadeScaleTransitionDemo({Key? key}) : super(key: key);
+  const FadeScaleTransitionDemo({super.key});
 
   @override
   State<FadeScaleTransitionDemo> createState() =>
diff --git a/packages/animations/example/lib/fade_through_transition.dart b/packages/animations/example/lib/fade_through_transition.dart
index 2cc1dde..6fc368f 100644
--- a/packages/animations/example/lib/fade_through_transition.dart
+++ b/packages/animations/example/lib/fade_through_transition.dart
@@ -8,7 +8,7 @@
 /// The demo page for [FadeThroughTransition].
 class FadeThroughTransitionDemo extends StatefulWidget {
   /// Creates the demo page for [FadeThroughTransition].
-  const FadeThroughTransitionDemo({Key? key}) : super(key: key);
+  const FadeThroughTransitionDemo({super.key});
 
   @override
   State<FadeThroughTransitionDemo> createState() =>
diff --git a/packages/animations/example/lib/shared_axis_transition.dart b/packages/animations/example/lib/shared_axis_transition.dart
index eaf0f86..ce17108 100644
--- a/packages/animations/example/lib/shared_axis_transition.dart
+++ b/packages/animations/example/lib/shared_axis_transition.dart
@@ -8,7 +8,7 @@
 /// The demo page for [SharedAxisPageTransitionsBuilder].
 class SharedAxisTransitionDemo extends StatefulWidget {
   /// Creates the demo page for [SharedAxisPageTransitionsBuilder].
-  const SharedAxisTransitionDemo({Key? key}) : super(key: key);
+  const SharedAxisTransitionDemo({super.key});
 
   @override
   State<SharedAxisTransitionDemo> createState() {
diff --git a/packages/animations/example/pubspec.yaml b/packages/animations/example/pubspec.yaml
index a855bd1..62b0ee0 100644
--- a/packages/animations/example/pubspec.yaml
+++ b/packages/animations/example/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 0.0.1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/animations/lib/src/fade_scale_transition.dart b/packages/animations/lib/src/fade_scale_transition.dart
index 9b3fe67..a9108e0 100644
--- a/packages/animations/lib/src/fade_scale_transition.dart
+++ b/packages/animations/lib/src/fade_scale_transition.dart
@@ -65,18 +65,12 @@
   /// a dismissible barrier. [barrierDismissible] cannot be null. If
   /// [barrierDismissible] is true, the [barrierLabel] cannot be null.
   const FadeScaleTransitionConfiguration({
-    Color barrierColor = Colors.black54,
-    bool barrierDismissible = true,
-    Duration transitionDuration = const Duration(milliseconds: 150),
-    Duration reverseTransitionDuration = const Duration(milliseconds: 75),
-    String barrierLabel = 'Dismiss',
-  }) : super(
-          barrierColor: barrierColor,
-          barrierDismissible: barrierDismissible,
-          barrierLabel: barrierLabel,
-          transitionDuration: transitionDuration,
-          reverseTransitionDuration: reverseTransitionDuration,
-        );
+    super.barrierColor = Colors.black54,
+    super.barrierDismissible = true,
+    super.transitionDuration = const Duration(milliseconds: 150),
+    super.reverseTransitionDuration = const Duration(milliseconds: 75),
+    String super.barrierLabel = 'Dismiss',
+  });
 
   @override
   Widget transitionBuilder(
@@ -115,10 +109,10 @@
   /// [animation] is typically an [AnimationController] that drives the transition
   /// animation. [animation] cannot be null.
   const FadeScaleTransition({
-    Key? key,
+    super.key,
     required this.animation,
     this.child,
-  }) : super(key: key);
+  });
 
   /// The animation that drives the [child]'s entrance and exit.
   ///
diff --git a/packages/animations/lib/src/fade_through_transition.dart b/packages/animations/lib/src/fade_through_transition.dart
index 1b79628..fbca19d 100644
--- a/packages/animations/lib/src/fade_through_transition.dart
+++ b/packages/animations/lib/src/fade_through_transition.dart
@@ -162,12 +162,12 @@
   /// The [animation] and [secondaryAnimation] argument are required and must
   /// not be null.
   const FadeThroughTransition({
-    Key? key,
+    super.key,
     required this.animation,
     required this.secondaryAnimation,
     this.fillColor,
     this.child,
-  }) : super(key: key);
+  });
 
   /// The animation that drives the [child]'s entrance and exit.
   ///
@@ -213,8 +213,7 @@
 }
 
 class _ZoomedFadeInFadeOut extends StatelessWidget {
-  const _ZoomedFadeInFadeOut({Key? key, required this.animation, this.child})
-      : super(key: key);
+  const _ZoomedFadeInFadeOut({required this.animation, this.child});
 
   final Animation<double> animation;
   final Widget? child;
diff --git a/packages/animations/lib/src/modal.dart b/packages/animations/lib/src/modal.dart
index 73047d5..c4348a9 100644
--- a/packages/animations/lib/src/modal.dart
+++ b/packages/animations/lib/src/modal.dart
@@ -98,10 +98,10 @@
     required _ModalTransitionBuilder transitionBuilder,
     required this.builder,
     RouteSettings? routeSettings,
-    ui.ImageFilter? filter,
+    super.filter,
   })  : assert(!barrierDismissible || barrierLabel != null),
         _transitionBuilder = transitionBuilder,
-        super(filter: filter, settings: routeSettings);
+        super(settings: routeSettings);
 
   @override
   final Color? barrierColor;
diff --git a/packages/animations/lib/src/open_container.dart b/packages/animations/lib/src/open_container.dart
index e3f3ef6..fb7bd46 100644
--- a/packages/animations/lib/src/open_container.dart
+++ b/packages/animations/lib/src/open_container.dart
@@ -80,7 +80,7 @@
   /// All arguments except for [key] must not be null. The arguments
   /// [openBuilder] and [closedBuilder] are required.
   const OpenContainer({
-    Key? key,
+    super.key,
     this.closedColor = Colors.white,
     this.openColor = Colors.white,
     this.middleColor,
@@ -99,7 +99,7 @@
     this.useRootNavigator = false,
     this.routeSettings,
     this.clipBehavior = Clip.antiAlias,
-  }) : super(key: key);
+  });
 
   /// Background color of the container while it is closed.
   ///
@@ -341,9 +341,9 @@
 ///    `isVisible` is ignored).
 class _Hideable extends StatefulWidget {
   const _Hideable({
-    Key? key,
+    super.key,
     required this.child,
-  }) : super(key: key);
+  });
 
   final Widget child;
 
diff --git a/packages/animations/lib/src/page_transition_switcher.dart b/packages/animations/lib/src/page_transition_switcher.dart
index 9770b05..78d880b 100644
--- a/packages/animations/lib/src/page_transition_switcher.dart
+++ b/packages/animations/lib/src/page_transition_switcher.dart
@@ -168,13 +168,13 @@
   /// The [duration], [reverse], and [transitionBuilder] parameters
   /// must not be null.
   const PageTransitionSwitcher({
-    Key? key,
+    super.key,
     this.duration = const Duration(milliseconds: 300),
     this.reverse = false,
     required this.transitionBuilder,
     this.layoutBuilder = defaultLayoutBuilder,
     this.child,
-  }) : super(key: key);
+  });
 
   /// The current child widget to display.
   ///
diff --git a/packages/animations/lib/src/shared_axis_transition.dart b/packages/animations/lib/src/shared_axis_transition.dart
index 1231414..9868e00 100644
--- a/packages/animations/lib/src/shared_axis_transition.dart
+++ b/packages/animations/lib/src/shared_axis_transition.dart
@@ -184,13 +184,13 @@
   /// The [animation] and [secondaryAnimation] argument are required and must
   /// not be null.
   const SharedAxisTransition({
-    Key? key,
+    super.key,
     required this.animation,
     required this.secondaryAnimation,
     required this.transitionType,
     this.fillColor,
     this.child,
-  }) : super(key: key);
+  });
 
   /// The animation that drives the [child]'s entrance and exit.
   ///
@@ -472,8 +472,8 @@
 class _FlippedCurveTween extends CurveTween {
   /// Creates a vertically flipped [CurveTween].
   _FlippedCurveTween({
-    required Curve curve,
-  }) : super(curve: curve);
+    required super.curve,
+  });
 
   @override
   double transform(double t) => 1.0 - super.transform(t);
diff --git a/packages/animations/pubspec.yaml b/packages/animations/pubspec.yaml
index e59c1c1..fecaee1 100644
--- a/packages/animations/pubspec.yaml
+++ b/packages/animations/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.0.7
 
 environment:
-  sdk: '>=2.12.0 <3.0.0'
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/animations/test/dual_transition_builder_test.dart b/packages/animations/test/dual_transition_builder_test.dart
index 3284c8c..ecae27f 100644
--- a/packages/animations/test/dual_transition_builder_test.dart
+++ b/packages/animations/test/dual_transition_builder_test.dart
@@ -281,7 +281,7 @@
 }
 
 class _StatefulTestWidget extends StatefulWidget {
-  const _StatefulTestWidget({Key? key, required this.name}) : super(key: key);
+  const _StatefulTestWidget({required this.name});
 
   final String name;
 
diff --git a/packages/animations/test/fade_scale_transition_test.dart b/packages/animations/test/fade_scale_transition_test.dart
index c38b306..3af4651 100644
--- a/packages/animations/test/fade_scale_transition_test.dart
+++ b/packages/animations/test/fade_scale_transition_test.dart
@@ -466,9 +466,9 @@
 
 class _FlutterLogoModal extends StatefulWidget {
   const _FlutterLogoModal({
-    Key? key,
+    super.key,
     this.name,
-  }) : super(key: key);
+  });
 
   final String? name;
 
diff --git a/packages/animations/test/fade_through_transition_test.dart b/packages/animations/test/fade_through_transition_test.dart
index 7d8a5fa..3075dd8 100644
--- a/packages/animations/test/fade_through_transition_test.dart
+++ b/packages/animations/test/fade_through_transition_test.dart
@@ -487,7 +487,7 @@
 }
 
 class _StatefulTestWidget extends StatefulWidget {
-  const _StatefulTestWidget({Key? key, this.name}) : super(key: key);
+  const _StatefulTestWidget({super.key, this.name});
 
   final String? name;
 
diff --git a/packages/animations/test/modal_test.dart b/packages/animations/test/modal_test.dart
index 78001aa..28b8a4d 100644
--- a/packages/animations/test/modal_test.dart
+++ b/packages/animations/test/modal_test.dart
@@ -565,9 +565,9 @@
 
 class _FlutterLogoModal extends StatefulWidget {
   const _FlutterLogoModal({
-    Key? key,
+    super.key,
     this.name,
-  }) : super(key: key);
+  });
 
   final String? name;
 
@@ -593,18 +593,13 @@
 }
 
 class _TestModalConfiguration extends ModalConfiguration {
-  _TestModalConfiguration({
-    Color barrierColor = Colors.green,
-    bool barrierDismissible = true,
-    String barrierLabel = 'customLabel',
-    Duration transitionDuration = const Duration(milliseconds: 300),
-    Duration reverseTransitionDuration = const Duration(milliseconds: 200),
-  }) : super(
-          barrierColor: barrierColor,
-          barrierDismissible: barrierDismissible,
-          barrierLabel: barrierLabel,
-          transitionDuration: transitionDuration,
-          reverseTransitionDuration: reverseTransitionDuration,
+  _TestModalConfiguration()
+      : super(
+          barrierColor: Colors.green,
+          barrierDismissible: true,
+          barrierLabel: 'customLabel',
+          transitionDuration: const Duration(milliseconds: 300),
+          reverseTransitionDuration: const Duration(milliseconds: 200),
         );
 
   @override
diff --git a/packages/animations/test/open_container_test.dart b/packages/animations/test/open_container_test.dart
index d059955..4b7f2f8 100644
--- a/packages/animations/test/open_container_test.dart
+++ b/packages/animations/test/open_container_test.dart
@@ -1933,7 +1933,7 @@
 }
 
 class DummyStatefulWidget extends StatefulWidget {
-  const DummyStatefulWidget({Key? key}) : super(key: key);
+  const DummyStatefulWidget({super.key});
 
   @override
   State<StatefulWidget> createState() => DummyState();
diff --git a/packages/animations/test/page_transition_switcher_test.dart b/packages/animations/test/page_transition_switcher_test.dart
index c40f4ca..f7a35fb 100644
--- a/packages/animations/test/page_transition_switcher_test.dart
+++ b/packages/animations/test/page_transition_switcher_test.dart
@@ -581,7 +581,7 @@
 }
 
 class StatefulTestWidget extends StatefulWidget {
-  const StatefulTestWidget({Key? key}) : super(key: key);
+  const StatefulTestWidget({super.key});
 
   @override
   StatefulTestWidgetState createState() => StatefulTestWidgetState();
diff --git a/packages/animations/test/shared_axis_transition_test.dart b/packages/animations/test/shared_axis_transition_test.dart
index 92fd7fc..67bdf4e 100644
--- a/packages/animations/test/shared_axis_transition_test.dart
+++ b/packages/animations/test/shared_axis_transition_test.dart
@@ -1931,7 +1931,7 @@
 }
 
 class _StatefulTestWidget extends StatefulWidget {
-  const _StatefulTestWidget({Key? key, required this.name}) : super(key: key);
+  const _StatefulTestWidget({super.key, required this.name});
 
   final String name;
 
diff --git a/packages/camera/camera/CHANGELOG.md b/packages/camera/camera/CHANGELOG.md
index 2ca8f00..5320774 100644
--- a/packages/camera/camera/CHANGELOG.md
+++ b/packages/camera/camera/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.10.3+2
 
 * Updates iOS minimum version in README.
diff --git a/packages/camera/camera/README.md b/packages/camera/camera/README.md
index 87a25ea..db70831 100644
--- a/packages/camera/camera/README.md
+++ b/packages/camera/camera/README.md
@@ -114,7 +114,7 @@
 /// CameraApp is the Main Application.
 class CameraApp extends StatefulWidget {
   /// Default Constructor
-  const CameraApp({Key? key}) : super(key: key);
+  const CameraApp({super.key});
 
   @override
   State<CameraApp> createState() => _CameraAppState();
diff --git a/packages/camera/camera/example/lib/main.dart b/packages/camera/camera/example/lib/main.dart
index b343b6d..2fa2ae6 100644
--- a/packages/camera/camera/example/lib/main.dart
+++ b/packages/camera/camera/example/lib/main.dart
@@ -14,7 +14,7 @@
 /// Camera example home widget.
 class CameraExampleHome extends StatefulWidget {
   /// Default Constructor
-  const CameraExampleHome({Key? key}) : super(key: key);
+  const CameraExampleHome({super.key});
 
   @override
   State<CameraExampleHome> createState() {
@@ -1056,7 +1056,7 @@
 /// CameraApp is the Main Application.
 class CameraApp extends StatelessWidget {
   /// Default Constructor
-  const CameraApp({Key? key}) : super(key: key);
+  const CameraApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/camera/camera/example/lib/readme_full_example.dart b/packages/camera/camera/example/lib/readme_full_example.dart
index 20bfe78..0a7c418 100644
--- a/packages/camera/camera/example/lib/readme_full_example.dart
+++ b/packages/camera/camera/example/lib/readme_full_example.dart
@@ -18,7 +18,7 @@
 /// CameraApp is the Main Application.
 class CameraApp extends StatefulWidget {
   /// Default Constructor
-  const CameraApp({Key? key}) : super(key: key);
+  const CameraApp({super.key});
 
   @override
   State<CameraApp> createState() => _CameraAppState();
diff --git a/packages/camera/camera/example/pubspec.yaml b/packages/camera/camera/example/pubspec.yaml
index e630240..9841d0a 100644
--- a/packages/camera/camera/example/pubspec.yaml
+++ b/packages/camera/camera/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/camera/camera/lib/src/camera_preview.dart b/packages/camera/camera/lib/src/camera_preview.dart
index d8eadd8..53f9034 100644
--- a/packages/camera/camera/lib/src/camera_preview.dart
+++ b/packages/camera/camera/lib/src/camera_preview.dart
@@ -11,8 +11,7 @@
 /// A widget showing a live camera preview.
 class CameraPreview extends StatelessWidget {
   /// Creates a preview widget for the given camera controller.
-  const CameraPreview(this.controller, {Key? key, this.child})
-      : super(key: key);
+  const CameraPreview(this.controller, {super.key, this.child});
 
   /// The controller for the camera that the preview is shown for.
   final CameraController controller;
diff --git a/packages/camera/camera/pubspec.yaml b/packages/camera/camera/pubspec.yaml
index 74ef53c..e084b0c 100644
--- a/packages/camera/camera/pubspec.yaml
+++ b/packages/camera/camera/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 0.10.3+2
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/camera/camera_android/CHANGELOG.md b/packages/camera/camera_android/CHANGELOG.md
index d608cf1..8fa5a30 100644
--- a/packages/camera/camera_android/CHANGELOG.md
+++ b/packages/camera/camera_android/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
 * Updates compileSdkVersion to 33.
 
 ## 0.10.4+1
diff --git a/packages/camera/camera_android/example/lib/camera_preview.dart b/packages/camera/camera_android/example/lib/camera_preview.dart
index 5e8f64c..4fbdb3a 100644
--- a/packages/camera/camera_android/example/lib/camera_preview.dart
+++ b/packages/camera/camera_android/example/lib/camera_preview.dart
@@ -11,8 +11,7 @@
 /// A widget showing a live camera preview.
 class CameraPreview extends StatelessWidget {
   /// Creates a preview widget for the given camera controller.
-  const CameraPreview(this.controller, {Key? key, this.child})
-      : super(key: key);
+  const CameraPreview(this.controller, {super.key, this.child});
 
   /// The controller for the camera that the preview is shown for.
   final CameraController controller;
diff --git a/packages/camera/camera_android/example/lib/main.dart b/packages/camera/camera_android/example/lib/main.dart
index 4d98aed..79c2138 100644
--- a/packages/camera/camera_android/example/lib/main.dart
+++ b/packages/camera/camera_android/example/lib/main.dart
@@ -18,7 +18,7 @@
 /// Camera example home widget.
 class CameraExampleHome extends StatefulWidget {
   /// Default Constructor
-  const CameraExampleHome({Key? key}) : super(key: key);
+  const CameraExampleHome({super.key});
 
   @override
   State<CameraExampleHome> createState() {
@@ -1064,7 +1064,7 @@
 /// CameraApp is the Main Application.
 class CameraApp extends StatelessWidget {
   /// Default Constructor
-  const CameraApp({Key? key}) : super(key: key);
+  const CameraApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/camera/camera_android/example/pubspec.yaml b/packages/camera/camera_android/example/pubspec.yaml
index e23e31a..aacd47f 100644
--- a/packages/camera/camera_android/example/pubspec.yaml
+++ b/packages/camera/camera_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/camera/camera_android/pubspec.yaml b/packages/camera/camera_android/pubspec.yaml
index ec53d69..e44e72c 100644
--- a/packages/camera/camera_android/pubspec.yaml
+++ b/packages/camera/camera_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.10.4+1
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/camera/camera_avfoundation/CHANGELOG.md b/packages/camera/camera_avfoundation/CHANGELOG.md
index b230343..fe4d4e7 100644
--- a/packages/camera/camera_avfoundation/CHANGELOG.md
+++ b/packages/camera/camera_avfoundation/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.9.12
 
 * Updates minimum Flutter version to 3.3 and iOS 11.
diff --git a/packages/camera/camera_avfoundation/example/lib/camera_preview.dart b/packages/camera/camera_avfoundation/example/lib/camera_preview.dart
index 5e8f64c..4fbdb3a 100644
--- a/packages/camera/camera_avfoundation/example/lib/camera_preview.dart
+++ b/packages/camera/camera_avfoundation/example/lib/camera_preview.dart
@@ -11,8 +11,7 @@
 /// A widget showing a live camera preview.
 class CameraPreview extends StatelessWidget {
   /// Creates a preview widget for the given camera controller.
-  const CameraPreview(this.controller, {Key? key, this.child})
-      : super(key: key);
+  const CameraPreview(this.controller, {super.key, this.child});
 
   /// The controller for the camera that the preview is shown for.
   final CameraController controller;
diff --git a/packages/camera/camera_avfoundation/example/lib/main.dart b/packages/camera/camera_avfoundation/example/lib/main.dart
index 4d98aed..79c2138 100644
--- a/packages/camera/camera_avfoundation/example/lib/main.dart
+++ b/packages/camera/camera_avfoundation/example/lib/main.dart
@@ -18,7 +18,7 @@
 /// Camera example home widget.
 class CameraExampleHome extends StatefulWidget {
   /// Default Constructor
-  const CameraExampleHome({Key? key}) : super(key: key);
+  const CameraExampleHome({super.key});
 
   @override
   State<CameraExampleHome> createState() {
@@ -1064,7 +1064,7 @@
 /// CameraApp is the Main Application.
 class CameraApp extends StatelessWidget {
   /// Default Constructor
-  const CameraApp({Key? key}) : super(key: key);
+  const CameraApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/camera/camera_avfoundation/example/pubspec.yaml b/packages/camera/camera_avfoundation/example/pubspec.yaml
index 7c85ba8..1e966b1 100644
--- a/packages/camera/camera_avfoundation/example/pubspec.yaml
+++ b/packages/camera/camera_avfoundation/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/camera/camera_platform_interface/CHANGELOG.md b/packages/camera/camera_platform_interface/CHANGELOG.md
index 2a7261d..2c9f881 100644
--- a/packages/camera/camera_platform_interface/CHANGELOG.md
+++ b/packages/camera/camera_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.4.1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/camera/camera_platform_interface/lib/src/events/camera_event.dart b/packages/camera/camera_platform_interface/lib/src/events/camera_event.dart
index a6ace8f..95f61a9 100644
--- a/packages/camera/camera_platform_interface/lib/src/events/camera_event.dart
+++ b/packages/camera/camera_platform_interface/lib/src/events/camera_event.dart
@@ -51,14 +51,14 @@
   /// The `previewWidth` represents the width of the generated preview in pixels.
   /// The `previewHeight` represents the height of the generated preview in pixels.
   const CameraInitializedEvent(
-    int cameraId,
+    super.cameraId,
     this.previewWidth,
     this.previewHeight,
     this.exposureMode,
     this.exposurePointSupported,
     this.focusMode,
     this.focusPointSupported,
-  ) : super(cameraId);
+  );
 
   /// Converts the supplied [Map] to an instance of the [CameraInitializedEvent]
   /// class.
@@ -135,10 +135,10 @@
   /// The `captureWidth` represents the width of the resulting image in pixels.
   /// The `captureHeight` represents the height of the resulting image in pixels.
   const CameraResolutionChangedEvent(
-    int cameraId,
+    super.cameraId,
     this.captureWidth,
     this.captureHeight,
-  ) : super(cameraId);
+  );
 
   /// Converts the supplied [Map] to an instance of the
   /// [CameraResolutionChangedEvent] class.
@@ -178,7 +178,7 @@
 class CameraClosingEvent extends CameraEvent {
   /// Build a CameraClosing event triggered from the camera represented by
   /// `cameraId`.
-  const CameraClosingEvent(int cameraId) : super(cameraId);
+  const CameraClosingEvent(super.cameraId);
 
   /// Converts the supplied [Map] to an instance of the [CameraClosingEvent]
   /// class.
@@ -211,7 +211,7 @@
   /// `cameraId`.
   ///
   /// The `description` represents the error occured on the camera.
-  const CameraErrorEvent(int cameraId, this.description) : super(cameraId);
+  const CameraErrorEvent(super.cameraId, this.description);
 
   /// Converts the supplied [Map] to an instance of the [CameraErrorEvent]
   /// class.
@@ -248,8 +248,7 @@
   /// The `file` represents the file of the video.
   /// The `maxVideoDuration` shows if a maxVideoDuration shows if a maximum
   /// video duration was set.
-  const VideoRecordedEvent(int cameraId, this.file, this.maxVideoDuration)
-      : super(cameraId);
+  const VideoRecordedEvent(super.cameraId, this.file, this.maxVideoDuration);
 
   /// Converts the supplied [Map] to an instance of the [VideoRecordedEvent]
   /// class.
diff --git a/packages/camera/camera_platform_interface/pubspec.yaml b/packages/camera/camera_platform_interface/pubspec.yaml
index c3869bf..87ddb00 100644
--- a/packages/camera/camera_platform_interface/pubspec.yaml
+++ b/packages/camera/camera_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 2.4.1
 
 environment:
-  sdk: '>=2.12.0 <3.0.0'
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/camera/camera_web/CHANGELOG.md b/packages/camera/camera_web/CHANGELOG.md
index eae1b49..af5c63e 100644
--- a/packages/camera/camera_web/CHANGELOG.md
+++ b/packages/camera/camera_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.3.1+2
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/camera/camera_web/example/lib/main.dart b/packages/camera/camera_web/example/lib/main.dart
index 670891f..b62c8dc 100644
--- a/packages/camera/camera_web/example/lib/main.dart
+++ b/packages/camera/camera_web/example/lib/main.dart
@@ -9,7 +9,7 @@
 /// App for testing
 class MyApp extends StatelessWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/camera/camera_web/example/pubspec.yaml b/packages/camera/camera_web/example/pubspec.yaml
index ee66870..82af773 100644
--- a/packages/camera/camera_web/example/pubspec.yaml
+++ b/packages/camera/camera_web/example/pubspec.yaml
@@ -2,7 +2,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/camera/camera_web/pubspec.yaml b/packages/camera/camera_web/pubspec.yaml
index 1e0ac7f..11179fd 100644
--- a/packages/camera/camera_web/pubspec.yaml
+++ b/packages/camera/camera_web/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.3.1+2
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/camera/camera_windows/CHANGELOG.md b/packages/camera/camera_windows/CHANGELOG.md
index 98f9cea..2c0c518 100644
--- a/packages/camera/camera_windows/CHANGELOG.md
+++ b/packages/camera/camera_windows/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.2.1+5
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/camera/camera_windows/example/lib/main.dart b/packages/camera/camera_windows/example/lib/main.dart
index d27edb8..e6d903c 100644
--- a/packages/camera/camera_windows/example/lib/main.dart
+++ b/packages/camera/camera_windows/example/lib/main.dart
@@ -15,7 +15,7 @@
 /// Example app for Camera Windows plugin.
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/camera/camera_windows/example/pubspec.yaml b/packages/camera/camera_windows/example/pubspec.yaml
index 69ce1c3..8eb73b0 100644
--- a/packages/camera/camera_windows/example/pubspec.yaml
+++ b/packages/camera/camera_windows/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: 'none'
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/camera/camera_windows/pubspec.yaml b/packages/camera/camera_windows/pubspec.yaml
index f4f2eb4..04c115a 100644
--- a/packages/camera/camera_windows/pubspec.yaml
+++ b/packages/camera/camera_windows/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.2.1+5
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/css_colors/CHANGELOG.md b/packages/css_colors/CHANGELOG.md
index abcf041..8d87d63 100644
--- a/packages/css_colors/CHANGELOG.md
+++ b/packages/css_colors/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+- Aligns Dart and Flutter SDK constraints.
 - Updates minimum Flutter version to 3.0.
 - Updates package description.
 
diff --git a/packages/css_colors/pubspec.yaml b/packages/css_colors/pubspec.yaml
index 1021d99..4979081 100644
--- a/packages/css_colors/pubspec.yaml
+++ b/packages/css_colors/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 1.1.1
 
 environment:
-  sdk: '>=2.12.0 <3.0.0'
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/dynamic_layouts/CHANGELOG.md b/packages/dynamic_layouts/CHANGELOG.md
index 03c9744..77830d1 100644
--- a/packages/dynamic_layouts/CHANGELOG.md
+++ b/packages/dynamic_layouts/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
 * Updates minimum Flutter version to 3.0.
 
 ## 0.0.1
diff --git a/packages/dynamic_layouts/pubspec.yaml b/packages/dynamic_layouts/pubspec.yaml
index 707cf70..854bfac 100644
--- a/packages/dynamic_layouts/pubspec.yaml
+++ b/packages/dynamic_layouts/pubspec.yaml
@@ -8,7 +8,7 @@
 
 environment:
   sdk: '>=2.17.6 <3.0.0'
-  flutter: ">=3.0.0"
+  flutter: ">=3.0.5"
 
 dependencies:
   flutter:
diff --git a/packages/espresso/CHANGELOG.md b/packages/espresso/CHANGELOG.md
index 27bd09a..5fb6e30 100644
--- a/packages/espresso/CHANGELOG.md
+++ b/packages/espresso/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.2.1
 
 * Updates the version of com.google.truth:truth to 1.1.3.
diff --git a/packages/espresso/example/lib/main.dart b/packages/espresso/example/lib/main.dart
index 741cd9c..c62c26c 100644
--- a/packages/espresso/example/lib/main.dart
+++ b/packages/espresso/example/lib/main.dart
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// ignore_for_file: public_member_api_docs
+
 import 'package:flutter/material.dart';
 
 void main() => runApp(const MyApp());
@@ -9,7 +11,7 @@
 /// Example app for Espresso plugin.
 class MyApp extends StatelessWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   // This widget is the root of your application.
   @override
@@ -28,13 +30,13 @@
         // is not restarted.
         primarySwatch: Colors.blue,
       ),
-      home: const _MyHomePage(title: 'Flutter Demo Home Page'),
+      home: const MyHomePage(title: 'Flutter Demo Home Page'),
     );
   }
 }
 
-class _MyHomePage extends StatefulWidget {
-  const _MyHomePage({Key? key, required this.title}) : super(key: key);
+class MyHomePage extends StatefulWidget {
+  const MyHomePage({super.key, required this.title});
 
   // This widget is the home page of your application. It is stateful, meaning
   // that it has a State object (defined below) that contains fields that affect
@@ -48,10 +50,10 @@
   final String title;
 
   @override
-  State<_MyHomePage> createState() => _MyHomePageState();
+  State<MyHomePage> createState() => MyHomePageState();
 }
 
-class _MyHomePageState extends State<_MyHomePage> {
+class MyHomePageState extends State<MyHomePage> {
   int _counter = 0;
 
   void _incrementCounter() {
diff --git a/packages/espresso/example/pubspec.yaml b/packages/espresso/example/pubspec.yaml
index 0adf623..4a21bbc 100644
--- a/packages/espresso/example/pubspec.yaml
+++ b/packages/espresso/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/espresso/pubspec.yaml b/packages/espresso/pubspec.yaml
index ea1fa92..fb2cbfc 100644
--- a/packages/espresso/pubspec.yaml
+++ b/packages/espresso/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 0.2.1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/extension_google_sign_in_as_googleapis_auth/CHANGELOG.md b/packages/extension_google_sign_in_as_googleapis_auth/CHANGELOG.md
index 980fb52..a28cc66 100644
--- a/packages/extension_google_sign_in_as_googleapis_auth/CHANGELOG.md
+++ b/packages/extension_google_sign_in_as_googleapis_auth/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.9
 
 * Makes the extension compatible with `google_sign_in` version `^5.0.0` and `^6.0.0`.
diff --git a/packages/extension_google_sign_in_as_googleapis_auth/example/lib/main.dart b/packages/extension_google_sign_in_as_googleapis_auth/example/lib/main.dart
index 10ca223..8e982ac 100644
--- a/packages/extension_google_sign_in_as_googleapis_auth/example/lib/main.dart
+++ b/packages/extension_google_sign_in_as_googleapis_auth/example/lib/main.dart
@@ -28,7 +28,7 @@
 /// The main widget of this demo.
 class SignInDemo extends StatefulWidget {
   /// Creates the main widget of this demo.
-  const SignInDemo({Key? key}) : super(key: key);
+  const SignInDemo({super.key});
 
   @override
   State createState() => SignInDemoState();
diff --git a/packages/extension_google_sign_in_as_googleapis_auth/example/pubspec.yaml b/packages/extension_google_sign_in_as_googleapis_auth/example/pubspec.yaml
index dddba86..466bec8 100644
--- a/packages/extension_google_sign_in_as_googleapis_auth/example/pubspec.yaml
+++ b/packages/extension_google_sign_in_as_googleapis_auth/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/extension_google_sign_in_as_googleapis_auth/pubspec.yaml b/packages/extension_google_sign_in_as_googleapis_auth/pubspec.yaml
index 78440cd..b56c814 100644
--- a/packages/extension_google_sign_in_as_googleapis_auth/pubspec.yaml
+++ b/packages/extension_google_sign_in_as_googleapis_auth/pubspec.yaml
@@ -11,7 +11,7 @@
 version: 2.0.9
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/file_selector/file_selector/CHANGELOG.md b/packages/file_selector/file_selector/CHANGELOG.md
index 74b0515..febebfd 100644
--- a/packages/file_selector/file_selector/CHANGELOG.md
+++ b/packages/file_selector/file_selector/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.9.2+4
 
 * Updates iOS minimum version in README.
diff --git a/packages/file_selector/file_selector/example/lib/get_directory_page.dart b/packages/file_selector/file_selector/example/lib/get_directory_page.dart
index dfe166d..9236a33 100644
--- a/packages/file_selector/file_selector/example/lib/get_directory_page.dart
+++ b/packages/file_selector/file_selector/example/lib/get_directory_page.dart
@@ -9,7 +9,7 @@
 /// Screen that shows an example of getDirectoryPath
 class GetDirectoryPage extends StatelessWidget {
   /// Default Constructor
-  GetDirectoryPage({Key? key}) : super(key: key);
+  GetDirectoryPage({super.key});
 
   final bool _isIOS = !kIsWeb && defaultTargetPlatform == TargetPlatform.iOS;
 
@@ -63,7 +63,7 @@
 /// Widget that displays a text file in a dialog
 class TextDisplay extends StatelessWidget {
   /// Default Constructor
-  const TextDisplay(this.directoryPath, {Key? key}) : super(key: key);
+  const TextDisplay(this.directoryPath, {super.key});
 
   /// Directory path
   final String directoryPath;
diff --git a/packages/file_selector/file_selector/example/lib/home_page.dart b/packages/file_selector/file_selector/example/lib/home_page.dart
index 7b4582c..a532dc8 100644
--- a/packages/file_selector/file_selector/example/lib/home_page.dart
+++ b/packages/file_selector/file_selector/example/lib/home_page.dart
@@ -7,7 +7,7 @@
 /// Home Page of the application
 class HomePage extends StatelessWidget {
   /// Default Constructor
-  const HomePage({Key? key}) : super(key: key);
+  const HomePage({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector/example/lib/main.dart b/packages/file_selector/file_selector/example/lib/main.dart
index a15842a..27b34e8 100644
--- a/packages/file_selector/file_selector/example/lib/main.dart
+++ b/packages/file_selector/file_selector/example/lib/main.dart
@@ -18,7 +18,7 @@
 /// MyApp is the Main Application
 class MyApp extends StatelessWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector/example/lib/open_image_page.dart b/packages/file_selector/file_selector/example/lib/open_image_page.dart
index 7717f28..cf97987 100644
--- a/packages/file_selector/file_selector/example/lib/open_image_page.dart
+++ b/packages/file_selector/file_selector/example/lib/open_image_page.dart
@@ -11,7 +11,7 @@
 /// Screen that shows an example of openFiles
 class OpenImagePage extends StatelessWidget {
   /// Default Constructor
-  const OpenImagePage({Key? key}) : super(key: key);
+  const OpenImagePage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     // #docregion SingleOpen
@@ -68,8 +68,7 @@
 /// Widget that displays a text file in a dialog
 class ImageDisplay extends StatelessWidget {
   /// Default Constructor
-  const ImageDisplay(this.fileName, this.filePath, {Key? key})
-      : super(key: key);
+  const ImageDisplay(this.fileName, this.filePath, {super.key});
 
   /// Image's name
   final String fileName;
diff --git a/packages/file_selector/file_selector/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector/example/lib/open_multiple_images_page.dart
index a09a6db..2a5a819 100644
--- a/packages/file_selector/file_selector/example/lib/open_multiple_images_page.dart
+++ b/packages/file_selector/file_selector/example/lib/open_multiple_images_page.dart
@@ -11,7 +11,7 @@
 /// Screen that shows an example of openFiles
 class OpenMultipleImagesPage extends StatelessWidget {
   /// Default Constructor
-  const OpenMultipleImagesPage({Key? key}) : super(key: key);
+  const OpenMultipleImagesPage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     // #docregion MultiOpen
@@ -71,7 +71,7 @@
 /// Widget that displays a text file in a dialog
 class MultipleImagesDisplay extends StatelessWidget {
   /// Default Constructor
-  const MultipleImagesDisplay(this.files, {Key? key}) : super(key: key);
+  const MultipleImagesDisplay(this.files, {super.key});
 
   /// The files containing the images
   final List<XFile> files;
diff --git a/packages/file_selector/file_selector/example/lib/open_text_page.dart b/packages/file_selector/file_selector/example/lib/open_text_page.dart
index e28a67a..5121e9d 100644
--- a/packages/file_selector/file_selector/example/lib/open_text_page.dart
+++ b/packages/file_selector/file_selector/example/lib/open_text_page.dart
@@ -9,7 +9,7 @@
 /// Screen that shows an example of openFile
 class OpenTextPage extends StatelessWidget {
   /// Default Constructor
-  const OpenTextPage({Key? key}) : super(key: key);
+  const OpenTextPage({super.key});
 
   Future<void> _openTextFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -71,8 +71,7 @@
 /// Widget that displays a text file in a dialog
 class TextDisplay extends StatelessWidget {
   /// Default Constructor
-  const TextDisplay(this.fileName, this.fileContent, {Key? key})
-      : super(key: key);
+  const TextDisplay(this.fileName, this.fileContent, {super.key});
 
   /// File's name
   final String fileName;
diff --git a/packages/file_selector/file_selector/example/lib/readme_standalone_excerpts.dart b/packages/file_selector/file_selector/example/lib/readme_standalone_excerpts.dart
index f812604..434bb90 100644
--- a/packages/file_selector/file_selector/example/lib/readme_standalone_excerpts.dart
+++ b/packages/file_selector/file_selector/example/lib/readme_standalone_excerpts.dart
@@ -19,7 +19,7 @@
 }
 
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/file_selector/file_selector/example/lib/save_text_page.dart b/packages/file_selector/file_selector/example/lib/save_text_page.dart
index 0a49e6f..a159352 100644
--- a/packages/file_selector/file_selector/example/lib/save_text_page.dart
+++ b/packages/file_selector/file_selector/example/lib/save_text_page.dart
@@ -14,7 +14,7 @@
 /// Page for showing an example of saving with file_selector
 class SaveTextPage extends StatelessWidget {
   /// Default Constructor
-  SaveTextPage({Key? key}) : super(key: key);
+  SaveTextPage({super.key});
 
   final bool _isIOS = !kIsWeb && defaultTargetPlatform == TargetPlatform.iOS;
 
diff --git a/packages/file_selector/file_selector/example/pubspec.yaml b/packages/file_selector/file_selector/example/pubspec.yaml
index ff9d6d0..d0c1c20 100644
--- a/packages/file_selector/file_selector/example/pubspec.yaml
+++ b/packages/file_selector/file_selector/example/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 1.0.0+1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/file_selector/file_selector/pubspec.yaml b/packages/file_selector/file_selector/pubspec.yaml
index 540635f..0bdd468 100644
--- a/packages/file_selector/file_selector/pubspec.yaml
+++ b/packages/file_selector/file_selector/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 0.9.2+4
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/file_selector/file_selector_ios/CHANGELOG.md b/packages/file_selector/file_selector_ios/CHANGELOG.md
index 83ee72a..a92dec1 100644
--- a/packages/file_selector/file_selector_ios/CHANGELOG.md
+++ b/packages/file_selector/file_selector_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.5.1
 
 * Updates minimum Flutter version to 3.3 and iOS 11.
diff --git a/packages/file_selector/file_selector_ios/example/lib/home_page.dart b/packages/file_selector/file_selector_ios/example/lib/home_page.dart
index 7486977..9b27c22 100644
--- a/packages/file_selector/file_selector_ios/example/lib/home_page.dart
+++ b/packages/file_selector/file_selector_ios/example/lib/home_page.dart
@@ -7,7 +7,7 @@
 /// Home Page of the application.
 class HomePage extends StatelessWidget {
   /// Default Constructor
-  const HomePage({Key? key}) : super(key: key);
+  const HomePage({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector_ios/example/lib/main.dart b/packages/file_selector/file_selector_ios/example/lib/main.dart
index 929c48f..00641de 100644
--- a/packages/file_selector/file_selector_ios/example/lib/main.dart
+++ b/packages/file_selector/file_selector_ios/example/lib/main.dart
@@ -16,7 +16,7 @@
 /// MyApp is the Main Application.
 class MyApp extends StatelessWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart
index 6fcbcbf..a89c1bf 100644
--- a/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart
+++ b/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart
@@ -12,7 +12,7 @@
 /// `openFiles`, then displays the selected images in a gallery dialog.
 class OpenImagePage extends StatelessWidget {
   /// Default Constructor
-  const OpenImagePage({Key? key}) : super(key: key);
+  const OpenImagePage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -68,8 +68,7 @@
 /// Widget that displays an image in a dialog.
 class ImageDisplay extends StatelessWidget {
   /// Default Constructor.
-  const ImageDisplay(this.fileName, this.filePath, {Key? key})
-      : super(key: key);
+  const ImageDisplay(this.fileName, this.filePath, {super.key});
 
   /// The name of the selected file.
   final String fileName;
diff --git a/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart
index 30cc515..a101a45 100644
--- a/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart
+++ b/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart
@@ -12,7 +12,7 @@
 /// `openFiles`, then displays the selected images in a gallery dialog.
 class OpenMultipleImagesPage extends StatelessWidget {
   /// Default Constructor
-  const OpenMultipleImagesPage({Key? key}) : super(key: key);
+  const OpenMultipleImagesPage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     const XTypeGroup jpgsTypeGroup = XTypeGroup(
@@ -73,7 +73,7 @@
 /// Widget that displays a text file in a dialog.
 class MultipleImagesDisplay extends StatelessWidget {
   /// Default Constructor.
-  const MultipleImagesDisplay(this.files, {Key? key}) : super(key: key);
+  const MultipleImagesDisplay(this.files, {super.key});
 
   /// The files containing the images.
   final List<XFile> files;
diff --git a/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart
index f21daf9..14ec0ea 100644
--- a/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart
+++ b/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart
@@ -9,7 +9,7 @@
 /// displays its contents in a dialog.
 class OpenTextPage extends StatelessWidget {
   /// Default Constructor
-  const OpenTextPage({Key? key}) : super(key: key);
+  const OpenTextPage({super.key});
 
   Future<void> _openTextFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -65,8 +65,7 @@
 /// Widget that displays a text file in a dialog.
 class TextDisplay extends StatelessWidget {
   /// Default Constructor.
-  const TextDisplay(this.fileName, this.fileContent, {Key? key})
-      : super(key: key);
+  const TextDisplay(this.fileName, this.fileContent, {super.key});
 
   /// The name of the selected file.
   final String fileName;
diff --git a/packages/file_selector/file_selector_ios/example/pubspec.yaml b/packages/file_selector/file_selector_ios/example/pubspec.yaml
index 175ec6c..47b4509 100644
--- a/packages/file_selector/file_selector_ios/example/pubspec.yaml
+++ b/packages/file_selector/file_selector_ios/example/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0
 
 environment:
-  sdk: ">=2.14.4 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/file_selector/file_selector_linux/CHANGELOG.md b/packages/file_selector/file_selector_linux/CHANGELOG.md
index 82d0cdd..3bf7edd 100644
--- a/packages/file_selector/file_selector_linux/CHANGELOG.md
+++ b/packages/file_selector/file_selector_linux/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.9.1+1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/file_selector/file_selector_linux/example/lib/get_directory_page.dart b/packages/file_selector/file_selector_linux/example/lib/get_directory_page.dart
index f6390cc..2fa862b 100644
--- a/packages/file_selector/file_selector_linux/example/lib/get_directory_page.dart
+++ b/packages/file_selector/file_selector_linux/example/lib/get_directory_page.dart
@@ -9,7 +9,7 @@
 ///  then displays the selected directory in a dialog.
 class GetDirectoryPage extends StatelessWidget {
   /// Default Constructor
-  const GetDirectoryPage({Key? key}) : super(key: key);
+  const GetDirectoryPage({super.key});
 
   Future<void> _getDirectoryPath(BuildContext context) async {
     const String confirmButtonText = 'Choose';
@@ -60,7 +60,7 @@
 /// Widget that displays a text file in a dialog.
 class TextDisplay extends StatelessWidget {
   /// Creates a `TextDisplay`.
-  const TextDisplay(this.directoryPath, {Key? key}) : super(key: key);
+  const TextDisplay(this.directoryPath, {super.key});
 
   /// The path selected in the dialog.
   final String directoryPath;
diff --git a/packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart b/packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart
index 087240b..a312f88 100644
--- a/packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart
+++ b/packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart
@@ -9,7 +9,7 @@
 /// then displays the selected directories in a dialog.
 class GetMultipleDirectoriesPage extends StatelessWidget {
   /// Default Constructor
-  const GetMultipleDirectoriesPage({Key? key}) : super(key: key);
+  const GetMultipleDirectoriesPage({super.key});
 
   Future<void> _getDirectoryPaths(BuildContext context) async {
     const String confirmButtonText = 'Choose';
@@ -62,7 +62,7 @@
 /// Widget that displays a text file in a dialog.
 class TextDisplay extends StatelessWidget {
   /// Creates a `TextDisplay`.
-  const TextDisplay(this.directoriesPaths, {Key? key}) : super(key: key);
+  const TextDisplay(this.directoriesPaths, {super.key});
 
   /// The path selected in the dialog.
   final String directoriesPaths;
diff --git a/packages/file_selector/file_selector_linux/example/lib/home_page.dart b/packages/file_selector/file_selector_linux/example/lib/home_page.dart
index 80e1633..3c80f44 100644
--- a/packages/file_selector/file_selector_linux/example/lib/home_page.dart
+++ b/packages/file_selector/file_selector_linux/example/lib/home_page.dart
@@ -7,7 +7,7 @@
 /// Home Page of the application.
 class HomePage extends StatelessWidget {
   /// Default Constructor
-  const HomePage({Key? key}) : super(key: key);
+  const HomePage({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector_linux/example/lib/main.dart b/packages/file_selector/file_selector_linux/example/lib/main.dart
index b8f0476..a88f850 100644
--- a/packages/file_selector/file_selector_linux/example/lib/main.dart
+++ b/packages/file_selector/file_selector_linux/example/lib/main.dart
@@ -19,7 +19,7 @@
 /// MyApp is the Main Application.
 class MyApp extends StatelessWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector_linux/example/lib/open_image_page.dart b/packages/file_selector/file_selector_linux/example/lib/open_image_page.dart
index 9252d25..7b3da08 100644
--- a/packages/file_selector/file_selector_linux/example/lib/open_image_page.dart
+++ b/packages/file_selector/file_selector_linux/example/lib/open_image_page.dart
@@ -12,7 +12,7 @@
 /// `openFiles`, then displays the selected images in a gallery dialog.
 class OpenImagePage extends StatelessWidget {
   /// Default Constructor
-  const OpenImagePage({Key? key}) : super(key: key);
+  const OpenImagePage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -67,8 +67,7 @@
 /// Widget that displays an image in a dialog.
 class ImageDisplay extends StatelessWidget {
   /// Default Constructor.
-  const ImageDisplay(this.fileName, this.filePath, {Key? key})
-      : super(key: key);
+  const ImageDisplay(this.fileName, this.filePath, {super.key});
 
   /// The name of the selected file.
   final String fileName;
diff --git a/packages/file_selector/file_selector_linux/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_linux/example/lib/open_multiple_images_page.dart
index 787717c..693ace9 100644
--- a/packages/file_selector/file_selector_linux/example/lib/open_multiple_images_page.dart
+++ b/packages/file_selector/file_selector_linux/example/lib/open_multiple_images_page.dart
@@ -12,7 +12,7 @@
 /// `openFiles`, then displays the selected images in a gallery dialog.
 class OpenMultipleImagesPage extends StatelessWidget {
   /// Default Constructor
-  const OpenMultipleImagesPage({Key? key}) : super(key: key);
+  const OpenMultipleImagesPage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     const XTypeGroup jpgsTypeGroup = XTypeGroup(
@@ -71,7 +71,7 @@
 /// Widget that displays a text file in a dialog.
 class MultipleImagesDisplay extends StatelessWidget {
   /// Default Constructor.
-  const MultipleImagesDisplay(this.files, {Key? key}) : super(key: key);
+  const MultipleImagesDisplay(this.files, {super.key});
 
   /// The files containing the images.
   final List<XFile> files;
diff --git a/packages/file_selector/file_selector_linux/example/lib/open_text_page.dart b/packages/file_selector/file_selector_linux/example/lib/open_text_page.dart
index 97812f2..dd8b7c7 100644
--- a/packages/file_selector/file_selector_linux/example/lib/open_text_page.dart
+++ b/packages/file_selector/file_selector_linux/example/lib/open_text_page.dart
@@ -9,7 +9,7 @@
 /// displays its contents in a dialog.
 class OpenTextPage extends StatelessWidget {
   /// Default Constructor
-  const OpenTextPage({Key? key}) : super(key: key);
+  const OpenTextPage({super.key});
 
   Future<void> _openTextFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -64,8 +64,7 @@
 /// Widget that displays a text file in a dialog.
 class TextDisplay extends StatelessWidget {
   /// Default Constructor.
-  const TextDisplay(this.fileName, this.fileContent, {Key? key})
-      : super(key: key);
+  const TextDisplay(this.fileName, this.fileContent, {super.key});
 
   /// The name of the selected file.
   final String fileName;
diff --git a/packages/file_selector/file_selector_linux/example/lib/save_text_page.dart b/packages/file_selector/file_selector_linux/example/lib/save_text_page.dart
index aca041f..174c490 100644
--- a/packages/file_selector/file_selector_linux/example/lib/save_text_page.dart
+++ b/packages/file_selector/file_selector_linux/example/lib/save_text_page.dart
@@ -10,7 +10,7 @@
 /// then writes text to a file at that location.
 class SaveTextPage extends StatelessWidget {
   /// Default Constructor
-  SaveTextPage({Key? key}) : super(key: key);
+  SaveTextPage({super.key});
 
   final TextEditingController _nameController = TextEditingController();
   final TextEditingController _contentController = TextEditingController();
diff --git a/packages/file_selector/file_selector_linux/example/pubspec.yaml b/packages/file_selector/file_selector_linux/example/pubspec.yaml
index f90d1c8..b3bfbba 100644
--- a/packages/file_selector/file_selector_linux/example/pubspec.yaml
+++ b/packages/file_selector/file_selector_linux/example/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0+1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/file_selector/file_selector_linux/pubspec.yaml b/packages/file_selector/file_selector_linux/pubspec.yaml
index fe63e84..70ff3bc 100644
--- a/packages/file_selector/file_selector_linux/pubspec.yaml
+++ b/packages/file_selector/file_selector_linux/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.9.1+1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/file_selector/file_selector_macos/CHANGELOG.md b/packages/file_selector/file_selector_macos/CHANGELOG.md
index aa8ee73..5597f61 100644
--- a/packages/file_selector/file_selector_macos/CHANGELOG.md
+++ b/packages/file_selector/file_selector_macos/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.9.0+5
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/file_selector/file_selector_macos/example/lib/get_directory_page.dart b/packages/file_selector/file_selector_macos/example/lib/get_directory_page.dart
index a3f6f6a..7739f67 100644
--- a/packages/file_selector/file_selector_macos/example/lib/get_directory_page.dart
+++ b/packages/file_selector/file_selector_macos/example/lib/get_directory_page.dart
@@ -9,7 +9,7 @@
 /// then displays the selected directory in a dialog.
 class GetDirectoryPage extends StatelessWidget {
   /// Default Constructor
-  const GetDirectoryPage({Key? key}) : super(key: key);
+  const GetDirectoryPage({super.key});
 
   Future<void> _getDirectoryPath(BuildContext context) async {
     const String confirmButtonText = 'Choose';
@@ -60,7 +60,7 @@
 /// Widget that displays a text file in a dialog.
 class TextDisplay extends StatelessWidget {
   /// Creates a `TextDisplay`.
-  const TextDisplay(this.directoryPath, {Key? key}) : super(key: key);
+  const TextDisplay(this.directoryPath, {super.key});
 
   /// The path selected in the dialog.
   final String directoryPath;
diff --git a/packages/file_selector/file_selector_macos/example/lib/home_page.dart b/packages/file_selector/file_selector_macos/example/lib/home_page.dart
index a4b2ae1..366ff51 100644
--- a/packages/file_selector/file_selector_macos/example/lib/home_page.dart
+++ b/packages/file_selector/file_selector_macos/example/lib/home_page.dart
@@ -7,7 +7,7 @@
 /// Home Page of the application.
 class HomePage extends StatelessWidget {
   /// Default Constructor
-  const HomePage({Key? key}) : super(key: key);
+  const HomePage({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector_macos/example/lib/main.dart b/packages/file_selector/file_selector_macos/example/lib/main.dart
index 3e44710..bfd2c2f 100644
--- a/packages/file_selector/file_selector_macos/example/lib/main.dart
+++ b/packages/file_selector/file_selector_macos/example/lib/main.dart
@@ -18,7 +18,7 @@
 /// MyApp is the Main Application.
 class MyApp extends StatelessWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector_macos/example/lib/open_image_page.dart b/packages/file_selector/file_selector_macos/example/lib/open_image_page.dart
index 9252d25..7b3da08 100644
--- a/packages/file_selector/file_selector_macos/example/lib/open_image_page.dart
+++ b/packages/file_selector/file_selector_macos/example/lib/open_image_page.dart
@@ -12,7 +12,7 @@
 /// `openFiles`, then displays the selected images in a gallery dialog.
 class OpenImagePage extends StatelessWidget {
   /// Default Constructor
-  const OpenImagePage({Key? key}) : super(key: key);
+  const OpenImagePage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -67,8 +67,7 @@
 /// Widget that displays an image in a dialog.
 class ImageDisplay extends StatelessWidget {
   /// Default Constructor.
-  const ImageDisplay(this.fileName, this.filePath, {Key? key})
-      : super(key: key);
+  const ImageDisplay(this.fileName, this.filePath, {super.key});
 
   /// The name of the selected file.
   final String fileName;
diff --git a/packages/file_selector/file_selector_macos/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_macos/example/lib/open_multiple_images_page.dart
index 787717c..693ace9 100644
--- a/packages/file_selector/file_selector_macos/example/lib/open_multiple_images_page.dart
+++ b/packages/file_selector/file_selector_macos/example/lib/open_multiple_images_page.dart
@@ -12,7 +12,7 @@
 /// `openFiles`, then displays the selected images in a gallery dialog.
 class OpenMultipleImagesPage extends StatelessWidget {
   /// Default Constructor
-  const OpenMultipleImagesPage({Key? key}) : super(key: key);
+  const OpenMultipleImagesPage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     const XTypeGroup jpgsTypeGroup = XTypeGroup(
@@ -71,7 +71,7 @@
 /// Widget that displays a text file in a dialog.
 class MultipleImagesDisplay extends StatelessWidget {
   /// Default Constructor.
-  const MultipleImagesDisplay(this.files, {Key? key}) : super(key: key);
+  const MultipleImagesDisplay(this.files, {super.key});
 
   /// The files containing the images.
   final List<XFile> files;
diff --git a/packages/file_selector/file_selector_macos/example/lib/open_text_page.dart b/packages/file_selector/file_selector_macos/example/lib/open_text_page.dart
index 97812f2..dd8b7c7 100644
--- a/packages/file_selector/file_selector_macos/example/lib/open_text_page.dart
+++ b/packages/file_selector/file_selector_macos/example/lib/open_text_page.dart
@@ -9,7 +9,7 @@
 /// displays its contents in a dialog.
 class OpenTextPage extends StatelessWidget {
   /// Default Constructor
-  const OpenTextPage({Key? key}) : super(key: key);
+  const OpenTextPage({super.key});
 
   Future<void> _openTextFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -64,8 +64,7 @@
 /// Widget that displays a text file in a dialog.
 class TextDisplay extends StatelessWidget {
   /// Default Constructor.
-  const TextDisplay(this.fileName, this.fileContent, {Key? key})
-      : super(key: key);
+  const TextDisplay(this.fileName, this.fileContent, {super.key});
 
   /// The name of the selected file.
   final String fileName;
diff --git a/packages/file_selector/file_selector_macos/example/lib/save_text_page.dart b/packages/file_selector/file_selector_macos/example/lib/save_text_page.dart
index f80aead..79d9c83 100644
--- a/packages/file_selector/file_selector_macos/example/lib/save_text_page.dart
+++ b/packages/file_selector/file_selector_macos/example/lib/save_text_page.dart
@@ -10,7 +10,7 @@
 /// then writes text to a file at that location.
 class SaveTextPage extends StatelessWidget {
   /// Default Constructor
-  SaveTextPage({Key? key}) : super(key: key);
+  SaveTextPage({super.key});
 
   final TextEditingController _nameController = TextEditingController();
   final TextEditingController _contentController = TextEditingController();
diff --git a/packages/file_selector/file_selector_macos/example/pubspec.yaml b/packages/file_selector/file_selector_macos/example/pubspec.yaml
index a2122b2..c5d48dd 100644
--- a/packages/file_selector/file_selector_macos/example/pubspec.yaml
+++ b/packages/file_selector/file_selector_macos/example/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/file_selector/file_selector_macos/pubspec.yaml b/packages/file_selector/file_selector_macos/pubspec.yaml
index d290dc1..494c0eb 100644
--- a/packages/file_selector/file_selector_macos/pubspec.yaml
+++ b/packages/file_selector/file_selector_macos/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.9.0+5
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/file_selector/file_selector_platform_interface/CHANGELOG.md b/packages/file_selector/file_selector_platform_interface/CHANGELOG.md
index f5ccca4..b66fa72 100644
--- a/packages/file_selector/file_selector_platform_interface/CHANGELOG.md
+++ b/packages/file_selector/file_selector_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.4.1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/file_selector/file_selector_platform_interface/pubspec.yaml b/packages/file_selector/file_selector_platform_interface/pubspec.yaml
index 37fb504..e9ab218 100644
--- a/packages/file_selector/file_selector_platform_interface/pubspec.yaml
+++ b/packages/file_selector/file_selector_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 2.4.1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/file_selector/file_selector_web/CHANGELOG.md b/packages/file_selector/file_selector_web/CHANGELOG.md
index ff9b177..81f5f45 100644
--- a/packages/file_selector/file_selector_web/CHANGELOG.md
+++ b/packages/file_selector/file_selector_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.9.0+3
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/file_selector/file_selector_web/example/lib/main.dart b/packages/file_selector/file_selector_web/example/lib/main.dart
index 8742295..b5cc8b7 100644
--- a/packages/file_selector/file_selector_web/example/lib/main.dart
+++ b/packages/file_selector/file_selector_web/example/lib/main.dart
@@ -11,7 +11,7 @@
 /// App for testing
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/file_selector/file_selector_web/example/pubspec.yaml b/packages/file_selector/file_selector_web/example/pubspec.yaml
index 985ce35..4e120d8 100644
--- a/packages/file_selector/file_selector_web/example/pubspec.yaml
+++ b/packages/file_selector/file_selector_web/example/pubspec.yaml
@@ -2,7 +2,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/file_selector/file_selector_web/pubspec.yaml b/packages/file_selector/file_selector_web/pubspec.yaml
index 9629f47..838c4a8 100644
--- a/packages/file_selector/file_selector_web/pubspec.yaml
+++ b/packages/file_selector/file_selector_web/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.9.0+3
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/file_selector/file_selector_windows/CHANGELOG.md b/packages/file_selector/file_selector_windows/CHANGELOG.md
index 55a260a..741b6f6 100644
--- a/packages/file_selector/file_selector_windows/CHANGELOG.md
+++ b/packages/file_selector/file_selector_windows/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.9.1+5
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/file_selector/file_selector_windows/example/lib/get_directory_page.dart b/packages/file_selector/file_selector_windows/example/lib/get_directory_page.dart
index f6390cc..2fa862b 100644
--- a/packages/file_selector/file_selector_windows/example/lib/get_directory_page.dart
+++ b/packages/file_selector/file_selector_windows/example/lib/get_directory_page.dart
@@ -9,7 +9,7 @@
 ///  then displays the selected directory in a dialog.
 class GetDirectoryPage extends StatelessWidget {
   /// Default Constructor
-  const GetDirectoryPage({Key? key}) : super(key: key);
+  const GetDirectoryPage({super.key});
 
   Future<void> _getDirectoryPath(BuildContext context) async {
     const String confirmButtonText = 'Choose';
@@ -60,7 +60,7 @@
 /// Widget that displays a text file in a dialog.
 class TextDisplay extends StatelessWidget {
   /// Creates a `TextDisplay`.
-  const TextDisplay(this.directoryPath, {Key? key}) : super(key: key);
+  const TextDisplay(this.directoryPath, {super.key});
 
   /// The path selected in the dialog.
   final String directoryPath;
diff --git a/packages/file_selector/file_selector_windows/example/lib/home_page.dart b/packages/file_selector/file_selector_windows/example/lib/home_page.dart
index a4b2ae1..366ff51 100644
--- a/packages/file_selector/file_selector_windows/example/lib/home_page.dart
+++ b/packages/file_selector/file_selector_windows/example/lib/home_page.dart
@@ -7,7 +7,7 @@
 /// Home Page of the application.
 class HomePage extends StatelessWidget {
   /// Default Constructor
-  const HomePage({Key? key}) : super(key: key);
+  const HomePage({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector_windows/example/lib/main.dart b/packages/file_selector/file_selector_windows/example/lib/main.dart
index 3e44710..bfd2c2f 100644
--- a/packages/file_selector/file_selector_windows/example/lib/main.dart
+++ b/packages/file_selector/file_selector_windows/example/lib/main.dart
@@ -18,7 +18,7 @@
 /// MyApp is the Main Application.
 class MyApp extends StatelessWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/file_selector/file_selector_windows/example/lib/open_image_page.dart b/packages/file_selector/file_selector_windows/example/lib/open_image_page.dart
index 9252d25..7b3da08 100644
--- a/packages/file_selector/file_selector_windows/example/lib/open_image_page.dart
+++ b/packages/file_selector/file_selector_windows/example/lib/open_image_page.dart
@@ -12,7 +12,7 @@
 /// `openFiles`, then displays the selected images in a gallery dialog.
 class OpenImagePage extends StatelessWidget {
   /// Default Constructor
-  const OpenImagePage({Key? key}) : super(key: key);
+  const OpenImagePage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -67,8 +67,7 @@
 /// Widget that displays an image in a dialog.
 class ImageDisplay extends StatelessWidget {
   /// Default Constructor.
-  const ImageDisplay(this.fileName, this.filePath, {Key? key})
-      : super(key: key);
+  const ImageDisplay(this.fileName, this.filePath, {super.key});
 
   /// The name of the selected file.
   final String fileName;
diff --git a/packages/file_selector/file_selector_windows/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_windows/example/lib/open_multiple_images_page.dart
index 787717c..693ace9 100644
--- a/packages/file_selector/file_selector_windows/example/lib/open_multiple_images_page.dart
+++ b/packages/file_selector/file_selector_windows/example/lib/open_multiple_images_page.dart
@@ -12,7 +12,7 @@
 /// `openFiles`, then displays the selected images in a gallery dialog.
 class OpenMultipleImagesPage extends StatelessWidget {
   /// Default Constructor
-  const OpenMultipleImagesPage({Key? key}) : super(key: key);
+  const OpenMultipleImagesPage({super.key});
 
   Future<void> _openImageFile(BuildContext context) async {
     const XTypeGroup jpgsTypeGroup = XTypeGroup(
@@ -71,7 +71,7 @@
 /// Widget that displays a text file in a dialog.
 class MultipleImagesDisplay extends StatelessWidget {
   /// Default Constructor.
-  const MultipleImagesDisplay(this.files, {Key? key}) : super(key: key);
+  const MultipleImagesDisplay(this.files, {super.key});
 
   /// The files containing the images.
   final List<XFile> files;
diff --git a/packages/file_selector/file_selector_windows/example/lib/open_text_page.dart b/packages/file_selector/file_selector_windows/example/lib/open_text_page.dart
index 97812f2..dd8b7c7 100644
--- a/packages/file_selector/file_selector_windows/example/lib/open_text_page.dart
+++ b/packages/file_selector/file_selector_windows/example/lib/open_text_page.dart
@@ -9,7 +9,7 @@
 /// displays its contents in a dialog.
 class OpenTextPage extends StatelessWidget {
   /// Default Constructor
-  const OpenTextPage({Key? key}) : super(key: key);
+  const OpenTextPage({super.key});
 
   Future<void> _openTextFile(BuildContext context) async {
     const XTypeGroup typeGroup = XTypeGroup(
@@ -64,8 +64,7 @@
 /// Widget that displays a text file in a dialog.
 class TextDisplay extends StatelessWidget {
   /// Default Constructor.
-  const TextDisplay(this.fileName, this.fileContent, {Key? key})
-      : super(key: key);
+  const TextDisplay(this.fileName, this.fileContent, {super.key});
 
   /// The name of the selected file.
   final String fileName;
diff --git a/packages/file_selector/file_selector_windows/example/lib/save_text_page.dart b/packages/file_selector/file_selector_windows/example/lib/save_text_page.dart
index aca041f..174c490 100644
--- a/packages/file_selector/file_selector_windows/example/lib/save_text_page.dart
+++ b/packages/file_selector/file_selector_windows/example/lib/save_text_page.dart
@@ -10,7 +10,7 @@
 /// then writes text to a file at that location.
 class SaveTextPage extends StatelessWidget {
   /// Default Constructor
-  SaveTextPage({Key? key}) : super(key: key);
+  SaveTextPage({super.key});
 
   final TextEditingController _nameController = TextEditingController();
   final TextEditingController _contentController = TextEditingController();
diff --git a/packages/file_selector/file_selector_windows/example/pubspec.yaml b/packages/file_selector/file_selector_windows/example/pubspec.yaml
index d270c30..5c48de5 100644
--- a/packages/file_selector/file_selector_windows/example/pubspec.yaml
+++ b/packages/file_selector/file_selector_windows/example/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/file_selector/file_selector_windows/pubspec.yaml b/packages/file_selector/file_selector_windows/pubspec.yaml
index 4ec9306..a957c15 100644
--- a/packages/file_selector/file_selector_windows/pubspec.yaml
+++ b/packages/file_selector/file_selector_windows/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.9.1+5
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/flutter_adaptive_scaffold/CHANGELOG.md b/packages/flutter_adaptive_scaffold/CHANGELOG.md
index 65d360c..cfa2ef5 100644
--- a/packages/flutter_adaptive_scaffold/CHANGELOG.md
+++ b/packages/flutter_adaptive_scaffold/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.1.0
 
 * Change the `selectedIndex` parameter on `standardNavigationRail` to allow null values to indicate "no destination".
diff --git a/packages/flutter_adaptive_scaffold/example/pubspec.yaml b/packages/flutter_adaptive_scaffold/example/pubspec.yaml
index cc27a3a..d52a89b 100644
--- a/packages/flutter_adaptive_scaffold/example/pubspec.yaml
+++ b/packages/flutter_adaptive_scaffold/example/pubspec.yaml
@@ -5,7 +5,7 @@
 
 environment:
   sdk: ">=2.18.0 <3.0.0"
-  flutter: ">=3.0.0"
+  flutter: ">=3.3.0"
 
 dependencies:
   flutter:
@@ -28,4 +28,4 @@
     - images/strawberry.png
     - images/plum.png
     - images/mushroom.png
-    - images/avocado.png
\ No newline at end of file
+    - images/avocado.png
diff --git a/packages/flutter_adaptive_scaffold/pubspec.yaml b/packages/flutter_adaptive_scaffold/pubspec.yaml
index e3fcb67..b67fd5e 100644
--- a/packages/flutter_adaptive_scaffold/pubspec.yaml
+++ b/packages/flutter_adaptive_scaffold/pubspec.yaml
@@ -6,7 +6,7 @@
 
 environment:
   sdk: '>=2.18.0 <3.0.0'
-  flutter: ">=3.0.0"
+  flutter: ">=3.3.0"
 
 dependencies:
   flutter:
diff --git a/packages/flutter_image/CHANGELOG.md b/packages/flutter_image/CHANGELOG.md
index 1a2b63e..8db895a 100644
--- a/packages/flutter_image/CHANGELOG.md
+++ b/packages/flutter_image/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 4.1.5
 
 * Removes use of `runtimeType.toString()`.
diff --git a/packages/flutter_image/pubspec.yaml b/packages/flutter_image/pubspec.yaml
index 340d655..f2057f6 100644
--- a/packages/flutter_image/pubspec.yaml
+++ b/packages/flutter_image/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 4.1.5
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/flutter_markdown/CHANGELOG.md b/packages/flutter_markdown/CHANGELOG.md
index 29e9a36..1ec37e2 100644
--- a/packages/flutter_markdown/CHANGELOG.md
+++ b/packages/flutter_markdown/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.6.14
 
 * Require `markdown: ^7.0.0`
diff --git a/packages/flutter_markdown/example/lib/demos/basic_markdown_demo.dart b/packages/flutter_markdown/example/lib/demos/basic_markdown_demo.dart
index 49fce54..8c25984 100644
--- a/packages/flutter_markdown/example/lib/demos/basic_markdown_demo.dart
+++ b/packages/flutter_markdown/example/lib/demos/basic_markdown_demo.dart
@@ -46,7 +46,7 @@
 // TODO(goderbauer): Restructure the examples to avoid this ignore, https://github.com/flutter/flutter/issues/110208.
 // ignore: avoid_implementing_value_types
 class BasicMarkdownDemo extends StatefulWidget implements MarkdownDemoWidget {
-  const BasicMarkdownDemo({Key? key}) : super(key: key);
+  const BasicMarkdownDemo({super.key});
 
   static const String _title = 'Basic Markdown Demo';
 
diff --git a/packages/flutter_markdown/example/lib/demos/centered_header_demo.dart b/packages/flutter_markdown/example/lib/demos/centered_header_demo.dart
index 3b344c4..ea591d7 100644
--- a/packages/flutter_markdown/example/lib/demos/centered_header_demo.dart
+++ b/packages/flutter_markdown/example/lib/demos/centered_header_demo.dart
@@ -28,7 +28,7 @@
 // TODO(goderbauer): Restructure the examples to avoid this ignore, https://github.com/flutter/flutter/issues/110208.
 // ignore: avoid_implementing_value_types
 class CenteredHeaderDemo extends StatelessWidget implements MarkdownDemoWidget {
-  const CenteredHeaderDemo({Key? key}) : super(key: key);
+  const CenteredHeaderDemo({super.key});
 
   static const String _title = 'Centered Header Demo';
 
diff --git a/packages/flutter_markdown/example/lib/demos/extended_emoji_demo.dart b/packages/flutter_markdown/example/lib/demos/extended_emoji_demo.dart
index 4b55c58..ee09932 100644
--- a/packages/flutter_markdown/example/lib/demos/extended_emoji_demo.dart
+++ b/packages/flutter_markdown/example/lib/demos/extended_emoji_demo.dart
@@ -49,7 +49,7 @@
 // TODO(goderbauer): Restructure the examples to avoid this ignore, https://github.com/flutter/flutter/issues/110208.
 // ignore: avoid_implementing_value_types
 class ExtendedEmojiDemo extends StatelessWidget implements MarkdownDemoWidget {
-  const ExtendedEmojiDemo({Key? key}) : super(key: key);
+  const ExtendedEmojiDemo({super.key});
 
   static const String _title = 'Extended Emoji Demo';
 
diff --git a/packages/flutter_markdown/example/lib/demos/markdown_body_shrink_wrap_demo.dart b/packages/flutter_markdown/example/lib/demos/markdown_body_shrink_wrap_demo.dart
index a058da2..f48d610 100644
--- a/packages/flutter_markdown/example/lib/demos/markdown_body_shrink_wrap_demo.dart
+++ b/packages/flutter_markdown/example/lib/demos/markdown_body_shrink_wrap_demo.dart
@@ -32,7 +32,7 @@
 
 class MarkdownBodyShrinkWrapDemo extends StatefulWidget
     implements MarkdownDemoWidget {
-  const MarkdownBodyShrinkWrapDemo({Key? key}) : super(key: key);
+  const MarkdownBodyShrinkWrapDemo({super.key});
 
   static const String _title = 'Shrink wrap demo';
 
diff --git a/packages/flutter_markdown/example/lib/demos/minimal_markdown_demo.dart b/packages/flutter_markdown/example/lib/demos/minimal_markdown_demo.dart
index cd97424..de18dc7 100644
--- a/packages/flutter_markdown/example/lib/demos/minimal_markdown_demo.dart
+++ b/packages/flutter_markdown/example/lib/demos/minimal_markdown_demo.dart
@@ -93,7 +93,7 @@
 
 class MinimalMarkdownDemo extends StatelessWidget
     implements MarkdownDemoWidget {
-  const MinimalMarkdownDemo({Key? key}) : super(key: key);
+  const MinimalMarkdownDemo({super.key});
 
   static const String _title = 'Minimal Markdown Demo';
 
diff --git a/packages/flutter_markdown/example/lib/demos/original_demo.dart b/packages/flutter_markdown/example/lib/demos/original_demo.dart
index e623b97..8114fff 100644
--- a/packages/flutter_markdown/example/lib/demos/original_demo.dart
+++ b/packages/flutter_markdown/example/lib/demos/original_demo.dart
@@ -146,7 +146,7 @@
 
 class OriginalMarkdownDemo extends StatelessWidget
     implements MarkdownDemoWidget {
-  OriginalMarkdownDemo({Key? key}) : super(key: key);
+  OriginalMarkdownDemo({super.key});
 
   static const String _title = 'Original Markdown Demo';
 
diff --git a/packages/flutter_markdown/example/lib/demos/subscript_syntax_demo.dart b/packages/flutter_markdown/example/lib/demos/subscript_syntax_demo.dart
index 5a6e539..ba71903 100644
--- a/packages/flutter_markdown/example/lib/demos/subscript_syntax_demo.dart
+++ b/packages/flutter_markdown/example/lib/demos/subscript_syntax_demo.dart
@@ -93,7 +93,7 @@
 /// accompanying Markdown element builder object to handle subscript tags.
 class SubscriptSyntaxDemo extends StatelessWidget
     implements MarkdownDemoWidget {
-  const SubscriptSyntaxDemo({Key? key}) : super(key: key);
+  const SubscriptSyntaxDemo({super.key});
 
   static const String _title = 'Subscript Syntax Demo';
 
diff --git a/packages/flutter_markdown/example/lib/demos/wrap_alignment_demo.dart b/packages/flutter_markdown/example/lib/demos/wrap_alignment_demo.dart
index b86f825..510e29b 100644
--- a/packages/flutter_markdown/example/lib/demos/wrap_alignment_demo.dart
+++ b/packages/flutter_markdown/example/lib/demos/wrap_alignment_demo.dart
@@ -31,7 +31,7 @@
 // TODO(goderbauer): Restructure the examples to avoid this ignore, https://github.com/flutter/flutter/issues/110208.
 // ignore: avoid_implementing_value_types
 class WrapAlignmentDemo extends StatefulWidget implements MarkdownDemoWidget {
-  const WrapAlignmentDemo({Key? key}) : super(key: key);
+  const WrapAlignmentDemo({super.key});
 
   static const String _title = 'Wrap Alignment Demo';
 
diff --git a/packages/flutter_markdown/example/lib/screens/demo_card.dart b/packages/flutter_markdown/example/lib/screens/demo_card.dart
index 284226e..8d89cf3 100644
--- a/packages/flutter_markdown/example/lib/screens/demo_card.dart
+++ b/packages/flutter_markdown/example/lib/screens/demo_card.dart
@@ -9,7 +9,7 @@
 // ignore_for_file: public_member_api_docs
 
 class DemoCard extends StatelessWidget {
-  const DemoCard({Key? key, required this.widget}) : super(key: key);
+  const DemoCard({super.key, required this.widget});
 
   final MarkdownDemoWidget widget;
 
diff --git a/packages/flutter_markdown/example/lib/screens/demo_screen.dart b/packages/flutter_markdown/example/lib/screens/demo_screen.dart
index 041d2d8..1acd8c1 100644
--- a/packages/flutter_markdown/example/lib/screens/demo_screen.dart
+++ b/packages/flutter_markdown/example/lib/screens/demo_screen.dart
@@ -11,7 +11,7 @@
 // ignore_for_file: public_member_api_docs
 
 class DemoScreen extends StatelessWidget {
-  const DemoScreen({Key? key, required this.child}) : super(key: key);
+  const DemoScreen({super.key, required this.child});
 
   static const String routeName = '/demoScreen';
 
@@ -47,7 +47,7 @@
 }
 
 class DemoFormattedView extends StatelessWidget {
-  const DemoFormattedView({Key? key, required this.child}) : super(key: key);
+  const DemoFormattedView({super.key, required this.child});
 
   final Widget? child;
 
@@ -64,7 +64,7 @@
 }
 
 class DemoRawDataView extends StatelessWidget {
-  const DemoRawDataView({Key? key, required this.data}) : super(key: key);
+  const DemoRawDataView({super.key, required this.data});
 
   final Future<String> data;
 
@@ -96,7 +96,7 @@
 }
 
 class DemoNotesView extends StatelessWidget {
-  const DemoNotesView({Key? key, required this.notes}) : super(key: key);
+  const DemoNotesView({super.key, required this.notes});
 
   final Future<String> notes;
 
diff --git a/packages/flutter_markdown/example/lib/screens/home_screen.dart b/packages/flutter_markdown/example/lib/screens/home_screen.dart
index df17ab0..6b15a64 100644
--- a/packages/flutter_markdown/example/lib/screens/home_screen.dart
+++ b/packages/flutter_markdown/example/lib/screens/home_screen.dart
@@ -17,7 +17,7 @@
 // ignore_for_file: public_member_api_docs
 
 class HomeScreen extends StatelessWidget {
-  HomeScreen({Key? key}) : super(key: key);
+  HomeScreen({super.key});
 
   static const String routeName = '/homeScreen';
 
diff --git a/packages/flutter_markdown/example/lib/shared/dropdown_menu.dart b/packages/flutter_markdown/example/lib/shared/dropdown_menu.dart
index 48388ef..4a29e4e 100644
--- a/packages/flutter_markdown/example/lib/shared/dropdown_menu.dart
+++ b/packages/flutter_markdown/example/lib/shared/dropdown_menu.dart
@@ -8,7 +8,7 @@
 
 class DropdownMenu<T> extends StatelessWidget {
   DropdownMenu({
-    Key? key,
+    super.key,
     required this.items,
     required this.initialValue,
     required this.label,
@@ -24,8 +24,7 @@
         padding =
             padding ?? const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
         menuItemBackground = menuItemBackground ?? Colors.white,
-        menuItemMargin = menuItemMargin ?? const EdgeInsets.only(left: 4),
-        super(key: key);
+        menuItemMargin = menuItemMargin ?? const EdgeInsets.only(left: 4);
 
   final Map<String, T> items;
 
diff --git a/packages/flutter_markdown/example/lib/shared/markdown_demo_widget.dart b/packages/flutter_markdown/example/lib/shared/markdown_demo_widget.dart
index e8fed4f..f843a15 100644
--- a/packages/flutter_markdown/example/lib/shared/markdown_demo_widget.dart
+++ b/packages/flutter_markdown/example/lib/shared/markdown_demo_widget.dart
@@ -7,7 +7,7 @@
 // ignore_for_file: public_member_api_docs
 
 abstract class MarkdownDemoWidget extends Widget {
-  const MarkdownDemoWidget({Key? key}) : super(key: key);
+  const MarkdownDemoWidget({super.key});
 
   // The title property should be a short name to uniquely identify the example
   // demo. The title will be displayed at the top of the card in the home screen
diff --git a/packages/flutter_markdown/example/pubspec.yaml b/packages/flutter_markdown/example/pubspec.yaml
index 3245013..3d554e6 100644
--- a/packages/flutter_markdown/example/pubspec.yaml
+++ b/packages/flutter_markdown/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: '>=2.12.0 <3.0.0'
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/flutter_markdown/lib/src/widget.dart b/packages/flutter_markdown/lib/src/widget.dart
index bfdce31..690f5b8 100644
--- a/packages/flutter_markdown/lib/src/widget.dart
+++ b/packages/flutter_markdown/lib/src/widget.dart
@@ -147,7 +147,7 @@
   ///
   /// The [data] argument must not be null.
   const MarkdownWidget({
-    Key? key,
+    super.key,
     required this.data,
     this.selectable = false,
     this.styleSheet,
@@ -168,7 +168,7 @@
     this.listItemCrossAxisAlignment =
         MarkdownListItemCrossAxisAlignment.baseline,
     this.softLineBreak = false,
-  }) : super(key: key);
+  });
 
   /// The Markdown to display.
   final String data;
@@ -389,52 +389,31 @@
 class MarkdownBody extends MarkdownWidget {
   /// Creates a non-scrolling widget that parses and displays Markdown.
   const MarkdownBody({
-    Key? key,
-    required String data,
-    bool selectable = false,
-    MarkdownStyleSheet? styleSheet,
-    MarkdownStyleSheetBaseTheme? styleSheetTheme,
-    SyntaxHighlighter? syntaxHighlighter,
-    MarkdownTapLinkCallback? onTapLink,
-    VoidCallback? onTapText,
-    String? imageDirectory,
-    List<md.BlockSyntax>? blockSyntaxes,
-    List<md.InlineSyntax>? inlineSyntaxes,
-    md.ExtensionSet? extensionSet,
-    MarkdownImageBuilder? imageBuilder,
-    MarkdownCheckboxBuilder? checkboxBuilder,
-    MarkdownBulletBuilder? bulletBuilder,
-    Map<String, MarkdownElementBuilder> builders =
-        const <String, MarkdownElementBuilder>{},
-    Map<String, MarkdownPaddingBuilder> paddingBuilders =
-        const <String, MarkdownPaddingBuilder>{},
-    MarkdownListItemCrossAxisAlignment listItemCrossAxisAlignment =
-        MarkdownListItemCrossAxisAlignment.baseline,
+    super.key,
+    required super.data,
+    super.selectable,
+    super.styleSheet,
+    // TODO(stuartmorgan): Remove this once 3.0 is no longer part of the
+    // legacy analysis matrix; it's a false positive there.
+    // ignore: avoid_init_to_null
+    super.styleSheetTheme = null,
+    super.syntaxHighlighter,
+    super.onTapLink,
+    super.onTapText,
+    super.imageDirectory,
+    super.blockSyntaxes,
+    super.inlineSyntaxes,
+    super.extensionSet,
+    super.imageBuilder,
+    super.checkboxBuilder,
+    super.bulletBuilder,
+    super.builders,
+    super.paddingBuilders,
+    super.listItemCrossAxisAlignment,
     this.shrinkWrap = true,
-    bool fitContent = true,
-    bool softLineBreak = false,
-  }) : super(
-          key: key,
-          data: data,
-          selectable: selectable,
-          styleSheet: styleSheet,
-          styleSheetTheme: styleSheetTheme,
-          syntaxHighlighter: syntaxHighlighter,
-          onTapLink: onTapLink,
-          onTapText: onTapText,
-          imageDirectory: imageDirectory,
-          blockSyntaxes: blockSyntaxes,
-          inlineSyntaxes: inlineSyntaxes,
-          extensionSet: extensionSet,
-          imageBuilder: imageBuilder,
-          checkboxBuilder: checkboxBuilder,
-          builders: builders,
-          paddingBuilders: paddingBuilders,
-          listItemCrossAxisAlignment: listItemCrossAxisAlignment,
-          bulletBuilder: bulletBuilder,
-          fitContent: fitContent,
-          softLineBreak: softLineBreak,
-        );
+    super.fitContent = true,
+    super.softLineBreak,
+  });
 
   /// If [shrinkWrap] is `true`, [MarkdownBody] will take the minimum height
   /// that wraps its content. Otherwise, [MarkdownBody] will expand to the
@@ -467,53 +446,33 @@
 class Markdown extends MarkdownWidget {
   /// Creates a scrolling widget that parses and displays Markdown.
   const Markdown({
-    Key? key,
-    required String data,
-    bool selectable = false,
-    MarkdownStyleSheet? styleSheet,
-    MarkdownStyleSheetBaseTheme? styleSheetTheme,
-    SyntaxHighlighter? syntaxHighlighter,
-    MarkdownTapLinkCallback? onTapLink,
-    VoidCallback? onTapText,
-    String? imageDirectory,
-    List<md.BlockSyntax>? blockSyntaxes,
-    List<md.InlineSyntax>? inlineSyntaxes,
-    md.ExtensionSet? extensionSet,
-    MarkdownImageBuilder? imageBuilder,
-    MarkdownCheckboxBuilder? checkboxBuilder,
-    MarkdownBulletBuilder? bulletBuilder,
-    Map<String, MarkdownElementBuilder> builders =
-        const <String, MarkdownElementBuilder>{},
-    Map<String, MarkdownPaddingBuilder> paddingBuilders =
-        const <String, MarkdownPaddingBuilder>{},
-    MarkdownListItemCrossAxisAlignment listItemCrossAxisAlignment =
-        MarkdownListItemCrossAxisAlignment.baseline,
+    super.key,
+    required super.data,
+    super.selectable,
+    super.styleSheet,
+    // TODO(stuartmorgan): Remove this once 3.0 is no longer part of the
+    // legacy analysis matrix; it's a false positive there.
+    // ignore: avoid_init_to_null
+    super.styleSheetTheme = null,
+    super.syntaxHighlighter,
+    super.onTapLink,
+    super.onTapText,
+    super.imageDirectory,
+    super.blockSyntaxes,
+    super.inlineSyntaxes,
+    super.extensionSet,
+    super.imageBuilder,
+    super.checkboxBuilder,
+    super.bulletBuilder,
+    super.builders,
+    super.paddingBuilders,
+    super.listItemCrossAxisAlignment,
     this.padding = const EdgeInsets.all(16.0),
     this.controller,
     this.physics,
     this.shrinkWrap = false,
-    bool softLineBreak = false,
-  }) : super(
-          key: key,
-          data: data,
-          selectable: selectable,
-          styleSheet: styleSheet,
-          styleSheetTheme: styleSheetTheme,
-          syntaxHighlighter: syntaxHighlighter,
-          onTapLink: onTapLink,
-          onTapText: onTapText,
-          imageDirectory: imageDirectory,
-          blockSyntaxes: blockSyntaxes,
-          inlineSyntaxes: inlineSyntaxes,
-          extensionSet: extensionSet,
-          imageBuilder: imageBuilder,
-          checkboxBuilder: checkboxBuilder,
-          builders: builders,
-          paddingBuilders: paddingBuilders,
-          listItemCrossAxisAlignment: listItemCrossAxisAlignment,
-          bulletBuilder: bulletBuilder,
-          softLineBreak: softLineBreak,
-        );
+    super.softLineBreak,
+  });
 
   /// The amount of space by which to inset the children.
   final EdgeInsets padding;
diff --git a/packages/flutter_markdown/pubspec.yaml b/packages/flutter_markdown/pubspec.yaml
index e554c40..e2a1c2e 100644
--- a/packages/flutter_markdown/pubspec.yaml
+++ b/packages/flutter_markdown/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 0.6.14
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/flutter_plugin_android_lifecycle/CHANGELOG.md b/packages/flutter_plugin_android_lifecycle/CHANGELOG.md
index bb96cc5..0ab8296 100644
--- a/packages/flutter_plugin_android_lifecycle/CHANGELOG.md
+++ b/packages/flutter_plugin_android_lifecycle/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.9
 
 * Updates annotation and espresso dependencies.
diff --git a/packages/flutter_plugin_android_lifecycle/example/lib/main.dart b/packages/flutter_plugin_android_lifecycle/example/lib/main.dart
index c465b3b..0ec6025 100644
--- a/packages/flutter_plugin_android_lifecycle/example/lib/main.dart
+++ b/packages/flutter_plugin_android_lifecycle/example/lib/main.dart
@@ -9,7 +9,7 @@
 /// MyApp is the Main Application.
 class MyApp extends StatelessWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/flutter_plugin_android_lifecycle/example/pubspec.yaml b/packages/flutter_plugin_android_lifecycle/example/pubspec.yaml
index 4c97e6c..a951106 100644
--- a/packages/flutter_plugin_android_lifecycle/example/pubspec.yaml
+++ b/packages/flutter_plugin_android_lifecycle/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/flutter_plugin_android_lifecycle/pubspec.yaml b/packages/flutter_plugin_android_lifecycle/pubspec.yaml
index 64622b3..e9c9fa6 100644
--- a/packages/flutter_plugin_android_lifecycle/pubspec.yaml
+++ b/packages/flutter_plugin_android_lifecycle/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.0.9
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/go_router/CHANGELOG.md b/packages/go_router/CHANGELOG.md
index 31958fe..170609a 100644
--- a/packages/go_router/CHANGELOG.md
+++ b/packages/go_router/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+- Aligns Dart and Flutter SDK constraints.
 - Updates compileSdkVersion to 33.
 - Updates example app to iOS 11.
 
diff --git a/packages/go_router/example/lib/async_redirection.dart b/packages/go_router/example/lib/async_redirection.dart
index b7a1545..d91db6e 100644
--- a/packages/go_router/example/lib/async_redirection.dart
+++ b/packages/go_router/example/lib/async_redirection.dart
@@ -22,7 +22,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Redirection';
@@ -75,7 +75,7 @@
 /// The login screen.
 class LoginScreen extends StatefulWidget {
   /// Creates a [LoginScreen].
-  const LoginScreen({Key? key}) : super(key: key);
+  const LoginScreen({super.key});
 
   @override
   State<LoginScreen> createState() => _LoginScreenState();
@@ -131,7 +131,7 @@
 /// The home screen.
 class HomeScreen extends StatelessWidget {
   /// Creates a [HomeScreen].
-  const HomeScreen({Key? key}) : super(key: key);
+  const HomeScreen({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -159,12 +159,10 @@
 class StreamAuthScope extends InheritedNotifier<StreamAuthNotifier> {
   /// Creates a [StreamAuthScope] sign in scope.
   StreamAuthScope({
-    Key? key,
-    required Widget child,
+    super.key,
+    required super.child,
   }) : super(
-          key: key,
           notifier: StreamAuthNotifier(),
-          child: child,
         );
 
   /// Gets the [StreamAuth].
diff --git a/packages/go_router/example/lib/books/main.dart b/packages/go_router/example/lib/books/main.dart
index 16068d6..73cb6f3 100644
--- a/packages/go_router/example/lib/books/main.dart
+++ b/packages/go_router/example/lib/books/main.dart
@@ -23,7 +23,7 @@
 /// The book store view.
 class Bookstore extends StatelessWidget {
   /// Creates a [Bookstore].
-  Bookstore({Key? key}) : super(key: key);
+  Bookstore({super.key});
 
   final ValueKey<String> _scaffoldKey = const ValueKey<String>('App scaffold');
 
@@ -155,10 +155,9 @@
 class FadeTransitionPage extends CustomTransitionPage<void> {
   /// Creates a [FadeTransitionPage].
   FadeTransitionPage({
-    required LocalKey key,
-    required Widget child,
+    required LocalKey super.key,
+    required super.child,
   }) : super(
-            key: key,
             transitionsBuilder: (BuildContext context,
                     Animation<double> animation,
                     Animation<double> secondaryAnimation,
@@ -166,8 +165,7 @@
                 FadeTransition(
                   opacity: animation.drive(_curveTween),
                   child: child,
-                ),
-            child: child);
+                ));
 
   static final CurveTween _curveTween = CurveTween(curve: Curves.easeIn);
 }
diff --git a/packages/go_router/example/lib/books/src/auth.dart b/packages/go_router/example/lib/books/src/auth.dart
index 2f5d8ce..b9c353c 100644
--- a/packages/go_router/example/lib/books/src/auth.dart
+++ b/packages/go_router/example/lib/books/src/auth.dart
@@ -34,10 +34,10 @@
 class BookstoreAuthScope extends InheritedNotifier<BookstoreAuth> {
   /// Creates a [BookstoreAuthScope].
   const BookstoreAuthScope({
-    required BookstoreAuth notifier,
-    required Widget child,
-    Key? key,
-  }) : super(key: key, notifier: notifier, child: child);
+    required BookstoreAuth super.notifier,
+    required super.child,
+    super.key,
+  });
 
   /// Gets the [BookstoreAuth] above the context.
   static BookstoreAuth of(BuildContext context) => context
diff --git a/packages/go_router/example/lib/books/src/screens/author_details.dart b/packages/go_router/example/lib/books/src/screens/author_details.dart
index d03ae63..3aff898 100644
--- a/packages/go_router/example/lib/books/src/screens/author_details.dart
+++ b/packages/go_router/example/lib/books/src/screens/author_details.dart
@@ -13,8 +13,8 @@
   /// Creates an author detail screen.
   const AuthorDetailsScreen({
     required this.author,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// The author to be displayed.
   final Author? author;
diff --git a/packages/go_router/example/lib/books/src/screens/authors.dart b/packages/go_router/example/lib/books/src/screens/authors.dart
index 893a3c0..0eeb1c3 100644
--- a/packages/go_router/example/lib/books/src/screens/authors.dart
+++ b/packages/go_router/example/lib/books/src/screens/authors.dart
@@ -11,7 +11,7 @@
 /// A screen that displays a list of authors.
 class AuthorsScreen extends StatelessWidget {
   /// Creates an [AuthorsScreen].
-  const AuthorsScreen({Key? key}) : super(key: key);
+  const AuthorsScreen({super.key});
 
   /// The title of the screen.
   static const String title = 'Authors';
diff --git a/packages/go_router/example/lib/books/src/screens/book_details.dart b/packages/go_router/example/lib/books/src/screens/book_details.dart
index 0bc724e..9a51a83 100644
--- a/packages/go_router/example/lib/books/src/screens/book_details.dart
+++ b/packages/go_router/example/lib/books/src/screens/book_details.dart
@@ -13,9 +13,9 @@
 class BookDetailsScreen extends StatelessWidget {
   /// Creates a [BookDetailsScreen].
   const BookDetailsScreen({
-    Key? key,
+    super.key,
     this.book,
-  }) : super(key: key);
+  });
 
   /// The book to be displayed.
   final Book? book;
diff --git a/packages/go_router/example/lib/books/src/screens/books.dart b/packages/go_router/example/lib/books/src/screens/books.dart
index ea86848..b0e7ca2 100644
--- a/packages/go_router/example/lib/books/src/screens/books.dart
+++ b/packages/go_router/example/lib/books/src/screens/books.dart
@@ -11,7 +11,7 @@
 /// A screen that displays a list of books.
 class BooksScreen extends StatefulWidget {
   /// Creates a [BooksScreen].
-  const BooksScreen(this.kind, {Key? key}) : super(key: key);
+  const BooksScreen(this.kind, {super.key});
 
   /// Which tab to display.
   final String kind;
diff --git a/packages/go_router/example/lib/books/src/screens/scaffold.dart b/packages/go_router/example/lib/books/src/screens/scaffold.dart
index a5ff831..2ffaf9a 100644
--- a/packages/go_router/example/lib/books/src/screens/scaffold.dart
+++ b/packages/go_router/example/lib/books/src/screens/scaffold.dart
@@ -25,8 +25,8 @@
   const BookstoreScaffold({
     required this.selectedTab,
     required this.child,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// Which tab of the scaffold to display.
   final ScaffoldTab selectedTab;
diff --git a/packages/go_router/example/lib/books/src/screens/settings.dart b/packages/go_router/example/lib/books/src/screens/settings.dart
index 71bd0f8..a098e30 100644
--- a/packages/go_router/example/lib/books/src/screens/settings.dart
+++ b/packages/go_router/example/lib/books/src/screens/settings.dart
@@ -11,7 +11,7 @@
 /// The settings screen.
 class SettingsScreen extends StatefulWidget {
   /// Creates a [SettingsScreen].
-  const SettingsScreen({Key? key}) : super(key: key);
+  const SettingsScreen({super.key});
 
   @override
   State<SettingsScreen> createState() => _SettingsScreenState();
@@ -43,8 +43,8 @@
 class SettingsContent extends StatelessWidget {
   /// Creates a [SettingsContent].
   const SettingsContent({
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   @override
   Widget build(BuildContext context) => Column(
diff --git a/packages/go_router/example/lib/books/src/screens/sign_in.dart b/packages/go_router/example/lib/books/src/screens/sign_in.dart
index 533322b..e02c870 100644
--- a/packages/go_router/example/lib/books/src/screens/sign_in.dart
+++ b/packages/go_router/example/lib/books/src/screens/sign_in.dart
@@ -21,8 +21,8 @@
   /// Creates a sign-in screen.
   const SignInScreen({
     required this.onSignIn,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// Called when users sign in with [Credentials].
   final ValueChanged<Credentials> onSignIn;
diff --git a/packages/go_router/example/lib/books/src/widgets/author_list.dart b/packages/go_router/example/lib/books/src/widgets/author_list.dart
index d749631..371e30a 100644
--- a/packages/go_router/example/lib/books/src/widgets/author_list.dart
+++ b/packages/go_router/example/lib/books/src/widgets/author_list.dart
@@ -12,8 +12,8 @@
   const AuthorList({
     required this.authors,
     this.onTap,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// The list of authors to be shown.
   final List<Author> authors;
diff --git a/packages/go_router/example/lib/books/src/widgets/book_list.dart b/packages/go_router/example/lib/books/src/widgets/book_list.dart
index af37e15..3e2761f 100644
--- a/packages/go_router/example/lib/books/src/widgets/book_list.dart
+++ b/packages/go_router/example/lib/books/src/widgets/book_list.dart
@@ -12,8 +12,8 @@
   const BookList({
     required this.books,
     this.onTap,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// The list of books to be displayed.
   final List<Book> books;
diff --git a/packages/go_router/example/lib/main.dart b/packages/go_router/example/lib/main.dart
index 3b513df..e452471 100644
--- a/packages/go_router/example/lib/main.dart
+++ b/packages/go_router/example/lib/main.dart
@@ -38,7 +38,7 @@
 /// The main app.
 class MyApp extends StatelessWidget {
   /// Constructs a [MyApp]
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -51,7 +51,7 @@
 /// The home screen
 class HomeScreen extends StatelessWidget {
   /// Constructs a [HomeScreen]
-  const HomeScreen({Key? key}) : super(key: key);
+  const HomeScreen({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -75,7 +75,7 @@
 /// The details screen
 class DetailsScreen extends StatelessWidget {
   /// Constructs a [DetailsScreen]
-  const DetailsScreen({Key? key}) : super(key: key);
+  const DetailsScreen({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/go_router/example/lib/named_routes.dart b/packages/go_router/example/lib/named_routes.dart
index f329602..a9d4604 100644
--- a/packages/go_router/example/lib/named_routes.dart
+++ b/packages/go_router/example/lib/named_routes.dart
@@ -59,7 +59,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Named Routes';
@@ -105,7 +105,7 @@
 /// The home screen that shows a list of families.
 class HomeScreen extends StatelessWidget {
   /// Creates a [HomeScreen].
-  const HomeScreen({Key? key}) : super(key: key);
+  const HomeScreen({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -130,7 +130,7 @@
 /// The screen that shows a list of persons in a family.
 class FamilyScreen extends StatelessWidget {
   /// Creates a [FamilyScreen].
-  const FamilyScreen({required this.fid, Key? key}) : super(key: key);
+  const FamilyScreen({required this.fid, super.key});
 
   /// The id family to display.
   final String fid;
@@ -160,8 +160,7 @@
 /// The person screen.
 class PersonScreen extends StatelessWidget {
   /// Creates a [PersonScreen].
-  const PersonScreen({required this.fid, required this.pid, Key? key})
-      : super(key: key);
+  const PersonScreen({required this.fid, required this.pid, super.key});
 
   /// The id of family this person belong to.
   final String fid;
diff --git a/packages/go_router/example/lib/others/error_screen.dart b/packages/go_router/example/lib/others/error_screen.dart
index f7edca0..5c071fc 100644
--- a/packages/go_router/example/lib/others/error_screen.dart
+++ b/packages/go_router/example/lib/others/error_screen.dart
@@ -10,7 +10,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Custom Error Screen';
@@ -42,7 +42,7 @@
 /// The screen of the first page.
 class Page1Screen extends StatelessWidget {
   /// Creates a [Page1Screen].
-  const Page1Screen({Key? key}) : super(key: key);
+  const Page1Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -64,7 +64,7 @@
 /// The screen of the second page.
 class Page2Screen extends StatelessWidget {
   /// Creates a [Page2Screen].
-  const Page2Screen({Key? key}) : super(key: key);
+  const Page2Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -86,7 +86,7 @@
 /// The screen of the error page.
 class ErrorScreen extends StatelessWidget {
   /// Creates an [ErrorScreen].
-  const ErrorScreen(this.error, {Key? key}) : super(key: key);
+  const ErrorScreen(this.error, {super.key});
 
   /// The error to display.
   final Exception error;
diff --git a/packages/go_router/example/lib/others/extra_param.dart b/packages/go_router/example/lib/others/extra_param.dart
index 2562b89..eaef755 100644
--- a/packages/go_router/example/lib/others/extra_param.dart
+++ b/packages/go_router/example/lib/others/extra_param.dart
@@ -51,7 +51,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Extra Parameter';
@@ -89,7 +89,7 @@
 /// The home screen that shows a list of families.
 class HomeScreen extends StatelessWidget {
   /// Creates a [HomeScreen].
-  const HomeScreen({Key? key}) : super(key: key);
+  const HomeScreen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -110,7 +110,7 @@
 /// The screen that shows a list of persons in a family.
 class FamilyScreen extends StatelessWidget {
   /// Creates a [FamilyScreen].
-  const FamilyScreen({required this.fid, Key? key}) : super(key: key);
+  const FamilyScreen({required this.fid, super.key});
 
   /// The family to display.
   final String fid;
diff --git a/packages/go_router/example/lib/others/init_loc.dart b/packages/go_router/example/lib/others/init_loc.dart
index 31ca594..4f61b00 100644
--- a/packages/go_router/example/lib/others/init_loc.dart
+++ b/packages/go_router/example/lib/others/init_loc.dart
@@ -10,7 +10,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Initial Location';
@@ -46,7 +46,7 @@
 /// The screen of the first page.
 class Page1Screen extends StatelessWidget {
   /// Creates a [Page1Screen].
-  const Page1Screen({Key? key}) : super(key: key);
+  const Page1Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -68,7 +68,7 @@
 /// The screen of the second page.
 class Page2Screen extends StatelessWidget {
   /// Creates a [Page2Screen].
-  const Page2Screen({Key? key}) : super(key: key);
+  const Page2Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -90,7 +90,7 @@
 /// The screen of the third page.
 class Page3Screen extends StatelessWidget {
   /// Creates a [Page3Screen].
-  const Page3Screen({Key? key}) : super(key: key);
+  const Page3Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
diff --git a/packages/go_router/example/lib/others/nav_observer.dart b/packages/go_router/example/lib/others/nav_observer.dart
index a63023d..2b8bfcb 100644
--- a/packages/go_router/example/lib/others/nav_observer.dart
+++ b/packages/go_router/example/lib/others/nav_observer.dart
@@ -11,7 +11,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Navigator Observer';
@@ -96,7 +96,7 @@
 /// The screen of the first page.
 class Page1Screen extends StatelessWidget {
   /// Creates a [Page1Screen].
-  const Page1Screen({Key? key}) : super(key: key);
+  const Page1Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -122,7 +122,7 @@
 /// The screen of the second page.
 class Page2Screen extends StatelessWidget {
   /// Creates a [Page2Screen].
-  const Page2Screen({Key? key}) : super(key: key);
+  const Page2Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -147,7 +147,7 @@
 /// The screen of the third page.
 class Page3Screen extends StatelessWidget {
   /// Creates a [Page3Screen].
-  const Page3Screen({Key? key}) : super(key: key);
+  const Page3Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
diff --git a/packages/go_router/example/lib/others/push.dart b/packages/go_router/example/lib/others/push.dart
index 5d54ec2..53567b6 100644
--- a/packages/go_router/example/lib/others/push.dart
+++ b/packages/go_router/example/lib/others/push.dart
@@ -10,7 +10,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Push';
@@ -42,7 +42,7 @@
 /// The screen of the first page.
 class Page1ScreenWithPush extends StatelessWidget {
   /// Creates a [Page1ScreenWithPush].
-  const Page1ScreenWithPush({Key? key}) : super(key: key);
+  const Page1ScreenWithPush({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -64,7 +64,7 @@
 /// The screen of the second page.
 class Page2ScreenWithPush extends StatelessWidget {
   /// Creates a [Page2ScreenWithPush].
-  const Page2ScreenWithPush(this.pushCount, {Key? key}) : super(key: key);
+  const Page2ScreenWithPush(this.pushCount, {super.key});
 
   /// The push count.
   final int pushCount;
diff --git a/packages/go_router/example/lib/others/router_neglect.dart b/packages/go_router/example/lib/others/router_neglect.dart
index d5c2280..75686a1 100644
--- a/packages/go_router/example/lib/others/router_neglect.dart
+++ b/packages/go_router/example/lib/others/router_neglect.dart
@@ -10,7 +10,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Router neglect';
@@ -42,7 +42,7 @@
 /// The screen of the first page.
 class Page1Screen extends StatelessWidget {
   /// Creates a [Page1Screen].
-  const Page1Screen({Key? key}) : super(key: key);
+  const Page1Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -75,7 +75,7 @@
 /// The screen of the second page.
 class Page2Screen extends StatelessWidget {
   /// Creates a [Page2Screen].
-  const Page2Screen({Key? key}) : super(key: key);
+  const Page2Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
diff --git a/packages/go_router/example/lib/others/state_restoration.dart b/packages/go_router/example/lib/others/state_restoration.dart
index 03bfd88..93e8aca 100644
--- a/packages/go_router/example/lib/others/state_restoration.dart
+++ b/packages/go_router/example/lib/others/state_restoration.dart
@@ -12,7 +12,7 @@
 /// The main app.
 class App extends StatefulWidget {
   /// Creates an [App].
-  const App({Key? key}) : super(key: key);
+  const App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: State Restoration';
@@ -60,7 +60,7 @@
 /// The screen of the first page.
 class Page1Screen extends StatelessWidget {
   /// Creates a [Page1Screen].
-  const Page1Screen({Key? key}) : super(key: key);
+  const Page1Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -82,7 +82,7 @@
 /// The screen of the second page.
 class Page2Screen extends StatelessWidget {
   /// Creates a [Page2Screen].
-  const Page2Screen({Key? key}) : super(key: key);
+  const Page2Screen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
diff --git a/packages/go_router/example/lib/others/transitions.dart b/packages/go_router/example/lib/others/transitions.dart
index 51c2a24..e4b9a3e 100644
--- a/packages/go_router/example/lib/others/transitions.dart
+++ b/packages/go_router/example/lib/others/transitions.dart
@@ -10,7 +10,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Custom Transitions';
@@ -120,8 +120,8 @@
   const ExampleTransitionsScreen({
     required this.color,
     required this.kind,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// The available transition kinds.
   static final List<String> kinds = <String>[
diff --git a/packages/go_router/example/lib/path_and_query_parameters.dart b/packages/go_router/example/lib/path_and_query_parameters.dart
index 5b07587..83d7b63 100755
--- a/packages/go_router/example/lib/path_and_query_parameters.dart
+++ b/packages/go_router/example/lib/path_and_query_parameters.dart
@@ -59,7 +59,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   /// The title of the app.
   static const String title = 'GoRouter Example: Query Parameters';
@@ -97,7 +97,7 @@
 /// The home screen that shows a list of families.
 class HomeScreen extends StatelessWidget {
   /// Creates a [HomeScreen].
-  const HomeScreen({Key? key}) : super(key: key);
+  const HomeScreen({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -121,8 +121,7 @@
 /// The screen that shows a list of persons in a family.
 class FamilyScreen extends StatelessWidget {
   /// Creates a [FamilyScreen].
-  const FamilyScreen({required this.fid, required this.asc, Key? key})
-      : super(key: key);
+  const FamilyScreen({required this.fid, required this.asc, super.key});
 
   /// The family to display.
   final String fid;
diff --git a/packages/go_router/example/lib/redirection.dart b/packages/go_router/example/lib/redirection.dart
index 4ce8253..4e97f66 100644
--- a/packages/go_router/example/lib/redirection.dart
+++ b/packages/go_router/example/lib/redirection.dart
@@ -39,7 +39,7 @@
 /// The main app.
 class App extends StatelessWidget {
   /// Creates an [App].
-  App({Key? key}) : super(key: key);
+  App({super.key});
 
   final LoginInfo _loginInfo = LoginInfo();
 
@@ -98,7 +98,7 @@
 /// The login screen.
 class LoginScreen extends StatelessWidget {
   /// Creates a [LoginScreen].
-  const LoginScreen({Key? key}) : super(key: key);
+  const LoginScreen({super.key});
 
   @override
   Widget build(BuildContext context) => Scaffold(
@@ -126,7 +126,7 @@
 /// The home screen.
 class HomeScreen extends StatelessWidget {
   /// Creates a [HomeScreen].
-  const HomeScreen({Key? key}) : super(key: key);
+  const HomeScreen({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/go_router/example/lib/shell_route.dart b/packages/go_router/example/lib/shell_route.dart
index 3076b3d..cf1179c 100644
--- a/packages/go_router/example/lib/shell_route.dart
+++ b/packages/go_router/example/lib/shell_route.dart
@@ -26,7 +26,7 @@
 /// An example demonstrating how to use [ShellRoute]
 class ShellRouteExampleApp extends StatelessWidget {
   /// Creates a [ShellRouteExampleApp]
-  ShellRouteExampleApp({Key? key}) : super(key: key);
+  ShellRouteExampleApp({super.key});
 
   final GoRouter _router = GoRouter(
     navigatorKey: _rootNavigatorKey,
@@ -118,8 +118,8 @@
   /// Constructs an [ScaffoldWithNavBar].
   const ScaffoldWithNavBar({
     required this.child,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// The widget to display in the body of the Scaffold.
   /// In this sample, it is a Navigator.
@@ -182,7 +182,7 @@
 /// The first screen in the bottom navigation bar.
 class ScreenA extends StatelessWidget {
   /// Constructs a [ScreenA] widget.
-  const ScreenA({Key? key}) : super(key: key);
+  const ScreenA({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -209,7 +209,7 @@
 /// The second screen in the bottom navigation bar.
 class ScreenB extends StatelessWidget {
   /// Constructs a [ScreenB] widget.
-  const ScreenB({Key? key}) : super(key: key);
+  const ScreenB({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -236,7 +236,7 @@
 /// The third screen in the bottom navigation bar.
 class ScreenC extends StatelessWidget {
   /// Constructs a [ScreenC] widget.
-  const ScreenC({Key? key}) : super(key: key);
+  const ScreenC({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -265,8 +265,8 @@
   /// Constructs a [DetailsScreen].
   const DetailsScreen({
     required this.label,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// The label to display in the center of the screen.
   final String label;
diff --git a/packages/go_router/example/lib/transition_animations.dart b/packages/go_router/example/lib/transition_animations.dart
index 5c13fef..f245719 100644
--- a/packages/go_router/example/lib/transition_animations.dart
+++ b/packages/go_router/example/lib/transition_animations.dart
@@ -89,7 +89,7 @@
 /// The main app.
 class MyApp extends StatelessWidget {
   /// Constructs a [MyApp]
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -102,7 +102,7 @@
 /// The home screen
 class HomeScreen extends StatelessWidget {
   /// Constructs a [HomeScreen]
-  const HomeScreen({Key? key}) : super(key: key);
+  const HomeScreen({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -139,7 +139,7 @@
 /// The details screen
 class DetailsScreen extends StatelessWidget {
   /// Constructs a [DetailsScreen]
-  const DetailsScreen({Key? key}) : super(key: key);
+  const DetailsScreen({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -163,7 +163,7 @@
 /// The dismissible details screen
 class DismissibleDetails extends StatelessWidget {
   /// Constructs a [DismissibleDetails]
-  const DismissibleDetails({Key? key}) : super(key: key);
+  const DismissibleDetails({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/go_router/example/pubspec.yaml b/packages/go_router/example/pubspec.yaml
index c5b8519..de806d4 100644
--- a/packages/go_router/example/pubspec.yaml
+++ b/packages/go_router/example/pubspec.yaml
@@ -4,7 +4,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.18.0 <3.0.0"
   flutter: ">=3.3.0"
 
 dependencies:
diff --git a/packages/go_router/pubspec.yaml b/packages/go_router/pubspec.yaml
index 8e833ae..98221ba 100644
--- a/packages/go_router/pubspec.yaml
+++ b/packages/go_router/pubspec.yaml
@@ -6,7 +6,7 @@
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router%22
 
 environment:
-  sdk: ">=2.17.0 <3.0.0"
+  sdk: ">=2.18.0 <3.0.0"
   flutter: ">=3.3.0"
 
 dependencies:
diff --git a/packages/go_router_builder/CHANGELOG.md b/packages/go_router_builder/CHANGELOG.md
index 98aa6b7..5f36062 100644
--- a/packages/go_router_builder/CHANGELOG.md
+++ b/packages/go_router_builder/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.1.4
 
 * Fixes the example for the default values in the README.
diff --git a/packages/go_router_builder/pubspec.yaml b/packages/go_router_builder/pubspec.yaml
index 777f6c6..96c5c17 100644
--- a/packages/go_router_builder/pubspec.yaml
+++ b/packages/go_router_builder/pubspec.yaml
@@ -7,7 +7,7 @@
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router_builder%22
 
 environment:
-  sdk: ">=2.17.0 <3.0.0"
+  sdk: ">=2.18.0 <3.0.0"
   flutter: ">=3.3.0"
 
 dependencies:
diff --git a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md
index 3eebef3..cf1cdd9 100644
--- a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md
+++ b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.2.5
 
 * Updates iOS minimum version in README.
diff --git a/packages/google_maps_flutter/google_maps_flutter/README.md b/packages/google_maps_flutter/google_maps_flutter/README.md
index d48445a..820e0de 100644
--- a/packages/google_maps_flutter/google_maps_flutter/README.md
+++ b/packages/google_maps_flutter/google_maps_flutter/README.md
@@ -110,7 +110,7 @@
 <?code-excerpt "readme_sample.dart (MapSample)"?>
 ```dart
 class MapSample extends StatefulWidget {
-  const MapSample({Key? key}) : super(key: key);
+  const MapSample({super.key});
 
   @override
   State<MapSample> createState() => MapSampleState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/animate_camera.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/animate_camera.dart
index 3975d64..593c533 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/animate_camera.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/animate_camera.dart
@@ -20,7 +20,7 @@
 }
 
 class AnimateCamera extends StatefulWidget {
-  const AnimateCamera({Key? key}) : super(key: key);
+  const AnimateCamera({super.key});
   @override
   State createState() => AnimateCameraState();
 }
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/main.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/main.dart
index 60d4fdd..96479e3 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/main.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/main.dart
@@ -44,7 +44,7 @@
 /// MapsDemo is the Main Application.
 class MapsDemo extends StatelessWidget {
   /// Default Constructor
-  const MapsDemo({Key? key}) : super(key: key);
+  const MapsDemo({super.key});
 
   void _pushPage(BuildContext context, GoogleMapExampleAppPage page) {
     Navigator.of(context).push(MaterialPageRoute<void>(
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart
index 0a3146c..5348c10 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart
@@ -26,7 +26,7 @@
 }
 
 class MapUiBody extends StatefulWidget {
-  const MapUiBody({Key? key}) : super(key: key);
+  const MapUiBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MapUiBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/marker_icons.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/marker_icons.dart
index 58d266c..847e5ae 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/marker_icons.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/marker_icons.dart
@@ -21,7 +21,7 @@
 }
 
 class MarkerIconsBody extends StatefulWidget {
-  const MarkerIconsBody({Key? key}) : super(key: key);
+  const MarkerIconsBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MarkerIconsBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/move_camera.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/move_camera.dart
index 7fa8a03..4314522 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/move_camera.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/move_camera.dart
@@ -20,7 +20,7 @@
 }
 
 class MoveCamera extends StatefulWidget {
-  const MoveCamera({Key? key}) : super(key: key);
+  const MoveCamera({super.key});
   @override
   State createState() => MoveCameraState();
 }
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/padding.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/padding.dart
index d5d396f..a3103c5 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/padding.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/padding.dart
@@ -19,7 +19,7 @@
 }
 
 class MarkerIconsBody extends StatefulWidget {
-  const MarkerIconsBody({Key? key}) : super(key: key);
+  const MarkerIconsBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MarkerIconsBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/page.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/page.dart
index eb01ab0..cb8ef54 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/page.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/page.dart
@@ -7,8 +7,7 @@
 import 'package:flutter/material.dart';
 
 abstract class GoogleMapExampleAppPage extends StatelessWidget {
-  const GoogleMapExampleAppPage(this.leading, this.title, {Key? key})
-      : super(key: key);
+  const GoogleMapExampleAppPage(this.leading, this.title, {super.key});
 
   final Widget leading;
   final String title;
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_circle.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_circle.dart
index 7cbb63a..7e3c117 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_circle.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_circle.dart
@@ -20,7 +20,7 @@
 }
 
 class PlaceCircleBody extends StatefulWidget {
-  const PlaceCircleBody({Key? key}) : super(key: key);
+  const PlaceCircleBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlaceCircleBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart
index 8fde950..dc3a087 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart
@@ -25,7 +25,7 @@
 }
 
 class PlaceMarkerBody extends StatefulWidget {
-  const PlaceMarkerBody({Key? key}) : super(key: key);
+  const PlaceMarkerBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlaceMarkerBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polygon.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polygon.dart
index cb0cc56..e18d088 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polygon.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polygon.dart
@@ -20,7 +20,7 @@
 }
 
 class PlacePolygonBody extends StatefulWidget {
-  const PlacePolygonBody({Key? key}) : super(key: key);
+  const PlacePolygonBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlacePolygonBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polyline.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polyline.dart
index 7a7c5d2..e7997fa 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polyline.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polyline.dart
@@ -21,7 +21,7 @@
 }
 
 class PlacePolylineBody extends StatefulWidget {
-  const PlacePolylineBody({Key? key}) : super(key: key);
+  const PlacePolylineBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlacePolylineBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/readme_sample.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/readme_sample.dart
index 7352945..528ce64 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/readme_sample.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/readme_sample.dart
@@ -12,7 +12,7 @@
 void main() => runApp(const MyApp());
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -25,7 +25,7 @@
 
 // #docregion MapSample
 class MapSample extends StatefulWidget {
-  const MapSample({Key? key}) : super(key: key);
+  const MapSample({super.key});
 
   @override
   State<MapSample> createState() => MapSampleState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/scrolling_map.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/scrolling_map.dart
index 3d676e0..c4b5642 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/scrolling_map.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/scrolling_map.dart
@@ -24,7 +24,7 @@
 }
 
 class ScrollingMapBody extends StatelessWidget {
-  const ScrollingMapBody({Key? key}) : super(key: key);
+  const ScrollingMapBody({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/tile_overlay.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/tile_overlay.dart
index 31f470d..21ae075 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/tile_overlay.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/tile_overlay.dart
@@ -23,7 +23,7 @@
 }
 
 class TileOverlayBody extends StatefulWidget {
-  const TileOverlayBody({Key? key}) : super(key: key);
+  const TileOverlayBody({super.key});
 
   @override
   State<StatefulWidget> createState() => TileOverlayBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter/example/pubspec.yaml
index 5813d42..c98a7e3 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart
index 1f78710..15ea618 100644
--- a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart
@@ -89,7 +89,7 @@
   ///
   /// [AssertionError] will be thrown if [initialCameraPosition] is null;
   const GoogleMap({
-    Key? key,
+    super.key,
     required this.initialCameraPosition,
     this.onMapCreated,
     this.gestureRecognizers = const <Factory<OneSequenceGestureRecognizer>>{},
@@ -123,8 +123,7 @@
     this.onCameraIdle,
     this.onTap,
     this.onLongPress,
-  })  : assert(initialCameraPosition != null),
-        super(key: key);
+  }) : assert(initialCameraPosition != null);
 
   /// Callback method for when the map is ready to be used.
   ///
diff --git a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml
index 2f4b441..961e516 100644
--- a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.2.5
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md
index 0607df4..535b9a5 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md
+++ b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.4.8
 
 * Fixes compilation warnings.
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/animate_camera.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/animate_camera.dart
index c34a3ba..c77f9ed 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/animate_camera.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/animate_camera.dart
@@ -21,7 +21,7 @@
 }
 
 class AnimateCamera extends StatefulWidget {
-  const AnimateCamera({Key? key}) : super(key: key);
+  const AnimateCamera({super.key});
   @override
   State createState() => AnimateCameraState();
 }
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/example_google_map.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/example_google_map.dart
index 1c1261c..e0817a5 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/example_google_map.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/example_google_map.dart
@@ -213,7 +213,7 @@
   ///
   /// [AssertionError] will be thrown if [initialCameraPosition] is null;
   const ExampleGoogleMap({
-    Key? key,
+    super.key,
     required this.initialCameraPosition,
     this.onMapCreated,
     this.gestureRecognizers = const <Factory<OneSequenceGestureRecognizer>>{},
@@ -247,7 +247,7 @@
     this.onCameraIdle,
     this.onTap,
     this.onLongPress,
-  }) : super(key: key);
+  });
 
   /// Callback method for when the map is ready to be used.
   ///
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/main.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/main.dart
index 4adec52..cc9ef7e 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/main.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/main.dart
@@ -44,7 +44,7 @@
 /// MapsDemo is the Main Application.
 class MapsDemo extends StatelessWidget {
   /// Default Constructor
-  const MapsDemo({Key? key}) : super(key: key);
+  const MapsDemo({super.key});
 
   void _pushPage(BuildContext context, GoogleMapExampleAppPage page) {
     Navigator.of(context).push(MaterialPageRoute<void>(
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart
index 546cf1d..311e226 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart
@@ -27,7 +27,7 @@
 }
 
 class MapUiBody extends StatefulWidget {
-  const MapUiBody({Key? key}) : super(key: key);
+  const MapUiBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MapUiBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/marker_icons.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/marker_icons.dart
index fe28eb6..1740556 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/marker_icons.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/marker_icons.dart
@@ -22,7 +22,7 @@
 }
 
 class MarkerIconsBody extends StatefulWidget {
-  const MarkerIconsBody({Key? key}) : super(key: key);
+  const MarkerIconsBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MarkerIconsBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/move_camera.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/move_camera.dart
index 7f44d89..b1fb55c 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/move_camera.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/move_camera.dart
@@ -21,7 +21,7 @@
 }
 
 class MoveCamera extends StatefulWidget {
-  const MoveCamera({Key? key}) : super(key: key);
+  const MoveCamera({super.key});
   @override
   State createState() => MoveCameraState();
 }
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/padding.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/padding.dart
index 98be700..bfddb16 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/padding.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/padding.dart
@@ -21,7 +21,7 @@
 }
 
 class MarkerIconsBody extends StatefulWidget {
-  const MarkerIconsBody({Key? key}) : super(key: key);
+  const MarkerIconsBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MarkerIconsBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/page.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/page.dart
index eb01ab0..cb8ef54 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/page.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/page.dart
@@ -7,8 +7,7 @@
 import 'package:flutter/material.dart';
 
 abstract class GoogleMapExampleAppPage extends StatelessWidget {
-  const GoogleMapExampleAppPage(this.leading, this.title, {Key? key})
-      : super(key: key);
+  const GoogleMapExampleAppPage(this.leading, this.title, {super.key});
 
   final Widget leading;
   final String title;
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_circle.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_circle.dart
index 9dc5760..29be744 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_circle.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_circle.dart
@@ -21,7 +21,7 @@
 }
 
 class PlaceCircleBody extends StatefulWidget {
-  const PlaceCircleBody({Key? key}) : super(key: key);
+  const PlaceCircleBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlaceCircleBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart
index 2c6c725..9cba497 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart
@@ -26,7 +26,7 @@
 }
 
 class PlaceMarkerBody extends StatefulWidget {
-  const PlaceMarkerBody({Key? key}) : super(key: key);
+  const PlaceMarkerBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlaceMarkerBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polygon.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polygon.dart
index b41cb5d..889c38d 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polygon.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polygon.dart
@@ -21,7 +21,7 @@
 }
 
 class PlacePolygonBody extends StatefulWidget {
-  const PlacePolygonBody({Key? key}) : super(key: key);
+  const PlacePolygonBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlacePolygonBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polyline.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polyline.dart
index 004206b..659ef87 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polyline.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polyline.dart
@@ -22,7 +22,7 @@
 }
 
 class PlacePolylineBody extends StatefulWidget {
-  const PlacePolylineBody({Key? key}) : super(key: key);
+  const PlacePolylineBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlacePolylineBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/readme_excerpts.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/readme_excerpts.dart
index 0f6b26d..e2864eb 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/readme_excerpts.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/readme_excerpts.dart
@@ -23,7 +23,7 @@
 // #enddocregion DisplayMode
 
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/scrolling_map.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/scrolling_map.dart
index 7a9b75c..5361999 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/scrolling_map.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/scrolling_map.dart
@@ -25,7 +25,7 @@
 }
 
 class ScrollingMapBody extends StatelessWidget {
-  const ScrollingMapBody({Key? key}) : super(key: key);
+  const ScrollingMapBody({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/tile_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/tile_overlay.dart
index e25ab91..9122fda 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/tile_overlay.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/tile_overlay.dart
@@ -24,7 +24,7 @@
 }
 
 class TileOverlayBody extends StatefulWidget {
-  const TileOverlayBody({Key? key}) : super(key: key);
+  const TileOverlayBody({super.key});
 
   @override
   State<StatefulWidget> createState() => TileOverlayBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_android/example/pubspec.yaml
index aa29fa9..74eef48 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart b/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart
index 0461b4c..e072952 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart
@@ -759,8 +759,8 @@
 // interface, and remove this copy.
 class _TileOverlayUpdates extends MapsObjectUpdates<TileOverlay> {
   /// Computes [TileOverlayUpdates] given previous and current [TileOverlay]s.
-  _TileOverlayUpdates.from(Set<TileOverlay> previous, Set<TileOverlay> current)
-      : super.from(previous, current, objectName: 'tileOverlay');
+  _TileOverlayUpdates.from(super.previous, super.current)
+      : super.from(objectName: 'tileOverlay');
 
   /// Set of TileOverlays to be added in this update.
   Set<TileOverlay> get tileOverlaysToAdd => objectsToAdd;
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml
index 2e02e02..92efcb9 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.4.8
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md
index f896b59..a3f093e 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.2.0
 
 * Updates minimum Flutter version to 3.3 and iOS 11.
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/animate_camera.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/animate_camera.dart
index c34a3ba..c77f9ed 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/animate_camera.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/animate_camera.dart
@@ -21,7 +21,7 @@
 }
 
 class AnimateCamera extends StatefulWidget {
-  const AnimateCamera({Key? key}) : super(key: key);
+  const AnimateCamera({super.key});
   @override
   State createState() => AnimateCameraState();
 }
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/example_google_map.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/example_google_map.dart
index 1c1261c..e0817a5 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/example_google_map.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/example_google_map.dart
@@ -213,7 +213,7 @@
   ///
   /// [AssertionError] will be thrown if [initialCameraPosition] is null;
   const ExampleGoogleMap({
-    Key? key,
+    super.key,
     required this.initialCameraPosition,
     this.onMapCreated,
     this.gestureRecognizers = const <Factory<OneSequenceGestureRecognizer>>{},
@@ -247,7 +247,7 @@
     this.onCameraIdle,
     this.onTap,
     this.onLongPress,
-  }) : super(key: key);
+  });
 
   /// Callback method for when the map is ready to be used.
   ///
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/main.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/main.dart
index de75162..3b1e636 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/main.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/main.dart
@@ -42,7 +42,7 @@
 /// MapsDemo is the Main Application.
 class MapsDemo extends StatelessWidget {
   /// Default Constructor
-  const MapsDemo({Key? key}) : super(key: key);
+  const MapsDemo({super.key});
 
   void _pushPage(BuildContext context, GoogleMapExampleAppPage page) {
     Navigator.of(context).push(MaterialPageRoute<void>(
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/map_ui.dart
index 546cf1d..311e226 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/map_ui.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/map_ui.dart
@@ -27,7 +27,7 @@
 }
 
 class MapUiBody extends StatefulWidget {
-  const MapUiBody({Key? key}) : super(key: key);
+  const MapUiBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MapUiBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/marker_icons.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/marker_icons.dart
index fe28eb6..1740556 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/marker_icons.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/marker_icons.dart
@@ -22,7 +22,7 @@
 }
 
 class MarkerIconsBody extends StatefulWidget {
-  const MarkerIconsBody({Key? key}) : super(key: key);
+  const MarkerIconsBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MarkerIconsBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/move_camera.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/move_camera.dart
index 7f44d89..b1fb55c 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/move_camera.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/move_camera.dart
@@ -21,7 +21,7 @@
 }
 
 class MoveCamera extends StatefulWidget {
-  const MoveCamera({Key? key}) : super(key: key);
+  const MoveCamera({super.key});
   @override
   State createState() => MoveCameraState();
 }
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/padding.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/padding.dart
index 98be700..bfddb16 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/padding.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/padding.dart
@@ -21,7 +21,7 @@
 }
 
 class MarkerIconsBody extends StatefulWidget {
-  const MarkerIconsBody({Key? key}) : super(key: key);
+  const MarkerIconsBody({super.key});
 
   @override
   State<StatefulWidget> createState() => MarkerIconsBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/page.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/page.dart
index eb01ab0..cb8ef54 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/page.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/page.dart
@@ -7,8 +7,7 @@
 import 'package:flutter/material.dart';
 
 abstract class GoogleMapExampleAppPage extends StatelessWidget {
-  const GoogleMapExampleAppPage(this.leading, this.title, {Key? key})
-      : super(key: key);
+  const GoogleMapExampleAppPage(this.leading, this.title, {super.key});
 
   final Widget leading;
   final String title;
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_circle.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_circle.dart
index 9dc5760..29be744 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_circle.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_circle.dart
@@ -21,7 +21,7 @@
 }
 
 class PlaceCircleBody extends StatefulWidget {
-  const PlaceCircleBody({Key? key}) : super(key: key);
+  const PlaceCircleBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlaceCircleBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_marker.dart
index 2c6c725..9cba497 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_marker.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_marker.dart
@@ -26,7 +26,7 @@
 }
 
 class PlaceMarkerBody extends StatefulWidget {
-  const PlaceMarkerBody({Key? key}) : super(key: key);
+  const PlaceMarkerBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlaceMarkerBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_polygon.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_polygon.dart
index b41cb5d..889c38d 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_polygon.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_polygon.dart
@@ -21,7 +21,7 @@
 }
 
 class PlacePolygonBody extends StatefulWidget {
-  const PlacePolygonBody({Key? key}) : super(key: key);
+  const PlacePolygonBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlacePolygonBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_polyline.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_polyline.dart
index 004206b..659ef87 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_polyline.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_polyline.dart
@@ -22,7 +22,7 @@
 }
 
 class PlacePolylineBody extends StatefulWidget {
-  const PlacePolylineBody({Key? key}) : super(key: key);
+  const PlacePolylineBody({super.key});
 
   @override
   State<StatefulWidget> createState() => PlacePolylineBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/scrolling_map.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/scrolling_map.dart
index 7a9b75c..5361999 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/scrolling_map.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/scrolling_map.dart
@@ -25,7 +25,7 @@
 }
 
 class ScrollingMapBody extends StatelessWidget {
-  const ScrollingMapBody({Key? key}) : super(key: key);
+  const ScrollingMapBody({super.key});
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/tile_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/tile_overlay.dart
index e25ab91..9122fda 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/tile_overlay.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/tile_overlay.dart
@@ -24,7 +24,7 @@
 }
 
 class TileOverlayBody extends StatefulWidget {
-  const TileOverlayBody({Key? key}) : super(key: key);
+  const TileOverlayBody({super.key});
 
   @override
   State<StatefulWidget> createState() => TileOverlayBodyState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_ios/example/pubspec.yaml
index ac27996..cc5c9ed 100644
--- a/packages/google_maps_flutter/google_maps_flutter_ios/example/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md
index 36d02be..b31d7f2 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.2.6
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/events/map_event.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/events/map_event.dart
index 5961406..0034633 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/events/map_event.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/events/map_event.dart
@@ -76,7 +76,7 @@
   /// Build a CameraMove Event triggered from the map represented by `mapId`.
   ///
   /// The `value` of this event is a [CameraPosition] object with the current position of the Camera.
-  CameraMoveEvent(int mapId, CameraPosition position) : super(mapId, position);
+  CameraMoveEvent(super.mapId, super.position);
 }
 
 /// An event fired when the Camera of a [mapId] becomes idle.
@@ -90,7 +90,7 @@
   /// Build a MarkerTap Event triggered from the map represented by `mapId`.
   ///
   /// The `value` of this event is a [MarkerId] object that represents the tapped Marker.
-  MarkerTapEvent(int mapId, MarkerId markerId) : super(mapId, markerId);
+  MarkerTapEvent(super.mapId, super.markerId);
 }
 
 /// An event fired when an [InfoWindow] is tapped.
@@ -98,7 +98,7 @@
   /// Build an InfoWindowTap Event triggered from the map represented by `mapId`.
   ///
   /// The `value` of this event is a [MarkerId] object that represents the tapped InfoWindow.
-  InfoWindowTapEvent(int mapId, MarkerId markerId) : super(mapId, markerId);
+  InfoWindowTapEvent(super.mapId, super.markerId);
 }
 
 /// An event fired when a [Marker] is starting to be dragged to a new [LatLng].
@@ -107,8 +107,7 @@
   ///
   /// The `position` on this event is the [LatLng] on which the Marker was picked up from.
   /// The `value` of this event is a [MarkerId] object that represents the Marker.
-  MarkerDragStartEvent(int mapId, LatLng position, MarkerId markerId)
-      : super(mapId, position, markerId);
+  MarkerDragStartEvent(super.mapId, super.position, super.markerId);
 }
 
 /// An event fired when a [Marker] is being dragged to a new [LatLng].
@@ -117,8 +116,7 @@
   ///
   /// The `position` on this event is the [LatLng] on which the Marker was dragged to.
   /// The `value` of this event is a [MarkerId] object that represents the Marker.
-  MarkerDragEvent(int mapId, LatLng position, MarkerId markerId)
-      : super(mapId, position, markerId);
+  MarkerDragEvent(super.mapId, super.position, super.markerId);
 }
 
 /// An event fired when a [Marker] is dragged to a new [LatLng].
@@ -127,8 +125,7 @@
   ///
   /// The `position` on this event is the [LatLng] on which the Marker was dropped.
   /// The `value` of this event is a [MarkerId] object that represents the moved Marker.
-  MarkerDragEndEvent(int mapId, LatLng position, MarkerId markerId)
-      : super(mapId, position, markerId);
+  MarkerDragEndEvent(super.mapId, super.position, super.markerId);
 }
 
 /// An event fired when a [Polyline] is tapped.
@@ -136,7 +133,7 @@
   /// Build an PolylineTap Event triggered from the map represented by `mapId`.
   ///
   /// The `value` of this event is a [PolylineId] object that represents the tapped Polyline.
-  PolylineTapEvent(int mapId, PolylineId polylineId) : super(mapId, polylineId);
+  PolylineTapEvent(super.mapId, super.polylineId);
 }
 
 /// An event fired when a [Polygon] is tapped.
@@ -144,7 +141,7 @@
   /// Build an PolygonTap Event triggered from the map represented by `mapId`.
   ///
   /// The `value` of this event is a [PolygonId] object that represents the tapped Polygon.
-  PolygonTapEvent(int mapId, PolygonId polygonId) : super(mapId, polygonId);
+  PolygonTapEvent(super.mapId, super.polygonId);
 }
 
 /// An event fired when a [Circle] is tapped.
@@ -152,7 +149,7 @@
   /// Build an CircleTap Event triggered from the map represented by `mapId`.
   ///
   /// The `value` of this event is a [CircleId] object that represents the tapped Circle.
-  CircleTapEvent(int mapId, CircleId circleId) : super(mapId, circleId);
+  CircleTapEvent(super.mapId, super.circleId);
 }
 
 /// An event fired when a Map is tapped.
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle.dart
index d9e4b2d..c48a97f 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle.dart
@@ -14,7 +14,7 @@
 @immutable
 class CircleId extends MapsObjectId<Circle> {
   /// Creates an immutable identifier for a [Circle].
-  const CircleId(String value) : super(value);
+  const CircleId(super.value);
 }
 
 /// Draws a circle on the map.
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle_updates.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle_updates.dart
index f3fdbb4..f8fc725 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle_updates.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle_updates.dart
@@ -10,8 +10,8 @@
 // (Do not re-export)
 class CircleUpdates extends MapsObjectUpdates<Circle> {
   /// Computes [CircleUpdates] given previous and current [Circle]s.
-  CircleUpdates.from(Set<Circle> previous, Set<Circle> current)
-      : super.from(previous, current, objectName: 'circle');
+  CircleUpdates.from(super.previous, super.current)
+      : super.from(objectName: 'circle');
 
   /// Set of Circles to be added in this update.
   Set<Circle> get circlesToAdd => objectsToAdd;
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker.dart
index 914e77a..da3f89d 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker.dart
@@ -109,7 +109,7 @@
 @immutable
 class MarkerId extends MapsObjectId<Marker> {
   /// Creates an immutable identifier for a [Marker].
-  const MarkerId(String value) : super(value);
+  const MarkerId(super.value);
 }
 
 /// Marks a geographical location on the map.
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker_updates.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker_updates.dart
index 27257c6..4a9ca8d 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker_updates.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker_updates.dart
@@ -10,8 +10,8 @@
 // (Do not re-export)
 class MarkerUpdates extends MapsObjectUpdates<Marker> {
   /// Computes [MarkerUpdates] given previous and current [Marker]s.
-  MarkerUpdates.from(Set<Marker> previous, Set<Marker> current)
-      : super.from(previous, current, objectName: 'marker');
+  MarkerUpdates.from(super.previous, super.current)
+      : super.from(objectName: 'marker');
 
   /// Set of Markers to be added in this update.
   Set<Marker> get markersToAdd => objectsToAdd;
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon.dart
index 8653ba0..ce78d33 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon.dart
@@ -15,7 +15,7 @@
 @immutable
 class PolygonId extends MapsObjectId<Polygon> {
   /// Creates an immutable identifier for a [Polygon].
-  const PolygonId(String value) : super(value);
+  const PolygonId(super.value);
 }
 
 /// Draws a polygon through geographical locations on the map.
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon_updates.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon_updates.dart
index 8b62141..ce73e6d 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon_updates.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon_updates.dart
@@ -10,8 +10,8 @@
 // (Do not re-export)
 class PolygonUpdates extends MapsObjectUpdates<Polygon> {
   /// Computes [PolygonUpdates] given previous and current [Polygon]s.
-  PolygonUpdates.from(Set<Polygon> previous, Set<Polygon> current)
-      : super.from(previous, current, objectName: 'polygon');
+  PolygonUpdates.from(super.previous, super.current)
+      : super.from(objectName: 'polygon');
 
   /// Set of Polygons to be added in this update.
   Set<Polygon> get polygonsToAdd => objectsToAdd;
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline.dart
index 39e62e3..cd0a64e 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline.dart
@@ -16,7 +16,7 @@
   /// Creates an immutable object representing a [PolylineId] among [GoogleMap] polylines.
   ///
   /// An [AssertionError] will be thrown if [value] is null.
-  const PolylineId(String value) : super(value);
+  const PolylineId(super.value);
 }
 
 /// Draws a line through geographical locations on the map.
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline_updates.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline_updates.dart
index 30cd99f..9e2e4bb 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline_updates.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline_updates.dart
@@ -10,8 +10,8 @@
 // (Do not re-export)
 class PolylineUpdates extends MapsObjectUpdates<Polyline> {
   /// Computes [PolylineUpdates] given previous and current [Polyline]s.
-  PolylineUpdates.from(Set<Polyline> previous, Set<Polyline> current)
-      : super.from(previous, current, objectName: 'polyline');
+  PolylineUpdates.from(super.previous, super.current)
+      : super.from(objectName: 'polyline');
 
   /// Set of Polylines to be added in this update.
   Set<Polyline> get polylinesToAdd => objectsToAdd;
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay.dart
index aaf0f80..4df0fe9 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay.dart
@@ -10,7 +10,7 @@
 @immutable
 class TileOverlayId extends MapsObjectId<TileOverlay> {
   /// Creates an immutable identifier for a [TileOverlay].
-  const TileOverlayId(String value) : super(value);
+  const TileOverlayId(super.value);
 }
 
 /// A set of images which are displayed on top of the base map tiles.
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay_updates.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay_updates.dart
index e40db7d..c6155c2 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay_updates.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay_updates.dart
@@ -7,8 +7,8 @@
 /// Update specification for a set of [TileOverlay]s.
 class TileOverlayUpdates extends MapsObjectUpdates<TileOverlay> {
   /// Computes [TileOverlayUpdates] given previous and current [TileOverlay]s.
-  TileOverlayUpdates.from(Set<TileOverlay> previous, Set<TileOverlay> current)
-      : super.from(previous, current, objectName: 'tileOverlay');
+  TileOverlayUpdates.from(super.previous, super.current)
+      : super.from(objectName: 'tileOverlay');
 
   /// Set of TileOverlays to be added in this update.
   Set<TileOverlay> get tileOverlaysToAdd => objectsToAdd;
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml
index 2d7f7ef..12db9b1 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 2.2.6
 
 environment:
-  sdk: '>=2.12.0 <3.0.0'
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_updates_test.dart
index 414196b..8608873 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_updates_test.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_updates_test.dart
@@ -10,9 +10,8 @@
 import 'test_maps_object.dart';
 
 class TestMapsObjectUpdate extends MapsObjectUpdates<TestMapsObject> {
-  TestMapsObjectUpdate.from(
-      Set<TestMapsObject> previous, Set<TestMapsObject> current)
-      : super.from(previous, current, objectName: 'testObject');
+  TestMapsObjectUpdate.from(super.previous, super.current)
+      : super.from(objectName: 'testObject');
 }
 
 void main() {
diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/test_maps_object.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/test_maps_object.dart
index 0da077d..17676a2 100644
--- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/test_maps_object.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/test_maps_object.dart
@@ -41,7 +41,6 @@
 }
 
 class TestMapsObjectUpdate extends MapsObjectUpdates<TestMapsObject> {
-  TestMapsObjectUpdate.from(
-      Set<TestMapsObject> previous, Set<TestMapsObject> current)
-      : super.from(previous, current, objectName: 'testObject');
+  TestMapsObjectUpdate.from(super.previous, super.current)
+      : super.from(objectName: 'testObject');
 }
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md
index 9dbf42c..e85d268 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md
+++ b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.4.0+6
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/projection_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/projection_test.dart
index 481caa7..57763d4 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/projection_test.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/projection_test.dart
@@ -262,8 +262,8 @@
     required this.initialCamera,
     required this.size,
     required this.onMapCreated,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// A function that receives the [GoogleMapController] of the Map widget once initialized.
   final void Function(GoogleMapController)? onMapCreated;
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/lib/main.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/lib/main.dart
index e93a60e..6bd5361 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/example/lib/main.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_web/example/lib/main.dart
@@ -11,7 +11,7 @@
 /// App for testing
 class MyApp extends StatefulWidget {
   /// Constructor with key
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml
index 43f6794..0bbda96 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml
@@ -3,7 +3,7 @@
 
 # Tests require flutter beta or greater to run.
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml
index acc7e8b..93a796f 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.4.0+6
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/google_sign_in/google_sign_in/CHANGELOG.md b/packages/google_sign_in/google_sign_in/CHANGELOG.md
index a587e7a..0723487 100644
--- a/packages/google_sign_in/google_sign_in/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 6.0.2
 
 * Updates iOS minimum version in README.
diff --git a/packages/google_sign_in/google_sign_in/example/lib/main.dart b/packages/google_sign_in/google_sign_in/example/lib/main.dart
index 271069e..523ead7 100644
--- a/packages/google_sign_in/google_sign_in/example/lib/main.dart
+++ b/packages/google_sign_in/google_sign_in/example/lib/main.dart
@@ -30,7 +30,7 @@
 }
 
 class SignInDemo extends StatefulWidget {
-  const SignInDemo({Key? key}) : super(key: key);
+  const SignInDemo({super.key});
 
   @override
   State createState() => SignInDemoState();
diff --git a/packages/google_sign_in/google_sign_in/example/pubspec.yaml b/packages/google_sign_in/google_sign_in/example/pubspec.yaml
index f1cd382..4e444bd 100644
--- a/packages/google_sign_in/google_sign_in/example/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_sign_in/google_sign_in/lib/widgets.dart b/packages/google_sign_in/google_sign_in/lib/widgets.dart
index f7ae5f9..8d67e60 100644
--- a/packages/google_sign_in/google_sign_in/lib/widgets.dart
+++ b/packages/google_sign_in/google_sign_in/lib/widgets.dart
@@ -22,13 +22,12 @@
   /// in place of a profile photo, or a default profile photo if the user's
   /// identity does not specify a `displayName`.
   const GoogleUserCircleAvatar({
-    Key? key,
+    super.key,
     required this.identity,
     this.placeholderPhotoUrl,
     this.foregroundColor,
     this.backgroundColor,
-  })  : assert(identity != null),
-        super(key: key);
+  }) : assert(identity != null);
 
   /// A regular expression that matches against the "size directive" path
   /// segment of Google profile image URLs.
diff --git a/packages/google_sign_in/google_sign_in/pubspec.yaml b/packages/google_sign_in/google_sign_in/pubspec.yaml
index f65a9e3..8fc4d1e 100644
--- a/packages/google_sign_in/google_sign_in/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 6.0.2
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/google_sign_in/google_sign_in_android/CHANGELOG.md b/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
index 1ba0c96..f5875d3 100644
--- a/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
 * Updates compileSdkVersion to 33.
 
 ## 6.1.7
diff --git a/packages/google_sign_in/google_sign_in_android/example/lib/main.dart b/packages/google_sign_in/google_sign_in_android/example/lib/main.dart
index 90d7da8..9403f62 100644
--- a/packages/google_sign_in/google_sign_in_android/example/lib/main.dart
+++ b/packages/google_sign_in/google_sign_in_android/example/lib/main.dart
@@ -22,7 +22,7 @@
 }
 
 class SignInDemo extends StatefulWidget {
-  const SignInDemo({Key? key}) : super(key: key);
+  const SignInDemo({super.key});
 
   @override
   State createState() => SignInDemoState();
diff --git a/packages/google_sign_in/google_sign_in_android/example/pubspec.yaml b/packages/google_sign_in/google_sign_in_android/example/pubspec.yaml
index 72d8b82..fb3061e 100644
--- a/packages/google_sign_in/google_sign_in_android/example/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_sign_in/google_sign_in_android/pubspec.yaml b/packages/google_sign_in/google_sign_in_android/pubspec.yaml
index d1e8452..7c33d63 100644
--- a/packages/google_sign_in/google_sign_in_android/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 6.1.7
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md b/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md
index f695030..d9b6996 100644
--- a/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 5.6.0
 
 * Updates minimum Flutter version to 3.3 and iOS 11.
diff --git a/packages/google_sign_in/google_sign_in_ios/example/lib/main.dart b/packages/google_sign_in/google_sign_in_ios/example/lib/main.dart
index 33deb3d..81790d1 100644
--- a/packages/google_sign_in/google_sign_in_ios/example/lib/main.dart
+++ b/packages/google_sign_in/google_sign_in_ios/example/lib/main.dart
@@ -22,7 +22,7 @@
 }
 
 class SignInDemo extends StatefulWidget {
-  const SignInDemo({Key? key}) : super(key: key);
+  const SignInDemo({super.key});
 
   @override
   State createState() => SignInDemoState();
diff --git a/packages/google_sign_in/google_sign_in_ios/example/pubspec.yaml b/packages/google_sign_in/google_sign_in_ios/example/pubspec.yaml
index e2e643d..d341d0a 100644
--- a/packages/google_sign_in/google_sign_in_ios/example/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_ios/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_sign_in/google_sign_in_platform_interface/CHANGELOG.md b/packages/google_sign_in/google_sign_in_platform_interface/CHANGELOG.md
index 69f5001..751bf5b 100644
--- a/packages/google_sign_in/google_sign_in_platform_interface/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.3.1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/google_sign_in/google_sign_in_platform_interface/pubspec.yaml b/packages/google_sign_in/google_sign_in_platform_interface/pubspec.yaml
index f33bf8a..105a034 100644
--- a/packages/google_sign_in/google_sign_in_platform_interface/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 2.3.1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/google_sign_in/google_sign_in_web/CHANGELOG.md b/packages/google_sign_in/google_sign_in_web/CHANGELOG.md
index 03aaf98..eeb7872 100644
--- a/packages/google_sign_in/google_sign_in_web/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.11.0+1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/google_sign_in/google_sign_in_web/example/lib/main.dart b/packages/google_sign_in/google_sign_in_web/example/lib/main.dart
index b23015c..5c03f63 100644
--- a/packages/google_sign_in/google_sign_in_web/example/lib/main.dart
+++ b/packages/google_sign_in/google_sign_in_web/example/lib/main.dart
@@ -11,7 +11,7 @@
 /// App for testing
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/google_sign_in/google_sign_in_web/example/pubspec.yaml b/packages/google_sign_in/google_sign_in_web/example/pubspec.yaml
index c739533..3c475cf 100644
--- a/packages/google_sign_in/google_sign_in_web/example/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_web/example/pubspec.yaml
@@ -2,7 +2,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/image_picker/image_picker/CHANGELOG.md b/packages/image_picker/image_picker/CHANGELOG.md
index f0d3345..7969e21 100644
--- a/packages/image_picker/image_picker/CHANGELOG.md
+++ b/packages/image_picker/image_picker/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.8.6+4
 
 * Updates iOS minimum version in README.
diff --git a/packages/image_picker/image_picker/example/lib/main.dart b/packages/image_picker/image_picker/example/lib/main.dart
index f4f6546..5e31db3 100755
--- a/packages/image_picker/image_picker/example/lib/main.dart
+++ b/packages/image_picker/image_picker/example/lib/main.dart
@@ -17,7 +17,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -29,7 +29,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, this.title}) : super(key: key);
+  const MyHomePage({super.key, this.title});
 
   final String? title;
 
@@ -423,7 +423,7 @@
     double? maxWidth, double? maxHeight, int? quality);
 
 class AspectRatioVideo extends StatefulWidget {
-  const AspectRatioVideo(this.controller, {Key? key}) : super(key: key);
+  const AspectRatioVideo(this.controller, {super.key});
 
   final VideoPlayerController? controller;
 
diff --git a/packages/image_picker/image_picker/example/pubspec.yaml b/packages/image_picker/image_picker/example/pubspec.yaml
index 3d97877..11d9837 100755
--- a/packages/image_picker/image_picker/example/pubspec.yaml
+++ b/packages/image_picker/image_picker/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/image_picker/image_picker/pubspec.yaml b/packages/image_picker/image_picker/pubspec.yaml
index 9832837..86a8280 100755
--- a/packages/image_picker/image_picker/pubspec.yaml
+++ b/packages/image_picker/image_picker/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 0.8.6+4
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/image_picker/image_picker_android/CHANGELOG.md b/packages/image_picker/image_picker_android/CHANGELOG.md
index 03935b9..6c3b22c 100644
--- a/packages/image_picker/image_picker_android/CHANGELOG.md
+++ b/packages/image_picker/image_picker_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.8.5+9
 
 * Fixes compilation warnings.
diff --git a/packages/image_picker/image_picker_android/example/lib/main.dart b/packages/image_picker/image_picker_android/example/lib/main.dart
index 34f9114..2e5b2e5 100755
--- a/packages/image_picker/image_picker_android/example/lib/main.dart
+++ b/packages/image_picker/image_picker_android/example/lib/main.dart
@@ -23,7 +23,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -35,7 +35,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, this.title}) : super(key: key);
+  const MyHomePage({super.key, this.title});
 
   final String? title;
 
@@ -449,7 +449,7 @@
     double? maxWidth, double? maxHeight, int? quality);
 
 class AspectRatioVideo extends StatefulWidget {
-  const AspectRatioVideo(this.controller, {Key? key}) : super(key: key);
+  const AspectRatioVideo(this.controller, {super.key});
 
   final VideoPlayerController? controller;
 
diff --git a/packages/image_picker/image_picker_android/example/pubspec.yaml b/packages/image_picker/image_picker_android/example/pubspec.yaml
index bfeac3d..5b0f3e0 100755
--- a/packages/image_picker/image_picker_android/example/pubspec.yaml
+++ b/packages/image_picker/image_picker_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/image_picker/image_picker_android/pubspec.yaml b/packages/image_picker/image_picker_android/pubspec.yaml
index de62db1..55bf229 100755
--- a/packages/image_picker/image_picker_android/pubspec.yaml
+++ b/packages/image_picker/image_picker_android/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 0.8.5+9
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/image_picker/image_picker_for_web/CHANGELOG.md b/packages/image_picker/image_picker_for_web/CHANGELOG.md
index 9bca6e2..9f81542 100644
--- a/packages/image_picker/image_picker_for_web/CHANGELOG.md
+++ b/packages/image_picker/image_picker_for_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.11
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/image_picker/image_picker_for_web/example/lib/main.dart b/packages/image_picker/image_picker_for_web/example/lib/main.dart
index 8742295..b5cc8b7 100644
--- a/packages/image_picker/image_picker_for_web/example/lib/main.dart
+++ b/packages/image_picker/image_picker_for_web/example/lib/main.dart
@@ -11,7 +11,7 @@
 /// App for testing
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/image_picker/image_picker_for_web/example/pubspec.yaml b/packages/image_picker/image_picker_for_web/example/pubspec.yaml
index 96ce0df..a3de0f5 100644
--- a/packages/image_picker/image_picker_for_web/example/pubspec.yaml
+++ b/packages/image_picker/image_picker_for_web/example/pubspec.yaml
@@ -2,7 +2,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/image_picker/image_picker_for_web/pubspec.yaml b/packages/image_picker/image_picker_for_web/pubspec.yaml
index 3a7f908..7e49f53 100644
--- a/packages/image_picker/image_picker_for_web/pubspec.yaml
+++ b/packages/image_picker/image_picker_for_web/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.1.11
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/image_picker/image_picker_ios/CHANGELOG.md b/packages/image_picker/image_picker_ios/CHANGELOG.md
index 62cd3c0..0f0c289 100644
--- a/packages/image_picker/image_picker_ios/CHANGELOG.md
+++ b/packages/image_picker/image_picker_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.8.7
 
 * Updates minimum Flutter version to 3.3 and iOS 11.
diff --git a/packages/image_picker/image_picker_ios/example/lib/main.dart b/packages/image_picker/image_picker_ios/example/lib/main.dart
index 440f2f1..7f8956a 100755
--- a/packages/image_picker/image_picker_ios/example/lib/main.dart
+++ b/packages/image_picker/image_picker_ios/example/lib/main.dart
@@ -17,7 +17,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -29,7 +29,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, this.title}) : super(key: key);
+  const MyHomePage({super.key, this.title});
 
   final String? title;
 
@@ -378,7 +378,7 @@
     double? maxWidth, double? maxHeight, int? quality);
 
 class AspectRatioVideo extends StatefulWidget {
-  const AspectRatioVideo(this.controller, {Key? key}) : super(key: key);
+  const AspectRatioVideo(this.controller, {super.key});
 
   final VideoPlayerController? controller;
 
diff --git a/packages/image_picker/image_picker_ios/example/pubspec.yaml b/packages/image_picker/image_picker_ios/example/pubspec.yaml
index bebe9bb..11353d8 100755
--- a/packages/image_picker/image_picker_ios/example/pubspec.yaml
+++ b/packages/image_picker/image_picker_ios/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/image_picker/image_picker_platform_interface/CHANGELOG.md b/packages/image_picker/image_picker_platform_interface/CHANGELOG.md
index 644d31a..2977e29 100644
--- a/packages/image_picker/image_picker_platform_interface/CHANGELOG.md
+++ b/packages/image_picker/image_picker_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.6.3
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/image_picker/image_picker_platform_interface/lib/src/types/picked_file/io.dart b/packages/image_picker/image_picker_platform_interface/lib/src/types/picked_file/io.dart
index 500cc65..4d4789e 100644
--- a/packages/image_picker/image_picker_platform_interface/lib/src/types/picked_file/io.dart
+++ b/packages/image_picker/image_picker_platform_interface/lib/src/types/picked_file/io.dart
@@ -11,9 +11,7 @@
 /// A PickedFile backed by a dart:io File.
 class PickedFile extends PickedFileBase {
   /// Construct a PickedFile object backed by a dart:io File.
-  PickedFile(String path)
-      : _file = File(path),
-        super(path);
+  PickedFile(super.path) : _file = File(path);
 
   final File _file;
 
diff --git a/packages/image_picker/image_picker_platform_interface/lib/src/types/picked_file/unsupported.dart b/packages/image_picker/image_picker_platform_interface/lib/src/types/picked_file/unsupported.dart
index ad3ed6a..a98846c 100644
--- a/packages/image_picker/image_picker_platform_interface/lib/src/types/picked_file/unsupported.dart
+++ b/packages/image_picker/image_picker_platform_interface/lib/src/types/picked_file/unsupported.dart
@@ -11,7 +11,7 @@
   /// Construct a PickedFile object, from its `bytes`.
   ///
   /// Optionally, you may pass a `path`. See caveats in [PickedFileBase.path].
-  PickedFile(String path) : super(path) {
+  PickedFile(super.path) {
     throw UnimplementedError(
         'PickedFile is not available in your current platform.');
   }
diff --git a/packages/image_picker/image_picker_platform_interface/pubspec.yaml b/packages/image_picker/image_picker_platform_interface/pubspec.yaml
index 7b12d99..b0f4701 100644
--- a/packages/image_picker/image_picker_platform_interface/pubspec.yaml
+++ b/packages/image_picker/image_picker_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 2.6.3
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/image_picker/image_picker_windows/CHANGELOG.md b/packages/image_picker/image_picker_windows/CHANGELOG.md
index f0f9b93..6e7fe2d 100644
--- a/packages/image_picker/image_picker_windows/CHANGELOG.md
+++ b/packages/image_picker/image_picker_windows/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.1.0+5
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/image_picker/image_picker_windows/example/lib/main.dart b/packages/image_picker/image_picker_windows/example/lib/main.dart
index dae45a5..b9ee929 100644
--- a/packages/image_picker/image_picker_windows/example/lib/main.dart
+++ b/packages/image_picker/image_picker_windows/example/lib/main.dart
@@ -16,7 +16,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -28,7 +28,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, this.title}) : super(key: key);
+  const MyHomePage({super.key, this.title});
 
   final String? title;
 
@@ -368,7 +368,7 @@
     double? maxWidth, double? maxHeight, int? quality);
 
 class AspectRatioVideo extends StatefulWidget {
-  const AspectRatioVideo(this.controller, {Key? key}) : super(key: key);
+  const AspectRatioVideo(this.controller, {super.key});
 
   final VideoPlayerController? controller;
 
diff --git a/packages/image_picker/image_picker_windows/example/pubspec.yaml b/packages/image_picker/image_picker_windows/example/pubspec.yaml
index bdbd182..4130ec8 100644
--- a/packages/image_picker/image_picker_windows/example/pubspec.yaml
+++ b/packages/image_picker/image_picker_windows/example/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/image_picker/image_picker_windows/pubspec.yaml b/packages/image_picker/image_picker_windows/pubspec.yaml
index 52f5ba6..bd776bf 100644
--- a/packages/image_picker/image_picker_windows/pubspec.yaml
+++ b/packages/image_picker/image_picker_windows/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.1.0+5
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/in_app_purchase/in_app_purchase/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
index cfd117d..ce33145 100644
--- a/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 3.1.5
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/in_app_purchase/in_app_purchase/example/pubspec.yaml b/packages/in_app_purchase/in_app_purchase/example/pubspec.yaml
index 8037b1a..9682212 100644
--- a/packages/in_app_purchase/in_app_purchase/example/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/in_app_purchase/in_app_purchase/pubspec.yaml b/packages/in_app_purchase/in_app_purchase/pubspec.yaml
index 88c3e23..c5165ec 100644
--- a/packages/in_app_purchase/in_app_purchase/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 3.1.5
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
index 9be6cec..8fe528c 100644
--- a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
 * Updates compileSdkVersion to 33.
 
 ## 0.2.4+2
diff --git a/packages/in_app_purchase/in_app_purchase_android/example/lib/main.dart b/packages/in_app_purchase/in_app_purchase_android/example/lib/main.dart
index 97e71b0..bd19555 100644
--- a/packages/in_app_purchase/in_app_purchase_android/example/lib/main.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/example/lib/main.dart
@@ -458,7 +458,7 @@
 }
 
 class _FeatureCard extends StatelessWidget {
-  _FeatureCard({Key? key}) : super(key: key);
+  _FeatureCard();
 
   final InAppPurchaseAndroidPlatformAddition addition =
       InAppPurchasePlatformAddition.instance!
diff --git a/packages/in_app_purchase/in_app_purchase_android/example/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_android/example/pubspec.yaml
index d5a76b8..e20ddaf 100644
--- a/packages/in_app_purchase/in_app_purchase_android/example/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_product_details.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_product_details.dart
index 7affa24..66dbf61 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_product_details.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_product_details.dart
@@ -12,23 +12,15 @@
   /// Creates a new Google Play specific product details object with the
   /// provided details.
   GooglePlayProductDetails({
-    required String id,
-    required String title,
-    required String description,
-    required String price,
-    required double rawPrice,
-    required String currencyCode,
+    required super.id,
+    required super.title,
+    required super.description,
+    required super.price,
+    required super.rawPrice,
+    required super.currencyCode,
     required this.skuDetails,
-    required String currencySymbol,
-  }) : super(
-          id: id,
-          title: title,
-          description: description,
-          price: price,
-          rawPrice: rawPrice,
-          currencyCode: currencyCode,
-          currencySymbol: currencySymbol,
-        );
+    required super.currencySymbol,
+  });
 
   /// Generate a [GooglePlayProductDetails] object based on an Android
   /// [SkuDetailsWrapper] object.
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart
index 42c61a3..9bf3fc5 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart
@@ -12,19 +12,13 @@
   /// Creates a new Google Play specific purchase details object with the
   /// provided details.
   GooglePlayPurchaseDetails({
-    String? purchaseID,
-    required String productID,
-    required PurchaseVerificationData verificationData,
-    required String? transactionDate,
+    super.purchaseID,
+    required super.productID,
+    required super.verificationData,
+    required super.transactionDate,
     required this.billingClientPurchase,
-    required PurchaseStatus status,
-  }) : super(
-          productID: productID,
-          purchaseID: purchaseID,
-          transactionDate: transactionDate,
-          verificationData: verificationData,
-          status: status,
-        ) {
+    required super.status,
+  }) {
     pendingCompletePurchase = !billingClientPurchase.isAcknowledged;
   }
 
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_param.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_param.dart
index bcf0ad6..2f91667 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_param.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_param.dart
@@ -10,13 +10,10 @@
 class GooglePlayPurchaseParam extends PurchaseParam {
   /// Creates a new [GooglePlayPurchaseParam] object with the given data.
   GooglePlayPurchaseParam({
-    required ProductDetails productDetails,
-    String? applicationUserName,
+    required super.productDetails,
+    super.applicationUserName,
     this.changeSubscriptionParam,
-  }) : super(
-          productDetails: productDetails,
-          applicationUserName: applicationUserName,
-        );
+  });
 
   /// The 'changeSubscriptionParam' containing information for upgrading or
   /// downgrading an existing subscription.
diff --git a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
index cc9b310..f2dc02d 100644
--- a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.2.4+2
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_platform_interface/CHANGELOG.md
index c3e31ab..341218c 100644
--- a/packages/in_app_purchase/in_app_purchase_platform_interface/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.3.3
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_platform_interface/pubspec.yaml
index f1c426b..41df0b5 100644
--- a/packages/in_app_purchase/in_app_purchase_platform_interface/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 1.3.3
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md
index b63a5ef..983d7bc 100644
--- a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.3.6+1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/in_app_purchase/in_app_purchase_storekit/example/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_storekit/example/pubspec.yaml
index b06dd6a..bf0580d 100644
--- a/packages/in_app_purchase/in_app_purchase_storekit/example/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/ios_platform_images/CHANGELOG.md b/packages/ios_platform_images/CHANGELOG.md
index 5ae9a06..cb089da 100644
--- a/packages/ios_platform_images/CHANGELOG.md
+++ b/packages/ios_platform_images/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.2.2+1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/ios_platform_images/example/lib/main.dart b/packages/ios_platform_images/example/lib/main.dart
index 043bc69..9c80c32 100644
--- a/packages/ios_platform_images/example/lib/main.dart
+++ b/packages/ios_platform_images/example/lib/main.dart
@@ -10,7 +10,7 @@
 /// Main widget for the example app.
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/ios_platform_images/example/pubspec.yaml b/packages/ios_platform_images/example/pubspec.yaml
index 49b09bd..d0378e5 100644
--- a/packages/ios_platform_images/example/pubspec.yaml
+++ b/packages/ios_platform_images/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/local_auth/local_auth/CHANGELOG.md b/packages/local_auth/local_auth/CHANGELOG.md
index 9a243e8..584daa8 100644
--- a/packages/local_auth/local_auth/CHANGELOG.md
+++ b/packages/local_auth/local_auth/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.6
 
 * Updates iOS minimum version in README.
diff --git a/packages/local_auth/local_auth/example/lib/main.dart b/packages/local_auth/local_auth/example/lib/main.dart
index 146a5d9..8a99ee5 100644
--- a/packages/local_auth/local_auth/example/lib/main.dart
+++ b/packages/local_auth/local_auth/example/lib/main.dart
@@ -15,7 +15,7 @@
 }
 
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/local_auth/local_auth/example/lib/readme_excerpts.dart b/packages/local_auth/local_auth/example/lib/readme_excerpts.dart
index ccccf5c..8ae4a3c 100644
--- a/packages/local_auth/local_auth/example/lib/readme_excerpts.dart
+++ b/packages/local_auth/local_auth/example/lib/readme_excerpts.dart
@@ -28,7 +28,7 @@
 }
 
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/local_auth/local_auth/example/pubspec.yaml b/packages/local_auth/local_auth/example/pubspec.yaml
index e02065b..792ef29 100644
--- a/packages/local_auth/local_auth/example/pubspec.yaml
+++ b/packages/local_auth/local_auth/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/local_auth/local_auth/pubspec.yaml b/packages/local_auth/local_auth/pubspec.yaml
index 3406485..4385775 100644
--- a/packages/local_auth/local_auth/pubspec.yaml
+++ b/packages/local_auth/local_auth/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 2.1.6
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/local_auth/local_auth_android/CHANGELOG.md b/packages/local_auth/local_auth_android/CHANGELOG.md
index bf94a76..f73c2d1 100644
--- a/packages/local_auth/local_auth_android/CHANGELOG.md
+++ b/packages/local_auth/local_auth_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.0.20
 
 * Fixes compilation warnings.
diff --git a/packages/local_auth/local_auth_android/example/lib/main.dart b/packages/local_auth/local_auth_android/example/lib/main.dart
index f245af9..db30c01 100644
--- a/packages/local_auth/local_auth_android/example/lib/main.dart
+++ b/packages/local_auth/local_auth_android/example/lib/main.dart
@@ -16,7 +16,7 @@
 }
 
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/local_auth/local_auth_android/example/pubspec.yaml b/packages/local_auth/local_auth_android/example/pubspec.yaml
index fddd6b5..1a50981 100644
--- a/packages/local_auth/local_auth_android/example/pubspec.yaml
+++ b/packages/local_auth/local_auth_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/local_auth/local_auth_android/pubspec.yaml b/packages/local_auth/local_auth_android/pubspec.yaml
index e1b9fc8..e626f4d 100644
--- a/packages/local_auth/local_auth_android/pubspec.yaml
+++ b/packages/local_auth/local_auth_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 1.0.20
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/local_auth/local_auth_ios/CHANGELOG.md b/packages/local_auth/local_auth_ios/CHANGELOG.md
index 74a1fac..fb45d50 100644
--- a/packages/local_auth/local_auth_ios/CHANGELOG.md
+++ b/packages/local_auth/local_auth_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.1.0
 
 * Updates minimum Flutter version to 3.3 and iOS 11.
diff --git a/packages/local_auth/local_auth_ios/example/lib/main.dart b/packages/local_auth/local_auth_ios/example/lib/main.dart
index 63b317e..b7acc99 100644
--- a/packages/local_auth/local_auth_ios/example/lib/main.dart
+++ b/packages/local_auth/local_auth_ios/example/lib/main.dart
@@ -16,7 +16,7 @@
 }
 
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/local_auth/local_auth_ios/example/pubspec.yaml b/packages/local_auth/local_auth_ios/example/pubspec.yaml
index 21b17fa..552b39e 100644
--- a/packages/local_auth/local_auth_ios/example/pubspec.yaml
+++ b/packages/local_auth/local_auth_ios/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/local_auth/local_auth_platform_interface/CHANGELOG.md b/packages/local_auth/local_auth_platform_interface/CHANGELOG.md
index fd96a6e..201ffb1 100644
--- a/packages/local_auth/local_auth_platform_interface/CHANGELOG.md
+++ b/packages/local_auth/local_auth_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.0.7
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/local_auth/local_auth_platform_interface/pubspec.yaml b/packages/local_auth/local_auth_platform_interface/pubspec.yaml
index 2af38f9..086f046 100644
--- a/packages/local_auth/local_auth_platform_interface/pubspec.yaml
+++ b/packages/local_auth/local_auth_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 1.0.7
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/local_auth/local_auth_windows/CHANGELOG.md b/packages/local_auth/local_auth_windows/CHANGELOG.md
index ebd63e9..119e486 100644
--- a/packages/local_auth/local_auth_windows/CHANGELOG.md
+++ b/packages/local_auth/local_auth_windows/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.0.6
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/local_auth/local_auth_windows/example/lib/main.dart b/packages/local_auth/local_auth_windows/example/lib/main.dart
index 3205cdb..e2e7747 100644
--- a/packages/local_auth/local_auth_windows/example/lib/main.dart
+++ b/packages/local_auth/local_auth_windows/example/lib/main.dart
@@ -16,7 +16,7 @@
 }
 
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/local_auth/local_auth_windows/example/pubspec.yaml b/packages/local_auth/local_auth_windows/example/pubspec.yaml
index 1a1387a..f709eb1 100644
--- a/packages/local_auth/local_auth_windows/example/pubspec.yaml
+++ b/packages/local_auth/local_auth_windows/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/local_auth/local_auth_windows/pubspec.yaml b/packages/local_auth/local_auth_windows/pubspec.yaml
index a513b74..aa637ff 100644
--- a/packages/local_auth/local_auth_windows/pubspec.yaml
+++ b/packages/local_auth/local_auth_windows/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 1.0.6
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/palette_generator/CHANGELOG.md b/packages/palette_generator/CHANGELOG.md
index 9475317..ec6f4e8 100644
--- a/packages/palette_generator/CHANGELOG.md
+++ b/packages/palette_generator/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.3.3+2
 
 * Ignores lint warnings from new changes in Flutter master.
diff --git a/packages/palette_generator/example/lib/main.dart b/packages/palette_generator/example/lib/main.dart
index 94fd962..67cf07d 100644
--- a/packages/palette_generator/example/lib/main.dart
+++ b/packages/palette_generator/example/lib/main.dart
@@ -19,7 +19,7 @@
 /// The main Application class.
 class MyApp extends StatelessWidget {
   /// Creates the main Application class.
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   // This widget is the root of your application.
   @override
@@ -43,11 +43,11 @@
 class ImageColors extends StatefulWidget {
   /// Creates the home page.
   const ImageColors({
-    Key? key,
+    super.key,
     this.title,
     required this.image,
     this.imageSize,
-  }) : super(key: key);
+  });
 
   /// The title that is shown at the top of the page.
   final String? title;
@@ -194,7 +194,7 @@
   ///
   /// The [generator] is optional. If it is null, then the display will
   /// just be an empty container.
-  const PaletteSwatches({Key? key, this.generator}) : super(key: key);
+  const PaletteSwatches({super.key, this.generator});
 
   /// The [PaletteGenerator] that contains all of the swatches that we're going
   /// to display.
@@ -244,10 +244,10 @@
   /// then the swatch will show a placeholder instead, to indicate
   /// that there is no color.
   const PaletteSwatch({
-    Key? key,
+    super.key,
     this.color,
     this.label,
-  }) : super(key: key);
+  });
 
   /// The color of the swatch.
   final Color? color;
diff --git a/packages/palette_generator/example/pubspec.yaml b/packages/palette_generator/example/pubspec.yaml
index 22c12c0..c8f9480 100644
--- a/packages/palette_generator/example/pubspec.yaml
+++ b/packages/palette_generator/example/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 0.1.0
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/palette_generator/pubspec.yaml b/packages/palette_generator/pubspec.yaml
index 16bf682..9e52d8b 100644
--- a/packages/palette_generator/pubspec.yaml
+++ b/packages/palette_generator/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.3.3+2
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/path_provider/path_provider/CHANGELOG.md b/packages/path_provider/path_provider/CHANGELOG.md
index 85d2b1e..a776243 100644
--- a/packages/path_provider/path_provider/CHANGELOG.md
+++ b/packages/path_provider/path_provider/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.13
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/path_provider/path_provider/example/lib/main.dart b/packages/path_provider/path_provider/example/lib/main.dart
index cb9c2eb..2863d2d 100644
--- a/packages/path_provider/path_provider/example/lib/main.dart
+++ b/packages/path_provider/path_provider/example/lib/main.dart
@@ -14,7 +14,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -29,7 +29,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, required this.title}) : super(key: key);
+  const MyHomePage({super.key, required this.title});
   final String title;
 
   @override
diff --git a/packages/path_provider/path_provider/example/pubspec.yaml b/packages/path_provider/path_provider/example/pubspec.yaml
index ffb878b..5279c1a 100644
--- a/packages/path_provider/path_provider/example/pubspec.yaml
+++ b/packages/path_provider/path_provider/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/path_provider/path_provider/pubspec.yaml b/packages/path_provider/path_provider/pubspec.yaml
index 88597ef..c725154 100644
--- a/packages/path_provider/path_provider/pubspec.yaml
+++ b/packages/path_provider/path_provider/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.0.13
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/path_provider/path_provider_android/CHANGELOG.md b/packages/path_provider/path_provider_android/CHANGELOG.md
index 2f783fa..a401af2 100644
--- a/packages/path_provider/path_provider_android/CHANGELOG.md
+++ b/packages/path_provider/path_provider_android/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
 * Updates compileSdkVersion to 33.
 
 ## 2.0.23
diff --git a/packages/path_provider/path_provider_android/example/lib/main.dart b/packages/path_provider/path_provider_android/example/lib/main.dart
index fc9424a..d0bc13b 100644
--- a/packages/path_provider/path_provider_android/example/lib/main.dart
+++ b/packages/path_provider/path_provider_android/example/lib/main.dart
@@ -12,7 +12,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -27,7 +27,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, required this.title}) : super(key: key);
+  const MyHomePage({super.key, required this.title});
   final String title;
 
   @override
diff --git a/packages/path_provider/path_provider_android/example/pubspec.yaml b/packages/path_provider/path_provider_android/example/pubspec.yaml
index e53c44f..fe4dd5e 100644
--- a/packages/path_provider/path_provider_android/example/pubspec.yaml
+++ b/packages/path_provider/path_provider_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/path_provider/path_provider_android/pubspec.yaml b/packages/path_provider/path_provider_android/pubspec.yaml
index f352030..b40856d 100644
--- a/packages/path_provider/path_provider_android/pubspec.yaml
+++ b/packages/path_provider/path_provider_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.0.23
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/path_provider/path_provider_foundation/CHANGELOG.md b/packages/path_provider/path_provider_foundation/CHANGELOG.md
index b38276f..7a34c47 100644
--- a/packages/path_provider/path_provider_foundation/CHANGELOG.md
+++ b/packages/path_provider/path_provider_foundation/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.2
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/path_provider/path_provider_foundation/example/lib/main.dart b/packages/path_provider/path_provider_foundation/example/lib/main.dart
index cc3fc13..9f7ff62 100644
--- a/packages/path_provider/path_provider_foundation/example/lib/main.dart
+++ b/packages/path_provider/path_provider_foundation/example/lib/main.dart
@@ -13,7 +13,7 @@
 
 /// Sample app
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/path_provider/path_provider_foundation/example/pubspec.yaml b/packages/path_provider/path_provider_foundation/example/pubspec.yaml
index fcf5995..a9d87a7 100644
--- a/packages/path_provider/path_provider_foundation/example/pubspec.yaml
+++ b/packages/path_provider/path_provider_foundation/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/path_provider/path_provider_foundation/pubspec.yaml b/packages/path_provider/path_provider_foundation/pubspec.yaml
index ca40ec5..21578bc 100644
--- a/packages/path_provider/path_provider_foundation/pubspec.yaml
+++ b/packages/path_provider/path_provider_foundation/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.1.2
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/path_provider/path_provider_linux/CHANGELOG.md b/packages/path_provider/path_provider_linux/CHANGELOG.md
index ef4a64d..531649e 100644
--- a/packages/path_provider/path_provider_linux/CHANGELOG.md
+++ b/packages/path_provider/path_provider_linux/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.9
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/path_provider/path_provider_linux/example/lib/main.dart b/packages/path_provider/path_provider_linux/example/lib/main.dart
index d720146..254360c 100644
--- a/packages/path_provider/path_provider_linux/example/lib/main.dart
+++ b/packages/path_provider/path_provider_linux/example/lib/main.dart
@@ -13,7 +13,7 @@
 /// Sample app
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/path_provider/path_provider_linux/example/pubspec.yaml b/packages/path_provider/path_provider_linux/example/pubspec.yaml
index a305575..a1e8dd5 100644
--- a/packages/path_provider/path_provider_linux/example/pubspec.yaml
+++ b/packages/path_provider/path_provider_linux/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: "none"
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/path_provider/path_provider_linux/pubspec.yaml b/packages/path_provider/path_provider_linux/pubspec.yaml
index f43c1fd..a482108 100644
--- a/packages/path_provider/path_provider_linux/pubspec.yaml
+++ b/packages/path_provider/path_provider_linux/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.1.9
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/path_provider/path_provider_platform_interface/CHANGELOG.md b/packages/path_provider/path_provider_platform_interface/CHANGELOG.md
index 34d0069..7dbca93 100644
--- a/packages/path_provider/path_provider_platform_interface/CHANGELOG.md
+++ b/packages/path_provider/path_provider_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.6
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/path_provider/path_provider_platform_interface/pubspec.yaml b/packages/path_provider/path_provider_platform_interface/pubspec.yaml
index 51e5677..f3e95d2 100644
--- a/packages/path_provider/path_provider_platform_interface/pubspec.yaml
+++ b/packages/path_provider/path_provider_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 2.0.6
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/path_provider/path_provider_windows/CHANGELOG.md b/packages/path_provider/path_provider_windows/CHANGELOG.md
index 97da12f..473c53c 100644
--- a/packages/path_provider/path_provider_windows/CHANGELOG.md
+++ b/packages/path_provider/path_provider_windows/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.4
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/path_provider/path_provider_windows/example/lib/main.dart b/packages/path_provider/path_provider_windows/example/lib/main.dart
index 4c63d24..e910732 100644
--- a/packages/path_provider/path_provider_windows/example/lib/main.dart
+++ b/packages/path_provider/path_provider_windows/example/lib/main.dart
@@ -13,7 +13,7 @@
 
 /// Sample app
 class MyApp extends StatefulWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/path_provider/path_provider_windows/example/pubspec.yaml b/packages/path_provider/path_provider_windows/example/pubspec.yaml
index 306f20c..e60c133 100644
--- a/packages/path_provider/path_provider_windows/example/pubspec.yaml
+++ b/packages/path_provider/path_provider_windows/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md
index 6cbcfe6..222ed94 100644
--- a/packages/pigeon/CHANGELOG.md
+++ b/packages/pigeon/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 9.0.4
 
 * Adds parameter to generate Kotlin code in example README.
diff --git a/packages/pigeon/mock_handler_tester/pubspec.yaml b/packages/pigeon/mock_handler_tester/pubspec.yaml
index 7474ba3..fa4d398 100644
--- a/packages/pigeon/mock_handler_tester/pubspec.yaml
+++ b/packages/pigeon/mock_handler_tester/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0+1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/pubspec.yaml b/packages/pigeon/platform_tests/alternate_language_test_plugin/pubspec.yaml
index 5c4d893..8766ac2 100644
--- a/packages/pigeon/platform_tests/alternate_language_test_plugin/pubspec.yaml
+++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/pubspec.yaml
@@ -5,7 +5,7 @@
 
 environment:
   sdk: '>=2.18.0 <3.0.0'
-  flutter: ">=3.0.0"
+  flutter: ">=3.3.0"
 
 flutter:
   plugin:
diff --git a/packages/pigeon/platform_tests/flutter_null_safe_unit_tests/pubspec.yaml b/packages/pigeon/platform_tests/flutter_null_safe_unit_tests/pubspec.yaml
index a35a1dc..b2f3507 100644
--- a/packages/pigeon/platform_tests/flutter_null_safe_unit_tests/pubspec.yaml
+++ b/packages/pigeon/platform_tests/flutter_null_safe_unit_tests/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none # Remove this line if you wish to publish to pub.dev
 version: 1.0.0+1
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/pubspec.yaml b/packages/pigeon/platform_tests/shared_test_plugin_code/pubspec.yaml
index 6bba54d..e9a8ff0 100644
--- a/packages/pigeon/platform_tests/shared_test_plugin_code/pubspec.yaml
+++ b/packages/pigeon/platform_tests/shared_test_plugin_code/pubspec.yaml
@@ -5,7 +5,7 @@
 
 environment:
   sdk: '>=2.18.0 <3.0.0'
-  flutter: ">=3.0.0"
+  flutter: ">=3.3.0"
 
 dependencies:
   flutter:
diff --git a/packages/pigeon/platform_tests/test_plugin/pubspec.yaml b/packages/pigeon/platform_tests/test_plugin/pubspec.yaml
index a26e2d8..046b54e 100644
--- a/packages/pigeon/platform_tests/test_plugin/pubspec.yaml
+++ b/packages/pigeon/platform_tests/test_plugin/pubspec.yaml
@@ -5,7 +5,7 @@
 
 environment:
   sdk: '>=2.18.0 <3.0.0'
-  flutter: ">=3.0.0"
+  flutter: ">=3.3.0"
 
 flutter:
   plugin:
diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml
index 803e347..b3df00f 100644
--- a/packages/pigeon/pubspec.yaml
+++ b/packages/pigeon/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 9.0.4 # This must match the version in lib/generator_tools.dart
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/pointer_interceptor/CHANGELOG.md b/packages/pointer_interceptor/CHANGELOG.md
index 2acb1fe..368fd6d 100644
--- a/packages/pointer_interceptor/CHANGELOG.md
+++ b/packages/pointer_interceptor/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ##  0.9.3+4
 
 * Removes const keyword from PointerInterceptor's constructor.
diff --git a/packages/pointer_interceptor/example/lib/main.dart b/packages/pointer_interceptor/example/lib/main.dart
index 9e759f3..3fd8453 100644
--- a/packages/pointer_interceptor/example/lib/main.dart
+++ b/packages/pointer_interceptor/example/lib/main.dart
@@ -53,7 +53,7 @@
 /// Main app
 class MyApp extends StatelessWidget {
   /// Creates main app.
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -67,7 +67,7 @@
 /// First page
 class MyHomePage extends StatefulWidget {
   /// Creates first page.
-  const MyHomePage({Key? key}) : super(key: key);
+  const MyHomePage({super.key});
 
   @override
   State<MyHomePage> createState() => _MyHomePageState();
@@ -202,7 +202,7 @@
 /// Initialize the videoPlayer, then render the corresponding view...
 class HtmlElement extends StatelessWidget {
   /// Constructor
-  const HtmlElement({Key? key, required this.onClick}) : super(key: key);
+  const HtmlElement({super.key, required this.onClick});
 
   /// A function to run when the element is clicked
   final VoidCallback onClick;
diff --git a/packages/pointer_interceptor/example/pubspec.yaml b/packages/pointer_interceptor/example/pubspec.yaml
index 493fe31..d6823b7 100644
--- a/packages/pointer_interceptor/example/pubspec.yaml
+++ b/packages/pointer_interceptor/example/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/pointer_interceptor/lib/src/mobile.dart b/packages/pointer_interceptor/lib/src/mobile.dart
index 20d76c1..8d645ff 100644
--- a/packages/pointer_interceptor/lib/src/mobile.dart
+++ b/packages/pointer_interceptor/lib/src/mobile.dart
@@ -12,8 +12,8 @@
     required this.child,
     this.intercepting = true,
     this.debug = false,
-    Key? key,
-  }) : super(key: key);
+    super.key,
+  });
 
   /// The `Widget` that is being wrapped by this `PointerInterceptor`.
   final Widget child;
diff --git a/packages/pointer_interceptor/lib/src/web.dart b/packages/pointer_interceptor/lib/src/web.dart
index bd6f37c..50edc41 100644
--- a/packages/pointer_interceptor/lib/src/web.dart
+++ b/packages/pointer_interceptor/lib/src/web.dart
@@ -40,8 +40,8 @@
     required this.child,
     this.intercepting = true,
     this.debug = false,
-    Key? key,
-  }) : super(key: key) {
+    super.key,
+  }) {
     if (!_registered) {
       _register();
     }
diff --git a/packages/pointer_interceptor/pubspec.yaml b/packages/pointer_interceptor/pubspec.yaml
index 1907324..fa2db8d 100644
--- a/packages/pointer_interceptor/pubspec.yaml
+++ b/packages/pointer_interceptor/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.9.3+4
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/quick_actions/quick_actions/CHANGELOG.md b/packages/quick_actions/quick_actions/CHANGELOG.md
index fabedd2..8687f72 100644
--- a/packages/quick_actions/quick_actions/CHANGELOG.md
+++ b/packages/quick_actions/quick_actions/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.0.2
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/quick_actions/quick_actions/example/lib/main.dart b/packages/quick_actions/quick_actions/example/lib/main.dart
index cafbf0c..759f7f1 100644
--- a/packages/quick_actions/quick_actions/example/lib/main.dart
+++ b/packages/quick_actions/quick_actions/example/lib/main.dart
@@ -12,7 +12,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -27,7 +27,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key}) : super(key: key);
+  const MyHomePage({super.key});
 
   @override
   State<MyHomePage> createState() => _MyHomePageState();
diff --git a/packages/quick_actions/quick_actions/example/pubspec.yaml b/packages/quick_actions/quick_actions/example/pubspec.yaml
index c629384..c9698f5 100644
--- a/packages/quick_actions/quick_actions/example/pubspec.yaml
+++ b/packages/quick_actions/quick_actions/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/quick_actions/quick_actions/pubspec.yaml b/packages/quick_actions/quick_actions/pubspec.yaml
index aab24bf..e532031 100644
--- a/packages/quick_actions/quick_actions/pubspec.yaml
+++ b/packages/quick_actions/quick_actions/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 1.0.2
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/quick_actions/quick_actions_android/CHANGELOG.md b/packages/quick_actions/quick_actions_android/CHANGELOG.md
index 8f36d64..d748026 100644
--- a/packages/quick_actions/quick_actions_android/CHANGELOG.md
+++ b/packages/quick_actions/quick_actions_android/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
 * Updates compileSdkVersion to 33.
 
 ## 1.0.1
diff --git a/packages/quick_actions/quick_actions_android/example/lib/main.dart b/packages/quick_actions/quick_actions_android/example/lib/main.dart
index 8f66e69..e39e6af 100644
--- a/packages/quick_actions/quick_actions_android/example/lib/main.dart
+++ b/packages/quick_actions/quick_actions_android/example/lib/main.dart
@@ -12,7 +12,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -27,7 +27,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key}) : super(key: key);
+  const MyHomePage({super.key});
 
   @override
   State<MyHomePage> createState() => _MyHomePageState();
diff --git a/packages/quick_actions/quick_actions_android/example/pubspec.yaml b/packages/quick_actions/quick_actions_android/example/pubspec.yaml
index 48a6fe9..659e906 100644
--- a/packages/quick_actions/quick_actions_android/example/pubspec.yaml
+++ b/packages/quick_actions/quick_actions_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.15.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/quick_actions/quick_actions_android/pubspec.yaml b/packages/quick_actions/quick_actions_android/pubspec.yaml
index 574cc9a..b4efe2d 100644
--- a/packages/quick_actions/quick_actions_android/pubspec.yaml
+++ b/packages/quick_actions/quick_actions_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 1.0.1
 
 environment:
-  sdk: ">=2.15.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/quick_actions/quick_actions_ios/CHANGELOG.md b/packages/quick_actions/quick_actions_ios/CHANGELOG.md
index 949dbbe..07e48c5 100644
--- a/packages/quick_actions/quick_actions_ios/CHANGELOG.md
+++ b/packages/quick_actions/quick_actions_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.0.3
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/quick_actions/quick_actions_ios/example/lib/main.dart b/packages/quick_actions/quick_actions_ios/example/lib/main.dart
index 008917b..f2c8d61 100644
--- a/packages/quick_actions/quick_actions_ios/example/lib/main.dart
+++ b/packages/quick_actions/quick_actions_ios/example/lib/main.dart
@@ -12,7 +12,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -27,7 +27,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key}) : super(key: key);
+  const MyHomePage({super.key});
 
   @override
   State<MyHomePage> createState() => _MyHomePageState();
diff --git a/packages/quick_actions/quick_actions_ios/example/pubspec.yaml b/packages/quick_actions/quick_actions_ios/example/pubspec.yaml
index af06970..ed234fa 100644
--- a/packages/quick_actions/quick_actions_ios/example/pubspec.yaml
+++ b/packages/quick_actions/quick_actions_ios/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.15.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/quick_actions/quick_actions_ios/pubspec.yaml b/packages/quick_actions/quick_actions_ios/pubspec.yaml
index a93ff0e..8ebe8ee 100644
--- a/packages/quick_actions/quick_actions_ios/pubspec.yaml
+++ b/packages/quick_actions/quick_actions_ios/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 1.0.3
 
 environment:
-  sdk: ">=2.15.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md b/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md
index 0721380..5d50838 100644
--- a/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md
+++ b/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.0.4
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml b/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml
index 331d7bb..983b0c4 100644
--- a/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml
+++ b/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 1.0.4
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/rfw/CHANGELOG.md b/packages/rfw/CHANGELOG.md
index fa07c6b..21e1985 100644
--- a/packages/rfw/CHANGELOG.md
+++ b/packages/rfw/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 1.0.8
 
 * Removes use of `runtimeType.toString()`.
diff --git a/packages/rfw/example/hello/lib/main.dart b/packages/rfw/example/hello/lib/main.dart
index dd035a0..9998030 100644
--- a/packages/rfw/example/hello/lib/main.dart
+++ b/packages/rfw/example/hello/lib/main.dart
@@ -17,7 +17,7 @@
 }
 
 class Example extends StatefulWidget {
-  const Example({Key? key}) : super(key: key);
+  const Example({super.key});
 
   @override
   State<Example> createState() => _ExampleState();
diff --git a/packages/rfw/example/hello/pubspec.yaml b/packages/rfw/example/hello/pubspec.yaml
index 5998183..96bdb7a 100644
--- a/packages/rfw/example/hello/pubspec.yaml
+++ b/packages/rfw/example/hello/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0+1
 
 environment:
-  sdk: ">=2.13.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/rfw/example/local/lib/main.dart b/packages/rfw/example/local/lib/main.dart
index d9f36b7..fc6bd09 100644
--- a/packages/rfw/example/local/lib/main.dart
+++ b/packages/rfw/example/local/lib/main.dart
@@ -17,7 +17,7 @@
 }
 
 class Example extends StatefulWidget {
-  const Example({Key? key}) : super(key: key);
+  const Example({super.key});
 
   @override
   State<Example> createState() => _ExampleState();
diff --git a/packages/rfw/example/local/pubspec.yaml b/packages/rfw/example/local/pubspec.yaml
index e09a659..9b0a273 100644
--- a/packages/rfw/example/local/pubspec.yaml
+++ b/packages/rfw/example/local/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0+1
 
 environment:
-  sdk: ">=2.13.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/rfw/example/remote/lib/main.dart b/packages/rfw/example/remote/lib/main.dart
index 6826ca9..b6d409c 100644
--- a/packages/rfw/example/remote/lib/main.dart
+++ b/packages/rfw/example/remote/lib/main.dart
@@ -18,7 +18,7 @@
 }
 
 class Example extends StatefulWidget {
-  const Example({Key? key}) : super(key: key);
+  const Example({super.key});
 
   @override
   State<Example> createState() => _ExampleState();
diff --git a/packages/rfw/example/remote/pubspec.yaml b/packages/rfw/example/remote/pubspec.yaml
index e9ea76c..dbd2ffc 100644
--- a/packages/rfw/example/remote/pubspec.yaml
+++ b/packages/rfw/example/remote/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0+1
 
 environment:
-  sdk: ">=2.13.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/rfw/example/wasm/lib/main.dart b/packages/rfw/example/wasm/lib/main.dart
index 0bfe074..f30cfd4 100644
--- a/packages/rfw/example/wasm/lib/main.dart
+++ b/packages/rfw/example/wasm/lib/main.dart
@@ -24,7 +24,7 @@
 }
 
 class Example extends StatefulWidget {
-  const Example({Key? key}) : super(key: key);
+  const Example({super.key});
 
   @override
   State<Example> createState() => _ExampleState();
diff --git a/packages/rfw/example/wasm/pubspec.yaml b/packages/rfw/example/wasm/pubspec.yaml
index de28d1c..441d328 100644
--- a/packages/rfw/example/wasm/pubspec.yaml
+++ b/packages/rfw/example/wasm/pubspec.yaml
@@ -4,7 +4,7 @@
 version: 1.0.0+1
 
 environment:
-  sdk: ">=2.13.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/rfw/lib/src/dart/model.dart b/packages/rfw/lib/src/dart/model.dart
index 11cd965..f525f44 100644
--- a/packages/rfw/lib/src/dart/model.dart
+++ b/packages/rfw/lib/src/dart/model.dart
@@ -256,7 +256,7 @@
   /// Wraps the given [parts] as an [ArgsReference].
   ///
   /// The [parts] must not be mutated after the object is created.
-  const ArgsReference(List<Object> parts): super(parts);
+  const ArgsReference(super.parts);
 
   /// Binds the arguments reference to a specific set of arguments.
   ///
@@ -304,7 +304,7 @@
   /// Wraps the given [parts] as a [DataReference].
   ///
   /// The [parts] must not be mutated after the object is created.
-  const DataReference(List<Object> parts): super(parts);
+  const DataReference(super.parts);
 
   /// Creates a new [DataRefererence] that indexes even deeper than this one.
   ///
@@ -433,7 +433,7 @@
   /// const constructors so that they can be used in const expressions.
   ///
   /// The [parts] must not be mutated after the object is created.
-  const AnyStateReference(List<Object> parts): super(parts);
+  const AnyStateReference(super.parts);
 }
 
 /// Unbound reference to remote widget's state.
@@ -443,7 +443,7 @@
   /// Wraps the given [parts] as a [StateReference].
   ///
   /// The [parts] must not be mutated after the object is created.
-  const StateReference(List<Object> parts): super(parts);
+  const StateReference(super.parts);
 
   /// Binds the state reference to a specific widget (identified by depth).
   ///
diff --git a/packages/rfw/lib/src/dart/text.dart b/packages/rfw/lib/src/dart/text.dart
index 531442b..edd490d 100644
--- a/packages/rfw/lib/src/dart/text.dart
+++ b/packages/rfw/lib/src/dart/text.dart
@@ -659,7 +659,7 @@
 }
 
 class _EofToken extends _Token {
-  _EofToken(int line, int column): super(line, column);
+  _EofToken(super.line, super.column);
 
   @override
   String toString() => '<EOF>';
diff --git a/packages/rfw/lib/src/flutter/argument_decoders.dart b/packages/rfw/lib/src/flutter/argument_decoders.dart
index 8554413..2b627c3 100644
--- a/packages/rfw/lib/src/flutter/argument_decoders.dart
+++ b/packages/rfw/lib/src/flutter/argument_decoders.dart
@@ -27,11 +27,11 @@
   /// The [duration] and [curve] are optional, and default to 200ms and
   /// [Curves.fastOutSlowIn] respectively.
   const AnimationDefaults({
-    Key? key,
+    super.key,
     this.duration,
     this.curve,
-    required Widget child,
-  }) : super(key: key, child: child);
+    required super.child,
+  });
 
   /// The default duration that [ArgumentsDecoder.duration] should use.
   ///
@@ -223,7 +223,7 @@
 
   /// Returns a [Color] from the specified integer.
   ///
-  /// Returns null if it's not an integer; otherwise, passes it to the [new
+  /// Returns null if it's not an integer; otherwise, passes it to the [
   /// Color] constructor.
   static Color? color(DataSource source, List<Object> key) {
     final int? value = source.v<int>(key);
@@ -323,7 +323,7 @@
 
   /// Returns a [Color] from the specified integer.
   ///
-  /// Returns black if it's not an integer; otherwise, passes it to the [new
+  /// Returns black if it's not an integer; otherwise, passes it to the [
   /// Color] constructor.
   ///
   /// This is useful in situations where null is not acceptable, for example,
@@ -889,13 +889,13 @@
   ///
   /// If the string is null, returns null.
   ///
-  /// If there is no hyphen in the list, uses the one-argument form of [new
+  /// If there is no hyphen in the list, uses the one-argument form of [
   /// Locale], passing the whole string.
   ///
-  /// If there is one hyphen in the list, uses the two-argument form of [new
+  /// If there is one hyphen in the list, uses the two-argument form of [
   /// Locale], passing the parts before and after the hyphen respectively.
   ///
-  /// If there are two or more hyphens, uses the [new Locale.fromSubtags]
+  /// If there are two or more hyphens, uses the [Locale.fromSubtags]
   /// constructor.
   static Locale? locale(DataSource source, List<Object> key) {
     final String? value = source.v<String>(key);
diff --git a/packages/rfw/lib/src/flutter/remote_widget.dart b/packages/rfw/lib/src/flutter/remote_widget.dart
index 83a571c..de76542 100644
--- a/packages/rfw/lib/src/flutter/remote_widget.dart
+++ b/packages/rfw/lib/src/flutter/remote_widget.dart
@@ -20,7 +20,7 @@
   /// Inserts the specified [widget] into the tree.
   ///
   /// The [onEvent] argument is optional. When omitted, events are discarded.
-  const RemoteWidget({ Key? key, required this.runtime, required this.widget, required this.data, this.onEvent }) : super(key: key);
+  const RemoteWidget({ super.key, required this.runtime, required this.widget, required this.data, this.onEvent });
 
   /// The [Runtime] to use to render the widget specified by [widget].
   ///
diff --git a/packages/rfw/lib/src/flutter/runtime.dart b/packages/rfw/lib/src/flutter/runtime.dart
index 8255d3a..bf36360 100644
--- a/packages/rfw/lib/src/flutter/runtime.dart
+++ b/packages/rfw/lib/src/flutter/runtime.dart
@@ -743,7 +743,7 @@
 }
 
 class _Widget extends StatefulWidget {
-  const _Widget({ Key? key, required this.curriedWidget, required this.data, required this.remoteEventTarget, required this.states }) : super(key: key);
+  const _Widget({ required this.curriedWidget, required this.data, required this.remoteEventTarget, required this.states });
 
   final _CurriedWidget curriedWidget;
 
diff --git a/packages/rfw/pubspec.yaml b/packages/rfw/pubspec.yaml
index 2efaa0c..6007415 100644
--- a/packages/rfw/pubspec.yaml
+++ b/packages/rfw/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 1.0.8
 
 environment:
-  sdk: ">=2.13.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/shared_preferences/shared_preferences/CHANGELOG.md b/packages/shared_preferences/shared_preferences/CHANGELOG.md
index c9348dd..d06b0ac 100644
--- a/packages/shared_preferences/shared_preferences/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.18
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/shared_preferences/shared_preferences/example/lib/main.dart b/packages/shared_preferences/shared_preferences/example/lib/main.dart
index f969039..8f9dcd6 100644
--- a/packages/shared_preferences/shared_preferences/example/lib/main.dart
+++ b/packages/shared_preferences/shared_preferences/example/lib/main.dart
@@ -14,7 +14,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -26,7 +26,7 @@
 }
 
 class SharedPreferencesDemo extends StatefulWidget {
-  const SharedPreferencesDemo({Key? key}) : super(key: key);
+  const SharedPreferencesDemo({super.key});
 
   @override
   SharedPreferencesDemoState createState() => SharedPreferencesDemoState();
diff --git a/packages/shared_preferences/shared_preferences/example/pubspec.yaml b/packages/shared_preferences/shared_preferences/example/pubspec.yaml
index 944538d..84fe89e 100644
--- a/packages/shared_preferences/shared_preferences/example/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/shared_preferences/shared_preferences/pubspec.yaml b/packages/shared_preferences/shared_preferences/pubspec.yaml
index 8ead578..622a8a2 100644
--- a/packages/shared_preferences/shared_preferences/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 2.0.18
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md
index ee1ccb1..ef9789b 100644
--- a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
 * Updates compileSdkVersion to 33.
 
 ## 2.0.16
diff --git a/packages/shared_preferences/shared_preferences_android/example/lib/main.dart b/packages/shared_preferences/shared_preferences_android/example/lib/main.dart
index cbcad63..69abfbd 100644
--- a/packages/shared_preferences/shared_preferences_android/example/lib/main.dart
+++ b/packages/shared_preferences/shared_preferences_android/example/lib/main.dart
@@ -12,7 +12,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -24,7 +24,7 @@
 }
 
 class SharedPreferencesDemo extends StatefulWidget {
-  const SharedPreferencesDemo({Key? key}) : super(key: key);
+  const SharedPreferencesDemo({super.key});
 
   @override
   SharedPreferencesDemoState createState() => SharedPreferencesDemoState();
diff --git a/packages/shared_preferences/shared_preferences_android/example/pubspec.yaml b/packages/shared_preferences/shared_preferences_android/example/pubspec.yaml
index c0bc666..8c9ebfe 100644
--- a/packages/shared_preferences/shared_preferences_android/example/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/shared_preferences/shared_preferences_android/pubspec.yaml b/packages/shared_preferences/shared_preferences_android/pubspec.yaml
index e4d42df..1f1fc0b 100644
--- a/packages/shared_preferences/shared_preferences_android/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.0.16
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md
index 8d9cecd..74a0697 100644
--- a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.4
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/shared_preferences/shared_preferences_foundation/example/lib/main.dart b/packages/shared_preferences/shared_preferences_foundation/example/lib/main.dart
index a5aedd5..e7cb57b 100644
--- a/packages/shared_preferences/shared_preferences_foundation/example/lib/main.dart
+++ b/packages/shared_preferences/shared_preferences_foundation/example/lib/main.dart
@@ -14,7 +14,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -26,7 +26,7 @@
 }
 
 class SharedPreferencesDemo extends StatefulWidget {
-  const SharedPreferencesDemo({Key? key}) : super(key: key);
+  const SharedPreferencesDemo({super.key});
 
   @override
   SharedPreferencesDemoState createState() => SharedPreferencesDemoState();
diff --git a/packages/shared_preferences/shared_preferences_foundation/example/pubspec.yaml b/packages/shared_preferences/shared_preferences_foundation/example/pubspec.yaml
index ef67f23..f1b25bf 100644
--- a/packages/shared_preferences/shared_preferences_foundation/example/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_foundation/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml
index 253c8af..a765665 100644
--- a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.1.4
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/shared_preferences/shared_preferences_linux/CHANGELOG.md b/packages/shared_preferences/shared_preferences_linux/CHANGELOG.md
index e3745a3..fc3dec9 100644
--- a/packages/shared_preferences/shared_preferences_linux/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences_linux/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.4
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/shared_preferences/shared_preferences_linux/example/lib/main.dart b/packages/shared_preferences/shared_preferences_linux/example/lib/main.dart
index a904c82..050d2e5 100644
--- a/packages/shared_preferences/shared_preferences_linux/example/lib/main.dart
+++ b/packages/shared_preferences/shared_preferences_linux/example/lib/main.dart
@@ -14,7 +14,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -26,7 +26,7 @@
 }
 
 class SharedPreferencesDemo extends StatefulWidget {
-  const SharedPreferencesDemo({Key? key}) : super(key: key);
+  const SharedPreferencesDemo({super.key});
 
   @override
   SharedPreferencesDemoState createState() => SharedPreferencesDemoState();
diff --git a/packages/shared_preferences/shared_preferences_linux/example/pubspec.yaml b/packages/shared_preferences/shared_preferences_linux/example/pubspec.yaml
index 98ff24a..c834ff3 100644
--- a/packages/shared_preferences/shared_preferences_linux/example/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_linux/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/shared_preferences/shared_preferences_linux/pubspec.yaml b/packages/shared_preferences/shared_preferences_linux/pubspec.yaml
index b1aee03..f97db35 100644
--- a/packages/shared_preferences/shared_preferences_linux/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_linux/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.1.4
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/shared_preferences/shared_preferences_platform_interface/CHANGELOG.md b/packages/shared_preferences/shared_preferences_platform_interface/CHANGELOG.md
index 1e03b02..43b0166 100644
--- a/packages/shared_preferences/shared_preferences_platform_interface/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/shared_preferences/shared_preferences_platform_interface/pubspec.yaml b/packages/shared_preferences/shared_preferences_platform_interface/pubspec.yaml
index 4537e8c..b41fe51 100644
--- a/packages/shared_preferences/shared_preferences_platform_interface/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_platform_interface/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.1.1
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/shared_preferences/shared_preferences_web/CHANGELOG.md b/packages/shared_preferences/shared_preferences_web/CHANGELOG.md
index e16a13f..409733a 100644
--- a/packages/shared_preferences/shared_preferences_web/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.5
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/shared_preferences/shared_preferences_web/example/lib/main.dart b/packages/shared_preferences/shared_preferences_web/example/lib/main.dart
index 8742295..b5cc8b7 100644
--- a/packages/shared_preferences/shared_preferences_web/example/lib/main.dart
+++ b/packages/shared_preferences/shared_preferences_web/example/lib/main.dart
@@ -11,7 +11,7 @@
 /// App for testing
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/shared_preferences/shared_preferences_web/example/pubspec.yaml b/packages/shared_preferences/shared_preferences_web/example/pubspec.yaml
index 52cfa1b..6b317fa 100644
--- a/packages/shared_preferences/shared_preferences_web/example/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_web/example/pubspec.yaml
@@ -2,7 +2,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/shared_preferences/shared_preferences_web/pubspec.yaml b/packages/shared_preferences/shared_preferences_web/pubspec.yaml
index 46bfbee..6867ee6 100644
--- a/packages/shared_preferences/shared_preferences_web/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_web/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.0.5
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/shared_preferences/shared_preferences_windows/CHANGELOG.md b/packages/shared_preferences/shared_preferences_windows/CHANGELOG.md
index aaf0e7f..bce81ce 100644
--- a/packages/shared_preferences/shared_preferences_windows/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences_windows/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.4
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/shared_preferences/shared_preferences_windows/example/lib/main.dart b/packages/shared_preferences/shared_preferences_windows/example/lib/main.dart
index e442c4b..3c5312a 100644
--- a/packages/shared_preferences/shared_preferences_windows/example/lib/main.dart
+++ b/packages/shared_preferences/shared_preferences_windows/example/lib/main.dart
@@ -14,7 +14,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -26,7 +26,7 @@
 }
 
 class SharedPreferencesDemo extends StatefulWidget {
-  const SharedPreferencesDemo({Key? key}) : super(key: key);
+  const SharedPreferencesDemo({super.key});
 
   @override
   SharedPreferencesDemoState createState() => SharedPreferencesDemoState();
diff --git a/packages/shared_preferences/shared_preferences_windows/example/pubspec.yaml b/packages/shared_preferences/shared_preferences_windows/example/pubspec.yaml
index bb51f7f..16df116 100644
--- a/packages/shared_preferences/shared_preferences_windows/example/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_windows/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/shared_preferences/shared_preferences_windows/pubspec.yaml b/packages/shared_preferences/shared_preferences_windows/pubspec.yaml
index 1b8c99b..b0285b0 100644
--- a/packages/shared_preferences/shared_preferences_windows/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_windows/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.1.4
 
 environment:
-  sdk: '>=2.12.0 <3.0.0'
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md
index 1159097..1e59d1d 100644
--- a/packages/url_launcher/url_launcher/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 6.1.10
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/url_launcher/url_launcher/example/lib/main.dart b/packages/url_launcher/url_launcher/example/lib/main.dart
index 9b005cf..f88fcfe 100644
--- a/packages/url_launcher/url_launcher/example/lib/main.dart
+++ b/packages/url_launcher/url_launcher/example/lib/main.dart
@@ -15,7 +15,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -30,7 +30,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, required this.title}) : super(key: key);
+  const MyHomePage({super.key, required this.title});
   final String title;
 
   @override
diff --git a/packages/url_launcher/url_launcher/example/pubspec.yaml b/packages/url_launcher/url_launcher/example/pubspec.yaml
index 83900bf..fcb9b0c 100644
--- a/packages/url_launcher/url_launcher/example/pubspec.yaml
+++ b/packages/url_launcher/url_launcher/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/url_launcher/url_launcher/lib/src/link.dart b/packages/url_launcher/url_launcher/lib/src/link.dart
index 91f7389..d472321 100644
--- a/packages/url_launcher/url_launcher/lib/src/link.dart
+++ b/packages/url_launcher/url_launcher/lib/src/link.dart
@@ -47,11 +47,11 @@
   /// Creates a widget that renders a real link on the web, and uses WebViews in
   /// native platforms to open links.
   const Link({
-    Key? key,
+    super.key,
     required this.uri,
     this.target = LinkTarget.defaultTarget,
     required this.builder,
-  }) : super(key: key);
+  });
 
   /// Called at build time to construct the widget tree under the link.
   @override
@@ -86,7 +86,7 @@
 /// event channel messages to instruct the framework to push the route name.
 class DefaultLinkDelegate extends StatelessWidget {
   /// Creates a delegate for the given [link].
-  const DefaultLinkDelegate(this.link, {Key? key}) : super(key: key);
+  const DefaultLinkDelegate(this.link, {super.key});
 
   /// Given a [link], creates an instance of [DefaultLinkDelegate].
   ///
diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml
index aa3307e..fd2f732 100644
--- a/packages/url_launcher/url_launcher/pubspec.yaml
+++ b/packages/url_launcher/url_launcher/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 6.1.10
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/url_launcher/url_launcher_android/CHANGELOG.md b/packages/url_launcher/url_launcher_android/CHANGELOG.md
index f577d68..9565923 100644
--- a/packages/url_launcher/url_launcher_android/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 6.0.24
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/url_launcher/url_launcher_android/example/lib/main.dart b/packages/url_launcher/url_launcher_android/example/lib/main.dart
index 7a77c86..d10681b 100644
--- a/packages/url_launcher/url_launcher_android/example/lib/main.dart
+++ b/packages/url_launcher/url_launcher_android/example/lib/main.dart
@@ -14,7 +14,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -29,7 +29,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, required this.title}) : super(key: key);
+  const MyHomePage({super.key, required this.title});
   final String title;
 
   @override
diff --git a/packages/url_launcher/url_launcher_android/example/pubspec.yaml b/packages/url_launcher/url_launcher_android/example/pubspec.yaml
index 33fc9f0..f902fc5 100644
--- a/packages/url_launcher/url_launcher_android/example/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/url_launcher/url_launcher_android/pubspec.yaml b/packages/url_launcher/url_launcher_android/pubspec.yaml
index 0dedffd..250d13b 100644
--- a/packages/url_launcher/url_launcher_android/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 6.0.24
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/url_launcher/url_launcher_linux/CHANGELOG.md b/packages/url_launcher/url_launcher_linux/CHANGELOG.md
index 1ad4343..8a7c204 100644
--- a/packages/url_launcher/url_launcher_linux/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_linux/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 3.0.3
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/url_launcher/url_launcher_linux/example/lib/main.dart b/packages/url_launcher/url_launcher_linux/example/lib/main.dart
index bbe651e..739d09d 100644
--- a/packages/url_launcher/url_launcher_linux/example/lib/main.dart
+++ b/packages/url_launcher/url_launcher_linux/example/lib/main.dart
@@ -13,7 +13,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -28,7 +28,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, required this.title}) : super(key: key);
+  const MyHomePage({super.key, required this.title});
   final String title;
 
   @override
diff --git a/packages/url_launcher/url_launcher_linux/example/pubspec.yaml b/packages/url_launcher/url_launcher_linux/example/pubspec.yaml
index ba73880..a6cc108 100644
--- a/packages/url_launcher/url_launcher_linux/example/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_linux/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/url_launcher/url_launcher_linux/pubspec.yaml b/packages/url_launcher/url_launcher_linux/pubspec.yaml
index bd59b05..e6cf85b 100644
--- a/packages/url_launcher/url_launcher_linux/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_linux/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 3.0.3
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/url_launcher/url_launcher_macos/CHANGELOG.md b/packages/url_launcher/url_launcher_macos/CHANGELOG.md
index 29cf5f2..cb79735 100644
--- a/packages/url_launcher/url_launcher_macos/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_macos/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 3.0.3
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/url_launcher/url_launcher_macos/example/lib/main.dart b/packages/url_launcher/url_launcher_macos/example/lib/main.dart
index bbe651e..739d09d 100644
--- a/packages/url_launcher/url_launcher_macos/example/lib/main.dart
+++ b/packages/url_launcher/url_launcher_macos/example/lib/main.dart
@@ -13,7 +13,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -28,7 +28,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, required this.title}) : super(key: key);
+  const MyHomePage({super.key, required this.title});
   final String title;
 
   @override
diff --git a/packages/url_launcher/url_launcher_macos/example/pubspec.yaml b/packages/url_launcher/url_launcher_macos/example/pubspec.yaml
index 688cac3..41f1fec 100644
--- a/packages/url_launcher/url_launcher_macos/example/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_macos/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/url_launcher/url_launcher_macos/pubspec.yaml b/packages/url_launcher/url_launcher_macos/pubspec.yaml
index 3a018aa..95e3eea 100644
--- a/packages/url_launcher/url_launcher_macos/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_macos/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 3.0.3
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/url_launcher/url_launcher_platform_interface/CHANGELOG.md b/packages/url_launcher/url_launcher_platform_interface/CHANGELOG.md
index e13aeaa..a292ce1 100644
--- a/packages/url_launcher/url_launcher_platform_interface/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.1.2
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml b/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml
index 3d1e41d..6b09d59 100644
--- a/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 2.1.2
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md
index 408a7c1..5c74573 100644
--- a/packages/url_launcher/url_launcher_web/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.15
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/url_launcher/url_launcher_web/example/lib/main.dart b/packages/url_launcher/url_launcher_web/example/lib/main.dart
index 8742295..b5cc8b7 100644
--- a/packages/url_launcher/url_launcher_web/example/lib/main.dart
+++ b/packages/url_launcher/url_launcher_web/example/lib/main.dart
@@ -11,7 +11,7 @@
 /// App for testing
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/url_launcher/url_launcher_web/example/pubspec.yaml b/packages/url_launcher/url_launcher_web/example/pubspec.yaml
index ca1b0d6..314e638 100644
--- a/packages/url_launcher/url_launcher_web/example/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_web/example/pubspec.yaml
@@ -2,7 +2,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/url_launcher/url_launcher_web/lib/src/link.dart b/packages/url_launcher/url_launcher_web/lib/src/link.dart
index 78c049c..927cc7d 100644
--- a/packages/url_launcher/url_launcher_web/lib/src/link.dart
+++ b/packages/url_launcher/url_launcher_web/lib/src/link.dart
@@ -31,7 +31,7 @@
 /// It uses a platform view to render an anchor element in the DOM.
 class WebLinkDelegate extends StatefulWidget {
   /// Creates a delegate for the given [link].
-  const WebLinkDelegate(this.link, {Key? key}) : super(key: key);
+  const WebLinkDelegate(this.link, {super.key});
 
   /// Information about the link built by the app.
   final LinkInfo link;
diff --git a/packages/url_launcher/url_launcher_web/pubspec.yaml b/packages/url_launcher/url_launcher_web/pubspec.yaml
index ed27080..43c5a5f 100644
--- a/packages/url_launcher/url_launcher_web/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_web/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.0.15
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/url_launcher/url_launcher_windows/CHANGELOG.md b/packages/url_launcher/url_launcher_windows/CHANGELOG.md
index 9b5a0d3..96489ee 100644
--- a/packages/url_launcher/url_launcher_windows/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_windows/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 3.0.4
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/url_launcher/url_launcher_windows/example/lib/main.dart b/packages/url_launcher/url_launcher_windows/example/lib/main.dart
index bbe651e..739d09d 100644
--- a/packages/url_launcher/url_launcher_windows/example/lib/main.dart
+++ b/packages/url_launcher/url_launcher_windows/example/lib/main.dart
@@ -13,7 +13,7 @@
 }
 
 class MyApp extends StatelessWidget {
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   Widget build(BuildContext context) {
@@ -28,7 +28,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  const MyHomePage({Key? key, required this.title}) : super(key: key);
+  const MyHomePage({super.key, required this.title});
   final String title;
 
   @override
diff --git a/packages/url_launcher/url_launcher_windows/example/pubspec.yaml b/packages/url_launcher/url_launcher_windows/example/pubspec.yaml
index 231d3d0..baf9164 100644
--- a/packages/url_launcher/url_launcher_windows/example/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_windows/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/url_launcher/url_launcher_windows/pubspec.yaml b/packages/url_launcher/url_launcher_windows/pubspec.yaml
index 7c42b7c..ed26896 100644
--- a/packages/url_launcher/url_launcher_windows/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_windows/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 3.0.4
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/video_player/video_player/CHANGELOG.md b/packages/video_player/video_player/CHANGELOG.md
index 2fc234e..5c4c9df 100644
--- a/packages/video_player/video_player/CHANGELOG.md
+++ b/packages/video_player/video_player/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.5.3
 
 * Updates iOS minimum version in README.
diff --git a/packages/video_player/video_player/README.md b/packages/video_player/video_player/README.md
index e57c6f7..5e4d567 100644
--- a/packages/video_player/video_player/README.md
+++ b/packages/video_player/video_player/README.md
@@ -61,7 +61,7 @@
 
 /// Stateful widget to fetch and then display video content.
 class VideoApp extends StatefulWidget {
-  const VideoApp({Key? key}) : super(key: key);
+  const VideoApp({super.key});
 
   @override
   _VideoAppState createState() => _VideoAppState();
diff --git a/packages/video_player/video_player/example/lib/basic.dart b/packages/video_player/video_player/example/lib/basic.dart
index 169f1cd..60191b5 100644
--- a/packages/video_player/video_player/example/lib/basic.dart
+++ b/packages/video_player/video_player/example/lib/basic.dart
@@ -15,7 +15,7 @@
 
 /// Stateful widget to fetch and then display video content.
 class VideoApp extends StatefulWidget {
-  const VideoApp({Key? key}) : super(key: key);
+  const VideoApp({super.key});
 
   @override
   _VideoAppState createState() => _VideoAppState();
diff --git a/packages/video_player/video_player/example/lib/main.dart b/packages/video_player/video_player/example/lib/main.dart
index 208cd2f..cda8a39 100644
--- a/packages/video_player/video_player/example/lib/main.dart
+++ b/packages/video_player/video_player/example/lib/main.dart
@@ -107,7 +107,7 @@
 
 /// A filler card to show the video in a list of scrolling contents.
 class _ExampleCard extends StatelessWidget {
-  const _ExampleCard({Key? key, required this.title}) : super(key: key);
+  const _ExampleCard({required this.title});
 
   final String title;
 
@@ -265,8 +265,7 @@
 }
 
 class _ControlsOverlay extends StatelessWidget {
-  const _ControlsOverlay({Key? key, required this.controller})
-      : super(key: key);
+  const _ControlsOverlay({required this.controller});
 
   static const List<Duration> _exampleCaptionOffsets = <Duration>[
     Duration(seconds: -10),
diff --git a/packages/video_player/video_player/example/pubspec.yaml b/packages/video_player/video_player/example/pubspec.yaml
index 0b30e9f..f29edfb 100644
--- a/packages/video_player/video_player/example/pubspec.yaml
+++ b/packages/video_player/video_player/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/video_player/video_player/lib/video_player.dart b/packages/video_player/video_player/lib/video_player.dart
index 5720e2d..2b5c625 100644
--- a/packages/video_player/video_player/lib/video_player.dart
+++ b/packages/video_player/video_player/lib/video_player.dart
@@ -715,7 +715,7 @@
 /// Widget that displays the video controlled by [controller].
 class VideoPlayer extends StatefulWidget {
   /// Uses the given [controller] for all video rendered in this widget.
-  const VideoPlayer(this.controller, {Key? key}) : super(key: key);
+  const VideoPlayer(this.controller, {super.key});
 
   /// The [VideoPlayerController] responsible for the video being rendered in
   /// this widget.
@@ -776,9 +776,7 @@
 }
 
 class _VideoPlayerWithRotation extends StatelessWidget {
-  const _VideoPlayerWithRotation(
-      {Key? key, required this.rotation, required this.child})
-      : super(key: key);
+  const _VideoPlayerWithRotation({required this.rotation, required this.child});
   final int rotation;
   final Widget child;
 
@@ -838,10 +836,10 @@
   /// [controller] is the [VideoPlayerController] that will be controlled by
   /// this scrubber.
   const VideoScrubber({
-    Key? key,
+    super.key,
     required this.child,
     required this.controller,
-  }) : super(key: key);
+  });
 
   /// The widget that will be displayed inside the gesture detector.
   final Widget child;
@@ -918,11 +916,11 @@
   /// to `top: 5.0`.
   const VideoProgressIndicator(
     this.controller, {
-    Key? key,
+    super.key,
     this.colors = const VideoProgressColors(),
     required this.allowScrubbing,
     this.padding = const EdgeInsets.only(top: 5.0),
-  }) : super(key: key);
+  });
 
   /// The [VideoPlayerController] that actually associates a video with this
   /// widget.
@@ -1051,7 +1049,7 @@
   /// [VideoPlayerValue.caption].
   ///
   /// If [text] is null or empty, nothing will be displayed.
-  const ClosedCaption({Key? key, this.text, this.textStyle}) : super(key: key);
+  const ClosedCaption({super.key, this.text, this.textStyle});
 
   /// The text that will be shown in the closed caption, or null if no caption
   /// should be shown.
diff --git a/packages/video_player/video_player/pubspec.yaml b/packages/video_player/video_player/pubspec.yaml
index 6519b10..7d4aca6 100644
--- a/packages/video_player/video_player/pubspec.yaml
+++ b/packages/video_player/video_player/pubspec.yaml
@@ -6,7 +6,7 @@
 version: 2.5.3
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/video_player/video_player/test/video_player_test.dart b/packages/video_player/video_player/test/video_player_test.dart
index 663fc9f..023202d 100644
--- a/packages/video_player/video_player/test/video_player_test.dart
+++ b/packages/video_player/video_player/test/video_player_test.dart
@@ -18,7 +18,7 @@
     implements VideoPlayerController {
   FakeController() : super(VideoPlayerValue(duration: Duration.zero));
 
-  FakeController.value(VideoPlayerValue value) : super(value);
+  FakeController.value(super.value);
 
   @override
   Future<void> dispose() async {
diff --git a/packages/video_player/video_player_android/CHANGELOG.md b/packages/video_player/video_player_android/CHANGELOG.md
index 1bb697d..f6af063 100644
--- a/packages/video_player/video_player_android/CHANGELOG.md
+++ b/packages/video_player/video_player_android/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
 * Updates compileSdkVersion to 33.
 
 ## 2.3.11
diff --git a/packages/video_player/video_player_android/example/lib/main.dart b/packages/video_player/video_player_android/example/lib/main.dart
index bca4e29..38ad5aa 100644
--- a/packages/video_player/video_player_android/example/lib/main.dart
+++ b/packages/video_player/video_player_android/example/lib/main.dart
@@ -157,8 +157,7 @@
 }
 
 class _ControlsOverlay extends StatelessWidget {
-  const _ControlsOverlay({Key? key, required this.controller})
-      : super(key: key);
+  const _ControlsOverlay({required this.controller});
 
   static const List<double> _examplePlaybackRates = <double>[
     0.25,
diff --git a/packages/video_player/video_player_android/example/lib/mini_controller.dart b/packages/video_player/video_player_android/example/lib/mini_controller.dart
index fb79a77..3ad1b6a 100644
--- a/packages/video_player/video_player_android/example/lib/mini_controller.dart
+++ b/packages/video_player/video_player_android/example/lib/mini_controller.dart
@@ -346,7 +346,7 @@
 /// Widget that displays the video controlled by [controller].
 class VideoPlayer extends StatefulWidget {
   /// Uses the given [controller] for all video rendered in this widget.
-  const VideoPlayer(this.controller, {Key? key}) : super(key: key);
+  const VideoPlayer(this.controller, {super.key});
 
   /// The [MiniController] responsible for the video being rendered in
   /// this widget.
@@ -445,7 +445,7 @@
 class VideoProgressIndicator extends StatefulWidget {
   /// Construct an instance that displays the play/buffering status of the video
   /// controlled by [controller].
-  const VideoProgressIndicator(this.controller, {Key? key}) : super(key: key);
+  const VideoProgressIndicator(this.controller, {super.key});
 
   /// The [MiniController] that actually associates a video with this
   /// widget.
diff --git a/packages/video_player/video_player_android/example/pubspec.yaml b/packages/video_player/video_player_android/example/pubspec.yaml
index 16ffe17..0100ee1 100644
--- a/packages/video_player/video_player_android/example/pubspec.yaml
+++ b/packages/video_player/video_player_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/video_player/video_player_android/pubspec.yaml b/packages/video_player/video_player_android/pubspec.yaml
index 9d9fc02..f1a42f1 100644
--- a/packages/video_player/video_player_android/pubspec.yaml
+++ b/packages/video_player/video_player_android/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.3.11
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/video_player/video_player_avfoundation/CHANGELOG.md b/packages/video_player/video_player_avfoundation/CHANGELOG.md
index e9059c0..b603262 100644
--- a/packages/video_player/video_player_avfoundation/CHANGELOG.md
+++ b/packages/video_player/video_player_avfoundation/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.4.0
 
 * Updates minimum Flutter version to 3.3 and iOS 11.
diff --git a/packages/video_player/video_player_avfoundation/example/lib/main.dart b/packages/video_player/video_player_avfoundation/example/lib/main.dart
index d385fd0..a2540ca 100644
--- a/packages/video_player/video_player_avfoundation/example/lib/main.dart
+++ b/packages/video_player/video_player_avfoundation/example/lib/main.dart
@@ -215,8 +215,7 @@
 }
 
 class _ControlsOverlay extends StatelessWidget {
-  const _ControlsOverlay({Key? key, required this.controller})
-      : super(key: key);
+  const _ControlsOverlay({required this.controller});
 
   static const List<double> _examplePlaybackRates = <double>[
     0.25,
diff --git a/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart b/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart
index fb79a77..3ad1b6a 100644
--- a/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart
+++ b/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart
@@ -346,7 +346,7 @@
 /// Widget that displays the video controlled by [controller].
 class VideoPlayer extends StatefulWidget {
   /// Uses the given [controller] for all video rendered in this widget.
-  const VideoPlayer(this.controller, {Key? key}) : super(key: key);
+  const VideoPlayer(this.controller, {super.key});
 
   /// The [MiniController] responsible for the video being rendered in
   /// this widget.
@@ -445,7 +445,7 @@
 class VideoProgressIndicator extends StatefulWidget {
   /// Construct an instance that displays the play/buffering status of the video
   /// controlled by [controller].
-  const VideoProgressIndicator(this.controller, {Key? key}) : super(key: key);
+  const VideoProgressIndicator(this.controller, {super.key});
 
   /// The [MiniController] that actually associates a video with this
   /// widget.
diff --git a/packages/video_player/video_player_avfoundation/example/pubspec.yaml b/packages/video_player/video_player_avfoundation/example/pubspec.yaml
index 422fb91..04ae207 100644
--- a/packages/video_player/video_player_avfoundation/example/pubspec.yaml
+++ b/packages/video_player/video_player_avfoundation/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/video_player/video_player_platform_interface/CHANGELOG.md b/packages/video_player/video_player_platform_interface/CHANGELOG.md
index ba7e937..05e4201 100644
--- a/packages/video_player/video_player_platform_interface/CHANGELOG.md
+++ b/packages/video_player/video_player_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 6.0.2
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/video_player/video_player_platform_interface/pubspec.yaml b/packages/video_player/video_player_platform_interface/pubspec.yaml
index a75d05a..c3ba696 100644
--- a/packages/video_player/video_player_platform_interface/pubspec.yaml
+++ b/packages/video_player/video_player_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 6.0.2
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/video_player/video_player_web/CHANGELOG.md b/packages/video_player/video_player_web/CHANGELOG.md
index 9b9edf3..5df30f0 100644
--- a/packages/video_player/video_player_web/CHANGELOG.md
+++ b/packages/video_player/video_player_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.14
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/video_player/video_player_web/example/lib/main.dart b/packages/video_player/video_player_web/example/lib/main.dart
index 8742295..b5cc8b7 100644
--- a/packages/video_player/video_player_web/example/lib/main.dart
+++ b/packages/video_player/video_player_web/example/lib/main.dart
@@ -11,7 +11,7 @@
 /// App for testing
 class MyApp extends StatefulWidget {
   /// Default Constructor
-  const MyApp({Key? key}) : super(key: key);
+  const MyApp({super.key});
 
   @override
   State<MyApp> createState() => _MyAppState();
diff --git a/packages/video_player/video_player_web/example/pubspec.yaml b/packages/video_player/video_player_web/example/pubspec.yaml
index c4de1ce..3c51cab 100644
--- a/packages/video_player/video_player_web/example/pubspec.yaml
+++ b/packages/video_player/video_player_web/example/pubspec.yaml
@@ -2,7 +2,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/video_player/video_player_web/pubspec.yaml b/packages/video_player/video_player_web/pubspec.yaml
index 9e2c9e6..32edd42 100644
--- a/packages/video_player/video_player_web/pubspec.yaml
+++ b/packages/video_player/video_player_web/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 2.0.14
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/webview_flutter/webview_flutter_android/CHANGELOG.md b/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
index dd38bcb..c5564af 100644
--- a/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
+++ b/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 3.3.2
 
 * Resolves compilations warnings.
diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/legacy/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/legacy/webview_flutter_test.dart
index cbec6b7..2fd0c1b 100644
--- a/packages/webview_flutter/webview_flutter_android/example/integration_test/legacy/webview_flutter_test.dart
+++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/legacy/webview_flutter_test.dart
@@ -1470,10 +1470,10 @@
 
 class ResizableWebView extends StatefulWidget {
   const ResizableWebView({
-    Key? key,
+    super.key,
     required this.onResize,
     required this.onPageFinished,
-  }) : super(key: key);
+  });
 
   final JavascriptMessageHandler onResize;
   final VoidCallback onPageFinished;
diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart
index af144e5..d8db408 100644
--- a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart
+++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart
@@ -1135,10 +1135,10 @@
 
 class ResizableWebView extends StatefulWidget {
   const ResizableWebView({
-    Key? key,
+    super.key,
     required this.onResize,
     required this.onPageFinished,
-  }) : super(key: key);
+  });
 
   final VoidCallback onResize;
   final VoidCallback onPageFinished;
diff --git a/packages/webview_flutter/webview_flutter_android/example/lib/legacy/web_view.dart b/packages/webview_flutter/webview_flutter_android/example/lib/legacy/web_view.dart
index b77a503..bd57786 100644
--- a/packages/webview_flutter/webview_flutter_android/example/lib/legacy/web_view.dart
+++ b/packages/webview_flutter/webview_flutter_android/example/lib/legacy/web_view.dart
@@ -61,7 +61,7 @@
   ///
   /// The `javascriptMode` and `autoMediaPlaybackPolicy` parameters must not be null.
   const WebView({
-    Key? key,
+    super.key,
     this.onWebViewCreated,
     this.initialUrl,
     this.initialCookies = const <WebViewCookie>[],
@@ -83,8 +83,7 @@
     this.backgroundColor,
   })  : assert(javascriptMode != null),
         assert(initialMediaPlaybackPolicy != null),
-        assert(allowsInlineMediaPlayback != null),
-        super(key: key);
+        assert(allowsInlineMediaPlayback != null);
 
   /// The WebView platform that's used by this WebView.
   ///
diff --git a/packages/webview_flutter/webview_flutter_android/example/lib/main.dart b/packages/webview_flutter/webview_flutter_android/example/lib/main.dart
index 75f01b4..3c6a514 100644
--- a/packages/webview_flutter/webview_flutter_android/example/lib/main.dart
+++ b/packages/webview_flutter/webview_flutter_android/example/lib/main.dart
@@ -74,7 +74,7 @@
 ''';
 
 class WebViewExample extends StatefulWidget {
-  const WebViewExample({Key? key, this.cookieManager}) : super(key: key);
+  const WebViewExample({super.key, this.cookieManager});
 
   final PlatformWebViewCookieManager? cookieManager;
 
@@ -193,14 +193,13 @@
 
 class SampleMenu extends StatelessWidget {
   SampleMenu({
-    Key? key,
+    super.key,
     required this.webViewController,
     PlatformWebViewCookieManager? cookieManager,
-  })  : cookieManager = cookieManager ??
+  }) : cookieManager = cookieManager ??
             PlatformWebViewCookieManager(
               const PlatformWebViewCookieManagerCreationParams(),
-            ),
-        super(key: key);
+            );
 
   final PlatformWebViewController webViewController;
   late final PlatformWebViewCookieManager cookieManager;
@@ -457,8 +456,7 @@
 }
 
 class NavigationControls extends StatelessWidget {
-  const NavigationControls({Key? key, required this.webViewController})
-      : super(key: key);
+  const NavigationControls({super.key, required this.webViewController});
 
   final PlatformWebViewController webViewController;
 
diff --git a/packages/webview_flutter/webview_flutter_android/example/pubspec.yaml b/packages/webview_flutter/webview_flutter_android/example/pubspec.yaml
index 0fc0daf..1b1d873 100644
--- a/packages/webview_flutter/webview_flutter_android/example/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_android/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md
index 8641f8c..d763e97 100644
--- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md
+++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 2.0.2
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml
index 0857aae..c69645d 100644
--- a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml
@@ -7,7 +7,7 @@
 version: 2.0.2
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/webview_flutter/webview_flutter_platform_interface/test/platform_navigation_delegate_test.dart b/packages/webview_flutter/webview_flutter_platform_interface/test/platform_navigation_delegate_test.dart
index 5e9aa2e..8535e87 100644
--- a/packages/webview_flutter/webview_flutter_platform_interface/test/platform_navigation_delegate_test.dart
+++ b/packages/webview_flutter/webview_flutter_platform_interface/test/platform_navigation_delegate_test.dart
@@ -141,7 +141,5 @@
         PlatformNavigationDelegate {}
 
 class ExtendsPlatformNavigationDelegate extends PlatformNavigationDelegate {
-  ExtendsPlatformNavigationDelegate(
-      PlatformNavigationDelegateCreationParams params)
-      : super.implementation(params);
+  ExtendsPlatformNavigationDelegate(super.params) : super.implementation();
 }
diff --git a/packages/webview_flutter/webview_flutter_platform_interface/test/platform_webview_controller_test.dart b/packages/webview_flutter/webview_flutter_platform_interface/test/platform_webview_controller_test.dart
index 6710f34..80fd625 100644
--- a/packages/webview_flutter/webview_flutter_platform_interface/test/platform_webview_controller_test.dart
+++ b/packages/webview_flutter/webview_flutter_platform_interface/test/platform_webview_controller_test.dart
@@ -430,9 +430,7 @@
         PlatformWebViewController {}
 
 class ExtendsPlatformWebViewController extends PlatformWebViewController {
-  ExtendsPlatformWebViewController(
-      PlatformWebViewControllerCreationParams params)
-      : super.implementation(params);
+  ExtendsPlatformWebViewController(super.params) : super.implementation();
 }
 
 // ignore: must_be_immutable
diff --git a/packages/webview_flutter/webview_flutter_platform_interface/test/platform_webview_widget_test.dart b/packages/webview_flutter/webview_flutter_platform_interface/test/platform_webview_widget_test.dart
index 652f326..ce0a026 100644
--- a/packages/webview_flutter/webview_flutter_platform_interface/test/platform_webview_widget_test.dart
+++ b/packages/webview_flutter/webview_flutter_platform_interface/test/platform_webview_widget_test.dart
@@ -76,8 +76,7 @@
         PlatformWebViewWidget {}
 
 class ExtendsWebViewWidgetDelegate extends PlatformWebViewWidget {
-  ExtendsWebViewWidgetDelegate(PlatformWebViewWidgetCreationParams params)
-      : super.implementation(params);
+  ExtendsWebViewWidgetDelegate(super.params) : super.implementation();
 
   @override
   Widget build(BuildContext context) {
diff --git a/packages/webview_flutter/webview_flutter_web/CHANGELOG.md b/packages/webview_flutter/webview_flutter_web/CHANGELOG.md
index 066e6fe..5ce2e1f 100644
--- a/packages/webview_flutter/webview_flutter_web/CHANGELOG.md
+++ b/packages/webview_flutter/webview_flutter_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 0.2.2+1
 
 * Updates links for the merge of flutter/plugins into flutter/packages.
diff --git a/packages/webview_flutter/webview_flutter_web/example/lib/legacy/web_view.dart b/packages/webview_flutter/webview_flutter_web/example/lib/legacy/web_view.dart
index b9b8ce2..7f1eead 100644
--- a/packages/webview_flutter/webview_flutter_web/example/lib/legacy/web_view.dart
+++ b/packages/webview_flutter/webview_flutter_web/example/lib/legacy/web_view.dart
@@ -29,10 +29,10 @@
   /// The web view can be controlled using a `WebViewController` that is passed to the
   /// `onWebViewCreated` callback once the web view is created.
   const WebView({
-    Key? key,
+    super.key,
     this.onWebViewCreated,
     this.initialUrl,
-  }) : super(key: key);
+  });
 
   /// The WebView platform that's used by this WebView.
   ///
diff --git a/packages/webview_flutter/webview_flutter_web/example/lib/main.dart b/packages/webview_flutter/webview_flutter_web/example/lib/main.dart
index ca268a2..092de59 100644
--- a/packages/webview_flutter/webview_flutter_web/example/lib/main.dart
+++ b/packages/webview_flutter/webview_flutter_web/example/lib/main.dart
@@ -16,7 +16,7 @@
 }
 
 class _WebViewExample extends StatefulWidget {
-  const _WebViewExample({Key? key}) : super(key: key);
+  const _WebViewExample();
 
   @override
   _WebViewExampleState createState() => _WebViewExampleState();
diff --git a/packages/webview_flutter/webview_flutter_web/example/pubspec.yaml b/packages/webview_flutter/webview_flutter_web/example/pubspec.yaml
index 4685135..695c50e 100644
--- a/packages/webview_flutter/webview_flutter_web/example/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_web/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/packages/webview_flutter/webview_flutter_web/pubspec.yaml b/packages/webview_flutter/webview_flutter_web/pubspec.yaml
index 1a941d2..44a028f 100644
--- a/packages/webview_flutter/webview_flutter_web/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_web/pubspec.yaml
@@ -5,7 +5,7 @@
 version: 0.2.2+1
 
 environment:
-  sdk: ">=2.14.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 flutter:
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md b/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md
index e288962..8b4cef0 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md
+++ b/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md
@@ -1,3 +1,7 @@
+## NEXT
+
+* Aligns Dart and Flutter SDK constraints.
+
 ## 3.2.0
 
 * Updates minimum Flutter version to 3.3 and iOS 11.
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/legacy/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/legacy/webview_flutter_test.dart
index f2bae80..5cf10dc 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/legacy/webview_flutter_test.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/legacy/webview_flutter_test.dart
@@ -1209,8 +1209,7 @@
 
 class ResizableWebView extends StatefulWidget {
   const ResizableWebView(
-      {Key? key, required this.onResize, required this.onPageFinished})
-      : super(key: key);
+      {super.key, required this.onResize, required this.onPageFinished});
 
   final JavascriptMessageHandler onResize;
   final VoidCallback onPageFinished;
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart
index 16411b8..8cd2079 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart
@@ -1098,10 +1098,10 @@
 
 class ResizableWebView extends StatefulWidget {
   const ResizableWebView({
-    Key? key,
+    super.key,
     required this.onResize,
     required this.onPageFinished,
-  }) : super(key: key);
+  });
 
   final VoidCallback onResize;
   final VoidCallback onPageFinished;
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/lib/legacy/web_view.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/lib/legacy/web_view.dart
index d99b309..8f4d391 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/example/lib/legacy/web_view.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/example/lib/legacy/web_view.dart
@@ -54,7 +54,7 @@
   ///
   /// The `javascriptMode` and `autoMediaPlaybackPolicy` parameters must not be null.
   const WebView({
-    Key? key,
+    super.key,
     this.onWebViewCreated,
     this.initialUrl,
     this.initialCookies = const <WebViewCookie>[],
@@ -76,8 +76,7 @@
     this.backgroundColor,
   })  : assert(javascriptMode != null),
         assert(initialMediaPlaybackPolicy != null),
-        assert(allowsInlineMediaPlayback != null),
-        super(key: key);
+        assert(allowsInlineMediaPlayback != null);
 
   /// The WebView platform that's used by this WebView.
   static final WebViewPlatform platform = CupertinoWebView();
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/lib/main.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/lib/main.dart
index aef7ece..6489475 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/example/lib/main.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/example/lib/main.dart
@@ -75,7 +75,7 @@
 ''';
 
 class WebViewExample extends StatefulWidget {
-  const WebViewExample({Key? key, this.cookieManager}) : super(key: key);
+  const WebViewExample({super.key, this.cookieManager});
 
   final PlatformWebViewCookieManager? cookieManager;
 
@@ -194,14 +194,13 @@
 
 class SampleMenu extends StatelessWidget {
   SampleMenu({
-    Key? key,
+    super.key,
     required this.webViewController,
     PlatformWebViewCookieManager? cookieManager,
-  })  : cookieManager = cookieManager ??
+  }) : cookieManager = cookieManager ??
             PlatformWebViewCookieManager(
               const PlatformWebViewCookieManagerCreationParams(),
-            ),
-        super(key: key);
+            );
 
   final PlatformWebViewController webViewController;
   late final PlatformWebViewCookieManager cookieManager;
@@ -458,8 +457,7 @@
 }
 
 class NavigationControls extends StatelessWidget {
-  const NavigationControls({Key? key, required this.webViewController})
-      : super(key: key);
+  const NavigationControls({super.key, required this.webViewController});
 
   final PlatformWebViewController webViewController;
 
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/pubspec.yaml b/packages/webview_flutter/webview_flutter_wkwebview/example/pubspec.yaml
index 718eb28..3876c61 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/example/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_wkwebview/example/pubspec.yaml
@@ -3,7 +3,7 @@
 publish_to: none
 
 environment:
-  sdk: ">=2.12.0 <3.0.0"
+  sdk: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"
 
 dependencies:
diff --git a/script/tool/lib/src/common/core.dart b/script/tool/lib/src/common/core.dart
index f0c5b4f..3fcbd10 100644
--- a/script/tool/lib/src/common/core.dart
+++ b/script/tool/lib/src/common/core.dart
@@ -4,6 +4,7 @@
 
 import 'package:colorize/colorize.dart';
 import 'package:file/file.dart';
+import 'package:pub_semver/pub_semver.dart';
 
 /// The signature for a print handler for commands that allow overriding the
 /// print destination.
@@ -34,6 +35,20 @@
 // ignore: public_member_api_docs
 enum FlutterPlatform { android, ios, linux, macos, web, windows }
 
+// Flutter->Dart SDK version mapping. Any time a command fails to look up a
+// corresponding version, this map should be updated.
+final Map<Version, Version> _dartSdkForFlutterSdk = <Version, Version>{
+  Version(3, 0, 0): Version(2, 17, 0),
+  Version(3, 0, 5): Version(2, 17, 6),
+  Version(3, 3, 0): Version(2, 18, 0),
+  Version(3, 7, 0): Version(2, 19, 0),
+};
+
+/// Returns the version of the Dart SDK that shipped with the given Flutter
+/// SDK.
+Version? getDartSdkForFlutterSdk(Version flutterVersion) =>
+    _dartSdkForFlutterSdk[flutterVersion];
+
 /// Returns whether the given directory is a Dart package.
 bool isPackage(FileSystemEntity entity) {
   if (entity is! Directory) {
diff --git a/script/tool/lib/src/main.dart b/script/tool/lib/src/main.dart
index 0083e0c..25e2655 100644
--- a/script/tool/lib/src/main.dart
+++ b/script/tool/lib/src/main.dart
@@ -29,9 +29,10 @@
 import 'publish_command.dart';
 import 'pubspec_check_command.dart';
 import 'readme_check_command.dart';
-import 'remove_dev_dependencies.dart';
+import 'remove_dev_dependencies_command.dart';
 import 'test_command.dart';
 import 'update_excerpts_command.dart';
+import 'update_min_sdk_command.dart';
 import 'update_release_info_command.dart';
 import 'version_check_command.dart';
 import 'xcode_analyze_command.dart';
@@ -77,6 +78,7 @@
     ..addCommand(RemoveDevDependenciesCommand(packagesDir))
     ..addCommand(TestCommand(packagesDir))
     ..addCommand(UpdateExcerptsCommand(packagesDir))
+    ..addCommand(UpdateMinSdkCommand(packagesDir))
     ..addCommand(UpdateReleaseInfoCommand(packagesDir))
     ..addCommand(VersionCheckCommand(packagesDir))
     ..addCommand(XcodeAnalyzeCommand(packagesDir));
diff --git a/script/tool/lib/src/pubspec_check_command.dart b/script/tool/lib/src/pubspec_check_command.dart
index f0f80f9..5033ed4 100644
--- a/script/tool/lib/src/pubspec_check_command.dart
+++ b/script/tool/lib/src/pubspec_check_command.dart
@@ -32,20 +32,12 @@
           gitDir: gitDir,
         ) {
     argParser.addOption(
-      _minMinDartVersionFlag,
-      help:
-          'The minimum Dart version to allow as the minimum SDK constraint.\n\n'
-          'This is only enforced for non-Flutter packages; Flutter packages '
-          'use --$_minMinFlutterVersionFlag',
-    );
-    argParser.addOption(
       _minMinFlutterVersionFlag,
       help:
           'The minimum Flutter version to allow as the minimum SDK constraint.',
     );
   }
 
-  static const String _minMinDartVersionFlag = 'min-min-dart-version';
   static const String _minMinFlutterVersionFlag = 'min-min-flutter-version';
 
   // Section order for plugins. Because the 'flutter' section is critical
@@ -117,15 +109,11 @@
       printError('$listIndentation${sectionOrder.join('\n$listIndentation')}');
     }
 
-    final String minMinDartVersionString = getStringArg(_minMinDartVersionFlag);
     final String minMinFlutterVersionString =
         getStringArg(_minMinFlutterVersionFlag);
     final String? minVersionError = _checkForMinimumVersionError(
       pubspec,
       package,
-      minMinDartVersion: minMinDartVersionString.isEmpty
-          ? null
-          : Version.parse(minMinDartVersionString),
       minMinFlutterVersion: minMinFlutterVersionString.isEmpty
           ? null
           : Version.parse(minMinFlutterVersionString),
@@ -368,33 +356,74 @@
   String? _checkForMinimumVersionError(
     Pubspec pubspec,
     RepositoryPackage package, {
-    Version? minMinDartVersion,
     Version? minMinFlutterVersion,
   }) {
-    final VersionConstraint? dartConstraint = pubspec.environment?['sdk'];
-    final VersionConstraint? flutterConstraint =
-        pubspec.environment?['flutter'];
+    String unknownDartVersionError(Version flutterVersion) {
+      return 'Dart SDK version for Fluter SDK version '
+          '$flutterVersion is unknown. '
+          'Please update the map for getDartSdkForFlutterSdk with the '
+          'corresponding Dart version.';
+    }
 
-    if (flutterConstraint != null) {
-      // Validate Flutter packages against the Flutter requirement.
-      if (minMinFlutterVersion != null) {
-        final Version? constraintMin =
-            flutterConstraint is VersionRange ? flutterConstraint.min : null;
-        if ((constraintMin ?? Version(0, 0, 0)) < minMinFlutterVersion) {
-          return 'Minimum allowed Flutter version $constraintMin is less than $minMinFlutterVersion';
+    Version? minMinDartVersion;
+    if (minMinFlutterVersion != null) {
+      minMinDartVersion = getDartSdkForFlutterSdk(minMinFlutterVersion);
+      if (minMinDartVersion == null) {
+        return unknownDartVersionError(minMinFlutterVersion);
+      }
+    }
+
+    final Version? dartConstraintMin =
+        _minimumForConstraint(pubspec.environment?['sdk']);
+    final Version? flutterConstraintMin =
+        _minimumForConstraint(pubspec.environment?['flutter']);
+
+    // Validate the Flutter constraint, if any.
+    if (flutterConstraintMin != null && minMinFlutterVersion != null) {
+      if (flutterConstraintMin < minMinFlutterVersion) {
+        return 'Minimum allowed Flutter version $flutterConstraintMin is less '
+            'than $minMinFlutterVersion';
+      }
+    }
+
+    // Validate the Dart constraint, if any.
+    if (dartConstraintMin != null) {
+      // Ensure that it satisfies the minimum.
+      if (minMinDartVersion != null) {
+        if (dartConstraintMin < minMinDartVersion) {
+          return 'Minimum allowed Dart version $dartConstraintMin is less than $minMinDartVersion';
         }
       }
-    } else {
-      // Validate non-Flutter packages against the Dart requirement.
-      if (minMinDartVersion != null) {
-        final Version? constraintMin =
-            dartConstraint is VersionRange ? dartConstraint.min : null;
-        if ((constraintMin ?? Version(0, 0, 0)) < minMinDartVersion) {
-          return 'Minimum allowed Dart version $constraintMin is less than $minMinDartVersion';
+
+      // Ensure that if there is also a Flutter constraint, they are consistent.
+      if (flutterConstraintMin != null) {
+        final Version? dartVersionForFlutterMinimum =
+            getDartSdkForFlutterSdk(flutterConstraintMin);
+        if (dartVersionForFlutterMinimum == null) {
+          return unknownDartVersionError(flutterConstraintMin);
+        }
+        if (dartVersionForFlutterMinimum != dartConstraintMin) {
+          return 'The minimum Dart version is $dartConstraintMin, but the '
+              'minimum Flutter version of $flutterConstraintMin shipped with '
+              'Dart $dartVersionForFlutterMinimum. Please use consistent lower '
+              'SDK bounds';
         }
       }
     }
 
     return null;
   }
+
+  /// Returns the minumum version allowed by [constraint], or null if the
+  /// constraint is null.
+  Version? _minimumForConstraint(VersionConstraint? constraint) {
+    if (constraint == null) {
+      return null;
+    }
+    Version? result;
+    if (constraint is VersionRange) {
+      result = constraint.min;
+    }
+    return result ?? Version.none;
+  }
 }
diff --git a/script/tool/lib/src/remove_dev_dependencies.dart b/script/tool/lib/src/remove_dev_dependencies_command.dart
similarity index 100%
rename from script/tool/lib/src/remove_dev_dependencies.dart
rename to script/tool/lib/src/remove_dev_dependencies_command.dart
diff --git a/script/tool/lib/src/update_min_sdk_command.dart b/script/tool/lib/src/update_min_sdk_command.dart
new file mode 100644
index 0000000..0d01e84
--- /dev/null
+++ b/script/tool/lib/src/update_min_sdk_command.dart
@@ -0,0 +1,101 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:file/file.dart';
+import 'package:pub_semver/pub_semver.dart';
+import 'package:yaml_edit/yaml_edit.dart';
+
+import 'common/core.dart';
+import 'common/package_looping_command.dart';
+import 'common/repository_package.dart';
+
+const int _exitUnknownVersion = 3;
+
+/// A command to update the minimum Flutter and Dart SDKs of packages.
+class UpdateMinSdkCommand extends PackageLoopingCommand {
+  /// Creates a publish metadata updater command instance.
+  UpdateMinSdkCommand(Directory packagesDir) : super(packagesDir) {
+    argParser.addOption(_flutterMinFlag,
+        mandatory: true,
+        help: 'The minimum version of Flutter to set SDK constraints to.');
+  }
+
+  static const String _flutterMinFlag = 'flutter-min';
+
+  late final Version _flutterMinVersion;
+  late final Version _dartMinVersion;
+
+  @override
+  final String name = 'update-min-sdk';
+
+  @override
+  final String description = 'Updates the Flutter and Dart SDK minimums '
+      'in pubspec.yaml to match the given Flutter version.';
+
+  @override
+  final PackageLoopingType packageLoopingType =
+      PackageLoopingType.includeAllSubpackages;
+
+  @override
+  bool get hasLongOutput => false;
+
+  @override
+  Future<void> initializeRun() async {
+    _flutterMinVersion = Version.parse(getStringArg(_flutterMinFlag));
+    final Version? dartMinVersion = getDartSdkForFlutterSdk(_flutterMinVersion);
+    if (dartMinVersion == null) {
+      printError('Dart SDK version for Fluter SDK version '
+          '$_flutterMinVersion is unknown. '
+          'Please update the map for getDartSdkForFlutterSdk with the '
+          'corresponding Dart version.');
+      throw ToolExit(_exitUnknownVersion);
+    }
+    _dartMinVersion = dartMinVersion;
+  }
+
+  @override
+  Future<PackageResult> runForPackage(RepositoryPackage package) async {
+    final Pubspec pubspec = package.parsePubspec();
+
+    const String environmentKey = 'environment';
+    const String dartSdkKey = 'sdk';
+    const String flutterSdkKey = 'flutter';
+
+    final VersionRange? dartRange = _sdkRange(pubspec, dartSdkKey);
+    final VersionRange? flutterRange = _sdkRange(pubspec, flutterSdkKey);
+
+    final YamlEditor editablePubspec =
+        YamlEditor(package.pubspecFile.readAsStringSync());
+    if (dartRange != null &&
+        (dartRange.min ?? Version.none) < _dartMinVersion) {
+      editablePubspec.update(
+          <String>[environmentKey, dartSdkKey],
+          VersionRange(
+                  min: _dartMinVersion,
+                  includeMin: true,
+                  max: _dartMinVersion.nextMajor)
+              .toString());
+      print('${indentation}Updating Dart minimum to $_dartMinVersion');
+    }
+    if (flutterRange != null &&
+        (flutterRange.min ?? Version.none) < _flutterMinVersion) {
+      editablePubspec.update(<String>[environmentKey, flutterSdkKey],
+          VersionRange(min: _flutterMinVersion, includeMin: true).toString());
+      print('${indentation}Updating Flutter minimum to $_flutterMinVersion');
+    }
+    package.pubspecFile.writeAsStringSync(editablePubspec.toString());
+
+    return PackageResult.success();
+  }
+
+  /// Returns the given "environment" section's [key] constraint as a range,
+  /// if the key is present and has a range.
+  VersionRange? _sdkRange(Pubspec pubspec, String key) {
+    final VersionConstraint? constraint = pubspec.environment?[key];
+    if (constraint is VersionRange) {
+      return constraint;
+    }
+    return null;
+  }
+}
diff --git a/script/tool/test/pubspec_check_command_test.dart b/script/tool/test/pubspec_check_command_test.dart
index 69a75c7..c6c7b8b 100644
--- a/script/tool/test/pubspec_check_command_test.dart
+++ b/script/tool/test/pubspec_check_command_test.dart
@@ -58,8 +58,8 @@
 }
 
 String _environmentSection({
-  String dartConstraint = '>=2.12.0 <3.0.0',
-  String? flutterConstraint = '>=2.0.0',
+  String dartConstraint = '>=2.17.0 <3.0.0',
+  String? flutterConstraint = '>=3.0.0',
 }) {
   return <String>[
     'environment:',
@@ -995,12 +995,12 @@
 
       package.pubspecFile.writeAsStringSync('''
 ${_headerSection('a_package')}
-${_environmentSection(flutterConstraint: '>=3.0.0')}
+${_environmentSection(flutterConstraint: '>=3.3.0', dartConstraint: '>=2.18.0 <3.0.0')}
 ${_dependenciesSection()}
 ''');
 
       final List<String> output = await runCapturingPrint(runner,
-          <String>['pubspec-check', '--min-min-flutter-version', '3.0.0']);
+          <String>['pubspec-check', '--min-min-flutter-version', '3.3.0']);
 
       expect(
         output,
@@ -1020,12 +1020,12 @@
 
       package.pubspecFile.writeAsStringSync('''
 ${_headerSection('a_package')}
-${_environmentSection(flutterConstraint: '>=3.3.0')}
+${_environmentSection(flutterConstraint: '>=3.7.0', dartConstraint: '>=2.19.0 <3.0.0')}
 ${_dependenciesSection()}
 ''');
 
       final List<String> output = await runCapturingPrint(runner,
-          <String>['pubspec-check', '--min-min-flutter-version', '3.0.0']);
+          <String>['pubspec-check', '--min-min-flutter-version', '3.3.0']);
 
       expect(
         output,
@@ -1048,9 +1048,11 @@
 ''');
 
       Error? commandError;
-      final List<String> output = await runCapturingPrint(
-          runner, <String>['pubspec-check', '--min-min-dart-version', '2.17.0'],
-          errorHandler: (Error e) {
+      final List<String> output = await runCapturingPrint(runner, <String>[
+        'pubspec-check',
+        '--min-min-flutter-version',
+        '3.0.0'
+      ], errorHandler: (Error e) {
         commandError = e;
       });
 
@@ -1072,12 +1074,12 @@
 
       package.pubspecFile.writeAsStringSync('''
 ${_headerSection('a_package')}
-${_environmentSection(dartConstraint: '>=2.17.0 <3.0.0', flutterConstraint: null)}
+${_environmentSection(dartConstraint: '>=2.18.0 <3.0.0', flutterConstraint: null)}
 ${_dependenciesSection()}
 ''');
 
       final List<String> output = await runCapturingPrint(runner,
-          <String>['pubspec-check', '--min-min-dart-version', '2.17.0']);
+          <String>['pubspec-check', '--min-min-flutter-version', '3.3.0']);
 
       expect(
         output,
@@ -1102,7 +1104,7 @@
 ''');
 
       final List<String> output = await runCapturingPrint(runner,
-          <String>['pubspec-check', '--min-min-dart-version', '2.17.0']);
+          <String>['pubspec-check', '--min-min-flutter-version', '3.0.0']);
 
       expect(
         output,
@@ -1112,6 +1114,66 @@
         ]),
       );
     });
+
+    test('fails when a Flutter->Dart SDK version mapping is missing', () async {
+      final RepositoryPackage package =
+          createFakePackage('a_package', packagesDir, examples: <String>[]);
+
+      package.pubspecFile.writeAsStringSync('''
+${_headerSection('a_package')}
+${_environmentSection()}
+${_dependenciesSection()}
+''');
+
+      Error? commandError;
+      final List<String> output = await runCapturingPrint(runner, <String>[
+        'pubspec-check',
+        '--min-min-flutter-version',
+        '2.0.0'
+      ], errorHandler: (Error e) {
+        commandError = e;
+      });
+
+      expect(commandError, isA<ToolExit>());
+      expect(
+        output,
+        containsAllInOrder(<Matcher>[
+          contains('Dart SDK version for Fluter SDK version 2.0.0 is unknown'),
+        ]),
+      );
+    });
+
+    test(
+        'fails when a Flutter package has a too-low minimum Dart version for '
+        'the corresponding minimum Flutter version', () async {
+      final RepositoryPackage package = createFakePackage(
+          'a_package', packagesDir,
+          isFlutter: true, examples: <String>[]);
+
+      package.pubspecFile.writeAsStringSync('''
+${_headerSection('a_package')}
+${_environmentSection(flutterConstraint: '>=3.3.0', dartConstraint: '>=2.16.0 <3.0.0')}
+${_dependenciesSection()}
+''');
+
+      Error? commandError;
+      final List<String> output = await runCapturingPrint(runner, <String>[
+        'pubspec-check',
+      ], errorHandler: (Error e) {
+        commandError = e;
+      });
+
+      expect(commandError, isA<ToolExit>());
+      expect(
+        output,
+        containsAllInOrder(<Matcher>[
+          contains('The minimum Dart version is 2.16.0, but the '
+              'minimum Flutter version of 3.3.0 shipped with '
+              'Dart 2.18.0. Please use consistent lower SDK '
+              'bounds'),
+        ]),
+      );
+    });
   });
 
   group('test pubspec_check_command on Windows', () {
diff --git a/script/tool/test/remove_dev_dependencies_test.dart b/script/tool/test/remove_dev_dependencies_command_test.dart
similarity index 99%
rename from script/tool/test/remove_dev_dependencies_test.dart
rename to script/tool/test/remove_dev_dependencies_command_test.dart
index 776cbf1..e453ff6 100644
--- a/script/tool/test/remove_dev_dependencies_test.dart
+++ b/script/tool/test/remove_dev_dependencies_command_test.dart
@@ -5,7 +5,7 @@
 import 'package:args/command_runner.dart';
 import 'package:file/file.dart';
 import 'package:file/memory.dart';
-import 'package:flutter_plugin_tools/src/remove_dev_dependencies.dart';
+import 'package:flutter_plugin_tools/src/remove_dev_dependencies_command.dart';
 import 'package:test/test.dart';
 
 import 'util.dart';
diff --git a/script/tool/test/update_min_sdk_command_test.dart b/script/tool/test/update_min_sdk_command_test.dart
new file mode 100644
index 0000000..30b82e3
--- /dev/null
+++ b/script/tool/test/update_min_sdk_command_test.dart
@@ -0,0 +1,114 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:args/command_runner.dart';
+import 'package:file/file.dart';
+import 'package:file/memory.dart';
+import 'package:flutter_plugin_tools/src/update_min_sdk_command.dart';
+import 'package:test/test.dart';
+
+import 'util.dart';
+
+void main() {
+  late FileSystem fileSystem;
+  late Directory packagesDir;
+  late CommandRunner<void> runner;
+
+  setUp(() {
+    fileSystem = MemoryFileSystem();
+    packagesDir = createPackagesDirectory(fileSystem: fileSystem);
+
+    final UpdateMinSdkCommand command = UpdateMinSdkCommand(
+      packagesDir,
+    );
+    runner = CommandRunner<void>(
+        'update_min_sdk_command', 'Test for update_min_sdk_command');
+    runner.addCommand(command);
+  });
+
+  test('fails if --flutter-min is missing', () async {
+    Exception? commandError;
+    await runCapturingPrint(runner, <String>[
+      'update-min-sdk',
+    ], exceptionHandler: (Exception e) {
+      commandError = e;
+    });
+
+    expect(commandError, isA<UsageException>());
+  });
+
+  test('updates Dart when only Dart is present', () async {
+    final RepositoryPackage package = createFakePackage(
+        'a_package', packagesDir,
+        dartConstraint: '>=2.12.0 <3.0.0');
+
+    await runCapturingPrint(runner, <String>[
+      'update-min-sdk',
+      '--flutter-min',
+      '3.3.0', // Corresponds to Dart 2.18.0
+    ]);
+
+    final String dartVersion =
+        package.parsePubspec().environment?['sdk'].toString() ?? '';
+    expect(dartVersion, '>=2.18.0 <3.0.0');
+  });
+
+  test('does not update Dart if it is already higher', () async {
+    final RepositoryPackage package = createFakePackage(
+        'a_package', packagesDir,
+        dartConstraint: '>=2.19.0 <3.0.0');
+
+    await runCapturingPrint(runner, <String>[
+      'update-min-sdk',
+      '--flutter-min',
+      '3.3.0', // Corresponds to Dart 2.18.0
+    ]);
+
+    final String dartVersion =
+        package.parsePubspec().environment?['sdk'].toString() ?? '';
+    expect(dartVersion, '>=2.19.0 <3.0.0');
+  });
+
+  test('updates both Dart and Flutter when both are present', () async {
+    final RepositoryPackage package = createFakePackage(
+        'a_package', packagesDir,
+        isFlutter: true,
+        dartConstraint: '>=2.12.0 <3.0.0',
+        flutterConstraint: '>=2.10.0');
+
+    await runCapturingPrint(runner, <String>[
+      'update-min-sdk',
+      '--flutter-min',
+      '3.3.0', // Corresponds to Dart 2.18.0
+    ]);
+
+    final String dartVersion =
+        package.parsePubspec().environment?['sdk'].toString() ?? '';
+    final String flutterVersion =
+        package.parsePubspec().environment?['flutter'].toString() ?? '';
+    expect(dartVersion, '>=2.18.0 <3.0.0');
+    expect(flutterVersion, '>=3.3.0');
+  });
+
+  test('does not update Flutter if it is already higher', () async {
+    final RepositoryPackage package = createFakePackage(
+        'a_package', packagesDir,
+        isFlutter: true,
+        dartConstraint: '>=2.19.0 <3.0.0',
+        flutterConstraint: '>=3.7.0');
+
+    await runCapturingPrint(runner, <String>[
+      'update-min-sdk',
+      '--flutter-min',
+      '3.3.0', // Corresponds to Dart 2.18.0
+    ]);
+
+    final String dartVersion =
+        package.parsePubspec().environment?['sdk'].toString() ?? '';
+    final String flutterVersion =
+        package.parsePubspec().environment?['flutter'].toString() ?? '';
+    expect(dartVersion, '>=2.19.0 <3.0.0');
+    expect(flutterVersion, '>=3.7.0');
+  });
+}
diff --git a/third_party/packages/cupertino_icons/CHANGELOG.md b/third_party/packages/cupertino_icons/CHANGELOG.md
index 3515eb3..982384b 100644
--- a/third_party/packages/cupertino_icons/CHANGELOG.md
+++ b/third_party/packages/cupertino_icons/CHANGELOG.md
@@ -1,5 +1,7 @@
 ## NEXT
 
+* Aligns Dart and Flutter SDK constraints.
+* Aligns Dart and Flutter SDK constraints.
 * Updates minimum SDK version to Flutter 3.0.
 
 ## 1.0.5