[ci] Improve analysis_options alignment with flutter/packages (#6728)

* Add more options that are in flutter/packages

* Fix unnecessary awaits

* More option alignment

* Add and locally supress avoid_implementing_value_types

* Fix release-info for test-only changes

* Fix update-release-info handling of 'minimal'

* Update release metadata
diff --git a/analysis_options.yaml b/analysis_options.yaml
index b12af6c..c4fe482 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -75,7 +75,7 @@
     - avoid_field_initializers_in_const_classes
     # - avoid_final_parameters # incompatible with prefer_final_parameters
     - avoid_function_literals_in_foreach_calls
-    # - avoid_implementing_value_types # LOCAL CHANGE - Needs to be enabled and violations fixed.
+    - avoid_implementing_value_types
     - avoid_init_to_null
     - avoid_js_rounded_ints
     # - avoid_multiple_declarations_per_line # seems to be a stylistic choice we don't subscribe to
@@ -87,7 +87,7 @@
     - avoid_relative_lib_imports
     - avoid_renaming_method_parameters
     - avoid_return_types_on_setters
-    # - avoid_returning_null # still violated by some pre-nnbd code that we haven't yet migrated
+    - avoid_returning_null
     - avoid_returning_null_for_future
     - avoid_returning_null_for_void
     # - avoid_returning_this # there are enough valid reasons to return `this` that this lint ends up with too many false positives
@@ -109,15 +109,17 @@
     # - cascade_invocations # doesn't match the typical style of this repo
     - cast_nullable_to_non_nullable
     # - close_sinks # not reliable enough
+    # - combinators_ordering # DIFFERENT FROM FLUTTER/FLUTTER: This isn't available on stable yet.
     # - comment_references # blocked on https://github.com/dart-lang/linter/issues/1142
-    # - conditional_uri_does_not_exist # not yet tested
+    - conditional_uri_does_not_exist
     # - constant_identifier_names # needs an opt-out https://github.com/dart-lang/linter/issues/204
     - control_flow_in_finally
-    # - curly_braces_in_flow_control_structures # not required by flutter style
+    - curly_braces_in_flow_control_structures
     - depend_on_referenced_packages
     - deprecated_consistency
     # - diagnostic_describe_all_properties # enabled only at the framework level (packages/flutter/lib)
     - directives_ordering
+    # - discarded_futures # not yet tested
     # - do_not_use_environment # there are appropriate times to use the environment, especially in our tests and build logic
     - empty_catches
     - empty_constructor_bodies
@@ -128,7 +130,6 @@
     - flutter_style_todos
     - hash_and_equals
     - implementation_imports
-    # - invariant_booleans # too many false positives: https://github.com/dart-lang/linter/issues/811
     - iterable_contains_unrelated_type
     # - join_return_with_assignment # not required by flutter style
     - leading_newlines_in_multiline_strings
@@ -203,12 +204,12 @@
     - recursive_getters
     # - require_trailing_commas # blocked on https://github.com/dart-lang/sdk/issues/47441
     - secure_pubspec_urls
-    # - sized_box_for_whitespace # LOCAL CHANGE - Needs to be enabled and violations fixed.
+     - sized_box_for_whitespace
     # - sized_box_shrink_expand # not yet tested
     - slash_for_doc_comments
     - sort_child_properties_last
     - sort_constructors_first
-    # - sort_pub_dependencies # prevents separating pinned transitive dependencies
+    - sort_pub_dependencies # DIFFERENT FROM FLUTTER/FLUTTER: Flutter's use case for not sorting does not apply to this repository.
     - sort_unnamed_constructors_first
     - test_types_in_equals
     - throw_in_finally
@@ -216,7 +217,7 @@
     # - type_annotate_public_apis # subset of always_specify_types
     - type_init_formals
     # - unawaited_futures # too many false positives, especially with the way AnimationController works
-    # - unnecessary_await_in_return # LOCAL CHANGE - Needs to be enabled and violations fixed.
+    - unnecessary_await_in_return
     - unnecessary_brace_in_string_interps
     - unnecessary_const
     - unnecessary_constructor_name
@@ -226,6 +227,7 @@
     - unnecessary_late
     - unnecessary_new
     - unnecessary_null_aware_assignments
+    - unnecessary_null_aware_operator_on_extension_on_nullable
     - unnecessary_null_checks
     - unnecessary_null_in_if_null_operators
     - unnecessary_nullable_for_final_variable_declarations
@@ -236,6 +238,7 @@
     - unnecessary_string_escapes
     - unnecessary_string_interpolations
     - unnecessary_this
+    - unnecessary_to_list_in_spreads
     - unrelated_type_equality_checks
     - unsafe_html
     # - use_build_context_synchronously # LOCAL CHANGE - Needs to be enabled and violations fixed.
@@ -263,6 +266,3 @@
     # separately when moving to a shared file.
     - no_runtimeType_toString # use objectRuntimeType from package:foundation
     - public_member_api_docs # see https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#documentation-dartdocs-javadocs-etc
-    # Flutter has a specific use case for dependencies that are intentionally
-    # not sorted, which doesn't apply to this repo.
-    - sort_pub_dependencies
diff --git a/packages/camera/camera_web/example/integration_test/camera_web_test.dart b/packages/camera/camera_web/example/integration_test/camera_web_test.dart
index e3f1138..8aefea6 100644
--- a/packages/camera/camera_web/example/integration_test/camera_web_test.dart
+++ b/packages/camera/camera_web/example/integration_test/camera_web_test.dart
@@ -1664,7 +1664,7 @@
             'with notFound error '
             'if the camera does not exist', (WidgetTester tester) async {
           expect(
-            () async => await CameraPlatform.instance.getMaxZoomLevel(
+            () async => CameraPlatform.instance.getMaxZoomLevel(
               cameraId,
             ),
             throwsA(
@@ -1689,7 +1689,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.getMaxZoomLevel(
+            () async => CameraPlatform.instance.getMaxZoomLevel(
               cameraId,
             ),
             throwsA(
@@ -1717,7 +1717,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.getMaxZoomLevel(
+            () async => CameraPlatform.instance.getMaxZoomLevel(
               cameraId,
             ),
             throwsA(
@@ -1758,7 +1758,7 @@
             'with notFound error '
             'if the camera does not exist', (WidgetTester tester) async {
           expect(
-            () async => await CameraPlatform.instance.getMinZoomLevel(
+            () async => CameraPlatform.instance.getMinZoomLevel(
               cameraId,
             ),
             throwsA(
@@ -1783,7 +1783,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.getMinZoomLevel(
+            () async => CameraPlatform.instance.getMinZoomLevel(
               cameraId,
             ),
             throwsA(
@@ -1811,7 +1811,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.getMinZoomLevel(
+            () async => CameraPlatform.instance.getMinZoomLevel(
               cameraId,
             ),
             throwsA(
@@ -1846,7 +1846,7 @@
             'with notFound error '
             'if the camera does not exist', (WidgetTester tester) async {
           expect(
-            () async => await CameraPlatform.instance.setZoomLevel(
+            () async => CameraPlatform.instance.setZoomLevel(
               cameraId,
               100.0,
             ),
@@ -1872,7 +1872,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.setZoomLevel(
+            () async => CameraPlatform.instance.setZoomLevel(
               cameraId,
               100.0,
             ),
@@ -1900,7 +1900,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.setZoomLevel(
+            () async => CameraPlatform.instance.setZoomLevel(
               cameraId,
               100.0,
             ),
@@ -1929,7 +1929,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.setZoomLevel(
+            () async => CameraPlatform.instance.setZoomLevel(
               cameraId,
               100.0,
             ),
@@ -1962,7 +1962,7 @@
             'with notFound error '
             'if the camera does not exist', (WidgetTester tester) async {
           expect(
-            () async => await CameraPlatform.instance.pausePreview(cameraId),
+            () async => CameraPlatform.instance.pausePreview(cameraId),
             throwsA(
               isA<PlatformException>().having(
                 (PlatformException e) => e.code,
@@ -1985,7 +1985,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.pausePreview(cameraId),
+            () async => CameraPlatform.instance.pausePreview(cameraId),
             throwsA(
               isA<PlatformException>().having(
                 (PlatformException e) => e.code,
@@ -2017,7 +2017,7 @@
             'with notFound error '
             'if the camera does not exist', (WidgetTester tester) async {
           expect(
-            () async => await CameraPlatform.instance.resumePreview(cameraId),
+            () async => CameraPlatform.instance.resumePreview(cameraId),
             throwsA(
               isA<PlatformException>().having(
                 (PlatformException e) => e.code,
@@ -2040,7 +2040,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.resumePreview(cameraId),
+            () async => CameraPlatform.instance.resumePreview(cameraId),
             throwsA(
               isA<PlatformException>().having(
                 (PlatformException e) => e.code,
@@ -2066,7 +2066,7 @@
           (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera;
 
           expect(
-            () async => await CameraPlatform.instance.resumePreview(cameraId),
+            () async => CameraPlatform.instance.resumePreview(cameraId),
             throwsA(
               isA<PlatformException>().having(
                 (PlatformException e) => e.code,
@@ -2523,7 +2523,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async => await CameraPlatform.instance.takePicture(cameraId),
+            () async => CameraPlatform.instance.takePicture(cameraId),
             throwsA(
               isA<PlatformException>(),
             ),
@@ -2560,7 +2560,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async => await CameraPlatform.instance.setFlashMode(
+            () async => CameraPlatform.instance.setFlashMode(
               cameraId,
               FlashMode.always,
             ),
@@ -2600,7 +2600,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async => await CameraPlatform.instance.getMaxZoomLevel(
+            () async => CameraPlatform.instance.getMaxZoomLevel(
               cameraId,
             ),
             throwsA(
@@ -2639,7 +2639,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async => await CameraPlatform.instance.getMinZoomLevel(
+            () async => CameraPlatform.instance.getMinZoomLevel(
               cameraId,
             ),
             throwsA(
@@ -2678,7 +2678,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async => await CameraPlatform.instance.setZoomLevel(
+            () async => CameraPlatform.instance.setZoomLevel(
               cameraId,
               100.0,
             ),
@@ -2718,7 +2718,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async => await CameraPlatform.instance.resumePreview(cameraId),
+            () async => CameraPlatform.instance.resumePreview(cameraId),
             throwsA(
               isA<PlatformException>(),
             ),
@@ -2762,8 +2762,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async =>
-                await CameraPlatform.instance.startVideoRecording(cameraId),
+            () async => CameraPlatform.instance.startVideoRecording(cameraId),
             throwsA(
               isA<PlatformException>(),
             ),
@@ -2830,8 +2829,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async =>
-                await CameraPlatform.instance.stopVideoRecording(cameraId),
+            () async => CameraPlatform.instance.stopVideoRecording(cameraId),
             throwsA(
               isA<PlatformException>(),
             ),
@@ -2868,8 +2866,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async =>
-                await CameraPlatform.instance.pauseVideoRecording(cameraId),
+            () async => CameraPlatform.instance.pauseVideoRecording(cameraId),
             throwsA(
               isA<PlatformException>(),
             ),
@@ -2906,8 +2903,7 @@
               StreamQueue<CameraErrorEvent>(eventStream);
 
           expect(
-            () async =>
-                await CameraPlatform.instance.resumeVideoRecording(cameraId),
+            () async => CameraPlatform.instance.resumeVideoRecording(cameraId),
             throwsA(
               isA<PlatformException>(),
             ),
diff --git a/packages/camera/camera_web/example/integration_test/helpers/mocks.dart b/packages/camera/camera_web/example/integration_test/helpers/mocks.dart
index 521c4bf..855ef2b 100644
--- a/packages/camera/camera_web/example/integration_test/helpers/mocks.dart
+++ b/packages/camera/camera_web/example/integration_test/helpers/mocks.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: avoid_implementing_value_types
+
 import 'dart:async';
 import 'dart:html';
 import 'dart:ui';
diff --git a/packages/camera/camera_windows/example/integration_test/camera_test.dart b/packages/camera/camera_windows/example/integration_test/camera_test.dart
index cda0f40..01db9e2 100644
--- a/packages/camera/camera_windows/example/integration_test/camera_test.dart
+++ b/packages/camera/camera_windows/example/integration_test/camera_test.dart
@@ -23,7 +23,7 @@
         (WidgetTester _) async {
       final CameraPlatform camera = CameraPlatform.instance;
 
-      expect(() async => await camera.initializeCamera(1234),
+      expect(() async => camera.initializeCamera(1234),
           throwsA(isA<CameraException>()));
     });
   });
@@ -33,7 +33,7 @@
         (WidgetTester _) async {
       final CameraPlatform camera = CameraPlatform.instance;
 
-      expect(() async => await camera.takePicture(1234),
+      expect(() async => camera.takePicture(1234),
           throwsA(isA<PlatformException>()));
     });
   });
@@ -43,7 +43,7 @@
         (WidgetTester _) async {
       final CameraPlatform camera = CameraPlatform.instance;
 
-      expect(() async => await camera.startVideoRecording(1234),
+      expect(() async => camera.startVideoRecording(1234),
           throwsA(isA<PlatformException>()));
     });
   });
@@ -53,7 +53,7 @@
         (WidgetTester _) async {
       final CameraPlatform camera = CameraPlatform.instance;
 
-      expect(() async => await camera.stopVideoRecording(1234),
+      expect(() async => camera.stopVideoRecording(1234),
           throwsA(isA<PlatformException>()));
     });
   });
@@ -63,7 +63,7 @@
         (WidgetTester _) async {
       final CameraPlatform camera = CameraPlatform.instance;
 
-      expect(() async => await camera.pausePreview(1234),
+      expect(() async => camera.pausePreview(1234),
           throwsA(isA<PlatformException>()));
     });
   });
@@ -73,7 +73,7 @@
         (WidgetTester _) async {
       final CameraPlatform camera = CameraPlatform.instance;
 
-      expect(() async => await camera.resumePreview(1234),
+      expect(() async => camera.resumePreview(1234),
           throwsA(isA<PlatformException>()));
     });
   });
diff --git a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md
index 3707aa8..4d01646 100644
--- a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md
+++ b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Updates code for new analysis options.
 * Updates code for `no_leading_underscores_for_local_identifiers` lint.
 
 ## 2.2.1
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 3f56f40..0a3146c 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
@@ -240,7 +240,7 @@
   }
 
   Future<String> _getFileData(String path) async {
-    return await rootBundle.loadString(path);
+    return rootBundle.loadString(path);
   }
 
   void _setMapStyle(String mapStyle) {
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 fa49917..8fde950 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
@@ -285,7 +285,7 @@
       bitmapIcon.complete(bitmap);
     }));
 
-    return await bitmapIcon.future;
+    return bitmapIcon.future;
   }
 
   @override
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 9bc8b19..012a508 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
+
+* Updates code for new analysis options.
+
 ## 2.3.3
 
 * Update android gradle plugin to 7.3.1.
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 009ee71..546cf1d 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
@@ -241,7 +241,7 @@
   }
 
   Future<String> _getFileData(String path) async {
-    return await rootBundle.loadString(path);
+    return rootBundle.loadString(path);
   }
 
   void _setMapStyle(String mapStyle) {
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 7d12f4c..2c6c725 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
@@ -286,7 +286,7 @@
       bitmapIcon.complete(bitmap);
     }));
 
-    return await bitmapIcon.future;
+    return bitmapIcon.future;
   }
 
   @override
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 7788e91..81b9c8f 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
+
+* Updates code for new analysis options.
+
 ## 2.1.12
 
 * Updates imports for `prefer_relative_imports`.
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 009ee71..546cf1d 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
@@ -241,7 +241,7 @@
   }
 
   Future<String> _getFileData(String path) async {
-    return await rootBundle.loadString(path);
+    return rootBundle.loadString(path);
   }
 
   void _setMapStyle(String mapStyle) {
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 7d12f4c..2c6c725 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
@@ -286,7 +286,7 @@
       bitmapIcon.complete(bitmap);
     }));
 
-    return await bitmapIcon.future;
+    return bitmapIcon.future;
   }
 
   @override
diff --git a/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart b/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart
index b8a596b..2296f2d 100644
--- a/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart
+++ b/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart
@@ -13,7 +13,7 @@
 import 'google_sign_in_test.mocks.dart';
 
 /// Verify that [GoogleSignInAccount] can be mocked even though it's unused
-// ignore: must_be_immutable
+// ignore: avoid_implementing_value_types, must_be_immutable
 class MockGoogleSignInAccount extends Mock implements GoogleSignInAccount {}
 
 @GenerateMocks(<Type>[GoogleSignInPlatform])
diff --git a/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart b/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart
index c3df2d8..3b27c08 100644
--- a/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart
+++ b/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart
@@ -53,7 +53,7 @@
 
       test('pickImage throws UnimplementedError when source is camera',
           () async {
-        expect(() async => await plugin.pickImage(source: ImageSource.camera),
+        expect(() async => plugin.pickImage(source: ImageSource.camera),
             throwsA(isA<UnimplementedError>()));
       });
 
@@ -71,7 +71,7 @@
 
       test('getImage throws UnimplementedError when source is camera',
           () async {
-        expect(() async => await plugin.getImage(source: ImageSource.camera),
+        expect(() async => plugin.getImage(source: ImageSource.camera),
             throwsA(isA<UnimplementedError>()));
       });
 
@@ -102,7 +102,7 @@
 
       test('pickVideo throws UnimplementedError when source is camera',
           () async {
-        expect(() async => await plugin.pickVideo(source: ImageSource.camera),
+        expect(() async => plugin.pickVideo(source: ImageSource.camera),
             throwsA(isA<UnimplementedError>()));
       });
 
@@ -120,7 +120,7 @@
 
       test('getVideo throws UnimplementedError when source is camera',
           () async {
-        expect(() async => await plugin.getVideo(source: ImageSource.camera),
+        expect(() async => plugin.getVideo(source: ImageSource.camera),
             throwsA(isA<UnimplementedError>()));
       });
     });
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 b595d7e..4aa14a8 100644
--- a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.2.3+7
+
+* Updates code for new analysis options.
+
 ## 0.2.3+6
 
 * Updates android gradle plugin to 7.3.1.
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart
index d73ca8e..c8046d6 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart
@@ -171,7 +171,7 @@
           'completePurchase unsuccessful. The `purchase.verificationData` is not valid');
     }
 
-    return await billingClient
+    return billingClient
         .acknowledgePurchase(purchase.verificationData.serverVerificationData);
   }
 
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 555773a..d70e5df 100644
--- a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: An implementation for the Android platform of the Flutter `in_app_purchase` plugin. This uses the Android BillingClient APIs.
 repository: https://github.com/flutter/plugins/tree/main/packages/in_app_purchase/in_app_purchase_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
-version: 0.2.3+6
+version: 0.2.3+7
 
 environment:
   sdk: ">=2.14.0 <3.0.0"
diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart
index 92d9e8f..d9c9213 100644
--- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart
+++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart
@@ -36,14 +36,14 @@
       channel.setMockMethodCallHandler((MethodCall methodCall) async {
         log.add(methodCall);
         if (methodCall.method == 'getAll') {
-          return await testData.getAll();
+          return testData.getAll();
         }
         if (methodCall.method == 'remove') {
           final String key = methodCall.arguments['key']! as String;
-          return await testData.remove(key);
+          return testData.remove(key);
         }
         if (methodCall.method == 'clear') {
-          return await testData.clear();
+          return testData.clear();
         }
         final RegExp setterRegExp = RegExp(r'set(.*)');
         final Match? match = setterRegExp.matchAsPrefix(methodCall.method);
@@ -51,7 +51,7 @@
           final String valueType = match!.group(1)!;
           final String key = methodCall.arguments['key'] as String;
           final Object value = methodCall.arguments['value'] as Object;
-          return await testData.setValue(valueType, key, value);
+          return testData.setValue(valueType, key, value);
         }
         fail('Unexpected method call: ${methodCall.method}');
       });
diff --git a/packages/shared_preferences/shared_preferences_macos/test/shared_preferences_macos_test.dart b/packages/shared_preferences/shared_preferences_macos/test/shared_preferences_macos_test.dart
index cd858f4..8e71e40 100644
--- a/packages/shared_preferences/shared_preferences_macos/test/shared_preferences_macos_test.dart
+++ b/packages/shared_preferences/shared_preferences_macos/test/shared_preferences_macos_test.dart
@@ -36,14 +36,14 @@
       channel.setMockMethodCallHandler((MethodCall methodCall) async {
         log.add(methodCall);
         if (methodCall.method == 'getAll') {
-          return await testData.getAll();
+          return testData.getAll();
         }
         if (methodCall.method == 'remove') {
           final String key = (methodCall.arguments['key'] as String?)!;
-          return await testData.remove(key);
+          return testData.remove(key);
         }
         if (methodCall.method == 'clear') {
-          return await testData.clear();
+          return testData.clear();
         }
         final RegExp setterRegExp = RegExp(r'set(.*)');
         final Match? match = setterRegExp.matchAsPrefix(methodCall.method);
@@ -51,7 +51,7 @@
           final String valueType = match!.group(1)!;
           final String key = (methodCall.arguments['key'] as String?)!;
           final Object value = (methodCall.arguments['value'] as Object?)!;
-          return await testData.setValue(valueType, key, value);
+          return testData.setValue(valueType, key, value);
         }
         fail('Unexpected method call: ${methodCall.method}');
       });
diff --git a/packages/shared_preferences/shared_preferences_platform_interface/test/method_channel_shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_platform_interface/test/method_channel_shared_preferences_test.dart
index 31ee89e..ed4ecc7 100644
--- a/packages/shared_preferences/shared_preferences_platform_interface/test/method_channel_shared_preferences_test.dart
+++ b/packages/shared_preferences/shared_preferences_platform_interface/test/method_channel_shared_preferences_test.dart
@@ -34,14 +34,14 @@
       channel.setMockMethodCallHandler((MethodCall methodCall) async {
         log.add(methodCall);
         if (methodCall.method == 'getAll') {
-          return await testData.getAll();
+          return testData.getAll();
         }
         if (methodCall.method == 'remove') {
           final String key = (methodCall.arguments['key'] as String?)!;
-          return await testData.remove(key);
+          return testData.remove(key);
         }
         if (methodCall.method == 'clear') {
-          return await testData.clear();
+          return testData.clear();
         }
         final RegExp setterRegExp = RegExp(r'set(.*)');
         final Match? match = setterRegExp.matchAsPrefix(methodCall.method);
@@ -49,7 +49,7 @@
           final String valueType = match!.group(1)!;
           final String key = (methodCall.arguments['key'] as String?)!;
           final Object value = (methodCall.arguments['value'] as Object?)!;
-          return await testData.setValue(valueType, key, value);
+          return testData.setValue(valueType, key, value);
         }
         fail('Unexpected method call: ${methodCall.method}');
       });
diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md
index 18a0289..4b365b8 100644
--- a/packages/url_launcher/url_launcher/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 6.1.7
+
+* Updates code for new analysis options.
+
 ## 6.1.6
 
 * Updates imports for `prefer_relative_imports`.
diff --git a/packages/url_launcher/url_launcher/lib/src/legacy_api.dart b/packages/url_launcher/url_launcher/lib/src/legacy_api.dart
index f6faf3f..5bd5ef6 100644
--- a/packages/url_launcher/url_launcher/lib/src/legacy_api.dart
+++ b/packages/url_launcher/url_launcher/lib/src/legacy_api.dart
@@ -130,7 +130,7 @@
 /// details.
 @Deprecated('Use canLaunchUrl instead')
 Future<bool> canLaunch(String urlString) async {
-  return await UrlLauncherPlatform.instance.canLaunch(urlString);
+  return UrlLauncherPlatform.instance.canLaunch(urlString);
 }
 
 /// Closes the current WebView, if one was previously opened via a call to [launch].
@@ -143,7 +143,7 @@
 /// WebView/SafariViewController available to be closed.
 @Deprecated('Use closeInAppWebView instead')
 Future<void> closeWebView() async {
-  return await UrlLauncherPlatform.instance.closeWebView();
+  return UrlLauncherPlatform.instance.closeWebView();
 }
 
 /// This allows a value of type T or T? to be treated as a value of type T?.
diff --git a/packages/url_launcher/url_launcher/lib/src/url_launcher_string.dart b/packages/url_launcher/url_launcher/lib/src/url_launcher_string.dart
index cf96ebc..45193ff 100644
--- a/packages/url_launcher/url_launcher/lib/src/url_launcher_string.dart
+++ b/packages/url_launcher/url_launcher/lib/src/url_launcher_string.dart
@@ -30,7 +30,7 @@
     throw ArgumentError.value(urlString, 'urlString',
         'To use an in-app web view, you must provide an http(s) URL.');
   }
-  return await UrlLauncherPlatform.instance.launchUrl(
+  return UrlLauncherPlatform.instance.launchUrl(
     urlString,
     LaunchOptions(
       mode: convertLaunchMode(mode),
@@ -53,5 +53,5 @@
 /// others will immediately fail if the URL can't be parsed according to the
 /// official standards that define URL formats.
 Future<bool> canLaunchUrlString(String urlString) async {
-  return await UrlLauncherPlatform.instance.canLaunch(urlString);
+  return UrlLauncherPlatform.instance.canLaunch(urlString);
 }
diff --git a/packages/url_launcher/url_launcher/lib/src/url_launcher_uri.dart b/packages/url_launcher/url_launcher/lib/src/url_launcher_uri.dart
index 3032102..b3ce6c2 100644
--- a/packages/url_launcher/url_launcher/lib/src/url_launcher_uri.dart
+++ b/packages/url_launcher/url_launcher/lib/src/url_launcher_uri.dart
@@ -50,7 +50,7 @@
     throw ArgumentError.value(url, 'url',
         'To use an in-app web view, you must provide an http(s) URL.');
   }
-  return await UrlLauncherPlatform.instance.launchUrl(
+  return UrlLauncherPlatform.instance.launchUrl(
     url.toString(),
     LaunchOptions(
       mode: convertLaunchMode(mode),
@@ -75,7 +75,7 @@
 ///   that are always assumed to be supported (such as http(s)), as web pages
 ///   are never allowed to query installed applications.
 Future<bool> canLaunchUrl(Uri url) async {
-  return await UrlLauncherPlatform.instance.canLaunch(url.toString());
+  return UrlLauncherPlatform.instance.canLaunch(url.toString());
 }
 
 /// Closes the current in-app web view, if one was previously opened by
@@ -84,5 +84,5 @@
 /// If [launchUrl] was never called with [LaunchMode.inAppWebView], then this
 /// call will have no effect.
 Future<void> closeInAppWebView() async {
-  return await UrlLauncherPlatform.instance.closeWebView();
+  return UrlLauncherPlatform.instance.closeWebView();
 }
diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml
index 8efda4a..642b4b5 100644
--- a/packages/url_launcher/url_launcher/pubspec.yaml
+++ b/packages/url_launcher/url_launcher/pubspec.yaml
@@ -3,7 +3,7 @@
   web, phone, SMS, and email schemes.
 repository: https://github.com/flutter/plugins/tree/main/packages/url_launcher/url_launcher
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22
-version: 6.1.6
+version: 6.1.7
 
 environment:
   sdk: ">=2.14.0 <3.0.0"
diff --git a/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart b/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart
index 11d7d8f..40336a0 100644
--- a/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart
+++ b/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart
@@ -188,7 +188,7 @@
     });
 
     test('cannot launch a non-web in webview', () async {
-      expect(() async => await launch('tel:555-555-5555', forceWebView: true),
+      expect(() async => launch('tel:555-555-5555', forceWebView: true),
           throwsA(isA<PlatformException>()));
     });
 
@@ -211,16 +211,14 @@
 
     test('cannot send e-mail with forceSafariVC: true', () async {
       expect(
-          () async => await launch(
-              'mailto:gmail-noreply@google.com?subject=Hello',
+          () async => launch('mailto:gmail-noreply@google.com?subject=Hello',
               forceSafariVC: true),
           throwsA(isA<PlatformException>()));
     });
 
     test('cannot send e-mail with forceWebView: true', () async {
       expect(
-          () async => await launch(
-              'mailto:gmail-noreply@google.com?subject=Hello',
+          () async => launch('mailto:gmail-noreply@google.com?subject=Hello',
               forceWebView: true),
           throwsA(isA<PlatformException>()));
     });
@@ -305,7 +303,7 @@
 
     test('cannot open non-parseable url with forceSafariVC: true', () async {
       expect(
-          () async => await launch(
+          () async => launch(
               'rdp://full%20address=s:mypc:3389&audiomode=i:2&disable%20themes=i:1',
               forceSafariVC: true),
           throwsA(isA<PlatformException>()));
@@ -313,7 +311,7 @@
 
     test('cannot open non-parseable url with forceWebView: true', () async {
       expect(
-          () async => await launch(
+          () async => launch(
               'rdp://full%20address=s:mypc:3389&audiomode=i:2&disable%20themes=i:1',
               forceWebView: true),
           throwsA(isA<PlatformException>()));
diff --git a/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart b/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart
index 0dcbc34..64065ff 100644
--- a/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart
+++ b/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart
@@ -222,7 +222,7 @@
 
     test('cannot launch a non-web URL in a webview', () async {
       expect(
-          () async => await launchUrlString('tel:555-555-5555',
+          () async => launchUrlString('tel:555-555-5555',
               mode: LaunchMode.inAppWebView),
           throwsA(isA<ArgumentError>()));
     });
diff --git a/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart b/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart
index 7685aef..d71d07f 100644
--- a/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart
+++ b/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart
@@ -223,7 +223,7 @@
 
     test('cannot launch a non-web URL in a webview', () async {
       expect(
-          () async => await launchUrl(Uri(scheme: 'tel', path: '555-555-5555'),
+          () async => launchUrl(Uri(scheme: 'tel', path: '555-555-5555'),
               mode: LaunchMode.inAppWebView),
           throwsA(isA<ArgumentError>()));
     });
diff --git a/packages/url_launcher/url_launcher_android/CHANGELOG.md b/packages/url_launcher/url_launcher_android/CHANGELOG.md
index 934d8da..f2f6594 100644
--- a/packages/url_launcher/url_launcher_android/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 6.0.22
+
+* Updates code for new analysis options.
+
 ## 6.0.21
 
 * Updates androidx.annotation to 1.2.0.
diff --git a/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart b/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart
index 1aa093a..bd4c2a5 100644
--- a/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart
+++ b/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart
@@ -33,7 +33,7 @@
       // returns true, then there is a browser, which means that there is
       // at least one handler for the original URL.
       if (scheme == 'http' || scheme == 'https') {
-        return await _canLaunchUrl('$scheme://flutter.dev');
+        return _canLaunchUrl('$scheme://flutter.dev');
       }
     }
     return canLaunchSpecificUrl;
diff --git a/packages/url_launcher/url_launcher_android/pubspec.yaml b/packages/url_launcher/url_launcher_android/pubspec.yaml
index e97fde3..d096b0c 100644
--- a/packages/url_launcher/url_launcher_android/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the url_launcher plugin.
 repository: https://github.com/flutter/plugins/tree/main/packages/url_launcher/url_launcher_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22
-version: 6.0.21
+version: 6.0.22
 
 environment:
   sdk: ">=2.14.0 <3.0.0"
diff --git a/packages/video_player/video_player/CHANGELOG.md b/packages/video_player/video_player/CHANGELOG.md
index 0885f28..1c7da48 100644
--- a/packages/video_player/video_player/CHANGELOG.md
+++ b/packages/video_player/video_player/CHANGELOG.md
@@ -1,5 +1,6 @@
-## NEXT
+## 2.4.8
 
+* Updates code for new analysis options.
 * Updates code for `no_leading_underscores_for_local_identifiers` lint.
 
 ## 2.4.7
diff --git a/packages/video_player/video_player/lib/video_player.dart b/packages/video_player/video_player/lib/video_player.dart
index c1f4886..2f84b82 100644
--- a/packages/video_player/video_player/lib/video_player.dart
+++ b/packages/video_player/video_player/lib/video_player.dart
@@ -542,7 +542,7 @@
     if (_isDisposed) {
       return null;
     }
-    return await _videoPlayerPlatform.getPosition(_textureId);
+    return _videoPlayerPlatform.getPosition(_textureId);
   }
 
   /// Sets the video's current timestamp to be at [moment]. The next
diff --git a/packages/video_player/video_player/pubspec.yaml b/packages/video_player/video_player/pubspec.yaml
index 7e2df60..1f5fed2 100644
--- a/packages/video_player/video_player/pubspec.yaml
+++ b/packages/video_player/video_player/pubspec.yaml
@@ -3,7 +3,7 @@
   widgets on Android, iOS, and web.
 repository: https://github.com/flutter/plugins/tree/main/packages/video_player/video_player
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22
-version: 2.4.7
+version: 2.4.8
 
 environment:
   sdk: ">=2.14.0 <3.0.0"
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 8e5e98b..973fab4 100644
--- a/packages/video_player/video_player/test/video_player_test.dart
+++ b/packages/video_player/video_player/test/video_player_test.dart
@@ -389,7 +389,7 @@
       await controller.initialize();
       await controller.dispose();
 
-      expect(() async => await controller.dispose(), returnsNormally);
+      expect(() async => controller.dispose(), returnsNormally);
     });
 
     test('play', () async {
diff --git a/packages/video_player/video_player_android/CHANGELOG.md b/packages/video_player/video_player_android/CHANGELOG.md
index 4d3f72d..7137e24 100644
--- a/packages/video_player/video_player_android/CHANGELOG.md
+++ b/packages/video_player/video_player_android/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Updates code for new analysis options.
 * Updates code for `no_leading_underscores_for_local_identifiers` lint.
 * Updates minimum Flutter version to 2.10.
 * Fixes violations of new analysis option use_named_constants.
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 61959ef..26c60b7 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
@@ -318,7 +318,7 @@
 
   /// The position in the current video.
   Future<Duration?> get position async {
-    return await _platform.getPosition(_textureId);
+    return _platform.getPosition(_textureId);
   }
 
   /// Sets the video's current timestamp to be at [position].
diff --git a/packages/video_player/video_player_avfoundation/CHANGELOG.md b/packages/video_player/video_player_avfoundation/CHANGELOG.md
index b1cc1ce..1198599 100644
--- a/packages/video_player/video_player_avfoundation/CHANGELOG.md
+++ b/packages/video_player/video_player_avfoundation/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## NEXT
 
+* Updates code for new analysis options.
 * Adds an integration test for a bug where the aspect ratios of some HLS videos are incorrectly inverted.
 * Removes an unnecessary override in example code.
 
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 61959ef..26c60b7 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
@@ -318,7 +318,7 @@
 
   /// The position in the current video.
   Future<Duration?> get position async {
-    return await _platform.getPosition(_textureId);
+    return _platform.getPosition(_textureId);
   }
 
   /// Sets the video's current timestamp to be at [position].
diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart
index 63f4384..8dd8321 100644
--- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart
+++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart
@@ -1300,7 +1300,7 @@
 Future<String> _runJavascriptReturningResult(
     WebViewController controller, String js) async {
   if (defaultTargetPlatform == TargetPlatform.iOS) {
-    return await controller.runJavascriptReturningResult(js);
+    return controller.runJavascriptReturningResult(js);
   }
   return jsonDecode(await controller.runJavascriptReturningResult(js))
       as String;
diff --git a/packages/webview_flutter/webview_flutter_android/test/webview_android_widget_test.dart b/packages/webview_flutter/webview_flutter_android/test/webview_android_widget_test.dart
index 73076d9..b6d6239 100644
--- a/packages/webview_flutter/webview_flutter_android/test/webview_android_widget_test.dart
+++ b/packages/webview_flutter/webview_flutter_android/test/webview_android_widget_test.dart
@@ -445,7 +445,7 @@
           await buildWidget(tester);
 
           expect(
-              () async => await testController.loadRequest(
+              () async => testController.loadRequest(
                     WebViewRequest(
                       uri: Uri.parse('www.google.com'),
                       method: WebViewRequestMethod.get,
diff --git a/packages/webview_flutter/webview_flutter_web/test/webview_flutter_web_test.dart b/packages/webview_flutter/webview_flutter_web/test/webview_flutter_web_test.dart
index 08337e4..76dad6f 100644
--- a/packages/webview_flutter/webview_flutter_web/test/webview_flutter_web_test.dart
+++ b/packages/webview_flutter/webview_flutter_web/test/webview_flutter_web_test.dart
@@ -93,7 +93,7 @@
         );
         // Run & Verify
         expect(
-            () async => await controller.loadRequest(
+            () async => controller.loadRequest(
                   WebViewRequest(
                     uri: Uri.parse('flutter.dev'),
                     method: WebViewRequestMethod.get,
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 047d69f..7e5af0f 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
@@ -1204,7 +1204,7 @@
 
 /// Returns the value used for the HTTP User-Agent: request header in subsequent HTTP requests.
 Future<String> _getUserAgent(WebViewController controller) async {
-  return await controller.runJavascriptReturningResult('navigator.userAgent;');
+  return controller.runJavascriptReturningResult('navigator.userAgent;');
 }
 
 class ResizableWebView extends StatefulWidget {
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart
index 5e6186c..9df910f 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart
@@ -490,7 +490,7 @@
           await buildWidget(tester);
 
           expect(
-              () async => await testController.loadRequest(
+              () async => testController.loadRequest(
                     WebViewRequest(
                       uri: Uri.parse('www.google.com'),
                       method: WebViewRequestMethod.get,
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/v4/webkit_webview_controller_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/v4/webkit_webview_controller_test.dart
index 87a90db..6672198 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/v4/webkit_webview_controller_test.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/v4/webkit_webview_controller_test.dart
@@ -147,7 +147,7 @@
         );
 
         expect(
-          () async => await controller.loadRequest(
+          () async => controller.loadRequest(
             LoadRequestParams(
               uri: Uri.parse('www.google.com'),
               method: LoadRequestMethod.get,
diff --git a/script/tool/lib/src/common/package_looping_command.dart b/script/tool/lib/src/common/package_looping_command.dart
index d8b1cf0..ccfeea0 100644
--- a/script/tool/lib/src/common/package_looping_command.dart
+++ b/script/tool/lib/src/common/package_looping_command.dart
@@ -369,7 +369,7 @@
       }
     }
 
-    return await runForPackage(package);
+    return runForPackage(package);
   }
 
   void _printSuccess(String message) {
diff --git a/script/tool/lib/src/common/package_state_utils.dart b/script/tool/lib/src/common/package_state_utils.dart
index 65f3119..5aabd75 100644
--- a/script/tool/lib/src/common/package_state_utils.dart
+++ b/script/tool/lib/src/common/package_state_utils.dart
@@ -107,6 +107,7 @@
 
 bool _isTestChange(List<String> pathComponents) {
   return pathComponents.contains('test') ||
+      pathComponents.contains('integration_test') ||
       pathComponents.contains('androidTest') ||
       pathComponents.contains('RunnerTests') ||
       pathComponents.contains('RunnerUITests');
diff --git a/script/tool/lib/src/update_release_info_command.dart b/script/tool/lib/src/update_release_info_command.dart
index 67aa994..8d7ceb8 100644
--- a/script/tool/lib/src/update_release_info_command.dart
+++ b/script/tool/lib/src/update_release_info_command.dart
@@ -140,6 +140,9 @@
       if (!state.hasChanges) {
         return PackageResult.skip('No changes to package');
       }
+      if (!state.needsVersionChange && !state.needsChangelogChange) {
+        return PackageResult.skip('No non-exempt changes to package');
+      }
       if (state.needsVersionChange) {
         versionChange = _VersionIncrementType.bugfix;
       }
diff --git a/script/tool/lib/src/version_check_command.dart b/script/tool/lib/src/version_check_command.dart
index b3be672..bb53620 100644
--- a/script/tool/lib/src/version_check_command.dart
+++ b/script/tool/lib/src/version_check_command.dart
@@ -285,8 +285,7 @@
     final String gitPath = path.style == p.Style.windows
         ? p.posix.joinAll(path.split(relativePath))
         : relativePath;
-    return await _gitVersionFinder.getPackageVersion(gitPath,
-        gitRef: _mergeBase);
+    return _gitVersionFinder.getPackageVersion(gitPath, gitRef: _mergeBase);
   }
 
   /// Returns the state of the verison of [package] relative to the comparison
diff --git a/script/tool/test/common/package_looping_command_test.dart b/script/tool/test/common/package_looping_command_test.dart
index c858df0..f90d58e 100644
--- a/script/tool/test/common/package_looping_command_test.dart
+++ b/script/tool/test/common/package_looping_command_test.dart
@@ -143,7 +143,7 @@
     runner = CommandRunner<void>('test_package_looping_command',
         'Test for base package looping functionality');
     runner.addCommand(command);
-    return await runCapturingPrint(
+    return runCapturingPrint(
       runner,
       <String>[command.name, ...arguments],
       errorHandler: errorHandler,
diff --git a/script/tool/test/update_release_info_command_test.dart b/script/tool/test/update_release_info_command_test.dart
index 8cd2e95..cfec938 100644
--- a/script/tool/test/update_release_info_command_test.dart
+++ b/script/tool/test/update_release_info_command_test.dart
@@ -388,7 +388,7 @@
           createFakePackage('a_package', packagesDir, version: '1.0.1');
       processRunner.mockProcessesForExecutable['git-diff'] = <io.Process>[
         MockProcess(stdout: '''
-packages/different_package/test/plugin_test.dart
+packages/different_package/lib/foo.dart
 '''),
       ];
       final String originalChangelog = package.changelogFile.readAsStringSync();
@@ -411,6 +411,35 @@
           ]));
     });
 
+    test('skips for "minimal" when there are only test changes', () async {
+      final RepositoryPackage package =
+          createFakePackage('a_package', packagesDir, version: '1.0.1');
+      processRunner.mockProcessesForExecutable['git-diff'] = <io.Process>[
+        MockProcess(stdout: '''
+packages/a_package/test/a_test.dart
+packages/a_package/example/integration_test/another_test.dart
+'''),
+      ];
+      final String originalChangelog = package.changelogFile.readAsStringSync();
+
+      final List<String> output = await runCapturingPrint(runner, <String>[
+        'update-release-info',
+        '--version=minimal',
+        '--changelog',
+        'A change.',
+      ]);
+
+      final String version = package.parsePubspec().version?.toString() ?? '';
+      expect(version, '1.0.1');
+      expect(package.changelogFile.readAsStringSync(), originalChangelog);
+      expect(
+          output,
+          containsAllInOrder(<Matcher>[
+            contains('No non-exempt changes to package'),
+            contains('Skipped 1 package')
+          ]));
+    });
+
     test('fails if CHANGELOG.md is missing', () async {
       createFakePackage('a_package', packagesDir, includeCommonFiles: false);