Migrate the flutter/flutter wiki to docs/unsorted_wiki (#148562)
Part of https://github.com/flutter/flutter/issues/145009
This is part one of the wiki migration.
This moves all wiki pages wholesale into the new docs directory with no changes.
Follow up PRs will sort them, updating breadcrumbs and links.
diff --git a/dev/bots/analyze.dart b/dev/bots/analyze.dart
index 7f47bf4..fea8ea8 100644
--- a/dev/bots/analyze.dart
+++ b/dev/bots/analyze.dart
@@ -1240,7 +1240,10 @@
final Set<String> suggestions = <String>{};
final List<File> files = await _gitFiles(workingDirectory);
for (final File file in files) {
- if (path.basename(file.path).endsWith('_test.dart') || path.basename(file.path) == 'analyze.dart') {
+ if (path.basename(file.path).endsWith('_test.dart')
+ || path.basename(file.path) == 'analyze.dart'
+ // TODO(Piinks): Disables checks in docs/unsorted, enabling unchanged initial migration, https://github.com/flutter/flutter/issues/145009
+ || file.path.contains('unsorted_wiki')) {
continue; // Skip tests, they're not public-facing.
}
final Uint8List bytes = file.readAsBytesSync();
@@ -1322,6 +1325,10 @@
final Set<String> suggestions = <String>{};
final List<File> files = await _allFiles(workingDirectory, null, minimumMatches: 10).toList();
for (final File file in files) {
+ // TODO(Piinks): Disables checks in docs/unsorted, enabling unchanged initial migration, https://github.com/flutter/flutter/issues/145009
+ if (file.path.contains('unsorted_wiki')) {
+ continue;
+ }
final Uint8List bytes = file.readAsBytesSync();
// We allow invalid UTF-8 here so that binaries don't trip us up.
// There's a separate test in this file that verifies that all text
diff --git a/docs/unsorted_wiki/2021---Issue-Triage-Reports.md b/docs/unsorted_wiki/2021---Issue-Triage-Reports.md
new file mode 100644
index 0000000..a5c2f18
--- /dev/null
+++ b/docs/unsorted_wiki/2021---Issue-Triage-Reports.md
@@ -0,0 +1,2507 @@
+## 2021-12-31
+
+### Notable issues
+
+- [iOS] Flutter 2.8, fine frame drop detected in native listView on iOS [#95838](https://github.com/flutter/flutter/issues/95838)
+- [Webview_flutter][Regression]: Navigating from webview using SurfaceAndroidView composition shows a flash on screen [#95545](https://github.com/flutter/flutter/issues/95545)
+- [Android]: AutofillHints are not showing up (ex: for [AutofillHints.email]) [#95522](https://github.com/flutter/flutter/issues/95522)
+- [MacOS Desktop] Process Class Freezes app after multiple calls [#95805](https://github.com/flutter/flutter/issues/95805)
+- [Google Maps - Web] TypeError: Cannot read properties of null (reading 'Ye') while resizing browser window [#95771](https://github.com/flutter/flutter/issues/95771)
+- [Add to App] shared_preferences Package doesn't work in the multiple_flutters_android in release mode.[#95662](https://github.com/flutter/flutter/issues/95662)
+- [Windows] WINUWP app fails to build with Exception: Unable to generate build files [#95597](https://github.com/flutter/flutter/issues/95597)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 153, closed 56 (36.6%).
+
+In total closed 87 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 32.18% |
+| Fixed | 8.05% |
+| Invalid | 43.68% |
+| Solved | 16.09% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6 closed 0 (0%).
+
+In total closed 1 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 1 (100%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 37, closed 14 (37.84%).
+
+In total closed 28 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 17.86% |
+| fixed | 10.71% |
+| invalid | 25.00% |
+| no-response | 7.14% |
+| solution-provided | 17.86% |
+| user | 10.71% |
+| wontfix | 10.71% |
+
+
+## 2021-12-23
+
+### Notable issues
+
+- [web] TextField doesn't accept input after it is submitted even though it retains focus. [#95553](https://github.com/flutter/flutter/issues/95553)
+- [Camera][iOS]: App flash bursts while taking picture even though `FlashMode` is set to OFF. [#95679](https://github.com/flutter/flutter/issues/95679)
+- [Windows] WINUWP app fails to build with Exception: Unable to generate build files. [#95597](https://github.com/flutter/flutter/issues/95597)
+- [Add to App] shared_preferences Package doesn't work in the multiple_flutters_android in release mode. [#95662](https://github.com/flutter/flutter/issues/95662)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 141, closed 67 (47.52%).
+
+In total closed 97 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 34.0% |
+| Fixed | 11.3% |
+| Invalid | 42.3% |
+| Solved | 12.4% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 7 closed 3 (42.86%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33.3% |
+| invalid | 66.7% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 4 (80%).
+
+In total closed 5 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 18, closed 7 (38.89%).
+
+In total closed 15 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 20.00% |
+| fixed | 6.67% |
+| invalid | 26.67% |
+| no-response | 20.00% |
+| solution-provided | 13.33% |
+| user | 13.33% |
+
+
+## 2021-12-17
+
+### Notable issues
+
+- [animation] PageTransitionSwitcher doesn’t animate smoothly if `reverse` is true on Flutter 2.8.0. [#95270](https://github.com/flutter/flutter/issues/95270)
+- [Web] [CanvasKit] Platform Views (including Video_player fullscreen) blanking other widgets on exit - regression [#95259](https://github.com/flutter/flutter/issues/95259)
+- [Android] PageView animateTo and nextPage do not work when PageView.index is 0 [#95461](https://github.com/flutter/flutter/issues/95461)
+- Textfield dismisses keyboard after text submission even if focus is still in the text field [#95154](https://github.com/flutter/flutter/issues/95154)
+- Regression: AutofillGroup not working on iOS for credentials [#95362](https://github.com/flutter/flutter/issues/95362)
+- Regression: Setting addRepaintBoundaries to true or false shows blinking horizontal line while scrolling [#95199](https://github.com/flutter/flutter/issues/95199)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 216, closed 71 (32.87%).
+
+In total closed 150 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 32.667% |
+| Fixed | 27.333% |
+| Invalid | 28.000% |
+| Solved | 11.333% |
+| Timeout | 0.667% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 7 closed 0 (0%).
+
+In total closed 1 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 1 (16.67%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 35, closed 9 (25.71%).
+
+In total closed 27 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 7.41% |
+| fixed | 40.74% |
+| invalid | 22.22% |
+| no-response | 11.11% |
+| user | 18.52% |
+
+
+## 2021-12-10
+
+### Notable issues
+
+- [pointer_interceptor][canvaskit] Using pointer_interceptor with Canvaskit throws `The following TypeErrorImpl was thrown during a scheduler callback: Unexpected null value.` [#94945](https://github.com/flutter/flutter/issues/94945)
+- Trying to input Korean adds extra text. [#94845](https://github.com/flutter/flutter/issues/94845)
+- Old issue starting to gain some traction: Australian MaterialLocalizations has incorrect mm/dd/yyyy dateHelpText. [#70341](https://github.com/flutter/flutter/issues/70341)
+- Delete key does not work when shift is pressed (android and Desktop). [#94880](https://github.com/flutter/flutter/issues/94880)
+- [test] Some lines are skipped by coverage test after upgrading to 2.8.0 . [#95008](https://github.com/flutter/flutter/issues/95008)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 192, closed 57 (29.69%).
+
+In total closed 148 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 18.24% |
+| Fixed | 12.84% |
+| Invalid | 32.43% |
+| Solved | 9.46% |
+| Timeout | 27.03% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8 closed 2 (25%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid| 33.3% |
+| duplicate | 33.3% |
+| fixed | 33.3% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 12, closed 2 (16.67%).
+
+In total closed 5 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 20% |
+| fixed | 20% |
+| invalid | 40% |
+| wont fix - infeasible | 20% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 2 (10%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 9.09% |
+| fixed | 36.36% |
+| invalid | 9.09% |
+| no-response | 9.09% |
+| solution-provided | 9.09% |
+| user | 27.27% |
+
+
+## 2021-12-03
+
+### Notable issues
+
+- [Web] Text doesn't render with Image on screen unless an activity (such as hover) is detected on page [#94318](https://github.com/flutter/flutter/issues/94318), regression identified as per [this comment](https://github.com/flutter/flutter/issues/94318#issuecomment-981810404)
+- TextInputAction.next doesn't work in lists with IconButton [#94414](https://github.com/flutter/flutter/issues/94414)
+- [Android] App shows black screen after being in the background [#93276](https://github.com/flutter/flutter/issues/93276), appears to affect a certain group of devices.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 181, closed 57 (31.49%).
+
+In total closed 132 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 17.42% |
+| Fixed | 13.64% |
+| Invalid | 43.18% |
+| Solved | 8.33% |
+| Timeout | 17.42% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 3 closed 1 (33.3%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid| 50% |
+| duplicate | 50% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 0 (0%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 23, closed 4 (17.39%).
+
+In total closed 17 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 11.8% |
+| Invalid | 17.6% |
+| no-response | 35.3% |
+| solution-provided | 11.8% |
+| user | 23.5% |
+
+## 2021-11-26
+
+### Notable issues
+
+No notable issues to report this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 151, closed 48 (31.79%).
+
+In total closed 83 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22.9% |
+| Fixed | 16.9% |
+| Invalid | 41.0% |
+| Solved | 18.1% |
+| Timeout | 1.2% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8 closed 1 (12.5%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid| 100% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 8, closed 3 (37.5%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 66.7% |
+| Invalid | 33.3% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 14, closed 7 (50%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 14.3% |
+| Invalid | 28.6% |
+| user | 57.1% |
+
+
+## 2021-11-19
+
+### Notable issues
+
+No notable issues to report this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 165, closed 50 (30.3%).
+
+In total closed 140 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 16.4% |
+| Fixed | 10.7% |
+| Invalid | 28.6% |
+| Solved | 14.3% |
+| Timeout | 30.0% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 16, closed 2 (12.5%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 50% |
+| invalid| 50% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 1 (16.67%).
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 25% |
+| Invalid | 25% |
+| Fixed | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 12, closed 3 (25%).
+
+In total closed 19 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 15.79% |
+| Invalid | 15.79% |
+| no-response | 36.84% |
+| solution-provided | 5.26% |
+| user | 26.32% |
+
+
+## 2021-11-12
+
+### Notable issues
+
+No notable issues to report this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 175, closed 55 (31.43%).
+
+In total closed 124 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 15.3% |
+| Fixed | 16.9% |
+| Invalid | 40.3% |
+| Solved | 12.9% |
+| Timeout | 14.5% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 2 (33.33%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33.3% |
+| invalid| 66.7% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 0 (0%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Invalid | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 25, closed 4 (16%).
+
+In total closed 12 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 16.67% |
+| fixed | 16.67% |
+| Invalid | 8.33% |
+| no-response | 25.00% |
+| solution-provided | 8.33% |
+| user | 25.00% |
+
+
+
+## 2021-11-05
+
+### Notable issues
+
+* [iOS Simulator] Cannot input text into TextField using hardware keyboard [#92796](https://github.com/flutter/flutter/issues/92796)
+* [Add to App] Physical keyboard doesn't work on iOS simulator [#92997](https://github.com/flutter/flutter/issues/92997)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 159, closed 38 (23.9%).
+
+In total closed 120 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 17.50% |
+| Fixed | 8.33% |
+| Invalid | 19.17% |
+| Solved | 15.00% |
+| Timeout | 40.00% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 1 (16.67%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid| 100.0% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 2 (50%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 66.7% |
+| Invalid | 33.3% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 7 (31.82%).
+
+In total closed 12 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 16.67% |
+| Invalid | 41.67% |
+| no-response | 8.33% |
+| user | 25.00% |
+| wontfix | 8.33% |
+
+
+## 2021-10-29
+
+### Notable issues
+
+* Layout broken in Chrome on iOS when navigation to flutter website through external hyperlink. [#92655](https://github.com/flutter/flutter/issues/92655)
+* [Android] Severe jank with custom paint. [#92366](https://github.com/flutter/flutter/issues/92366), regression identified as per [this comment](https://github.com/flutter/flutter/issues/92366#issuecomment-954771995)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 198, closed 62 (31.31%).
+
+In total closed 115 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26.96% |
+| Fixed | 13.04% |
+| Invalid | 36.52% |
+| Solved | 6.96% |
+| Timeout | 16.52% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 12, closed 2 (16.67%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 14.3% |
+| Fixed | 57.1% |
+| invalid| 28.6% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 0 (0%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 66.7% |
+| Invalid | 33.3% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 23, closed 5 (21.74%).
+
+In total closed 9 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22.2% |
+| Invalid | 22.2% |
+| Solution provided | 11.1% |
+| User | 33.3% |
+| wontfix | 11.1% |
+
+
+## 2021-10-22
+
+### Notable issues
+
+* TextField in CupertinoTabScaffold is not focusable after back swipe, iOS (only on master channel). [#92053](https://github.com/flutter/flutter/issues/92053)
+* MaterialBanner causes RenderFlex overflow when navigating from a screen with an appbar to one without. [#92157](https://github.com/flutter/flutter/issues/92157)
+* framework throws Rect argument contained a NaN value exception. There have been similar exceptions related to different classes in the past. [#92262](https://github.com/flutter/flutter/issues/92262)
+* ResizeImage method makes image blurry and decreases image quality. [#92010](https://github.com/flutter/flutter/issues/92010)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 176, closed 52 (29.55%).
+
+In total closed 148 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 15.5% |
+| Fixed | 16.2% |
+| Invalid | 26.4% |
+| Solved | 10.8% |
+| Timeout | 31.1% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 4, closed 0 (0%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Fixed | 50% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 2 (33.33%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 7 (33.33%).
+
+In total closed 8 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 12.5% |
+| Fixed | 25.0% |
+| Invalid | 50% |
+| Solution provided | 12.5% |
+
+## 2021-10-15
+
+### Notable issues
+
+* FittedBox component is causing parent constraints to lose in Flutter 2.5.1 [#91670](https://github.com/flutter/flutter/issues/91670)
+* [Linux] Build failure with uppercased flavor configuration [#91582](https://github.com/flutter/flutter/issues/91582)
+* [animations] Pressing Android back button and the widget simultaneously causes the widget to disappear [#91598](https://github.com/flutter/flutter/issues/91598)
+* [Camera] Build failure with compileSdkVersion 31 [#91412](https://github.com/flutter/flutter/issues/91412)
+* [web][canvaskit] Images Disappear after leaving Fullscreen [#91881](https://github.com/flutter/flutter/issues/91881)
+* `HEIC` images are not rendered in release mode, throws `Exception: Invalid Image Data` [#91421](https://github.com/flutter/flutter/issues/91421)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 198, closed 56 (28.28%).
+
+In total closed 141 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 34.04% |
+| Duplicate | 15.60% |
+| Fixed | 9.22% |
+| Solved | 14.18% |
+| Timeout | 26.95% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 4, closed 1 (25%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 0 (0%)
+
+#### Flutterfire
+
+New Flutterfire issues triaged 10, closed 1 (10%).
+
+In total closed 5 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Solution provided | 80% |
+| User issue | 20% |
+
+## 2021-10-08
+
+### Notable issues
+
+* Accessibility Screen Reader: Control Focus API [#91290](https://github.com/flutter/flutter/issues/91290).
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 173, closed 69 (39.88%)
+
+In total closed 137 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 32.8% |
+| Duplicate | 29.2% |
+| Fixed | 10.9% |
+| Solved | 13.1% |
+| Timeout | 13.9% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed 1 (12.5%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 50% |
+| Fixed | 50% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 50% |
+| Fixed | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 23, closed 13 (56.52%)
+
+In total closed 13 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 46.15% |
+| Duplicate | 38.46% |
+| Solution provided | 7.69% |
+| Won't fix | 7.69% |
+
+## 2021-10-01
+
+### Notable issues
+
+* [web] Chrome crashes when starting Flutter Web app in debug mode with breakpoints set [#90844](https://github.com/flutter/flutter/issues/90844).
+* [web][devtools] App get stuck `Compiling lib\main.dart for the Web...` and devtools doesn't work in profile mode [#90596](https://github.com/flutter/flutter/issues/90596).
+* [web] Navigating out of the app and returning crash the debug session [#90822](https://github.com/flutter/flutter/issues/90822).
+* [web] App won't start, throws `GET /main_module.bootstrap.js AbsoluteImportUriError` [#90782](https://github.com/flutter/flutter/issues/90782).
+* Translucent FloatingActionButton get's a persistent highlight when clicked/touched [#90753](https://github.com/flutter/flutter/issues/90753).
+* [web] setSemanticsEnabled(true) makes TextField with obscureText:true print out obscured text [#90794](https://github.com/flutter/flutter/issues/90794).
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 223, closed 77 (34.53%)
+
+In total closed 176 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 31.3% |
+| Duplicate | 20.5% |
+| Fixed | 17.0% |
+| Solved | 11.4% |
+| Timeout | 19.9% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 2 (33.33%)
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 33.3% |
+| Duplicate | 33.3% |
+| Fixed | 33.3% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 1 (16.67%)
+
+In total closed 5 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 60% |
+| Invalid | 40% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 27, closed 10 (37.04%)
+
+In total closed 10 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 30% |
+| User issue | 10% |
+| Duplicate | 60.0% |
+
+## 2021-09-24
+
+### Notable issues
+
+* [Windows] Ctrl + Backspace does not work properly in text fields [#90427](https://github.com/flutter/flutter/issues/90427).
+* [in_app_purchase][android] `introductoryPriceMicros` is empty. [#90244](https://github.com/flutter/flutter/issues/90244).
+* CircularNotchedRectangle in BottomAppBar in BottomSheet not working as expected [#90276](https://github.com/flutter/flutter/issues/90276).
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 206, closed 79 (38.35%)
+
+In total closed 190 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 35.79% |
+| Duplicate | 21.05% |
+| Fixed | 16.84% |
+| Solved | 6.84% |
+| Timeout | 19.47% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 5, closed 2 (40%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 1 (50%)
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 16.7% |
+| Fixed | 33.3% |
+| Invalid | 50.0% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 16, closed 5 (31.25%)
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 16.7% |
+| Solution provided | 33.3% |
+| User issue | 50.0% |
+
+## 2021-09-17
+
+### Notable issues
+
+* [Web] [HTML][Safari] svg image not rendering per color [#90105](https://github.com/flutter/flutter/issues/90105)
+* Flutter 2.5 floatingActionButton centerDocked notch problem [#90024](https://github.com/flutter/flutter/issues/90024)
+* Opening Drawer with ListView throws: The provided ScrollController is currently attached to more than one ScrollPosition. [#89992](https://github.com/flutter/flutter/issues/89992)
+* [Android] Backspace stops working when entering text mix of uppercase/lowercase in a TextField with obscureText: true [#89742](https://github.com/flutter/flutter/issues/89742)
+* Dots appear under FAB with elevation without a background color [#90254](https://github.com/flutter/flutter/issues/90254)
+* [web] browser back button throws `Error: Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/navigation/history.dart:311:14` [#90031](https://github.com/flutter/flutter/issues/90031)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 244, closed 75 (30.74%)
+
+In total closed 182 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 30.22% |
+| Duplicate | 20.33% |
+| Fixed | 12.64% |
+| Solved | 9.89% |
+| Timeout | 26.92% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 12, closed 3 (25%)
+
+In total closed 3 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 66.7% |
+| Duplicate | 33.3% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 3 (60%)
+
+In total closed 9 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 44.4% |
+| Duplicate | 33.3% |
+| Fixed | 22.2% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 14, closed 7 (50%)
+
+In total closed 8 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 25.00% |
+| Invalid | 37.5% |
+| User issue | 25.0% |
+| Won't fix | 12.5% |
+
+## 2021-09-10
+
+### Notable issues
+
+* ThemeData.primaryColor is broken in 2.5.0 [#89839](https://github.com/flutter/flutter/issues/89839)
+* Draggable Scrollable sheet throws error logs in 2.5.0 [#89681](https://github.com/flutter/flutter/issues/89681)
+* A regression in appbar in 2.5.0 [#89808](https://github.com/flutter/flutter/issues/89808)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 218, closed 85 (39%).
+
+In total closed 160 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 38% |
+| Duplicate | 28% |
+| Fixed | 15% |
+| Solved | 6% |
+| Timeout | 13% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 2 (33%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 33% |
+| Duplicate | 67% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 1 (20%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 72% |
+| Duplicate | 14% |
+| Fixed | 14% |
+
+#### dart-lang/site-www
+
+No new Dart site issues were triaged this week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 12 (55%).
+
+In total closed 14 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 43% |
+| Invalid | 21% |
+| Fixed | 7% |
+| Solution provided | 7% |
+| User issue | 22% |
+
+## 2021-09-03
+
+### Notable issues
+
+* [camera][regression] App fatally crashes when quickly switching cameras only on Android [#89431](https://github.com/flutter/flutter/issues/89431)
+* java.lang.SecurityException: Permission Denial crash at launch [#88767](https://github.com/flutter/flutter/issues/88767)
+* [iOS][iPad simulator]: Trying to toggle software keyboard throws unhandled exception on latest master and beta [#89378](https://github.com/flutter/flutter/issues/89378)
+* [Web] [Video_Player] Rendering regression [#88688](https://github.com/flutter/flutter/issues/88688)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 176, closed 55 (31%)
+
+In total closed 150 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 36.0% |
+| Duplicate | 20.0% |
+| Fixed | 25.3% |
+| Solved | 4.0% |
+| Timeout | 14.7% |
+
+We've finished the rework on the `p: camera` filter for Android & `p: flutter_markdown` filter.
+
+#### Flutter/website
+
+New Flutter website issues triaged 3, closed 1 (33.33%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 45, closed 11 (24.44%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 53.3% |
+| Duplicate | 33.3% |
+| Fixed | 13.3% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 1 (100%)
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 24, closed 9 (37.5%)
+
+In total closed 11 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 18.18% |
+| Invalid | 27.27% |
+| No response | 18.18% |
+| Solution provided | 27.27% |
+| User issue | 9.09% |
+
+## 2021-08-27
+
+### Notable issues
+
+* [desktop] `'!_debugDuringDeviceUpdate': is not true` exception thrown [#84241](https://github.com/flutter/flutter/issues/84241)
+* Glitch when switching between text fields with autofillHints and autocorrect [#89022](https://github.com/flutter/flutter/issues/89022)
+* ☔ Update all interactive samples/snippets for lint issues [#6155](https://github.com/flutter/website/issues/6155)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 251, closed 80 (32%)
+
+In total closed 179 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 32.40% |
+| Duplicate | 20.11% |
+| Fixed | 13.41% |
+| Solved | 3.91% |
+| Timeout | 30.17% |
+
+We're continuing to rework the `p: camera` filter.
+
+#### Flutter/website
+
+New Flutter website issues triaged 20, closed 9 (45%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 33.3% |
+| Fixed | 22.2% |
+| Duplicate | 44.4% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 23, closed 3 (13.04%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 66.7% |
+| Duplicate | 33.33% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 31, closed 12 (39%)
+
+In total closed 20 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 15% |
+| Fixed | 10% |
+| Invalid | 40% |
+| No response | 15% |
+| Solution provided | 10% |
+| User issue | 5% |
+| Won't fix | 5% |
+
+## 2021-08-19
+
+### Notable issues
+
+* `Null check operator used on a null _rawKeyboard.lookUpLayout(physicalKey)!` [#88236](https://github.com/flutter/flutter/issues/88236)
+* [Web][Url_launcher]: Several links on a page throws rendering error [#88449](https://github.com/flutter/flutter/issues/88449)
+* App gets stuck at blank screen - `Could not launch engine with configuration` [#88407](https://github.com/flutter/flutter/issues/88407)
+* SystemChrome.setSystemUIOverlayStyle doesn't change colors [#88431](https://github.com/flutter/flutter/issues/88431)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 151, closed 71 (47%)
+
+In total closed 153 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 35.95% |
+| Duplicate | 22.22% |
+| Fixed | 15.03% |
+| Solved | 2.61% |
+| Timeout | 24.18% |
+
+Finished checking the [p: webview issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22p%3A+webview%22+sort%3Acreated-asc+-label%3A%22found+in+release%3A+2.0%22+-label%3A%22found+in+release%3A+2.1%22+-label%3A%22found+in+release%3A+2.2%22+-label%3A%22found+in+release%3A+2.3%22+-label%3A%22waiting+for+customer+response%22++-label%3A%22severe%3A+new+feature%22+-label%3A%22proposal%22+-label%3A%22passed+first+triage%22).
+
+p: webview issues triaged 16, closed 3 (18.75%)
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 18.75% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 19, closed 10 (52.63%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 10.52% |
+| Fixed | 10.52% |
+| Duplicate | 31.57% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 12, closed 4 (33.33%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 16.66% |
+| Duplicate | 16.66% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 12, closed 4 (33.33%)
+
+In total closed 7 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 42.9% |
+| Solution provided | 28.6% |
+| Fixed | 28.6% |
+
+## 2021-08-13
+
+### Notable issues
+
+* [camera] Camera viewer is over exposed as a result images taken w/ flash mode come out washed out on Samsung devices with Android 11 [#88070](https://github.com/flutter/flutter/issues/88070)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 184, closed 64 (35%)
+
+In total closed 99 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 49.49% |
+| Duplicate | 25.25% |
+| Fixed | 22.22% |
+| Solved | 3.03% |
+
+We're continuing to rework the [p: webview issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22p%3A+webview%22+sort%3Acreated-asc+-label%3A%22found+in+release%3A+2.0%22+-label%3A%22found+in+release%3A+2.1%22+-label%3A%22found+in+release%3A+2.2%22+-label%3A%22found+in+release%3A+2.3%22+-label%3A%22waiting+for+customer+response%22++-label%3A%22severe%3A+new+feature%22+-label%3A%22proposal%22+-label%3A%22passed+first+triage%22).
+
+p: webview issues triaged 46, closed 9 (19.56%)
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 19.56% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 11, closed 1 (9.09%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 9.09% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 11, closed 0 (0.0%)
+
+#### Flutterfire
+
+New Flutterfire issues triaged 25, closed 11 (44%)
+
+In total closed 15 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 20.00% |
+| Duplicate | 13.33% |
+| Solution provided | 46.67% |
+| User issue | 13.33% |
+| No response | 6.67% |
+
+## 2021-08-06
+
+### Notable issues
+
+* DartVM: dart::Object::InitNullAndBool Crash [#87796](https://github.com/flutter/flutter/issues/87796)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 195, closed 73 (37%)
+
+In total closed 138 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 41.30% |
+| Duplicate | 23.18% |
+| Fixed | 13.76% |
+| Solved | 0.72% |
+| Timeout | 21.01% |
+
+We're continuing to rework the [p: webview issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22p%3A+webview%22+sort%3Acreated-asc+-label%3A%22found+in+release%3A+2.0%22+-label%3A%22found+in+release%3A+2.1%22+-label%3A%22found+in+release%3A+2.2%22+-label%3A%22found+in+release%3A+2.3%22+-label%3A%22waiting+for+customer+response%22++-label%3A%22severe%3A+new+feature%22+-label%3A%22proposal%22+-label%3A%22passed+first+triage%22).
+
+p: webview issues triaged 18, closed 4 (22.2%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 16.66% |
+| Fixed | 5.55% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed 3 (37.5%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 25% |
+| Fixed | 12.5% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 18, closed 6 (33.33%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 11.11% |
+| Duplicate | 22.22% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 4 (19%)
+
+In total closed 5 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 40% |
+| Duplicate | 20% |
+| Solution provided | 40% |
+
+## 2021-07-30
+
+### Notable issues
+
+* [web] Severe memory leak on the latest dev and master [#87100](https://github.com/flutter/flutter/issues/87100)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 157, closed 58 (37%)
+
+In total closed 149 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 29.53% |
+| Duplicate | 22.15% |
+| Fixed | 16.11% |
+| Solved | 8.72% |
+| Timeout | 23.49% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 28, closed 6 (21.43%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 17.86% |
+| Duplicate | 3.57% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 10, closed 2 (20%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 20% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 10 (53%)
+
+In total closed 13 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 38.46% |
+| User issue | 7.69% |
+| Duplicate | 23.08% |
+| Solution provided | 15.38% |
+| Fixed | 7.69% |
+| No response | 7.69% |
+
+## 2021-07-23
+
+### Notable issues
+
+* [web] Incorrect Text rendering in Instagram webview [#86776](https://github.com/flutter/flutter/issues/86776)
+
+### Issue counts
+
+New Flutter issues triaged 170, closed 66 (39%)
+
+In total closed 147 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 36.1% |
+| Duplicate | 17.7% |
+| Fixed | 10.9% |
+| Solved | 3.4% |
+| Timeout | 32.0% |
+
+New Flutterfire issues triaged 32, closed 16 (50%)
+
+In total closed 16 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 56.25% |
+| User issue | 6.25% |
+| Duplicate | 12.50% |
+| Solution provided | 25.00% |
+
+## 2021-07-16
+
+### Notable issues
+
+* [web][regression] text autofill doesn't work [#86497](https://github.com/flutter/flutter/issues/86497)
+* [Crowd][Android] Native EditText with TYPE_CLASS_NUMBER has focus issues [#86480](https://github.com/flutter/flutter/issues/86480)
+
+### Issue counts
+
+New Flutter issues triaged 179, closed 66 (37%)
+
+In total closed 155 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 40.00% |
+| Duplicate | 14.84% |
+| Fixed | 13.55% |
+| Solved | 8.39% |
+| Timeout | 23.23% |
+
+New Flutterfire issues triaged 26, closed 18 (69%)
+
+In total closed 19 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 57.89% |
+| User issue | 5.26% |
+| Duplicate | 15.79% |
+| Solution provided | 15.79% |
+| Fixed | 5.26% |
+
+## 2021-07-09
+
+### Notable issues
+
+* [crowd][image_picker][iOS] Exception is thrown when picking image on simulator [#70436](https://github.com/flutter/flutter/issues/70436)
+* [crowd][web/desktop] TextField vertical alignment is broken with isDense: true [#86093](https://github.com/flutter/flutter/issues/86093)
+* [desktop/web] TextField loses focus when calling _controller.clear [#86154](https://github.com/flutter/flutter/issues/86154)
+
+### Issue counts
+
+New Flutter issues triaged 199, closed 70 (35%)
+
+In total closed 242 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 29.34% |
+| Duplicate | 12.81% |
+| Fixed | 11.57% |
+| Solved | 6.61% |
+| Timeout | 39.67% |
+
+New Flutterfire issues triaged 17, closed 8 (47%)
+
+In total closed 12 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 58.33% |
+| User issue | 16.67% |
+| Duplicate | 16.67% |
+| Solution provided | 8.33% |
+
+## 2021-07-02
+
+### Notable issues
+
+* [crowd][google_sign_in] version 5 and later crashes and terminate on iOS with 'NSInvalidArgumentException', reason: 'You must specify |clientID| for |GIDSignIn| [#85738](https://github.com/flutter/flutter/issues/85738)
+* [web] IFrame is choppy when resizing window horizontally [#85522](https://github.com/flutter/flutter/issues/85522)
+* [web] autofillHints on TextFormField causes soft keyboard in iOS browsers to re-appear unexpectedly [#85759](https://github.com/flutter/flutter/issues/85759)
+* Check failed: gl_version_string. The GL proc resolver's glGetString(GL_VERSION) failed on Linux with Nvidia Graphics Card [#85460](https://github.com/flutter/flutter/issues/85460)
+
+### Issue counts
+
+New Flutter issues triaged 203, closed 70 (34%)
+
+In total closed 137 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 43.07% |
+| Duplicate | 24.82% |
+| Fixed | 21.17% |
+| Solved | 8.76% |
+| Timeout | 2.19% |
+
+New Flutterfire issues triaged 29, closed 13 (45%)
+
+In total closed 15 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 20.0% |
+| User issue | 20.0% |
+| Duplicate | 33.3% |
+| Solution provided | 20.0% |
+| Won't fix | 6.67% |
+
+## 2021-06-25
+
+### Notable issues
+
+* A StackOverFlowError thrown on iOS simulator specifically, otherwise a white screen on physical device [#85026](https://github.com/flutter/flutter/issues/85026)
+* Running web in profile/release mode throws NoSuchMethod error, while same code works in debug mode [#85136](https://github.com/flutter/flutter/issues/85136)
+
+### Issue counts
+
+New Flutter issues triaged 166, closed 61 (37%)
+
+In total closed 90 issues during the week
+
+Finished checking the [p: maps](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22p%3A+maps%22+sort%3Acreated-asc+-label%3A%22found+in+release%3A+2.0%22+-label%3A%22found+in+release%3A+2.1%22+-label%3A%22found+in+release%3A+2.2%22+-label%3A%22found+in+release%3A+2.3%22+-label%3A%22waiting+for+customer+response%22+) issues and started reworking the [p: video_player](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22p%3A+video_player%22+sort%3Acreated-asc+-label%3A%22found+in+release%3A+2.0%22+-label%3A%22found+in+release%3A+2.1%22+-label%3A%22found+in+release%3A+2.2%22+-label%3A%22found+in+release%3A+2.3%22+-label%3A%22waiting+for+customer+response%22++-label%3A%22severe%3A+new+feature%22+-label%3A%22proposal%22+-label%3A%22passed+first+triage%22) issues.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 46.67% |
+| Duplicate | 25.56% |
+| Fixed | 7.78% |
+| Solved | 7.78% |
+| Timeout | 12.22% |
+
+New Flutterfire issues triaged 28, closed 6 (21%)
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 66.7% |
+| User issue | 33.3% |
+
+## 2021-06-18
+
+### Notable issues
+
+* Bug in TextFormField introduced in V2.2.0 causes input to freeze and needs an app restart [#84620](https://github.com/flutter/flutter/issues/84620)
+* [web] Cannot type in the TextField with `autofillHints` on `dev` and `master` channels on iOS [#84817](https://github.com/flutter/flutter/issues/84817)
+
+### Issue counts
+
+New Flutter issues triaged 204, closed 71 (35%)
+
+In total closed 143 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 41.9% |
+| Duplicate | 16.0% |
+| Fixed | 13.2% |
+| Solved | 6.2% |
+| Timeout | 22.3% |
+
+New Flutterfire issues triaged 28, closed 17 (61%)
+
+In total closed 18 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 50.0% |
+| Duplicate | 22.3% |
+| User issue | 27.8% |
+
+## 2021-06-11
+
+### Notable issues
+
+* [web] CanvasKit crash after many TextPainter.layout() calls [#84320](https://github.com/flutter/flutter/issues/84320)
+* ListView layout error when using ListView and ExpansionTile widget [#84201](https://github.com/flutter/flutter/issues/84201)
+
+### Issue counts
+
+New Flutter issues triaged 192, closed 67 (35%)
+
+In total closed 180 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 37.2% |
+| Duplicate | 21.6% |
+| Fixed | 15% |
+| Solved | 5.5% |
+| Timeout | 20.5% |
+
+New Flutterfire issues triaged 32, closed 19 (59%)
+
+In total closed 21 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 42.8% |
+| Duplicate | 9.5% |
+| User issue | 33.3% |
+| Solution provided | 9.5% |
+| Needs reproduction | 4.7% |
+
+## 2021-06-04
+
+### Notable issues
+
+* [web, html] If a row has image followed by text, then ellipsis is not rendered. Works well using canvaskit [#83957](https://github.com/flutter/flutter/issues/83957)
+* [web] hot restart throws assertion failure if using nested MaterialApp [#83864](https://github.com/flutter/flutter/issues/83864)
+* [crowd] Text and SelectableText align differently [#83784](https://github.com/flutter/flutter/issues/83784)
+
+### Issue counts
+
+New Flutter issues triaged 233, closed 87 (37%)
+
+In total closed 162 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 35% |
+| Duplicate | 23% |
+| Fixed | 13% |
+| Solved | 6% |
+| Timeout | 23% |
+
+New Flutterfire issues triaged 22, closed 11 (50%)
+
+In total closed 17 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 47% |
+| Duplicate | 18% |
+| User issue | 29% |
+| Fixed | 6% |
+
+## 2021-05-28
+
+### Notable issues
+
+* TextFormField not responding to inputs on Android when typing on Microsoft SwiftKey [#83213](https://github.com/flutter/flutter/issues/83213)
+* [Flutter 2.2] ListTile ignores tileColor/selectedTileColor if parent Container has color [#83108](https://github.com/flutter/flutter/issues/83108)
+* Generated l10n file is missing 'intl' import with Flutter 2.2.0 [#83102](https://github.com/flutter/flutter/issues/83102)
+* ReorderableListView throws RenderFlex exception while dragging on latest stable and master [#83224](https://github.com/flutter/flutter/issues/83224)
+
+### Issue counts
+
+New Flutter issues triaged 220, closed 83 (38%)
+
+In total closed 186 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 39.7% |
+| Duplicate | 20.4% |
+| Fixed | 12.9% |
+| Solved | 5.3% |
+| Timeout | 21.5% |
+
+New Flutterfire issues triaged 25, closed 8 (32%)
+
+In total closed 14 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 21.4% |
+| Duplicate | 14.3% |
+| User issue | 35.7% |
+| Solution provided | 21.4% |
+| Won't fix | 7.15% |
+
+## 2021-05-21
+
+### Notable issues
+
+* 2.2: TextFormField's Suffix , Prefix, Icon and Label don't respond to Primary Color's Change [#83002](https://github.com/flutter/flutter/issues/83002)
+* PopupMenuButton is broken after upgrade to Flutter `2.2.0` [#82874](https://github.com/flutter/flutter/issues/82874) - fixed
+* TextOverflow not visible on the web on mobile [#82639](https://github.com/flutter/flutter/issues/82639)
+* [web] Images pixelated on the canvaskit renderer [#82919](https://github.com/flutter/flutter/issues/82919)
+
+### Issue counts
+
+New Flutter issues triaged 215, closed 61 (28%)
+
+We're continuing to rework the [p: maps issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22p%3A+maps%22+sort%3Acreated-asc+-label%3A%22found+in+release%3A+2.0%22+-label%3A%22found+in+release%3A+2.1%22+-label%3A%22found+in+release%3A+2.2%22+-label%3A%22found+in+release%3A+2.3%22+-label%3A%22waiting+for+customer+response%22+)
+
+In total closed 158 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 33.5% |
+| Duplicate | 14.6% |
+| Fixed | 14.6% |
+| Solved | 3.8% |
+| Timeout | 33.5% |
+
+New Flutterfire issues triaged 36, closed 12 (33%)
+
+In total closed 14 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 5 |
+| Duplicate | 2 |
+| User issue | 5 |
+| Solution provided | 2 |
+
+## 2021-05-14
+
+### Notable issues
+
+* [fixed] Flutter Doctor cannot find Android Studio 4.2 [#82345](https://github.com/flutter/flutter/issues/82345)
+* [crowd][web][flutter 2.0] Certain font sizes render a greyish bar on top of the text in mobile browsers when inside ExpansionTile Widgets
+[#82176](https://github.com/flutter/flutter/issues/82176) (the issue is only web when using `html` renderer)
+* Text wrapping on top of itself on iOS/macOS on stable, blank on other channels and web html [#82023](https://github.com/flutter/flutter/issues/82023) (this particular issue is causing multiple issues on iOS/Mac and Web using `html` renderer)
+* [camera] In Android take photo, unlockAutoFocus error Fatal Exception: java.lang.NullPointerException is thrown [#82031](https://github.com/flutter/flutter/issues/82031) (camera has production crash on many Android devices)
+
+### Issue counts
+
+New Flutter issues triaged 216, closed 72 (33%)
+
+We're continuing to rework the [p: maps issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22p%3A+maps%22+sort%3Acreated-asc+-label%3A%22found+in+release%3A+2.0%22+-label%3A%22found+in+release%3A+2.1%22+-label%3A%22found+in+release%3A+2.2%22+-label%3A%22found+in+release%3A+2.3%22+-label%3A%22waiting+for+customer+response%22+)
+
+In total closed 171 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 28.65% |
+| Duplicate | 21.64% |
+| Fixed | 15.79% |
+| Solved | 9.94% |
+| Timeout | 23.98% |
+
+New Flutterfire issues triaged 25, closed 11 (44%)
+
+In total closed 13 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 8 |
+| Duplicate | 3 |
+| User issue | 2 |
+
+## 2021-05-07
+
+### Notable issues
+
+* Portrait images with EXIF metadata distorted on flutter web with canvasKit renderer [#81679](https://github.com/flutter/flutter/issues/81679)
+* "flutter build bundle --release" fails with IconTreeShakerException [#81954](https://github.com/flutter/flutter/issues/81954)
+* Allow inner scrollables to surrender in gesture arena [#81648](https://github.com/flutter/flutter/issues/81648)
+* Allow platform specific dependencies [#81650](https://github.com/flutter/flutter/issues/81650)
+* [crowd] Error while trying flutter doctor --android-licenses [#80273](https://github.com/flutter/flutter/issues/80273) - this is still getting lots of duplicates
+* [tool_crash] ArgumentError: Invalid argument(s): Cannot find executable [#60880](https://github.com/flutter/flutter/issues/60880) - still getting duplicates
+
+### Issue counts
+
+New Flutter issues triaged 202, closed 59 (29%)
+
+We're also reworking the [p: maps issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22p%3A+maps%22+sort%3Acreated-asc+-label%3A%22found+in+release%3A+2.0%22+-label%3A%22found+in+release%3A+2.1%22+-label%3A%22found+in+release%3A+2.2%22+-label%3A%22found+in+release%3A+2.3%22+-label%3A%22waiting+for+customer+response%22+)
+
+In total closed 168 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 36.31% |
+| Duplicate | 16.67% |
+| Fixed | 6.55% |
+| Solved | 6.55% |
+| Timeout | 33.93% |
+
+New Flutterfire issues triaged 33, closed 14 (42%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 5 |
+| Duplicate | 7 |
+| User issue | 3 |
+
+## 2021-04-30
+
+### Notable issues
+
+* [web] Password manager icon overlaps the text in TextField [#81201](https://github.com/flutter/flutter/issues/81201)
+* [Add2App] Release app doesn't display the flutter view [#81350](https://github.com/flutter/flutter/issues/81350)
+* Waiting for observatory port to be available... stuck forever [#81415](https://github.com/flutter/flutter/issues/81415)
+* Add HoverGestureRecognizer so TextSpan can detect hover events [#81159](https://github.com/flutter/flutter/issues/81159)
+
+### Issue counts
+
+New Flutter issues triaged 214, closed 58 (27%)
+
+In total closed 126 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 46.8% |
+| Duplicate | 14.2% |
+| Fixed | 11.9% |
+| Solved | 8.7% |
+| Timeout | 18.2% |
+
+New Flutterfire issues triaged 40, closed 21 (53%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 19 |
+| Duplicate | 2 |
+
+## 2021-04-23
+
+### Notable issues
+
+* [Android] App gets stuck upon performing hot reload [#80704](https://github.com/flutter/flutter/issues/80704)
+* [Android][Samsung Keyboard] Backspace does not delete the text/characters containing spaces in TextFormField [#80938](https://github.com/flutter/flutter/issues/80938)
+* [crowd] Keyboard doesn't pop up when focusing on Android Platform view that includes text fields [#80961](https://github.com/flutter/flutter/issues/80961)
+* ScrollBar renders incorrectly [#81027](https://github.com/flutter/flutter/issues/81027)
+* Null check operator used on a null value - BottomAppBar's shape [#80878](https://github.com/flutter/flutter/issues/80878)
+* Scrollbar thumbs aren't selectable when semi-transparent [#81015](https://github.com/flutter/flutter/issues/81015)
+* TextField with TextDirection.rtl has misplaced cursor on Web [#78550](https://github.com/flutter/flutter/issues/78550) (issue is still active)
+
+### Issue counts
+
+New Flutter issues triaged 216, closed 60 (28%)
+
+In total closed 179 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 34.6% |
+| Duplicate | 14.5% |
+| Fixed | 12.8% |
+| Solved | 10.6% |
+| Timeout | 27.4% |
+
+New Flutterfire issues triaged 32, closed 14 (44%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 7 |
+| Duplicate | 3 |
+| Solved | 4 |
+
+## 2021-04-16
+
+### Notable issues
+
+* Janky scrolling on iOS when resuming from background/presenting an Add2App ViewController [#80367](https://github.com/flutter/flutter/issues/80367)
+* [image_picker] Image picker is incompatible with Google Play's new storage requirement [#80502](https://github.com/flutter/flutter/issues/80502)
+* MediaQuery.of(context).viewInsets.bottom has unexpected value when keyboard is opened/closed [#80253](https://github.com/flutter/flutter/issues/80253)
+* BackButton is not displayed when there is a endDrawer [#80256](https://github.com/flutter/flutter/issues/80256)
+* [image_picker] Image rotates 90 degrees on iOS 14 with "Select Photos" access [#80428](https://github.com/flutter/flutter/issues/80428)
+* [crowd, reopened] integration_test file not found [#72876](https://github.com/flutter/flutter/issues/72876)
+
+### Issue counts
+
+New Flutter issues triaged 238, closed 70 (29%)
+
+In total closed 192 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 35.42% |
+| Duplicate | 14.58% |
+| Fixed | 11.46% |
+| Solved | 9.38% |
+| Timeout | 29.17% |
+
+New Flutterfire issues triaged 33, closed 19 (58%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 17 |
+| Fixed | 1 |
+| Solved | 1 |
+
+## 2021-04-09
+
+### Notable issues
+
+* [crowd][web][canvaskit] Scrollable emoji freezes the app and locks the scroll [#79882](https://github.com/flutter/flutter/issues/79882)
+* [null safety] “Reload not performed Analysis issues found” on IntelliJ / Android Studio [#80040](https://github.com/flutter/flutter/issues/80040)
+* [crowd] Gradient -> LinearGradient -> GradientRotation not working [#79980](https://github.com/flutter/flutter/issues/79980)
+* TextField with inputFormatters and keyboardType onChange infinite loop on iOS [#79844](https://github.com/flutter/flutter/issues/79844)
+
+### Issue counts
+
+New Flutter issues triaged 236, closed 80 (34%)
+
+In total closed 214 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 30.84% |
+| Duplicate | 17.29% |
+| Fixed | 8.88% |
+| Solved | 5.14% |
+| Timeout | 37.85% |
+
+New Flutterfire issues triaged 35, closed 9 (26%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 3 |
+| Duplicate | 5 |
+| Fixed | 1 |
+
+## 2021-04-01
+
+### Notable issues
+
+* App crashes when TextField setObscure is true [#79447](https://github.com/flutter/flutter/issues/79447)
+* Up and down arrow keys miscalculate the cursor position in a TextField [#79305](https://github.com/flutter/flutter/issues/79305)
+* SelectableText background overlays the selection [#79168](https://github.com/flutter/flutter/issues/79168)
+* Some official examples do not work with null safety or without null safety, e.g [#79395](https://github.com/flutter/flutter/issues/79395), [#79376](https://github.com/flutter/flutter/issues/79376)
+
+### Issue counts
+
+New Flutter issues triaged 214, closed 65 (30%)
+
+In total closed 158 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 36.08% |
+| Duplicate | 21.52% |
+| Fixed | 8.86% |
+| Solved | 8.86% |
+| Timeout | 24.68% |
+
+New Flutterfire issues triaged 25, closed 7 (28%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 5 |
+| Duplicate | 1 |
+| Solved | 1 |
+
+## 2021-03-26
+
+### Notable issues
+
+* Web app crashes after selecting text that has emojis in it [#79105](https://github.com/flutter/flutter/issues/79105)
+* Web canvaskit: App rebuilds while resizing the window [#79065](https://github.com/flutter/flutter/issues/79065)
+* [image_picker] Issue with iOS simulator: Not able to select image on Mac M1 [#78391](https://github.com/flutter/flutter/issues/78391)
+* TextField onChanged method gets invoked twice on API 26 and 27 [#78762](https://github.com/flutter/flutter/issues/78762)
+* Flutter iOS is not generating GeneratedPluginRegistrant on Flutter 2.1.0-12.2.pre [#78785](https://github.com/flutter/flutter/issues/78785)
+* MultiFlutterEngine on iOS consumes a lot of memory [#79023](https://github.com/flutter/flutter/issues/79023)
+
+### Issue counts
+
+New Flutter issues triaged 278, closed 92 (33%)
+
+In total closed 188 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 40.43% |
+| Duplicate | 22.34% |
+| Fixed | 9.04% |
+| Solved | 9.04% |
+| Timeout | 19.15% |
+
+New Flutterfire issues triaged 33, closed 17 (52%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 6 |
+| Duplicate | 4 |
+| Fixed | 1 |
+| Solved | 6 |
+
+
+## 2021-03-19
+
+### Notable issues
+
+* App crashes upon launch using Xcode on simulator on dev [#78418](https://github.com/flutter/flutter/issues/78418)
+* Hot restart takes time to update in release mode after making changes to file [#78239](https://github.com/flutter/flutter/issues/78239)
+* Can't build web apps with CanvasKit without internet [#78235](https://github.com/flutter/flutter/issues/78235)
+* FlutterError.onError is not called when framework throws an error [#78503](https://github.com/flutter/flutter/issues/78503)
+* [webview_flutter] webview hides behind other widgets in a column when scrolling down on iOS [#78383](https://github.com/flutter/flutter/issues/78383)
+
+### Issue counts
+
+New Flutter issues triaged 317, closed 95 (30%)
+
+In total closed 189 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 36.5% |
+| Duplicate | 23.3% |
+| Fixed | 10.6% |
+| Solved | 12.2% |
+| Timeout | 17.5% |
+
+New Flutterfire issues triaged 43, closed 29 (67%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 13 |
+| Duplicate | 10 |
+| Fixed | 1 |
+| Solved | 5 |
+
+## 2021-03-12
+
+### Notable issues
+
+* Web app gets stuck on Performing Hot Restart on latest stable, but works on latest master [#77818](https://github.com/flutter/flutter/issues/77818)
+* PopupMenu Overlay misplaces when resizing window (web, desktop) [#77915](https://github.com/flutter/flutter/issues/77915)
+* setSystemUIOverlayStyle() documentation sample does not work on iOS [#77904](https://github.com/flutter/flutter/issues/77904)
+* Unable to run with --no-sound-null-safety on iOS [#77912](https://github.com/flutter/flutter/issues/77912)
+* [web] Flutter app on web-server doesn’t respond on iOS 13.1, doesn’t load on 13.4 on stable channel and doesn’t load on both versions on dev and master channel [#77792](https://github.com/flutter/flutter/issues/77792)
+* http request crashes on iOS 10 with Flutter 2 [#77808](https://github.com/flutter/flutter/issues/77808)
+* Proposal: Custom (non gregorian) calendar in showDatePicker [#77531](https://github.com/flutter/flutter/issues/77531)
+* TextField cursor gets stuck on web [#77929](https://github.com/flutter/flutter/issues/77929)
+
+### Issue counts
+
+New Flutter issues triaged 339, closed 124 (37%)
+
+In total closed 229 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 42.36% |
+| Duplicate | 20.96% |
+| Fixed | 7.42% |
+| Solved | 10.4% |
+| Timeout | 19.21% |
+
+New Flutterfire issues triaged 60, closed 39 (65%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 19 |
+| Duplicate | 15 |
+| Fixed | 1 |
+| Solved | 4 |
+
+## 2021-03-05
+
+### Notable issues
+
+* [image_picker] GIF doesn't work on iOS 14 when user chooses "Select Photos" [#77281](https://github.com/flutter/flutter/issues/77281)
+* Talkback doesn’t read hyperlinked text when used with SelectableText.rich widget [#77219](https://github.com/flutter/flutter/issues/77219)
+* Flutter 2.0 web can not show some Chinese characters properly using canvaskit renderer [#77212](https://github.com/flutter/flutter/issues/77212)
+* [web] wrong image filter on web app built with HTML renderer [#76966](https://github.com/flutter/flutter/issues/76966)
+* Unable to run flutter 2 in mac desktop for a completely new project [#77325](https://github.com/flutter/flutter/issues/77325)
+
+### Issue counts
+
+New Flutter issues triaged 259, closed 93 (36%)
+
+In total closed 166 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 45.18% |
+| Duplicate | 26.51% |
+| Fixed | 7.83% |
+| Solved | 9.64% |
+| Timeout | 10.84% |
+
+New Flutterfire issues triaged 37, closed 25 (68%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 14 |
+| Duplicate | 7 |
+| Solved | 4 |
+
+
+## 2021-02-26
+
+### Notable issues
+
+* RenderRepaintBoundary.toImage throws operation failed exception on Stable, but shows NoSuchMethodError on Master [#76591](https://github.com/flutter/flutter/issues/76591)
+* Clearing a textfield shows Snapshot warning log on iOS using physical device [#76798](https://github.com/flutter/flutter/issues/76798)
+* integration_test throws TickerException while trying to open modalBottomSheet [#76786](https://github.com/flutter/flutter/issues/76786)
+* [canvaskit] font renders missing glyph when text overflow is ellipsis [#76473](https://github.com/flutter/flutter/issues/76473)
+* Need better, clearer image filter quality controls [#76737](https://github.com/flutter/flutter/issues/76737)
+* [web] Debug mode is paused when launched from IntelliJ/Android Studio [#76680](https://github.com/flutter/flutter/issues/76680)
+* EXC_BAD_ACCESS KERN_INVALID_ADDRESS - CRASH [#76694](https://github.com/flutter/flutter/issues/76694)
+* Painter slowing down initially [#76859](https://github.com/flutter/flutter/issues/76859)
+
+### Issue counts
+
+New Flutter issues triaged 231, closed 84 (36%)
+
+In total closed 181 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 37.02% |
+| Duplicate | 16.02% |
+| Fixed | 7.73% |
+| Solved | 9.39% |
+| Timeout | 29.83% |
+
+New Flutterfire issues triaged 32, closed 19 (59%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 11 |
+| Duplicate | 7 |
+| Solved | 1 |
+
+## 2021-02-19
+
+### Notable issues
+
+* iOS Metal jank example [#76180](https://github.com/flutter/flutter/issues/76180)
+* Camera Plugin Stream is rotated 90 degree CCW on iPhone since 0.7.0 [#76210](https://github.com/flutter/flutter/issues/76210)
+* [file_selector_web] cannot read files larger than ~500MB [#76036](https://github.com/flutter/flutter/issues/76036)
+* [web] make initial load of canvaskit faster [#76009](https://github.com/flutter/flutter/issues/76009)
+
+### Issue counts
+
+New Flutter issues triaged 251, closed 91 (36%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 52.7% |
+| Duplicate | 30.8% |
+| Fixed | 3.3% |
+| Solved | 13.2% |
+
+Issues closed from iterations 77
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 14.3% |
+| Duplicate | 14.3% |
+| Fixed | 18.2% |
+| Solved | 16.9% |
+| Timeout | 36.4% |
+
+Stale issues
+
+Checking labeled issues without the `has reproducible steps` label. Total checked 34, closed 5 (15%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid| 3 |
+| Duplicate | 2 |
+
+New Flutterfire issues triaged 23, closed 10 (43%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 5 |
+| Duplicate | 4 |
+| Solved | 1 |
+
+## 2021-02-12
+
+### Notable issues
+
+* Specific to latest update on Samsung devices (One UI 3): screen flickers while opening and closing keyboard [#75520](https://github.com/flutter/flutter/issues/75520)
+* Text not rendering on web. Specific to Win 7 + FireFox + graphics card setup. [#75327](https://github.com/flutter/flutter/issues/75327)
+* TextInputType.phone keyboard doesn't delete typed text when the keyboard is switched to extra symbols on Android [#75616](https://github.com/flutter/flutter/issues/75616)
+* Crowd: Crashing on launch when updating Android Gradle Plugin to 4.0.0 using app bundle [#58479](https://github.com/flutter/flutter/issues/58479)
+* Reopened: [google_maps_flutter] App crashes when using maps in release mode [#69820](https://github.com/flutter/flutter/issues/69820)
+
+### Issue counts
+
+New Flutter issues triaged 253, closed 79 (31%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 53.2% |
+| Duplicate | 36.7% |
+| Fixed | 7.6% |
+| Solved | 2.5% |
+
+Issues closed from iterations 89
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 15.9% |
+| Duplicate | 1.1% |
+| Fixed | 25.0% |
+| Solved | 10.2% |
+| Timeout | 47.7% |
+
+Stale issues
+
+Checking [image_picker](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22) issues. Total checked 64, closed 24 (38%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid| 1 |
+| Duplicate | 6 |
+| Fixed | 16 |
+| Solved | 1 |
+
+New Flutterfire issues triaged 31, closed 14 (45%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 5 |
+| Duplicate | 6 |
+| Solved | 3 |
+
+## 2021-02-05
+
+### Notable issues
+
+* Reopened: Flutter Application freezes when Maximized or Restored from Minimized window mode [#74797](https://github.com/flutter/flutter/issues/74797)
+* [windows] Hot reload from terminal throws an exception on dev channel [#75419](https://github.com/flutter/flutter/issues/75419)
+* [web] UnimplementedError when using SliderTheme [#75495](https://github.com/flutter/flutter/issues/75495)
+* [web] Dragging the "draggable" widget causes widget to freeze in the overlay layer [#75280](https://github.com/flutter/flutter/issues/75280)
+* Scrolling using Scrollbar widget with ListView.builder is significantly slower [#75399](https://github.com/flutter/flutter/issues/75399)
+* Proposal: [integration_test] - Support tags in integration test package [#75496](https://github.com/flutter/flutter/issues/75496)
+
+### Issue counts
+
+New Flutter issues triaged 300, closed 89 (30%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 58.6% |
+| Duplicate | 33.3% |
+| Fixed | 2.3% |
+| Solved | 5.7% |
+
+Issues closed from iterations 63
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 23.8% |
+| Duplicate | 9.5% |
+| Fixed | 30.2% |
+| Solved | 22.2% |
+| Timeout | 14.3% |
+
+Stale issues
+
+Finished with ([issues found to occur in releases 1.12 and 1.17](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22has+reproducible+steps%22+-label%3A%22found+in+release%3A+1.22%22+-label%3A%22found+in+release%3A+1.23%22+-label%3A%22found+in+release%3A+1.24%22+-label%3A%22found+in+release%3A+1.25%22+-label%3A%22passed+first+triage%22+-label%3A%22severe%3A+new+feature%22+-label%3Aproposal+-label%3A%22found+in+release%3A+1.21%22+-label%3A%22found+in+release%3A+1.20%22+-label%3A%22found+in+release%3A+1.26%22+)) and started with [image_picker](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22) issues. Total checked 40, closed 8 (20%)
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 7 |
+| Solved | 1 |
+
+New Flutterfire issues triaged 51, closed 16 (31%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 7 |
+| Duplicate | 8 |
+| Solved | 1 |
+
+## 2021-01-29
+
+### Notable issues
+
+* Camera throws TimeoutException when flash is turned ON: [#74645](https://github.com/flutter/flutter/issues/74645)
+* Null safety checks occur while running flutter test on beta: [#74898](https://github.com/flutter/flutter/issues/74898)
+* App goes black when there is a system dialog and locking/unlocking on Android: [#74801](https://github.com/flutter/flutter/issues/74801)
+* Text selection from right to left inside text fields is broken on Web: [#74504](https://github.com/flutter/flutter/issues/74504)
+* Auto scroll not working with textField when showCursor is false: [#74566](https://github.com/flutter/flutter/issues/74566)
+
+### Issue counts
+
+New Flutter issues triaged 261, closed 90 (34%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 53.9% |
+| Duplicate | 30.3% |
+| Fixed | 9.0% |
+| Solved | 6.7% |
+
+Issues closed from iterations 81
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 13.6% |
+| Duplicate | 8.6% |
+| Fixed | 16.0% |
+| Solved | 11.1% |
+| Timeout | 50.6% |
+
+Stale issues ([found to occur in releases 1.12 and 1.17](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22has+reproducible+steps%22+-label%3A%22found+in+release%3A+1.22%22+-label%3A%22found+in+release%3A+1.23%22+-label%3A%22found+in+release%3A+1.24%22+-label%3A%22found+in+release%3A+1.25%22+-label%3A%22passed+first+triage%22+-label%3A%22severe%3A+new+feature%22+-label%3Aproposal+-label%3A%22found+in+release%3A+1.21%22+-label%3A%22found+in+release%3A+1.20%22+-label%3A%22found+in+release%3A+1.26%22+)) checked 55, closed 11 (20%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 2 |
+| Fixed | 6 |
+| Solved | 3 |
+
+New Flutterfire issues triaged 34, closed 15 (44%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 5 |
+| Duplicate | 5 |
+| Solved | 5 |
+
+## 2021-01-22
+
+### Notable issues
+
+* Decoding image data is failing on web: [#74489](https://github.com/flutter/flutter/issues/74489)
+* [webview_flutter] Simulator keyboard isn’t showing and hardware keyboard isn’t working: [#74044](https://github.com/flutter/flutter/issues/74044)
+* Enter/return key on a TextField with InkWell doesn’t work on the Samsung keyboard: [#74041](https://github.com/flutter/flutter/issues/74041)
+* Avoid reading clipboard without authorization when using textfield on Xiaomi MIUI 12: [#74139](https://github.com/flutter/flutter/issues/74139)
+* Some users are experiencing issues with third-party packages that rely on `flutter_localizations` and `intl` on beta and above channels, they are forced to use `stable` channel to avoid package conflicts. This is caused by premature `flutter_localizations` dependency on the null-safety version of the `intl`. E.g. [#74421](https://github.com/flutter/flutter/issues/74421), [#74419](https://github.com/flutter/flutter/issues/74419), [#73861](https://github.com/flutter/flutter/issues/73861)
+
+### Issue counts
+
+New Flutter issues triaged 274, closed 85 (31%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 58.8% |
+| Duplicate | 35.3% |
+| Fixed | 2.4% |
+| Solved | 3.5% |
+
+Issues closed from iterations 93
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 16.1% |
+| Duplicate | 7.5% |
+| Fixed | 32.3% |
+| Solved | 10.8% |
+| Timeout | 33.3% |
+
+Stale issues ([found to occur in releases 1.12 and 1.17](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22has+reproducible+steps%22+-label%3A%22found+in+release%3A+1.22%22+-label%3A%22found+in+release%3A+1.23%22+-label%3A%22found+in+release%3A+1.24%22+-label%3A%22found+in+release%3A+1.25%22+-label%3A%22passed+first+triage%22+-label%3A%22severe%3A+new+feature%22+-label%3Aproposal+-label%3A%22found+in+release%3A+1.21%22+-label%3A%22found+in+release%3A+1.20%22+-label%3A%22found+in+release%3A+1.26%22+)) checked 70, closed 11 (16%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 3 |
+| Duplicate | 3 |
+| Fixed | 4 |
+| Solved | 1 |
+
+New Flutterfire issues triaged 41, closed 13 (32%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 6 |
+| Duplicate | 4 |
+| Solved | 3 |
+
+## 2021-01-15
+
+### Notable issues
+
+* Disable analytics by default - Respect EU/ECC laws (GDPR): [#73657](https://github.com/flutter/flutter/issues/73657)
+* Flutter Slider Label showing strange numbers: [#73787](https://github.com/flutter/flutter/issues/73787)
+* Flutter doctor warnings about flutter plugin not found still cause confusion among users (related to [[flutter_tools] IDE plugin validators should be deprecated](https://github.com/flutter/flutter/issues/61246))
+* There have been several issues related to Windows 7 recently
+
+### Issue counts
+
+New Flutter issues triaged 269, closed 86 (32%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 62.8% |
+| Duplicate | 26.7% |
+| Fixed | 4.7% |
+| Solved | 5.8% |
+
+Issues closed from iterations 80
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 21.3% |
+| Duplicate | 10.0% |
+| Fixed | 37.5% |
+| Solved | 8.8% |
+| Timeout | 22.5% |
+
+Stale issues ([found to occur in releases 1.12 and 1.17](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22has+reproducible+steps%22+-label%3A%22found+in+release%3A+1.22%22+-label%3A%22found+in+release%3A+1.23%22+-label%3A%22found+in+release%3A+1.24%22+-label%3A%22found+in+release%3A+1.25%22+-label%3A%22passed+first+triage%22+-label%3A%22severe%3A+new+feature%22+-label%3Aproposal+-label%3A%22found+in+release%3A+1.21%22+-label%3A%22found+in+release%3A+1.20%22+-label%3A%22found+in+release%3A+1.26%22+)) checked 39, closed 5 (13%) --- most issues are still reproducible with the latest versions
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 2 |
+| Fixed | 3 |
+
+New Flutterfire issues triaged 29, closed 6 (21%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 3 |
+| Duplicate | 3 |
+
+## 2021-01-08
+
+### Notable issues
+
+* Holding backspace in textfield stops sporadically on Samsung devices: [#73433](https://github.com/flutter/flutter/issues/73433)
+* Play Console Crash - abort / signal 11 (SIGSEGV), code 1 (SEGV_MAPERR): [#73342](https://github.com/flutter/flutter/issues/73342)
+* [web] DateTime.microsecondsSinceEpoch on Flutter web is different compared to Flutter mobile: [#73334](https://github.com/flutter/flutter/issues/73334)
+* [Image_Picker] does not load images in release mode and throws PlatformException on second tentative: [#72759](https://github.com/flutter/flutter/issues/72759)
+
+### Issue counts
+
+New Flutter issues triaged 237, closed 78 (33%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 53.8% |
+| Duplicate | 33.3% |
+| Fixed | 3.8% |
+| Solved | 9.0% |
+
+Issues closed from iterations 116
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 18.3% |
+| Duplicate | 5.2% |
+| Fixed | 13.9% |
+| Solved | 9.6% |
+| Timeout | 53.0% |
+
+Stale issues ([found to occur in releases 1.12 and 1.17](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22has+reproducible+steps%22+-label%3A%22found+in+release%3A+1.22%22+-label%3A%22found+in+release%3A+1.23%22+-label%3A%22found+in+release%3A+1.24%22+-label%3A%22found+in+release%3A+1.25%22+-label%3A%22passed+first+triage%22+-label%3A%22severe%3A+new+feature%22+-label%3Aproposal+-label%3A%22found+in+release%3A+1.21%22+-label%3A%22found+in+release%3A+1.20%22+-label%3A%22found+in+release%3A+1.26%22+)) checked 33, closed 8 (24%)
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 1 |
+| Fixed | 7 |
+
+New Flutterfire issues triaged 27, closed 6 (22%)
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 4 |
+| Duplicate | 1 |
+| Solved | 1 |
\ No newline at end of file
diff --git a/docs/unsorted_wiki/2022---Issue-Triage-Reports.md b/docs/unsorted_wiki/2022---Issue-Triage-Reports.md
new file mode 100644
index 0000000..168ab1a
--- /dev/null
+++ b/docs/unsorted_wiki/2022---Issue-Triage-Reports.md
@@ -0,0 +1,3372 @@
+## 2022-12-30
+
+### Notable issues
+
+- [go_router] location does not update properly when .go() is called for more than two depth [#117671](https://github.com/flutter/flutter/issues/117671)
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 113, closed 37 (32.74%).
+
+In total closed 78 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 19.2% |
+| Fixed | 30.8% |
+| Invalid | 43.6% |
+| Solved | 6.41% |
+
+Issues closed due to inactivity: 21
+
+#### Flutter/website
+
+New website issues triaged 8, closed 0 (0%)
+
+In total closed 7 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+#### Googleads-mobile-flutter
+
+No issues triaged during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 12, closed 3 (25%).
+
+In total closed 25 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 10.5% |
+| fixed | 31.6% |
+| invalid | 10.5% |
+| no-response | 26.3% |
+| solution-provided | 15.8% |
+| user issue | 5.3% |
+
+
+## 2022-12-23
+
+### Notable issues
+
+No notable issues this week
+
+### Old Issues receiving attention lately
+
+No notable issues this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 143, closed 42 (29.37%).
+
+In total closed 85 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 21.2% |
+| Fixed | 37.6% |
+| Invalid | 32.9% |
+| Solved | 8.2% |
+
+Issues closed due to inactivity: 34
+
+#### Flutter/website
+
+New website issues triaged 2, closed 1 (50%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+
+#### dart-lang/site-www
+
+New dart website issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 1 (33.33%).
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 3 (15.79%).
+
+In total closed 18 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 5.56% |
+| invalid | 27.78% |
+| no-response | 38.89% |
+| solution-provided | 16.67% |
+| user issue | 11.11% |
+
+## 2022-12-16
+
+### Notable issues
+
+No notable issues this week
+
+### Old Issues receiving attention lately
+
+- Android crash: Fatal Exception: java.lang.RuntimeException java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/system/framework/org.apache.http.legacy.boot.jar"........ [#83596](https://github.com/flutter/flutter/issues/83596)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 157, closed 49 (31.21%).
+
+In total closed 108 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22.2% |
+| Fixed | 35.2% |
+| Invalid | 32.4% |
+| Solved | 10.2% |
+
+Issues closed due to inactivity: 22
+
+#### Flutter/website
+
+New website issues triaged 7, closed 2 (28.57%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Invalid | 50% |
+
+
+#### dart-lang/site-www
+
+New dart website issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 0, closed 0 (0.0%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Solved | 50% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 23, closed 4 (17.39%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 27.27% |
+| fixed | 18.18% |
+| invalid | 9.09% |
+| no-response | 36.36% |
+| user issue | 9.09% |
+
+
+## 2022-12-09
+
+### Notable issues
+
+- Access violation in flutter_windows.dll when calling `FlutterEngine::Run` [#116753](https://github.com/flutter/flutter/issues/116753)
+
+### Old Issues receiving attention lately
+
+- [camera] Android 13 crash when initializing camera - This issue has been getting a bit of traction recently and as per Play Store guidelines, apps should target API 33 by August 2023. This issue prevents apps using `camera` to update their targetSdk to 33 [#109769](https://github.com/flutter/flutter/issues/109769)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 157, closed 55 (35.03%).
+
+In total closed 114 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 23.7% |
+| Fixed | 29.8% |
+| Invalid | 33.3% |
+| Solved | 13.2% |
+
+Issues closed due to inactivity: 28
+
+#### Flutter/website
+
+New website issues triaged 4, closed 0 (0.00%)
+
+In total closed 17 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+New dart website issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 1 (16.67%).
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 18, closed 3 (16.67%).
+
+In total closed 16 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 6.25% |
+| fixed | 37.50% |
+| invalid | 12.50% |
+| no-response | 31.25% |
+| solution-provided | 12.50% |
+
+## 2022-12-02
+
+### Notable issues
+
+No major issues to report this week.
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 146, closed 63 (43.15%).
+
+In total closed 120 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 32.50% |
+| Fixed | 30.83% |
+| Invalid | 30.83% |
+| Solved | 5.83% |
+
+Issues closed due to inactivity: 42
+
+#### Flutter/website
+
+New website issues triaged 7, closed 1 (14.29%)
+
+In total closed 2 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 50% |
+| Duplicate | 50% |
+
+
+#### dart-lang/site-www
+
+New dart website issues triaged 1, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 1 (25%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 4 (19.05%).
+
+In total closed 25 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 8% |
+| fixed | 44% |
+| invalid | 8% |
+| no-response | 20% |
+| solution-provided | 16% |
+| user issue | 4% |
+
+
+## 2022-11-25
+
+### Notable issues
+
+- [go_router] Navigating back does not update router location since go_router 5.2.0 [#115832](https://github.com/flutter/flutter/issues/115832)
+- [go_router] 5.2.0 `push` doesn't update the URL anymore. [#115962](https://github.com/flutter/flutter/issues/115962)
+- Flutter 3.4.0+ regression in code coverage computation [#115719](https://github.com/flutter/flutter/issues/115719)
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 170, closed 66 (38.24%).
+
+In total closed 124 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 23.4% |
+| Fixed | 32.3% |
+| Invalid | 33.9% |
+| Solved | 10.5% |
+
+Issues closed due to inactivity: 34
+
+#### Flutter/website
+
+No issues triaged during the week
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 1 (20%).
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 75% |
+| Solved | 25% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 17, closed 7 (41.18%).
+
+In total closed 21 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 14.29% |
+| fixed | 23.81% |
+| invalid | 28.57% |
+| no-response | 4.76% |
+| solution-provided | 23.81% |
+| user issue | 4.76% |
+
+
+## 2022-11-18
+
+### Notable issues
+
+No issues to report for this week
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 176, closed 66 (37.5%).
+
+In total closed 121 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 17.36% |
+| Fixed | 34.71% |
+| Invalid | 40.50% |
+| Solved | 7.44% |
+
+Issues closed due to inactivity: 27
+
+#### Flutter/website
+
+New Flutter website issues triaged 2, closed 0 (0%).
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 66.7% |
+| Invalid | 33.3% |
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 0 (0%).
+
+No issues closed during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 7 (31.82%).
+
+In total closed 25 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 16% |
+| fixed | 36% |
+| invalid | 12% |
+| no-response | 8% |
+| solution-provided | 16% |
+| user issue | 12% |
+
+
+## 2022-11-11
+
+### Notable issues
+
+- `flutter upgrade` fails on Windows/ARM because of locked cache folder [#114753](https://github.com/flutter/flutter/issues/114753)
+
+### Old Issues receiving attention lately
+
+- The following assertion was thrown running a test: `'package:flutter_test/src/binding.dart': Failed assertion: line 567 pos 14: '_pendingExceptionDetails != null'` [#34499](https://github.com/flutter/flutter/issues/34499)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 184, closed 81 (44.02%).
+
+In total closed 145 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.6% |
+| Fixed | 25.5% |
+| Invalid | 35.9% |
+| Solved | 11.0% |
+
+Issues closed due to inactivity: 28
+
+#### Flutter/website
+
+New Flutter website issues triaged 11, closed 1 (9.09%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Invalid | 50% |
+
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+In total 1 issue closed during the week
+
+| Reason for closing| |
+| -- | -- |
+| Duplicate | 100% |
+
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 0 (0%).
+
+No issues closed during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 27, closed 5 (18.52%).
+
+In total closed 22 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 27.27% |
+| fixed | 18.18% |
+| invalid | 9.09% |
+| no-response | 9.09% |
+| solution-provided | 18.18% |
+| user issue | 18.18% |
+
+
+
+## 2022-11-04
+
+### Notable issues
+
+- [iOS] There is an error when typing Korean using the Chunjiin(Korean 10 key) keyboard [#112369](https://github.com/flutter/flutter/issues/112369)
+
+### Old Issues receiving attention lately
+
+- [web][regression] text autofill doesn't work [#86497](https://github.com/flutter/flutter/issues/86497)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 177, closed 62 (35.03%).
+
+In total closed 115 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.7% |
+| Fixed | 18.3% |
+| Invalid | 47.0% |
+| Solved | 13.0% |
+
+Issues closed due to inactivity: 31
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed 1 (12.5%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 1 (20%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| solved | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 29, closed 10 (34.48%).
+
+In total closed 27 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 18.52% |
+| fixed | 22.22% |
+| invalid | 25.93% |
+| no-response | 7.41% |
+| solution-provided | 11.11% |
+| user issue | 11.11% |
+| wontfix | 3.70% |
+
+
+
+## 2022-10-28
+
+### Notable issues
+
+No major issues to report for this week
+
+### Old Issues receiving attention lately
+
+No major issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 146, closed 55 (37.67%).
+
+In total closed 92 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.17% |
+| Fixed | 28.26% |
+| Invalid | 38.04% |
+| Solved | 6.52% |
+
+
+#### Flutter/website
+
+New Flutter website issues triaged 3, closed 0 (%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+New Dart Websites Issues triage 1, closed 0 (0%)
+
+No issues closed during the week
+
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 2 (40%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 25, closed 6 (24%).
+
+In total closed 10 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 10% |
+| invalid | 30% |
+| solution-provided | 30% |
+| user issue | 30% |
+
+
+## 2022-10-21
+
+### Notable issues
+
+No major issues to report for this week
+
+### Old Issues receiving attention lately
+
+- [video_player] Better exception message on iOS devices if the video fails to play. [#56665](https://github.com/flutter/flutter/issues/56665)
+- [Android][Samsung]: Tapping on special characters button from virtual keyboard triggers `CastError` [#97634](https://github.com/flutter/flutter/issues/97634)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 160, closed 67 (41.88%).
+
+In total closed 137 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 21.2% |
+| Fixed | 24.1% |
+| Invalid | 29.2% |
+| Solved | 10.9% |
+| Timeout | 14.6% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed 1 (12.5%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+
+#### dart-lang/site-www
+
+New Dart Websites Issues triaged 1, closed 0 (0%)
+
+No issues closed during the week
+
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 0 (0%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 8 (40%).
+
+In total closed 39 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 2.56% |
+| fixed | 61.54% |
+| invalid | 15.38%|
+| no-response | 12.82% |
+| solution-provided | 2.56% |
+| user issue | 5.13% |
+
+
+## 2022-10-14
+
+### Notable issues
+
+Graphical glitches during scrolling on weak Android TV devices [#113314](https://github.com/flutter/flutter/issues/113314)
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 161, closed 52 (32.3%).
+
+In total closed 126 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20.6% |
+| Fixed | 14.3% |
+| Invalid | 40.5% |
+| Solved | 11.1% |
+| Timeout | 13.5% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 3, closed 0 (0%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 1 (100%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 50% |
+| solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 4 (26.67%).
+
+In total closed 14 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 7.14% |
+| fixed | 14.29% |
+| invalid | 21.43%|
+| no-response | 35.71% |
+| solution-provided | 14.29% |
+| user issue | 7.14% |
+
+
+## 2022-10-07
+
+### Notable issues
+
+No major issues to report this week
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 156, closed 56 (35.9%).
+
+In total closed 156 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22.44% |
+| Fixed | 19.23% |
+| Invalid | 32.05% |
+| Solved | 9.62% |
+| Timeout | 16.67% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 5, closed 0 (0%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 2 (50%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 7 (33.33%).
+
+In total closed 16 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 12.5% |
+| fixed | 18.8% |
+| invalid | 25.0%|
+| no-response | 18.8% |
+| solution-provided | 12.5% |
+| user issue | 12.5% |
+
+
+## 2022-09-30
+
+### Notable issues
+
+No major issues to report this week
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 170, closed 68 (40%).
+
+In total closed 138 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 24.6% |
+| Fixed | 15.2% |
+| Invalid | 31.9% |
+| Solved | 10.1% |
+| Timeout | 18.1% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 4, closed 1 (25%).
+
+In total closed 7 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 71.4% |
+| Invalid | 28.6% |
+
+
+#### dart-lang/site-www
+
+New Dart Website issues triaged 1, closed 0 (0%).
+
+No issues closed during the week
+
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 1 (100%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| solved | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 7 (36.84%).
+
+In total closed 34 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 2.94% |
+| fixed | 17.65% |
+| invalid | 14.71%|
+| no-response | 17,65% |
+| solution-provided | 20.59% |
+| user issue | 26.47% |
+
+
+## 2022-09-23
+
+### Notable issues
+
+- [Stable 3.3+] Rendering issues (Artefacting / Half-rendered widgets) [#111376](https://github.com/flutter/flutter/issues/111376)
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 195, closed 77 (39.49%).
+
+In total closed 148 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 25.7% |
+| Fixed | 23.0% |
+| Invalid | 29.1% |
+| Solved | 11.5% |
+| Timeout | 10.8% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 0 (0%).
+
+In total closed 9 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 88.9% |
+| WontFix | 11.1% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 1 (25%).
+
+In total closed 3 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| solved | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 6 (27.27%).
+
+In total closed 17 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 17.65% |
+| fixed | 35.29% |
+| invalid | 11.76%|
+| no-response | 23.53% |
+| solution-provided | 5.88% |
+| user issue | 5.88% |
+
+
+## 2022-09-16
+
+### Notable issues
+
+- Signing errors on iOS Pods in XCode 14 [#111475](https://github.com/flutter/flutter/issues/111475)
+- [iOS 16][video_player] Some videos only play audio with no video [#111457](https://github.com/flutter/flutter/issues/111457)
+- [iOS 16] Flutter apps crash when text and emoji are combined [#111494](https://github.com/flutter/flutter/issues/111494)
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 175, closed 77 (44%).
+
+In total closed 142 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 23.94% |
+| Fixed | 21.13% |
+| Invalid | 33.10% |
+| Solved | 8.45% |
+| Timeout | 13.38% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 2, closed 0 (0%).
+
+In total closed 7 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 71.4% |
+| Invalid | 14.3% |
+| WontFix | 14.3% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 2, closed 1 (50%).
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 0 (0%).
+
+No issues closed during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 31, closed 9 (29.03%).
+
+In total closed 19 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 26.32% |
+| fixed | 26.32% |
+| invalid | 15.79%|
+| no-response | 15.79% |
+| solution-provided | 10.53% |
+| user issue | 5.26% |
+
+
+## 2022-09-09
+
+### Notable issues
+
+- Flutter 3.3.0 Fatal Exception: java.lang.AssertionError: Unexpected masked action [#111068](https://github.com/flutter/flutter/issues/111068)
+- [camera] Android 13 crash when initializing camera [#109769](https://github.com/flutter/flutter/issues/109769)
+
+### Old Issues receiving attention lately
+
+No issues to report this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 169, closed 60 (35.5%).
+
+In total closed 124 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 21.0% |
+| Fixed | 19.4% |
+| Invalid | 33.9% |
+| Solved | 10.5% |
+| Timeout | 15.3% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 13, closed 4 (30.77%).
+
+In total closed 21 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 4.76% |
+| Fixed | 76.19% |
+| Invalid | 19.05% |
+
+
+#### dart-lang/site-www
+
+New Dart website issues triaged 1, closed 0.
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 2 (40%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 33.3% |
+| Invalid | 33.3% |
+| Solved | 33.3% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 24, closed 10 (41.67%).
+
+In total closed 27 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 3.7%|
+| Fixed | 22.2% |
+| Invalid | 22.2% |
+| No response | 25.9% |
+| Solution provided | 22.2% |
+| User issue | 3.7% |
+
+## 2022-09-02
+
+### Notable issues
+
+- Text anti-aliasing broken in Flutter 3.3.0 [#110738](https://github.com/flutter/flutter/issues/110738)
+- [Flutter 3.3+] App crashes when using CachedNetworkImage [#110715](https://github.com/flutter/flutter/issues/110715)
+- App crashes on latest versions when `AnimatedContainer / Container`height is set to 0 and throws `uncaught exception 'NSInternalInconsistencyException', reason: 'Transformed points can't form a rect'` [#110671](https://github.com/flutter/flutter/issues/110671)
+
+### Old issues receiving attention lately
+
+No issues to report this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 186, closed 71 (38.17%).
+
+In total closed 115 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 33.91% |
+| Fixed | 21.74% |
+| Invalid | 25.22% |
+| Solved | 9.57% |
+| Timeout | 9.57% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 5, closed 0 (0%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 1 (33.33%).
+
+Closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 17, closed 3 (17.65%).
+
+In total closed 8 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 25%|
+| no-response | 25% |
+| solution-provided | 25% |
+| user issue | 25% |
+
+
+## 2022-08-26
+
+### Notable issues
+
+No issues to report this week
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 195, closed 81 (41.54%).
+
+In total closed 113 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 33.63% |
+| Fixed | 13.27% |
+| Invalid | 38.05% |
+| Solved | 9.73% |
+| Timeout | 5.31% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 2, closed 0 (0%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 1 (25%).
+
+Closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| solved | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 26, closed 9 (34.62%).
+
+In total closed 57 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 8.77% |
+| fixed | 7.02% |
+| invalid | 5.26%|
+| no-response | 43.86% |
+| solution-provided | 19.30% |
+| user issue | 15.79% |
+
+## 2022-08-19
+
+### Notable issues
+
+- [Flutter 3] TextStyle foreground doesn’t render properly [#109595](https://github.com/flutter/flutter/issues/109595)
+- `FilterQuality` is not working as expected for Hi-res images [#109637](https://github.com/flutter/flutter/issues/109637)
+
+### Old Issues receiving attention lately
+- [webview_flutter][android] webview crashes when embedded in a scrollview [#104889](https://github.com/flutter/flutter/issues/104889)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 151, closed 53 (35.1%).
+
+In total closed 116 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22.4% |
+| Fixed | 19.0% |
+| Invalid | 29.3% |
+| Solved | 11.2% |
+| Timeout | 18.1% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 5, closed 0 (0%).
+
+In total closed 5 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20% |
+| Fixed | 60% |
+| WontFix | 20% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 0 (0%).
+
+No issues closed during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 4 (26.67%).
+
+In total closed 15 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 6.67% |
+| invalid | 33.33%|
+| no-response | 26.67% |
+| solution-provided | 13.33% |
+| user issue | 20.00% |
+
+
+## 2022-08-12
+
+### Notable issues
+
+- [Android]Crash on background isolate in release mode [#109248](https://github.com/flutter/flutter/issues/109248)
+- Flutter web cannot render high-resolution images which are resolution aware [#109109](https://github.com/flutter/flutter/issues/109109)
+- FlutterEngineConnectionRegistry `getIntent().getBooleanExtra()` throws NullPointerException (NPE) [#109364](https://github.com/flutter/flutter/issues/109364)
+
+### Old Issues receiving attention lately
+- Nothing to report here
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 126, closed 42 (33.33%).
+
+In total closed 106 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 11.23% |
+| Fixed | 24.53% |
+| Invalid | 36.79% |
+| Solved | 7.55% |
+| Timeout | 19.81% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 4, closed 0 (0%).
+
+In total closed 13 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 7.69% |
+| Fixed | 84.62% |
+| WontFix | 7.69% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 2, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 1 (33.33%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 100% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 23, closed 7 (30.43%).
+
+In total closed 23 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 17.4% |
+| invalid | 34.8%|
+| no-response | 21.7% |
+| solution-provided | 8.7% |
+| user issue | 17.4% |
+
+
+## 2022-08-05
+
+### Notable issues
+
+- [Add-to-App] Flutter gradle plugin (flutter.gradle) fails the build when using AGP 7.2 [#108818](https://github.com/flutter/flutter/issues/108818)
+
+### Old Issues receiving attention lately
+- Nothing to report here
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 155, closed 58 (37.42%).
+
+In total closed 116 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 19.83% |
+| Fixed | 25.86% |
+| Invalid | 32.76% |
+| Solved | 6.03% |
+| Timeout | 15.52% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed 1 (12.5%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 4 (66.67%).
+
+In total closed 7 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 14.3% |
+| Fixed | 14.3% |
+| Invalid | 42.9% |
+| Solved | 28.6% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 6 (40%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 27.27% |
+| fixed | 9.09% |
+| invalid | 9.09%|
+| no-response | 18.18% |
+| solution-provided | 27.27% |
+| user issue | 9.09% |
+
+
+## 2022-07-29
+
+### Notable issues
+
+- Nothing major to report this week
+
+### Old Issues receiving attention lately
+
+- [tool_crash] FileSystemException: Failed to decode data using encoding 'utf-8', null (Multiple duplicates have been filed in recent months) [#65021](https://github.com/flutter/flutter/issues/65021)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 156, closed 69 (44.23%).
+
+In total closed 128 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.34% |
+| Fixed | 20.31% |
+| Invalid | 35.94% |
+| Solved | 7.03% |
+| Timeout | 9.38% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 3 (50%).
+
+In total closed 7 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 14.3% |
+| Fixed | 57.1% |
+| Invalid | 28.6% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 1 (16.67%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 50% |
+| Solved | 50% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 35, closed 10 (28.57%).
+
+In total closed 48 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 16.67% |
+| fixed | 22.92% |
+| invalid | 22.92%|
+| no-response | 16.67% |
+| solution-provided | 18.75% |
+| user issue | 2.08% |
+
+
+## 2022-07-22
+
+### Notable issues
+
+- [tool][add-2-app] Debug and Profile modules are generated when passing `--no-debug` and `--no-profile` flags [#108000](https://github.com/flutter/flutter/issues/108000)
+
+### Old Issues receiving attention lately
+
+Nothing major to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 171, closed 71 (41.52%).
+
+In total closed 142 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 21.83% |
+| Fixed | 26.06% |
+| Invalid | 31.69% |
+| Solved | 11.97% |
+| Timeout | 8.45% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 4, closed 0 (0%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 50% |
+| Invalid | 50% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 0, closed 0 (0%).
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Solved | 100% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 43, closed 22 (51.16%).
+
+In total closed 47 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 23.40% |
+| fixed | 10.64% |
+| invalid | 25.53%|
+| no-response | 8.51% |
+| solution-provided | 29.79% |
+| user issue | 2.13% |
+
+
+## 2022-07-15
+
+### Notable issues
+
+- App crashes when rendering emoji text [#107509](https://github.com/flutter/flutter/issues/107509)
+
+### Old Issues receiving attention lately
+
+Nothing major to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 165, closed 63 (38.18%).
+
+In total closed 122 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.87% |
+| Fixed | 26.23% |
+| Invalid | 30.33% |
+| Solved | 5.74% |
+| Timeout | 9.84% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 4, closed 0 (0%).
+
+In total closed 7 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 1 (25%).
+
+In total closed 5 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 20% |
+|Invalid | 80% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 31, closed 9 (29.03%).
+
+In total closed 24 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 12.50% |
+| fixed | 4.71% |
+| invalid | 45.83%|
+| no-response | 20.33% |
+| solution-provided | 8.33% |
+| user issue | 8.33% |
+
+
+## 2022-07-08
+
+### Notable issues
+
+Nothing major to report this week
+
+### Old Issues receiving attention lately
+
+Nothing major to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 169, closed 72 (42.6%).
+
+In total closed 110 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20.00% |
+| Fixed | 23.64% |
+| Invalid | 40.91% |
+| Solved | 7.27% |
+| Timeout | 8.18% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 5, closed 1 (20%).
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 83.3% |
+| Invalid | 16.7% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 11, closed 2 (18.18%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 5 (22.73%).
+
+In total closed 15 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 13.3% |
+| fixed | 13.3% |
+| invalid | 20.0%|
+| solution-provided | 33.3% |
+| user issue | 20.0% |
+
+
+## 2022-07-01
+
+### Notable issues
+
+- [IOS]Image.toByteData() is super slow on Flutter 3 [#106773](https://github.com/flutter/flutter/issues/106773)
+
+### Old Issues receiving attention lately
+
+Nothing major to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 171, closed 69 (40.35%).
+
+In total closed 121 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 17.36% |
+| Fixed | 24.79% |
+| Invalid | 37.19% |
+| Solved | 11.57% |
+| Timeout | 9.09% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 4, closed 2 (50%).
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 66.7% |
+| Invalid | 33.3% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 0 (0%).
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 32, closed 7 (21.88%).
+
+In total closed 18 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33.3% |
+| fixed | 22.22% |
+| invalid | 5.56%|
+| no-response | 16.67% |
+| solution-provided | 22.22% |
+
+## 2022-06-17
+
+### Notable issues
+
+Nothing major to report this week
+
+### Old Issues receiving attention lately
+
+Nothing major to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 177, closed 70 (39.55%).
+
+In total closed 108 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 25.00% |
+| Fixed | 12.96% |
+| Invalid | 40.74% |
+| Solved | 13.89% |
+| Timeout | 7.41% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 10, closed 2 (20%).
+
+In total closed 11 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 81.8% |
+| Invalid | 18.2% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 1 (25%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Solved | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 23, closed 2 (8.7%).
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 25% |
+| fixed | 25% |
+| invalid | 50%|
+
+
+## 2022-06-10
+
+### Notable issues
+- CupertinoPageRoute affecting color of Scaffold beneath transparent Widget
+ [#105738](https://github.com/flutter/flutter/issues/105738)
+- Text Shadows are not working after upgrading to flutter 3 [#105546](https://github.com/flutter/flutter/issues/105546)
+- [ios] Multiple Rebuild issue on opening a keyboard [#105184](https://github.com/flutter/flutter/issues/105184)
+- Broken or Corrupted image cause runtime error [#105184](https://github.com/flutter/flutter/issues/105184)
+
+### Old Issues receiving attention lately
+- [Web] No autofill suggestions for new or existing save passwords and selected suggested password is not filled [#87735](https://github.com/flutter/flutter/issues/87735)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 197, closed 85 (43.15%).
+
+In total closed 138 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.54% |
+| Fixed | 13.77% |
+| Invalid | 42.03% |
+| Solved | 12.23% |
+| Timeout | 4.35% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 1 (16.67%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 50% |
+| Invalid | 50% |
+
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 1 (16.67%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 25, closed 9 (36%).
+
+In total closed 16 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 31.25% |
+| fixed | 12.50% |
+| invalid | 12.50%|
+| no response | 18.75% |
+| solution provided | 6.25% |
+| user issue | 18.75% |
+
+
+## 2022-06-03
+
+### Notable issues
+- There have been several reports on this issue on various community channels. Platform views are drawn at the wrong position and don't fill the parent [#103630](https://github.com/flutter/flutter/issues/103630)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 198, closed 85 (42.93%).
+
+In total closed 152 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 30.92% |
+| Fixed | 20.39% |
+| Invalid | 32.24% |
+| Solved | 10.53% |
+| Timeout | 5.92% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 0 (0%).
+
+No issues closed during the week
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 1 (33.33%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 5 (33.33%).
+
+In total closed 18 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 22.2% |
+| fixed | 16.7% |
+| invalid | 11.1%|
+| no response | 33.3% |
+| solution provided | 16.7% |
+
+
+## 2022-05-27
+
+### Notable issues
+- [android] Platform views obstruct other views on android 5.1 [#104444](https://github.com/flutter/flutter/issues/104444)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 221, closed 99 (44.8%).
+
+In total closed 173 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 40.46% |
+| Fixed | 17.34% |
+| Invalid | 23.12% |
+| Solved | 15.61% |
+| Timeout | 3.47% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 11, closed 5 (45.45%).
+
+In total, closed 13 issues during the week.
+
+| Reason for closing| |
+| -- | -- |
+| Duplicate| 15.38% |
+| Fixed | 53.85% |
+| Invalid | 23.08% |
+| Wont Fix | 7.69% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 1 (20%).
+
+In total closed 2 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Fixed | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 27, closed 5 (18.52%).
+
+In total closed 10 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 20% |
+| fixed | 20% |
+| invalid | 20%|
+| no response | 10% |
+| solution provided | 20% |
+| user issue| 10% |
+
+## 2022-05-20
+
+### Notable issues
+- [Flutter 3.0 Web] Image.toByteData fails with error: Uncaught (in promise) Error: Failed to encode the image into bytes [#104197](https://github.com/flutter/flutter/issues/104197)
+- [Flutter 3]TextPainter does not respect the height factor of text style [#104153](https://github.com/flutter/flutter/issues/104153)
+- [Flutter 3] Arabic text renders incorrectly in TextSpan [#104092](https://github.com/flutter/flutter/issues/104092)
+- Spellcheck on Flutter Web [#40682](https://github.com/flutter/flutter/issues/40682)
+ - This is an old issue, but it has been getting some attention recently
+- Dart 2.17's enums are causing issues on the web when the `name` variable is added as a property.
+ - Dart-lang issue [#49021](https://github.com/dart-lang/sdk/issues/49021)
+ - Reports in flutter [#104189](https://github.com/flutter/flutter/issues/104189),[#103874](https://github.com/flutter/flutter/issues/103874)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 236, closed 98 (41.53%).
+
+In total closed 165 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 30.9% |
+| Fixed | 21.8% |
+| Invalid | 33.9% |
+| Solved | 13.3% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 9, closed 1 (11.11%).
+
+In total, closed 2 issues during the week.
+
+| Reason for closing| |
+| -- | -- |
+| fixed | 50% |
+| invalid | 50% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 0 (0%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 9 (47.37%).
+
+In total closed 17 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 35.3% |
+| fixed | 17.6% |
+| invalid | 23.5%|
+| no response | 11.8% |
+| user issue| 11.8% |
+
+## 2022-05-13
+
+### Notable issues
+
+- 'WidgetsBinding' runtime warnings using 3.0.0 stable release [#103561](https://github.com/flutter/flutter/issues/103561)
+ - Other similar issues that seem to have the same root cause: [#103648](https://github.com/flutter/flutter/issues/103648), [#103614](https://github.com/flutter/flutter/issues/103614), [#103571](https://github.com/flutter/flutter/issues/103571)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 201, closed 77 (38.31%).
+
+In total closed 110 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 38.18% |
+| Fixed | 14.55% |
+| Invalid | 39.09% |
+| Solved | 8.18% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed none.
+
+#### dart-lang/site-www
+
+No new New Dart site issues triaged. No issues closed.
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 1 (100%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 31, closed 6 (19.35%).
+
+In total closed 12 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 25.00% |
+| fixed | 25.00% |
+| invalid | 16.67%|
+| no response | 16.67% |
+| solution provided | 8.33% |
+| user issue| 8.33% |
+
+## 2022-05-06
+
+### Notable issues
+
+- [windows] Camera Plugin Fails to show preview with Error `Could not create external texture` [#102925](https://github.com/flutter/flutter/issues/102925)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 113, closed 42 (37.17%).
+
+In total closed 90 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 28.3% |
+| Fixed | 23.9% |
+| Invalid | 39.1% |
+| Solved | 8.7% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 5, closed 2 (40%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 66.7% |
+| Invalid | 33.3% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 1 (100%).
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 1 (50%).
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 50% |
+| solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 5 (22.73%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 27.27% |
+| fixed | 36.36% |
+| invalid | 18.18%|
+| no-response | 9.09% |
+| solution-provided | 9.09% |
+
+## 2022-04-22
+
+### Notable issues
+
+- [image_picker][M1 simulator] PlatformException(multiple_request, Cancelled by a second request, null, null) when picking the first default image from the ios simulator [#82602](https://github.com/flutter/flutter/issues/82602) This is an old issue that has been getting quite a bit of attention recently
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 177, closed 59 (33.33%).
+
+In total closed 108 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20.370% |
+| Fixed | 19.444% |
+| Invalid | 45.370% |
+| Solved | 13.889% |
+| Timeout | 0.926% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 3, closed 1 (33.33%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 14.3% |
+| Fixed | 71.4% |
+| Invalid | 14.3% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 1 (20%).
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 14, closed 4 (28.57%).
+
+In total closed 10 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 20% |
+| invalid | 20%|
+| no-response | 20% |
+| solution-provided | 40% |
+
+## 2022-04-22
+
+### Notable issues
+
+- [Regression][iOS]: os.activity library is broken in Flutter 2.13 [#102330](https://github.com/flutter/flutter/issues/102330)
+- Can't paste into TextField when copying from Samsung Notes, MS Word, and MS Excel on Android
+[#74320](https://github.com/flutter/flutter/issues/74320)
+- [WEB] TextField actions are not triggered on Android [#89384](https://github.com/flutter/flutter/issues/89384)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 179, closed 61 (34.08%).
+
+In total closed 126 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26.2% |
+| Fixed | 24.6% |
+| Invalid | 34.9% |
+| Solved | 14.3% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 7, closed 1 (14.29%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 66.7% |
+| Invalid | 33.3% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 0 (0%).
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 8 (38.1%).
+
+In total closed 21 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 9.52% |
+| fixed | 14.29% |
+| invalid | 19.05%|
+| no-response | 23.81% |
+| solution-provided | 19.05% |
+| user | 14.29% |
+
+## 2022-04-14
+
+### Notable issues
+
+No issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 143, closed 58 (40.56%).
+
+In total closed 87 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 29.89% |
+| Fixed | 17.24% |
+| Invalid | 47.13% |
+| Solved | 5.75% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 3, closed 1 (33.33%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 66.7% |
+| Invalid | 33.3% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 1 (50%).
+
+In total closed 3 issues during the week.
+
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33.3% |
+| fixed | 33.3% |
+| solved | 33.3% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 16, closed 4 (25%).
+
+In total closed 13 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 23.08% |
+| invalid | 23.08%|
+| no-response | 38.46% |
+| solution-provided | 7.69% |
+| user | 7.69% |
+
+## 2022-04-08
+
+### Notable issues
+
+- [WEB] Rendering issue after opening keyboard on IOS [#101288](https://github.com/flutter/flutter/issues/101288)
+- Modal bottom sheets created using showModalBottomSheet get cut off by the system navigation [#101247](https://github.com/flutter/flutter/issues/101247) (This is a regression in `beta` which has been fixed on `master`)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 204, closed 86 (42.16%).
+
+In total closed 138 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 28.261% |
+| Fixed | 15.942% |
+| Invalid | 41.304% |
+| Solved | 13.768% |
+| Timeout | 0.725% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 5, closed 0 (0%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 0 (0%).
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 5 (22.73%).
+
+In total closed 29 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 6.90% |
+| fixed | 31.03% |
+| invalid | 24.14%|
+| no-response | 10.34% |
+| solution-provided | 24.14% |
+| user | 3.45% |
+
+## 2022-04-01
+
+### Notable issues
+
+- Opacity clips SingleChildScrollView content [#101110](https://github.com/flutter/flutter/issues/101110)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 193, closed 71 (36.79%).
+
+In total closed 118 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.12% |
+| Fixed | 21.19% |
+| Invalid | 43.22% |
+| Solved | 8.47% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 6, closed 2 (33.33%).
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Fixed | 50% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 0 (0%).
+
+#### Flutterfire
+
+New Flutterfire issues triaged 17, closed 4 (23.53%).
+
+In total closed 26 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 3.85% |
+| fixed | 26.92% |
+| invalid | 7.69%|
+| no-response | 34.62% |
+| solution-provided | 15.38% |
+| user | 11.54% |
+
+
+## 2022-03-25
+
+### Notable issues
+
+- [Regression]: Scrolling through the list shows spike in performance on latest beta and master. [#100523](https://github.com/flutter/flutter/issues/100523)
+- Flutter Module might not compile if they depend on a plugin which uses old kotlin version [#100613](https://github.com/flutter/flutter/issues/100613)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 179, closed 69 (38.55%).
+
+In total closed 122 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 24.6% |
+| Fixed | 21.3% |
+| Invalid | 40.2% |
+| Solved | 13.9% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed 2 (25%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 66.7% |
+| Fixed | 33.3% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 2 (66.67%).
+
+In total closed 3 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 33.3% |
+| invalid | 33.3% |
+| solved | 33.3% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 16, closed 3 (18.75%).
+
+In total closed 18 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 22.2% |
+| fixed | 11.1% |
+| invalid | 16.7%|
+| no-response | 27.8% |
+| solution-provided | 11.1% |
+| user | 11.1% |
+
+
+## 2022-03-18
+
+### Notable issues
+
+- [macOS][m1] App crashes in release mode upon app launch [#100348](https://github.com/flutter/flutter/issues/100348)
+- [Windows]: Null Safety Migration tool 404 error [#100134](https://github.com/flutter/flutter/issues/100134)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 205, closed 73 (35.61%).
+
+In total closed 114 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 21.1% |
+| Fixed | 14.9% |
+| Invalid | 47.4% |
+| Solved | 16.7% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 12, closed 1 (8.33%).
+
+In total closed 9 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 11.1% |
+| Fixed | 88.9% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 1 (33.33%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 25, closed 8 (32%).
+
+In total closed 25 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 8% |
+| fixed | 16% |
+| invalid | 24%|
+| no-response | 40% |
+| solution-provided | 8% |
+| user | 4% |
+
+
+
+## 2022-03-11
+
+### Notable issues
+
+- Displaying a Material icon from a Text widget with MaterialIcons fontFamily is not working in hotfix 2.10.3 [#99808](https://github.com/flutter/flutter/issues/99808)
+- TextField hint and input text go outside of given constraints. [#99914](https://github.com/flutter/flutter/issues/99914)
+- [Windows][Desktop]: debug build of template app not working using VS2019. Throwing Error `waiting for a debug connection: The log reader stopped unexpectedly, or never started` [#99915](https://github.com/flutter/flutter/issues/99915)
+- [Web][iOS]: Text field selection with obscuredText: true has grey selection [#99918](https://github.com/flutter/flutter/issues/99918)
+- [Web]: A multiline TextFormField doesn't trigger onFieldSubmitted [#99900](https://github.com/flutter/flutter/issues/99900)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 190, closed 52 (27.37%).
+
+In total closed 101 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26.7% |
+| Fixed | 20.8% |
+| Invalid | 29.7% |
+| Solved | 22.8% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 10, closed 2 (20%).
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Fixed | 50% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 1 (100%).
+
+In total close 4 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 50% |
+| fixed | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 24, closed 7 (29.17%).
+
+In total closed 25 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 8% |
+| fixed | 20% |
+| invalid | 36%|
+| no-response | 16% |
+| solution-provided | 16% |
+| user | 4% |
+
+
+
+## 2022-03-04
+
+### Notable issues
+
+- Flutter App freezes after animating for a few seconds [#99288](https://github.com/flutter/flutter/issues/99288)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 199, closed 68 (34.17%).
+
+In total closed 127 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 23.6% |
+| Fixed | 22.8% |
+| Invalid | 40.2% |
+| Solved | 13.4% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed 4 (50%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 28.6% |
+| Fixed | 42.9% |
+| Invalid | 28.6% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 1 (100%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 1 (20%).
+
+In total close 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 26, closed 8 (30.77%).
+
+In total closed 24 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 4.17% |
+| fixed | 25.00% |
+| invalid | 20.83%|
+| no-response | 33.33% |
+| solution-provided | 16.67% |
+
+
+## 2022-02-25
+
+### Notable issues
+
+- Using SystemChrome.setEnabledSystemUIMode in profile/release mode leads to blank screen (This only reproduces on `stable`) [#98973](https://github.com/flutter/flutter/issues/98973)
+- [Android] App crashes when rotating screen with drawer open (Profile & Release) (This only reproduces on `stable`) [#98955](https://github.com/flutter/flutter/issues/98955)
+- Ternary expression behaviour differs in debug mode from profile mode or release mode. A fix is in flight per [this comment](https://github.com/flutter/flutter/issues/98967#issuecomment-1050155558) [#98967](https://github.com/flutter/flutter/issues/98967)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 162, closed 70 (43.21%).
+
+In total closed 110 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 28.2% |
+| Fixed | 16.4% |
+| Invalid | 42.7% |
+| Solved | 12.7% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 9, closed 2 (22.22%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 1, closed 0 (0%).
+
+In total close 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 50% |
+| solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 7 (33.33%).
+
+In total closed 10 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 20% |
+| fixed | 10% |
+| invalid | 40%|
+| no-response | 10% |
+| solution-provided | 20% |
+
+## 2022-02-18
+
+### Notable issues
+
+- [ios][regression] Visual glitch when scrolling a list in a Scaffold that has a Material and Container as bottomNavigationBar [#98739](https://github.com/flutter/flutter/issues/98739)
+- Failing EditableText vertical caret movement tests [#98592](https://github.com/flutter/flutter/issues/98592)
+- [android][platform_views] Views are not properly updated on Android Q [#98722](https://github.com/flutter/flutter/issues/98722)
+- [windows] Crash: Can't locate continuation PC for deoptid 6 within package:flutter/src/widgets/framework.dart_StatefulElement_get__state@31042623 [#98682](https://github.com/flutter/flutter/issues/98682)
+- Issue with background isolate when obfuscating Android APK / AppBundle [#98475](https://github.com/flutter/flutter/issues/98475)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 223, closed 90 (40.36%).
+
+In total closed 146 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 33.6% |
+| Fixed | 15.1% |
+| Invalid | 37.7% |
+| Solved | 13.7% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 5, closed 0 (0%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 5, closed 0 (0%).
+
+#### Flutterfire
+
+New Flutterfire issues triaged 31, closed 8 (25.81%).
+
+In total closed 14 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 21.43% |
+| fixed | 7.14% |
+| invalid | 35.71%|
+| no-response | 14.29% |
+| solution-provided | 21.43% |
+
+## 2022-02-11
+
+### Notable issues
+
+- [stable 2.10] Snackbar with a BackdropFilter blurs entire screen [#98205](https://github.com/flutter/flutter/issues/98205)
+- TabController does not consistently update TabBarViews when same controller is used [#98087](https://github.com/flutter/flutter/issues/98087)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 232, closed 84 (36.21%).
+
+In total closed 136 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 30.9% |
+| Fixed | 19.9% |
+| Invalid | 31.6% |
+| Solved | 17.6% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 9, closed 4 (44.44%).
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 25% |
+| Fixed | 25% |
+| Invalid | 50% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 3, closed 1 (33.33%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 50% |
+| invalid | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 25, closed 10 (40%).
+
+In total closed 26 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 19.23% |
+| fixed | 7.69% |
+| invalid | 15.38%|
+| no-response | 34.62% |
+| solution-provided | 11.54% |
+| user | 11.54% |
+
+
+## 2022-02-04
+
+### Notable issues
+
+- [image_picker] Android application crashes with google_mobile_ads [#97267](https://github.com/flutter/flutter/issues/97267)
+- [stable 2.10] New material icons are not properly rendered [#97767](https://github.com/flutter/flutter/issues/97767)
+- [camera] Android 12 - camera plugin fails to take a photo, loads indefinitely [#92973](https://github.com/flutter/flutter/issues/92973)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 162, closed 70 (43.21%).
+
+In total closed 104 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 40.4% |
+| Fixed | 13.5% |
+| Invalid | 35.6% |
+| Solved | 10.6% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 10, closed 3 (30%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 33.3% |
+| Invalid | 66.7% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 2 (50%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 50% |
+| invalid | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 8 (36.36%).
+
+In total closed 16 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 12.5% |
+| fixed | 12.5% |
+| invalid | 25.0%|
+| no-response | 18.8% |
+| solution-provided | 18.8% |
+| user | 12.5% |
+
+
+## 2022-01-28
+
+### Notable issues
+
+- [Android] App becomes unresponsive after switching back from background [#97346](https://github.com/flutter/flutter/issues/97346)
+- [video_player][IOS] VideoPlayerController.network is blocking the UI while loading [#97356](https://github.com/flutter/flutter/issues/97356)
+- [Android Studio BumbleBee 2021.1.1]: flutter doctor shows `CocoaPods not installed. Skipping pod install` [#97251](https://github.com/flutter/flutter/issues/97251)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 194, closed 64 (32.99%).
+
+In total closed 110 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 34.5% |
+| Fixed | 20.0% |
+| Invalid | 33.6% |
+| Solved | 11.8% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 11, closed 1 (9.09%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Fixed | 50% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 1 (25%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 25, closed 10 (40%).
+
+In total closed 28 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 14.29% |
+| fixed | 25.00% |
+| invalid | 14.29%|
+| no-response | 14.29% |
+| solution-provided | 10.71% |
+| user | 17.86% |
+| wontfix | 3.57% |
+
+## 2022-01-21
+
+### Notable issues
+
+- Invalid TextField scroll offset change on paste from toolbar [#96658](https://github.com/flutter/flutter/issues/96658)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 161, closed 58 (36.02%).
+
+In total closed 102 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 31.4% |
+| Fixed | 26.5% |
+| Invalid | 29.4% |
+| Solved | 12.7% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 8, closed 4 (50%).
+
+In total closed 5 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 80% |
+| Invalid | 20% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 4, closed 2 (50%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 50% |
+| solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 31, closed 15 (48.39%).
+
+In total closed 22 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 22.73% |
+| fixed | 4.55% |
+| invalid | 50.00%|
+| no-response | 18.18% |
+| user | 4.55% |
+
+
+## 2022-01-14
+
+### Notable issues
+
+- Programmatically selecting text in unfocused textfield is not working [#96339](https://github.com/flutter/flutter/issues/96339)
+- [Android] Removing Deprecated Manifest Splash results in blank screen and prevents the app from starting [#93668](https://github.com/flutter/flutter/issues/93668)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 181, closed 56 (30.94%).
+
+In total closed 109 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26.67% |
+| Fixed | 23.9% |
+| Invalid | 31.2% |
+| Solved | 18.3% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 13, closed 2 (15.38%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 66.67% |
+| Invalid | 33.3% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 0, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 6, closed 3 (50%).
+
+In total closed 5 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 80% |
+| solved | 20% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 2 (9.52%).
+
+In total closed 18 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 11.1% |
+| fixed | 27.8% |
+| invalid | 11.1%|
+| no-response | 11.1% |
+| solution-provided | 11.1% |
+| user | 27.8% |
+
+## 2022-01-07
+
+### Notable issues
+
+- [TextField]`backgroundColor` covers/hides cursor and text selection [#96112](https://github.com/flutter/flutter/issues/96112)
+- image_picker on iOS: With `Select Photos` access, selecting a different GIF than the one selected earlier won’t animate [#96263](https://github.com/flutter/flutter/issues/96263)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 152, closed 48 (31.58%).
+
+In total closed 95 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 34.7% |
+| Fixed | 15.8% |
+| Invalid | 32.6% |
+| Solved | 16.8% |
+
+#### Flutter/website
+
+New Flutter website issues triaged 7, closed 4 (57.14%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 28.6% |
+| Fixed | 42.9% |
+| Invalid | 28.6% |
+
+#### dart-lang/site-www
+
+New Dart site issues triaged 1, closed 0 (0%).
+
+#### Googleads-mobile-flutter
+
+New Google Ads Flutter issues triaged 2, closed 1 (50%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 28, closed 5 (17.86%).
+
+In total closed 24 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 41.7% |
+| invalid | 12.5%|
+| no-response | 12.5% |
+| solution-provided | 16.7% |
+| user | 16.7% |
\ No newline at end of file
diff --git a/docs/unsorted_wiki/2023-Issue-Triage-Reports.md b/docs/unsorted_wiki/2023-Issue-Triage-Reports.md
new file mode 100644
index 0000000..7d4b723
--- /dev/null
+++ b/docs/unsorted_wiki/2023-Issue-Triage-Reports.md
@@ -0,0 +1,3477 @@
+## 2023-12-29
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 85, closed 29 (34.12%).
+
+In total closed 36 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 47.22% |
+| Fixed | 11.11% |
+| Invalid | 33.33% |
+| Solved | 8.33% |
+
+Issues closed due to inactivity: 32
+
+Size of backlog: 120
+
+#### Flutter/website
+
+New website issues triaged 2, closed 1 (50%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 5, closed 1 (20%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 2, closed 1 (50%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+
+## 2023-12-22
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 110, closed 35 (31.82%).
+
+In total closed 74 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 24.32% |
+| Fixed | 28.38% |
+| Invalid | 39.19% |
+| Solved | 8.11% |
+
+Issues closed due to inactivity: 28
+
+Size of backlog: 117
+
+#### Flutter/website
+
+New website issues triaged 4, closed 1 (25%)
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 33.33% |
+| invalid | 33.33% |
+| wont-fix | 33.33% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 1 (6.67%).
+
+In total closed 19 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 5.26% |
+| invalid | 31.58% |
+| no-response | 31.58% |
+| solution-provided | 21.05% |
+| user | 10.53% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 4, closed 1 (25%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33.33% |
+| no-response | 66.67% |
+
+
+## 2023-12-15
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 155, closed 42 (27.1%).
+
+In total closed 95 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26.32% |
+| Fixed | 27.37% |
+| Invalid | 28.42% |
+| Solved | 17.89% |
+
+Issues closed due to inactivity: 29
+
+Size of backlog: 125
+
+#### Flutter/website
+
+New website issues triaged 2, closed 0 (0%)
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 66.67% |
+| duplicate | 33.33% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 3, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 18, closed 3 (16.67%).
+
+In total closed 22 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 22.73% |
+| invalid | 9.09% |
+| no-response | 40.91% |
+| solution-provided | 9.09% |
+| user | 18.18% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 1, closed 0 (0%).
+
+No issue closed during the week
+
+
+## 2023-12-08
+### Notable issues
+
+- [Android][iOS] Builds generated on different machines have different sizes [#137990](https://github.com/flutter/flutter/issues/137990)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 164, closed 38 (23.17%).
+
+In total closed 92 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 34% |
+| Fixed | 18% |
+| Invalid | 24% |
+| Solved | 24% |
+
+Issues closed due to inactivity: 19
+
+Size of backlog: 121
+
+#### Flutter/website
+
+New website issues triaged 3, closed 0 (0%)
+
+In total closed 1 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 4 (26.67%).
+
+In total closed 20 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 15% |
+| duplicate | 5% |
+| invalid | 5% |
+| no-response | 60% |
+| solution-provided | 15% |
+
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 0, closed 0 (0%).
+
+In total, closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| solution-provided | 100% |
+
+
+## 2023-12-01
+### Notable issues
+
+- Specifying filter quality for `Transform.scale()` clips the child content on web [#139028](https://github.com/flutter/flutter/issues/139028)
+- [Impeller] ImageFiltered flickers when widget is rendered on top [#139294](https://github.com/flutter/flutter/issues/139294)
+- Nested MenuAnchors throw ‘A TextEditingController was used after being disposed’ when MenuItem is selected [#139266](https://github.com/flutter/flutter/issues/139266)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 156, closed 20 (12.82%).
+
+In total closed 75 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 24% |
+| Fixed | 44% |
+| Invalid | 15% |
+| Solved | 17% |
+
+Issues closed due to inactivity: 26
+
+Size of backlog: 111
+
+#### Flutter/website
+
+New website issues triaged 5, closed 1 (20%)
+
+In total closed 5 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 20% |
+| fixed | 80% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 1 (100%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 4 (26.67%).
+
+In total closed 34 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 41.18% |
+| duplicate | 8.82% |
+| invalid | 8.82% |
+| no-response | 20.59% |
+| solution-provided | 17.65% |
+| user issue | 2.94% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 2, closed 0 (0%).
+
+In total closed 3 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 33.3% |
+| no-response | 33.3% |
+| solution-provided | 33.3% |
+
+
+## 2023-11-24
+### Notable issues
+
+Overscroll effect isn’t rendered properly when scrolling with backdrop filter blur on 3.16 [138940](https://github.com/flutter/flutter/issues/138940)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 142, closed 38 (26.76%).
+
+In total closed 68 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 25.00% |
+| Fixed | 30.88% |
+| Invalid | 26.47% |
+| Solved | 17.65% |
+
+Issues closed due to inactivity: 33
+
+Size of backlog: 101
+
+#### Flutter/website
+
+New website issues triaged 7, closed 3 (42.86%)
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 75.00% |
+| fixed | 25.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 0 (0%)
+
+No issue closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 3 (14.29%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 28.57% |
+| duplicate | 14.29% |
+| solution-provided | 28.57% |
+| user | 14.29% |
+| invalid | 14.29% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 1, closed 0 (0%).
+
+No issue closed during the week.
+
+
+## 2023-11-17
+### Notable issues
+
+Share button in textfield menu crashes app on iPad [#138550](https://github.com/flutter/flutter/issues/138550)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 119, closed 35 (29.41%).
+
+In total closed 68 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20.59% |
+| Fixed | 27.94% |
+| Invalid | 33.82% |
+| Solved | 17.65% |
+
+Issues closed due to inactivity: 19
+
+Size of backlog: 110
+
+#### Flutter/website
+
+New website issues triaged 5, closed 1 (20.00%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 50% |
+| fixed | 50% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 0 (0%)
+
+No issue closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 18, closed 3 (16.67%).
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 14.29% |
+| duplicate | 15.38% |
+| solution-provided | 14.29% |
+| user | 28.57% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 2, closed 0 (0%).
+
+In total closed 3 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| user | 50.00% |
+| solution-provided | 50.00% |
+
+
+## 2023-11-10
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 125, closed 31 (24.8%).
+
+In total closed 68 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20.59% |
+| Fixed | 32.35% |
+| Invalid | 27.94% |
+| Solved | 19.12% |
+
+Issues closed due to inactivity: 22
+
+Size of backlog: 93
+
+#### Flutter/website
+
+New website issues triaged 3, closed 1 (33.33%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 50% |
+| fixed | 50% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 0 (0%)
+
+No issue closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 5, closed 1 (20%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 5 (26.32%).
+
+In total closed 13 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 15.38% |
+| duplicate | 15.38% |
+| invalid | 30.77% |
+| no-response | 23.08% |
+| solution-provided | 7.69% |
+| user | 7.69% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 0, closed 0 (0%).
+
+In total closed 3 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+
+
+## 2023-11-03
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 140, closed 39 (27.86%).
+
+In total closed 83 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 31% |
+| Fixed | 33% |
+| Invalid | 19% |
+| Solved | 17% |
+
+Issues closed due to inactivity: 37
+
+Size of backlog: 92
+
+#### Flutter/website
+
+New website issues triaged 1, closed 0 (0%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| wont fix | 50% |
+| fixed | 50% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 1 (100%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 1 (50%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 8 (40%).
+
+In total closed 16 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 12.5% |
+| duplicate | 6.3% |
+| invalid | 18.8% |
+| no-response | 12.5% |
+| solution-provided | 25.0% |
+| user issue | 25.0% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 2, closed 0 (0%).
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+
+## 2023-10-27
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 128, closed 35 (27.34%).
+
+In total closed 73 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 32.88% |
+| Fixed | 21.92% |
+| Invalid | 27.40% |
+| Solved | 17.81% |
+
+Issues closed due to inactivity: 18
+
+Size of backlog: 96
+
+#### Flutter/website
+
+New website issues triaged 3, closed 0 (0%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issue closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 3, closed 1 (33.33%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 7 (31.82%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 27.27% |
+| Duplicate | 45.45% |
+| invalid | 9.09% |
+| no-response | 9.09% |
+| solution-provided | 9.09% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 1, closed 0 (0%).
+
+No issue closed during the week
+
+
+## 2023-10-20
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 132, closed 44 (33.33%).
+
+In total closed 77 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 28.57% |
+| Fixed | 28.57% |
+| Invalid | 33.77% |
+| Solved | 9.09% |
+
+Issues closed due to inactivity: 29
+
+Size of backlog: 89
+
+#### Flutter/website
+
+New website issues triaged 8, closed 0 (0%)
+
+No issue closed during the week
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issue closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 1 (50%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 8 (38.1%).
+
+In total closed 25 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 16.00% |
+| Duplicate | 24.00% |
+| user | 12.00% |
+| invalid | 8.00% |
+| no-response | 28.00% |
+| solution-provided | 12.00% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 8, closed 1 (12.50%).
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 66.67% |
+| invalid | 33.33% |
+
+
+## 2023-10-13
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 147, closed 52 (35.37%).
+
+In total closed 108 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 31.48% |
+| Fixed | 30.56% |
+| Invalid | 23.15% |
+| Solved | 14.81% |
+
+Issues closed due to inactivity: 25
+
+Size of backlog: 98
+
+#### Flutter/website
+
+New website issues triaged 3, closed 1 (33.33%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issue closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 5, closed 5 (100%)
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 33.33% |
+| duplicate | 50.00% |
+| fixed | 16.67% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 10, closed 3 (30.00%).
+
+In total closed 21 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 14.29% |
+| user | 14.29% |
+| invalid | 14.29% |
+| no-response | 38.10% |
+| solution-provided | 19.05% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 2, closed 1 (50.00%).
+
+In total closed 6 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 50.00% |
+| duplicate | 16.67% |
+| invalid | 16.67% |
+| solution-provided | 16.67% |
+
+
+## 2023-10-06
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 105, closed 34 (32.38%).
+
+In total closed 77 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 25.97% |
+| Fixed | 24.68% |
+| Invalid | 27.27% |
+| Solved | 22.08% |
+
+Issues closed due to inactivity: 26
+
+Size of backlog: 103
+
+#### Flutter/website
+
+New website issues triaged 4, closed 1 (25.00%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 75.00% |
+| invalid | 25.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issue closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 0, closed 0 (0%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| solved | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 10, closed 1 (10.00%).
+
+In total closed 18 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 27.78% |
+| user | 22.22% |
+| invalid | 11.11% |
+| no-response | 33.33% |
+| solution-provided | 5.56% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 7, closed 0 (0%).
+
+No issue closed during the week
+
+
+## 2023-09-30
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 178, closed 41 (23.03%).
+
+In total closed 95 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20.00% |
+| Fixed | 31.58% |
+| Invalid | 28.42% |
+| Solved | 20.00% |
+
+Issues closed due to inactivity: 27
+
+Size of backlog: 158
+
+#### Flutter/website
+
+New website issues triaged 4, closed 2 (50.00%)
+
+In total closed 5 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 60.00% |
+| invalid | 40.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 1 (50.00%)
+
+No issue closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 0, closed 0 (0%)
+
+No issue closed during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 14, closed 4 (28.57%).
+
+In total closed 12 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 16.67% |
+| invalid | 16.67% |
+| no-response | 50.00% |
+| solution-provided | 16.67% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 1, closed 0 (0%).
+
+No issue closed during the week
+
+
+
+## 2023-09-22
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 140, closed 33 (23.57%).
+
+In total closed 81 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27% |
+| Fixed | 37% |
+| Invalid | 20% |
+| Solved | 16% |
+
+Issues closed due to inactivity: 20
+
+Size of backlog: 169
+
+#### Flutter/website
+
+New website issues triaged 4, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 3, closed 1 (33.3%)
+
+1 issue closed during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 1 (50%)
+
+In total closed 1 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 7 (36.84%).
+
+In total closed 19 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 11%
+| fixed | 21% |
+| invalid | 16% |
+| no-response | 26% |
+| solution-provided | 16% |
+| user issue | 11% |
+
+
+## 2023-09-15
+### Notable issues
+
+* This issue seems serious, it causes the app to freeze completely [#134716](https://github.com/flutter/flutter/issues/134716)
+* Password bar in the keyboard is flashing when using TextField with AutofillHints.password on iOS 17
+[#134723](https://github.com/flutter/flutter/issues/134723)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 181, closed 56 (29.83%).
+
+In total closed 106 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 30.19% |
+| Fixed | 29.25% |
+| Invalid | 22.64% |
+| Solved | 17.92% |
+
+Issues closed due to inactivity: 27
+
+Size of backlog: 174
+
+#### Flutter/website
+
+New website issues triaged 5, closed 0 (0%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 5, closed 2 (40.00%)
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 5 (25.00%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| no-response | 27.27% |
+| solution-provided | 36.36% |
+| duplicate | 9.09% |
+| invalid | 27.27% |
+
+
+## 2023-09-08
+### Notable issues
+
+Camera CameraCaptureSession.close() crash [#114012](https://github.com/flutter/flutter/issues/114012)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 157, closed 46 (29.3%).
+
+In total closed 91 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 35.16% |
+| Fixed | 18.68% |
+| Invalid | 31.87% |
+| Solved | 14.29% |
+
+Issues closed due to inactivity: 24
+
+Size of backlog: 175
+
+#### Flutter/website
+
+New website issues triaged 2, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 1 (50.00%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 16, closed 4 (25.00%).
+
+In total closed 14 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| no-response | 42.86% |
+| solution-provided | 14.29% |
+| duplicate | 14.29% |
+| invalid | 21.43% |
+| fixed | 7.14% |
+
+
+## 2023-09-01
+### Notable issues
+
+No notable issues to highlight.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 152, closed 52 (34.21%).
+
+In total closed 148 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26.35% |
+| Fixed | 37.16% |
+| Invalid | 25.68% |
+| Solved | 10.81% |
+
+Issues closed due to inactivity: 29
+
+Size of backlog: 175
+
+#### Flutter/website
+
+New website issues triaged 1, closed 0 (0%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 1, closed 0 (0%)
+
+In total closed 1 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 9, closed 0 (0%).
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| no-response | 50.00% |
+| solution-provided | 25.00% |
+| fixed | 25.00% |
+
+
+## 2023-08-25
+### Notable issues
+
+Web apps fail to render on iOS 14 devices with canvaskit [#132927](https://github.com/flutter/flutter/issues/132927)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 165, closed 53 (32.12%).
+
+In total closed 106 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.36% |
+| Fixed | 29.25% |
+| Invalid | 23.58% |
+| Solved | 19.81% |
+
+Issues closed due to inactivity: 24
+
+Size of backlog: 169
+
+#### Flutter/website
+
+New website issues triaged 2, closed 1 (50%)
+
+In total closed 5 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 80.00% |
+| invalid | 20.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 4, closed 1 (25.00%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 12, closed 2 (16.67%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 27.27% |
+| no-response | 36.36% |
+| solution-provided | 9.09% |
+| fixed | 27.27% |
+
+## 2023-08-18
+### Notable issues
+
+IconTreeShakerException: Font subsetting failed with exit code 255 [#132711](https://github.com/flutter/flutter/issues/132711)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 149, closed 46 (30.87%).
+
+In total closed 86 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 29.07% |
+| Fixed | 30.23% |
+| Invalid | 26.74% |
+| Solved | 13.95% |
+
+Issues closed due to inactivity: 19
+
+Size of backlog: 189
+
+#### Flutter/website
+
+New website issues triaged 8, closed 3 (37.5%)
+
+In total closed 7 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 42.86% |
+| invalid | 57.14% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 3, closed 0 (0%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 4 (20%).
+
+In total closed 19 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 21.05% |
+| no-response | 31.58% |
+| solution-provided | 5.26% |
+| fixed | 31.58% |
+| user | 10.53% |
+
+## 2023-08-11
+### Notable issues
+
+Lagging in iOS 16.6 iPhone high frame rates devices [#131319](https://github.com/flutter/flutter/issues/131319)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 166, closed 50 (30.12%).
+
+In total closed 112 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 21.43% |
+| Fixed | 38.39% |
+| Invalid | 29.46% |
+| Solved | 10.71% |
+
+Issues closed due to inactivity: 30
+
+Size of backlog: 183
+
+#### Flutter/website
+
+New website issues triaged 6, closed 3 (50%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 25.00% |
+| invalid | 75.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 6, closed 4 (66.67%)
+
+In total closed 5 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 80.00% |
+| invalid | 20.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 5 (33.33%).
+
+In total closed 18 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 16.67% |
+| invalid | 27.78% |
+| no-response | 27.78% |
+| solution-provided | 5.56% |
+| fixed | 11.11% |
+| user | 11.11% |
+
+
+## 2023-08-04
+### Notable issues
+
+No notable issues to highlight.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 133, closed 54 (40.6%).
+
+In total closed 79 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 39.24% |
+| Fixed | 21.52% |
+| Invalid | 25.32% |
+| Solved | 13.92% |
+
+Issues closed due to inactivity: 33
+
+#### Flutter/website
+
+New website issues triaged 3, closed 2 (66.67%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 25.00% |
+| invalid | 25.00% |
+| duplicate | 50.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 0 (0%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 18, closed 3 (16.67%).
+
+In total closed 8 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 12.50% |
+| invalid | 12.50% |
+| no-response | 50.00% |
+| solution-provided | 25.00% |
+
+
+## 2023-07-28
+### Notable issues
+
+No notable issues to highlight.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 142, closed 49 (34.51%).
+
+In total closed 95 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 37.89% |
+| Fixed | 25.26% |
+| Invalid | 22.11% |
+| Solved | 14.74% |
+
+Issues closed due to inactivity: 30
+
+#### Flutter/website
+
+New website issues triaged 7, closed 1 (14.29%)
+
+In total closed 5 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 80.00% |
+| invalid | 20.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 5, closed 2 (40.00%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 50.00% |
+| duplicate | 50.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 6 (28.57%).
+
+In total closed 21 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 28.57% |
+| duplicate | 23.81% |
+| user | 14.29% |
+| no-response | 14.29% |
+| solution-provided | 19.05% |
+
+## 2023-07-21
+### Notable issues
+
+No notable issues to highlight.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 182, closed 55 (30.22%).
+
+In total closed 96 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22.92% |
+| Fixed | 25.00% |
+| Invalid | 33.33% |
+| Solved | 18.75% |
+
+Issues closed due to inactivity: 41
+
+#### Flutter/website
+
+New website issues triaged 1, closed 0 (0%)
+
+In total closed 5 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 4, closed 1 (25.00%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100.00% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 31, closed 3 (9.68%).
+
+In total closed 13 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 15.38% |
+| duplicate | 30.77% |
+| invalid | 7.69% |
+| user | 15.38% |
+| no-response | 15.38% |
+| solution-provided | 15.38% |
+
+
+## 2023-07-14
+### Notable issues
+
+[Material3] AppBar does not respect foregroundColor or iconTheme for leading and actions in some cases [#130485](https://github.com/flutter/flutter/issues/130485)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 138, closed 36 (26.09%).
+
+In total closed 77 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20.78% |
+| Fixed | 29.87% |
+| Invalid | 37.66% |
+| Solved | 11.69% |
+
+Issues closed due to inactivity: 29
+
+#### Flutter/website
+
+New website issues triaged 4, closed 0 (0%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 50.00% |
+| invalid | 25.00% |
+| wont-fix | 25.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 4, closed 2 (50%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 3, closed 0 (0%)
+
+No issues closed during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 8 (38.1%).
+
+In total closed 27 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 29.63% |
+| duplicate | 25.93% |
+| invalid | 7.41% |
+| user | 7.41% |
+| no-response | 14.81% |
+| solution-provided | 14.81% |
+
+## 2023-07-07
+### Notable issues
+
+No notable issues to highlight
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 130, closed 41 (31.54%).
+
+In total closed 74 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 39% |
+| Fixed | 22% |
+| Invalid | 26% |
+| Solved | 14% |
+
+Issues closed due to inactivity: 25
+
+#### Flutter/website
+
+New website issues triaged 5, closed 0 (0%)
+
+No issues were closed during the week
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 0 (0%)
+
+No issues closed during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 17, closed 5 (29.41%).
+
+In total closed 13 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 15% |
+| invalid | 15% |
+| no-response | 38% |
+| solution-provided | 31% |
+
+
+## 2023-06-30
+### Notable issues
+
+No notable issues to highlight.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 155, closed 52 (33.55%).
+
+In total closed 90 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 36.67% |
+| Fixed | 26.67% |
+| Invalid | 23.33% |
+| Solved | 13.33% |
+
+Issues closed due to inactivity: 25
+
+#### Flutter/website
+
+New website issues triaged 0, closed 0 (0%).
+
+In total closed 3 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+#### dart-lang/site-www
+
+New website issues triaged 1, closed 0 (0%).
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 3, closed 0 (0%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 4 (26.67%).
+
+In total closed 12 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 33.33% |
+| Solution provided | 8.33% |
+| Duplicate | 16.67% |
+| User | 16.67% |
+| Invalid | 16.67% |
+| No response | 8.33% |
+
+
+## 2023-06-23
+### Notable issues
+
+No notable issues to highlight.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 152, closed 49 (32.24%).
+
+In total closed 82 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 38% |
+| Fixed | 23% |
+| Invalid | 24% |
+| Solved | 15% |
+
+Issues closed due to inactivity: 22
+
+#### Flutter/website
+
+New website issues triaged 3, closed 0 (0%).
+
+No issues closed during the week.
+
+#### dart-lang/site-www
+
+No new dart-lang/site-www issues triaged.
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 1 (50%)
+
+In total closed 2 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 50% |
+| Solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 13, closed 1 (7.69%).
+
+In total closed 6 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 33% |
+| Solution provided | 17% |
+| Duplicate | 33% |
+| User | 17% |
+
+## 2023-06-16
+### Notable issues
+
+No notable issues to highlight.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 159, closed 68 (43%).
+
+In total closed 112 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27% |
+| Fixed | 30% |
+| Invalid | 26% |
+| Solved | 17% |
+
+Issues closed due to inactivity: 23
+
+#### Flutter/website
+
+New website issues triaged 2, closed 0 (20%).
+
+No issues closed during the week.
+
+#### dart-lang/site-www
+
+No new dart-lang/site-www issues triaged.
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 3, closed 1 (33%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 24, closed 5 (21%).
+
+In total closed 19 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 10.5% |
+| Invalid | 5.3% |
+| Solution provided | 10.5% |
+| Duplicate | 15.8% |
+| No response | 57.9% |
+
+
+## 2023-06-09
+### Notable issues
+
+No notable issues to highlight.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 164, closed 45 (27.44%).
+
+In total closed 90 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 29% |
+| Fixed | 31% |
+| Invalid | 28% |
+| Solved | 12% |
+
+Issues closed due to inactivity: 41
+
+#### Flutter/website
+
+New website issues triaged 5, closed 1 (20%)
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 25% |
+| Duplicate | 50% |
+| Wont Fix | 25% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 4, closed 0 (100%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 12, closed 2 (16.67%).
+
+In total closed 12 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 8.3% |
+| invalid | 16.67% |
+| solution-provided | 25% |
+| user issue | 25% |
+| no response | 25% |
+
+
+## 2023-06-02
+### Notable issues
+
+Android build fails with certain plugins if project is in a different drive (from sdk) [#105395](https://github.com/flutter/flutter/issues/105395)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 157, closed 57 (36.31%).
+
+In total closed 82 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 35.37% |
+| Fixed | 30.49% |
+| Invalid | 30.49% |
+| Solved | 3.66% |
+
+Issues closed due to inactivity: 25
+
+#### Flutter/website
+
+New website issues triaged 5, closed 1 (20%)
+
+In total closed 7 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 57.14% |
+| Duplicate | 28.57% |
+| Wont Fix | 14.29% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 3, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 2 (100%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 3 (14.29%).
+
+In total closed 6 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 16.67% |
+| fixed | 16.67% |
+| invalid | 16.67% |
+| solution-provided | 33.33% |
+| user issue | 16.67% |
+
+
+
+
+## 2023-05-26
+### Notable issues
+
+No major issues to report this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 179, closed 72 (40.22%).
+
+In total closed 113 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 44% |
+| Fixed | 25% |
+| Invalid | 21% |
+| Solved | 8% |
+
+Issues closed due to inactivity: 20
+
+#### Flutter/website
+
+New website issues triaged 5, closed 0 (0%)
+
+In total closed 13 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 92.31% |
+| Duplicate | 7.69% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 6, closed 2 (33.33%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 50% |
+| solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 26, closed 2 (7.69%).
+
+In total closed 33 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 3.03% |
+| fixed |15.15% |
+| invalid | 15.15% |
+| solution-provided | 51.52% |
+| user issue | 15.15% |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 2023-05-19
+### Notable issues
+- [Impeller] [Flutter 3.10]: Codec failed to produce an image [#126768](https://github.com/flutter/flutter/issues/126768)
+- Intermittent VM Heap crash during hot-reload since Flutter 3.10/Dart 3.0 [#126884](https://github.com/flutter/flutter/issues/126884)
+- [Flutter 3.10+]`RenderRepaintBoundary.toImage` does not work [#126976](https://github.com/flutter/flutter/issues/126976)
+- [Web] Image.network stopped loading progress indicator Flutter 3.10 [#127127](https://github.com/flutter/flutter/issues/127127)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 213, closed 64 (30.05%).
+
+In total closed 121 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 31% |
+| Fixed | 26% |
+| Invalid | 29% |
+| Solved | 14% |
+
+Issues closed due to inactivity: 28
+
+#### Flutter/website
+
+New website issues triaged 3, closed 1 (33.33%)
+
+In total closed 8 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 62.5% |
+| Invalid | 37.5% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 3, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 50% |
+| solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 31, closed 6 (19.35%).
+
+In total closed 14 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 28.57% |
+| fixed |14.29% |
+| invalid | 7.14% |
+| no-response | 14.29% |
+| solution-provided | 21.43% |
+| user issue | 14.29% |
+
+
+## 2023-05-12
+
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 169, closed 41 (24.26%).
+
+In total closed 83 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27% |
+| Fixed | 33% |
+| Invalid | 29% |
+| Solved | 12% |
+
+Issues closed due to inactivity: 28
+
+#### Flutter/website
+
+New website issues triaged 10, closed 1(10%)
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 75% |
+| Invalid | 25% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 7, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 8, closed 4 (50%)
+
+In total closed 6 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33 % |
+| invalid | 50% |
+| solved | 17% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 27, closed 4 (14.81%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 18.2% |
+| fixed |9.1% |
+| invalid | 36.4% |
+| user issue |36.4% |
+
+## 2023-05-05
+
+### Notable issues
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 134, closed 52 (38.81%).
+
+In total closed 88 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 31% |
+| Fixed | 16% |
+| Invalid | 26% |
+| Solved | 27% |
+
+Issues closed due to inactivity: 31
+
+#### Flutter/website
+
+New website issues triaged 1, closed 0(0%)
+
+No issues closed during the week
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 1 (50%)
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 50% |
+| solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 26, closed 12 (46.15%).
+
+In total closed 20 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 15% |
+| fixed |5% |
+| invalid | 35% |
+| no-response |25% |
+| solution-provided | 10% |
+| user issue | 5% |
+| wontfix | 5% |
+
+## 2023-04-28
+
+### Notable issues
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 128, closed 39 (30.47%).
+
+In total closed 84 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 24% |
+| Fixed | 32% |
+| Invalid | 31% |
+| Solved | 13% |
+
+Issues closed due to inactivity: 21
+
+#### Flutter/website
+
+New website issues triaged 8, closed 1 (12.5%)
+
+In total closed 7 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 86% |
+| invalid | 14% |
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 2, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 50% |
+| solved | 50% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 5 (25%).
+
+In total closed 15 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 6.7% |
+| fixed |20.0% |
+| invalid | 20.0% |
+| no-response |20.0% |
+| solution-provided | 33.3% |
+
+## 2023-04-21
+
+### Notable issues
+- [tool_crash] _CastError: (#0 new WebPlugin.fromYaml (package:flutter_tools/src/platform_plugins.dart:548:34)) [#115738](https://github.com/flutter/flutter/issues/115738) (Reports of this issue are frequent)
+- Build crash if source code contains a nested record type and apply obfuscate [#125289](https://github.com/flutter/flutter/issues/125289)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 119, closed 48 (40.34%).
+
+In total closed 105 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 29.52% |
+| Fixed | 44.76% |
+| Invalid | 21.90% |
+| Solved | 3.81% |
+
+Issues closed due to inactivity: 29
+
+#### Flutter/website
+
+New website issues triaged 7, closed 1 (14.29%)
+
+In total closed 6 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 83% |
+| invalid | 17% |
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 5, closed 1 (20%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 6 (30%).
+
+In total closed 19 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 26% |
+| fixed |21% |
+| invalid | 11% |
+| no-response |11% |
+| solution-provided | 16% |
+| user issue | 16% |
+
+## 2023-04-14
+
+### Notable issues
+
+- No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 170, closed 51 (30%).
+
+In total closed 109 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26.61% |
+| Fixed | 36.70% |
+| Invalid | 29.36% |
+| Solved | 7.34% |
+
+Issues closed due to inactivity: 31
+
+#### Flutter/website
+
+New website issues triaged 8, closed 0 (0%)
+
+In total closed 6 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 3, closed 1 (33.33%)
+
+In total closed 1 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 30, closed 5 (16.67%).
+
+In total closed 16 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 18.8% |
+| fixed | 12.5% |
+| invalid | 12.5% |
+| no-response | 31.3% |
+| solution-provided | 18.8% |
+| user issue | 6.3% |
+
+## 2023-04-07
+
+### Notable issues
+
+No major issues to report for this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 178, closed 75 (42.13%).
+
+In total closed 124 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 34.7% |
+| Fixed | 22.6% |
+| Invalid | 33.1% |
+| Solved | 9.7% |
+
+Issues closed due to inactivity: 40
+
+#### Flutter/website
+
+New website issues triaged 4, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 50% |
+| Invalid | 50% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 1, closed 1 (100%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 18, closed 3 (16.67%).
+
+In total closed 15 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 13.3% |
+| fixed | 20.0% |
+| invalid | 13.3% |
+| no-response | 26.7% |
+| solution-provided | 20.0% |
+| user issue | 6.7% |
+
+## 2023-03-31
+
+### Notable issues
+- Input decoration vertical alignment is broken with `isDense: true` [#86093](https://github.com/flutter/flutter/issues/86093)
+- [Platform-Web] App crashes with `Expected a value of type 'FontCollectionNamespace', but got one of type 'Null'` [#123794](https://github.com/flutter/flutter/issues/123794)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 151, closed 56 (37.09%).
+
+In total closed 108 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 35.0% |
+| Fixed | 28.7% |
+| Invalid | 33.3% |
+| Solved | 13.0% |
+
+Issues closed due to inactivity: 31
+
+#### Flutter/website
+
+New website issues triaged 8, closed 0 (0%)
+
+In total closed 3 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 33% |
+| Invalid | 67% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New GoogleAds Flutter issues triaged 6, closed 4 (66.67%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 25% |
+| invalid | 75% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 5 (25%).
+
+In total closed 13 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 7.7% |
+| fixed | 7.7% |
+| invalid | 23.1% |
+| no-response | 15.4% |
+| solution-provided | 15.4% |
+| user issue | 30.8% |
+
+## 2023-03-24
+
+### Notable issues
+
+No major issues to report for this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 170, closed 60 (35.29%).
+
+In total closed 115 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26% |
+| Fixed | 28% |
+| Invalid | 34% |
+| Solved | 12% |
+
+Issues closed due to inactivity: 27
+
+#### Flutter/website
+
+New website issues triaged 8, closed 1 (12.5%)
+
+In total closed 8 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 88% |
+| Invalid | 12% |
+
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+No issues triage during the week
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 14, closed 4 (28.57%).
+
+In total closed 9 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33% |
+| invalid | 11% |
+| no-response | 56% |
+
+## 2023-03-17
+
+### Notable issues
+- `ffx` hogging CPU on macOS [#121288](https://github.com/flutter/flutter/issues/121288)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 170, closed 73 (42.94%).
+
+In total closed 112 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 30.36% |
+| Fixed | 24.11% |
+| Invalid | 38.39% |
+| Solved | 7.14% |
+
+Issues closed due to inactivity: 36
+
+#### Flutter/website
+
+New website issues triaged 2, closed 0 (0%)
+
+In total closed 8 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 4, closed 3 (75%)
+
+In total closed 3 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 15, closed 3 (20%).
+
+In total closed 15 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 13.3% |
+| fixed | 26.7% |
+| no-response | 40.0% |
+| solution provided | 13.3% |
+| user issue | 6.7% |
+
+## 2023-03-10
+
+### Notable issues
+- [macOS][desktop]: Deleting emojis from textfield with obscured text causes crash [#122381](https://github.com/flutter/flutter/issues/122381)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 170, closed 65 (38.24%).
+
+In total closed 126 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 33% |
+| Fixed | 29% |
+| Invalid | 25% |
+| Solved | 12% |
+
+Issues closed due to inactivity: 36
+
+#### Flutter/website
+
+New website issues triaged 7, closed 1 (14.29%)
+
+In total closed 10 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 70% |
+| Duplicate | 10% |
+| Invalid | 20% |
+
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 4, closed 2 (50%)
+
+In total closed 3 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33% |
+| invalid | 33% |
+| solved | 33% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 11, closed 6 (54.55%).
+
+In total closed 11 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 9.1% |
+| invalid | 54.5% |
+| no-response | 18.2% |
+| user issue | 18.2% |
+
+## 2023-03-03
+
+### Notable issues
+[go_router] ShellRoute, builder function gets called only when called by context.go [#111842](https://github.com/flutter/flutter/issues/111842)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 165, closed 69 (41.82%).
+
+In total closed 142 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 23% |
+| Fixed | 34% |
+| Invalid | 31% |
+| Solved | 12% |
+
+Issues closed due to inactivity: 35
+
+#### Flutter/website
+
+New website issues triaged 6, closed 2 (33.33%)
+
+In total closed 5 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 80% |
+| Duplicate | 20% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 2, closed 0 (0%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| solved | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 21, closed 7 (33.33%).
+
+In total closed 18 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 27.78% |
+| fixed | 11.11% |
+| invalid | 11.11% |
+| no-response | 38.89% |
+| solution-provided | 5.56% |
+| user issue | 5.56% |
+
+## 2023-02-24
+
+### Notable issues
+
+No major issues to report for this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 152, closed 58 (38.16%).
+
+In total closed 96 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22% |
+| Fixed | 25% |
+| Invalid | 39% |
+| Solved | 15% |
+
+Issues closed due to inactivity: 33
+
+#### Flutter/website
+
+New website issues triaged 6, closed 2 (33.33%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Invalid | 100% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 5, closed 3 (60%)
+
+In total closed 3 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 67% |
+| Invalid | 33% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 6 (31.58%).
+
+In total closed 10 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 20% |
+| fixed | 10% |
+| invalid | 50% |
+| no-response | 20% |
+
+## 2023-02-17
+
+### Notable issues
+
+No major issues to report for this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 204, closed 73 (35.78%).
+
+In total closed 137 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 20% |
+| Fixed | 27% |
+| Invalid | 37% |
+| Solved | 15% |
+
+Issues closed due to inactivity: 24
+
+#### Flutter/website
+
+New website issues triaged 11, closed 2 (18.18%)
+
+In total closed 8 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 12.5% |
+| Fixed | 62.5% |
+| Invalid | 25% |
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 4, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 28, closed 7 (25%).
+
+In total closed 22 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 13.64% |
+| fixed | 22.73% |
+| invalid | 18.18% |
+| no-response | 22.73% |
+| solution-provided | 13.64% |
+| user issue | 9.09% |
+
+## 2023-02-10
+
+### Notable issues
+
+No major issues to report for this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 200, closed 78 (39%).
+
+In total closed 149 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 29.53% |
+| Fixed | 36.24% |
+| Invalid | 26.17% |
+| Solved | 8.05% |
+
+Issues closed due to inactivity: 23
+
+#### Flutter/website
+
+New website issues triaged 9, closed 0 (0%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 100% |
+
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 3, closed 0 (0%)
+
+No issues closed during the week
+
+#### Flutterfire
+
+New Flutterfire issues triaged 17, closed 8 (47.06%).
+
+In total closed 22 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 13.6% |
+| fixed | 18.2% |
+| invalid | 18.2% |
+| no-response | 22.7% |
+| solution-provided | 18.2% |
+| user issue | 9.1% |
+
+## 2023-02-03
+
+### Notable issues
+
+- [Engine][3.7] Emojis are not properly rendered [#119536](https://github.com/flutter/flutter/issues/119536)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 233, closed 83 (35.62%).
+
+In total closed 146 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 33.6% |
+| Fixed | 27.4% |
+| Invalid | 29.5% |
+| Solved | 9.6% |
+
+Issues closed due to inactivity: 40
+
+#### Flutter/website
+
+New website issues triaged 5, closed 1 (20%)
+
+In total closed 7 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 14.3% |
+| Fixed | 71.4% |
+| Invalid | 14.3% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 3, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 1, closed 0 (0%)
+
+In total closed 2 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 20, closed 6 (30%).
+
+In total closed 23 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 13.04% |
+| fixed | 8.70% |
+| invalid | 30.43% |
+| no-response | 17.39% |
+| solution-provided | 26.09% |
+| user issue | 4.35% |
+
+## 2023-01-27
+
+### Notable issues
+
+- Pubspec.lock is ignored when upgrading to flutter 3.7.0 [#119091](https://github.com/flutter/flutter/issues/119091)
+- [3.7][Android] Animation for modal bottom sheet stops working on some devices [#119094](https://github.com/flutter/flutter/issues/119094)
+
+The following issues might need some attention:
+- CircularProgessIndicator causes CPU spike [#17793](https://github.com/flutter/flutter/issues/17793)
+- Constant Animation Jank in Simple Flutter App [#103847](https://github.com/flutter/flutter/issues/103847)
+- Linux Desktop: high CPU usage when running an animation [#101591](https://github.com/flutter/flutter/issues/101591)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 165, closed 64 (38.79%).
+
+In total closed 108 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 33.3% |
+| Fixed | 26.9% |
+| Invalid | 32.4% |
+| Solved | 7.4% |
+
+Issues closed due to inactivity: 29
+
+#### Flutter/website
+
+New website issues triaged 7, closed 0 (0%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 7, closed 3 (42.86%)
+
+In total closed 4 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 25% |
+| invalid | 50% |
+| solved | 25% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 3 (15.79%).
+
+In total closed 17 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 17.65% |
+| invalid | 11.76% |
+| no-response | 47.06% |
+| solution-provided | 5.88% |
+| user issue | 17.65% |
+
+## 2023-01-20
+
+### Notable issues
+
+No major issues to report for this week.
+
+### Old Issues receiving attention lately
+
+No major issues to report for this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 167, closed 62 (37.13%).
+
+In total closed 108 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 29.6% |
+| Fixed | 28.7% |
+| Invalid | 33.3% |
+| Solved | 8.3% |
+
+Issues closed due to inactivity: 17
+
+#### Flutter/website
+
+New website issues triaged 4, closed 1 (25%)
+
+In total closed 12 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Fixed | 75% |
+| Invalid | 25% |
+
+
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 3, closed 3 (100%)
+
+In total closed 3 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 33% |
+| invalid | 33% |
+| solved | 33% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 1 (5.26%).
+
+In total closed 13 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 7.7% |
+| fixed | 15.4% |
+| invalid | 7.7% |
+| no-response | 23.1% |
+| solution-provided | 15.4% |
+| user issue | 30.8% |
+
+
+## 2023-01-13
+
+### Notable issues
+
+- [iOS][Production] crash in Metal: _MTLCommandBuffer dealloc [#118200](https://github.com/flutter/flutter/issues/118200)
+
+### Old Issues receiving attention lately
+
+- Incorrect cursor position in RTL TextField when moving between letters [#110416](https://github.com/flutter/flutter/issues/110416)
+- [go_router] ShellRoute, builder function gets called only when called by context.go() [#111842](https://github.com/flutter/flutter/issues/111842)
+
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 169, closed 52 (30.77%).
+
+In total closed 111 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 28.8% |
+| Fixed | 31.5% |
+| Invalid | 29.7% |
+| Solved | 9.9% |
+
+Issues closed due to inactivity: 28
+
+#### Flutter/website
+
+New website issues triaged 9, closed 0 (0%)
+
+In total closed 12 issues during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 8.3% |
+| Fixed | 91.7% |
+
+#### dart-lang/site-www
+
+No issues triaged during the week
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 4, closed 0 (0%)
+
+No issues closed during the week
+
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 7 (31.82%).
+
+In total closed 17 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 5.88% |
+| fixed | 41.18% |
+| invalid | 35.29% |
+| no-response | 5.88% |
+| solution-provided | 5.88% |
+| user issue | 5.88% |
+
+
+## 2023-01-06
+
+### Notable issues
+
+No issues to report this week
+
+### Old Issues receiving attention lately
+
+No issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 133, closed 44 (33.08%).
+
+In total closed 88 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26% |
+| Fixed | 28% |
+| Invalid | 26% |
+| Solved | 19% |
+
+Issues closed due to inactivity: 25
+
+#### Flutter/website
+
+New website issues triaged 10, closed 4 (40%)
+
+In total closed 14 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 29% |
+| Fixed | 57% |
+| Invalid | 14% |
+
+
+#### dart-lang/site-www
+
+New dart website issues triaged 1, closed 0 (0%)
+
+No issues closed during the week
+
+#### Googleads-mobile-flutter
+
+New googleads issue triaged 3, closed 1 (33.33%)
+
+In total closed 1 issue during the week
+
+| Reason for closing | |
+| -- | -- |
+| solved | 100% |
+
+#### Flutterfire
+
+New Flutterfire issues triaged 17, closed 1 (5.88%).
+
+In total closed 21 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 4.76% |
+| fixed | 28.57% |
+| invalid | 14.29% |
+| no-response | 38.10% |
+| solution-provided | 9.52% |
+| user issue | 4.76% |
diff --git a/docs/unsorted_wiki/2024-Issue-Triage-Reports.md b/docs/unsorted_wiki/2024-Issue-Triage-Reports.md
new file mode 100644
index 0000000..c9b20f7
--- /dev/null
+++ b/docs/unsorted_wiki/2024-Issue-Triage-Reports.md
@@ -0,0 +1,863 @@
+## 2024-05-17
+### Notable issues
+
+- [Linux][Web]: Bug while pressing Numeric Keypad keys [#148447](https://github.com/flutter/flutter/issues/148447)
+- [Web][HTML]: cursor offset is incorrect when typing CJK [#148271](https://github.com/flutter/flutter/issues/148271)
+- Software keyboard flickers when focus moves between TextFields [#148530](https://github.com/flutter/flutter/issues/148530)
+- Import app_localizations fails after build_runner [#148333](https://github.com/flutter/flutter/issues/148333)
+- Autofill Hints not populating in text fields on iOS with Flutter 3.22.0 [#148475](https://github.com/flutter/flutter/issues/148475)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 154, closed 33 (21.43%).
+
+In total closed 79 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 23% |
+| Fixed | 32% |
+| Invalid | 25% |
+| Solved | 20% |
+
+Issues closed due to inactivity: 28
+
+Size of backlog: 94
+
+## 2024-05-10
+### Notable issues
+
+No major issues to be reported for this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 102, closed 30 (29.41%).
+
+In total closed 72 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 22% |
+| Fixed | 24% |
+| Invalid | 39% |
+| Solved | 15% |
+
+Issues closed due to inactivity: 18
+
+
+
+## 2024-05-03
+### Notable issues
+
+No major issues to be reported for this week.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 134, closed 49 (36.57%).
+
+In total closed 95 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 28% |
+| Fixed | 34% |
+| Invalid | 21% |
+| Solved | 17% |
+
+Issues closed due to inactivity: 32
+
+Size of backlog: 89
+
+
+## 2024-04-26
+### Notable issues
+
+- Text selection magnifier freezes, causing the TextField to prevent input after closing the keyboard on the iPad [#145751](https://github.com/flutter/flutter/issues/145751)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 127, closed 37 (29.13%).
+
+In total closed 83 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 28% |
+| Fixed | 34% |
+| Invalid | 20% |
+| Solved | 18% |
+
+Issues closed due to inactivity: 20
+
+Size of backlog: 88
+
+## 2024-04-19
+### Notable issues
+
+- TextField Becomes Unresponsive After Using back swipe Gesture [#146844](https://github.com/flutter/flutter/issues/146844)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 127, closed 40 (31.5%).
+
+In total closed 78 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 32% |
+| Fixed | 28% |
+| Invalid | 28% |
+| Solved | 12% |
+
+Issues closed due to inactivity: 20
+
+Size of backlog: 73
+
+## 2024-04-12
+### Notable issues
+
+- [Web][HTML] Hovering the cursor over Arabic characters causes an ArgumentError [#146588](https://github.com/flutter/flutter/issues/146588)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 112, closed 35 (31.25%).
+
+In total closed 87 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 22% |
+| Fixed | 31% |
+| Invalid | 30% |
+| Solved | 17% |
+
+Issues closed due to inactivity: 34
+
+Size of backlog: 75
+
+## 2024-04-05
+
+### Notable issues
+
+- [webview_flutter] [iOS] WebviewWidget lost drag response, when some widgets on it use Stack layout [#121960](https://github.com/flutter/flutter/issues/121960). Some users are reporting this as affecting their development workflow.
+- Shadow animation using Impeller causing rendering issues [#145969](https://github.com/flutter/flutter/issues/145969). This regressed in 3.19.4, it was fine in 3.19.0 up until 3.19.3
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 121, closed 37 (30.58%).
+
+In total closed 101 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 27% |
+| Fixed | 37% |
+| Invalid | 27% |
+| Solved | 14% |
+
+Issues closed due to inactivity: 23
+
+Size of backlog: 87
+
+## 2024-03-29
+### Notable issues
+
+- Regression: Severe performance regression on Firefox in v.3.19 (https://github.com/flutter/flutter/issues/145563)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 148, closed 36 (24.32%).
+
+In total closed 90 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 36% |
+| Fixed | 36% |
+| Invalid | 14% |
+| Solved | 14% |
+
+Issues closed due to inactivity: 20
+
+Size of backlog: 59
+
+## 2024-03-22
+### Notable issues
+
+No major issues to report this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 143, closed 46 (32.17%).
+
+In total closed 97 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 31% |
+| Fixed | 29% |
+| Invalid | 27% |
+| Solved | 13% |
+
+Issues closed due to inactivity: 34
+
+Size of backlog: 86
+
+## 2024-03-15
+### Notable issues
+
+- Regression: Pointer position shifts in scaled Platform Views in Flutter 3.19.[(https://github.com/flutter/flutter/issues/144278)](https://github.com/flutter/flutter/issues/144278)).
+- Regression: Navigator.Pop cause most recent focus node to regain focus even if not focused when new page was opened (https://github.com/flutter/flutter/issues/145155)
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 133, closed 43 (32.33%).
+
+In total closed 86 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 29% |
+| Fixed | 30% |
+| Invalid | 27% |
+| Solved | 12% |
+
+Issues closed due to inactivity: 21
+
+Size of backlog: 82
+
+
+
+## 2024-03-08
+### Notable issues
+
+- Integration test TimeoutException after 0:12:00.000000: Test timed out after 12 minutes. [#105913](https://github.com/flutter/flutter/issues/105913). It appears more people are experiencing this issue.
+- DropdownMenu experiences screen jitter issues when used within TabBarView alongside nested navigation [#139113](https://github.com/flutter/flutter/issues/139113) Some users would like to know the status of this issue.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 147, closed 55 (37.41%).
+
+In total closed 92 issues during the week.
+
+| Reason for closing | |
+| ------------------ | --- |
+| Duplicate | 38% |
+| Fixed | 20% |
+| Invalid | 27% |
+| Solved | 15% |
+
+Issues closed due to inactivity: 23
+
+Size of backlog: 86
+
+## 2024-03-01
+### Notable issues
+
+- [Impeller] CupertinoDatePicker might cause text on screen to glitch. [#144331](https://github.com/flutter/flutter/issues/144331)
+- Font weight is too light in light mode and too heavy in dark mode [#120857](https://github.com/flutter/flutter/issues/120857).
+Some users are requesting that this be looked at again and re-prioritized (with a higher priority) if possible.
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 143, closed 39 (23.17%).
+
+In total closed 85 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22.4% |
+| Fixed | 36.5% |
+| Invalid | 32.9% |
+| Solved | 8.2% |
+
+Issues closed due to inactivity: 20
+
+Size of backlog: 80
+
+#### Flutter/website
+
+New website issues triaged 9, closed 0 (0%)
+
+In total closed 1 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 4, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 14, closed 2 (27.27%).
+
+In total closed 24 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 33.3% |
+| duplicate | 12.5% |
+| invalid | 16.7% |
+| no-response | 16.7% |
+| solution-provided | 8.3% |
+| user issue | 4.2% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 1, closed 0 (0%).
+
+In total, closed 0 issues during the week
+
+
+## 2024-02-23
+### Notable issues
+
+Resizing FlutterView in android create a flicker [#143051](https://github.com/flutter/flutter/issues/143051)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 149, closed 50 (33.56%).
+
+In total closed 92 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 28.26% |
+| Fixed | 23.91% |
+| Invalid | 30.43% |
+| Solved | 17.39% |
+
+Issues closed due to inactivity: 16
+
+Size of backlog: 76
+
+#### Flutter/website
+
+New website issues triaged 5, closed 0 (0%)
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 8, closed 2 (25.00%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 22, closed 7 (31.82%).
+
+In total closed 16 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| solution-provided | 18.75% |
+| no-response | 25.00% |
+| invalid | 25.00% |
+| duplicate | 12.50% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 2, closed 1 (50%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 50.00% |
+| fixed | 50.00% |
+
+
+## 2024-02-16
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 83, closed 20 (24.1%).
+
+In total closed 94 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 13.83% |
+| Fixed | 50.00% |
+| Invalid | 21.28% |
+| Solved | 14.89% |
+
+Issues closed due to inactivity: 27
+
+Size of backlog: 67
+
+#### Flutter/website
+
+New website issues triaged 7, closed 2 (28.57%)
+
+In total closed 2 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 50.00% |
+| duplicate | 50.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 1 (50.00%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 14, closed 3 (21.43%).
+
+In total closed 12 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| user | 8.33% |
+| no-response | 58.33% |
+| invalid | 16.67% |
+| duplicate | 16.67% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 0, closed 0 (0%).
+
+No issues closed during the week.
+
+
+## 2024-02-09
+### Notable issues
+
+Cupertino icons are misaligned in latest beta [#143069](https://github.com/flutter/flutter/issues/143069)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 138, closed 43 (31.16%).
+
+In total closed 97 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 35.05% |
+| Fixed | 30.93% |
+| Invalid | 22.68% |
+| Solved | 11.34% |
+
+Issues closed due to inactivity: 35
+
+Size of backlog: 81
+
+#### Flutter/website
+
+New website issues triaged 3, closed 1 (33.33%)
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| invalid | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 16, closed 2 (12.5%).
+
+In total closed 19 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| user | 10.53% |
+| fixed | 52.63% |
+| no-response | 21.05% |
+| solution-provided | 5.26% |
+| duplicate | 10.53% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 3, closed 0 (0%).
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| no-response | 50.00% |
+| solution-provided | 50.00% |
+
+
+## 2024-02-02
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 140, closed 32 (22.86%).
+
+In total closed 90 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 22.22% |
+| Fixed | 37.78% |
+| Invalid | 20.00% |
+| Solved | 20.00% |
+
+Issues closed due to inactivity: 25
+
+Size of backlog: 101
+
+#### Flutter/website
+
+New website issues triaged 4, closed 0 (0%)
+
+In total closed 3 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 2, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 27, closed 1 (3.7%).
+
+In total closed 14 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| user | 14.29% |
+| fixed | 57.14% |
+| no-response | 21.43% |
+| solution-provided | 7.14% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 2, closed 1 (50%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100.00% |
+
+## 2024-01-26
+### Notable issues
+
+* [go_router_builder] universal link is not working with generated routes [#140909](https://github.com/flutter/flutter/issues/140909)
+* iOS 15+ save password prompt dismiss is pushing UI up and down [#112281](https://github.com/flutter/flutter/issues/112281)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 133, closed 32 (24.06%).
+
+In total closed 91 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.47% |
+| Fixed | 39.56% |
+| Invalid | 20.88% |
+| Solved | 12.09% |
+
+Issues closed due to inactivity: 29
+
+Size of backlog: 109
+
+#### Flutter/website
+
+New website issues triaged 3, closed 0 (0%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 19, closed 3 (15.79%).
+
+In total closed 16 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| user | 12.50% |
+| fixed | 12.50% |
+| no-response | 43.75% |
+| invalid | 18.75% |
+| solution-provided | 6.25% |
+| duplicate | 6.25% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 2, closed 0 (0%).
+
+In total closed 1 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| user | 100.00% |
+
+
+## 2024-01-19
+### Notable issues
+
+* [Android][iOS] Builds generated on different machines have different sizes [#137990](https://github.com/flutter/flutter/issues/137990)
+* Textfield vertical alignment center off with outline input border [#124852](https://github.com/flutter/flutter/issues/124852)
+* [web] Flutter web hot restart not reflecting changes[#141588]( https://github.com/flutter/flutter/issues/141588)
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 133, closed 37 (27.82%).
+
+In total closed 90 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 26.67% |
+| Fixed | 30.00% |
+| Invalid | 23.33% |
+| Solved | 20.00% |
+
+Issues closed due to inactivity: 10
+
+Size of backlog: 122
+
+#### Flutter/website
+
+New website issues triaged 4, closed 2 (50%)
+
+In total closed 2 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| duplicate | 100% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 3, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 8, closed 1 (12.50%).
+
+In total closed 20 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| user | 10.00% |
+| fixed | 25.00% |
+| no-response | 10.00% |
+| invalid | 10.00% |
+| solution-provided | 40.00% |
+| duplicate | 5.00% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 0, closed 0 (0%).
+
+In total closed 2 issue during the week.
+
+| Reason for closing | |
+| -- | -- |
+| no-response | 100.00% |
+
+
+## 2024-01-12
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 146, closed 29 (19.86%).
+
+In total closed 69 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 27.54% |
+| Fixed | 36.23% |
+| Invalid | 26.09% |
+| Solved | 10.14% |
+
+Issues closed due to inactivity: 20
+
+Size of backlog: 102
+
+#### Flutter/website
+
+New website issues triaged 10, closed 2 (20%)
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 50.00% |
+| duplicate | 25.00% |
+| invalid | 25.00% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 0, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 23, closed 6 (26.09%).
+
+In total closed 26 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| user | 7.69% |
+| fixed | 11.54% |
+| no-response | 26.92% |
+| invalid | 15.38% |
+| solution-provided | 30.77% |
+| duplicate | 3.85% |
+| wontfix | 3.85% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 4, closed 1 (25.00%).
+
+In total closed 1 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 100.00% |
+
+
+## 2024-01-05
+### Notable issues
+
+No major issues to report for this week
+
+### Issue counts
+
+#### Flutter
+
+New Flutter issues triaged 110, closed 37 (33.64%).
+
+In total closed 84 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| Duplicate | 34.52% |
+| Fixed | 27.38% |
+| Invalid | 21.43% |
+| Solved | 16.67% |
+
+Issues closed due to inactivity: 39
+
+Size of backlog: 91
+
+#### Flutter/website
+
+New website issues triaged 6, closed 1 (16.67%)
+
+In total closed 6 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 83.33% |
+| duplicate | 16.67% |
+
+#### dart-lang/site-www
+
+New dart-lang/site-www issues triaged 1, closed 0 (0%)
+
+No issues closed during the week.
+
+#### Flutterfire
+
+New Flutterfire issues triaged 18, closed 2 (11.11%).
+
+In total closed 39 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| user | 17.95% |
+| fixed | 30.77% |
+| no-response | 17.95% |
+| invalid | 12.82% |
+| solution-provided | 12.82% |
+| duplicate | 7.69% |
+
+#### FirebaseUI-Flutter
+
+New FirebaseUI-Flutter issues triaged 5, closed 0 (0%).
+
+In total closed 4 issues during the week.
+
+| Reason for closing | |
+| -- | -- |
+| fixed | 50.00% |
+| solution-provided | 50.00% |
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Accessibility-on-Windows.md b/docs/unsorted_wiki/Accessibility-on-Windows.md
new file mode 100644
index 0000000..199c89d
--- /dev/null
+++ b/docs/unsorted_wiki/Accessibility-on-Windows.md
@@ -0,0 +1,14 @@
+## Microsoft Active Accessibility
+
+Microsoft Active Accessibility (MSAA) is an older interface used for accessibility. It can interact with screen readers such as Windows Narrator or NVDA, and has a more limited set of available functionality compared to newer interfaces.
+The base of MSAA is the `IAccessible` interface, which all a11y-providing classes extend. MSAA methods are prefixed with `acc_`. In the Flutter engine, `AXPlatformNodeWin` extends `IAccessible`. Any `IAccessible` objects used are COM interfaces, and should be initialized and reference counted accordingly.
+When a program such a screen reader queries an application for an a11y object, it sends a `WM_GETOBJECT` window message, to which the window will respond with the result of passing the `IAccessible` of its root to the function `LresultFromObject`.
+
+## UI Automation
+
+UI Automation is one framework for Windows that is used for accessibility, for example, by screen readers such as Windows Narrator or NVDA. The interface class `IRawElementProviderFragment` must be implemented by any object representing a UIA fragment, i.e. an accessibility item that exists on the screen, such as a text label, a pane, a button, etc.. For the Flutter engine, the class `AXPlatformNodeWin` extends `IRawElementProviderFragment` in order to serve this purpose. Abstract methods in `IRawElementProviderFragment` provide functionality including retrieving the bounds of the fragment on screen, testing if an on-screen point is within the fragment, and retrieving properties of the fragment such as name and role. Each of the methods of `IRawElementProviderFragment` implemented by `AXPlatformNodeWin` are listed in `ax_platform_node_win.h`. Additionally, `IRawElementProviderFragment` contains a method that returns the fragment root of the fragment.
+The fragment root represents the root of a fragment tree, and extends the class `IRawElementProviderFragmentRoot`. Generally, and in the case of Flutter, these correspond 1-1 to a window. We extend this class in `AXFragmentRootPlatformNodeWin` in ax_fragment_root_win.cc. This class contains methods to retrieve the fragment at a given point, and the current focus of the tree.
+The Window class’s `OnGetObject` handles WM_GETOBJECT window messages, which a screen reader will dispatch to access the UIA fragment tree. When the `lparam` parameter of the message is equal to the constant `UiaRootObjectId`, the request is asking for the UIA root, and a reference is created out of the window’s fragment root with `UiaReturnRawElementProvider`, which is then returned to the message sender.
+Patterns are optional interfaces which UIA elements can provide for additional functionality. For example, providing the `ITextProvider` allows a fragment to be treated as formatted text, and `IToggleProvider` indicates that a fragment can be toggled (e.g. a checkbox) and provides its current toggle state (i.e. on, off, mixed). The UIA method `GetPatternProvider` is used to return an instance of a requested interface type, or none if it is not provided. Provided patterns may or may not be the same as the fragment itself. For example, in `AXPlatformNodeWin`, when `IToggleProvider` is requested, a casted pointer to the node is returned, as `AXPlatformNodeWin` extends `IToggleProvider`. By contrast, when an `ITextProvider` is requested, a separate object is returned, rather than `AXPlatformNodeWin` being a subclass of `ITextProvider`. In this case, this is necessary, as other inherited methods of `AXPlatformNodeWin` share a name but different signature to those in `ITextProvider`, so it cannot extend both.
+
+Whether or not the engine makes use of UI Automation is controlled in the `Window` class, in `Window::OnGetObject`. When a UIA message is received, a UIA response is only issued if the engine was built with the `FLUTTER_ENGINE_USE_UIA` macro defined.
diff --git a/docs/unsorted_wiki/Add-Flutter-to-existing-apps.md b/docs/unsorted_wiki/Add-Flutter-to-existing-apps.md
new file mode 100644
index 0000000..451b807
--- /dev/null
+++ b/docs/unsorted_wiki/Add-Flutter-to-existing-apps.md
@@ -0,0 +1,3 @@
+## Moved
+
+Add-to-app is now released with Flutter v1.12. The updated documentations are at [https://flutter.dev/docs/development/add-to-app/](https://flutter.dev/docs/development/add-to-app/)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Adding-a-new-Test-Shard.md b/docs/unsorted_wiki/Adding-a-new-Test-Shard.md
new file mode 100644
index 0000000..821afd9
--- /dev/null
+++ b/docs/unsorted_wiki/Adding-a-new-Test-Shard.md
@@ -0,0 +1,19 @@
+Further documentation on Flutter's build infrastructure can be found in <https://github.com/flutter/flutter/blob/master/dev/bots/README.md>.
+
+## Requirements for a Flutter/LUCI build
+
+A general outline of the requirements that a Flutter CI test shard has:
+
+1. On LUCI, test shards map to builders. Each test shard must have its own LUCI builder. For the Framework, these are defined in [framework_config.star](https://flutter.googlesource.com/infra/+/refs/heads/main/config/framework_config.star). Generally you will need to have both a pre-submit ("try" in LUCI terminology) builder and a post-submit ("prod") builder.
+1. This LUCI builder will specify a "recipe" to run. These are [starlark](https://github.com/bazelbuild/starlark) scripts that determine the actual CI steps to run, and are defined in [flutter.googlesource.com/recipes](https://flutter.googlesource.com/recipes). Most Framework tests use the [flutter/flutter_drone.py](https://flutter.googlesource.com/recipes/+/refs/heads/master/recipes/flutter/flutter_drone.py) recipe. To learn how to edit these, see <https://github.com/flutter/flutter/blob/master/dev/bots/README.md#editing-a-recipe>.
+1. Builders are then added to [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml). These files are read by [Flutter's build dashboard](https://flutter-dashboard.appspot.com/#/build), and are used for scheduling builds.
+
+## Steps to add a new Framework Test Shard
+
+It is important to land these changes in order to prevent any failing builds during the migration period:
+
+1. Framework tests are run by a Dart test runner called [test.dart](https://github.com/flutter/flutter/blob/master/dev/bots/test.dart) that lives in the framework repository. Any new test shards must first be added to this file. Merge this framework change. Note that sharding an existing test doesn't need to update test.dart.
+1. Update [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml) in the Framework tree to include the newly added builder following [CI_YAML.md](https://github.com/flutter/cocoon/blob/main/CI_YAML.md#adding-new-targets). Ensure that the "shard" and "subshard"/"subshards" properties match what was added to test.dart in the previous step. Verify that the entry is marked as `bringup: true`. New shards should always be marked in bringup to verify they are passing on master before being able to block the tree. Merge this change. Note that the new shard will not run in presubmit at this point as the target is with `bringup: true`.
+1. Monitor the CI results of the new shard on the [Flutter build dashboard](https://flutter-dashboard.appspot.com/#/build). After 50 consecutive passing builds without any flakes, the flake bot will create a PR to remove the `bringup: true` parameter from `.ci.yaml` in the Framework tree. This will allow the test to block the tree, preventing breakages. With this change, the new shard will start running in presubmit automatically, unless specify `presubmit: false`. Note the flake bot runs once a week on Weds.
+
+Note: if a new post-submit target is renamed from an existing target, there is no need to follow the bringup process.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Android-Multidex-support.md b/docs/unsorted_wiki/Android-Multidex-support.md
new file mode 100644
index 0000000..cd6d894
--- /dev/null
+++ b/docs/unsorted_wiki/Android-Multidex-support.md
@@ -0,0 +1,15 @@
+# Dex Overview
+
+Android apps are compiled into .dex (dalvik executable) files that run on the Dalvik virtual machine. Before Android API 21, apps compiled into a single .dex file, which has the limitation of only supporting 64k method names. This means that larger apps frequently exceed this limit, thus requiring enabling "Multidex" support (see [https://android-doc.github.io/tools/building/multidex.html](https://android-doc.github.io/tools/building/multidex.html) for more details).
+
+In Flutter applications, it is easy to exceed the single dex limit primarily through using plugins. Thus, even small apps may occasionally exceed the limit by importing a full suite of standard Google plugins. Even though unused methods are stripped from releases, the dex limit can still prevent apps from building.
+
+# Multidex support
+
+Flutter supports automatic multidex error detection and support for apps targeting API 20 and below. When apps fail to build due to the multidex error, Flutter will automatically prompt the user if multidex support should be enabled. Answering yes will add support and subsequent builds in the future will build with multidex support enabled.
+
+You may pass the `--no-multidex` flag to temporarily disable multidex support during a build.
+
+# API 21+
+
+Apps that target API 21+ devices already have multidex natively supported. However, we do not recommend targeting API 21+ purely to resolve the multidex issue as this may inadvertently exclude potential users running older devices.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Android-Platform-Views.md b/docs/unsorted_wiki/Android-Platform-Views.md
new file mode 100644
index 0000000..8cc7ff8
--- /dev/null
+++ b/docs/unsorted_wiki/Android-Platform-Views.md
@@ -0,0 +1,89 @@
+# Background
+
+Flutter UIs function conceptually similar to a WebView on Android. The
+Flutter Framework takes a widget tree described by the app developer and
+translates that into an internal widget hierarchy, and then from that decides
+what pixels to actually render. Web developers can think of this as analogous
+to how a browser takes HTML/CSS, creates a Document Object Model ("DOM"), and
+then uses that DOM to actually render pixels each frame. Also like a WebView,
+Flutter UIs aren't translated to a set of Android View widgets and composited
+by the Android OS itself. Flutter controls a texture (generally through a
+[SurfaceView](https://developer.android.com/reference/android/view/SurfaceView))
+and uses Skia to render directly to the texture without ever using any kind of
+Android View hierarchy to represent its internal Flutter widget hierarchy or
+UI.
+
+This means that like a WebView, by default a Flutter UI could never contain
+an Android View within its widget hierarchy. Since the Flutter UI is just
+being drawn to a texture and its widget tree is entirely internal, there's no
+place for the View to "fit" within Flutter's internal model or render
+interleaved within Flutter widgets. That's a problem for developers that would
+like to include complex pre-existing Android views in their Flutter apps, like
+WebViews themselves, or maps.
+
+To solve this problem Flutter created an [AndroidView
+widget](https://api.flutter.dev/flutter/widgets/AndroidView-class.html) that
+Flutter developers can use to visually embed actual Android View components
+within their Flutter UI.
+
+# Approaches
+
+There are currently three different implementations of Android platform views:
+- [[Virtual Display]] (VD)
+- [[Hybrid Composition]] (HC)
+- [[Texture Layer Hybrid Composition]] (TLHC)
+
+Each has a different set of limitations and tradeoffs, as discussed below. The pages linked above give details about each implementation.
+
+## Virtual Display
+
+This mode works by rendering the platform view into [a `VirtualDisplay`](https://developer.android.com/reference/android/hardware/display/VirtualDisplay), whose contents are connected to [a Flutter `Texture`](https://api.flutter.dev/flutter/widgets/Texture-class.html).
+
+Because this renders to a `Texture`, it integrates well into the Flutter drawing system. However, the use of `VirtualDisplay` introduces a number of compatibility issues, including with text input, accessibility, and secondary views (see [[the Virtual Display page|Virtual Display]] for details).
+
+This display mode requires SDK 20 or later.
+
+## Hybrid Composition
+
+This mode directly displays the native Android [`View`](https://developer.android.com/reference/android/view/View) in the view hierarchy. This requires several significant changes to the way Flutter renders:
+- The Flutter widget tree is divided into two different Android `View`s, one below the platform view and one above it.
+- To avoid tearing or other visual artifacts, Flutter's composition must be done on the platform thread rather than a dedicated thread.
+
+Because the native view is being displayed directly, just as it would be in non-Flutter application, this mode is the least likely to have compatibility issues with the platform view. However, the rendering changes can significantly impact Flutter's performance. In addition, on versions of Android before SDK 29 (Android 10) Flutter frames have a GPU->CPU->GPU round trip that further impacts performance.
+
+This display mode requires SDK 19 or later, and uses the FlutterImageView based renderer.
+
+## Texture Layer Hybrid Composition
+
+This mode, introduced in Flutter 3.0, attempted to address the limitations of the modes above, and was originally intended to replace both. Like Hybrid Composition, the view is actually placed on the screen at the correct location. However, as with Virtual Display the drawing uses a `Texture`, which in this case is populated by redirecting [`draw`](https://developer.android.com/reference/android/view/View#draw(android.graphics.Canvas)).
+
+In most cases this combines the best aspects of Virtual Display and Hybrid Composition, and should be preferred when possible. One notable exception however is that if the platform view is, or contains, a [`SurfaceView`](https://developer.android.com/reference/android/view/SurfaceView) this mode will not work correctly, and the `SurfaceView` will be drawn at the wrong location and/or z-index.
+
+This display mode requires SDK 23 or later.
+
+# Selecting a mode
+
+Usually Android platform views are created with one of the `init*` methods:
+- `initAndroidView` creates a [`TextureAndroidViewController`](https://api.flutter.dev/flutter/services/TextureAndroidViewController-class.html), which will use TLHC mode if possible, and fall back to VD if not. The fallback is triggered if:
+ - the current SDK version is <23, or
+ - the platform view hierarchy contains a `SurfaceView` (or subclass) **at creation time**.
+
+ There is [a known issue](https://github.com/flutter/flutter/issues/109690) where if the view hierarchy does not contain a `SurfaceView` at creation time, but one is added later, rendering will not work correctly. Until that issue is resolved, plugin authors can work around this by either:
+ - including a 0x0 `SurfaceView` in the view hierarchy at creation time, to trigger fallback to VD, or
+ - switching to `initExpensiveAndroidView` to require HC.
+
+ (The behavior described above is for Flutter 3.3+. Flutter 3.0 did not include the fallback to VD, and in Flutter <3.0 this always used VD.)
+- `initSurfaceAndroidView` creates a [`SurfaceAndroidViewController`](https://api.flutter.dev/flutter/services/SurfaceAndroidViewController-class.html), which will use TLHC if possible, and fall back to HC if not. As above, the fallback is triggered if:
+ - the current SDK version is <23, or
+ - the platform view hierarchy contains a `SurfaceView` (or subclass) **at creation time**.
+
+ There is [a known issue](https://github.com/flutter/flutter/issues/109690) where if the view hierarchy does not contain a `SurfaceView` at creation time, but one is added later, rendering will not work correctly. Until that issue is resolved, plugin authors can work around this by either:
+ - including a 0x0 `SurfaceView` in the view hierarchy at creation time, to trigger fallback to HC, or
+ - switching to `initExpensiveAndroidView` to require HC directly.
+
+ (The behavior described above is for Flutter 3.7+. In Flutter 3.0 and 3.0 this behaved identically to `initAndroidView`, and in Flutter <3.0 this always used HC.)
+- `initExpensiveAndroidView` creates an [`ExpensiveAndroidViewController`](https://api.flutter.dev/flutter/services/ExpensiveAndroidViewController-class.html), which will always use HC.
+
+ (This API was introduced in Flutter 3.0.)
+
+In general, plugins will likely get the best performance by using `initAndroidView` or `initSurfaceAndroidView` (depending on which fallback mode is desired for older versions of Android), and should only use `initExpensiveAndroidView` if the plugin is found to be incompatible with TLHC (such as dynamically adding a `SurfaceView`).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Autorollers.md b/docs/unsorted_wiki/Autorollers.md
new file mode 100644
index 0000000..dfbed6a
--- /dev/null
+++ b/docs/unsorted_wiki/Autorollers.md
@@ -0,0 +1,66 @@
+Several of our dependencies are automatically rolled (updated) by bots.
+
+## Clang to Engine
+
+We use an auto-roller for Clang on [Linux](https://autoroll.skia.org/r/clang-linux-flutter-engine) and [MacOS](https://autoroll.skia.org/r/clang-mac-flutter-engine) (Windows is pending availability of a Windows Clang package from the Fuchsia infra team). In case of build failures or other errors, ping the #hackers-engine channel on [Discord](https://github.com/flutter/flutter/wiki/Chat).
+
+These rollers may fail if Clang catches a new compilation warning or error that it previously did not, or if a test relies on undefined behavior that has now changed in the new revision of Clang. It is best to resolve such issues ASAP to let the rollers continue and avoid a pile up of issues to resolve.
+
+The rollers work by updating a [CIPD](https://chrome-infra-packages.appspot.com/p/fuchsia/third_party/clang/) package version in the DEPS file. You can map from a CIPD version to a git revision by checking in CIPD.
+
+## Fuchsia SDK to Engine
+
+We use an auto-roller for the Fuchsia SDK on [Linux](https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine) and [MacOS](https://autoroll.skia.org/r/fuchsia-mac-sdk-flutter-engine) (Windows is pending availability of a Windows Fuchsia SDK package from the Fuchsia infra team). In case of build failures or other errors, ping the #hackers-engine channel on [Discord](https://github.com/flutter/flutter/wiki/Chat).
+
+These rollers may fail if the Fuchsia SDK contains a breaking change. It is best to resolve such issues ASAP to let the rollers continue and avoid a pile up of issues to resolve.
+
+The rollers work by updating a [CIPD](https://chrome-infra-packages.appspot.com/p/fuchsia/sdk/core) package version in the DEPS file. You can map from a CIPD version to a JIRI snapshot or a git revision by checking in CIPD.
+
+## Skia to Engine
+
+We use an auto-roller for Skia rolls. It's status can be viewed at <https://skia-flutter-roll.skia.org/>. In case of build failures or other errors, ping the Flutter-Skia chat channel. In case you get no response, you can login with an @google.com account and pause the roller (or ask someone with an @google.com account to do so). Please specify a descriptive reason and file a bug to re-enable the rollers as soon as possible.
+
+The bot updates the `skia_revision` line of <https://github.com/flutter/engine/blob/master/DEPS>.
+
+Skia also uses an auto-roller for Fuchsia; see <https://autoroll-internal.skia.org/r/fuchsia-autoroll>.
+
+## Engine to Framework
+
+The engine is automatically rolled to the framework. It is configured by <https://skia.googlesource.com/skia-autoroll-internal-config.git/+/main/skia-infra-public/flutter-engine-flutter.cfg>.
+
+The bot updates <https://github.com/flutter/flutter/blob/master/bin/internal/engine.version> to point to the latest revision of the engine *whose artifacts built successfully*, as determined by looking at the [Engine Console](https://ci.chromium.org/p/flutter/g/engine/console).
+
+
+### Making a breaking change
+
+Our [breaking change policy](https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes) disallows making changes to the engine that require changes to the framework. If you find the need to do this, you should instead make a soft-breaking change which you can land in multiple phases, as described in that process.
+
+### Doing a manual roll
+
+To roll the engine manually in the case you have a breaking change exemption, you'll need to land the change to `engine.version` manually in the same PR to the framework as the one where you fix the framework to work with the new API.
+
+When you change the `engine.version` file locally, you should delete `$FLUTTER_ROOT/bin/cache` and then run `flutter precache` to ensure that all your local artifacts and snapshots are updated. You can then run tests and be sure that they are running against the latest version of the assets you need.
+
+You may find it helpful to use the [`$ENGINE_ROOT/src/flutter/tools/engine_roll_pr_desc.sh`](https://github.com/flutter/engine/blob/master/tools/engine_roll_pr_desc.sh) to create a PR description. Doing this helps us track down what commits have rolled in more quickly, and properly link to other commits and pull requests for commenting and tracking.
+
+For example, to generate a description from hash deadbeef to beefdead:
+
+```bash
+$ ./tools/engine_roll_pr_desc.sh deadbeef..beefdead
+```
+
+_See also: [[Debugging the engine]], which includes instructions on bisecting a roll failure._
+
+
+## Dart to Engine
+
+The Dart SDK is automatically rolled into the engine on a regular basis, following the steps laid out at the [Rolling Dart](https://github.com/flutter/flutter/wiki/Rolling-Dart) page. Since this process is a bit more involved, this autoroller does not use the Skia infrastructure and has a custom dashboard hosted at [go/dart-sdk-roller-dashboard](http://go/dart-sdk-roller-dashboard) (**note: this is likely only accessible from a machine on the Google network**). Using the dashboard, the autoroller can be paused, rolls can be triggered and cancelled, and rolls to a particular revision can be done.
+
+If there are any issues with this process or the autoroller dashboard, contact bkonyi@ or a member of the Dart VM team.
+
+## Flutter Pub Roller
+
+The bot account [flutter-pub-roller-bot](https://github.com/flutter-pub-roller-bot) runs the script at
+https://github.com/flutter/flutter/blob/master/dev/conductor/bin/packages_autoroller on post-submit of
+every framework commit to keep the pub dependencies in the [framework](https://github.com/flutter/flutter)
+up to date.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Autosubmit-bot.md b/docs/unsorted_wiki/Autosubmit-bot.md
new file mode 100644
index 0000000..74aaa2a
--- /dev/null
+++ b/docs/unsorted_wiki/Autosubmit-bot.md
@@ -0,0 +1,168 @@
+# What is the Autosubmit Bot
+The Flutter autosubmit bot is a tool that helps developers submit changes to the Flutter codebase. It automates the process of validating pull requests, test validation, and merging changes. This frees up developers to focus on writing code, and makes it easier to contribute to the Flutter project.
+
+# The Autosubmit Workflow
+## Submitting a Pull Request
+When a developer opens a pull request against any of the currently supported repositories, the cocoon backend will schedule tests and checks against that pull request. Rather than have the developer wait around to make sure all these tests and validations have completed, they can add a label and the Autosubmit bot will then queue that pull request for merge upon successfully passing all checks and validations. It will look something like this:
+
+1. You have a change you would like to contribute to flutter so you open a pull request.
+2. Dozens of tests will start in the background against your changes.
+3. You can add the `autosubmit` label to notify the Autosubmit bot that you would like it to merge the pull request upon successful validation.
+4. If all validations are successful the Autosubmit bot will merge the pull request.
+
+## What Validations does the Autosubmit Bot Perform
+### Code Reviews
+The following are the rules for code reviews:
+* If the author is a member of the GitHub `flutter-hackers` org then they will need **at least 1 other review** from a member of the `flutter-hackers` org, preferable a code owner from that repository.
+* If the author is not a member of the GitHub `flutter-hackers` org then they will need **at least 2 other reviews** from members of the `flutter-hackers` org.
+* If any reviewer requests changes then regardless of the number of approvals you have the pull request will not be merged by the Autosubmit bot and the `autosubmit` label will be removed until the reviewer who requested changes has approved the pull request.
+
+### Check Runs and Statuses
+When a pull request is opened the Cocoon backend service will create a number of test runs that will be used to validate the code change that was submitted. Once the `autosubmit` label is added, the Autosubmit bot will check the statuses of those tests and will not merge the pull request until all of them have succeeded. If the any of the tests have failed the `autosubmit` label will be removed and the bot will no longer process that pull request. However the developer can re-trigger the test and add the label again to retry.
+
+### Other Checks
+The Autosubmit bot will make several other checks to determine viability of the pull request up until the moment the pull request is queued for merge. They are:
+* merge-ability - this is a GitHub status that says the code can be merged into the mainline branch.
+* code conflicts - the bot will check for this and notify the author in the event conflicts happen before merging of the pull request.
+
+## Submitting a Revert Request
+Autosubmit can also undo a change automatically simply by adding a label and a comment to a pull request. By adding the label 'revert' to a closed pull request the autosubmit bot will know to create a new request to revert this change and provide the specified reason in the body of the resulting revert request.
+
+## Conditions on creating a Revert Request
+* The initiator of the revert request must be a member of the flutter-hackers team.
+* The pull request being targeted for revert must have been merged less than 24 hours ago.
+* The initiator of the revert must supply a reason for the revert. In order to do this they must add a comment that begins with 'Reason for revert:' and then supply a reason for the revert.
+
+If an empty reason is supplied then the 'revert' label will be removed and a comment supplied that you must supply a reason.
+
+# How it Works
+## Basic Design
+The Autosubmit bot is a service hosted within GCP that listens to GitHub's webhook events utilizing PubSub to store the messages it is interested in for further processing. A cron job calls the service every two minutes to look for new events from GitHub to see if any new pull requests need to be processed.
+
+If an event contains a new pull request we look at it for the 'autosubmit' label. If the pull request is valid, i.e. it came from GitHub then we send it in a message to our PubSub topic.
+
+A cron job will then call the Autosubmit service which will pull messages from the topic for processing and validation. If the pull request has passed the validations outlined above then the it will be merged and the PubSub message acknowledged. Autosubmit will no longer process that pull request.
+
+{TODO add a diagram of the components}
+
+## Configuration
+The Autosubmit bot gets its configuration from a configuration file in the Orgs `.github` repository, specifically at `.github/autosubmit/autosubmit.yml`. These configurations govern the validations that the Autosubmit will perform and can be updated on the fly. These configs can also be overridden in other repositories so that the configuration can be tuned according to the repositories code owners liking.
+
+### Configuration Values
+| Config Name | Optional | Type | Default Value | Explanation |
+| --- | --- | --- | --- | --- |
+| `default_branch` | Yes | String | 'main' | the default branch of the repository where pull requests are merged into. This can be provided in the configuration but if it is not, the bot will collect this from a call to the Github API. |
+| `allow_config_override` | Yes | boolean | false | flag to allow specific repositories to override the values defined at the Org level for Autosubmit. See below. |
+| `auto_approval_accounts` | Yes | Array of String | [ ] | the accounts that can submit pull requests automatically with automatic review approval. The values here should be reserved for trusted entities such as dependabot or org created accounts. |
+| `approving_reviews` | Yes | integer | 2 | Integer, the number of reviews required before Auto-submit will merge a pull request upon approval. |
+| `approval_group` | No | String | | the group a pull request author must get approval from in order to merge their pull request into the repository. See the rules on Approvals above. |
+| `run_ci_checks` | Yes | boolean | true | a flag to determine whether or not to run target checks from ci.yaml or not. Not all repositories may want to do this initially. It is strongly recommended that this be set to True always. |
+| `support_no_review_revert` | Yes | boolean | true | flag to toggle condition of reviews required on revert requests. Flutter does not require an initial review but other repos may not want this. |
+| `required_checkruns_on_revert` | Yes | Array of String | [ ] | a list of check runs that Auto-submit will require to complete before merging a revert pull request regardless of what `support_no_review_revert` is set to. |
+
+### Configuration File Examples
+Here is an example of a full Autosubmit bot configuration file:
+```
+default_branch: main
+allow_config_override: false
+auto_approval_accounts:
+ - skia-flutter-autoroll
+ - engine-flutter-autoroll
+ - dependabot[bot]
+ - dependabot
+ - DartDevtoolWorkflowBot
+approving_reviews: 2
+approval_group: flutter-hackers
+run_ci: true
+support_no_review_revert: true
+required_checkruns_on_revert:
+ - ci.yaml validation
+```
+
+An example of the minimum configuration file
+```
+approval_group: flutter-hackers
+```
+
+### Allowing Configuration Overrides
+All repositories within an Org need not follow the same rules. Some may want more Approvals for a review, some may not want to allow Reverts without a review. Autosubmit allows this by allowing an override configuration file to be defined in the repositories .github directory. This is different than the Org .github repository.
+
+In order to override the configuration at the Org level, the `allow_config_override` flag must be set to `true`. This tells Autosubmit that it will need to look in the local repositories .github directory for an autosubmit.yml file. Specifically that file will need to be places here: `<repo>/.github/autosubmit/autosubmit.yml`.
+
+The following rules will apply to override values:
+* Non array values will overwrite the Org level config.
+* Array values will be additive, meaning that anything specified in the local config will be 'in addition to' what is defined in the Org level config.
+* The number of approving reviews may not be set lower than what is defined in the Org level config.
+
+An example of Config Override:
+
+The Org level config is defined as follows:
+```
+allow_config_override: true
+auto_approval_accounts:
+ - skia-flutter-autoroll
+ - engine-flutter-autoroll
+approving_reviews: 2
+approval_group: flutter-hackers
+run_ci: true
+support_no_review_revert: true
+required_checkruns_on_revert:
+ - ci.yaml validation
+```
+
+At the repository level the team would like to add a few more accounts to the `auto_approval_accounts` for automation purposes and required 1 more review but also would like revert requests to require reviews. So the repository level config would define the new values as follows:
+```
+auto_approval_accounts:
+ - dependabot[bot]
+ - dependabot
+ - DartDevtoolWorkflowBot
+approving_reviews: 3
+support_no_review_revert: false
+```
+
+The final merged configuration for the repository would then become:
+```
+auto_approval_accounts:
+ - skia-flutter-autoroll
+ - engine-flutter-autoroll
+ - dependabot[bot]
+ - dependabot
+ - DartDevtoolWorkflowBot
+approving_reviews: 3
+approval_group: flutter-hackers
+run_ci: true
+support_no_review_revert: false
+required_checkruns_on_revert:
+ - ci.yaml validation
+```
+
+# Where it Lives
+The code for the Autosubmit bot is part of the flutter infra tools and can be found here: https://github.com/flutter/cocoon
+
+# Onboarding with Autosubmit {WIP}
+### Installing the Autosubmit App
+Currently the bot is not available from the Github marketplace so it is only available to support internal Google Repositories.
+In order to install the App you will need to:
+1. Open a request with the Flutter Infrastructure team and request 'Autosubmit Support for ORG/REPO' in the title.
+2. A Flutter Infrastructure Admin will then install the App on that repository so you must look out for a request from Autosubmit for the installation.
+3. Next the bot will need to be added as a Pusher to the repository it will be servicing. This is done in the Branch Protections section of the repository.
+
+### Adding the Configuration
+After the app is installed you will need to place a configuration file into your ORGs .github repository. If you do not have one then you will need to create onc in your ORG level .github repository.
+
+Once the repository is created then you will need to add the Autosubmit configuration file at .github/autosubmit/autosubmit.yml. This is the primary location that Autosubmit will check first for the configuration. Repositories in your ORG can override the ORG level configs by placing a configuration file at repo/.github/autosubmit/autosubmit.yml. See the section on [configuration](https://github.com/flutter/flutter/wiki/Autosubmit-bot#configuration) above on the fields you may want to include in your configuration.
+
+Make sure that the App has read write access to the ORG level .github repository.
+
+### Configuring the Repository
+In order for the Autosubmit bot to merge pull requests it will need write access on the repository and it will need to be added to the branch protection section on who can push to the repository.
+
+An 'autosubmit' label will also need to be created for the supported repository. You can visit this [page](https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/managing-labels#creating-a-label) to view instructions on creating the label.
+
+### Usage
+Once the Autosubmit app has been installed in the repository, the configuration has been added and the target repository has been configured for write access you are ready to utilize the Autosubmit bot. In order to use the Autosubmit on pull requests in the target repository, follow these steps:
+1. Open a pull request for review.
+2. Make sure the pull request has tests as the bot will warn about this.
+3. Get at least 1 other team member to review your pull request.
+4. Once you have a review add the 'autosubmit' label.
+5. Autosubmit will validate the pull request and if everything is okay it will automatically merge the pull request for you. No need to wait around to merge it!
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Bad-Builds.md b/docs/unsorted_wiki/Bad-Builds.md
new file mode 100644
index 0000000..94d33346
--- /dev/null
+++ b/docs/unsorted_wiki/Bad-Builds.md
@@ -0,0 +1,26 @@
+## Flutter Bad Builds Triage Guidelines (for Googlers)
+
+1. If you encounter a serious P0 flutter production Google3 or a github issue, triage the issue and check if the issue is already part of Flutter's bad build [tracker](http://go/flutter-bad-builds).
+If the issue is not listed in Flutter bad builds [tracker](http://go/flutter-bad-builds), check that it meets the below criteria to qualify for bad builds visibility -
+ * A P0 bug
+ * Can be in any component, Flutter’s component or Flutter user’s component
+ * Must be a bug, not a feature request
+ * Must affect end-users, not a regression on tooling, debugging features, infra etc
+ * Issue must be open
+
+2. If there is a buganizer for this already and no github issue, create a github bug in the github repo. Label the github bug with label _a: production_ and _customer: google_.
+
+3. Add following information to Flutter bad builds visibility [tracker](http://go/flutter-bad-builds)
+ * Issue create date - this can be either buganizer or github issue create date
+ * Triaged by - your LDAP
+ * Github issue id
+ * Begin bad build commit hash URL (Commit hash URL can be from dart, engine, flutter and skia repos)
+ * Impacted platform
+
+3. Automation will take care of finding the corresponding begin bad build commit CL based on the begin bad build commit URL you entered. Automation will run once every 12 hrs
+
+4. Contact the [Flutter@Google team on-call ](https://rotations.corp.google.com/rotation/5644450090975232) for more visibility into the issue. This will also help identify duplicates across github & Google3.
+
+5. Once a fix has been merged, enter the “End bad build commit hash 1 URL”.
+
+6. There are cases when a fix is merged as part of 2 different commits. In that case, you can use the “ End bad build commit hash 2 URL” column to populate the second commits hash information. Automation will take care of finding the corresponding End bad build commit CL based on the End bad build commit URL you entered.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Binding-to-native-code-via-FFI.md b/docs/unsorted_wiki/Binding-to-native-code-via-FFI.md
new file mode 100644
index 0000000..600fecd
--- /dev/null
+++ b/docs/unsorted_wiki/Binding-to-native-code-via-FFI.md
@@ -0,0 +1 @@
+Please see [Binding to native code using dart:ffi](https://flutter.dev/docs/development/platform-integration/c-interop) on [flutter.dev](https://flutter.dev/)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Chat.md b/docs/unsorted_wiki/Chat.md
new file mode 100644
index 0000000..22686d2
--- /dev/null
+++ b/docs/unsorted_wiki/Chat.md
@@ -0,0 +1,74 @@
+# Chatting on Discord
+
+<img src="https://github.com/flutter/flutter/assets/551196/1381071b-e482-4e07-b096-60e9219d3ff7" width=300 align=right alt="">
+
+The Flutter team uses a [Discord server](https://discord.com/channels/608014603317936148). [This is invite link for Flutter's Discord server](https://discord.gg/ht477J5PyH). Please do not share either link directly, instead share links to this page.
+
+The server is open to the public, though some channels are intended only for people who are actively contributing. **See the #welcome channel for instructions on posting to the server (you won't be able to see the channels until you acknowledge the rules there).**
+
+We recommend you use the same display name on Discord and GitHub.
+
+(Our Flutter Discord server is unrelated to the [r/FlutterDev Discord server](https://www.reddit.com/r/FlutterDev/), which is where the r/FlutterDev community shares their apps, discusses Flutter, and so on. When in doubt, remember: our server has Dash as an icon!)
+
+## Existing channels
+
+We have different channels for different purposes (this list is not exhaustive):
+
+| Channel | Description | Participants |
+| - | - | - |
+| #welcome | Welcome message. | Only admins can post.<br>Anyone can read.
+| #announcements | Flutter announcements (e.g. breaking changes). | Only team members can post (but not frequently).<br>Anyone can read.
+| #server-support | Forum for asking for your role to be changed, for code of conduct violations to be raised, and for other administrative issues. | Anyone.
+| #general | Chat about anything related to Flutter. | Anyone.
+| #help | People asking for our help. | Anyone.
+| #package-authors | For people who develop Flutter packages. | People writing packages for [pub.dev](https://pub.dev/).
+| #dart | Questions about the Dart language. | Anyone.
+| #tree-status | Announcements about whether the trees are open or closed. | Anyone, but discussion should happen elsewhere.
+| #hackers | Chat about anything related to Flutter. | Flutter contributors.<br>Anyone can watch.
+| #hackers-* | Chat specifically about foo, where foo is something to do with Flutter development, for example "engine", "framework", "desktop", "devtools", etc. | Flutter contributors.<br>Anyone can watch.
+| #hackers-dart | Questions about the Dart language. | Flutter contributors.<br>Anyone can watch.
+| #hackers-new | New people to the team and people who want to help them. | Flutter contributors.<br>Anyone can watch.
+| #hackers-triage | For use while triaging bugs. | Flutter contributors.<br>Anyone can watch.
+| #hidden-chat | Chat about anything related to Flutter. | Flutter contributors only.<br>Not public.
+| general (voice) | Talk (audio) about anything related to Flutter. | Anyone.
+| team (voice) | Talk (audio) that is only open to team members. | Flutter contributors.
+
+The #hidden-chat and #team channels are not publicly-readable, you have to be a member of the "team member" role to see them.
+
+## New channels
+
+If you need a new channel, first just use #general or #hackers, or a thread in one of those channels; if the conversation lasts more than a day, ask for a channel in #server-support.
+
+If you find your team's channel is hard to follow due to having too many topics discussed at once, ask for a new channel, or use threads.
+
+If you would like a channel for subcommunities, e.g. #women or #china, that should be fine. (Subcommunities that are already overrepresented in the main channels, e.g. #english-speakers, are less likely to be good candidates for dedicated channels.)
+
+For practical reasons, we do not use Discord for chat groups limited to specific customers. For example, if your company wants a private discussion channel with the Flutter team, we would not use Discord.
+
+Each channel describes its topic in the channel description. Please read the channel description before posting in a channel, to make sure you're using the appropriate one.
+
+## Policies
+
+Our [code of conduct](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md) applies to the Discord server, as it does to any communications involving Flutter.
+
+The #hackers-* channels are visible to anyone, but please only post in those channels if you are actively contributing. If you want help with your app, ask in #help instead. If you want to learn how to contribute, have a look at our [contributing guide](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md).
+
+See the [[contributor access]] wiki page for details on becoming a member of the "team" role.
+
+Please don't direct-message people unless they are comfortable with it (ask publicly first).
+You can disable direct messages on this server by changing your Privacy settings for the server, or on a global basis by changing your Privacy & Safety user settings.
+
+## Discord features
+
+### Threading
+
+Discord has both actual threads (temporary new channels) and a threadingish feature called [Replies](https://support.discord.com/hc/en-us/articles/360057382374-Replies-FAQ) that lets you tie messages to earlier messages and notify the original commenter.
+
+### Status
+
+You can [change your status](https://support.discord.com/hc/en-us/articles/360035407531-Custom-Status) (online, away, custom messages) by clicking on your avatar in Discord.
+
+
+# Design documents
+
+This page used to discuss how to create design docs, but that content is now on its own page: [[Design documents]].
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Code-generation-in-Flutter.md b/docs/unsorted_wiki/Code-generation-in-Flutter.md
new file mode 100644
index 0000000..a2d90bc
--- /dev/null
+++ b/docs/unsorted_wiki/Code-generation-in-Flutter.md
@@ -0,0 +1,5 @@
+Flutter previously supported code generation via `flutter generate`.
+
+However, `flutter generate` is deprecated and slated to be removed in a future flutter release. Instead, consider `build runner`, which is easier to use directly, and can be used to generate code for Flutter projects.
+
+_See also: https://pub.dev/packages/build_runner_
diff --git a/docs/unsorted_wiki/Code-signing-metadata.md b/docs/unsorted_wiki/Code-signing-metadata.md
new file mode 100644
index 0000000..4efd26a
--- /dev/null
+++ b/docs/unsorted_wiki/Code-signing-metadata.md
@@ -0,0 +1,196 @@
+# Code signing
+
+This covers the process of how to add / update code signing metadata of flutter
+engine binaries.
+
+## Overview
+
+Flutter engine binaries are built with GN and ninja, referencing pre-defined
+configurations such as ci/builders
+[JSON files](https://github.com/flutter/engine/blob/main/ci/builders/mac_host_engine.json).
+During flutter releases, engineers need to code sign mac engine binaries to
+assure users that they come from a known source, have not been tampered with,
+and should not be quarantined by Gatekeepers.
+
+Each of the Flutter engine binaries are either code signed with entitlements, or
+code signed without entitlements. (An entitlement, along with information from
+the developer account, grant particular permissions to binaries, such as
+capability to access the user's home automation network.) For example, impellerc
+is code signed with flutter entitlements, whereas .dylib files are usually code
+signed without entitlements.
+
+## Add / Update code signing metadata
+
+### Glossary
+
+1. BUILD.gn files: files that include build rules of GN targets. An example is
+ the
+ [BUILD.gn file of flutter engine](https://github.com/flutter/engine/blob/main/BUILD.gn).
+2. leaf node of an engine binary: the minimal gn target that could produce such
+ an engine binary. That is, this target does not have any dependencies on
+ other gn targets that could build this engine binary.
+3. dependencies: Every gn target could have dependencies on other gn targets.
+ The dependency of a gn target is defined in the `deps` field of the target's
+ build rule.
+
+### ways to generate engine binary
+
+Generally, there are two ways to generate an engine binary:
+
+1. Through build rules defined in BUILD.gn files.
+
+2. Through global generator scripts. (these scripts are normally .py files)
+
+To distinguish between the two, an engine binary is built through global
+generator if it is listed in the `archives` -> `destination` field of the
+builder JSON
+([mac_ios_engine.json](https://github.com/flutter/engine/blob/main/ci/builders/mac_ios_engine.json)
+or
+[mac_host_engine.json](https://github.com/flutter/engine/blob/main/ci/builders/mac_host_engine.json)).
+For example, `darwin-x64/FlutterEmbedder.framework.zip`. Whereas binaries built
+with BUILD.gn files are listed among the `builds` field of the JSON file. For
+example, `darwin-x64/artifacts.zip`. We will provide examples for both
+scenarios.
+
+### To add / update code signing metadata in BUILD.gn files:
+
+1. Find the leaf node where the target engine binary is built. To do so,
+ Recursively trace the `deps` field of the engine artifact. The paths in
+ `deps` field of the GN target correspond to the paths of other GN targets
+ that are dependencies of the current GN target.
+
+2. Add / Update the `metadata` field of the leaf node. For a new engine binary:
+
+ 2.1 if it should be code signed with entitlements, add [the name of the
+ engine binary] to the `entitlement_file_path` field in `metadata` .
+
+ 2.2 if the binary shouldn't be code signed with entitlements, add [the name
+ of the engine binary] to the `without_entitlement_file_path` field in
+ `metadata` .
+
+3. If a `entitlement_file_path` or a `without_entitlement_file_path` field does
+ not exist:
+
+ **note**: this step is only needed if the target includes solely binaries
+ that have never been code signed before. This step also requires some
+ background on flutter engine and gn build rules.
+
+ Add a `metadata` field in the gn target of the leaf node, and put the name
+ of the binary in this field. e.g.
+
+ ```
+ metadata = {
+ entitlement_file_path = [ "libtessellator.dylib" ]
+ }
+ ```
+
+ In the same file that produces the engine artifact(zip file), add a build
+ rule to collect the data keys. e.g.
+
+ ```
+ generated_file("artifacts_entitlement_config") {
+ outputs = [ "$target_gen_dir/entitlements.txt" ]
+
+ data_keys = [ "entitlement_file_path" ]
+
+ deps = [ "//flutter/lib/snapshot:generate_snapshot_bin" ]
+ if (flutter_runtime_mode == "debug") {
+ deps += [
+ "//flutter/impeller/compiler:impellerc",
+ "//flutter/impeller/tessellator:tessellator_shared",
+ "//flutter/shell/testing:testing",
+ "//flutter/tools/path_ops:path_ops",
+ ]
+ }
+ }
+ ```
+
+ Finally, embed the file with collected data keys in the zip artifact. e.g.
+
+ ```
+ if (host_os == "mac") {
+ deps += [ ":artifacts_entitlement_config" ]
+ files += [
+ {
+ source = "$target_gen_dir/entitlements.txt"
+ destination = "entitlements.txt"
+ },
+ ]
+ }
+ ```
+
+#### Example
+
+Suppose impellerc is a binary that exist in a zip bundle called artifacts.zip.
+Then impellerc is the name of the binary, and artifacts.zip is the flutter
+engine artifact.
+
+1. Following step 1, the `deps` field of the GN target of artifacts.zip
+ includes the path of impeller dependency:
+ `//flutter/impeller/compiler:impellerc`. Following this path, we locate the
+ GN file at `flutter/impeller/compiler/BUILD.gn`, and find the leaf node that
+ builds impellerc: `impeller_component("impellerc")`.
+
+2. Following step 2, since `impellerc` should be code signed with entitlements,
+ we go to the `metadata` field of the impellerc target, and add the name
+ `impellerc` to the `entitlement_file_path` array inside the `metadata`
+ field.
+
+You can reference the
+[BUILD.gn file of impellerc](https://github.com/flutter/engine/blob/main/impeller/compiler/BUILD.gn).
+
+### To add / update code signing metadata in global generator files:
+
+1. Find the generator script path listed under `generators` -> `tasks` ->
+ `script` of the ci/builder JSON files
+ ([mac_ios_engine.json](https://github.com/flutter/engine/blob/main/ci/builders/mac_ios_engine.json)
+ or
+ [mac_host_engine.json](https://github.com/flutter/engine/blob/main/ci/builders/mac_host_engine.json)).
+
+ The generator script related to iOS is located at
+ `sky/tools/create_full_ios_framework.py`, and generator script related to
+ macOS is located at `sky/tools/create_macos_framework.py`.
+
+2. Add / Update the variables ending with `with_entitlements` /
+ `without_entitlements` suffix from the generator script you found in step
+ one.
+
+ As an example, you can find variables `ios_file_without_entitlements` and
+ `ios_file_with_entitlements` in sky/tools/create_full_ios_framework.py; and
+ find variables `filepath_without_entitlements` and
+ `filepath_with_entitlements` in sky/tools/create_macos_framework.py
+
+ 2.1 if the binary should be code signed with entitlements, add [the name of
+ the binary] to the variable name with the `with_entitlements` suffix.
+ (`ios_file_with_entitlements` or `filepath_with_entitlements` depending on
+ which script)
+
+ 2.2 if the binary shouldn't be code signed with entitlements, add [the name
+ of the binary] to the variable name with the `without_entitlements` suffix.
+
+#### Example
+
+Suppose `Flutter.xcframework/ios-arm64/Flutter.framework/Flutter` is a binary
+that exist in a zip bundle called `ios/artifacts.zip`.
+
+1. Following step 1, in
+ [mac_ios_engine.json](https://github.com/flutter/engine/blob/main/ci/builders/mac_ios_engine.json),
+ it builds the artifact with the
+ `flutter/sky/tools/create_full_ios_framework.py` script.
+
+2. Following step 2, since
+ `Flutter.xcframework/ios-arm64/Flutter.framework/Flutter` shouldn't be code
+ signed with entitlements, we add the binary name
+ `Flutter.xcframework/ios-arm64/Flutter.framework/Flutter` to the
+ `ios_file_without_entitlements` variable.
+
+You can reference the generator script
+[create_full_ios_framework.py](https://github.com/flutter/engine/blob/main/sky/tools/create_full_ios_framework.py).
+
+## Code signing artifacts other than flutter engine binaries
+
+The code signing functionality is implemented as [a recipe module in flutter recipes](https://cs.opensource.google/flutter/recipes/+/master:recipe_modules/signing/api.py). Therefore it can also be used to
+code sign arbitrary flutter artifacts built through recipe, for example, flutter iOS usb dependencies.
+
+To code sign, after the artifacts are built, pass the file paths into
+the code signing recipe module and invoke the function. An example is [how engine V2 invokes the code signing recipe module](https://cs.opensource.google/flutter/recipes/+/master:recipes/engine_v2/engine_v2.py;l=197-212).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Codelabs.md b/docs/unsorted_wiki/Codelabs.md
new file mode 100644
index 0000000..54239f4
--- /dev/null
+++ b/docs/unsorted_wiki/Codelabs.md
@@ -0,0 +1,29 @@
+The Flutter team currently maintains the following codelabs:
+
+* [Write Your First Flutter App, part 1](https://codelabs.developers.google.com/codelabs/first-flutter-app-pt1/#0)
+ * Create a simple mobile app that generates proposed names for a startup company. In part one, you’ll use a package that returns pairs of words at random and inserts them into an infinite scrolling list.
+* [Write Your First Flutter App, part 2](https://codelabs.developers.google.com/codelabs/first-flutter-app-pt2/#0)
+ * Create a simple mobile app that generates proposed names for a startup company. In part two, you’ll extend the example from part 1 to allow the user to select favorite word pairs, and add a second “Saved Favorites” page where users can view the selected names. Finally, you’ll change the app’s theme color.
+* [Basic Flutter layout](https://flutter.dev/docs/codelabs/layout-basics)
+ * Use DartPad in a browser (no need to download Flutter or Dart!) to learn the basics of creating a Flutter layout.
+* [Building Beautiful UIs with Flutter](https://codelabs.developers.google.com/codelabs/flutter/#0)
+ * A deeper “first dive” than “Write Your First Flutter App.” In this codelab you’ll create a chat app that includes a simple animation, and customizes the UI for iOS and Android.
+* [Adding Google Maps to a Flutter App](https://codelabs.developers.google.com/codelabs/google-maps-in-flutter/#0)
+ * Display a Google map in an app, retrieve data from a web service, and display the data as markers on the map.
+* [Build a Photo Sharing App with Google Photos and Flutter](https://codelabs.developers.google.com/codelabs/google-photos-sharing/#0)
+ * Build a field trip app that allows you and other members of the trip to share photos.
+* [Building a Cupertino app with Flutter](https://codelabs.developers.google.com/codelabs/flutter-cupertino/#0)
+ * Build a version of the Shrine shopping app (used in the Material Design codelabs) using the Cupertino package to create an iOS style look and feel. Create multiple tabs and navigate between them.
+* [Firebase for Flutter](https://codelabs.developers.google.com/codelabs/flutter-firebase/#0)
+ * Connect a Flutter app to a Firebase database, and use a transaction to update shared information.
+* [MDC 101 Flutter: Material Components (MDC) Basics](https://codelabs.developers.google.com/codelabs/mdc-101-flutter/#0)
+ * Learn the basics of using Material Components by building a simple app with core components. The four MDC codelabs guide you through building an e-commerce app called Shrine. You’ll start by building a login page using several of MDC Flutter’s components.
+* [MDC 102 Flutter: Material Structure and Layout](https://codelabs.developers.google.com/codelabs/mdc-102-flutter/#0)
+ * Learn how to use Material for structure and layout in Flutter. Continue building the e-commerce app, introduced in MDC-101, by adding navigation, structure, and data.
+* [MDC 103 Flutter: Material Theming with Color, Shape, Elevation, and Type](https://codelabs.developers.google.com/codelabs/mdc-103-flutter/#0)
+ * Discover how Material Components for Flutter make it easy to differentiate your product, and express your brand through design. Continue building your e-commerce app by adding a home screen that displays products.
+* [MDC 104 Flutter: Material Advanced Components](https://codelabs.developers.google.com/codelabs/mdc-104-flutter/#0)
+ * Improve your design and learn to use our advanced component backdrop menu. Finish your e-commerce app by adding a backdrop with a menu that filters products by the selected category.
+
+
+If you find errors with the codelabs, please create [issues](https://github.com/flutter/flutter/issues) with the [dev: docs - codelab](https://github.com/flutter/flutter/labels/dev%3A%20docs%20-%20codelab) and [TODAY](https://github.com/flutter/flutter/labels/%E2%9A%A0%20TODAY) labels.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Commits-Between-1.2.1-and-1.5.4.md b/docs/unsorted_wiki/Commits-Between-1.2.1-and-1.5.4.md
new file mode 100644
index 0000000..1b60e0f
--- /dev/null
+++ b/docs/unsorted_wiki/Commits-Between-1.2.1-and-1.5.4.md
@@ -0,0 +1,1961 @@
+## Changes in `flutter/flutter` from `8661d8` to `b593f5`
+| Author | Commit |
+|--------|--------|
+|Keerti Parthasarathy <keertip@users.noreply.github.com>|Add track-widget-creation flag to attach command ([#31262](https://github.com/flutter/flutter/issues/31262)) * Add track-widget-creation flag to attach command * use the flag|
+|Justin McCandless <justinjmccandless@gmail.com>|Text field scroll physics ([#31088](https://github.com/flutter/flutter/issues/31088)) TextField and CupertinoTextField can now specify scrollPhysics. Cupertino defaults to bouncing now.|
+|MH Johnson <johnsonmh@users.noreply.github.com>|Revert "[Material] Update slider and slider theme with new sizes, shapes, and color mappings ([#30390](https://github.com/flutter/flutter/issues/30390))" ([#31339](https://github.com/flutter/flutter/issues/31339)) This reverts commit b1039f0f1b761b0e4ec1825eed269b10af6104d4. (This is a temporary revert while some of our customers deal with the breaking changes involved.)|
+|Ben Konyi <bkonyi@google.com>|Fixed flutter_attach_test not respecting authentication codes ([#31321](https://github.com/flutter/flutter/issues/31321))|
+|Ben Konyi <bkonyi@google.com>|Fixed failing tests caused by introduction of authentication codes ([#31315](https://github.com/flutter/flutter/issues/31315))|
+|Christopher Fujino <christopherfujino@gmail.com>|Add flutter attach documentation ([#31279](https://github.com/flutter/flutter/issues/31279)) * add attach.md document|
+|Ben Konyi <bkonyi@google.com>|Updated flutter_driver to support auth codes ([#31310](https://github.com/flutter/flutter/issues/31310))|
+|Ben Konyi <bkonyi@google.com>|Added support for authentication codes for the VM service. ([#30857](https://github.com/flutter/flutter/issues/30857)) * Added support for authentication codes for the VM service. Previously, a valid web socket connection would use the following URI: `ws://127.0.0.1/ws` Now, by default, the VM service requires a connection to be made with a URI similar to the following: `ws://127.0.0.1:8181/Ug_U0QVsqFs=/ws` where `Ug_U0QVsqFs` is an authentication code generated and shared by the service. This behavior can be disabled with the `--disable-service-auth-codes` flag.|
+|Devon Carew <devoncarew@google.com>|add daemon.log to the daemon spec ([#31273](https://github.com/flutter/flutter/issues/31273)) * add daemon.log to the daemon spec * mention use in flutter run --machine|
+|stuartmorgan <stuart.morgan@gmail.com>|Add desktop workflows to doctor ([#31283](https://github.com/flutter/flutter/issues/31283)) The 'doctor' check to determine if any devices can be listed for the device should consider desktop workflows as well. This has no effect unless the environment variable to enable desktop device listing is set.|
+|Jonah Williams <jonahwilliams@google.com>|Add flutter run support for linux and windows ([#31229](https://github.com/flutter/flutter/issues/31229))|
+|Jonah Williams <jonahwilliams@google.com>|initial work on coverage generating script for tool ([#29494](https://github.com/flutter/flutter/issues/29494))|
+|Jonah Williams <jonahwilliams@google.com>|add --force flag to precache ([#31278](https://github.com/flutter/flutter/issues/31278))|
+|chunhtai <47866232+chunhtai@users.noreply.github.com>|fix issue 12999: Make assets available during tests ([#31207](https://github.com/flutter/flutter/issues/31207))|
+|Jonah Williams <jonahwilliams@google.com>|pass track widget creation flag through to build script ([#31277](https://github.com/flutter/flutter/issues/31277))|
+|Anthony <anthonyrobledo@gmail.com>|[Material] Update slider and slider theme with new sizes, shapes, and color mappings ([#30390](https://github.com/flutter/flutter/issues/30390)) This PR makes a number of changes to the visual appearance of material sliders: Sizes/Shapes ** enabled thumb radius from 6 to 10 ** disabled thumb radius from 4 to 10 with no gap ** default track shape is a rounded rect rather than a rect ** Colors ** all of the colors now use the new color scheme ** overlay opacity has been reduce from 16% to 12% ** value indicator text color now respects the indicator it is on by using onPrimary ** disabledThumb color no respects the surface it is on by using onSurface The slider theme is also now constructed consistently with other theme objects within the ThemeData. By default, all values are null, and have default values that are resolved in the slider itself, rather than in the slider theme.|
+|Efthymis Sarmpanis <e.sarbanis@gmail.com>|Adds Tap Header Feature to ExpansionPanelList ([#29390](https://github.com/flutter/flutter/issues/29390))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 06fea14e5800..4b9966f5cb41 (3 commits) ([#31271](https://github.com/flutter/flutter/issues/31271)) https://github.com/flutter/engine/compare/06fea14e5800...4b9966f5cb41 git log 06fea14e5800c35a4fc4dd10cc31b997f1be81e9..4b9966f5cb412a73fa50462b3aee9082f436a62a --no-merges --oneline 4b9966f5c Add an adjustment to the line width check in LineBreaker::addWordBreak ([flutter/engine#8623](https://github.com/flutter/engine/issues/8623)) 60bb866ce Roll src/third_party/skia a94670bd08cd..2c2240f66805 (2 commits) ([flutter/engine#8632](https://github.com/flutter/engine/issues/8632)) a144f17ae Tight Paragraph Width ([flutter/engine#8530](https://github.com/flutter/engine/issues/8530)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|Devon Carew <devoncarew@google.com>|remove the unused hintMessage and hintId fields from the reload results ([#31267](https://github.com/flutter/flutter/issues/31267))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|06fea14e5 Glitchiness with Tab Characters ([flutter/engine#8591](https://github.com/flutter/engine/issues/8591)) ([#31265](https://github.com/flutter/flutter/issues/31265)) https://github.com/flutter/engine/compare/b6787096a2d3...06fea14e5800 git log b6787096a2d3d0365f03f4cfdb70b932e4e5bae3..06fea14e5800c35a4fc4dd10cc31b997f1be81e9 --no-merges --oneline 06fea14e5 Glitchiness with Tab Characters ([flutter/engine#8591](https://github.com/flutter/engine/issues/8591)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|b6787096a Roll src/third_party/skia 847d55be4e62..a94670bd08cd (1 commits) ([flutter/engine#8631](https://github.com/flutter/engine/issues/8631)) ([#31260](https://github.com/flutter/flutter/issues/31260)) https://github.com/flutter/engine/compare/3e6dc02ad62e...b6787096a2d3 git log 3e6dc02ad62ef9fa02660f5fb0bb114414e282d4..b6787096a2d3d0365f03f4cfdb70b932e4e5bae3 --no-merges --oneline b6787096a Roll src/third_party/skia 847d55be4e62..a94670bd08cd (1 commits) ([flutter/engine#8631](https://github.com/flutter/engine/issues/8631)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|3e6dc02ad Roll src/third_party/skia ced2b79d00f9..847d55be4e62 (3 commits) ([flutter/engine#8630](https://github.com/flutter/engine/issues/8630)) ([#31251](https://github.com/flutter/flutter/issues/31251)) https://github.com/flutter/engine/compare/54f7c51339ae...3e6dc02ad62e git log 54f7c51339ae7d86a983b5850b14dafe4e2bd90a..3e6dc02ad62ef9fa02660f5fb0bb114414e282d4 --no-merges --oneline 3e6dc02ad Roll src/third_party/skia ced2b79d00f9..847d55be4e62 (3 commits) ([flutter/engine#8630](https://github.com/flutter/engine/issues/8630)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|54f7c5133 Roll src/third_party/skia 14c90c1ca218..ced2b79d00f9 (1 commits) ([flutter/engine#8629](https://github.com/flutter/engine/issues/8629)) ([#31240](https://github.com/flutter/flutter/issues/31240)) https://github.com/flutter/engine/compare/70068706d0ee...54f7c51339ae git log 70068706d0ee3bc9847632c4d0e467fba49271f8..54f7c51339ae7d86a983b5850b14dafe4e2bd90a --no-merges --oneline 54f7c5133 Roll src/third_party/skia 14c90c1ca218..ced2b79d00f9 (1 commits) ([flutter/engine#8629](https://github.com/flutter/engine/issues/8629)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Add run capability for macOS target ([#31218](https://github.com/flutter/flutter/issues/31218))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|70068706d Allow building without python2 ([flutter/engine#8605](https://github.com/flutter/engine/issues/8605)) ([#31239](https://github.com/flutter/flutter/issues/31239)) https://github.com/flutter/engine/compare/8b5a50c0df76...70068706d0ee git log 8b5a50c0df768743dd9858cceb92d1d1de44c35e..70068706d0ee3bc9847632c4d0e467fba49271f8 --no-merges --oneline 70068706d Allow building without python2 ([flutter/engine#8605](https://github.com/flutter/engine/issues/8605)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 876c4c339064..8b5a50c0df76 (4 commits) ([#31237](https://github.com/flutter/flutter/issues/31237)) https://github.com/flutter/engine/compare/876c4c339064...8b5a50c0df76 git log 876c4c339064ed321f37fba61422194d84cbfdb7..8b5a50c0df768743dd9858cceb92d1d1de44c35e --no-merges --oneline 8b5a50c0d Test saving compilation traces. ([flutter/engine#8618](https://github.com/flutter/engine/issues/8618)) 7d3caf895 Avoid leaking the VM in runtime_unittests and update failing tests. ([flutter/engine#8626](https://github.com/flutter/engine/issues/8626)) 91b71070f Revert &[#34](https://github.com/flutter/flutter/issues/34);Add a unit test for PhysicalShapeLayer ([#8616](https://github.com/flutter/flutter/issues/8616))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8627](https://github.com/flutter/engine/issues/8627)) 8b667b017 Add a unit test for PhysicalShapeLayer ([flutter/engine#8616](https://github.com/flutter/engine/issues/8616)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 76794745b676..876c4c339064 (4 commits) ([#31231](https://github.com/flutter/flutter/issues/31231)) https://github.com/flutter/engine/compare/76794745b676...876c4c339064 git log 76794745b6764246cffafb237182f7fafeac41f8..876c4c339064ed321f37fba61422194d84cbfdb7 --no-merges --oneline 876c4c339 Assert that all VM launches in the process have the same opinion on whether the VM should be leaked in the process. ([flutter/engine#8622](https://github.com/flutter/engine/issues/8622)) 72c84c287 Revert &[#34](https://github.com/flutter/flutter/issues/34);Roll src/third_party/dart 7b9ab9f353..714a082a5d (7 commits)&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8624](https://github.com/flutter/engine/issues/8624)) f017fe74a Avoid manually shutting down engine managed isolates. ([flutter/engine#8621](https://github.com/flutter/engine/issues/8621)) 80e934e32 Roll src/third_party/dart 7b9ab9f353..714a082a5d (7 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 523a9a9adde9..76794745b676 (6 commits) ([#31230](https://github.com/flutter/flutter/issues/31230)) https://github.com/flutter/engine/compare/523a9a9adde9...76794745b676 git log 523a9a9adde96d22c801eac59f9f6db3d2a79a30..76794745b6764246cffafb237182f7fafeac41f8 --no-merges --oneline 76794745b Roll src/third_party/skia 6f9047027be3..14c90c1ca218 (5 commits) ([flutter/engine#8619](https://github.com/flutter/engine/issues/8619)) d8aa6bca1 Fix typo in comment ([flutter/engine#8617](https://github.com/flutter/engine/issues/8617)) 8ff631f3d Rename flow namespace to flutter ([flutter/engine#8615](https://github.com/flutter/engine/issues/8615)) 0534b6ae5 Roll src/third_party/dart bc99f1ca28..7b9ab9f353 (5 commits) b767e4d3c Roll src/third_party/skia 5155e09d1466..6f9047027be3 (5 commits) ([flutter/engine#8613](https://github.com/flutter/engine/issues/8613)) c5d1ba916 Remove call to SkFont::setLinearMetrics ([flutter/engine#8612](https://github.com/flutter/engine/issues/8612)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Allow disabling all fingerprint caches via environment variable ([#31171](https://github.com/flutter/flutter/issues/31171))|
+|Jonah Williams <jonahwilliams@google.com>|Disable macOS integration tests ([#31216](https://github.com/flutter/flutter/issues/31216))|
+|Gary Qian <garyq@google.com>|Use full height of the glyph for caret height on Android v2 ([#31210](https://github.com/flutter/flutter/issues/31210)) Will cause golden and Scuba changes. Caret will become taller and shift upwards by 2 pixels.|
+|xster <xiao@xster.net>|Commit a navigator.pop as soon as the back swipe is lifted ([#30422](https://github.com/flutter/flutter/issues/30422))|
+|xster <xiao@xster.net>|Add some more cupertino icons ([#30946](https://github.com/flutter/flutter/issues/30946))|
+|xster <xiao@xster.net>|Clarify various CupertinoTabView docs ([#31109](https://github.com/flutter/flutter/issues/31109))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine fdd427241b77..523a9a9adde9 (10 commits) ([#31213](https://github.com/flutter/flutter/issues/31213)) https://github.com/flutter/engine/compare/fdd427241b77...523a9a9adde9 git log fdd427241b7790a1ad86794725b311245ed3b470..523a9a9adde96d22c801eac59f9f6db3d2a79a30 --no-merges --oneline 523a9a9ad Add FLEPluginRegistry for macOS ([flutter/engine#8611](https://github.com/flutter/engine/issues/8611)) dd9dcaf9a [fuchsia] Fix SceneUpdateContext for new PaintContext field ([flutter/engine#8608](https://github.com/flutter/engine/issues/8608)) 0e27e0fc3 Pipe Z bounds from ViewportMetrics to Flow ([flutter/engine#8583](https://github.com/flutter/engine/issues/8583)) f62ab83ba Roll src/third_party/dart f0da03ca36..bc99f1ca28 (1 commits) 7b38aef03 Roll src/third_party/skia 33906ad1e26f..5155e09d1466 (4 commits) ([flutter/engine#8609](https://github.com/flutter/engine/issues/8609)) b0dedbd60 Roll src/third_party/dart d9c40462c2..f0da03ca36 (1 commits) f88ba6e43 Roll src/third_party/skia e88d4382e1cf..33906ad1e26f (1 commits) ([flutter/engine#8604](https://github.com/flutter/engine/issues/8604)) 53c0905b1 Roll src/third_party/skia 652b007a4cbb..e88d4382e1cf (4 commits) ([flutter/engine#8603](https://github.com/flutter/engine/issues/8603)) 4266f8583 Add desktop shell unittests to test script ([flutter/engine#8600](https://github.com/flutter/engine/issues/8600)) 8156268f0 Roll src/third_party/dart 8e73b3c006..d9c40462c2 (4 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Add desktop projects and build commands (experimental) ([#31205](https://github.com/flutter/flutter/issues/31205))|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Add breadcrumb to docs ([#31178](https://github.com/flutter/flutter/issues/31178))|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Rename Border.uniform() -> Border.fromSide() ([#30792](https://github.com/flutter/flutter/issues/30792))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 388124f948e6..fdd427241b77 (3 commits) ([#31179](https://github.com/flutter/flutter/issues/31179)) https://github.com/flutter/engine/compare/388124f948e6...fdd427241b77 git log 388124f948e685fd545c4363bcecbaeae911b4c5..fdd427241b7790a1ad86794725b311245ed3b470 --no-merges --oneline fdd427241 Roll src/third_party/skia 70ed05e53ad2..652b007a4cbb (1 commits) ([flutter/engine#8601](https://github.com/flutter/engine/issues/8601)) 3b016106c Check that TransformLayer has a finite matrix ([flutter/engine#8585](https://github.com/flutter/engine/issues/8585)) 4805d72a4 Implement StandardMethodCodec for C&[#43](https://github.com/flutter/flutter/issues/43);&[#43](https://github.com/flutter/flutter/issues/43); shells ([flutter/engine#8598](https://github.com/flutter/engine/issues/8598)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|388124f94 Roll src/third_party/skia db13d3874846..70ed05e53ad2 (6 commits) ([flutter/engine#8599](https://github.com/flutter/engine/issues/8599)) ([#31170](https://github.com/flutter/flutter/issues/31170)) https://github.com/flutter/engine/compare/b819b62bed3f...388124f948e6 git log b819b62bed3ffedf729ac1daddcc8bf7885e9982..388124f948e685fd545c4363bcecbaeae911b4c5 --no-merges --oneline 388124f94 Roll src/third_party/skia db13d3874846..70ed05e53ad2 (6 commits) ([flutter/engine#8599](https://github.com/flutter/engine/issues/8599)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|b819b62be Variant type for C++ client wrapper ([flutter/engine#8592](https://github.com/flutter/engine/issues/8592)) ([#31168](https://github.com/flutter/flutter/issues/31168)) https://github.com/flutter/engine/compare/db36d28ed074...b819b62bed3f git log db36d28ed074b8b4f018ce6f7cb93b4e8ffcf456..b819b62bed3ffedf729ac1daddcc8bf7885e9982 --no-merges --oneline b819b62be Variant type for C&[#43](https://github.com/flutter/flutter/issues/43);&[#43](https://github.com/flutter/flutter/issues/43); client wrapper ([flutter/engine#8592](https://github.com/flutter/engine/issues/8592)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|db36d28ed Roll src/third_party/dart a8f3a5dae6..8e73b3c006 (92 commits) ([#31163](https://github.com/flutter/flutter/issues/31163)) https://github.com/flutter/engine/compare/c0ee647ca422...db36d28ed074 git log c0ee647ca4226fcb38a5af178a97ce8ba9129184..db36d28ed074b8b4f018ce6f7cb93b4e8ffcf456 --no-merges --oneline db36d28ed Roll src/third_party/dart a8f3a5dae6..8e73b3c006 (92 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Gary Qian <garyq@google.com>|Revert "Use full height of the glyph for caret height on Android" ([#31159](https://github.com/flutter/flutter/issues/31159)) * Revert "Use full height of the glyph for caret height on Android ([#30991](https://github.com/flutter/flutter/issues/30991))" This reverts commit 96e1fc9c34a2c3a11e0dd98ceccb6fbea7ce3460.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 7af3f2b9e7c5..c0ee647ca422 (2 commits) ([#31160](https://github.com/flutter/flutter/issues/31160)) https://github.com/flutter/engine/compare/7af3f2b9e7c5...c0ee647ca422 git log 7af3f2b9e7c5f911ef4b1cff37aa5088fad6dbf5..c0ee647ca4226fcb38a5af178a97ce8ba9129184 --no-merges --oneline c0ee647ca Roll src/third_party/skia 68aeec07de4a..db13d3874846 (16 commits) ([flutter/engine#8595](https://github.com/flutter/engine/issues/8595)) 28a46d51a Composite Embedded Views with the correct GrContext The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 7d1da567434a..7af3f2b9e7c5 (2 commits) ([#31153](https://github.com/flutter/flutter/issues/31153)) https://github.com/flutter/engine/compare/7d1da567434a...7af3f2b9e7c5 git log 7d1da567434a820853ed6fae1f6ed65b9de5ba4f..7af3f2b9e7c5f911ef4b1cff37aa5088fad6dbf5 --no-merges --oneline 7af3f2b9e Roll buildroot to ce7b5c786a12927c9e0b4543af267d48c52e0b3a ([flutter/engine#8593](https://github.com/flutter/engine/issues/8593)) d2eeceb94 Roll src/third_party/skia 6c431d52020c..68aeec07de4a (7 commits) ([flutter/engine#8590](https://github.com/flutter/engine/issues/8590)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Sam Rawlins <sam.rawlins@gmail.com>|Bump dartdoc to 0.28.3+2 ([#31148](https://github.com/flutter/flutter/issues/31148)) This version of dartdoc properly escapes fenced code block "info strings."|
+|Jonah Williams <jonahwilliams@google.com>|Fuchsia step 1: add SDK version file and artifact download ([#31073](https://github.com/flutter/flutter/issues/31073))|
+|Gary Qian <garyq@google.com>|Use full height of the glyph for caret height on Android ([#30991](https://github.com/flutter/flutter/issues/30991))|
+|Dima Rostopira <rostopiradv@gmail.com>|Add sorting to flutter version command ([#31064](https://github.com/flutter/flutter/issues/31064))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 9970fb550071..7d1da567434a (2 commits) ([#31129](https://github.com/flutter/flutter/issues/31129)) https://github.com/flutter/engine/compare/9970fb550071...7d1da567434a git log 9970fb5500710471c031cb86f899bfc3f4a6bafd..7d1da567434a820853ed6fae1f6ed65b9de5ba4f --no-merges --oneline 7d1da5674 Roll src/third_party/skia 5bee533ef3a3..6c431d52020c (1 commits) ([flutter/engine#8589](https://github.com/flutter/engine/issues/8589)) d8a2a55a6 Roll src/third_party/skia 9d10206b7add..5bee533ef3a3 (4 commits) ([flutter/engine#8587](https://github.com/flutter/engine/issues/8587)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Update keycodes, fix a comment. ([#30938](https://github.com/flutter/flutter/issues/30938)) Updates the keycodes by regenerating them using the script, and fixed a comment in the template to conform to style.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|9970fb550 Roll src/third_party/skia d51d00745b1d..9d10206b7add (1 commits) ([flutter/engine#8586](https://github.com/flutter/engine/issues/8586)) ([#31106](https://github.com/flutter/flutter/issues/31106)) https://github.com/flutter/engine/compare/0575a9b46e99...9970fb550071 git log 0575a9b46e994170ce1290f0025623138411dd13..9970fb5500710471c031cb86f899bfc3f4a6bafd --no-merges --oneline 9970fb550 Roll src/third_party/skia d51d00745b1d..9d10206b7add (1 commits) ([flutter/engine#8586](https://github.com/flutter/engine/issues/8586)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Alexander Aprelev <aam@google.com>|Download and handle product version of flutter patched sdk ([#31063](https://github.com/flutter/flutter/issues/31063)) * Support release/debug flavors of flutter_patched_sdk * Use [anyNamed] instead of [any] for mocking named arguments * Fix use of local engine in release mode|
+|Tom Robiquet <tom-robiquet@hotmail.co.uk>|Added opacity to cupertino switch when disabled ([#29451](https://github.com/flutter/flutter/issues/29451))|
+|David Worsham <arbreng@gmail.com>|[scenic] Remove dead view_manager ref ([#31005](https://github.com/flutter/flutter/issues/31005))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|0575a9b46 Roll src/third_party/skia bf15b6676843..d51d00745b1d (6 commits) ([flutter/engine#8584](https://github.com/flutter/engine/issues/8584)) ([#31098](https://github.com/flutter/flutter/issues/31098)) https://github.com/flutter/engine/compare/324b8403e8a6...0575a9b46e99 git log 324b8403e8a67db7376f85ed29e0a5792174cca0..0575a9b46e994170ce1290f0025623138411dd13 --no-merges --oneline 0575a9b46 Roll src/third_party/skia bf15b6676843..d51d00745b1d (6 commits) ([flutter/engine#8584](https://github.com/flutter/engine/issues/8584)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Add null checks to coverage collection ([#31092](https://github.com/flutter/flutter/issues/31092))|
+|xster <xiao@xster.net>|Make CupertinoNavigationBarBackButton correctly return an assert error ([#30815](https://github.com/flutter/flutter/issues/30815))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine c3824f06933a..324b8403e8a6 (13 commits) ([#31082](https://github.com/flutter/flutter/issues/31082)) https://github.com/flutter/engine/compare/c3824f06933a...324b8403e8a6 git log c3824f06933af54b54d1094594c0159828dd1a45..324b8403e8a67db7376f85ed29e0a5792174cca0 --no-merges --oneline 324b8403e Remove the flutter_aot GN argument. ([flutter/engine#8581](https://github.com/flutter/engine/issues/8581)) 571ce945b Roll src/third_party/skia 1875353110d1..bf15b6676843 (8 commits) ([flutter/engine#8582](https://github.com/flutter/engine/issues/8582)) b7d484e4f Roll src/third_party/skia 1fe0b86f17f3..1875353110d1 (5 commits) ([flutter/engine#8580](https://github.com/flutter/engine/issues/8580)) 73f455a3c Roll src/third_party/skia e1c5ea6779f4..1fe0b86f17f3 (1 commits) ([flutter/engine#8579](https://github.com/flutter/engine/issues/8579)) 42d06b370 Roll src/third_party/skia 3611ee1bb157..e1c5ea6779f4 (3 commits) ([flutter/engine#8578](https://github.com/flutter/engine/issues/8578)) eb575e24a Roll src/third_party/skia c9f55de2ed39..3611ee1bb157 (1 commits) ([flutter/engine#8577](https://github.com/flutter/engine/issues/8577)) 40473d39a Roll src/third_party/skia b5e57e9a3d0f..c9f55de2ed39 (1 commits) ([flutter/engine#8576](https://github.com/flutter/engine/issues/8576)) dc952bcd4 Roll src/third_party/skia 5c6b565bdfb9..b5e57e9a3d0f (1 commits) ([flutter/engine#8575](https://github.com/flutter/engine/issues/8575)) 14a1db2b6 Roll src/third_party/skia 12cf258193dc..5c6b565bdfb9 (1 commits) ([flutter/engine#8573](https://github.com/flutter/engine/issues/8573)) dcd0209bd Roll src/third_party/skia 33233a09fef8..12cf258193dc (1 commits) ([flutter/engine#8572](https://github.com/flutter/engine/issues/8572)) e0b9bc18f Roll src/third_party/skia 69f54f8f0f22..33233a09fef8 (1 commits) ([flutter/engine#8571](https://github.com/flutter/engine/issues/8571)) 9f9d5d6da Roll src/third_party/skia 990bfc785891..69f54f8f0f22 (1 commits) ([flutter/engine#8570](https://github.com/flutter/engine/issues/8570)) 7c7df0d58 Add null check in FLETextInputPlugin ([flutter/engine#8538](https://github.com/flutter/engine/issues/8538)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Justin McCandless <justinjmccandless@gmail.com>|2d transforms UX improvements ([#30932](https://github.com/flutter/flutter/issues/30932)) Small usability fixes for pan and zoom demo. Title and instruction dialog.|
+|liyuqian <liyuqian@google.com>|Allow profile widget builds in profile mode ([#30990](https://github.com/flutter/flutter/issues/30990)) ## Description Previously, such function is only available in the debug mode. But the performance information is very noisy in debug mode with JIT. I feel that such function is as important and useful as the performance overlay and the `--trace-skia` option for the GPU thread. So we should give it the same ability to run in both profile and debug mode. I've tested it using flutter_gallery in the profile mode. There's no observable difference in the performance overlay between toggling widget build profiling. ## Related Issues https://github.com/flutter/flutter/issues/30984|
+|Dan Field <dfield@gmail.com>|Check that ErrorWidget.builder is not modified after test ([#30898](https://github.com/flutter/flutter/issues/30898))|
+|Jonah Williams <jonahwilliams@google.com>|make flutterProject option of CoverageCollector optional ([#31074](https://github.com/flutter/flutter/issues/31074))|
+|liyuqian <liyuqian@google.com>|Fix the warning test by checking stderr ([#30997](https://github.com/flutter/flutter/issues/30997)) Previously, I used the Android emulator for testing and everything seemed to work fine with stdout (if I remember correctly). But our devicelab uses real Android devices and the warnings are routed to stderr. Hence change stdout to stderr in the test.|
+|Christopher Fujino <christopherfujino@gmail.com>|New flag to `flutter drive` to skip installing fresh app on device ([#30818](https://github.com/flutter/flutter/issues/30818)) * add a --build/--no-build flag to flutter drive command|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 9aa7c9a48e93..c3824f06933a (13 commits) ([#31002](https://github.com/flutter/flutter/issues/31002)) https://github.com/flutter/engine/compare/9aa7c9a48e93...c3824f06933a git log 9aa7c9a48e9342a450c3078e15c8d7923a338ede..c3824f06933af54b54d1094594c0159828dd1a45 --no-merges --oneline c3824f069 Roll src/third_party/skia e62bf561638c..990bfc785891 (2 commits) ([flutter/engine#8569](https://github.com/flutter/engine/issues/8569)) 49a72e1e4 Roll src/third_party/skia 8be917af4313..e62bf561638c (5 commits) ([flutter/engine#8568](https://github.com/flutter/engine/issues/8568)) 7292d62ef Revert Versions API ([flutter/engine#7828](https://github.com/flutter/engine/issues/7828)) 9336671a8 Revert &[#34](https://github.com/flutter/flutter/issues/34);Roll src/third_party/dart a8f3a5dae6..c2eb9a9860 (8 commits)&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8567](https://github.com/flutter/engine/issues/8567)) a54354349 Roll src/third_party/dart a8f3a5dae6..c2eb9a9860 (8 commits) 23b0e02ec Android Embedding PR29: Improve FlutterFragment construction API &[#43](https://github.com/flutter/flutter/issues/43); engine config API. ([flutter/engine#8540](https://github.com/flutter/engine/issues/8540)) e6c822db9 Roll src/third_party/skia 25071cc52b4b..8be917af4313 (6 commits) ([flutter/engine#8564](https://github.com/flutter/engine/issues/8564)) 1bb2c0cf0 Remove unused import in FlutterActivityDelegate ([flutter/engine#8563](https://github.com/flutter/engine/issues/8563)) ad04340e5 Add missing <memory> include to text_input_model.h ([flutter/engine#8562](https://github.com/flutter/engine/issues/8562)) fcd717e28 Update README.md to point to flutter.dev ([flutter/engine#8557](https://github.com/flutter/engine/issues/8557)) 501892a92 Roll src/third_party/skia 35f1c154c5e5..25071cc52b4b (7 commits) ([flutter/engine#8560](https://github.com/flutter/engine/issues/8560)) db99c86ab Roll src/third_party/skia 41476708db86..35f1c154c5e5 (1 commits) ([flutter/engine#8559](https://github.com/flutter/engine/issues/8559)) a88cd8032 Roll src/third_party/skia f74fff660084..41476708db86 (1 commits) ([flutter/engine#8558](https://github.com/flutter/engine/issues/8558)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Dan Field <dfield@gmail.com>|Add rrect contains microbenchmark ([#30985](https://github.com/flutter/flutter/issues/30985))|
+|Jonah Williams <jonahwilliams@google.com>|Fix bugs in contrast guideline and improve heuristic ([#31000](https://github.com/flutter/flutter/issues/31000))|
+|Jonah Williams <jonahwilliams@google.com>|Make coverage, like, really fast ([#30811](https://github.com/flutter/flutter/issues/30811))|
+|Jonah Williams <jonahwilliams@google.com>|Revert "revert last 2 engine rolls ([#30995](https://github.com/flutter/flutter/issues/30995))" ([#30998](https://github.com/flutter/flutter/issues/30998))|
+|Jonah Williams <jonahwilliams@google.com>|revert last 2 engine rolls ([#30995](https://github.com/flutter/flutter/issues/30995))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|9aa7c9a48 Export extern constants in embedder.h ([flutter/engine#8550](https://github.com/flutter/engine/issues/8550)) ([#30951](https://github.com/flutter/flutter/issues/30951)) https://github.com/flutter/engine/compare/f804c293f3ba...9aa7c9a48e93 git log f804c293f3baaec9ccec1e251293f6a3509223b8..9aa7c9a48e9342a450c3078e15c8d7923a338ede --no-merges --oneline 9aa7c9a48 Export extern constants in embedder.h ([flutter/engine#8550](https://github.com/flutter/engine/issues/8550)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 72986c39ea36..f804c293f3ba (23 commits) ([#30948](https://github.com/flutter/flutter/issues/30948)) https://github.com/flutter/engine/compare/72986c39ea36...f804c293f3ba git log 72986c39ea3669ef26d4d7d7cd0c44f513fcd117..f804c293f3baaec9ccec1e251293f6a3509223b8 --no-merges --oneline f804c293f Roll src/third_party/skia 3b60397fd35d..f74fff660084 (3 commits) ([flutter/engine#8556](https://github.com/flutter/engine/issues/8556)) 1b448e555 Roll Dart 15b11b018364ce032eae50d78fc8a52b541e2bce...a8f3a5dae6203d1064726a5953cf06a7d484249c ([flutter/engine#8555](https://github.com/flutter/engine/issues/8555)) 99259aef5 Roll src/third_party/skia 36477b49c2ef..3b60397fd35d (6 commits) ([flutter/engine#8554](https://github.com/flutter/engine/issues/8554)) f37220d40 Roll src/third_party/skia c33e6dcc700b..36477b49c2ef (8 commits) ([flutter/engine#8552](https://github.com/flutter/engine/issues/8552)) d84d204c7 Android Embedding PR30: Make FlutterView focusable so that the keyboard can interact with it. ([flutter/engine#8551](https://github.com/flutter/engine/issues/8551)) a344015e9 [fuchsia] Add flutter:: to scene_host.cc ([flutter/engine#8549](https://github.com/flutter/engine/issues/8549)) 711d8431d Roll src/third_party/skia 76e626d9bb55..c33e6dcc700b (4 commits) ([flutter/engine#8547](https://github.com/flutter/engine/issues/8547)) 82e6d6899 Eliminate unused write to local ([flutter/engine#8541](https://github.com/flutter/engine/issues/8541)) f53e477a6 Correct nullability for FlutterStandardReader ([flutter/engine#8537](https://github.com/flutter/engine/issues/8537)) c00364a6c [font_collection] Add missing semicolon ([flutter/engine#8546](https://github.com/flutter/engine/issues/8546)) ae4df6fd1 Revert &[#34](https://github.com/flutter/flutter/issues/34);Change Rect internal representation from Float32List to Float64List ([#8524](https://github.com/flutter/flutter/issues/8524))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8545](https://github.com/flutter/engine/issues/8545)) ffdddb07e Roll src/third_party/skia 6d60534e95d8..76e626d9bb55 (1 commits) ([flutter/engine#8544](https://github.com/flutter/engine/issues/8544)) 5ac728eb6 Roll src/third_party/skia 4d657d5e894a..6d60534e95d8 (3 commits) ([flutter/engine#8543](https://github.com/flutter/engine/issues/8543)) ee462ff68 Roll src/third_party/skia 99d792276740..4d657d5e894a (1 commits) ([flutter/engine#8542](https://github.com/flutter/engine/issues/8542)) 18816c50f Roll src/third_party/skia 42280f8961fa..99d792276740 (8 commits) ([flutter/engine#8539](https://github.com/flutter/engine/issues/8539)) 892591da8 Android Embedding PR28: Report app is active to Flutter in FlutterFragment.onResume() instead of onPostResume() forwarded from Activity. ([flutter/engine#8536](https://github.com/flutter/engine/issues/8536)) 330c6c168 Use code cache dir for engine cache on API >= 21 ([#14704](https://github.com/flutter/flutter/issues/14704)). ([flutter/engine#8534](https://github.com/flutter/engine/issues/8534)) c10ae2be2 Add an option to build the GLFW shell on macOS ([flutter/engine#8531](https://github.com/flutter/engine/issues/8531)) 29aa5fca0 Roll src/third_party/skia b5c685991faa..42280f8961fa (32 commits) ([flutter/engine#8535](https://github.com/flutter/engine/issues/8535)) 0a2869e5c Added support for authentication codes for the VM service ([flutter/engine#8527](https://github.com/flutter/engine/issues/8527)) 36d2135ad Redo a fix for cull rect calculation on TransformLayers with a perspective transform ([flutter/engine#8528](https://github.com/flutter/engine/issues/8528)) 0b36d3e2f Change Rect internal representation from Float32List to Float64List ([flutter/engine#8524](https://github.com/flutter/engine/issues/8524)) b1ae0ccb7 Roll src/third_party/skia 10bf7020aa15..b5c685991faa (3 commits) ([flutter/engine#8526](https://github.com/flutter/engine/issues/8526)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Emily Fortuna <efortuna@google.com>|Allow mouse hover to only respond to some mouse events but not all. ([#30886](https://github.com/flutter/flutter/issues/30886)) * Allow mouse hover to only respond to some mouse events but not all.|
+|chunhtai <47866232+chunhtai@users.noreply.github.com>|Fix issue 23527: Exception: RenderViewport exceeded its maximum number of layout cycles ([#30809](https://github.com/flutter/flutter/issues/30809))|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Keep hover annotation layers in sync with the mouse detector. ([#30829](https://github.com/flutter/flutter/issues/30829)) Adds a paint after detaching/attaching hover annotations to keep the annotation layers in sync with the annotations attached to the mouse detector. Fixes [#30744](https://github.com/flutter/flutter/issues/30744)|
+|Siva <a-siva@users.noreply.github.com>|Use identical instead of '==' in a constant expression. ([#30921](https://github.com/flutter/flutter/issues/30921)) * Use identical instead of '==' in a constant expression. * Fix analyzer warnings. * Fix analyzer warnings.|
+|Jonah Williams <jonahwilliams@google.com>|Add toggle for debugProfileWidgetBuilds ([#30867](https://github.com/flutter/flutter/issues/30867))|
+|Jonah Williams <jonahwilliams@google.com>|Revert "Manual engine roll with disabled service authentication codes ([#30919](https://github.com/flutter/flutter/issues/30919))" ([#30930](https://github.com/flutter/flutter/issues/30930)) This reverts commit 19d6e7b61390311f0b285662ba5e977bae7b0382.|
+|Ben Konyi <bkonyi@google.com>|Manual engine roll with disabled service authentication codes ([#30919](https://github.com/flutter/flutter/issues/30919))|
+|Justin McCandless <justinjmccandless@gmail.com>|Baseline Aligned Row ([#30746](https://github.com/flutter/flutter/issues/30746)) Text in a baseline aligned row now works, and the height of the row is properly calculated.|
+|MH Johnson <johnsonmh@users.noreply.github.com>|[Material] Fix showDialog crasher caused by old contexts ([#30754](https://github.com/flutter/flutter/issues/30754)) * Fix bug, add regression test. * remove unnecessary space|
+|Dan Field <dfield@gmail.com>|Let `sliver.dart` `_createErrorWidget` work with other Widgets ([#30880](https://github.com/flutter/flutter/issues/30880)) Credit to @ymback|
+|xster <xiao@xster.net>|Add more dialog doc cross-reference ([#30887](https://github.com/flutter/flutter/issues/30887))|
+|Jonah Williams <jonahwilliams@google.com>|Allow downloading of desktop embedding artifacts ([#30648](https://github.com/flutter/flutter/issues/30648))|
+|LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>|CupertinoDatePicker initialDateTime accounts for minuteInterval ([#30862](https://github.com/flutter/flutter/issues/30862)) initialDateTime should account for minuteInterval|
+|LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>|add golden tests for CupertinoDatePicker ([#30828](https://github.com/flutter/flutter/issues/30828)) Add golden tests for CupertinoDatePicker|
+|liyuqian <liyuqian@google.com>|Simplify toImage future handling ([#30876](https://github.com/flutter/flutter/issues/30876)) Thanks to cbracken@'s suggestion on another Google-internal change.|
+|champeauxr <champeauxr@users.noreply.github.com>|Fixed Table flex column layout error [#30437](https://github.com/flutter/flutter/issues/30437) ([#30470](https://github.com/flutter/flutter/issues/30470)) RenderTable._computeColumnWidths() had a logic error that caused flex columns to be collapsed to their minimum widths in certain situations dependent on the layout width constraint and the number of flex columns.|
+|xster <xiao@xster.net>|Fix iTunes Transporter quirk ([#30883](https://github.com/flutter/flutter/issues/30883))|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Bump Android build tools to 28.0.3 in Dockerfile ([#30832](https://github.com/flutter/flutter/issues/30832)) Bumps the Android build tools to 28.0.3 instead of 28.0.0 in the Dockerfile, since that is what flutter doctor wants.|
+|xster <xiao@xster.net>|Update the upload key which seems to have trouble for some reason ([#30871](https://github.com/flutter/flutter/issues/30871))|
+|Dan Field <dfield@gmail.com>|Check for invalid elevations ([#30215](https://github.com/flutter/flutter/issues/30215)) * Check for invalid elevation usage in the layer tree|
+|Sam Rawlins <sam.rawlins@gmail.com>|Fix additional @mustCallSuper indirect overrides and mixins ([#30667](https://github.com/flutter/flutter/issues/30667))|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Revert "Add Form.onSaved ([#30643](https://github.com/flutter/flutter/issues/30643))" ([#30793](https://github.com/flutter/flutter/issues/30793)) This reverts commit 949023b27686fb80a0047157490d6c4c61995cef.|
+|Tong Mu <dkwingsmt@users.noreply.github.com>|Revert "Remove pressure customization from some pointer events ([#30414](https://github.com/flutter/flutter/issues/30414))" ([#30873](https://github.com/flutter/flutter/issues/30873)) This reverts commit a821136997b600f0cd39cbcd3d993c54a15f4686.|
+|Tong Mu <dkwingsmt@users.noreply.github.com>|Remove pressure customization from some pointer events ([#30414](https://github.com/flutter/flutter/issues/30414)) * Remove pressure from PointerHoverEvent ctor|
+|Jonah Williams <jonahwilliams@google.com>|warn on uncomitted changes ([#30235](https://github.com/flutter/flutter/issues/30235))|
+|Jonah Williams <jonahwilliams@google.com>|Add semanticsLabel parameter to TextSpan ([#30837](https://github.com/flutter/flutter/issues/30837))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 905c571db50d..72986c39ea36 (2 commits) ([#30861](https://github.com/flutter/flutter/issues/30861)) https://github.com/flutter/engine/compare/905c571db50d...72986c39ea36 git log 905c571db50d5eb3b10eaa4d3c43c99321032223..72986c39ea3669ef26d4d7d7cd0c44f513fcd117 --no-merges --oneline 72986c39e Move constant definitions out embedder.h ([flutter/engine#8498](https://github.com/flutter/engine/issues/8498)) e356dbca2 Merge flutter/synchronization contents into fml. ([flutter/engine#8525](https://github.com/flutter/engine/issues/8525)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Justin McCandless <justinjmccandless@gmail.com>|Fix cursor outside of input width ([#30525](https://github.com/flutter/flutter/issues/30525)) * Disallow cursor from appearing beyond the width of the input. * Test that verifies the cursor can't exceed the width of the input * Use constant from editable.dart to explain 1 pixel difference in test * Fix failing test that tested the case of overflowing spaces|
+|xster <xiao@xster.net>|Cupertino localization step 7: modularize material specific things out of gen_localizations.dart ([#29822](https://github.com/flutter/flutter/issues/29822))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine eec74e5c9231..905c571db50d (9 commits) ([#30833](https://github.com/flutter/flutter/issues/30833)) https://github.com/flutter/engine/compare/eec74e5c9231...905c571db50d git log eec74e5c92313f01a28dfbeb78d96e81231edab7..905c571db50d5eb3b10eaa4d3c43c99321032223 --no-merges --oneline 905c571db Add windows host_debug_unopt build ([flutter/engine#8515](https://github.com/flutter/engine/issues/8515)) 39e1d00f3 Remove redundant specification of the |flutter| namespace in the engine. ([flutter/engine#8523](https://github.com/flutter/engine/issues/8523)) 56052c70a Rename the shell namespace to flutter. ([flutter/engine#8520](https://github.com/flutter/engine/issues/8520)) ca1d163d4 Support message loops whose tasks are executed concurrently. ([flutter/engine#8419](https://github.com/flutter/engine/issues/8419)) 8ae84ec3d Roll src/third_party/skia de8362c6f212..10bf7020aa15 (5 commits) ([flutter/engine#8522](https://github.com/flutter/engine/issues/8522)) 2dbd981d3 Roll src/third_party/dart 06ed3f598c..1490a90bc1 (8 commits) 527913268 Android Embedding PR27: Fix SurfaceView flicker in Fragment transactions ([flutter/engine#8504](https://github.com/flutter/engine/issues/8504)) 86ab45cd5 Remove the unused EnableBlink flag. ([flutter/engine#8518](https://github.com/flutter/engine/issues/8518)) d5880a609 Roll src/third_party/skia b5d8c634f95b..de8362c6f212 (14 commits) ([flutter/engine#8519](https://github.com/flutter/engine/issues/8519)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Shi-Hao Hong <shihaohong@google.com>|Fix StatefulWidget and StatelessWidget Sample Documentation ([#30814](https://github.com/flutter/flutter/issues/30814))|
+|liyuqian <liyuqian@google.com>|Print warning if flutter drive is run in debug ([#30747](https://github.com/flutter/flutter/issues/30747)) ## Description Print actionable warnings if `flutter drive` (where most of our performance benchmarks come from) is run in debug mode and it tries to gather benchmarks using `traceAction`. ## Related Issues https://github.com/flutter/flutter/issues/30625 ## Tests I added the following tests: * drive_perf_debug_warning devicelab test|
+|xster <xiao@xster.net>|Cupertino localization step 11: add more translation clarifications in the instructions ([#30527](https://github.com/flutter/flutter/issues/30527))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 6a0460c33ff7..eec74e5c9231 (6 commits) ([#30813](https://github.com/flutter/flutter/issues/30813)) https://github.com/flutter/engine/compare/6a0460c33ff7...eec74e5c9231 git log 6a0460c33ff7e4f18b809285301337698de9ab38..eec74e5c92313f01a28dfbeb78d96e81231edab7 --no-merges --oneline eec74e5c9 Rename the blink namespace to flutter. ([flutter/engine#8517](https://github.com/flutter/engine/issues/8517)) fff80a0d9 Roll src/third_party/dart 06ed3f598c..06ed3f598c (0 commits) 000f8e31a Remove dart_utf_tag from DEPS 9bfa96dee Add trace events for creating minikin fonts ([flutter/engine#8477](https://github.com/flutter/engine/issues/8477)) 5381e57ea Roll src/third_party/skia 9a7c7be15969..b5d8c634f95b (11 commits) ([flutter/engine#8513](https://github.com/flutter/engine/issues/8513)) df707c6f1 switch to newer APIs for shaders and filters ([flutter/engine#8511](https://github.com/flutter/engine/issues/8511)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Shi-Hao Hong <shihaohong@google.com>|Update ExpansionPanelList Samples with Scaffold template ([#30805](https://github.com/flutter/flutter/issues/30805))|
+|Shi-Hao Hong <shihaohong@google.com>|Update ListTile sample snippets to use Material Scaffold Template ([#30800](https://github.com/flutter/flutter/issues/30800))|
+|ShaLi Shaltiel <shali3@gmail.com>|Updated package template .gitignore file ([#27034](https://github.com/flutter/flutter/issues/27034))|
+|Shi-Hao Hong <shihaohong@google.com>|Embedded images and variations to ListTile sample code ([#30537](https://github.com/flutter/flutter/issues/30537)) Also includes counter-examples for list items that differ from ListTile.|
+|liyuqian <liyuqian@google.com>|Mark cubic_bezier_perf__timeline_summary nonflaky ([#30767](https://github.com/flutter/flutter/issues/30767))|
+|Michael Thomsen <mit-mit@users.noreply.github.com>|Forward missing pub commands ([#30115](https://github.com/flutter/flutter/issues/30115))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|6a0460c33 Roll src/third_party/skia 097e77cd3ba0..9a7c7be15969 (1 commits) ([flutter/engine#8512](https://github.com/flutter/engine/issues/8512)) ([#30785](https://github.com/flutter/flutter/issues/30785)) https://github.com/flutter/engine/compare/2335dd2f8acf...6a0460c33ff7 git log 2335dd2f8acfbbe9af5db626fd9c71031492fa8f..6a0460c33ff7e4f18b809285301337698de9ab38 --no-merges --oneline 6a0460c33 Roll src/third_party/skia 097e77cd3ba0..9a7c7be15969 (1 commits) ([flutter/engine#8512](https://github.com/flutter/engine/issues/8512)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|fix cast NPE in invokeListMethod and invokeMapMathod ([#30760](https://github.com/flutter/flutter/issues/30760))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 8a465596533d..2335dd2f8acf (2 commits) ([#30780](https://github.com/flutter/flutter/issues/30780)) https://github.com/flutter/engine/compare/8a465596533d...2335dd2f8acf git log 8a465596533d75eb128faab5cd70b60c5e989935..2335dd2f8acfbbe9af5db626fd9c71031492fa8f --no-merges --oneline 2335dd2f8 Roll src/third_party/skia 696e8dda3ca3..097e77cd3ba0 (1 commits) ([flutter/engine#8510](https://github.com/flutter/engine/issues/8510)) 4e839444f Roll src/third_party/skia 0ea414a08208..696e8dda3ca3 (3 commits) ([flutter/engine#8509](https://github.com/flutter/engine/issues/8509)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine ff1bcdc00941..8a465596533d (21 commits) ([#30768](https://github.com/flutter/flutter/issues/30768)) https://github.com/flutter/engine/compare/ff1bcdc00941...8a465596533d git log ff1bcdc00941188ba27123a4857b443e3c9392bb..8a465596533d75eb128faab5cd70b60c5e989935 --no-merges --oneline 8a4655965 Route FlutterEventTracer events to Fuchsia tracing for Fuchsia ([flutter/engine#8499](https://github.com/flutter/engine/issues/8499)) 7ce64be6c [scenic] Remove unused mozart.internal ([flutter/engine#8496](https://github.com/flutter/engine/issues/8496)) edb050f7a Roll src/third_party/skia 2f08a4043b26..0ea414a08208 (2 commits) ([flutter/engine#8506](https://github.com/flutter/engine/issues/8506)) 623dca053 Roll src/third_party/dart b23817105c..cc63d6e647 (8 commits) c7b138d82 [scenic][SCN-1054] remove dangling uses of SetTranslationRH ([flutter/engine#8503](https://github.com/flutter/engine/issues/8503)) 53620352a Roll src/third_party/dart aacc0b0709..b23817105c (8 commits) 046b3cd28 Get rid of the macro for accessing the current test name. ([flutter/engine#8500](https://github.com/flutter/engine/issues/8500)) 533ca016e Roll src/third_party/skia 6b797fec83f0..2f08a4043b26 (8 commits) ([flutter/engine#8501](https://github.com/flutter/engine/issues/8501)) 612abee90 Wire up support for Dart fixtures in shell_unittests. ([flutter/engine#8497](https://github.com/flutter/engine/issues/8497)) dbcfc504c Android Embedding PR26: Offer an async version of FlutterMain&[#39](https://github.com/flutter/flutter/issues/39);s ensure initialization complete. ([flutter/engine#8465](https://github.com/flutter/engine/issues/8465)) a930ca893 Roll src/third_party/dart 8e4dcf48c4..aacc0b0709 (4 commits) acfc83179 Roll src/third_party/skia 602df41025ea..6b797fec83f0 (19 commits) ([flutter/engine#8494](https://github.com/flutter/engine/issues/8494)) 3558fa65a [Docs] Correcting link to contributing guide. ([flutter/engine#8472](https://github.com/flutter/engine/issues/8472)) 0bf708ee1 Refactor ios play input sound logic. ([flutter/engine#7783](https://github.com/flutter/engine/issues/7783)) 78bd318c9 Add Locale.toLanguageTag() ([flutter/engine#8421](https://github.com/flutter/engine/issues/8421)) efb3b003f Roll src/third_party/dart 8e0a669e74..8e4dcf48c4 (8 commits) 075b4899d Support ContextWrapper when FlutterView is instantiated within a Fragment. ([flutter/engine#7776](https://github.com/flutter/engine/issues/7776)) 85ca8c485 Roll src/third_party/skia 053b2939938c..602df41025ea (21 commits) ([flutter/engine#8492](https://github.com/flutter/engine/issues/8492)) a6b8e70ad Remove unused variable ([flutter/engine#8490](https://github.com/flutter/engine/issues/8490)) 377dc6400 Roll src/third_party/dart 86b5304ccd..8e0a669e74 (6 commits) 7ee3a31c5 Roll src/third_party/dart 907c514c89..86b5304ccd (27 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|register gradle wrapper as universal artifact ([#30755](https://github.com/flutter/flutter/issues/30755))|
+|Tim Sneath <timsneath@google.com>|Update README.md ([#30594](https://github.com/flutter/flutter/issues/30594)) * Rewrite README with text from Flutter announcement|
+|xster <xiao@xster.net>|Cupertino localization step 6: add a GlobalCupertinoLocalizations base class with date time formatting ([#29767](https://github.com/flutter/flutter/issues/29767))|
+|Jonah Williams <jonahwilliams@google.com>|Reland: Ensure that flutter run/drive/test/update_packages only downloads required artifacts ([#30254](https://github.com/flutter/flutter/issues/30254))|
+|Jonah Williams <jonahwilliams@google.com>|Allow disabling experimental commands, devices on stable branch ([#30153](https://github.com/flutter/flutter/issues/30153))|
+|Lau Ching Jun <chingjun@gmail.com>|Mark ios-deploy version 2.0.0 as bad ([#30578](https://github.com/flutter/flutter/issues/30578)) Mark ios-deploy version 2.0.0 as bad. ios-deploy before version 1.9.4 declares itself as v2.0.0 https://github.com/ios-control/ios-deploy/commits/master/src/ios-deploy/version.h|
+|rami-a <2364772+rami-a@users.noreply.github.com>|Prevent vertical scroll in shrine by ensuring card size fits the screen ([#30455](https://github.com/flutter/flutter/issues/30455))|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Add `const Border.uniform()` ([#30640](https://github.com/flutter/flutter/issues/30640)) `Border.all()` is a factory constructor and thus not const constructible. This change adds a `const Border.uniform()` constructor and makes `Border.all()` delegate to it. This allows callers to more likely be able to make their widget tree const constructible.|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Add Form.onSaved ([#30643](https://github.com/flutter/flutter/issues/30643)) When submitting data to a server, callers need a callback that will get invoked after all the individual form fields are saved. If they have a button that submits the form, they could just do this logic in the click handler for the button (save the form, then submit to the server), but if they have more ways than one to submit the form (i.e. hitting enter while in a text form field), then it becomes more convoluted and calls for a unified callback that will get notified when the form is submitted.|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Make FormField._validate() return void ([#30644](https://github.com/flutter/flutter/issues/30644)) None of its callers were using the return value, so no need to invoke the `isValid` getter unnecessarily.|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Add docs to FormFieldValidator ([#30645](https://github.com/flutter/flutter/issues/30645)) To describe what its return value represents|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|ff1bcdc00 Add Views V2 support for Fuchsia ([flutter/engine#8115](https://github.com/flutter/engine/issues/8115)) ([#30633](https://github.com/flutter/flutter/issues/30633)) https://github.com/flutter/engine/compare/0c393d64e4d1...ff1bcdc00941 git log 0c393d64e4d1c4cd408a591eac72ba05cdc2c0da..ff1bcdc00941188ba27123a4857b443e3c9392bb --no-merges --oneline ff1bcdc00 Add Views V2 support for Fuchsia ([flutter/engine#8115](https://github.com/flutter/engine/issues/8115)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Dan Field <dfield@gmail.com>|Add sample for ValueListenableBuilder ([#30626](https://github.com/flutter/flutter/issues/30626)) * Add sample for ValueListenableBuilder|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 6bc33b5e1442..0c393d64e4d1 (12 commits) ([#30623](https://github.com/flutter/flutter/issues/30623)) https://github.com/flutter/engine/compare/6bc33b5e1442...0c393d64e4d1 git log 6bc33b5e144254ceab274298dd61d9d9ed0dcc8f..0c393d64e4d1c4cd408a591eac72ba05cdc2c0da --no-merges --oneline 0c393d64e Roll dart back to 907c514c8937cf76e ([flutter/engine#8473](https://github.com/flutter/engine/issues/8473)) fea42a259 Roll src/third_party/dart 9e1adc54a7..389ccc9000 (10 commits) d6cf2bda1 Roll src/third_party/dart da4ccd0855..9e1adc54a7 (3 commits) 0c2a2c1c4 Initialize OpacityLayer&[#39](https://github.com/flutter/flutter/issues/39);s matrix to identity ([flutter/engine#8467](https://github.com/flutter/engine/issues/8467)) 7fd4caf03 Roll src/third_party/dart 1ad11facec..da4ccd0855 (6 commits) d3fbaea9a Android Embedding PR25: Prevent black rectangle when launching FlutterActivity ([flutter/engine#8460](https://github.com/flutter/engine/issues/8460)) 99da038da Document the leak_vm flag. ([flutter/engine#8462](https://github.com/flutter/engine/issues/8462)) ce7c21ce9 Log the correct function on error in the embedder. ([flutter/engine#8461](https://github.com/flutter/engine/issues/8461)) e10d46421 Improve path metrics tests and docs ([flutter/engine#7851](https://github.com/flutter/engine/issues/7851)) 424045c3f Enable shutting down all root isolates in a VM. ([flutter/engine#8457](https://github.com/flutter/engine/issues/8457)) 816e3dc0f Roll src/third_party/dart 907c514c89..1ad11facec (7 commits) 45dc353ee Roll src/third_party/skia 0e35ce27e0e9..053b2939938c (10 commits) ([flutter/engine#8458](https://github.com/flutter/engine/issues/8458)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|xster <xiao@xster.net>|Fix gallery deploy on iOS ([#22810](https://github.com/flutter/flutter/issues/22810))|
+|Hans Muller <hansmuller@chromium.org>|Fixed a typo in the Expanded API doc ([#30563](https://github.com/flutter/flutter/issues/30563))|
+|Taym Haddadi <haddadi.taym@gmail.com>|Add confirmDismiss example to flutter_gallery ([#30497](https://github.com/flutter/flutter/issues/30497))|
+|LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>|Provide a default IconTheme in CupertinoTheme ([#30521](https://github.com/flutter/flutter/issues/30521)) -* Inserted an `IconTheme` widget under `CupertinoTheme` to provide a default icon color when using `CupertinoTheme`. * Changed `CupertinoTheme` to a `StatelessWidget`, to match the implementation of `Theme` * Changed the nesting order of `Theme`'s sub widgets, to let `Theme.iconTheme` take precedence, so that `Theme`'s behavior is kept as is.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 2fe4439178f3..6bc33b5e1442 (3 commits) ([#30576](https://github.com/flutter/flutter/issues/30576)) https://github.com/flutter/engine/compare/2fe4439178f3...6bc33b5e1442 git log 2fe4439178f3e09ddaa4d016688691a1adc65ed6..6bc33b5e144254ceab274298dd61d9d9ed0dcc8f --no-merges --oneline 6bc33b5e1 Android Embedding PR24: Allow FlutterActivity to provide an engine, also adjust FlutterFragment timing to avoid Activity launch lag. ([flutter/engine#8448](https://github.com/flutter/engine/issues/8448)) 08a133508 More detailed comments for engine build windows VM ([flutter/engine#8456](https://github.com/flutter/engine/issues/8456)) 1854b8571 Roll src/third_party/dart a2709992a2..907c514c89 (1 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Michael Goderbauer <goderbauer@google.com>|Bump dartdocs to 0.28.3+1 ([#30570](https://github.com/flutter/flutter/issues/30570))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|2fe443917 Roll src/third_party/skia 558637996569..0e35ce27e0e9 (11 commits) ([flutter/engine#8454](https://github.com/flutter/engine/issues/8454)) ([#30567](https://github.com/flutter/flutter/issues/30567)) https://github.com/flutter/engine/compare/7e79b1f03db0...2fe4439178f3 git log 7e79b1f03db04a70509a207d5a0ce2de498f9aba..2fe4439178f3e09ddaa4d016688691a1adc65ed6 --no-merges --oneline 2fe443917 Roll src/third_party/skia 558637996569..0e35ce27e0e9 (11 commits) ([flutter/engine#8454](https://github.com/flutter/engine/issues/8454)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Tim Sneath <timsneath@google.com>|Replace flutter.io with flutter.dev ([#30562](https://github.com/flutter/flutter/issues/30562))|
+|chunhtai <47866232+chunhtai@users.noreply.github.com>|Fix issue 21640: Assertion Error : '_listenerAttached': is not true ([#30513](https://github.com/flutter/flutter/issues/30513))|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|shorter nullable list duplications ([#30305](https://github.com/flutter/flutter/issues/30305))|
+|Tong Mu <dkwingsmt@users.noreply.github.com>|Correctly synthesise event buttons ([#30535](https://github.com/flutter/flutter/issues/30535)) * Correctly synthesise buttons, and add tests|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 3c3b26b55c16..7e79b1f03db0 (4 commits) ([#30559](https://github.com/flutter/flutter/issues/30559)) https://github.com/flutter/engine/compare/3c3b26b55c16...7e79b1f03db0 git log 3c3b26b55c1682cbf58a712d102c66dca53f93e4..7e79b1f03db04a70509a207d5a0ce2de498f9aba --no-merges --oneline 7e79b1f03 Roll src/third_party/dart 896f1c4bb9..a2709992a2 (25 commits) 9c4c043ae Roll src/third_party/skia 604d5a3fca01..558637996569 (1 commits) ([flutter/engine#8452](https://github.com/flutter/engine/issues/8452)) 754453df3 Roll src/third_party/skia 1f58a8e457ba..604d5a3fca01 (1 commits) ([flutter/engine#8451](https://github.com/flutter/engine/issues/8451)) d6d45da07 Roll src/third_party/skia b0ababfe5ad2..1f58a8e457ba (3 commits) ([flutter/engine#8450](https://github.com/flutter/engine/issues/8450)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Justin McCandless <justinjmccandless@gmail.com>|Trackpad mode crash fix ([#30475](https://github.com/flutter/flutter/issues/30475)) Fixes a crash that happened when attempting to select text in trackpad mode on iOS.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|3c3b26b55 Roll src/third_party/skia 51874e3e3712..b0ababfe5ad2 (1 commits) ([flutter/engine#8449](https://github.com/flutter/engine/issues/8449)) ([#30540](https://github.com/flutter/flutter/issues/30540)) https://github.com/flutter/engine/compare/697e541a8d94...3c3b26b55c16 git log 697e541a8d9475b504a2bd6f335b4f004775adf3..3c3b26b55c1682cbf58a712d102c66dca53f93e4 --no-merges --oneline 3c3b26b55 Roll src/third_party/skia 51874e3e3712..b0ababfe5ad2 (1 commits) ([flutter/engine#8449](https://github.com/flutter/engine/issues/8449)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Wai Hon Law <whhone@gmail.com>|Update repair command for Arch Linux ([#30428](https://github.com/flutter/flutter/issues/30428)) The current repair command for Arch Linux is no longer valid because `lib32-libstdc++5` had been removed from multilib. Actually, `lib32-gcc-libs` from core just work. Also see https://github.com/flutter/flutter/issues/25035|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|697e541a8 Add scripts that prepares our windows VM image ([flutter/engine#8446](https://github.com/flutter/engine/issues/8446)) ([#30538](https://github.com/flutter/flutter/issues/30538)) https://github.com/flutter/engine/compare/8b74cba20bb8...697e541a8d94 git log 8b74cba20bb878d1e75747200f75dfaff5925bda..697e541a8d9475b504a2bd6f335b4f004775adf3 --no-merges --oneline 697e541a8 Add scripts that prepares our windows VM image ([flutter/engine#8446](https://github.com/flutter/engine/issues/8446)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 219bf5938752..8b74cba20bb8 (4 commits) ([#30536](https://github.com/flutter/flutter/issues/30536)) https://github.com/flutter/engine/compare/219bf5938752...8b74cba20bb8 git log 219bf5938752e0030b491565af1910c137b83dd8..8b74cba20bb878d1e75747200f75dfaff5925bda --no-merges --oneline 8b74cba20 Make sure FlutterViewController flushs all pending touches when no longer active ([flutter/engine#8400](https://github.com/flutter/engine/issues/8400)) 06cab8171 Roll src/third_party/skia e4628b10722f..51874e3e3712 (2 commits) ([flutter/engine#8445](https://github.com/flutter/engine/issues/8445)) 5460926c0 Roll src/third_party/dart 9814cb1b9c..896f1c4bb9 (4 commits) 694fc5677 Build windows engine on GCE ([flutter/engine#8442](https://github.com/flutter/engine/issues/8442)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|xster <xiao@xster.net>|Let docker image install fastlane too for Linux ([#30530](https://github.com/flutter/flutter/issues/30530))|
+|Hans Muller <hansmuller@chromium.org>|Correct MaterialButton disabledColor ([#30531](https://github.com/flutter/flutter/issues/30531))|
+|xster <xiao@xster.net>|Cupertino localization step 5: add french arb as translated example ([#29708](https://github.com/flutter/flutter/issues/29708))|
+|Tong Mu <dkwingsmt@users.noreply.github.com>|Touching the screen adds `0x01` to buttons ([#30457](https://github.com/flutter/flutter/issues/30457)) * Add constants `kPrimaryButton`, `kTouchContact` and `kStylusContact` * PointerDownEvent and PointerMoveEvent will always set the 0x01 bit on buttons|
+|Morgan <rmtmckenzie@gmail.com>|Fix MaterialApp's _navigatorObserver when only builder used ([#29413](https://github.com/flutter/flutter/issues/29413)) Fix MaterialApp's _navigatorObserver so it doesn't cause WidgetApp's assertion to fail when using custom navigator, fixes [#18904](https://github.com/flutter/flutter/issues/18904)|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 0f70d5d4f1e3..219bf5938752 (2 commits) ([#30520](https://github.com/flutter/flutter/issues/30520)) https://github.com/flutter/engine/compare/0f70d5d4f1e3...219bf5938752 git log 0f70d5d4f1e3ed377781bc6e73e3666c73afc7f8..219bf5938752e0030b491565af1910c137b83dd8 --no-merges --oneline 219bf5938 Roll src/third_party/skia 1383a38e1d92..e4628b10722f (12 commits) ([flutter/engine#8443](https://github.com/flutter/engine/issues/8443)) a40adfdf4 Add window title/icon support to GLFW shell ([flutter/engine#8435](https://github.com/flutter/engine/issues/8435)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Kate Lovett <katelovett@google.com>|Embedding the diagram for BottomNavigationBar. ([#30468](https://github.com/flutter/flutter/issues/30468))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 5944867cabdb..0f70d5d4f1e3 (2 commits) ([#30512](https://github.com/flutter/flutter/issues/30512)) https://github.com/flutter/engine/compare/5944867cabdb...0f70d5d4f1e3 git log 5944867cabdb934ef9fea0dccb865cb1acef51b5..0f70d5d4f1e3ed377781bc6e73e3666c73afc7f8 --no-merges --oneline 0f70d5d4f Roll src/third_party/dart 600b2831ef..9814cb1b9c (7 commits) 4b1ec56bc Roll src/third_party/skia f346df396a23..1383a38e1d92 (8 commits) ([flutter/engine#8440](https://github.com/flutter/engine/issues/8440)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Justin McCandless <justinjmccandless@gmail.com>|Pan and zoom gallery demo ([#25164](https://github.com/flutter/flutter/issues/25164)) Adds the "2D Transformations" demo to the gallery, which shows how to do things such as navigate around a map a la Google Maps, or show a full screen zoomable photo. The idea is to abstract this code into a first class widget soon.|
+|Tong Mu <dkwingsmt@users.noreply.github.com>|Fix edge cases of PointerEventConverter ([#29998](https://github.com/flutter/flutter/issues/29998)) * Fix: ui.PointerChange.remove might contain position change, but we used to expand it into a Cancel and Remove, neither of which allows position change. A Hover event is added, and a test is updated accordingly. * Fixed the issue where a PointerMoveEvent and a PointerCancelEvent do not receive the correct pressure. * Refactor the calculation of delta into deltaTo.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|5944867ca update to use SkTileMode ([flutter/engine#8439](https://github.com/flutter/engine/issues/8439)) ([#30506](https://github.com/flutter/flutter/issues/30506)) https://github.com/flutter/engine/compare/ad9d2417e9aa...5944867cabdb git log ad9d2417e9aa182700f0d1423de758d2a000598d..5944867cabdb934ef9fea0dccb865cb1acef51b5 --no-merges --oneline 5944867ca update to use SkTileMode ([flutter/engine#8439](https://github.com/flutter/engine/issues/8439)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 309d078b597d..ad9d2417e9aa (15 commits) ([#30502](https://github.com/flutter/flutter/issues/30502)) https://github.com/flutter/engine/compare/309d078b597d...ad9d2417e9aa git log 309d078b597d3a38fe9bcef8d8bae7b56487e8eb..ad9d2417e9aa182700f0d1423de758d2a000598d --no-merges --oneline ad9d2417e Roll src/third_party/skia dde12a25bb5e..f346df396a23 (1 commits) ([flutter/engine#8438](https://github.com/flutter/engine/issues/8438)) 0ed237c19 Roll src/third_party/skia b6d04556c34d..dde12a25bb5e (4 commits) ([flutter/engine#8437](https://github.com/flutter/engine/issues/8437)) 445ab42ef Roll src/third_party/dart 11a3dd7332..600b2831ef (9 commits) 49d0dc6d6 Roll src/third_party/skia 5c5de2146309..b6d04556c34d (1 commits) ([flutter/engine#8434](https://github.com/flutter/engine/issues/8434)) 4ff18fbda Roll src/third_party/dart f6768b6fb3..11a3dd7332 (56 commits) 7b831986f Roll src/third_party/skia 2273c900ea28..5c5de2146309 (5 commits) ([flutter/engine#8432](https://github.com/flutter/engine/issues/8432)) 800ea0a40 Revert &[#34](https://github.com/flutter/flutter/issues/34);Enable shutting down all root isolates in a VM. ([#8402](https://github.com/flutter/flutter/issues/8402))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8431](https://github.com/flutter/engine/issues/8431)) b59c4436c Enable shutting down all root isolates in a VM. ([flutter/engine#8402](https://github.com/flutter/engine/issues/8402)) 9acdf1837 Make AccessibilityViewEmbedder final ([flutter/engine#8429](https://github.com/flutter/engine/issues/8429)) 804d54ddf Eliminate unused displayBounds parameter ([flutter/engine#8427](https://github.com/flutter/engine/issues/8427)) d4c815f57 Roll buildroot ([flutter/engine#8425](https://github.com/flutter/engine/issues/8425)) 20190d707 Roll src/third_party/skia fbe240669394..2273c900ea28 (13 commits) ([flutter/engine#8428](https://github.com/flutter/engine/issues/8428)) 7e38b0aa2 Revert &[#34](https://github.com/flutter/flutter/issues/34);Revert &[#34](https://github.com/flutter/flutter/issues/34);Separate the data required to bootstrap the VM into its own class. ([#8397](https://github.com/flutter/flutter/issues/8397))&[#34](https://github.com/flutter/flutter/issues/34); ([#8406](https://github.com/flutter/flutter/issues/8406))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8414](https://github.com/flutter/engine/issues/8414)) d8bb9d793 Roll src/third_party/skia 176da0bb8a10..fbe240669394 (9 commits) ([flutter/engine#8424](https://github.com/flutter/engine/issues/8424)) 64fc58329 Remove use of DART_CHECK_VALID. ([flutter/engine#8417](https://github.com/flutter/engine/issues/8417)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Shi-Hao Hong <shihaohong94@gmail.com>|Add ExpansionPanelList and ExpansionPanelList.radio Examples ([#30343](https://github.com/flutter/flutter/issues/30343))|
+|Michelle Dudley <25540019+michdud@users.noreply.github.com>|Fix Shrine overscroll glow indicator ([#27217](https://github.com/flutter/flutter/issues/27217))|
+|Nikita <nikitadauhashei@gmail.com>|Implement compute for async function ([#16265](https://github.com/flutter/flutter/issues/16265)) ([#30275](https://github.com/flutter/flutter/issues/30275))|
+|Kate Lovett <katelovett@google.com>|Embedding new raised button diagram. ([#30398](https://github.com/flutter/flutter/issues/30398))|
+|Kate Lovett <katelovett@google.com>|Updating sample code for BottomNavigationBar class for diagram. ([#30453](https://github.com/flutter/flutter/issues/30453))|
+|Michael Goderbauer <goderbauer@google.com>|Random trivial fixes in the animation packages ([#30276](https://github.com/flutter/flutter/issues/30276))|
+|Michael Goderbauer <goderbauer@google.com>|Be more explicit when ValueNotifier notifies ([#30461](https://github.com/flutter/flutter/issues/30461))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|309d078b5 Roll src/third_party/skia e25b4472cdd9..176da0bb8a10 (10 commits) ([flutter/engine#8422](https://github.com/flutter/engine/issues/8422)) ([#30441](https://github.com/flutter/flutter/issues/30441)) https://github.com/flutter/engine/compare/cc115500b9cb...309d078b597d git log cc115500b9cb2b27d59627f202e6cd6bb87f49fc..309d078b597d3a38fe9bcef8d8bae7b56487e8eb --no-merges --oneline 309d078b5 Roll src/third_party/skia e25b4472cdd9..176da0bb8a10 (10 commits) ([flutter/engine#8422](https://github.com/flutter/engine/issues/8422)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Zachary Anderson <zanderso@users.noreply.github.com>|[fuchsia] Fix isolate filter ([#30458](https://github.com/flutter/flutter/issues/30458))|
+|Hans Muller <hansmuller@chromium.org>|Fix gallery API doc URL launcher ([#30460](https://github.com/flutter/flutter/issues/30460))|
+|liyuqian <liyuqian@google.com>|Revert "Error message for setting shaderWarmUp too late ([#30145](https://github.com/flutter/flutter/issues/30145))" ([#30463](https://github.com/flutter/flutter/issues/30463)) This reverts commit ffbb335e35ae7416be98b72779baae6c9bd25b3b. Reason for revert: flutter driver tests may have bugs in getting first frame. Revert this until we figure out what happened.|
+|Michael Goderbauer <goderbauer@google.com>|Moar Videos ([#30452](https://github.com/flutter/flutter/issues/30452))|
+|Michael Goderbauer <goderbauer@google.com>|Add 29 Widget of the Week videos ([#30415](https://github.com/flutter/flutter/issues/30415))|
+|Christopher Fujino <christopherfujino@gmail.com>|make shellcheck (linter) recommended changes to bin/flutter ([#30456](https://github.com/flutter/flutter/issues/30456))|
+|Michael Goderbauer <goderbauer@google.com>|Bump dartdocs to 0.28.3 ([#30451](https://github.com/flutter/flutter/issues/30451))|
+|Vyacheslav Egorov <me@mrale.ph>|Introduce --report-timings flag for flutter build aot command. ([#30032](https://github.com/flutter/flutter/issues/30032)) This flag makes flutter build aot report timings for substeps (e.g. frontend compilation and gen_snapshot) in a machine readable form.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 4a8c7dceeb4b..cc115500b9cb (6 commits) ([#30421](https://github.com/flutter/flutter/issues/30421)) https://github.com/flutter/engine/compare/4a8c7dceeb4b...cc115500b9cb git log 4a8c7dceeb4b7c710e0b22090cc3bc26f458a3a9..cc115500b9cb2b27d59627f202e6cd6bb87f49fc --no-merges --oneline cc115500b Roll src/third_party/skia c9eeab3d85b9..e25b4472cdd9 (1 commits) ([flutter/engine#8420](https://github.com/flutter/engine/issues/8420)) 20e45996d Roll src/third_party/skia 71c0e9422038..c9eeab3d85b9 (4 commits) ([flutter/engine#8418](https://github.com/flutter/engine/issues/8418)) a650790e4 Add scroll wheel support to desktop GLFW shell ([flutter/engine#8416](https://github.com/flutter/engine/issues/8416)) 77d8e12e9 Roll src/third_party/dart 14fd3b7d6a..f6768b6fb3 (5 commits) 23fceaacd Added new Android embedding packages to javadoc generation. ([flutter/engine#8411](https://github.com/flutter/engine/issues/8411)) 2f1786010 Pass environment defines to compile flutter platform step. ([flutter/engine#8412](https://github.com/flutter/engine/issues/8412)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|xster <xiao@xster.net>|Cupertino localization step 4: let generated date localization combine material and cupertino locales ([#29650](https://github.com/flutter/flutter/issues/29650))|
+|Dan Field <dfield@gmail.com>|Draggable Scrollable sheet ([#30058](https://github.com/flutter/flutter/issues/30058)) * Draggable Scrollable sheet|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine f7b4903d7c99..4a8c7dceeb4b (5 commits) ([#30399](https://github.com/flutter/flutter/issues/30399)) https://github.com/flutter/engine/compare/f7b4903d7c99...4a8c7dceeb4b git log f7b4903d7c9913447af3aaebc4308d1a1e2a4dde..4a8c7dceeb4b7c710e0b22090cc3bc26f458a3a9 --no-merges --oneline 4a8c7dcee Roll src/third_party/skia f2d9b865d736..71c0e9422038 (13 commits) ([flutter/engine#8413](https://github.com/flutter/engine/issues/8413)) efbecd7e8 [txt] Add back FontCollection::SetDefaultFontManager ([flutter/engine#8410](https://github.com/flutter/engine/issues/8410)) 5f7711449 Roll src/third_party/dart 75b2f9f919..14fd3b7d6a (23 commits) f27c5730a [fuchsia] Exclude glfw from the Fuchsia host build ([flutter/engine#8407](https://github.com/flutter/engine/issues/8407)) 853ac1bdf Roll src/third_party/skia 70d8f4f3acbb..f2d9b865d736 (11 commits) ([flutter/engine#8408](https://github.com/flutter/engine/issues/8408)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop the roller if necessary.|
+|Amir Hardon <amirh@users.noreply.github.com>|Make sure _handleAppFrame is only registered once per frame ([#30346](https://github.com/flutter/flutter/issues/30346)) There were 2 possible scenarios in which _handleAppFrame is added more than once as a frame callback. When this happens it is possible that the second invocation will try to access _nextFrame.image when _nextFrame is null and crash. The 2 scenarios are: Scenario 1 A GIF frame is decoded and a Flutter frame is executed before it's time to show the next GIF frame. The timer that's waiting for enough time to elapse is invoked, and schedules a callback for the next Flutter frame(here). Before the next Flutter frame is executed, MultiFrameImageStreamCompleter#removeListener is called followed by ``MultiFrameImageStreamCompleter#addListenerthat is invoking_decodeNextFrameAndSchedule` which is adding `_handleAppFrame` again as a next frame callback. Scenario 2 removeListener and addListener are called multiple times in succession, every call to addListener can result in another registration of _handleAppFrame to the next Flutter frame callbacks list. This patch fixes the issue by guarding against a second registration of _handleAppFrame.|
+|xster <xiao@xster.net>|Add needed singular resources for cupertino_en.arb ([#30160](https://github.com/flutter/flutter/issues/30160))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 6675f71dfb22..f7b4903d7c99 (2 commits) ([#30393](https://github.com/flutter/flutter/issues/30393)) https://github.com/flutter/engine/compare/6675f71dfb22...f7b4903d7c99 git log 6675f71dfb22a0b4fdab6332e37843f78c33c9e6..f7b4903d7c9913447af3aaebc4308d1a1e2a4dde --no-merges --oneline f7b4903d7 Revert &[#34](https://github.com/flutter/flutter/issues/34);Separate the data required to bootstrap the VM into its own class. ([#8397](https://github.com/flutter/flutter/issues/8397))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8406](https://github.com/flutter/engine/issues/8406)) f835789dd Roll src/third_party/skia d962070feb84..70d8f4f3acbb (1 commits) ([flutter/engine#8405](https://github.com/flutter/engine/issues/8405)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Jon Tippens <legalcodes@users.noreply.github.com>|Fix minor typo ([#30353](https://github.com/flutter/flutter/issues/30353))|
+|Kate Lovett <katelovett@google.com>|Updating sample code for raised button to match forthcoming diagram. ([#30348](https://github.com/flutter/flutter/issues/30348))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|6675f71df Roll src/third_party/skia 1acf79a3e5b8..d962070feb84 (4 commits) ([flutter/engine#8404](https://github.com/flutter/engine/issues/8404)) ([#30365](https://github.com/flutter/flutter/issues/30365)) https://github.com/flutter/engine/compare/b572ade3550b...6675f71dfb22 git log b572ade3550b3f04ccb8c18d5bc4d5804f479c03..6675f71dfb22a0b4fdab6332e37843f78c33c9e6 --no-merges --oneline 6675f71df Roll src/third_party/skia 1acf79a3e5b8..d962070feb84 (4 commits) ([flutter/engine#8404](https://github.com/flutter/engine/issues/8404)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|b572ade35 Roll src/third_party/skia 3f6a2ac63670..1acf79a3e5b8 (1 commits) ([flutter/engine#8403](https://github.com/flutter/engine/issues/8403)) ([#30355](https://github.com/flutter/flutter/issues/30355)) https://github.com/flutter/engine/compare/3796d989183d...b572ade3550b git log 3796d989183d588b17a110d8aaf74906c4e1c8f0..b572ade3550b3f04ccb8c18d5bc4d5804f479c03 --no-merges --oneline b572ade35 Roll src/third_party/skia 3f6a2ac63670..1acf79a3e5b8 (1 commits) ([flutter/engine#8403](https://github.com/flutter/engine/issues/8403)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|no need .toList() before .join() ([#30304](https://github.com/flutter/flutter/issues/30304))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|3796d9891 [ui] Add null check in FontWeight.lerp ([flutter/engine#8274](https://github.com/flutter/engine/issues/8274)) ([#30352](https://github.com/flutter/flutter/issues/30352)) https://github.com/flutter/engine/compare/79a988f5da46...3796d989183d git log 79a988f5da4665980c6cc6916403e76b53f1e3e0..3796d989183d588b17a110d8aaf74906c4e1c8f0 --no-merges --oneline 3796d9891 [ui] Add null check in FontWeight.lerp ([flutter/engine#8274](https://github.com/flutter/engine/issues/8274)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine c991647404f8..79a988f5da46 (2 commits) ([#30350](https://github.com/flutter/flutter/issues/30350)) https://github.com/flutter/engine/compare/c991647404f8...79a988f5da46 git log c991647404f8117dab2ca4ed49aa3ba48a634240..79a988f5da4665980c6cc6916403e76b53f1e3e0 --no-merges --oneline 79a988f5d Roll src/third_party/skia b27667a15a15..3f6a2ac63670 (1 commits) ([flutter/engine#8401](https://github.com/flutter/engine/issues/8401)) cfe8675ff Delay platform view removal to submitFrame. ([flutter/engine#8380](https://github.com/flutter/engine/issues/8380)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 6c1b0b83c2b3..c991647404f8 (2 commits) ([#30345](https://github.com/flutter/flutter/issues/30345)) https://github.com/flutter/engine/compare/6c1b0b83c2b3...c991647404f8 git log 6c1b0b83c2b3259cf7b23c2f6d6fc5cfdb924b61..c991647404f8117dab2ca4ed49aa3ba48a634240 --no-merges --oneline c99164740 Separate the data required to bootstrap the VM into its own class. ([flutter/engine#8397](https://github.com/flutter/engine/issues/8397)) 8c9aca440 Roll src/third_party/skia de206c75c2c8..b27667a15a15 (14 commits) ([flutter/engine#8399](https://github.com/flutter/engine/issues/8399)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Michael Goderbauer <goderbauer@google.com>|Make heroes fly on pushReplacement ([#30228](https://github.com/flutter/flutter/issues/30228))|
+|Shi-Hao Hong <shihaohong94@gmail.com>|Added assert to prevent complete ListTile trailing/leading horizontal expansion ([#30212](https://github.com/flutter/flutter/issues/30212))|
+|LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>|update sample code analyzer regexp & test case ([#30201](https://github.com/flutter/flutter/issues/30201)) updates the regex the analyzer uses, so it should be able to recognize expressions such as const Foo a = Foo(); as "other code" rather than a constructor call.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|6c1b0b83c Roll src/third_party/dart 1e82544b07..75b2f9f919 (26 commits) ([#30337](https://github.com/flutter/flutter/issues/30337))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine a850016454f6..40eb74c50b06 (2 commits) ([#30335](https://github.com/flutter/flutter/issues/30335)) https://github.com/flutter/engine/compare/a850016454f6...40eb74c50b06 git log a850016454f6d33da64d03dbd1ea71fd0fac299f..40eb74c50b0630d0a5fbf8586febe6581b893b66 --no-merges --oneline 40eb74c50 Make the resource context primary on iOS ([flutter/engine#8387](https://github.com/flutter/engine/issues/8387)) d8d9855df Roll src/third_party/skia 73cc4e8d5fcf..de206c75c2c8 (2 commits) ([flutter/engine#8396](https://github.com/flutter/engine/issues/8396)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Tong Mu <dkwingsmt@users.noreply.github.com>|Simplify logic of TapGestureRecognizer ([#30227](https://github.com/flutter/flutter/issues/30227)) Refactors the logic of TapGestureRecognizer, making the calling dependency unidirectional between resolve(accept) and checkUp.|
+|Hans Muller <hansmuller@chromium.org>|Fix OutlineInputBorder crash ([#30123](https://github.com/flutter/flutter/issues/30123))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine f3ec767458f1..a850016454f6 (4 commits) ([#30312](https://github.com/flutter/flutter/issues/30312)) https://github.com/flutter/engine/compare/f3ec767458f1...a850016454f6 git log f3ec767458f12bb3099248fdc57d6c0d1051f042..a850016454f6d33da64d03dbd1ea71fd0fac299f --no-merges --oneline a85001645 Roll src/third_party/skia bb482ab871a2..73cc4e8d5fcf (1 commits) ([flutter/engine#8395](https://github.com/flutter/engine/issues/8395)) aba61e8fb Roll src/third_party/skia 5ee611b26f23..bb482ab871a2 (4 commits) ([flutter/engine#8394](https://github.com/flutter/engine/issues/8394)) 82071e916 Don&[#39](https://github.com/flutter/flutter/issues/39);t access a11y APIs with reflection starting Android P. ([flutter/engine#8393](https://github.com/flutter/engine/issues/8393)) d9f16111a Roll src/third_party/skia acb4829c1be4..5ee611b26f23 (1 commits) ([flutter/engine#8392](https://github.com/flutter/engine/issues/8392)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Zachary Anderson <zanderso@users.noreply.github.com>|[fuchsia_tester] Plumb through the location of icudtl ([#30218](https://github.com/flutter/flutter/issues/30218))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|f3ec76745 Roll src/third_party/skia 83edfbe736fd..acb4829c1be4 (1 commits) ([flutter/engine#8391](https://github.com/flutter/engine/issues/8391)) ([#30266](https://github.com/flutter/flutter/issues/30266)) https://github.com/flutter/engine/compare/be6313d87545...f3ec767458f1 git log be6313d87545874a6108edb2a311f30d9a027472..f3ec767458f12bb3099248fdc57d6c0d1051f042 --no-merges --oneline f3ec76745 Roll src/third_party/skia 83edfbe736fd..acb4829c1be4 (1 commits) ([flutter/engine#8391](https://github.com/flutter/engine/issues/8391)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|be6313d87 Roll src/third_party/skia 2fdbeae32785..83edfbe736fd (1 commits) ([flutter/engine#8390](https://github.com/flutter/engine/issues/8390)) ([#30263](https://github.com/flutter/flutter/issues/30263)) https://github.com/flutter/engine/compare/ae024d755518...be6313d87545 git log ae024d755518019f3618931fbc47d3f27e84fad5..be6313d87545874a6108edb2a311f30d9a027472 --no-merges --oneline be6313d87 Roll src/third_party/skia 2fdbeae32785..83edfbe736fd (1 commits) ([flutter/engine#8390](https://github.com/flutter/engine/issues/8390)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|ae024d755 Roll src/third_party/skia a6dd1ebd42cf..2fdbeae32785 (1 commits) ([flutter/engine#8389](https://github.com/flutter/engine/issues/8389)) ([#30257](https://github.com/flutter/flutter/issues/30257)) https://github.com/flutter/engine/compare/28f8453629f9...ae024d755518 git log 28f8453629f951d41437aa16bb09957643f1e850..ae024d755518019f3618931fbc47d3f27e84fad5 --no-merges --oneline ae024d755 Roll src/third_party/skia a6dd1ebd42cf..2fdbeae32785 (1 commits) ([flutter/engine#8389](https://github.com/flutter/engine/issues/8389)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 8dabd60a30d0..28f8453629f9 (3 commits) ([#30255](https://github.com/flutter/flutter/issues/30255)) https://github.com/flutter/engine/compare/8dabd60a30d0...28f8453629f9 git log 8dabd60a30d048bf90b4bc0b29914ea00bda182c..28f8453629f951d41437aa16bb09957643f1e850 --no-merges --oneline 28f845362 Roll src/third_party/skia c9822a1818ba..a6dd1ebd42cf (1 commits) ([flutter/engine#8388](https://github.com/flutter/engine/issues/8388)) 2e1f491ba Roll src/third_party/skia 265fd3de3527..c9822a1818ba (1 commits) ([flutter/engine#8386](https://github.com/flutter/engine/issues/8386)) b466aba58 Roll src/third_party/skia 59b733715141..265fd3de3527 (1 commits) ([flutter/engine#8384](https://github.com/flutter/engine/issues/8384)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Shi-Hao Hong <shihaohong94@gmail.com>|Added helpful Material assert message ([#30219](https://github.com/flutter/flutter/issues/30219)) Clarified an assert for when a Material widget's backgroundColor is null when its type isn't MaterialType.transparency|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine b75472c106d0..8dabd60a30d0 (2 commits) ([#30236](https://github.com/flutter/flutter/issues/30236)) https://github.com/flutter/engine/compare/b75472c106d0...8dabd60a30d0 git log b75472c106d0cd0aab45de6bc16e0d6aa6d418cf..8dabd60a30d048bf90b4bc0b29914ea00bda182c --no-merges --oneline 8dabd60a3 Remove unused DartVM::IsKernelMapping ([flutter/engine#8381](https://github.com/flutter/engine/issues/8381)) 63b9d257c Roll src/third_party/dart f29e100f42..1e82544b07 (41 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine ca7623eb39d7..b75472c106d0 (5 commits) ([#30231](https://github.com/flutter/flutter/issues/30231)) https://github.com/flutter/engine/compare/ca7623eb39d7...b75472c106d0 git log ca7623eb39d74a8cbdd095fcc7db398267b6928f..b75472c106d0cd0aab45de6bc16e0d6aa6d418cf --no-merges --oneline b75472c10 Add missing import to functional for Windows. ([flutter/engine#8382](https://github.com/flutter/engine/issues/8382)) 9d7167516 Ensure OpacityLayer to have a single child ([flutter/engine#8362](https://github.com/flutter/engine/issues/8362)) 131cc625a Allow native entrypoint registration for runtime unittests. ([flutter/engine#8379](https://github.com/flutter/engine/issues/8379)) 5e124ffc1 Fix typos ([flutter/engine#8339](https://github.com/flutter/engine/issues/8339)) 972afdc92 Allow running runtime_unittests in AOT mode. ([flutter/engine#8375](https://github.com/flutter/engine/issues/8375)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Revert "Ensure that flutter run/drive/test/update_packages only downloads required artifacts ([#30075](https://github.com/flutter/flutter/issues/30075))" ([#30232](https://github.com/flutter/flutter/issues/30232))|
+|Jonah Williams <jonahwilliams@google.com>|Ensure that flutter run/drive/test/update_packages only downloads required artifacts ([#30075](https://github.com/flutter/flutter/issues/30075))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 86f4b741b863..ca7623eb39d7 (5 commits) ([#30229](https://github.com/flutter/flutter/issues/30229)) https://github.com/flutter/engine/compare/86f4b741b863...ca7623eb39d7 git log 86f4b741b863aef5586f03f4d250f1d789fde2be..ca7623eb39d74a8cbdd095fcc7db398267b6928f --no-merges --oneline ca7623eb3 Handle null values in TextInputConfiguration.actionLabel JSON ([flutter/engine#8377](https://github.com/flutter/engine/issues/8377)) d0239bd83 Roll src/third_party/skia 73c6c9d26870..59b733715141 (3 commits) ([flutter/engine#8378](https://github.com/flutter/engine/issues/8378)) 71d59cde9 Check for hover motion events in AndroidTouchProcessor ([flutter/engine#8376](https://github.com/flutter/engine/issues/8376)) fdcbb40fe [flutter_tester] Accept --icu-data-file-path ([flutter/engine#8374](https://github.com/flutter/engine/issues/8374)) e633b26c5 Introduce unit tests and refactor web dart:ui into &[#34](https://github.com/flutter/flutter/issues/34);package&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8346](https://github.com/flutter/engine/issues/8346)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|add coverage benchmark ([#30222](https://github.com/flutter/flutter/issues/30222))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine a1a2129bc469..86f4b741b863 (5 commits) ([#30223](https://github.com/flutter/flutter/issues/30223)) https://github.com/flutter/engine/compare/a1a2129bc469...86f4b741b863 git log a1a2129bc4696e66510be984fd7908eae51eb98f..86f4b741b863aef5586f03f4d250f1d789fde2be --no-merges --oneline 86f4b741b Move libdart selection into its own target in //flutter/runtime. ([flutter/engine#8373](https://github.com/flutter/engine/issues/8373)) f39cf3774 Add a GN format presubmit. ([flutter/engine#8371](https://github.com/flutter/engine/issues/8371)) d6e2d8527 Roll src/third_party/skia 7eeb74fdfd84..73c6c9d26870 (8 commits) ([flutter/engine#8372](https://github.com/flutter/engine/issues/8372)) 8412c199a Enable Linux shell build ([flutter/engine#8233](https://github.com/flutter/engine/issues/8233)) 133901199 libtxt: track the start and end x positions of glyph blobs for more accurate rendering of text decorations ([flutter/engine#8368](https://github.com/flutter/engine/issues/8368)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|make sure flutter test asks for cache upgrades ([#30216](https://github.com/flutter/flutter/issues/30216))|
+|xster <xiao@xster.net>|Cupertino localization step 3: in-place move some material tools around to make room for cupertino ([#29644](https://github.com/flutter/flutter/issues/29644))|
+|xster <xiao@xster.net>|Make sure everything in the Cupertino page transition can be linear when back swiping ([#28629](https://github.com/flutter/flutter/issues/28629))|
+|dacaiguoguo <dacaiguoguo@gmail.com>|Set custom flutter_assets by add FLTAssetsPath to AppFrameworkInfo.plist ([#29499](https://github.com/flutter/flutter/issues/29499)) * Get FLTAssetsPath from AppFrameworkInfo.plist|
+|Jonah Williams <jonahwilliams@google.com>|add missing test case and handle wildcard removal ([#30205](https://github.com/flutter/flutter/issues/30205))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 82765aa77db9..a1a2129bc469 (13 commits) ([#30209](https://github.com/flutter/flutter/issues/30209)) https://github.com/flutter/engine/compare/82765aa77db9...a1a2129bc469 git log 82765aa77db9621dfbc50801ee2709aa0a00e04d..a1a2129bc4696e66510be984fd7908eae51eb98f --no-merges --oneline a1a2129bc GN Format all files in the engine. ([flutter/engine#8369](https://github.com/flutter/engine/issues/8369)) 82c910414 Remove old Fuchsia external mem,sem extensions 6d1a6a4f4 Allow per-platform customization of the default Skia font manager ([flutter/engine#8358](https://github.com/flutter/engine/issues/8358)) 3de50b8d2 Roll src/third_party/skia 84a53268af92..7eeb74fdfd84 (3 commits) ([flutter/engine#8367](https://github.com/flutter/engine/issues/8367)) 65837ab32 Roll src/third_party/skia a2cec203eea8..84a53268af92 (1 commits) ([flutter/engine#8366](https://github.com/flutter/engine/issues/8366)) ada0a8e2b Roll src/third_party/skia 57b7a792bb6f..a2cec203eea8 (1 commits) ([flutter/engine#8365](https://github.com/flutter/engine/issues/8365)) 9729f1ae3 Roll src/third_party/skia bf4229cc10a1..57b7a792bb6f (5 commits) ([flutter/engine#8364](https://github.com/flutter/engine/issues/8364)) 23e0c3758 Roll src/third_party/skia 01fe26360660..bf4229cc10a1 (6 commits) ([flutter/engine#8363](https://github.com/flutter/engine/issues/8363)) fd0b44045 Roll src/third_party/skia cc8c7bee7925..01fe26360660 (10 commits) ([flutter/engine#8361](https://github.com/flutter/engine/issues/8361)) 96c975163 Rename threshold to access_threshold ([flutter/engine#8354](https://github.com/flutter/engine/issues/8354)) 09a67fe60 update buildroot dep for https://github.com/flutter/buildroot/commit/e2ca4571fa39be20ab1bf67c65d4700612756af2 ([flutter/engine#8359](https://github.com/flutter/engine/issues/8359)) 602b61213 Reduce z-fighting on Scenic ([flutter/engine#8318](https://github.com/flutter/engine/issues/8318)) b53e436f9 Roll src/third_party/dart a977273262..f29e100f42 (8 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Darren Austin <DarrenGoog@users.noreply.github.com>|Made the showMenu() position parameter required ([#30206](https://github.com/flutter/flutter/issues/30206)) Made the showMenu() position parameter required as it doesn't make sense to show a menu without indicating where it should be shown. Also added a test to verify this.|
+|Michael Goderbauer <goderbauer@google.com>|Part 1: Improve Overlay API ([#28747](https://github.com/flutter/flutter/issues/28747))|
+|Jonah Williams <jonahwilliams@google.com>|disable jit snapshot until we know what is going on here ([#30204](https://github.com/flutter/flutter/issues/30204))|
+|Dan Field <dfield@gmail.com>|roll engine to 82765aa77db9621dfbc50801ee2709aa0a00e04d ([#30198](https://github.com/flutter/flutter/issues/30198))|
+|Shi-Hao Hong <shihaohong94@gmail.com>|Set Max Height for ListTile trailing and leading widgets ([#29771](https://github.com/flutter/flutter/issues/29771))|
+|liyuqian <liyuqian@google.com>|Error message for setting shaderWarmUp too late ([#30145](https://github.com/flutter/flutter/issues/30145)) Developers may get confused by setting PaintingBinding.shaderWarmUp in the wrong place. The added assert and error message help avoid that.|
+|Jonah Williams <jonahwilliams@google.com>|Intercept errors thrown by synchronous Completers in image resolution. ([#30139](https://github.com/flutter/flutter/issues/30139))|
+|Shi-Hao Hong <shihaohong94@gmail.com>|Add link to hero animation page ([#30059](https://github.com/flutter/flutter/issues/30059))|
+|Darren Austin <DarrenGoog@users.noreply.github.com>|Fix a misuse of matchesGoldenFile() in the physical_model_test. ([#30141](https://github.com/flutter/flutter/issues/30141)) Fixed a misuse of matchesGoldenFile() in the physical_model_test so that it correctly reports a failed test on Linux (and skips the other platforms).|
+|Ian Hickson <ian@hixie.ch>|Update PULL_REQUEST_TEMPLATE.md ([#29621](https://github.com/flutter/flutter/issues/29621)) This tries to make it more obvious when someone checks the "tests" box without actually having added tests.|
+|Jonah Williams <jonahwilliams@google.com>|skip .dart_tool folders when running update-packages ([#30082](https://github.com/flutter/flutter/issues/30082))|
+|Jonah Williams <jonahwilliams@google.com>|Add more test coverage to image handling ([#30078](https://github.com/flutter/flutter/issues/30078))|
+|Christopher Fujino <christopherfujino@gmail.com>|Move spinner `_defaultSlowWarning` message to a new line ([#30071](https://github.com/flutter/flutter/issues/30071)) * write newline before adding slow restart message to spinner * update existing test|
+|Francisco Magdaleno <franciscojma86@gmail.com>|Adds the keyboard mapping for Linux ([#29993](https://github.com/flutter/flutter/issues/29993))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 37947f961a62..c4d14a00716f (11 commits) ([#30094](https://github.com/flutter/flutter/issues/30094)) https://github.com/flutter/engine/compare/37947f961a62...c4d14a00716f git log 37947f961a6242d2efc05a55a4319b120764a403..c4d14a00716fa616b69d51bab957aee483bdc9c2 --no-merges --oneline c4d14a007 Roll src/third_party/skia e4c67058ddb1..01a065884b7d (1 commits) ([flutter/engine#8344](https://github.com/flutter/engine/issues/8344)) 5983b7adf Roll src/third_party/dart ffee99d79b..cf32584870 (6 commits) 84c62b4c7 Build Windows shell ([flutter/engine#8331](https://github.com/flutter/engine/issues/8331)) 6415277d0 Roll src/third_party/skia 8d2c19554e4a..e4c67058ddb1 (1 commits) ([flutter/engine#8341](https://github.com/flutter/engine/issues/8341)) a0110107e Roll src/third_party/dart 991c9da720..ffee99d79b (7 commits) 2098398e1 Cleanups to run_tests.sh script ([flutter/engine#8337](https://github.com/flutter/engine/issues/8337)) 5c99138fa Build GLFW from source for Linux shell ([flutter/engine#8327](https://github.com/flutter/engine/issues/8327)) 68002458f Fix Windows build. ([flutter/engine#8336](https://github.com/flutter/engine/issues/8336)) 6d8b83677 Remove use of epoxy from Linux shell ([flutter/engine#8334](https://github.com/flutter/engine/issues/8334)) 4efc32163 Add super call in FLEView reshape ([flutter/engine#8335](https://github.com/flutter/engine/issues/8335)) cb8eb801a Allow embedders to specify their own task runner interfaces. ([flutter/engine#8273](https://github.com/flutter/engine/issues/8273)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Move binarySearch implementation in animated_list to foundation/collection.dart. ([#29860](https://github.com/flutter/flutter/issues/29860))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 76200562779e..37947f961a62 (2 commits) ([#30074](https://github.com/flutter/flutter/issues/30074)) https://github.com/flutter/engine/compare/76200562779e...37947f961a62 git log 76200562779e49d34e62056b66800ac870197092..37947f961a6242d2efc05a55a4319b120764a403 --no-merges --oneline 37947f961 Allow delegation of a11y events from nodes that were not yet traversed ([flutter/engine#8333](https://github.com/flutter/engine/issues/8333)) deeb7a747 Roll src/third_party/skia 99ccc0ca87e6..8d2c19554e4a (11 commits) ([flutter/engine#8332](https://github.com/flutter/engine/issues/8332)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Shi-Hao Hong <shihaohong94@gmail.com>|Added Hero zero-frame animation documentation ([#30048](https://github.com/flutter/flutter/issues/30048))|
+|Nizarius <dr.potapoff.peter@gmail.com>|CupertinoTextField: added ability to change placeholder color ([#28001](https://github.com/flutter/flutter/issues/28001))|
+|Jonah Williams <jonahwilliams@google.com>|Update to latest matcher ([#30019](https://github.com/flutter/flutter/issues/30019))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 3a3f707d5a9b..76200562779e (2 commits) ([#30070](https://github.com/flutter/flutter/issues/30070)) https://github.com/flutter/engine/compare/3a3f707d5a9b...76200562779e git log 3a3f707d5a9b17388b60ff10b9f65b0c6a3c4134..76200562779e49d34e62056b66800ac870197092 --no-merges --oneline 762005627 Android Embedding PR22: Polish - FlutterActivity Intent factories, FlutterFragment control of render modes, FlutterSurfaceView transparent until rendering is ready. ([flutter/engine#8317](https://github.com/flutter/engine/issues/8317)) 6bd697dd4 Fix &[#34](https://github.com/flutter/flutter/issues/34);PointerEvent&[#34](https://github.com/flutter/flutter/issues/34); flow end event ([flutter/engine#8319](https://github.com/flutter/engine/issues/8319)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Make timeout durations configurable ([#30053](https://github.com/flutter/flutter/issues/30053))|
+|xster <xiao@xster.net>|Cupertino localization step 1.5: fix a resource mismatch in cupertino_en.arb ([#29821](https://github.com/flutter/flutter/issues/29821))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 0d83a2ecd1bb..3a3f707d5a9b (25 commits) ([#30063](https://github.com/flutter/flutter/issues/30063)) https://github.com/flutter/engine/compare/0d83a2ecd1bb...3a3f707d5a9b git log 0d83a2ecd1bb78f8e1f0ed9719ff3751cdfdd064..3a3f707d5a9b17388b60ff10b9f65b0c6a3c4134 --no-merges --oneline 3a3f707d5 Reland &[#34](https://github.com/flutter/flutter/issues/34);Allow specification of std::functions as native entrypoints from Dart code.&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8329](https://github.com/flutter/engine/issues/8329)) d4275d9ee Roll src/third_party/skia 576eb87a2d2d..99ccc0ca87e6 (5 commits) ([flutter/engine#8328](https://github.com/flutter/engine/issues/8328)) 3a415c4f1 Map glfw into third_party, and roll buildroot ([flutter/engine#8308](https://github.com/flutter/engine/issues/8308)) ce9ea5869 [fuchsia] Disable FML_TRACE_COUNTER events to unblock roll ([flutter/engine#8325](https://github.com/flutter/engine/issues/8325)) 48496588c Roll src/third_party/dart 8a92d2a8d9..991c9da720 (2 commits) 20c241ac3 Roll src/third_party/skia c476e5da4fef..576eb87a2d2d (7 commits) ([flutter/engine#8324](https://github.com/flutter/engine/issues/8324)) cadcf1c58 Roll src/third_party/dart f3fd1943fc..8a92d2a8d9 (16 commits) 66141eb8e Roll src/third_party/skia d1c271bd39f0..c476e5da4fef (2 commits) ([flutter/engine#8322](https://github.com/flutter/engine/issues/8322)) e5b31cdd9 Roll src/third_party/skia cec20280b3fb..d1c271bd39f0 (3 commits) ([flutter/engine#8321](https://github.com/flutter/engine/issues/8321)) 1daff5ce1 Roll src/third_party/skia bf341ae88c83..cec20280b3fb (3 commits) ([flutter/engine#8320](https://github.com/flutter/engine/issues/8320)) 87db585ad Roll src/third_party/skia 45d5f702133e..bf341ae88c83 (2 commits) ([flutter/engine#8316](https://github.com/flutter/engine/issues/8316)) fd7d7fa5a Add a11y support for embedded iOS platform view ([flutter/engine#8156](https://github.com/flutter/engine/issues/8156)) f64ee01e1 Roll src/third_party/skia d2ca31218bc4..45d5f702133e (11 commits) ([flutter/engine#8315](https://github.com/flutter/engine/issues/8315)) f521df383 Fixed service isolate not being initialized correctly due to bad name ([flutter/engine#8251](https://github.com/flutter/engine/issues/8251)) 80b825ce8 Roll src/third_party/dart 093c2909fe..f3fd1943fc (13 commits) ([flutter/engine#8310](https://github.com/flutter/engine/issues/8310)) 7e77d5c48 Revert &[#34](https://github.com/flutter/flutter/issues/34);Allow specification of std::functions as native entrypoints from Dart code. ([#8309](https://github.com/flutter/flutter/issues/8309))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8312](https://github.com/flutter/engine/issues/8312)) 400a86a62 Allow specification of std::functions as native entrypoints from Dart code. ([flutter/engine#8309](https://github.com/flutter/engine/issues/8309)) 51f23fedf [vulkan] Add FUCHSIA external sem/mem extensions 78de8dcb4 Enable lambda like native callbacks in tests and add support for custom entrypoints. ([flutter/engine#8299](https://github.com/flutter/engine/issues/8299)) 2812c7db4 Roll src/third_party/skia 62fd6c411622..d2ca31218bc4 (9 commits) ([flutter/engine#8307](https://github.com/flutter/engine/issues/8307)) 95f9134e9 Roll src/third_party/skia d90004516a63..62fd6c411622 (4 commits) ([flutter/engine#8306](https://github.com/flutter/engine/issues/8306)) 358273bd2 Roll src/third_party/skia 33211b2c7a02..d90004516a63 (1 commits) ([flutter/engine#8305](https://github.com/flutter/engine/issues/8305)) 2804057bf Roll src/third_party/skia 80dd599e91d0..33211b2c7a02 (1 commits) ([flutter/engine#8303](https://github.com/flutter/engine/issues/8303)) a673bbf6f Roll src/third_party/skia c5ee499f2c59..80dd599e91d0 (5 commits) ([flutter/engine#8301](https://github.com/flutter/engine/issues/8301)) d88037dc0 Roll src/third_party/dart fa74184b7a..093c2909fe (71 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Pass FLUTTER_TOOL_ARGS to snapshot command. ([#29938](https://github.com/flutter/flutter/issues/29938))|
+|Kate Lovett <katelovett@google.com>|Embedding new diagrams for API Docs ([#29697](https://github.com/flutter/flutter/issues/29697)) * Embedding new diarams for API docs: Container, ListView, Align. * Moving the diagrams to be enclosed within the snippet windows. * Fixed wording for the alt image text.|
+|Jonah Williams <jonahwilliams@google.com>|ensure packages file is updated when using build_runner ([#29885](https://github.com/flutter/flutter/issues/29885))|
+|Chris Yang <ychris@google.com>|Include platformViewId in semantics tree for iOS ([#29304](https://github.com/flutter/flutter/issues/29304)) Include the platformViewId of PlatformViews in the semantics tree. The accessibility bridge in the engine can use this id to steal the semantics nodes from the actual platform view and stick them into Flutter's semantics tree. It is the iOS PlatformView counter part of https://github.com/flutter/flutter/pull/28953. It reverts the change in https://github.com/flutter/flutter/pull/28953/commits/5b5d6e89ec50f8f51766fb778d0e244f183a5000 and https://github.com/flutter/flutter/pull/28953/commits/03fd797eb8955561c2654b51035175202a25da9d. https://github.com/flutter/flutter/issues/29302|
+|Jonah Williams <jonahwilliams@google.com>|Lazy cache 5: The Empire Strikes Back ([#29986](https://github.com/flutter/flutter/issues/29986))|
+|xster <xiao@xster.net>|Let CupertinoPageScaffold have tap status bar to scroll to top ([#29946](https://github.com/flutter/flutter/issues/29946))|
+|liyuqian <liyuqian@google.com>|Change `-c` to `--enable-asserts` ([#30055](https://github.com/flutter/flutter/issues/30055)) Unblock the engine roll that includes the Dart roll that removes `-c`.|
+|LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>|update CupertinoSwitch documentation ([#29987](https://github.com/flutter/flutter/issues/29987)) Documented CupertinoSwitch.value that it can't be null and added an assertion value != null in the constructor. Related issue: [#12948](https://github.com/flutter/flutter/issues/12948)|
+|Justin McCandless <justinjmccandless@gmail.com>|Docs explaining how to avoid the problem of height toggling with error ([#29811](https://github.com/flutter/flutter/issues/29811)) Documentation that explains a common use case seen in Github issues where users were surprised by TextFormField growth to accommodate validation messages.|
+|LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>|Remove unwanted gap between navigation bar and safe area's child ([#29943](https://github.com/flutter/flutter/issues/29943)) Remove the additional top padding from CupertinoPageScaffold's MediaQuery when the navigation bar is opaque (as the padding was already consumed by the navigation bar). Related Issue: [#29136](https://github.com/flutter/flutter/issues/29136)|
+|Dwayne Slater <ds84182@gmail.com>|Allow PointerEnterEvent and PointerExitEvents to be created from any PointerEvent ([#28602](https://github.com/flutter/flutter/issues/28602)) Avoids an implicit downcast + crash in MouseTracker, since the last pointer event can be a Move or Down event, in addition to Hover.|
+|rami-a <2364772+rami-a@users.noreply.github.com>|Fix issue with account drawer header arrow rotating when setState is called ([#29980](https://github.com/flutter/flutter/issues/29980)) The UserAccountsDrawerHeader had a bug with the arrow rotating whenever setState was called on its parent. This change makes sure that we check that the state actually changed before allowing the animation to trigger. Fixes [#25801](https://github.com/flutter/flutter/issues/25801)|
+|Jonah Williams <jonahwilliams@google.com>|Watch wildcard directories in addition to asset bundle ([#29883](https://github.com/flutter/flutter/issues/29883))|
+|Jonah Williams <jonahwilliams@google.com>|ensure that fe server is always built with tool ([#29768](https://github.com/flutter/flutter/issues/29768))|
+|Dan Field <dfield@gmail.com>|Avoid overwriting task result for non-leak checkers ([#29989](https://github.com/flutter/flutter/issues/29989))|
+|Kate Lovett <katelovett@google.com>|Linking Higher & Lower Class Docs ([#29758](https://github.com/flutter/flutter/issues/29758)) * Adding linking between higher and lower level classes in the API Docs. ref:[#22859](https://github.com/flutter/flutter/issues/22859) * Fixed links between classes.|
+|Jonah Williams <jonahwilliams@google.com>|Revert "Lazy cache 4 ([#29785](https://github.com/flutter/flutter/issues/29785))" ([#29985](https://github.com/flutter/flutter/issues/29985))|
+|Amir Hardon <amirh@users.noreply.github.com>|Limit the semantic nodes ID range to 2^16 ([#29928](https://github.com/flutter/flutter/issues/29928)) This PR limits the framework generated semantic node IDs to be smaller than 2^16, this allows to safely generate semantic node in the engine with IDs >= 2^16 avoiding ID collision (which is done in [flutter/engine#8250](https://github.com/flutter/engine/issues/8250)).|
+|Zachary Anderson <zanderso@users.noreply.github.com>|[fuchsia] Fix flutter_tool BUILD.gn deps ([#29942](https://github.com/flutter/flutter/issues/29942))|
+|Jonah Williams <jonahwilliams@google.com>|Lazy cache 4 ([#29785](https://github.com/flutter/flutter/issues/29785))|
+|hyjfine <hyjfine@gmail.com>|Let CupertinoTextField's clear button also call onChanged ([#29474](https://github.com/flutter/flutter/issues/29474))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine af64f725f6c7..0d83a2ecd1bb (2 commits) ([#29948](https://github.com/flutter/flutter/issues/29948)) https://github.com/flutter/engine/compare/af64f725f6c7...0d83a2ecd1bb git log af64f725f6c74f5d1287a8be8511691119354088..0d83a2ecd1bb78f8e1f0ed9719ff3751cdfdd064 --no-merges --oneline 0d83a2ecd Roll src/third_party/skia 15dc59e65cfa..c5ee499f2c59 (2 commits) ([flutter/engine#8298](https://github.com/flutter/engine/issues/8298)) 42d062f95 [fuchsia] Add missing trace macros ([flutter/engine#8297](https://github.com/flutter/engine/issues/8297)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Fix cache location, artifacts, and re-enable dart2js test ([#29783](https://github.com/flutter/flutter/issues/29783))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine dd6be2fd8371..af64f725f6c7 (3 commits) ([#29944](https://github.com/flutter/flutter/issues/29944)) https://github.com/flutter/engine/compare/dd6be2fd8371...af64f725f6c7 git log dd6be2fd83710de8392fb554927a5d495684a13e..af64f725f6c74f5d1287a8be8511691119354088 --no-merges --oneline af64f725f Fixing links between higher and lower classes. ([flutter/engine#8295](https://github.com/flutter/engine/issues/8295)) 22ee8ee08 Migrate existing embedder unit tests to use the fixture. ([flutter/engine#8296](https://github.com/flutter/engine/issues/8296)) 345ae7d37 Delegate a11y events and action to/from embedded Android platform views. ([flutter/engine#8250](https://github.com/flutter/engine/issues/8250)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|liyuqian <liyuqian@google.com>|Remove tranparent paint hack from BackdropFilter ([#29929](https://github.com/flutter/flutter/issues/29929)) We can remove the hack because https://github.com/flutter/engine/pull/8183 has been rolled into the framework.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 3a445cec8a51..dd6be2fd8371 (2 commits) ([#29937](https://github.com/flutter/flutter/issues/29937)) https://github.com/flutter/engine/compare/3a445cec8a51...dd6be2fd8371 git log 3a445cec8a51056e5903c12659b6fc97138e57db..dd6be2fd83710de8392fb554927a5d495684a13e --no-merges --oneline dd6be2fd8 Roll src/third_party/skia 42197c0bc68e..15dc59e65cfa (19 commits) ([flutter/engine#8294](https://github.com/flutter/engine/issues/8294)) d6ead18f4 Make it easy to write embedder unit tests by creating a fixture and config builder. ([flutter/engine#8276](https://github.com/flutter/engine/issues/8276)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine dcc72c7176bc..3a445cec8a51 (4 commits) ([#29924](https://github.com/flutter/flutter/issues/29924)) https://github.com/flutter/engine/compare/dcc72c7176bc...3a445cec8a51 git log dcc72c7176bcaa9fc9fa3798542f764ca6fe4ebc..3a445cec8a51056e5903c12659b6fc97138e57db --no-merges --oneline 3a445cec8 Roll src/third_party/skia cd54466473fe..42197c0bc68e (10 commits) ([flutter/engine#8292](https://github.com/flutter/engine/issues/8292)) fcc63e7d0 Roll src/third_party/skia 2e2fa9e3a06b..cd54466473fe (2 commits) ([flutter/engine#8291](https://github.com/flutter/engine/issues/8291)) 1b1209881 Roll src/third_party/skia c9f746cfb9f4..2e2fa9e3a06b (1 commits) ([flutter/engine#8290](https://github.com/flutter/engine/issues/8290)) b5813917f Roll src/third_party/skia e9a53fe3526a..c9f746cfb9f4 (1 commits) ([flutter/engine#8288](https://github.com/flutter/engine/issues/8288)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Danny Tuppeny <danny@tuppeny.com>|Update Twitter handle @flutterio -> @FlutterDev ([#29908](https://github.com/flutter/flutter/issues/29908)) The @flutterio account now just directs people to @FlutterDev: https://twitter.com/flutterio|
+|Jonah Williams <jonahwilliams@google.com>|wrap Timeline calls in assert ([#29861](https://github.com/flutter/flutter/issues/29861))|
+|Jonah Williams <jonahwilliams@google.com>|Update upgrade to reset off of hotfix branches ([#29786](https://github.com/flutter/flutter/issues/29786))|
+|Jonah Williams <jonahwilliams@google.com>|dont fail build if codegen fails ([#29818](https://github.com/flutter/flutter/issues/29818))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|dcc72c717 Roll src/third_party/skia d79c95e8bcf2..e9a53fe3526a (1 commits) ([flutter/engine#8287](https://github.com/flutter/engine/issues/8287)) ([#29874](https://github.com/flutter/flutter/issues/29874)) https://github.com/flutter/engine/compare/d2bba21af27a...dcc72c7176bc git log d2bba21af27a8d3f30c66aa014f324c786f3fb4e..dcc72c7176bcaa9fc9fa3798542f764ca6fe4ebc --no-merges --oneline dcc72c717 Roll src/third_party/skia d79c95e8bcf2..e9a53fe3526a (1 commits) ([flutter/engine#8287](https://github.com/flutter/engine/issues/8287)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 9f878fcb3ecd..d2bba21af27a (6 commits) ([#29869](https://github.com/flutter/flutter/issues/29869)) https://github.com/flutter/engine/compare/9f878fcb3ecd...d2bba21af27a git log 9f878fcb3ecdcc2c6ba0c6d958282c176f008183..d2bba21af27a8d3f30c66aa014f324c786f3fb4e --no-merges --oneline d2bba21af Roll src/third_party/skia ab4c138c0ef3..d79c95e8bcf2 (2 commits) ([flutter/engine#8286](https://github.com/flutter/engine/issues/8286)) cee2bd732 Roll src/third_party/skia 97d957d1db65..ab4c138c0ef3 (3 commits) ([flutter/engine#8285](https://github.com/flutter/engine/issues/8285)) ef3cbe8ac Roll src/third_party/skia 4c0b5c4b79dd..97d957d1db65 (1 commits) ([flutter/engine#8284](https://github.com/flutter/engine/issues/8284)) bd4f6d726 Roll src/third_party/skia b1dbbc8509c6..4c0b5c4b79dd (2 commits) ([flutter/engine#8283](https://github.com/flutter/engine/issues/8283)) 8d23b21d1 Roll src/third_party/skia 61bd91237778..b1dbbc8509c6 (2 commits) ([flutter/engine#8282](https://github.com/flutter/engine/issues/8282)) 61838cab6 Roll src/third_party/skia ec1c6fdfdd11..61bd91237778 (1 commits) ([flutter/engine#8280](https://github.com/flutter/engine/issues/8280)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|9f878fcb3 Roll src/third_party/skia e86cc5039026..ec1c6fdfdd11 (1 commits) ([flutter/engine#8279](https://github.com/flutter/engine/issues/8279)) ([#29836](https://github.com/flutter/flutter/issues/29836)) https://github.com/flutter/engine/compare/62c88d690272...9f878fcb3ecd git log 62c88d690272f0b78047758bb9d8ffa8bbb870cc..9f878fcb3ecdcc2c6ba0c6d958282c176f008183 --no-merges --oneline 9f878fcb3 Roll src/third_party/skia e86cc5039026..ec1c6fdfdd11 (1 commits) ([flutter/engine#8279](https://github.com/flutter/engine/issues/8279)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|62c88d690 Roll src/third_party/skia 33332f1e100c..e86cc5039026 (1 commits) ([flutter/engine#8278](https://github.com/flutter/engine/issues/8278)) ([#29832](https://github.com/flutter/flutter/issues/29832)) https://github.com/flutter/engine/compare/f8e3a40f9ba7...62c88d690272 git log f8e3a40f9ba701120724b5d6e8ff790d50f18083..62c88d690272f0b78047758bb9d8ffa8bbb870cc --no-merges --oneline 62c88d690 Roll src/third_party/skia 33332f1e100c..e86cc5039026 (1 commits) ([flutter/engine#8278](https://github.com/flutter/engine/issues/8278)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 5f8ae420c1ac..f8e3a40f9ba7 (2 commits) ([#29830](https://github.com/flutter/flutter/issues/29830)) https://github.com/flutter/engine/compare/5f8ae420c1ac...f8e3a40f9ba7 git log 5f8ae420c1ac61bbbb26e61251d129c879fc788d..f8e3a40f9ba701120724b5d6e8ff790d50f18083 --no-merges --oneline f8e3a40f9 Roll buildroot to 9c7b023ff266ee58b00fe60326fa1db910a087f3 ([flutter/engine#8277](https://github.com/flutter/engine/issues/8277)) c12696cc5 Roll src/third_party/skia f9264bac4e99..33332f1e100c (27 commits) ([flutter/engine#8275](https://github.com/flutter/engine/issues/8275)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|roll engine to 5f8ae420c1ac61bbbb26e61251d129c879fc788d ([#29817](https://github.com/flutter/flutter/issues/29817))|
+|Mouad Debbar <mouad.debbar@gmail.com>|Add support for text selection via mouse to Cupertino text fields ([#29769](https://github.com/flutter/flutter/issues/29769))|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|some formatting of map, parameters and spaces ([#29760](https://github.com/flutter/flutter/issues/29760))|
+|Dan Field <dfield@gmail.com>|Detect and cleanup leaky processes ([#29196](https://github.com/flutter/flutter/issues/29196)) * Detect and cleanup leaky processes * Add flaky tests for detecting leaked processes|
+|Luka Knezic <luka.knezic@gmail.com>|Update CupertinoTextField ([#29008](https://github.com/flutter/flutter/issues/29008))|
+|Abhijeeth Padarthi <rkinabhi@gmail.com>|Removes unnecessary "new" in documentation ([#29779](https://github.com/flutter/flutter/issues/29779))|
+|Amir Hardon <amirh@users.noreply.github.com>|Revert "Update upgrade to rebase and stash local changes. ([#29192](https://github.com/flutter/flutter/issues/29192))" ([#29780](https://github.com/flutter/flutter/issues/29780)) This reverts commit e38be671a77b6c09dceb74ad2e63cc4b8671c83d.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine d4d4883216fd..b68f7e72aa71 (7 commits) ([#29776](https://github.com/flutter/flutter/issues/29776)) https://github.com/flutter/engine/compare/d4d4883216fd...b68f7e72aa71 git log d4d4883216fd1c1dfc17d41418a960c002cfff57..b68f7e72aa71eb75969bd674d78a5b40ee5ed89f --no-merges --oneline b68f7e72a Allow specifying an alternate Mac host SDK. ([flutter/engine#8249](https://github.com/flutter/engine/issues/8249)) 3df694300 Roll src/third_party/dart cabaa78cc5..ba0147ac07 (3 commits) ([flutter/engine#8248](https://github.com/flutter/engine/issues/8248)) 69c4d82f5 Roll src/third_party/skia d6ab77a2e20f..19fb3971bca5 (17 commits) ([flutter/engine#8245](https://github.com/flutter/engine/issues/8245)) 06635d38a Mirror Android platform views a11y tree in the Flutter a11y tree. ([flutter/engine#8237](https://github.com/flutter/engine/issues/8237)) 28433c513 FlutterJNI no longer asserts it is attached when dispatching platform messages and instead fizzles with a warning if not attached. Not sure what root cause of issue is, but this is necessary to avoid crashes. ([flutter/engine#8246](https://github.com/flutter/engine/issues/8246)) 1addfb596 Roll src/third_party/dart 5e9df35a57..cabaa78cc5 (36 commits) ([flutter/engine#8244](https://github.com/flutter/engine/issues/8244)) 13e3b7101 Roll src/third_party/skia a695da930510..d6ab77a2e20f (11 commits) ([flutter/engine#8243](https://github.com/flutter/engine/issues/8243)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|update fuchsia-attach ([#29764](https://github.com/flutter/flutter/issues/29764))|
+|Jonah Williams <jonahwilliams@google.com>|Use Dart version in script cache check ([#29721](https://github.com/flutter/flutter/issues/29721))|
+|xster <xiao@xster.net>|Add heart shapes to CupertinoIcons ([#29630](https://github.com/flutter/flutter/issues/29630))|
+|Michael Goderbauer <goderbauer@google.com>|Fix transition to stock details ([#29638](https://github.com/flutter/flutter/issues/29638))|
+|Rubens de Melo <rubensdemelo@gmail.com>|Include brackets on OutlineButton doc ([#29654](https://github.com/flutter/flutter/issues/29654))|
+|Jonah Williams <jonahwilliams@google.com>|Update upgrade to rebase and stash local changes. ([#29192](https://github.com/flutter/flutter/issues/29192))|
+|Jonah Williams <jonahwilliams@google.com>|Allowing adding/updating packages during hot reload ([#29747](https://github.com/flutter/flutter/issues/29747))|
+|Mouad Debbar <mouad.debbar@gmail.com>|Avoid flickering while dragging to select text ([#29563](https://github.com/flutter/flutter/issues/29563))|
+|Jonah Williams <jonahwilliams@google.com>|Enable code generation features in tool ([#29399](https://github.com/flutter/flutter/issues/29399))|
+|Jonah Williams <jonahwilliams@google.com>|Revert "Enable platform views for Flutter Gallery on iOS. ([#29632](https://github.com/flutter/flutter/issues/29632))" ([#29754](https://github.com/flutter/flutter/issues/29754))|
+|Amir Hardon <amirh@users.noreply.github.com>|Enable platform views for Flutter Gallery on iOS. ([#29632](https://github.com/flutter/flutter/issues/29632)) This results in running Flutter Gallery with one less thread (platform and gpu threads are the the same). This is very likely to cause a regression in the iOS Gallery benchmarks. I'm mainly interested in landing this to see how much the benchmarks regress, and it's likely that we will revert it shortly after landing.|
+|Shayne Kelly II <skshayne@gmail.com>|Update DropdownButton underline to be customizable ([#29138](https://github.com/flutter/flutter/issues/29138))|
+|Christopher Fujino <christopherfujino@gmail.com>|Fix more tests for ANSI terminals ([#29699](https://github.com/flutter/flutter/issues/29699)) * have tests that log error messages use a FakePlatform that does not support Ansi color, to fix tests started from color terminals * add the override to the other tests too, in case someone copy & pastes them in the future for a test involving an error message|
+|Jonah Williams <jonahwilliams@google.com>|fix asset reloading ([#29469](https://github.com/flutter/flutter/issues/29469))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 250b99bd275a..d4d4883216fd (3 commits) ([#29742](https://github.com/flutter/flutter/issues/29742)) https://github.com/flutter/engine/compare/250b99bd275a...d4d4883216fd git log 250b99bd275ad7622f239a8042f6a6d31b5b95f1..d4d4883216fd1c1dfc17d41418a960c002cfff57 --no-merges --oneline d4d488321 Roll src/third_party/skia 174a3f61fd5d..a695da930510 (2 commits) ([flutter/engine#8242](https://github.com/flutter/engine/issues/8242)) 2d5376c09 Roll src/third_party/skia 2c4ceca62d27..174a3f61fd5d (1 commits) ([flutter/engine#8239](https://github.com/flutter/engine/issues/8239)) b05399901 Roll src/third_party/skia e409441aee0d..2c4ceca62d27 (1 commits) ([flutter/engine#8238](https://github.com/flutter/engine/issues/8238)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|250b99bd2 Roll src/third_party/skia 4652930a7dfc..e409441aee0d (1 commits) ([flutter/engine#8236](https://github.com/flutter/engine/issues/8236)) ([#29719](https://github.com/flutter/flutter/issues/29719)) https://github.com/flutter/engine/compare/fa435385b6b9...250b99bd275a git log fa435385b6b9f80080997dd38ad66bbe4bb0a152..250b99bd275ad7622f239a8042f6a6d31b5b95f1 --no-merges --oneline 250b99bd2 Roll src/third_party/skia 4652930a7dfc..e409441aee0d (1 commits) ([flutter/engine#8236](https://github.com/flutter/engine/issues/8236)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Alexander Aprelev <aam@google.com>|Use source list from the compiler to track invalidated files for hot reload. ([#29693](https://github.com/flutter/flutter/issues/29693)) * Use source list from the compiler to track invalidated files. * Revert accidental change * Fix first-time-seen-the-file logic * Fix/simplify invalidate logic now that we can rely on compiler to let us know what is the cut-off point for invalidation. * Update devfs mock to accommodate for new fields * Fix deleted files case * Analyzer found missing final|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 188adf7e5ec5..fa435385b6b9 (2 commits) ([#29715](https://github.com/flutter/flutter/issues/29715)) https://github.com/flutter/engine/compare/188adf7e5ec5...fa435385b6b9 git log 188adf7e5ec521f7859d5a0a1609fdcb688436b2..fa435385b6b9f80080997dd38ad66bbe4bb0a152 --no-merges --oneline fa435385b Use the GPU thread for Android surface on-screen context lifecycle operations ([flutter/engine#8234](https://github.com/flutter/engine/issues/8234)) 10e1addd8 Roll src/third_party/skia 7e2c0614a2fd..4652930a7dfc (5 commits) ([flutter/engine#8232](https://github.com/flutter/engine/issues/8232)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine d8c89e2bfe9b..188adf7e5ec5 (3 commits) ([#29709](https://github.com/flutter/flutter/issues/29709)) https://github.com/flutter/engine/compare/d8c89e2bfe9b...188adf7e5ec5 git log d8c89e2bfe9b0b0d50da41c1349ef1534517c3c8..188adf7e5ec521f7859d5a0a1609fdcb688436b2 --no-merges --oneline 188adf7e5 Removed Activity reference from AccessibilityBridge by using a View for insets instead of the Activity ([#18115](https://github.com/flutter/flutter/issues/18115)) ([flutter/engine#8231](https://github.com/flutter/engine/issues/8231)) d452dd5c3 Initial import of GLFW Linux shell from FDE ([flutter/engine#8159](https://github.com/flutter/engine/issues/8159)) 512004503 Remove jsoncpp from desktop Linux shell setup ([flutter/engine#8230](https://github.com/flutter/engine/issues/8230)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Dan Field <dfield@gmail.com>|Reland composite physical layers for all platforms ([#29701](https://github.com/flutter/flutter/issues/29701)) * Composite physical layers even if elevation is 0|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|d8c89e2bf Add the Linux desktop setup script to Dockerfile ([flutter/engine#8227](https://github.com/flutter/engine/issues/8227)) ([#29703](https://github.com/flutter/flutter/issues/29703)) https://github.com/flutter/engine/compare/6a8a45fc4f69...d8c89e2bfe9b git log 6a8a45fc4f698364d03b5902c1818d2acc79db22..d8c89e2bfe9b0b0d50da41c1349ef1534517c3c8 --no-merges --oneline d8c89e2bf Add the Linux desktop setup script to Dockerfile ([flutter/engine#8227](https://github.com/flutter/engine/issues/8227)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Anthony <anthonyrobledo@gmail.com>|[Material] Create a FloatingActionButton ThemeData and honor it within the FloatingActionButton ([#28735](https://github.com/flutter/flutter/issues/28735)) Adds a FloatingActionButtonThemeData so that FABs can be themed at the Theme level and independently. The properties that are now on the theme must be defaulted at the build level, in order to respect any contributing theme properties. Because of this, some tests had to be modified to look at properties after they are built. Also, since default behaviors are now tested in the FAB Theme test, some default tests in the FAB test no longer applied and were removed. The themable properties are: -backgroundColor -foregroundColor -elevation -disabledElevation -highlightElevation -shape|
+|Jonah Williams <jonahwilliams@google.com>|Download secondary SDK ([#29633](https://github.com/flutter/flutter/issues/29633))|
+|Jonah Williams <jonahwilliams@google.com>|Add builders and engine hash to fingerprint ([#29434](https://github.com/flutter/flutter/issues/29434))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 96ad0c8926b0..6a8a45fc4f69 (16 commits) ([#29698](https://github.com/flutter/flutter/issues/29698)) https://github.com/flutter/engine/compare/96ad0c8926b0...6a8a45fc4f69 git log 96ad0c8926b0493d4276a39ee9bc6de6fa97bece..6a8a45fc4f698364d03b5902c1818d2acc79db22 --no-merges --oneline 6a8a45fc4 Have the AccessibilityBridge attach/detach itself to the ([flutter/engine#8229](https://github.com/flutter/engine/issues/8229)) 45b19e47c Roll src/third_party/skia ba91f65f2070..7e2c0614a2fd (13 commits) ([flutter/engine#8228](https://github.com/flutter/engine/issues/8228)) 1dbd2046b Moved io.flutter.embedding.engine.android package to io.flutter.embedding.android ([flutter/engine#8221](https://github.com/flutter/engine/issues/8221)) bb354363e Roll src/third_party/dart 70e3e67dd7..5e9df35a57 (45 commits) 3b19a4d30 Removed dart_plugin_tag from DEPS d9b6629b6 Roll src/third_party/skia 4273a150f84d..ba91f65f2070 (6 commits) ([flutter/engine#8225](https://github.com/flutter/engine/issues/8225)) e88573aef Roll src/third_party/skia d7d93001ead2..4273a150f84d (1 commits) ([flutter/engine#8224](https://github.com/flutter/engine/issues/8224)) be9067cc7 Roll src/third_party/skia 37a9294d2eb9..d7d93001ead2 (2 commits) ([flutter/engine#8223](https://github.com/flutter/engine/issues/8223)) ee4abba58 Roll src/third_party/skia 2894d13a0d9b..37a9294d2eb9 (1 commits) ([flutter/engine#8222](https://github.com/flutter/engine/issues/8222)) 3496156bd Roll src/third_party/skia dd0544078d05..2894d13a0d9b (33 commits) ([flutter/engine#8220](https://github.com/flutter/engine/issues/8220)) a1dcb2ea9 [ios] Set contentsScale before we commit CATransaction ([flutter/engine#8218](https://github.com/flutter/engine/issues/8218)) fa1931f6a Send macOS keyboard data to the engine ([flutter/engine#8219](https://github.com/flutter/engine/issues/8219)) 45f69ac47 Plumb a reference of PlatformViewsController and AccessibilityBridge to each other ([flutter/engine#8208](https://github.com/flutter/engine/issues/8208)) 7cbbdb400 libtxt: more accurate tracking of run positioning and width for justified text ([flutter/engine#8214](https://github.com/flutter/engine/issues/8214)) 172810342 Add a build dependencies script for Linux desktop ([flutter/engine#8160](https://github.com/flutter/engine/issues/8160)) d764b69b2 Add docs for helpful commands to fix format ([flutter/engine#8171](https://github.com/flutter/engine/issues/8171)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|some spaces formatting ([#29452](https://github.com/flutter/flutter/issues/29452)) * some space formattings * always use blocks in if-else if a block is used * format spaces in for and while * allow multiline if conditions * fix missing space|
+|Marco Scannadinari <4211302+marcoms@users.noreply.github.com>|Adjust remaining Cupertino route animations to match native ([#28597](https://github.com/flutter/flutter/issues/28597))|
+|Fedor Korotkov <fedor.korotkov@gmail.com>|Speed up CI via mojave-flutter image ([#29669](https://github.com/flutter/flutter/issues/29669))|
+|Michael Goderbauer <goderbauer@google.com>|Fix links on homepage of API docs ([#29641](https://github.com/flutter/flutter/issues/29641))|
+|Lau Ching Jun <chingjun@gmail.com>|Fix typo ([#29625](https://github.com/flutter/flutter/issues/29625))|
+|Jonah Williams <jonahwilliams@google.com>|Improve flutter test startup time ([#29404](https://github.com/flutter/flutter/issues/29404))|
+|Shi-Hao Hong <shihaohong94@gmail.com>|DropdownButton Icon customizability ([#29572](https://github.com/flutter/flutter/issues/29572))|
+|Amir Hardon <amirh@users.noreply.github.com>|Revert last 2 engine rolls. ([#29684](https://github.com/flutter/flutter/issues/29684)) Reverting to the engine version prior to: https://github.com/flutter/flutter/pull/29658|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|3496156bd Roll src/third_party/skia dd0544078d05..2894d13a0d9b (33 commits) ([flutter/engine#8220](https://github.com/flutter/engine/issues/8220)) ([#29659](https://github.com/flutter/flutter/issues/29659)) https://github.com/flutter/engine/compare/a1dcb2ea987e...3496156bd9bf git log a1dcb2ea987efe0e257832160a1b0583ac219584..3496156bd9bfe61788bf64ce3ca3cf1bc2663f95 --no-merges --oneline 3496156bd Roll src/third_party/skia dd0544078d05..2894d13a0d9b (33 commits) ([flutter/engine#8220](https://github.com/flutter/engine/issues/8220)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 96ad0c8926b0..a1dcb2ea987e (6 commits) ([#29658](https://github.com/flutter/flutter/issues/29658)) https://github.com/flutter/engine/compare/96ad0c8926b0...a1dcb2ea987e git log 96ad0c8926b0493d4276a39ee9bc6de6fa97bece..a1dcb2ea987efe0e257832160a1b0583ac219584 --no-merges --oneline a1dcb2ea9 [ios] Set contentsScale before we commit CATransaction ([flutter/engine#8218](https://github.com/flutter/engine/issues/8218)) fa1931f6a Send macOS keyboard data to the engine ([flutter/engine#8219](https://github.com/flutter/engine/issues/8219)) 45f69ac47 Plumb a reference of PlatformViewsController and AccessibilityBridge to each other ([flutter/engine#8208](https://github.com/flutter/engine/issues/8208)) 7cbbdb400 libtxt: more accurate tracking of run positioning and width for justified text ([flutter/engine#8214](https://github.com/flutter/engine/issues/8214)) 172810342 Add a build dependencies script for Linux desktop ([flutter/engine#8160](https://github.com/flutter/engine/issues/8160)) d764b69b2 Add docs for helpful commands to fix format ([flutter/engine#8171](https://github.com/flutter/engine/issues/8171)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Ben Konyi <bkonyi@google.com>|Manual engine roll for 2019-03-19 ([#29627](https://github.com/flutter/flutter/issues/29627)) * Manual engine roll for 2019-03-19 * Applying patch for Dart SDK changes (see PR [#29004](https://github.com/flutter/flutter/issues/29004))|
+|Jonah Williams <jonahwilliams@google.com>|prevent stream notifications from interfering with reload ([#29467](https://github.com/flutter/flutter/issues/29467))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|571964e1d Allow exported __const on iOS ([flutter/engine#8217](https://github.com/flutter/engine/issues/8217)) ([#29624](https://github.com/flutter/flutter/issues/29624)) https://github.com/flutter/engine/compare/e28fc3c810ee...571964e1d7b4 git log e28fc3c810ee3c62ad201bc49f4934f0ed20a82c..571964e1d7b49e5424c800b461006207d670736f --no-merges --oneline 571964e1d Allow exported __const on iOS ([flutter/engine#8217](https://github.com/flutter/engine/issues/8217)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Dan Field <dfield@gmail.com>|Revert "Reland composite physical layers on all platforms ([#29532](https://github.com/flutter/flutter/issues/29532))" ([#29623](https://github.com/flutter/flutter/issues/29623)) This reverts commit 803b15e0db9606f6f4c84925f9c6cb369be72394.|
+|Shi-Hao Hong <shihaohong94@gmail.com>|added friendlier error for invalid AndroidManifest.xml ([#29604](https://github.com/flutter/flutter/issues/29604))|
+|Phil Quitslund <pq@users.noreply.github.com>|make literals const for @immutable constructors ([#29619](https://github.com/flutter/flutter/issues/29619))|
+|Hans Muller <hansmuller@chromium.org>|Update progress indicator API docs ([#29564](https://github.com/flutter/flutter/issues/29564))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 5088735e5f54..e28fc3c810ee (9 commits) ([#29615](https://github.com/flutter/flutter/issues/29615)) https://github.com/flutter/engine/compare/5088735e5f54...e28fc3c810ee git log 5088735e5f54f7fb34215b6665cb4da1fd8f075d..e28fc3c810ee3c62ad201bc49f4934f0ed20a82c --no-merges --oneline e28fc3c81 Define the dart_platform_sdk GN variable only on host targets ([flutter/engine#8206](https://github.com/flutter/engine/issues/8206)) e73dbf6a6 Roll src/third_party/skia 389b4b267d15..7eba20aef187 (2 commits) ([flutter/engine#8209](https://github.com/flutter/engine/issues/8209)) bc8ebcb96 Export FlutterSemanticsUpdateNotification and improve docs ([flutter/engine#8203](https://github.com/flutter/engine/issues/8203)) b404c69fd [scenic][SCN-1054] Move back off of SetTranslationRH ([flutter/engine#8174](https://github.com/flutter/engine/issues/8174)) 71e2d7d8c Roll src/third_party/skia 4a522b7e916c..389b4b267d15 (32 commits) ([flutter/engine#8205](https://github.com/flutter/engine/issues/8205)) ad5b722a7 Simplify the fallback waiter and add traces for vsync scheduling overhead. ([flutter/engine#8185](https://github.com/flutter/engine/issues/8185)) 6980a8356 [platform_view] iOSP platformView composition optimize. ([flutter/engine#8202](https://github.com/flutter/engine/issues/8202)) 568841923 Disable build_ios due to large queue times. ([flutter/engine#8204](https://github.com/flutter/engine/issues/8204)) 629072277 Merge only gpu and platform threads for platform views, fix deadlock. ([flutter/engine#8045](https://github.com/flutter/engine/issues/8045)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|remove explicit frame schedule ([#29461](https://github.com/flutter/flutter/issues/29461))|
+|Priit Lätt <lattpriit@gmail.com>|Use async execution for xcodebuild commands ([#29048](https://github.com/flutter/flutter/issues/29048))|
+|Brian Wilkerson <brianwilkerson@google.com>|Update another SDK constraint ([#29454](https://github.com/flutter/flutter/issues/29454))|
+|Dan Field <dfield@gmail.com>|Remove timeout from add2app test for iOS ([#28746](https://github.com/flutter/flutter/issues/28746))|
+|Dan Field <dfield@gmail.com>|Add semantic label finders ([#29342](https://github.com/flutter/flutter/issues/29342)) * Add semantic label finders|
+|liyuqian <liyuqian@google.com>|Manually roll engine to 5088735e5 ([#29566](https://github.com/flutter/flutter/issues/29566)) Need this manual roll because of golden changes. flutter/engine@5088735e5 Clip to clip_rect instead of paint bounds ([flutter/engine#8183](https://github.com/flutter/engine/issues/8183)) flutter/engine@8818a6c41 Roll src/third_party/skia 2c043c288169..4a522b7e916c (3 commits) ([flutter/engine#8201](https://github.com/flutter/engine/issues/8201)) flutter/engine@048d70bc0 Support dartdevc, dart2js with shared source files, dartdevc sdk ([flutter/engine#8105](https://github.com/flutter/engine/issues/8105)) flutter/engine@e0782dec7 Roll src/third_party/skia 576b2a5596bc..2c043c288169 (2 commits) ([flutter/engine#8200](https://github.com/flutter/engine/issues/8200))|
+|Jonah Williams <jonahwilliams@google.com>|make build runner configurable ([#29568](https://github.com/flutter/flutter/issues/29568))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine e75f6de01fee..048d70bc0948 (2 commits) ([#29569](https://github.com/flutter/flutter/issues/29569)) https://github.com/flutter/engine/compare/e75f6de01fee...048d70bc0948 git log e75f6de01fee738eb15f24efb0ec549587009f1a..048d70bc0948de3bad60e2056f186f336cd5aad9 --no-merges --oneline 048d70bc0 Support dartdevc, dart2js with shared source files, dartdevc sdk ([flutter/engine#8105](https://github.com/flutter/engine/issues/8105)) e0782dec7 Roll src/third_party/skia 576b2a5596bc..2c043c288169 (2 commits) ([flutter/engine#8200](https://github.com/flutter/engine/issues/8200)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Filip Hracek <filiph@users.noreply.github.com>|Add sample to forEachTween ([#29195](https://github.com/flutter/flutter/issues/29195)) The current documentation for `AnimatedWidgetBaseState.forEachTween` is exhaustive but a little hard to grok. This dartdoc example provides some clarity.|
+|Dan Field <dfield@gmail.com>|Reland composite physical layers on all platforms ([#29532](https://github.com/flutter/flutter/issues/29532)) Reland composite physical layers and update tests|
+|xster <xiao@xster.net>|Make real JSON in arb ([#29463](https://github.com/flutter/flutter/issues/29463))|
+|Francisco Magdaleno <franciscojma86@gmail.com>|Adds macOS raw keyboard mapping ([#29231](https://github.com/flutter/flutter/issues/29231))|
+|Jonah Williams <jonahwilliams@google.com>|Ensure that different formatting of ndk properties file does not crash tool ([#29528](https://github.com/flutter/flutter/issues/29528))|
+|Ivan Schütz <ivanschuetz@gmail.com>|Improve Navigator documentation ([#29540](https://github.com/flutter/flutter/issues/29540))|
+|Dan Field <dfield@gmail.com>|Make it easier to ensure semantics in widgetTests ([#29387](https://github.com/flutter/flutter/issues/29387)) * Make it easier to ensure semantics|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 5b09204e3037..e75f6de01fee (2 commits) ([#29537](https://github.com/flutter/flutter/issues/29537)) https://github.com/flutter/engine/compare/5b09204e3037...e75f6de01fee git log 5b09204e3037a8e03fcffc9161cd474b41f4db3b..e75f6de01fee738eb15f24efb0ec549587009f1a --no-merges --oneline e75f6de01 Roll src/third_party/skia 895e1eedb420..576b2a5596bc (1 commits) ([flutter/engine#8198](https://github.com/flutter/engine/issues/8198)) d9fda1c20 Add --no-full-dart-sdk option to GN ([flutter/engine#8196](https://github.com/flutter/engine/issues/8196)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 4d9b9aacd076..5b09204e3037 (3 commits) ([#29522](https://github.com/flutter/flutter/issues/29522)) https://github.com/flutter/engine/compare/4d9b9aacd076...5b09204e3037 git log 4d9b9aacd07602031ab9cee863a74ecf02686ed4..5b09204e3037a8e03fcffc9161cd474b41f4db3b --no-merges --oneline 5b09204e3 Roll src/third_party/skia 72ef2d519a0e..895e1eedb420 (1 commits) ([flutter/engine#8195](https://github.com/flutter/engine/issues/8195)) a47e12d25 Roll src/third_party/skia 3ea586f9f959..72ef2d519a0e (1 commits) ([flutter/engine#8194](https://github.com/flutter/engine/issues/8194)) 5ca92fbe9 Roll src/third_party/skia 143542fa28e9..3ea586f9f959 (1 commits) ([flutter/engine#8193](https://github.com/flutter/engine/issues/8193)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine c6f9fe7e00e2..4d9b9aacd076 (2 commits) ([#29507](https://github.com/flutter/flutter/issues/29507)) https://github.com/flutter/engine/compare/c6f9fe7e00e2...4d9b9aacd076 git log c6f9fe7e00e2648de1a7aa02673b7771a9b92c49..4d9b9aacd07602031ab9cee863a74ecf02686ed4 --no-merges --oneline 4d9b9aacd Roll src/third_party/skia e1f2a572cec0..143542fa28e9 (1 commits) ([flutter/engine#8192](https://github.com/flutter/engine/issues/8192)) c14fde841 Roll src/third_party/skia d95286de1dda..e1f2a572cec0 (1 commits) ([flutter/engine#8191](https://github.com/flutter/engine/issues/8191)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|c6f9fe7e0 Roll src/third_party/skia 90155edf140b..d95286de1dda (2 commits) ([flutter/engine#8190](https://github.com/flutter/engine/issues/8190)) ([#29497](https://github.com/flutter/flutter/issues/29497)) https://github.com/flutter/engine/compare/0f97c920ff90...c6f9fe7e00e2 git log 0f97c920ff90aaa0cbfd960ef61089a124ffafae..c6f9fe7e00e2648de1a7aa02673b7771a9b92c49 --no-merges --oneline c6f9fe7e0 Roll src/third_party/skia 90155edf140b..d95286de1dda (2 commits) ([flutter/engine#8190](https://github.com/flutter/engine/issues/8190)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|0f97c920f Roll src/third_party/skia f3f7059cb736..90155edf140b (1 commits) ([flutter/engine#8189](https://github.com/flutter/engine/issues/8189)) ([#29493](https://github.com/flutter/flutter/issues/29493)) https://github.com/flutter/engine/compare/4a4f1823eb5b...0f97c920ff90 git log 4a4f1823eb5b3a08b703f0190ab309af8b65f721..0f97c920ff90aaa0cbfd960ef61089a124ffafae --no-merges --oneline 0f97c920f Roll src/third_party/skia f3f7059cb736..90155edf140b (1 commits) ([flutter/engine#8189](https://github.com/flutter/engine/issues/8189)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 015c0246aebc..4a4f1823eb5b (4 commits) ([#29491](https://github.com/flutter/flutter/issues/29491)) https://github.com/flutter/engine/compare/015c0246aebc...4a4f1823eb5b git log 015c0246aebc6fc23f30004e3319b6d1e85a885a..4a4f1823eb5b3a08b703f0190ab309af8b65f721 --no-merges --oneline 4a4f1823e Roll src/third_party/skia 3d42a0521d12..f3f7059cb736 (6 commits) ([flutter/engine#8188](https://github.com/flutter/engine/issues/8188)) 39fea5502 Roll src/third_party/skia f34d0c79dc6c..3d42a0521d12 (1 commits) ([flutter/engine#8187](https://github.com/flutter/engine/issues/8187)) 926e65531 Roll src/third_party/skia d3cfbcae10eb..f34d0c79dc6c (2 commits) ([flutter/engine#8186](https://github.com/flutter/engine/issues/8186)) 575d61f49 Roll src/third_party/skia 49ea3194535c..d3cfbcae10eb (9 commits) ([flutter/engine#8184](https://github.com/flutter/engine/issues/8184)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|liyuqian <liyuqian@google.com>|Add doc about MediaQuery to Chip ([#29445](https://github.com/flutter/flutter/issues/29445)) Fixes https://github.com/flutter/flutter/issues/21232|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 0e0e0a98f511..015c0246aebc (3 commits) ([#29464](https://github.com/flutter/flutter/issues/29464)) https://github.com/flutter/engine/compare/0e0e0a98f511...015c0246aebc git log 0e0e0a98f5111ebf4032ef25eaf568f19867ecf1..015c0246aebc6fc23f30004e3319b6d1e85a885a --no-merges --oneline 015c0246a Fix log level typo from ERROR to INFO ([flutter/engine#8180](https://github.com/flutter/engine/issues/8180)) c033aa469 Fix include of libzx. ([flutter/engine#8181](https://github.com/flutter/engine/issues/8181)) d92f93730 Add flag to allow only building full sdk on release to speed up bots ([flutter/engine#8080](https://github.com/flutter/engine/issues/8080)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Switch flutter_tools from script to app-jit snapshot. ([#27749](https://github.com/flutter/flutter/issues/27749))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|0e0e0a98f Roll src/third_party/skia 46f5ee156155..49ea3194535c (8 commits) ([flutter/engine#8179](https://github.com/flutter/engine/issues/8179)) ([#29453](https://github.com/flutter/flutter/issues/29453)) https://github.com/flutter/engine/compare/7da45be4a9af...0e0e0a98f511 git log 7da45be4a9afec572ebc110ad52511f5e2dc63e3..0e0e0a98f5111ebf4032ef25eaf568f19867ecf1 --no-merges --oneline 0e0e0a98f Roll src/third_party/skia 46f5ee156155..49ea3194535c (8 commits) ([flutter/engine#8179](https://github.com/flutter/engine/issues/8179)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|fix for sometimes packages file is an APK ([#29456](https://github.com/flutter/flutter/issues/29456))|
+|Jonah Williams <jonahwilliams@google.com>|Improve hot reload performance ([#28152](https://github.com/flutter/flutter/issues/28152))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|7da45be4a Roll src/third_party/skia 69600007e278..46f5ee156155 (8 commits) ([flutter/engine#8178](https://github.com/flutter/engine/issues/8178)) ([#29447](https://github.com/flutter/flutter/issues/29447)) https://github.com/flutter/engine/compare/cad97fe7467c...7da45be4a9af git log cad97fe7467c60de645d47acffd0e00cd83178ab..7da45be4a9afec572ebc110ad52511f5e2dc63e3 --no-merges --oneline 7da45be4a Roll src/third_party/skia 69600007e278..46f5ee156155 (8 commits) ([flutter/engine#8178](https://github.com/flutter/engine/issues/8178)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Shi-Hao Hong <shihaohong94@gmail.com>|add assert if length of TabController and number of tabs do not match ([#29332](https://github.com/flutter/flutter/issues/29332))|
+|Anthony <anthonyrobledo@gmail.com>|Fix Flex class docs by replacing 'vertical space' with 'space on its main axis' so that the language fits both column and row. ([#29057](https://github.com/flutter/flutter/issues/29057))|
+|Kate Lovett <katelovett@google.com>|Sample code for Align class. ref:[#13637](https://github.com/flutter/flutter/issues/13637) ([#29442](https://github.com/flutter/flutter/issues/29442))|
+|Mouad Debbar <mouad.debbar@gmail.com>|Fix text selection when user is dragging in the opposite direction ([#29395](https://github.com/flutter/flutter/issues/29395))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine b36068c3778c..cad97fe7467c (2 commits) ([#29441](https://github.com/flutter/flutter/issues/29441)) https://github.com/flutter/engine/compare/b36068c3778c...cad97fe7467c git log b36068c3778c014ac999ce03412af2690bc713bc..cad97fe7467c60de645d47acffd0e00cd83178ab --no-merges --oneline cad97fe74 Update overlays_gr_context_ correctly ([flutter/engine#8175](https://github.com/flutter/engine/issues/8175)) c0690e6ec Roll src/third_party/skia aefecad7c0d2..69600007e278 (2 commits) ([flutter/engine#8177](https://github.com/flutter/engine/issues/8177)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|liyuqian <liyuqian@google.com>|Add dump-shader-skp flag to flutter tools ([#29258](https://github.com/flutter/flutter/issues/29258)) This is the accompanying change for https://github.com/flutter/engine/pull/8148 and it needs the engine PR to land first. For https://github.com/flutter/flutter/issues/813|
+|xster <xiao@xster.net>|Cupertino localization step 1: add an English arb file ([#29200](https://github.com/flutter/flutter/issues/29200))|
+|liyuqian <liyuqian@google.com>|No shrinking for BackdropFilter's cull rect ([#28174](https://github.com/flutter/flutter/issues/28174)) * No shrinking for BackdropFilter's cull rect This will be a breaking change. Our old behavior may generate confusions for a sample app like our added golden test: Skia will shrink the cull rect (and thus the filtered area) to the text. The new behavior will fill the BackdropFilter to its parent/ancestor clip. This is more in align with our clip behaviors (no clip by default). If this breaks your app, wrap the BackdropFilter with a ClipRect. [wip] The golden images are not uploaded yet. I'll wait for the initial round of review to approve the golden test before uploading them. * Statically define the callback * Add TODO to remind the hacking code removal * Nit fix * Update goldens|
+|Jason Simmons <jason-simmons@users.noreply.github.com>|Use fs.identical to compare paths when finding the engine source path ([#29386](https://github.com/flutter/flutter/issues/29386)) This will handle paths with symlinks that resolve to the same location.|
+|Edman P. Anjos <edmanjos@gmail.com>|Paint backgroundColor in CircularProgressIndicator ([#28004](https://github.com/flutter/flutter/issues/28004))|
+|liyuqian <liyuqian@google.com>|--verbose-logging to verbose-logging in android ([#29383](https://github.com/flutter/flutter/issues/29383)) Sorry that I missed the typo during the review of https://github.com/flutter/flutter/pull/29321|
+|Christian Wenz <christian@wenz.org>|Properly escape Android SDK Manager path in error message ([#29134](https://github.com/flutter/flutter/issues/29134))|
+|Dan Field <dfield@gmail.com>|Update README.md ([#29369](https://github.com/flutter/flutter/issues/29369))|
+|Mike Leonhard <michael@leonhardllc.com>|[cupertino_icons] Add circle and circle_filled, for radio buttons. ([#29407](https://github.com/flutter/flutter/issues/29407))|
+|Efthymis Sarmpanis <e.sarbanis@gmail.com>|Throw assertion error when a Hero has a Hero child. ([#28470](https://github.com/flutter/flutter/issues/28470))|
+|Brian Wilkerson <brianwilkerson@google.com>|Update SDK constraints to reflect the fact that set literals are being used ([#29389](https://github.com/flutter/flutter/issues/29389))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 403337ebb893..b36068c3778c (10 commits) ([#29429](https://github.com/flutter/flutter/issues/29429)) https://github.com/flutter/engine/compare/403337ebb893...b36068c3778c git log 403337ebb893380101d1fa9cc435ce9b6cfeb22c..b36068c3778c014ac999ce03412af2690bc713bc --no-merges --oneline b36068c37 Roll src/third_party/skia 05201fc7e77e..aefecad7c0d2 (5 commits) ([flutter/engine#8176](https://github.com/flutter/engine/issues/8176)) b32d0ab98 Bugfix: Prevent crash when responding to a platform message after FlutterJNI detaches from native ([#28651](https://github.com/flutter/flutter/issues/28651)). ([flutter/engine#8170](https://github.com/flutter/engine/issues/8170)) d9b2f0946 Roll src/third_party/skia 512e38091c85..05201fc7e77e (10 commits) ([flutter/engine#8173](https://github.com/flutter/engine/issues/8173)) 4b01d795f Add frame and target time metadata to vsync events and connect platform vsync events using flows. ([flutter/engine#8172](https://github.com/flutter/engine/issues/8172)) f7a092262 [fuchsia] Remove deprecated libraries from snapshot ([flutter/engine#8085](https://github.com/flutter/engine/issues/8085)) 09db84fad Android Embedding PR 19: Add accessibility to new FlutterView. ([flutter/engine#8109](https://github.com/flutter/engine/issues/8109)) 246f0e3f4 Add an allocator specific check to ensure that strings passed to the timeline are not heap allocated. ([flutter/engine#8168](https://github.com/flutter/engine/issues/8168)) 7a6bb9998 Roll src/third_party/skia feb720f746dc..512e38091c85 (11 commits) ([flutter/engine#8169](https://github.com/flutter/engine/issues/8169)) 5825bdac9 Roll src/third_party/dart 7d560f8385..7418238239 (61 commits) 66fdeb163 Add dump-shader-skp switch to help ShaderWarmUp ([flutter/engine#8148](https://github.com/flutter/engine/issues/8148)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|Disable widget inspector scroll test ([#29403](https://github.com/flutter/flutter/issues/29403))|
+|Dan Field <dfield@gmail.com>|Roll engine to 403337ebb893380101d1fa9cc435ce9b6cfeb22c ([#29377](https://github.com/flutter/flutter/issues/29377)) * Manual engine roll with goldens|
+|Justin McCandless <justinjmccandless@gmail.com>|Text field height attempt 2 ([#29250](https://github.com/flutter/flutter/issues/29250)) Adds the `minLines` and `expands` parameters for controlling text height. The original PR was reverted, so this one contains a few extra fixes for the tests that were broken.|
+|Jonah Williams <jonahwilliams@google.com>|Only run codegen at start of flutter_test ([#29171](https://github.com/flutter/flutter/issues/29171))|
+|Jonah Williams <jonahwilliams@google.com>|Skip Dialog interaction test ([#29385](https://github.com/flutter/flutter/issues/29385))|
+|Jonah Williams <jonahwilliams@google.com>|Revert "Manual engine roll with goldens ([#29363](https://github.com/flutter/flutter/issues/29363))" ([#29374](https://github.com/flutter/flutter/issues/29374)) This reverts commit c2e08913c063dea04f21b3e2db777146862c2f15.|
+|Dan Field <dfield@gmail.com>|Manual engine roll with goldens ([#29363](https://github.com/flutter/flutter/issues/29363))|
+|Shi-Hao Hong <shihaohong94@gmail.com>|Implement labelPadding configuration in TabBarTheme ([#29183](https://github.com/flutter/flutter/issues/29183))|
+|Hans Muller <hansmuller@chromium.org>|Error message when TextSelectionOverlay finds no Overlay ([#29329](https://github.com/flutter/flutter/issues/29329))|
+|Dan Field <dfield@gmail.com>|guard new formatter behind env var ([#29340](https://github.com/flutter/flutter/issues/29340)) * guard new formatter behind env var|
+|rami-a <2364772+rami-a@users.noreply.github.com>|[Material] Fix radio ink ripple to be centered ([#28845](https://github.com/flutter/flutter/issues/28845))|
+|Jonah Williams <jonahwilliams@google.com>|add option for --verbose-system-logs ([#29321](https://github.com/flutter/flutter/issues/29321))|
+|Dan Field <dfield@gmail.com>|Revert "Always composite PhysicalModels ([#28919](https://github.com/flutter/flutter/issues/28919))" ([#29314](https://github.com/flutter/flutter/issues/29314)) This reverts commit 58fb183298643bb0c57acd0b50b2480e9d1d5779.|
+|Gary Qian <garyq@google.com>|Revert "Roll engine 31b289f277c6..b1b388f1c235 (7 commits)", Roll to 8b1a299ed instead. ([#29330](https://github.com/flutter/flutter/issues/29330)) * Revert "Roll engine 31b289f277c6..b1b388f1c235 (7 commits) ([#29323](https://github.com/flutter/flutter/issues/29323))" This reverts commit 58ac12877d756804ad5f33e9f03c627fbde29b35. Also rolls: 8b1a299ed [Skia] Rollback Skia to 29d5dec9a0783a033b921dc483fb98d565d684f6 ([flutter/engine#8151](https://github.com/flutter/engine/issues/8151)) 9f50dae33 Look up ICU symbols based on the path to libflutter.so as a fallback ([flutter/engine#8139](https://github.com/flutter/engine/issues/8139)) 59715b71d Disable build_ios task due to lack of credits. ([flutter/engine#8150](https://github.com/flutter/engine/issues/8150))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 31b289f277c6..b1b388f1c235 (7 commits) ([#29323](https://github.com/flutter/flutter/issues/29323)) * 59715b71d Disable build_ios task due to lack of credits. ([flutter/engine#8150](https://github.com/flutter/engine/issues/8150)) * 9f50dae33 Look up ICU symbols based on the path to libflutter.so as a fallback ([flutter/engine#8139](https://github.com/flutter/engine/issues/8139)) * 8b1a299ed [Skia] Rollback Skia to 29d5dec9a0783a033b921dc483fb98d565d684f6 ([flutter/engine#8151](https://github.com/flutter/engine/issues/8151)) * 8be2aca56 Roll src/third_party/dart 1bd36d694d..674fd0e060 (48 commits) [#8152](https://github.com/flutter/flutter/issues/8152) * 2e427030f Revert "Disable build_ios task due to lack of credits. ([#8150](https://github.com/flutter/flutter/issues/8150))" ([flutter/engine#8153](https://github.com/flutter/engine/issues/8153)) * 2daebebf4 Fix text.dart height docs ([flutter/engine#8079](https://github.com/flutter/engine/issues/8079)) * b1b388f1c Encode scroll motion events in the Android touch processor ([flutter/engine#8149](https://github.com/flutter/engine/issues/8149))|
+|Dan Field <dfield@gmail.com>|Revert "Speculative fix for [#29262](https://github.com/flutter/flutter/issues/29262) ([#29273](https://github.com/flutter/flutter/issues/29273))" ([#29319](https://github.com/flutter/flutter/issues/29319)) This reverts commit 53d45258dc5d30b886ed5f29251d5e7d70bc78e1.|
+|Dan Field <dfield@gmail.com>|Speculative fix for [#29262](https://github.com/flutter/flutter/issues/29262) ([#29273](https://github.com/flutter/flutter/issues/29273)) * Avoid writing to stderr before process has finished streaming|
+|Gary Qian <garyq@google.com>|Expose decorationThickness in TextStyle. Roll engine (12 commits) ([#28751](https://github.com/flutter/flutter/issues/28751)) 31b289f27 Fix indexing error in dart:ui TextStyle.toString ([flutter/engine#8143](https://github.com/flutter/engine/issues/8143)) fc2e6b61c Typo "fast an inline" to "fast and inline" ([flutter/engine#8142](https://github.com/flutter/engine/issues/8142)) 0f19b2de0 Reland PerformanceOverlayLayer golden test ([flutter/engine#8140](https://github.com/flutter/engine/issues/8140)) 073aadde1 Fix TextStyle decode misalignment ([flutter/engine#8141](https://github.com/flutter/engine/issues/8141)) d87d29054 Roll src/third_party/skia 406b068942f0..2eecc3ea3d71 (11 commits) ([flutter/engine#8138](https://github.com/flutter/engine/issues/8138)) 5cef4a022 Use final state passed to dart before initialization as the initial lifecycleState. ([flutter/engine#8124](https://github.com/flutter/engine/issues/8124)) ffef51be6 Roll src/third_party/skia 665bc64a2dc4..406b068942f0 (8 commits) ([flutter/engine#8137](https://github.com/flutter/engine/issues/8137)) 48efd0fb7 Roll src/third_party/skia 762ddd7e4352..665bc64a2dc4 (2 commits) ([flutter/engine#8129](https://github.com/flutter/engine/issues/8129)) f666adbbd Roll src/third_party/skia 2932a458957d..762ddd7e4352 (3 commits) ([flutter/engine#8128](https://github.com/flutter/engine/issues/8128)) 8b0df6ded Bugfix [#29203](https://github.com/flutter/flutter/issues/29203): NPE in getAccessibilityProvider in old FlutterView. ([flutter/engine#8126](https://github.com/flutter/engine/issues/8126)) 8f7b18345 Roll src/third_party/skia c6d8781c4036..2932a458957d (2 commits) ([flutter/engine#8125](https://github.com/flutter/engine/issues/8125)) 52b67fdd5 Expose decorationThickness to dart:ui ([flutter/engine#8008](https://github.com/flutter/engine/issues/8008))|
+|Jonah Williams <jonahwilliams@google.com>|Add skip to group in test_compat ([#29236](https://github.com/flutter/flutter/issues/29236))|
+|sjindel-google <sjindel@google.com>|Fix text selection handles showing outside the visible text region ([#24476](https://github.com/flutter/flutter/issues/24476)) Don't show handles outside the text field's boundary.|
+|Michael Goderbauer <goderbauer@google.com>|Fix DartDoc for UniqueKey ([#29245](https://github.com/flutter/flutter/issues/29245))|
+|Shi-Hao Hong <shihaohong94@gmail.com>|Update README.md|
+|Dan Field <dfield@gmail.com>|Always composite PhysicalModels ([#28919](https://github.com/flutter/flutter/issues/28919)) * Always composite PhysicalModels * Update tests to check layer tree instead of canvas for Physical shadows|
+|Hans Muller <hansmuller@chromium.org>|Update flutter_localizations translations ([#29247](https://github.com/flutter/flutter/issues/29247))|
+|guoskyhero <guojiex@users.noreply.github.com>|Document that SearchDelegate.buildResults can be called multiple time… ([#26785](https://github.com/flutter/flutter/issues/26785))|
+|Sean D'Souza <38793207+seendsouza@users.noreply.github.com>|Docs edit for Tab Label Color ([#29165](https://github.com/flutter/flutter/issues/29165))|
+|liyuqian <liyuqian@google.com>|No image shader caching in default shader warm-up ([#29179](https://github.com/flutter/flutter/issues/29179)) * No image shader caching in default shader warm-up It turns out that no matter how small the image is, too much memory will be used. Hence remove the image shader caching and let the client implement itself based on needs. Fixes https://github.com/flutter/flutter/issues/29172 * Fix|
+|Fedor Korotkov <fedor.korotkov@gmail.com>|Install JDK and Android SDK only for integration tests ([#29229](https://github.com/flutter/flutter/issues/29229)) * Install JDK and Android SDK only for integration and build tests|
+|Hans Muller <hansmuller@chromium.org>|Ensure that animated pairs of Tabs TextStyles have matching inherited values ([#29175](https://github.com/flutter/flutter/issues/29175))|
+|Michael Goderbauer <goderbauer@google.com>|Heroes and nested Navigators ([#29069](https://github.com/flutter/flutter/issues/29069))|
+|Hans Muller <hansmuller@chromium.org>|MaterialButton shape should override ButtonTheme shape ([#29189](https://github.com/flutter/flutter/issues/29189))|
+|Kate Lovett <katelovett@google.com>|Update to ListView Sample Code in API Docs ([#29072](https://github.com/flutter/flutter/issues/29072)) * Updated ListView Sample code with more examples for different constructors and also to match asset diagrams. * Fixed MIA semicolons. * Code cleanup. * Added context for ListView.builder example. * Analyzer does not like const and static usages. * Replaced the const declarations with final. The analyzer does not like the use of const here, at all. * Fixed parameterized declarations.|
+|Michael Goderbauer <goderbauer@google.com>|Include platformViewId in semantics tree ([#28953](https://github.com/flutter/flutter/issues/28953))|
+|Danny Tuppeny <danny@tuppeny.com>|Add a `flutter create --list-samples` command ([#28938](https://github.com/flutter/flutter/issues/28938)) * Add a `flutter create --list-samples` command * Add some comments/docs * Tweak text|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 56d8634c51ff..5ccee9537334 (4 commits) ([#29198](https://github.com/flutter/flutter/issues/29198)) https://github.com/flutter/engine/compare/56d8634c51ff...5ccee9537334 git log 56d8634c51ff50534b1853b71205eff861131dcf..5ccee95373348854bc4877cfe240024a36847d2d --no-merges --oneline 5ccee9537 Roll src/third_party/skia e9c1ce89c005..c6d8781c4036 (29 commits) ([flutter/engine#8123](https://github.com/flutter/engine/issues/8123)) 20165b314 Integrated AndroidTouchProcessor within the old FlutterView ([flutter/engine#8095](https://github.com/flutter/engine/issues/8095)) bc901324f Revert &[#34](https://github.com/flutter/flutter/issues/34);Add support for trace counters with variable arguments and instrument the raster cache. ([#8094](https://github.com/flutter/flutter/issues/8094))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8122](https://github.com/flutter/engine/issues/8122)) 2a0d35428 Add support for trace counters with variable arguments and instrument the raster cache. ([flutter/engine#8094](https://github.com/flutter/engine/issues/8094)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine a71609f0695c..56d8634c51ff (2 commits) ([#29185](https://github.com/flutter/flutter/issues/29185)) https://github.com/flutter/engine/compare/a71609f0695c...56d8634c51ff git log a71609f0695c2977ac96b7a79e67e24767abfda2..56d8634c51ff50534b1853b71205eff861131dcf --no-merges --oneline 56d8634c5 Improve shadow doc in PhysicalShapeLayer ([flutter/engine#8114](https://github.com/flutter/engine/issues/8114)) bd0f9085e Adds a platfromViewId to SemanticsNode ([flutter/engine#8055](https://github.com/flutter/engine/issues/8055)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|Dwayne Slater <ds84182@gmail.com>|Fix MouseTracker annotation leak ([#28990](https://github.com/flutter/flutter/issues/28990)) * Fix MouseTracker annotation leak Map's remove method is typed `remove(Object key)`, which can cause bugs. Modified the existing test to check if the annotation has been removed from MouseTracker.|
+|Michael Goderbauer <goderbauer@google.com>|Deprecate profile() ([#29054](https://github.com/flutter/flutter/issues/29054))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 0d2cf5857b2b..a71609f0695c (3 commits) ([#29166](https://github.com/flutter/flutter/issues/29166)) https://github.com/flutter/engine/compare/0d2cf5857b2b...a71609f0695c git log 0d2cf5857b2be0949435f60c0188f1aed4d93c93..a71609f0695c2977ac96b7a79e67e24767abfda2 --no-merges --oneline a71609f06 Roll src/third_party/skia bd050b90f8c7..e9c1ce89c005 (8 commits) ([flutter/engine#8113](https://github.com/flutter/engine/issues/8113)) 35e3b2b86 Roll src/third_party/skia 92ae09900456..bd050b90f8c7 (7 commits) ([flutter/engine#8111](https://github.com/flutter/engine/issues/8111)) 04fe0078f Roll src/third_party/dart 2fb6cd9f5f..674fd0e060 (58 commits) ([flutter/engine#8110](https://github.com/flutter/engine/issues/8110)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|Aawaz Gyawali <awazgyawali@gmail.com>|Changed flutter.dev to flutter.io on each link. ([#28888](https://github.com/flutter/flutter/issues/28888))|
+|stuartmorgan <stuart.morgan@gmail.com>|Add support for scrollwheels ([#22762](https://github.com/flutter/flutter/issues/22762)) Adds support for discrete scroll events, such as those sent by a scroll wheel. Includes the plumbing to convert, dispatch, and handle these events, as well as Scrollable support for consuming them.|
+|Paul Berry <stereotype441@gmail.com>|Cause `flutter analyze` to fail if the analysis server experienced an error. ([#29126](https://github.com/flutter/flutter/issues/29126)) Substantially reduces the danger that a bug in the analysis server might prevent errors from being detected by `flutter analyze`.|
+|Hiroki Matsue <hiroki.matsue@gmail.com>|Fix typo in RefreshIndicator constructor API doc|
+|Kate Lovett <katelovett@google.com>|Update to Container Sample Code in API Docs ([#29053](https://github.com/flutter/flutter/issues/29053)) * Updating sample code for container to match forthcoming diagrams in assets-for-api-docs. * Analyzer unhappy with Colors, fixing. * Resolving push conflict (hopefully) * Analyzer fix. * Corrected color to match brand gallery * Fixing wrap and indentation.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 14d1584a2262..0d2cf5857b2b (2 commits) ([#29132](https://github.com/flutter/flutter/issues/29132)) https://github.com/flutter/engine/compare/14d1584a2262...0d2cf5857b2b git log 14d1584a22627e9a1eefc0e5f3de78caffcde09e..0d2cf5857b2be0949435f60c0188f1aed4d93c93 --no-merges --oneline 0d2cf5857 Fix the Windows build ([flutter/engine#8106](https://github.com/flutter/engine/issues/8106)) a28b53007 Log non-kSuccess returns from embedder API calls. ([flutter/engine#8096](https://github.com/flutter/engine/issues/8096)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|Dan Field <dfield@gmail.com>|Make sure test reporter prints out stderr, and disables Bigquery for non-contributors ([#29073](https://github.com/flutter/flutter/issues/29073)) * print stderr to stderr, no bq if not contributor * let test continue of bigquery fails|
+|Dan Field <dfield@gmail.com>|Update .cirrus.yml ([#29129](https://github.com/flutter/flutter/issues/29129)) I inadvertently commented this out in my previous PR around this.|
+|Dan Field <dfield@gmail.com>|Run non-perf sensitive tests on Cirrus ([#27971](https://github.com/flutter/flutter/issues/27971)) * Run non-perf sensisitive tests on Cirrus|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|14d1584a2 Roll src/third_party/skia 29d5dec9a078..92ae09900456 (1 commits) ([flutter/engine#8104](https://github.com/flutter/engine/issues/8104)) ([#29120](https://github.com/flutter/flutter/issues/29120)) https://github.com/flutter/engine/compare/4e54bc93ca9a...14d1584a2262 git log 4e54bc93ca9aaf2156fb06266c9fe509e8599a5f..14d1584a22627e9a1eefc0e5f3de78caffcde09e --no-merges --oneline 14d1584a2 Roll src/third_party/skia 29d5dec9a078..92ae09900456 (1 commits) ([flutter/engine#8104](https://github.com/flutter/engine/issues/8104)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|4e54bc93c Guard initialization of touch exploration listener ([flutter/engine#8103](https://github.com/flutter/engine/issues/8103)) ([#29117](https://github.com/flutter/flutter/issues/29117)) https://github.com/flutter/engine/compare/9e8f8d0889ec...4e54bc93ca9a git log 9e8f8d0889ec04b54def0bf917321a27006623b0..4e54bc93ca9aaf2156fb06266c9fe509e8599a5f --no-merges --oneline 4e54bc93c Guard initialization of touch exploration listener ([flutter/engine#8103](https://github.com/flutter/engine/issues/8103)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|9e8f8d088 Drop android_sdk_downloader in favor of cipd ([flutter/engine#8087](https://github.com/flutter/engine/issues/8087)) ([#29115](https://github.com/flutter/flutter/issues/29115)) https://github.com/flutter/engine/compare/21342863aa60...9e8f8d0889ec git log 21342863aa6018af53c09af2a3e7aa432a6cc844..9e8f8d0889ec04b54def0bf917321a27006623b0 --no-merges --oneline 9e8f8d088 Drop android_sdk_downloader in favor of cipd ([flutter/engine#8087](https://github.com/flutter/engine/issues/8087)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|21342863a Do not cache gclient sync ([flutter/engine#8098](https://github.com/flutter/engine/issues/8098)) ([#29111](https://github.com/flutter/flutter/issues/29111)) https://github.com/flutter/engine/compare/dc216bdcf0b3...21342863aa60 git log dc216bdcf0b3fbdf5a6ed2ccffa0e33f82c927c1..21342863aa6018af53c09af2a3e7aa432a6cc844 --no-merges --oneline 21342863a Do not cache gclient sync ([flutter/engine#8098](https://github.com/flutter/engine/issues/8098)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|dc216bdcf Fix typo ([flutter/engine#8102](https://github.com/flutter/engine/issues/8102)) ([#29107](https://github.com/flutter/flutter/issues/29107)) https://github.com/flutter/engine/compare/124fb1a054cd...dc216bdcf0b3 git log 124fb1a054cdb9d4338b4b7602e795699dbc0108..dc216bdcf0b3fbdf5a6ed2ccffa0e33f82c927c1 --no-merges --oneline dc216bdcf Fix typo ([flutter/engine#8102](https://github.com/flutter/engine/issues/8102)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine e77337bb1c74..124fb1a054cd (2 commits) ([#29104](https://github.com/flutter/flutter/issues/29104)) https://github.com/flutter/engine/compare/e77337bb1c74...124fb1a054cd git log e77337bb1c74bf0595513cc71072b717f8977251..124fb1a054cdb9d4338b4b7602e795699dbc0108 --no-merges --oneline 124fb1a05 Roll src/third_party/skia b45e5f1e810a..29d5dec9a078 (1 commits) ([flutter/engine#8101](https://github.com/flutter/engine/issues/8101)) 76ad08e7d Roll src/third_party/skia a009d582e812..b45e5f1e810a (2 commits) ([flutter/engine#8100](https://github.com/flutter/engine/issues/8100)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|e77337bb1 Use right stream for Java, on mac try to autoselect Java 1.8 ([flutter/engine#8099](https://github.com/flutter/engine/issues/8099)) ([#29094](https://github.com/flutter/flutter/issues/29094)) https://github.com/flutter/engine/compare/a63ff4632728...e77337bb1c74 git log a63ff4632728c6386977dac95699021ee6018449..e77337bb1c74bf0595513cc71072b717f8977251 --no-merges --oneline e77337bb1 Use right stream for Java, on mac try to autoselect Java 1.8 ([flutter/engine#8099](https://github.com/flutter/engine/issues/8099)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 03d5f3c2d1e0..a63ff4632728 (2 commits) ([#29091](https://github.com/flutter/flutter/issues/29091)) https://github.com/flutter/engine/compare/03d5f3c2d1e0...a63ff4632728 git log 03d5f3c2d1e06e3949232d01233224fe18c196fb..a63ff4632728c6386977dac95699021ee6018449 --no-merges --oneline a63ff4632 Android linter prints to the console by default ([flutter/engine#8090](https://github.com/flutter/engine/issues/8090)) 24d990294 Roll src/third_party/skia bea1f94f341e..a009d582e812 (18 commits) ([flutter/engine#8097](https://github.com/flutter/engine/issues/8097)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Revert "Fix TextField height issues ([#27205](https://github.com/flutter/flutter/issues/27205))" ([#29093](https://github.com/flutter/flutter/issues/29093)) This reverts commit 9e9f48dabb8423a6285bddfb21e69f0751060459.|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|fix block formatting ([#29051](https://github.com/flutter/flutter/issues/29051))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine c48774cfe09b..03d5f3c2d1e0 (3 commits) ([#29082](https://github.com/flutter/flutter/issues/29082)) https://github.com/flutter/engine/compare/c48774cfe09b...03d5f3c2d1e0 git log c48774cfe09b7f286defb9e457a74c7e7028e11c..03d5f3c2d1e06e3949232d01233224fe18c196fb --no-merges --oneline 03d5f3c2d Clarify arguments to FlutterEngineOnVsync ([flutter/engine#8093](https://github.com/flutter/engine/issues/8093)) 718329ce6 Android Embedding PR 17: Clarify AccessibilityBridge and move logic out of FlutterView. ([flutter/engine#8061](https://github.com/flutter/engine/issues/8061)) edfc0cfaa Android Embedding PR 16: Add touch support to FlutterView. ([flutter/engine#8034](https://github.com/flutter/engine/issues/8034)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|fix windows codegen ([#29062](https://github.com/flutter/flutter/issues/29062))|
+|Ian Hickson <ian@hixie.ch>|Support hotfix version numbers ([#28672](https://github.com/flutter/flutter/issues/28672))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 87edd94e9cc7..c48774cfe09b (3 commits) ([#29079](https://github.com/flutter/flutter/issues/29079)) https://github.com/flutter/engine/compare/87edd94e9cc7...c48774cfe09b git log 87edd94e9cc751a0de72c0828d41793b9f740062..c48774cfe09b7f286defb9e457a74c7e7028e11c --no-merges --oneline c48774cfe Roll src/third_party/dart 571ea80e11..2fb6cd9f5f (122 commits) ([flutter/engine#8086](https://github.com/flutter/engine/issues/8086)) 3c8ef04e9 Allow embedders to post tasks onto the render thread. ([flutter/engine#8089](https://github.com/flutter/engine/issues/8089)) 1d10e0eb6 Guard against NewAPI failures ([flutter/engine#8048](https://github.com/flutter/engine/issues/8048)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 60314077846c..87edd94e9cc7 (4 commits) ([#29067](https://github.com/flutter/flutter/issues/29067)) https://github.com/flutter/engine/compare/60314077846c...87edd94e9cc7 git log 60314077846c123f45c5aaef911c5ea48343d569..87edd94e9cc751a0de72c0828d41793b9f740062 --no-merges --oneline 87edd94e9 Add read-only persistent cache ([flutter/engine#8049](https://github.com/flutter/engine/issues/8049)) 4c9404950 Move android_sdk_downloader so I can more easily deprecate it ([flutter/engine#8084](https://github.com/flutter/engine/issues/8084)) 7cbd9d8b4 Roll src/third_party/skia 3d1b941f3a7d..bea1f94f341e (7 commits) ([flutter/engine#8083](https://github.com/flutter/engine/issues/8083)) 260669c65 Fix deleting text when the last character is some special characters on IOS ([flutter/engine#7982](https://github.com/flutter/engine/issues/7982)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|Terje Lønøy <tlonoy@gmail.com>|Add key support to cupertino button ([#28900](https://github.com/flutter/flutter/issues/28900))|
+|xster <xiao@xster.net>|Fix CupertinoTabView tree re-shape on view inset change ([#29024](https://github.com/flutter/flutter/issues/29024))|
+|Dan Field <dfield@gmail.com>|add heartbeat ([#29056](https://github.com/flutter/flutter/issues/29056))|
+|Yuqian Li <liyuqian@google.com>|Update docs|
+|Jonah Williams <jonahwilliams@google.com>|Revert "Lazily download artifacts (III) ([#27903](https://github.com/flutter/flutter/issues/27903))" ([#29064](https://github.com/flutter/flutter/issues/29064)) This reverts commit 3fd36200d9b89322d75c1b6bad37b3ad7f665b81.|
+|Jonah Williams <jonahwilliams@google.com>|Lazily download artifacts (III) ([#27903](https://github.com/flutter/flutter/issues/27903))|
+|Jonah Williams <jonahwilliams@google.com>|Add integration to all targets ([#29020](https://github.com/flutter/flutter/issues/29020))|
+|Justin McCandless <justinjmccandless@gmail.com>|Fix TextField height issues ([#27205](https://github.com/flutter/flutter/issues/27205)) * Create new TextField attribute to control maxLength behaviour * Create test case for maxLinesIncrementalHeight * fix maxLinesIncrementalHeight set method * fix editable_test.dart * Just introducing some proposed API additions, renaming to expands * Pass minLines and expands through to child widgets and validate * minLines can't be null, and expands can't be true when maxLines is 1 * Implement minLines and maxLines height sizing logic * Simplify minLines validation logic * expands parameter proof of concept * min/max mixup bug fix, and tests work with expands false * Test expands=true cases, and fix textPainter.height being out of date * Test all behavior matrix cases * min/max assertion more strict, can't be equal * Tests work that were missing expands serialization * Action sheet tests no longer fail due to rounding error * TextFieldFocus test no longer mysteriously fails * TODOs for making expands nullable. Will depend on how Expanded wrapping works * Expanded growth happens when expanded is true and maxLines is null * Test Expanded wrapper * No more overflow when wrapped in Expanded * Docs improvements * expands can be null * Simplify error cases to support existing behavior * Docs examples and other docs cleanup * Expansion up to perfectly meet the parent size * Fix analyze null error * Fix test after move to nullable expands * minLines defaults to null * expands is now exclusively for expanding to parent height and not growth between min and max * _layout rewritten to handle max height. Need to fix prefix tests and reenable expands * Tests for textfield overflowing parent * layoutLineBox is documented and private * expands works in new _layout * _layout return numbers seem to perfectly match original _layout * inputWidth comment after trying it out and failing tests * Fix analyze errors * WIP prefix/suffix do affect height * Prefix/suffix and icons affect height, tests pass, but I'm still visually verifying identical to original * Tall prefix test that verifies pixel perfect layout * Fix overflowing edge case and test it * Clean up comments, old code, and todos * Changing _expands causes relayout. Wasnt able to figure out how to test though... * Clean up code review comments * Fix misalignment when tall prefix and border, and clean up related test * Simple code review cleanup * Bring back inputWidth to _layout method * Fix rounding errors showing up in mac tests * Fix flake by reordering tests. Without this, the dreaded intrinsicwidth flake is reproducible 50% of the time on my machine. * Fix more rounding error mac tests|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Remove references to obsolete SemanticsSortOrder ([#29012](https://github.com/flutter/flutter/issues/29012)) This removes references to SemanticsSortOrder, which was removed a long time ago.|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Add/rewrite tests for FocusScope. ([#28169](https://github.com/flutter/flutter/issues/28169)) In anticipation of changing a lot of the focus code, I'm adding some tests for the FocusScope. As a result, I was able to find and fix a bug where there was an incorrect assert. I also added some more documentation. Several of the tests enforce what I think is incorrect behavior related to passing focus off when the widget tree gets rebuilt without focus nodes that were previously there, but I'm not going to change that behavior in this PR. I also renamed focus_test.dart to focus_scope_test.dart to be more in line with our naming conventions.|
+|Dan Field <dfield@gmail.com>|update readme for LUCI ([#29023](https://github.com/flutter/flutter/issues/29023)) * update readme for LUCI * Update README.md|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine a48cd16e0777..60314077846c (2 commits) ([#29049](https://github.com/flutter/flutter/issues/29049)) https://github.com/flutter/engine/compare/a48cd16e0777...60314077846c git log a48cd16e077778a7aa5908e4faa4da07714260f2..60314077846c123f45c5aaef911c5ea48343d569 --no-merges --oneline 603140778 Roll src/third_party/skia 88b8d1124b72..3d1b941f3a7d (27 commits) ([flutter/engine#8082](https://github.com/flutter/engine/issues/8082)) 95ef58cf4 Add script to help generate PR messages ([flutter/engine#8074](https://github.com/flutter/engine/issues/8074)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|Dan Field <dfield@gmail.com>|print system time on all mac builds ([#29025](https://github.com/flutter/flutter/issues/29025))|
+|Jonah Williams <jonahwilliams@google.com>|Revert "re-enable dart2js test ([#29010](https://github.com/flutter/flutter/issues/29010))" ([#29030](https://github.com/flutter/flutter/issues/29030)) This reverts commit 6a7f231d89156272a5317141f1cde64fae93c9b4.|
+|Jonah Williams <jonahwilliams@google.com>|re-enable dart2js test ([#29010](https://github.com/flutter/flutter/issues/29010))|
+|Gary Qian <garyq@google.com>|Initialize the lifecycle state with initial state in window. Roll engine (19 commits) ([#28688](https://github.com/flutter/flutter/issues/28688)) git log --oneline --no-merges f4951df193a7966f9ed4da43d555eee0913d84d1..a48cd16e077778a7aa5908e4faa4da07714260f2 a48cd16e0 Update a11y word forward/back enum names (https://github.com/flutter/engine/pull/8073) b5f59ed89 Delay the vsync callback till the frame start time specified by embedder. (https://github.com/flutter/engine/pull/8072) 7426305f5 Mark const extern (https://github.com/flutter/engine/pull/8077) d3f6d7a21 only partial rule revert (https://github.com/flutter/engine/pull/8078) d71bfe58d Only build a full Dart SDK when building for the host system (https://github.com/flutter/engine/pull/8071) de90dbff7 Refactor web configuration/ Add dartdevc (https://github.com/flutter/engine/pull/7978) ff46dd38f Roll src/third_party/skia 4c1ea43a79b5..88b8d1124b72 (8 commits) (https://github.com/flutter/engine/pull/8070) 80c6dd286 Roll src/third_party/skia 692122e3ef23..4c1ea43a79b5 (3 commits) (https://github.com/flutter/engine/pull/8069) 68ed654ea Roll src/third_party/skia 3c957d575c58..692122e3ef23 (6 commits) (https://github.com/flutter/engine/pull/8067) ca0bac4fb Revert "add signal to pointer kinds" (https://github.com/flutter/engine/pull/8066) 3fb627f2c add signal to pointer kinds (https://github.com/flutter/engine/pull/8065) 5a06afa2a Roll src/third_party/skia 801a9c16d81e..3c957d575c58 (19 commits) (https://github.com/flutter/engine/pull/8063) a93d99db9 A11y callback (https://github.com/flutter/engine/pull/8005) 3661d5e43 Re-land "Buffer lifecycle in WindowData" (https://github.com/flutter/engine/pull/8032) 471a2c89a Send scroll events from the macOS shell (https://github.com/flutter/engine/pull/8056) 2fe9c9b5f Roll src/third_party/skia 72542816cadb..801a9c16d81e (46 commits) (https://github.com/flutter/engine/pull/8060) 3335764ae Skip skp files in license check (https://github.com/flutter/engine/pull/8050) 7f16789b2 Remove redundant thread checker in FML. (https://github.com/flutter/engine/pull/8053) 840c5233a Correct URL for Cirrus CI build status badge (https://github.com/flutter/engine/pull/8054) 57c120a29 remove extra source files (https://github.com/flutter/engine/pull/8052) 4773375c6 Used named conditionals for platform specific dependencies and suppress Android and Windows hooks on Mac. (https://github.com/flutter/engine/pull/8051) 70a18b515 Add clang static analysis support to gn wrapper (https://github.com/flutter/engine/pull/8047) b30f9897b Improve elevation bounds for physical shape layers (https://github.com/flutter/engine/pull/8044) e37bd27b4 Fix weak pointer use violations in shell and platform view. (https://github.com/flutter/engine/pull/8046) dd80fc9ff Add engine support for scrollwheel events (https://github.com/flutter/engine/pull/7494)|
+|Dan Field <dfield@gmail.com>|make coverage work again ([#29016](https://github.com/flutter/flutter/issues/29016))|
+|Jonah Williams <jonahwilliams@google.com>|Remove extra build_runner modes, remove flutter_build ([#28873](https://github.com/flutter/flutter/issues/28873))|
+|Kate Lovett <katelovett@google.com>|Form Snippet for API Docs ([#28857](https://github.com/flutter/flutter/issues/28857)) * Added code snippet for Form Class. ref:[#21136](https://github.com/flutter/flutter/issues/21136) * Formatting adjustments. * Changed wording related to GlobalKey.|
+|xster <xiao@xster.net>|Add more doc pointing to the EditableText's rudimentary nature around gesture handling ([#28955](https://github.com/flutter/flutter/issues/28955))|
+|liyuqian <liyuqian@google.com>|Quick fix for shader warm up ([#28951](https://github.com/flutter/flutter/issues/28951)) Fix issues in https://github.com/flutter/flutter/pull/28687|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|Fix indentations of statements in BlockFunctionBody ([#28933](https://github.com/flutter/flutter/issues/28933)) * fix indentof statements in BlockFunctionBody * fix indentof statements in BlockFunctionBody in tests|
+|Dan Field <dfield@gmail.com>|Fix coverage shard and print summary after test run ([#28970](https://github.com/flutter/flutter/issues/28970)) * Fix coverage shard * clarify * Make sure we print test results * Actually report test results before exiting * revert unintended changes|
+|Jonah Williams <jonahwilliams@google.com>|select ResidentCompiler during FlutterDevice initialization ([#28603](https://github.com/flutter/flutter/issues/28603))|
+|Dan Field <dfield@gmail.com>|Fall-back to platform tools in Android SDK detection logic. ([#28863](https://github.com/flutter/flutter/issues/28863))|
+|Jonah Williams <jonahwilliams@google.com>|Revert "Roll engine f4951df193a7..471a2c89a689 (11 commits) ([#28966](https://github.com/flutter/flutter/issues/28966))" ([#28975](https://github.com/flutter/flutter/issues/28975)) This reverts commit 1b14339e6ab1365dd8c3104f70cf40bc45f48586.|
+|Tong Mu <dkwingsmt@users.noreply.github.com>|Add minimum time gap requirement to double tap ([#28749](https://github.com/flutter/flutter/issues/28749)) * First impl with StopwatchWithZone * Clean up params and name * Remove outdated TODO * Fix style * Fix a missing param. Add @require * Fix import meta * Fix code style * Add missing require. Fix comment style. * Fix code style * Fix code style|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine f4951df193a7..471a2c89a689 (11 commits) ([#28966](https://github.com/flutter/flutter/issues/28966)) https://github.com/flutter/engine/compare/f4951df193a7...471a2c89a689 git log f4951df193a7966f9ed4da43d555eee0913d84d1..471a2c89a689ff1d5c70a5deb4565f646380bce6 --no-merges --oneline 471a2c89a Send scroll events from the macOS shell ([flutter/engine#8056](https://github.com/flutter/engine/issues/8056)) 2fe9c9b5f Roll src/third_party/skia 72542816cadb..801a9c16d81e (46 commits) ([flutter/engine#8060](https://github.com/flutter/engine/issues/8060)) 3335764ae Skip skp files in license check ([flutter/engine#8050](https://github.com/flutter/engine/issues/8050)) 7f16789b2 Remove redundant thread checker in FML. ([flutter/engine#8053](https://github.com/flutter/engine/issues/8053)) 840c5233a Correct URL for Cirrus CI build status badge ([flutter/engine#8054](https://github.com/flutter/engine/issues/8054)) 57c120a29 remove extra source files ([flutter/engine#8052](https://github.com/flutter/engine/issues/8052)) 4773375c6 Used named conditionals for platform specific dependencies and suppress Android and Windows hooks on Mac. ([flutter/engine#8051](https://github.com/flutter/engine/issues/8051)) 70a18b515 Add clang static analysis support to gn wrapper ([flutter/engine#8047](https://github.com/flutter/engine/issues/8047)) b30f9897b Improve elevation bounds for physical shape layers ([flutter/engine#8044](https://github.com/flutter/engine/issues/8044)) e37bd27b4 Fix weak pointer use violations in shell and platform view. ([flutter/engine#8046](https://github.com/flutter/engine/issues/8046)) dd80fc9ff Add engine support for scrollwheel events ([flutter/engine#7494](https://github.com/flutter/engine/issues/7494)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (mklim@google.com), and stop the roller if necessary.|
+|xster <xiao@xster.net>|Move material iOS back swipe test to material ([#28855](https://github.com/flutter/flutter/issues/28855))|
+|Muhammed Salih Guler <gueler@karlmax-berlin.com>|Add semantics label to FadeInImage. ([#28799](https://github.com/flutter/flutter/issues/28799))|
+|TruongSinh Tran-Nguyen <i@truongsinh.pro>|fix [#19175](https://github.com/flutter/flutter/issues/19175) How should addTime be used from a test? ([#25202](https://github.com/flutter/flutter/issues/25202))|
+|Ivan <boytheprodigy@gmail.com>|fix missing variable name ([#28944](https://github.com/flutter/flutter/issues/28944))|
+|Jonah Williams <jonahwilliams@google.com>|Add build script invalidation and snapshotting logic ([#28866](https://github.com/flutter/flutter/issues/28866))|
+|Dan Field <dfield@gmail.com>|Fix for post submit on cirrus ([#28963](https://github.com/flutter/flutter/issues/28963)) * Fix for post submit on cirrus|
+|Dan Field <dfield@gmail.com>|Test reporter ([#28297](https://github.com/flutter/flutter/issues/28297)) * Wrap test.main with a custom processor * Report test results to bigquery table|
+|Jason Simmons <jason-simmons@users.noreply.github.com>|Remove the flutter_shared assets directory from the Gradle script ([#27572](https://github.com/flutter/flutter/issues/27572)) flutter_shared was used to package the icudtl.dat file, but that data is now embedded inside libflutter.so|
+|Phil Quitslund <pq@users.noreply.github.com>|set literal conversions ([#27811](https://github.com/flutter/flutter/issues/27811))|
+|Dan Field <dfield@gmail.com>|Update docs for ancestorWidgetOfExactType ([#28675](https://github.com/flutter/flutter/issues/28675)) * doc update|
+|Reece Dunham <me@rdil.rocks>|Update macOS version in tests ([#28852](https://github.com/flutter/flutter/issues/28852)) This switches the Cirrus macOS images to use Mojave, since Cirrus has deprecated the High Sierra images.|
+|Chris Bracken <chris@bracken.jp>|Fix crash on flutter update-packages ([#28922](https://github.com/flutter/flutter/issues/28922)) When running git update-packages, if the goldens repo is dirty, the flutter tool currently crashes and logs the failure from git pull. This adds a check for a dirty git client and emits a friendlier error message in the case where it's not clean, and avoid the crash by catching the NonZeroExitCode exception and rethrowing as toolExit instead. Fixes: https://github.com/flutter/flutter/issues/28915|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|fix some formatting issues ([#28809](https://github.com/flutter/flutter/issues/28809)) * fix some formatting issues * address review comments * fix indent|
+|Chris Bracken <chris@bracken.jp>|Roll engine 4f54a1d...2e97618 ([#28899](https://github.com/flutter/flutter/issues/28899)) flutter/engine@f4951df19 (upstream/master) Minor cleanups to CONTRIBUTING.md ([flutter/engine#8043](https://github.com/flutter/engine/issues/8043)) flutter/engine@effee2f80 remove extra statement ([flutter/engine#8041](https://github.com/flutter/engine/issues/8041)) flutter/engine@14e082fa0 (master) add lint script for Android with baseline ([flutter/engine#8036](https://github.com/flutter/engine/issues/8036)) flutter/engine@5fed42197 Roll src/third_party/skia 25bc174cf682..72542816cadb (14 commits) ([flutter/engine#8040](https://github.com/flutter/engine/issues/8040)) flutter/engine@e6a5201f0 Add missing values to semantics action enums ([flutter/engine#8033](https://github.com/flutter/engine/issues/8033)) flutter/engine@75d4db31d Roll src/third_party/skia fbc887df72ec..25bc174cf682 (7 commits) ([flutter/engine#8039](https://github.com/flutter/engine/issues/8039)) flutter/engine@c46226980 Roll src/third_party/skia 0a57971f0544..fbc887df72ec (1 commits) ([flutter/engine#8037](https://github.com/flutter/engine/issues/8037)) flutter/engine@ed628da00 Add missing kHasImplicitScrolling enum value ([flutter/engine#8030](https://github.com/flutter/engine/issues/8030)) flutter/engine@052774e1c Roll src/third_party/skia e3e80b7edfd1..0a57971f0544 (16 commits) ([flutter/engine#8035](https://github.com/flutter/engine/issues/8035)) flutter/engine@2cd9b41ba Select MPL instead of LGPL ([flutter/engine#7991](https://github.com/flutter/engine/issues/7991)) flutter/engine@629c0d836 Roll src/third_party/dart 7d8ffe0daf..571ea80e11 (3 commits) flutter/engine@8f1fdcd19 Android Embedding PR 14: Almost done with FlutterFragment. ([flutter/engine#8000](https://github.com/flutter/engine/issues/8000)) flutter/engine@fb3e35d6a Android Embedding PR15: Add Viewport Metrics to FlutterView ([flutter/engine#8029](https://github.com/flutter/engine/issues/8029)) flutter/engine@36ca5740c ([flutter/engine#8026](https://github.com/flutter/engine/issues/8026)) flutter/engine@3d53e2026 Roll src/third_party/skia 5800f2e8a920..e3e80b7edfd1 (2 commits) ([flutter/engine#8028](https://github.com/flutter/engine/issues/8028)) flutter/engine@f3d4a7f71 Roll src/third_party/dart 7c70ab1817..7d8ffe0daf (77 commits) flutter/engine@a2246c199 Start of linting Android embedding ([flutter/engine#8023](https://github.com/flutter/engine/issues/8023)) flutter/engine@48bf4803e [fuchsia] Fix snapshot BUILD.gn file for Fuchsia roll ([flutter/engine#8024](https://github.com/flutter/engine/issues/8024))|
+|Amir Hardon <amirh@users.noreply.github.com>|Make RenderUiKitView reject absorbed touch events ([#28666](https://github.com/flutter/flutter/issues/28666)) When a touch event that is in the bounds of a RenderUiKitView is absorbed by another render object, the RenderUiKitView's handleEvent is not called for that object. On the platform side, the touch event hits the FlutterTouchInterceptingView which is waiting for a framework decision that never arrived on whether to reject or accept the gesture. This change fixes the issue by having RenderUiKitView register a global PointerRoute, that is used to reject absorbed touch events.|
+|Kate Lovett <katelovett@google.com>|FAB Snippet for API Docs ([#28752](https://github.com/flutter/flutter/issues/28752)) * Added code snippets for FloatingActionButton Class. ref:[#21136](https://github.com/flutter/flutter/issues/21136) * Extraneous white spaces. Co-Authored-By: Piinks <katelovett@google.com> * Alignment correction. * The analyze result wasn't showing on github interface. Checked through Cirrus and it's all-green. Co-Authored-By: Piinks <katelovett@google.com>|
+|Hans Muller <hansmuller@chromium.org>|Handle Cupertino back gesture interrupted by Navigator push ([#28756](https://github.com/flutter/flutter/issues/28756))|
+|Jason Simmons <jason-simmons@users.noreply.github.com>|Use a simpler implementation of Diagnosticable.toString when running in profile/release mode ([#28661](https://github.com/flutter/flutter/issues/28661)) Diagnosticable.toString may be called in performance sensitive contexts (for example, creating debug labels for Tickers)|
+|Jason Simmons <jason-simmons@users.noreply.github.com>|Avoid the overhead of instantiating a generator in paintImage ([#28736](https://github.com/flutter/flutter/issues/28736)) This function is called frequently with non-repeating images during many animations|
+|Joshua Seaton <josh.a.seaton@gmail.com>|[fuchsia] Permit relative entries to the fuchsia_tester ([#28821](https://github.com/flutter/flutter/issues/28821)) This change permits (1) a relative --flutter-shell (2) relative (source, dill) entries within the test JSON file and enables portability in the invocation scripts produced by fuchsia's dart test GN template.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine e9eae9a1af77..4f54a1dd9444 (3 commits) ([#28843](https://github.com/flutter/flutter/issues/28843)) https://github.com/flutter/engine/compare/e9eae9a1af77...4f54a1dd9444 git log e9eae9a1af77400d02c498f0ad943f2858845398..4f54a1dd944497bd1ec0f2acca22ff9fbd8b377a --no-merges --oneline 4f54a1dd9 Roll src/third_party/skia c1a9feb6f06e..5800f2e8a920 (2 commits) ([flutter/engine#8022](https://github.com/flutter/engine/issues/8022)) 75e2b4702 Roll src/third_party/skia c6671be0ea75..c1a9feb6f06e (2 commits) ([flutter/engine#8021](https://github.com/flutter/engine/issues/8021)) b44a9305c Roll src/third_party/skia 1b9f889628e0..c6671be0ea75 (1 commits) ([flutter/engine#8020](https://github.com/flutter/engine/issues/8020)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|e9eae9a1a Roll src/third_party/skia c97b0672a73f..1b9f889628e0 (1 commits) ([flutter/engine#8019](https://github.com/flutter/engine/issues/8019)) ([#28801](https://github.com/flutter/flutter/issues/28801)) https://github.com/flutter/engine/compare/a28329cb91ac...e9eae9a1af77 git log a28329cb91ac18ad4d7950b3b170a74a8de979ee..e9eae9a1af77400d02c498f0ad943f2858845398 --no-merges --oneline e9eae9a1a Roll src/third_party/skia c97b0672a73f..1b9f889628e0 (1 commits) ([flutter/engine#8019](https://github.com/flutter/engine/issues/8019)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 39c46dea4b73..a28329cb91ac (10 commits) ([#28797](https://github.com/flutter/flutter/issues/28797)) https://github.com/flutter/engine/compare/39c46dea4b73...a28329cb91ac git log 39c46dea4b7347a252218aaff5caac5dc2fec8cd..a28329cb91ac18ad4d7950b3b170a74a8de979ee --no-merges --oneline a28329cb9 Roll src/third_party/skia 58a75383a70b..c97b0672a73f (1 commits) ([flutter/engine#8018](https://github.com/flutter/engine/issues/8018)) cdc141072 Roll src/third_party/skia 0d7012a80c17..58a75383a70b (1 commits) ([flutter/engine#8017](https://github.com/flutter/engine/issues/8017)) 01d8a1f27 Roll src/third_party/skia c945f0e31a53..0d7012a80c17 (1 commits) ([flutter/engine#8016](https://github.com/flutter/engine/issues/8016)) 75cd4df37 Roll src/third_party/skia 9159c8ef83b2..c945f0e31a53 (1 commits) ([flutter/engine#8015](https://github.com/flutter/engine/issues/8015)) 13064aec8 Add overloads for lookup that lets you specify a bundle ([flutter/engine#8007](https://github.com/flutter/engine/issues/8007)) 130cf77c5 Build engine for iOS on presubmit ([flutter/engine#8011](https://github.com/flutter/engine/issues/8011)) 7234cc463 Roll src/third_party/skia 705e67347962..9159c8ef83b2 (1 commits) ([flutter/engine#8014](https://github.com/flutter/engine/issues/8014)) 8a0b054a4 Roll src/third_party/skia 09198525261a..705e67347962 (7 commits) ([flutter/engine#8013](https://github.com/flutter/engine/issues/8013)) 36cdd2ee6 Roll src/third_party/skia 436d47d5bde9..09198525261a (6 commits) ([flutter/engine#8012](https://github.com/flutter/engine/issues/8012)) 9bef73a1a Roll src/third_party/skia e1f5b644656f..436d47d5bde9 (3 commits) ([flutter/engine#8009](https://github.com/flutter/engine/issues/8009)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Danny Tuppeny <danny@tuppeny.com>|Fix the test annotation used for test groups ([#28638](https://github.com/flutter/flutter/issues/28638))|
+|Jonah Williams <jonahwilliams@google.com>|switch tool tests to build runner ([#28759](https://github.com/flutter/flutter/issues/28759))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 66042161eba1..39c46dea4b73 (4 commits) ([#28755](https://github.com/flutter/flutter/issues/28755)) https://github.com/flutter/engine/compare/66042161eba1...39c46dea4b73 git log 66042161eba17da968800c57ddd2c314cd787abb..39c46dea4b7347a252218aaff5caac5dc2fec8cd --no-merges --oneline 39c46dea4 Revert &[#34](https://github.com/flutter/flutter/issues/34);Buffer lifecycle in WindowData ([#7999](https://github.com/flutter/flutter/issues/7999))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#8010](https://github.com/flutter/engine/issues/8010)) 293cfcaa5 Guard against using Android API not defined in API level 16 & 17 ([flutter/engine#8006](https://github.com/flutter/engine/issues/8006)) d7e0bc10c Roll src/third_party/skia 71a23d4195d9..e1f5b644656f (8 commits) ([flutter/engine#8004](https://github.com/flutter/engine/issues/8004)) 0b1740171 Buffer lifecycle in WindowData ([flutter/engine#7999](https://github.com/flutter/engine/issues/7999)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Kate Lovett <katelovett@google.com>|Expanded Snippet for API Docs ([#28681](https://github.com/flutter/flutter/issues/28681)) * Added code snippet for Expanded class. ref:[#21136](https://github.com/flutter/flutter/issues/21136) * Changed the code samples into snippet application samples.|
+|Jonah Williams <jonahwilliams@google.com>|Revert "Remove the old HaTS implementation on API docs" ([#28748](https://github.com/flutter/flutter/issues/28748))|
+|Dan Field <dfield@gmail.com>|Update README.md ([#28734](https://github.com/flutter/flutter/issues/28734)) @xster|
+|Tong Mu <dkwingsmt@users.noreply.github.com>|Add animation curve slowMiddle ([#28540](https://github.com/flutter/flutter/issues/28540)) * Add curve fastInFastOut * Rename it to slowCenter * Rename to slowMiddle * Add continuous test|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Be more strict about finding version number attached to a revision. ([#28527](https://github.com/flutter/flutter/issues/28527)) When we package Flutter, we used to find the "current" tag (which is the version number) by starting at the revision we are building on and looking backwards in time to find the most recent tag. This causes problems on release builds when we failed to tag properly. This PR makes the packaging script be more strict by requiring the given revision to itself have a tag, but only when we're publishing the result. When we're not publishing the result, it's more lenient, since otherwise we couldn't test packaging on non-release commits. I also renamed ProcessRunnerException to PreparePackageException, since we were using that exception more generally than just for processes.|
+|Ja Young Lee <11873270+jayoung-lee@users.noreply.github.com>|Remove the old HaTS implementation on API docs ([#28683](https://github.com/flutter/flutter/issues/28683))|
+|Mouad Debbar <mouad.debbar@gmail.com>|Text selection via mouse ([#28290](https://github.com/flutter/flutter/issues/28290))|
+|ocavue <ocavue@users.noreply.github.com>|Fix ink highlight effect of RawChip ([#28653](https://github.com/flutter/flutter/issues/28653))|
+|Alexander Markov <alexmarkov@google.com>|Include git output into error message from channel command ([#28658](https://github.com/flutter/flutter/issues/28658))|
+|Dan Field <dfield@gmail.com>|improve error messages on Text constructors ([#28709](https://github.com/flutter/flutter/issues/28709))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|66042161e Roll src/third_party/skia 255569187f27..71a23d4195d9 (1 commits) ([flutter/engine#8003](https://github.com/flutter/engine/issues/8003)) ([#28731](https://github.com/flutter/flutter/issues/28731)) https://github.com/flutter/engine/compare/99f3f7a9c246...66042161eba1 git log 99f3f7a9c246f1ebedc6eefd867cde250b370380..66042161eba17da968800c57ddd2c314cd787abb --no-merges --oneline 66042161e Roll src/third_party/skia 255569187f27..71a23d4195d9 (1 commits) ([flutter/engine#8003](https://github.com/flutter/engine/issues/8003)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Hans Muller <hansmuller@chromium.org>|Update TabController.indexIsChanging doc ([#28663](https://github.com/flutter/flutter/issues/28663))|
+|Chris Bracken <chris@bracken.jp>|Log pub return code on failure on Windows ([#28356](https://github.com/flutter/flutter/issues/28356)) When pub fails, log the %ERRRORLEVEL% to help diagnose the root cause of the pub failure.|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|Add missing trailing commas ([#28673](https://github.com/flutter/flutter/issues/28673)) * add trailing commas on list/map/parameters * add trailing commas on Invocation with nb of arg>1 * add commas for widget containing widgets * add trailing commas if instantiation contains trailing comma * revert bad change|
+|Chris Bracken <chris@bracken.jp>|Roll engine to 99f3f7a9c246f1ebedc6eefd867cde250b370380 ([#28698](https://github.com/flutter/flutter/issues/28698)) flutter/engine@99f3f7a9c Fix incorrect transformation matrix ([flutter/engine#8001](https://github.com/flutter/engine/issues/8001)) flutter/engine@c88b09710 Roll src/third_party/skia b7b2da871e95..255569187f27 (23 commits) ([flutter/engine#8002](https://github.com/flutter/engine/issues/8002)) flutter/engine@302e2e9d2 Fix cursor jumping when typing some special characters. ([flutter/engine#7964](https://github.com/flutter/engine/issues/7964)) flutter/engine@fe15149d1 Android Embedding PR 12: Add lifecycle methods to FlutterActivity. ([flutter/engine#7974](https://github.com/flutter/engine/issues/7974)) flutter/engine@6145e9046 Android Embedding PR 13: Integrated text input, keyevent input, and some other channel comms in FlutterView. ([flutter/engine#7979](https://github.com/flutter/engine/issues/7979))|
+|liyuqian <liyuqian@google.com>|Make shader warm-up async so it can handle image ([#28687](https://github.com/flutter/flutter/issues/28687)) ## Description This moves another 15-20ms from the animation jank of one of our important client to the startup latency. Unfortunately, this is probably not captured in our current benchmarks (presumably some other bottlenecks overshadow this shader compilation in the worst_frame benchmark). Considering that drawing images is such a common operation, maybe we should add one in the future to benchmark this. We need this PR to land soon for our client because this changes the API to return Future. ## Related Issues https://github.com/flutter/flutter/issues/813|
+|liyuqian <liyuqian@google.com>|Shader warm-up doc fixes ([#28679](https://github.com/flutter/flutter/issues/28679)) See https://github.com/flutter/flutter/pull/28614#discussion_r261422778 and https://github.com/flutter/flutter/pull/28614#pullrequestreview-209359908|
+|Jonah Williams <jonahwilliams@google.com>|Add capability to run build_runner tests for engine ([#28684](https://github.com/flutter/flutter/issues/28684))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 5194919e1309..56c16154eada (3 commits) ([#28686](https://github.com/flutter/flutter/issues/28686)) https://github.com/flutter/engine/compare/5194919e1309...56c16154eada git log 5194919e130917d29ac15f0ac7f52ea94d1a4d67..56c16154eadada5f77c57ddca39a86c5e30c5768 --no-merges --oneline 56c16154e Android Embedding PR 9: Introduce an AndroidTouchProcessor to convert MotionEvents to Flutter touch data. ([flutter/engine#7947](https://github.com/flutter/engine/issues/7947)) a1d84996d Fix spelling errors in dartdocs ([flutter/engine#7997](https://github.com/flutter/engine/issues/7997)) 6bc9c3d17 Roll src/third_party/dart 40bab34fbd..7c70ab1817 (35 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Anthony <anthonyrobledo@gmail.com>|add await to fix analyzer ([#28157](https://github.com/flutter/flutter/issues/28157))|
+|Michael Goderbauer <goderbauer@google.com>|Drive-by fix for TODO ([#28669](https://github.com/flutter/flutter/issues/28669))|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Fix spelling errors. ([#28657](https://github.com/flutter/flutter/issues/28657)) Fix the spelling errors in the dartdocs for the framework. There are no functionality changes here, just documentation fixes.|
+|liyuqian <liyuqian@google.com>|Add convex path and non-AA paint to shader warm-up ([#28614](https://github.com/flutter/flutter/issues/28614)) One of our important client's SKP shows that this could improve one of their janky frame by 20ms. This also improves our flutter_gallery__transition_perf's worst frame time by ~20ms. On the other hand, 15ms has been added to the start-up latency. I guess it's a little faster to compile the shader on the start-up because we're compiling a lot of shaders there and the CPU cache must be hot. ## Related Issues https://github.com/flutter/flutter/issues/813|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 9b924765f4de..5194919e1309 (6 commits) ([#28660](https://github.com/flutter/flutter/issues/28660)) https://github.com/flutter/engine/compare/9b924765f4de...5194919e1309 git log 9b924765f4de29cb9751eb598a629f0cc8d4975b..5194919e130917d29ac15f0ac7f52ea94d1a4d67 --no-merges --oneline 5194919e1 Roll src/third_party/skia 1179d5dfaf8d..b7b2da871e95 (1 commits) ([flutter/engine#7996](https://github.com/flutter/engine/issues/7996)) 58ce0fff7 Roll src/third_party/skia 90043480b587..1179d5dfaf8d (3 commits) ([flutter/engine#7995](https://github.com/flutter/engine/issues/7995)) 72cbe69cc Fix two typos in embedder.h ([flutter/engine#7993](https://github.com/flutter/engine/issues/7993)) 2360b459d Android Embedding PR 11: Add FlutterEngine to FlutterFragment. ([flutter/engine#7972](https://github.com/flutter/engine/issues/7972)) df03ec74f Roll src/third_party/skia 0cedddc1420b..90043480b587 (1 commits) ([flutter/engine#7994](https://github.com/flutter/engine/issues/7994)) 4a148cdc8 Roll src/third_party/skia 67d87128fd00..0cedddc1420b (10 commits) ([flutter/engine#7992](https://github.com/flutter/engine/issues/7992)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Hans Muller <hansmuller@chromium.org>|Updated gallery light and dark themes ([#28619](https://github.com/flutter/flutter/issues/28619))|
+|Shivam Bhasin <32370728+shivamvk@users.noreply.github.com>|Add Sample code for FlatButton [#21136](https://github.com/flutter/flutter/issues/21136) ([#27751](https://github.com/flutter/flutter/issues/27751)) * Update flat_button.dart * Added smaple code for Flat Button * Update flat_button.dart * Revert "Update flat_button.dart" This reverts commit c8f00dff39e18b267295890bd0c5a86979b58c24. * Revert "Added smaple code for Flat Button" This reverts commit adc4234bc7956293a5b56f39701c6967fe3e919a. * Update flat_button.dart * Update flat_button.dart * Update flat_button.dart * remove white spaces * remove white spaces * add two different samples * Update flat_button.dart|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|9b924765f Improve performance of Locale.toString ([flutter/engine#7990](https://github.com/flutter/engine/issues/7990)) ([#28623](https://github.com/flutter/flutter/issues/28623)) https://github.com/flutter/engine/compare/3e4e6f5c54db...9b924765f4de git log 3e4e6f5c54db7a705e6d50f7f3bddfa2ac0d6612..9b924765f4de29cb9751eb598a629f0cc8d4975b --no-merges --oneline 9b924765f Improve performance of Locale.toString ([flutter/engine#7990](https://github.com/flutter/engine/issues/7990)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Hans Muller <hansmuller@chromium.org>|Add warnings and an example to the TextEditingController docs ([#28604](https://github.com/flutter/flutter/issues/28604))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 4434a39c7d54..3e4e6f5c54db (18 commits) ([#28612](https://github.com/flutter/flutter/issues/28612)) https://github.com/flutter/engine/compare/4434a39c7d54...3e4e6f5c54db git log 4434a39c7d545ed47186b2f4d98cd09c8366e720..3e4e6f5c54db7a705e6d50f7f3bddfa2ac0d6612 --no-merges --oneline 3e4e6f5c5 Provide batching for semantics updates ([flutter/engine#7988](https://github.com/flutter/engine/issues/7988)) 0852795bf Roll src/third_party/skia ff84d8a900d4..67d87128fd00 (7 commits) ([flutter/engine#7987](https://github.com/flutter/engine/issues/7987)) 1089b5c9f Check for a null pressure range for motion events ([flutter/engine#7986](https://github.com/flutter/engine/issues/7986)) b7d512949 [macos] Add hover support to FLEViewController ([flutter/engine#7975](https://github.com/flutter/engine/issues/7975)) a82c7ee73 Add async events to pipeline flows. ([flutter/engine#7985](https://github.com/flutter/engine/issues/7985)) c3eb7aea8 Roll src/third_party/skia ab3f8674c9d2..ff84d8a900d4 (1 commits) ([flutter/engine#7983](https://github.com/flutter/engine/issues/7983)) 15793288e Roll src/third_party/dart 9450c6d829..40bab34fbd (8 commits) b324969c1 Roll src/third_party/dart e94e797d7b..9450c6d829 (8 commits) 3f3e4ec90 Roll src/third_party/skia f6faf2fcea7b..ab3f8674c9d2 (2 commits) ([flutter/engine#7980](https://github.com/flutter/engine/issues/7980)) d162ad842 Roll src/third_party/skia 4dbb96dfaa04..f6faf2fcea7b (7 commits) ([flutter/engine#7977](https://github.com/flutter/engine/issues/7977)) 5deb15cdf Roll src/third_party/dart 05bba46133..e94e797d7b (5 commits) 4db7c3050 Android Embedding PR 10: Add system channels to FlutterEngine. ([flutter/engine#7960](https://github.com/flutter/engine/issues/7960)) 9f92324fd Suppress deprecation warning for usage of Configuration.locale ([flutter/engine#7973](https://github.com/flutter/engine/issues/7973)) 9b21ea857 Roll src/third_party/dart 385be0cf31..05bba46133 (6 commits) e3f1bdc4d Roll src/third_party/skia adfc6e40df30..4dbb96dfaa04 (6 commits) ([flutter/engine#7970](https://github.com/flutter/engine/issues/7970)) e32531f0e Switch flutter&[#39](https://github.com/flutter/flutter/issues/39);s dart sdk to full and add dartdevc libraries ([flutter/engine#7968](https://github.com/flutter/engine/issues/7968)) fb1c543dd Link dart:* sources into engine for debugger source support ([flutter/engine#7908](https://github.com/flutter/engine/issues/7908)) dd3656a51 Roll src/third_party/dart 0f9a5198bd..385be0cf31 (14 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Chris Bracken <chris@bracken.jp>|Roll engine to 3e4e6f5c54db7a705e6d50f7f3bddfa2ac0d6612 ([#28607](https://github.com/flutter/flutter/issues/28607)) flutter/engine@3e4e6f5c5 Provide batching for semantics updates ([flutter/engine#7988](https://github.com/flutter/engine/issues/7988)) flutter/engine@0852795bf Roll src/third_party/skia ff84d8a900d4..67d87128fd00 (7 commits) ([flutter/engine#7987](https://github.com/flutter/engine/issues/7987)) flutter/engine@1089b5c9f Check for a null pressure range for motion events ([flutter/engine#7986](https://github.com/flutter/engine/issues/7986)) flutter/engine@b7d512949 [macos] Add hover support to FLEViewController ([flutter/engine#7975](https://github.com/flutter/engine/issues/7975)) flutter/engine@a82c7ee73 Add async events to pipeline flows. ([flutter/engine#7985](https://github.com/flutter/engine/issues/7985)) flutter/engine@c3eb7aea8 Roll src/third_party/skia ab3f8674c9d2..ff84d8a900d4 (1 commits) ([flutter/engine#7983](https://github.com/flutter/engine/issues/7983)) flutter/engine@15793288e Roll src/third_party/dart 9450c6d829..40bab34fbd (8 commits) flutter/engine@b324969c1 Roll src/third_party/dart e94e797d7b..9450c6d829 (8 commits) flutter/engine@3f3e4ec90 Roll src/third_party/skia f6faf2fcea7b..ab3f8674c9d2 (2 commits) ([flutter/engine#7980](https://github.com/flutter/engine/issues/7980)) flutter/engine@d162ad842 Roll src/third_party/skia 4dbb96dfaa04..f6faf2fcea7b (7 commits) ([flutter/engine#7977](https://github.com/flutter/engine/issues/7977)) flutter/engine@5deb15cdf Roll src/third_party/dart 05bba46133..e94e797d7b (5 commits) flutter/engine@4db7c3050 Android Embedding PR 10: Add system channels to FlutterEngine. ([flutter/engine#7960](https://github.com/flutter/engine/issues/7960)) flutter/engine@9f92324fd Suppress deprecation warning for usage of Configuration.locale ([flutter/engine#7973](https://github.com/flutter/engine/issues/7973)) flutter/engine@9b21ea857 Roll src/third_party/dart 385be0cf31..05bba46133 (6 commits) flutter/engine@e3f1bdc4d Roll src/third_party/skia adfc6e40df30..4dbb96dfaa04 (6 commits) ([flutter/engine#7970](https://github.com/flutter/engine/issues/7970)) flutter/engine@e32531f0e Switch flutter's dart sdk to full and add dartdevc libraries ([flutter/engine#7968](https://github.com/flutter/engine/issues/7968)) flutter/engine@fb1c543dd Link dart:* sources into engine for debugger source support ([flutter/engine#7908](https://github.com/flutter/engine/issues/7908)) flutter/engine@dd3656a51 Roll src/third_party/dart 0f9a5198bd..385be0cf31 (14 commits) flutter/engine@4434a39c7 Add api 21 check to LocalizationChannel.java ([flutter/engine#7967](https://github.com/flutter/engine/issues/7967))|
+|Kate Lovett <katelovett@google.com>|TextField Snippet for API Docs ([#28598](https://github.com/flutter/flutter/issues/28598)) * Added code snippet for TextField class. ref:[#21136](https://github.com/flutter/flutter/issues/21136) * Errant semicolon|
+|Michael Goderbauer <goderbauer@google.com>|Call onTapCancel when down pointer gets cancelled ([#28546](https://github.com/flutter/flutter/issues/28546))|
+|Chris Bracken <chris@bracken.jp>|Roll engine to 4434a39c7d545ed47186b2f4d98cd09c8366e720 ([#28608](https://github.com/flutter/flutter/issues/28608))|
+|Jonah Williams <jonahwilliams@google.com>|disable dart2js test ([#28555](https://github.com/flutter/flutter/issues/28555))|
+|Moein Porkamel <tje3d@yahoo.com>|Fix typo ([#28558](https://github.com/flutter/flutter/issues/28558))|
+|liyuqian <liyuqian@google.com>|Reland "Shader warm up ([#27660](https://github.com/flutter/flutter/issues/27660))" ([#28537](https://github.com/flutter/flutter/issues/28537)) This reverts commit adc8e159a548121a45ff7a45b4e556aff998d4bd. This should be safe to land once https://github.com/flutter/flutter/pull/28530 gets merged Merge on yellow doc test because the doc test is actually green.|
+|Jonah Williams <jonahwilliams@google.com>|remove personal repo and replace with trivial example for smoke test ([#28386](https://github.com/flutter/flutter/issues/28386))|
+|liyuqian <liyuqian@google.com>|Add LICENSE test to presubmit checks ([#28369](https://github.com/flutter/flutter/issues/28369)) ## Description Also update the existing dart files with missing licenses. Without the fix, we'll emit the following error message ``` License headers cannot be found at the beginning of the following files. /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/lib/src/animation/tween_sequence.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/material/raw_material_button_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/async_lifecycle_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/sliver_constraints_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/app_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/test_border.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/physical_model_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/inherited_model.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/lib/src/base/user_messages.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/src/pubspec_schema.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/ios/simulators_test.dart ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` ## Related Issues Fixes https://github.com/flutter/flutter/issues/28368 ## Checklist Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process. - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] My PR includes tests for *all* changed/updated/fixed behaviors (See [Test Coverage]). - [x] All existing and new tests are passing. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] The analyzer (`flutter analyze --flutter-repo`) does not report any problems on my PR. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I am willing to follow-up on review comments in a timely manner. ## Breaking Change Does your PR require Flutter developers to manually update their apps to accommodate your change? - [ ] Yes, this is a breaking change (Please read [Handling breaking changes]). - [x] No, this is *not* a breaking change. <!-- Links --> [issue database]: https://github.com/flutter/flutter/issues [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Test Coverage]: https://github.com/flutter/flutter/wiki/Test-coverage-for-package%3Aflutter [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [Handling breaking changes]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes|
+|liyuqian <liyuqian@google.com>|Fix backspace and clear length in AnsiStatus ([#28477](https://github.com/flutter/flutter/issues/28477)) Fixes https://github.com/flutter/flutter/issues/26922 Without the fix, the newly added test failed with the following error: ``` 00:07 +24 -4: Spinners AnsiStatus works for fuchsia [E] Expected: a non-negative value Actual: <-1> Which: is not a non-negative value The following line has overflow backtraces: "Hello world \b\b\b\b\b\b\b\b ⣽\b\b\b\b\b\b\b\b ⣻\b\b\b\b\b\b\b\b ⢿\b\b\b\b\b\b\b\b ⡿\b\b\b\b\b\b\b\b ⣟\b\b\b\b\b\b\b\b ⣯\b\b\b\b\b\b\b\b ⣷\b\b\b\b\b\b\b\b ⣾\b\b\b\b\b\b\b\b ⣽\b\b\b\b\b\b\b\b ⣻\b\b\b\b\b\b\b\b ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣯ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣷ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣾ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣽ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣻ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣯ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣷ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣾ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣽ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣻ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣯ (This is taking an unexpectedly long time.)" ```|
+|Jonah Williams <jonahwilliams@google.com>|Add basic web device and run support ([#28302](https://github.com/flutter/flutter/issues/28302))|
+|Dan Field <dfield@gmail.com>|increase timeout ([#28480](https://github.com/flutter/flutter/issues/28480))|
+|liyuqian <liyuqian@google.com>|Fix type issue of the timelineEvents assignment ([#28530](https://github.com/flutter/flutter/issues/28530)) This fixes https://github.com/flutter/flutter/issues/28374 The fact that json_rpc_2 is hiding exceptions like this might be a bigger issue: https://github.com/flutter/flutter/issues/28531 Merge on red because add2app test is currently flaking out according to @dnfield|
+|Sander Kersten <spkersten@gmail.com>|Add lerping between Gradients with arbitrary number of colors and stops ([#27435](https://github.com/flutter/flutter/issues/27435))|
+|Anthony <anthonyrobledo@gmail.com>|[Material] Unit test for skipping Slider tick mark due to overdensity ([#28013](https://github.com/flutter/flutter/issues/28013)) Added a unit test to check that the tick marks are skipped over when the divisions are set to a number that makes them less than 6dp away from each other.|
+|xster <xiao@xster.net>|Support iOS devices reporting pressure data of 0 ([#28478](https://github.com/flutter/flutter/issues/28478))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|113b91fe8 Roll src/third_party/skia 8abc84294571..adfc6e40df30 (9 commits) ([flutter/engine#7965](https://github.com/flutter/engine/issues/7965)) ([#28526](https://github.com/flutter/flutter/issues/28526)) https://github.com/flutter/engine/compare/131091827790...113b91fe82f1 git log 1310918277907d48ad25a336bbee3269ccbb2674..113b91fe82f147b3fb77899726736171c06dad26 --no-merges --oneline 113b91fe8 Roll src/third_party/skia 8abc84294571..adfc6e40df30 (9 commits) ([flutter/engine#7965](https://github.com/flutter/engine/issues/7965)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|pass --skip-build-script-checks and remove module usage ([#28343](https://github.com/flutter/flutter/issues/28343))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine fa7a25aea3e3..131091827790 (2 commits) ([#28522](https://github.com/flutter/flutter/issues/28522)) https://github.com/flutter/engine/compare/fa7a25aea3e3...131091827790 git log fa7a25aea3e35beee9824011798b66738e2005f0..1310918277907d48ad25a336bbee3269ccbb2674 --no-merges --oneline 131091827 Roll src/third_party/dart f7e435ac26..0f9a5198bd (2 commits) ef1e21f53 Roll src/third_party/skia 346e10e8ae1a..8abc84294571 (1 commits) ([flutter/engine#7962](https://github.com/flutter/engine/issues/7962)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|use deviceManager discovery in daemon protocol ([#28341](https://github.com/flutter/flutter/issues/28341))|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Add SHA256 checksums to published metadata ([#28472](https://github.com/flutter/flutter/issues/28472)) Adds SHA256 checksums to the released package database, in preparation for showing them on the download website. (I'll update the existing data by hand). Fixes [#28465](https://github.com/flutter/flutter/issues/28465)|
+|Jonah Williams <jonahwilliams@google.com>|remove json_schema dep again ([#28517](https://github.com/flutter/flutter/issues/28517))|
+|Zachary Anderson <zanderso@users.noreply.github.com>|[flutter_tool,fuchsia_tester] Only require a test source dir for coverage ([#28168](https://github.com/flutter/flutter/issues/28168))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|fa7a25aea Roll src/third_party/skia ac6d4c0c8eae..346e10e8ae1a (3 commits) ([flutter/engine#7959](https://github.com/flutter/engine/issues/7959)) ([#28511](https://github.com/flutter/flutter/issues/28511)) https://github.com/flutter/engine/compare/9f95ef23aac7...fa7a25aea3e3 git log 9f95ef23aac76c4f112446412cc6ae117e743378..fa7a25aea3e35beee9824011798b66738e2005f0 --no-merges --oneline fa7a25aea Roll src/third_party/skia ac6d4c0c8eae..346e10e8ae1a (3 commits) ([flutter/engine#7959](https://github.com/flutter/engine/issues/7959)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|9f95ef23a Android Embedding PR 8: Add FlutterEngine attachment/detachment to FlutterView ([flutter/engine#7946](https://github.com/flutter/engine/issues/7946)) ([#28510](https://github.com/flutter/flutter/issues/28510)) https://github.com/flutter/engine/compare/31d31e6d2ae8...9f95ef23aac7 git log 31d31e6d2ae853798c105f606bf2e5cfdd6e0b04..9f95ef23aac76c4f112446412cc6ae117e743378 --no-merges --oneline 9f95ef23a Android Embedding PR 8: Add FlutterEngine attachment/detachment to FlutterView ([flutter/engine#7946](https://github.com/flutter/engine/issues/7946)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 1d0615af4ee5..31d31e6d2ae8 (6 commits) ([#28507](https://github.com/flutter/flutter/issues/28507)) https://github.com/flutter/engine/compare/1d0615af4ee5...31d31e6d2ae8 git log 1d0615af4ee5a962a023e9ad2a0c2fab24d6dd1b..31d31e6d2ae853798c105f606bf2e5cfdd6e0b04 --no-merges --oneline 31d31e6d2 Android PR 7: Introduce structure of FlutterActivity and FlutterFragment ([flutter/engine#7912](https://github.com/flutter/engine/issues/7912)) 3962bbdc6 Roll src/third_party/skia bcfbf6e94c22..ac6d4c0c8eae (1 commits) ([flutter/engine#7958](https://github.com/flutter/engine/issues/7958)) cb9e6734a Roll src/third_party/dart 7a63d31151..f7e435ac26 (252 commits) 18ad03d49 Fixed an Android keyboard entry bug that was introduced by the embedding refactor. ([#28438](https://github.com/flutter/flutter/issues/28438)) ([flutter/engine#7954](https://github.com/flutter/engine/issues/7954)) a61056aa5 Roll src/third_party/skia 0b2c05470bab..bcfbf6e94c22 (8 commits) ([flutter/engine#7956](https://github.com/flutter/engine/issues/7956)) b36f9034c Roll src/third_party/dart c92d5ca288..7a63d31151 (6 commits) ([flutter/engine#7955](https://github.com/flutter/engine/issues/7955)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.|
+|Stevie Strickland <sstrickl@gmail.com>|Remove unused --packages argument to gen_snapshot. ([#28334](https://github.com/flutter/flutter/issues/28334)) This command line argument has already been removed in the main Dart repository, so building flutter with the latest dart fails. This time, also update the tests to avoid the checks for a package path on snapshot generation.|
+|Michael Goderbauer <goderbauer@google.com>|Fuschia -> Fuchsia ([#28482](https://github.com/flutter/flutter/issues/28482))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine f7306394e303..1d0615af4ee5 (7 commits) ([#28487](https://github.com/flutter/flutter/issues/28487)) https://github.com/flutter/engine/compare/f7306394e303...1d0615af4ee5 git log f7306394e303a210a9971acb60f9ba11d7c64ec8..1d0615af4ee5a962a023e9ad2a0c2fab24d6dd1b --no-merges --oneline 1d0615af4 libtxt: remove a debug log message in ComputeStrut ([flutter/engine#7953](https://github.com/flutter/engine/issues/7953)) fd6c3fc70 Do not clear FlutterJNI state when a FlutterView is detached ([flutter/engine#7929](https://github.com/flutter/engine/issues/7929)) dff323d21 Roll src/third_party/skia 507158f88d4d..0b2c05470bab (19 commits) ([flutter/engine#7952](https://github.com/flutter/engine/issues/7952)) 5fcc6aca8 Roll src/third_party/skia 478d7d46f8d7..507158f88d4d (1 commits) ([flutter/engine#7949](https://github.com/flutter/engine/issues/7949)) 6e1f0f063 Roll src/third_party/skia 5bbd02d6bb3d..478d7d46f8d7 (1 commits) ([flutter/engine#7948](https://github.com/flutter/engine/issues/7948)) 9f6b297cc Roll src/third_party/skia e1636a4b56aa..5bbd02d6bb3d (1 commits) ([flutter/engine#7944](https://github.com/flutter/engine/issues/7944)) f2489c1b5 Correct FlutterSemanticsNode member name style ([flutter/engine#7942](https://github.com/flutter/engine/issues/7942)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|KyleWong <kang.wang1988@gmail.com>|Add tests for pr:27687 ([#27944](https://github.com/flutter/flutter/issues/27944))|
+|lsaudon <lartisanducode@gmail.com>|Add shapeBorder option on App Bar ([#21834](https://github.com/flutter/flutter/issues/21834))|
+|xster <xiao@xster.net>|Add long-press-move support for text fields 2 ([#28242](https://github.com/flutter/flutter/issues/28242))|
+|jslavitz <jslavitz@google.com>|Breaks the moveBy call from drag and dragFrom into two separate calls and changes the default behavior of DragStartBehavior to DragStartBehavior.start ([#26438](https://github.com/flutter/flutter/issues/26438)) * Breaking change which sets the default DragStartBehavior to DragStartBehavior.start and changes WidgetTester.drag and WidgetTester.dragFrom by breaking the moveBy function call into multiple pieces.|
+|stuartmorgan <stuart.morgan@gmail.com>|Convert PointerEvent's toString to Diagnosticable ([#27904](https://github.com/flutter/flutter/issues/27904)) Rather than building a description string by hand, use Diagnosticable properties. Simplifies output, since many fields have uninteresting default values in many cases, and makes it easier to add more loggable properties in subclasses. Issue [#28014](https://github.com/flutter/flutter/issues/28014)|
+|Jason Simmons <jason-simmons@users.noreply.github.com>|Only call Activity.reportFullyDrawn on Lollipop or above ([#28175](https://github.com/flutter/flutter/issues/28175)) This API requires the UPDATE_DEVICE_STATS permission on KitKat|
+|Hans Muller <hansmuller@chromium.org>|Ensure that the DropdownButton menu respects its parents bounds ([#28371](https://github.com/flutter/flutter/issues/28371))|
+|rami-a <2364772+rami-a@users.noreply.github.com>|[Material] Add the ability to theme trailing app bar actions independently from leading ([#28214](https://github.com/flutter/flutter/issues/28214)) * Allow app bar actions to be themed independently if needed * Update SliverAppBar docs that were out of date * Clarify fallback behavior in a comment * Analyzer * Address PR feedback * Address PR feedback * Put back checks on actions icon theme * Address PR feedback * Retrigger CI|
+|Brandon Rodriguez <brandonrrodriguez@gmail.com>|[Typo] Update 'use' to 'user' ([#28245](https://github.com/flutter/flutter/issues/28245))|
+|Reece Dunham <me@rdil.rocks>|Removed trailing whitespace from the end of the CI config ([#28370](https://github.com/flutter/flutter/issues/28370))|
+|Michael Goderbauer <goderbauer@google.com>|Add more docs to BackdropFilter ([#28017](https://github.com/flutter/flutter/issues/28017))|
+|liyuqian <liyuqian@google.com>|Mark non-flaky test as such ([#28373](https://github.com/flutter/flutter/issues/28373))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|f7306394e fix sendLocales on old android versions ([flutter/engine#7937](https://github.com/flutter/engine/issues/7937)) ([#28450](https://github.com/flutter/flutter/issues/28450)) https://github.com/flutter/engine/compare/502c9c4002a6...f7306394e303 git log 502c9c4002a6b456f829f79bfbd2ff61d075d1d7..f7306394e303a210a9971acb60f9ba11d7c64ec8 --no-merges --oneline f7306394e fix sendLocales on old android versions ([flutter/engine#7937](https://github.com/flutter/engine/issues/7937)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 0546e1e5e901..502c9c4002a6 (2 commits) ([#28446](https://github.com/flutter/flutter/issues/28446)) https://github.com/flutter/engine/compare/0546e1e5e901...502c9c4002a6 git log 0546e1e5e9015e7a597c9e59cf89ee614a260251..502c9c4002a6b456f829f79bfbd2ff61d075d1d7 --no-merges --oneline 502c9c400 Android Embedding PR 6: Introduce FlutterView structure with FlutterSurfaceView and FlutterTextureView. ([flutter/engine#7896](https://github.com/flutter/engine/issues/7896)) 687229e70 Roll src/third_party/skia 52d8a5976a23..e1636a4b56aa (1 commits) ([flutter/engine#7943](https://github.com/flutter/engine/issues/7943)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|Will Larche <larche@google.com>|[Gallery] Fix fortnightly analysis for consts. ([#28431](https://github.com/flutter/flutter/issues/28431))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|0546e1e5e Roll src/third_party/skia 33c1b315265c..52d8a5976a23 (1 commits) ([flutter/engine#7941](https://github.com/flutter/engine/issues/7941)) ([#28422](https://github.com/flutter/flutter/issues/28422)) https://github.com/flutter/engine/compare/90fcaff9008e...0546e1e5e901 git log 90fcaff9008e04b71c00cd6ce27ae335c299c8a6..0546e1e5e9015e7a597c9e59cf89ee614a260251 --no-merges --oneline 0546e1e5e Roll src/third_party/skia 33c1b315265c..52d8a5976a23 (1 commits) ([flutter/engine#7941](https://github.com/flutter/engine/issues/7941)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|Will Larche <larche@google.com>|[Gallery] Fortnightly demo moved from flutter/samples. ([#28125](https://github.com/flutter/flutter/issues/28125)) * [Gallery] Fortnightly demo moved from flutter/samples. * [Gallery] Fortnightly analysis corrections. * [Gallery] Minor rename. * [Gallery] Making floats ints. * [Gallery] Fortnightly minor visual polish. * [Gallery] Formatting. * [Gallery] Upping package version for gallery to support fortnightly demo. * [Gallery] Fortnightly copy correction. * [Gallery] Fortnightly study polish. * [Gallery] Fortnightly polish. * [Gallery] Fortnightly copy correction. * [Gallery] Fortnightly copy now held in '''. * [Gallery] Fortnightly comment. * [Gallery] Updates necessary when flutter_gallery_assets updates. * [Gallery] Updating macrobenchmarks because we updated flutter_gallery_assets. * [Gallery] Moving spaces to beginning of copy lines. * [Gallery] Copy correction. * [Gallery] Adding tooltip to satisfy smoke test. * [Gallery] Minor pr feedback. * [Gallery] Forced upgrade.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|90fcaff90 Roll src/third_party/skia 2ed90e152d47..33c1b315265c (1 commits) ([flutter/engine#7940](https://github.com/flutter/engine/issues/7940)) ([#28413](https://github.com/flutter/flutter/issues/28413)) https://github.com/flutter/engine/compare/b1779e7d95ea...90fcaff9008e git log b1779e7d95ea812ced2f4993932bdb2325f5a8ba..90fcaff9008e04b71c00cd6ce27ae335c299c8a6 --no-merges --oneline 90fcaff90 Roll src/third_party/skia 2ed90e152d47..33c1b315265c (1 commits) ([flutter/engine#7940](https://github.com/flutter/engine/issues/7940)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 0d777b947e4c..b1779e7d95ea (2 commits) ([#28410](https://github.com/flutter/flutter/issues/28410)) https://github.com/flutter/engine/compare/0d777b947e4c...b1779e7d95ea git log 0d777b947e4cc52a0bc17566f3e450f869ca00c9..b1779e7d95ea812ced2f4993932bdb2325f5a8ba --no-merges --oneline b1779e7d9 Roll src/third_party/skia 867da4b96e8e..2ed90e152d47 (1 commits) ([flutter/engine#7939](https://github.com/flutter/engine/issues/7939)) 018a4f783 Roll src/third_party/skia 12f1fecea947..867da4b96e8e (1 commits) ([flutter/engine#7936](https://github.com/flutter/engine/issues/7936)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|Dan Field <dfield@gmail.com>|update packages ([#28400](https://github.com/flutter/flutter/issues/28400))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|0d777b947 Roll src/third_party/skia 72f6f044cc73..12f1fecea947 (1 commits) ([flutter/engine#7935](https://github.com/flutter/engine/issues/7935)) ([#28392](https://github.com/flutter/flutter/issues/28392)) https://github.com/flutter/engine/compare/3efc9f5099e5...0d777b947e4c git log 3efc9f5099e537b3885aacfe3506903c23c4e1ca..0d777b947e4cc52a0bc17566f3e450f869ca00c9 --no-merges --oneline 0d777b947 Roll src/third_party/skia 72f6f044cc73..12f1fecea947 (1 commits) ([flutter/engine#7935](https://github.com/flutter/engine/issues/7935)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|Dan Field <dfield@gmail.com>|Reland "Allow for gradle downloading missing SDK assets" ([#28097](https://github.com/flutter/flutter/issues/28097)) ([#28355](https://github.com/flutter/flutter/issues/28355)) * Allow for gradle downloading missing SDK assets if SDK licenses are present. * Improvements for windows testing|
+|Dan Field <dfield@gmail.com>|add2app test ([#27712](https://github.com/flutter/flutter/issues/27712)) * add2app test|
+|Dan Field <dfield@gmail.com>|fix red build for analysis ([#28398](https://github.com/flutter/flutter/issues/28398))|
+|Gary Qian <garyq@google.com>|Force line height in TextFields with strut ([#27612](https://github.com/flutter/flutter/issues/27612))|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|3efc9f509 Roll src/third_party/skia 2a5511307d34..72f6f044cc73 (2 commits) ([flutter/engine#7934](https://github.com/flutter/engine/issues/7934)) ([#28387](https://github.com/flutter/flutter/issues/28387)) https://github.com/flutter/engine/compare/1741497a574f...3efc9f5099e5 git log 1741497a574fb5b23a32d11f7f499a3065009585..3efc9f5099e537b3885aacfe3506903c23c4e1ca --no-merges --oneline 3efc9f509 Roll src/third_party/skia 2a5511307d34..72f6f044cc73 (2 commits) ([flutter/engine#7934](https://github.com/flutter/engine/issues/7934)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|Bryan Henry <bryanhenry@mac.com>|Clean up flutter_gallery.cmx's sandbox ([#28193](https://github.com/flutter/flutter/issues/28193)) Delete unused 'persistent-storage' feature (which is being removed from Fuchsia) and inclusion of '/system/data' in namepsace|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 5809adea4156..1741497a574f (5 commits) ([#28378](https://github.com/flutter/flutter/issues/28378)) https://github.com/flutter/engine/compare/5809adea4156...1741497a574f git log 5809adea415605b821704967cd9e0b0fc05ce34a..1741497a574fb5b23a32d11f7f499a3065009585 --no-merges --oneline 1741497a5 Roll src/third_party/skia a753d1a3475d..2a5511307d34 (3 commits) ([flutter/engine#7933](https://github.com/flutter/engine/issues/7933)) 0a50e0846 Roll src/third_party/skia ee1c8a733e5b..a753d1a3475d (16 commits) ([flutter/engine#7930](https://github.com/flutter/engine/issues/7930)) 204e7da36 New setting to decide whether we want the engine to load ICU mapping. ([flutter/engine#7928](https://github.com/flutter/engine/issues/7928)) 36d495d57 Dynamic patching support for native code libraries. ([flutter/engine#7927](https://github.com/flutter/engine/issues/7927)) 21c59197e [re-land] Use all font managers to discover fonts for strut. ([flutter/engine#7803](https://github.com/flutter/engine/issues/7803)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine f80928a9e403..5809adea4156 (3 commits) ([#28367](https://github.com/flutter/flutter/issues/28367)) https://github.com/flutter/engine/compare/f80928a9e403...5809adea4156 git log f80928a9e403c6b2fc1b8de6a00bf6189b715c40..5809adea415605b821704967cd9e0b0fc05ce34a --no-merges --oneline 5809adea4 Make the layout of dynamic patch bundle similar to APK. ([flutter/engine#7925](https://github.com/flutter/engine/issues/7925)) e2a449a51 Move canvas clear after preroll ([flutter/engine#7923](https://github.com/flutter/engine/issues/7923)) 8529dbc86 Remove unused FML file export.h ([flutter/engine#7926](https://github.com/flutter/engine/issues/7926)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|Jonah Williams <jonahwilliams@google.com>|only perform multi-root mapping if there are multiple roots ([#28352](https://github.com/flutter/flutter/issues/28352))|
+|Stanislav Baranov <stanislav@gmail.com>|Dynamic patching support for native code libraries. ([#28349](https://github.com/flutter/flutter/issues/28349))|
+|liyuqian <liyuqian@google.com>|Revert "Shader warm up ([#27660](https://github.com/flutter/flutter/issues/27660))" ([#28376](https://github.com/flutter/flutter/issues/28376)) This reverts commit a44f174efc218ac1b4b94b9d77dafdb5dfea1432. Reason: start_up tests become flaky. See https://github.com/flutter/flutter/issues/28374 TBR: xster Merge on red to fix the tree|
+|liyuqian <liyuqian@google.com>|Shader warm up ([#27660](https://github.com/flutter/flutter/issues/27660)) This patch adds a default shader warm up process which moves shader compilation from the animation time to the startup time. This also provides an extension for `runApp` so developers can customize the warm up process. This should reduce our worst_frame_rasterizer_time_millis from ~100ms to ~20-30ms for both flutter_gallery and complex_layout benchmarks. Besides, this should also have a significant improvement on 90th and 99th percentile time (50%-100% speedup in some cases, but I haven't tested them thoroughly; I'll let our device lab collect the data afterwards). The tradeoff the is the startup time (time to first frame). Our `flutter run --profile --trace-startup` seems to be a little noisy and I see about 100ms-200ms increase in that measurement for complex_layout and flutter_gallery. Note that this only happens on the first run after install or data wipe. Later the Skia persistent cache will remove the overhead. This also adds a cubic_bezier benchmark to test the custom shader warm up process. This should fix https://github.com/flutter/flutter/issues/813 (either by `defaultShaderWarmUp`, or a `customShaderWarmUp`).|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 33bb91cc1591..f80928a9e403 (4 commits) ([#28353](https://github.com/flutter/flutter/issues/28353)) https://github.com/flutter/engine/compare/33bb91cc1591...f80928a9e403 git log 33bb91cc15916610261097eb971ec8a11b804d06..f80928a9e403c6b2fc1b8de6a00bf6189b715c40 --no-merges --oneline f80928a9e Roll src/third_party/skia fdd15284affe..ee1c8a733e5b (15 commits) ([flutter/engine#7924](https://github.com/flutter/engine/issues/7924)) 93f339fb6 fix Memory leak when using PlatformView [IOS] [#24714](https://github.com/flutter/flutter/issues/24714) ([flutter/engine#7919](https://github.com/flutter/engine/issues/7919)) 2d33e775f Roll src/third_party/skia 969659dbb313..fdd15284affe (2 commits) ([flutter/engine#7922](https://github.com/flutter/engine/issues/7922)) 6d4edf235 Roll src/third_party/skia 9431161ca973..969659dbb313 (3 commits) ([flutter/engine#7921](https://github.com/flutter/engine/issues/7921)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop the roller if necessary.|
+|Zachary Anderson <zanderso@users.noreply.github.com>|[flutter_tool,fuchsia] Add missing dep to flutter_tool ([#28346](https://github.com/flutter/flutter/issues/28346)) Needed for Fuchsia roll.|
+|rami-a <2364772+rami-a@users.noreply.github.com>|Minor UI tweaks to Cards demo based on internal feedback ([#28215](https://github.com/flutter/flutter/issues/28215)) * Minor UI tweaks to Cards demo based on internal feedback * Analyzer * Tweak ink ripple opacity * Address PR feedback|
+|rami-a <2364772+rami-a@users.noreply.github.com>|[Material] Add ability to set shadow color and selected shadow color for chips and for chip themes ([#28163](https://github.com/flutter/flutter/issues/28163)) * Add ability to set shadow color for chips and for chip themes * Add selected shadow color as a property as well * Update phrasing of documentation * Address PR feedback|
+|ocavue <ocavue@users.noreply.github.com>|Make extended FAB's icon optional ([#27711](https://github.com/flutter/flutter/issues/27711))|
+|Chris Bracken <chris@bracken.jp>|Roll engine to 33bb91cc15916610261097eb971ec8a11b804d06 ([#28315](https://github.com/flutter/flutter/issues/28315)) flutter/engine@33bb91c Allow embedders to specify a vsync waiter. ([flutter/engine#7914](https://github.com/flutter/engine/issues/7914)) flutter/engine@4cb9a14 Allow embedders to add events to the timeline. ([flutter/engine#7917](https://github.com/flutter/engine/issues/7917))|
+|Zachary Anderson <zanderso@users.noreply.github.com>|[fuchsia] Fix paths to find and ls ([#28280](https://github.com/flutter/flutter/issues/28280))|
+|Chris Bracken <chris@bracken.jp>|Roll engine to cb0f7ece1f251c78a07550db89d0fcb3edf61e3c ([#28309](https://github.com/flutter/flutter/issues/28309)) flutter/engine@cb0f7ece1 Roll src/third_party/skia 63c4d3596915..e9912ca049a0 (8 commits) ([flutter/engine#7918](https://github.com/flutter/engine/issues/7918))|
+|Chris Bracken <chris@bracken.jp>|Roll engine to 043d92c48abdebdad926569bc204a59c5cf20a11 ([#28308](https://github.com/flutter/flutter/issues/28308)) flutter/engine@043d92c48 Embedder API for setting the persistent cache path ([flutter/engine#7915](https://github.com/flutter/engine/issues/7915))|
+|xster <xiao@xster.net>|Add some more CupertinoPicker doc ([#28166](https://github.com/flutter/flutter/issues/28166))|
+|Stanislav Baranov <stanislav@gmail.com>|Reland [#27754](https://github.com/flutter/flutter/issues/27754), now that bsdiff has moved to flutter/packages. ([#28291](https://github.com/flutter/flutter/issues/28291))|
+|Ray Rischpater, KF6GPE <rischpater@google.com>|deploy to .dev firebase projects. ([#28171](https://github.com/flutter/flutter/issues/28171)) * deploy to .dev firebase projects. * Updated secrets for .dev web sites. * Fixed missing docs.*.io references.|
+|Chris Bracken <chris@bracken.jp>|Roll the engine to 5db4b377244bae48bc21e449e616417e68c9a6b9 ([#28296](https://github.com/flutter/flutter/issues/28296)) flutter/engine@f1f19bba8 Revert "Revert "Revert "Reland PerformanceOverlayLayer golden test ([flutter/engine#7863](https://github.com/flutter/engine/issues/7863))" ([flutter/engine#7895](https://github.com/flutter/engine/issues/7895))" ([flutter/engine#7911](https://github.com/flutter/engine/issues/7911))" ([flutter/engine#7916](https://github.com/flutter/engine/issues/7916)) flutter/engine@5db4b3772 Revert dart rolls ([flutter/engine#7913](https://github.com/flutter/engine/issues/7913)) flutter/engine@0053c1d50 Roll src/third_party/dart 75ee523f91..4cff5a4fd6 (6 commits) flutter/engine@8620579cf Roll src/third_party/skia 9a049e6ce39d..63c4d3596915 (8 commits) ([flutter/engine#7909](https://github.com/flutter/engine/issues/7909)) flutter/engine@aa2b287cb Reland [flutter/engine#7777](https://github.com/flutter/engine/issues/7777) with proper LICENSE ([flutter/engine#7888](https://github.com/flutter/engine/issues/7888)) flutter/engine@a5773d121 Do not add ghost runs for trailing whitespace if the text is ellipsized ([flutter/engine#7906](https://github.com/flutter/engine/issues/7906)) flutter/engine@93eeb48ba Revert "Revert "Remove unnecessary entry-point closurization. ([flutter/engine#7827](https://github.com/flutter/engine/issues/7827))" ([flutter/engine#7876](https://github.com/flutter/engine/issues/7876))" ([flutter/engine#7904](https://github.com/flutter/engine/issues/7904)) flutter/engine@bbaeba3f3 Roll src/third_party/skia 05ff93c43ea5..9a049e6ce39d (11 commits) ([flutter/engine#7903](https://github.com/flutter/engine/issues/7903)) flutter/engine@1cf6b8b64 Roll src/third_party/dart 5ddd157809..75ee523f91 (19 commits) flutter/engine@be32040ef Roll src/third_party/skia 348227b89430..05ff93c43ea5 (2 commits) ([flutter/engine#7901](https://github.com/flutter/engine/issues/7901)) flutter/engine@293b3de98 Roll src/third_party/skia 20ebd0cb3882..348227b89430 (4 commits) ([flutter/engine#7900](https://github.com/flutter/engine/issues/7900)) flutter/engine@6e6020d29 Eliminate .member = foo struct initialization ([flutter/engine#7899](https://github.com/flutter/engine/issues/7899)) flutter/engine@6d8bd99af Revert "Reland PerformanceOverlayLayer golden test ([flutter/engine#7863](https://github.com/flutter/engine/issues/7863))" ([flutter/engine#7895](https://github.com/flutter/engine/issues/7895)) flutter/engine@39f7066b6 Test profile and release build and unit tests ([flutter/engine#7880](https://github.com/flutter/engine/issues/7880)) flutter/engine@abe9826a9 Add accessibility semantics support to embedder ([flutter/engine#7891](https://github.com/flutter/engine/issues/7891)) flutter/engine@ce7016e1f Roll src/third_party/skia e471c05f92e8..20ebd0cb3882 (4 commits) ([flutter/engine#7894](https://github.com/flutter/engine/issues/7894)) flutter/engine@684c9394c Respect the custom GL proc table when creating the resource context on the IO thread. ([flutter/engine#7893](https://github.com/flutter/engine/issues/7893)) flutter/engine@e11d0e96f Android embedding refactor pr5 add flutterengine impl ([flutter/engine#7878](https://github.com/flutter/engine/issues/7878)) flutter/engine@2f4a38dbd Android embedding refactor pr3 add remaining systemchannels ([flutter/engine#7892](https://github.com/flutter/engine/issues/7892)) flutter/engine@8427d73c8 Reland PerformanceOverlayLayer golden test ([flutter/engine#7863](https://github.com/flutter/engine/issues/7863)) flutter/engine@61fc1786f Roll src/third_party/dart c92d5ca288..5ddd157809 (153 commits) flutter/engine@b0671145a Roll src/third_party/skia 7738736f9622..e471c05f92e8 (23 commits) ([flutter/engine#7889](https://github.com/flutter/engine/issues/7889)) flutter/engine@6d7eb5218 Revert "Android embedding refactor pr3 add remaining systemchannels ([flutter/engine#7874](https://github.com/flutter/engine/issues/7874))" ([flutter/engine#7886](https://github.com/flutter/engine/issues/7886)) flutter/engine@dad6ec01c Correct onAccessibilityFeaturesChanged docs ([flutter/engine#7883](https://github.com/flutter/engine/issues/7883))|
+|Dan Field <dfield@gmail.com>|Revert "Allow for gradle downloading missing SDK assets ([#28097](https://github.com/flutter/flutter/issues/28097))" ([#28295](https://github.com/flutter/flutter/issues/28295)) This reverts commit 6f5e88a59f5ac01fd55b5c3a11b7c2ddc6c7402c.|
+|xster <xiao@xster.net>|Add slight clarification to debugDeterministicCursor ([#27898](https://github.com/flutter/flutter/issues/27898))|
+|Hans Muller <hansmuller@chromium.org>|[Material] Expand BottomNavigationBar API (reprise) ([#28159](https://github.com/flutter/flutter/issues/28159))|
+|Michael Goderbauer <goderbauer@google.com>|Add backgroundColor argument to TextStyle for convenience ([#28172](https://github.com/flutter/flutter/issues/28172))|
+|Dan Field <dfield@gmail.com>|Allow for gradle downloading missing SDK assets ([#28097](https://github.com/flutter/flutter/issues/28097)) * Allow for gradle downloading missing SDK assets if SDK licenses are present. * Fix license path for missing sdkmanager * Cirrus re-run... * Fix condition check * rename props, add docs, rename method * fix tests after param changes * Fix weird path for flutter run and add tests * remove print, fix tests|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Fix the length of the valueHelp on the --sample option for the create command, and turn on wrapping. ([#28264](https://github.com/flutter/flutter/issues/28264)) The wrapping for some commands was never actually turned on, so this turns it on. Also, it shortens the `valueHelp` for the `--sample` option to be just "id" instead of "the sample ID of the desired sample from the API documentation website (http://docs.flutter.io)", which was causing the line to get far too long. Fixes [#23074](https://github.com/flutter/flutter/issues/23074)|
+|Dan Field <dfield@gmail.com>|Reduce memory benchmark perf tests outer loop to 10. ([#28281](https://github.com/flutter/flutter/issues/28281)) * reduce iterations to avoid test timing out|
+|Dan Field <dfield@gmail.com>|Make logcat less chatty on perf tests ([#28272](https://github.com/flutter/flutter/issues/28272))|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Revert "Remove unused --packages argument to gen_snapshot. ([#28101](https://github.com/flutter/flutter/issues/28101))" ([#28265](https://github.com/flutter/flutter/issues/28265)) This reverts commit 1c021506df23434dd5e881ba0e4d8c5a9f88df8d. The pre-commit tests never actually ran, so it looked green when it wasn't. This breaks 16 tests that depend on the argument existing, even though it isn't actually used.|
+|Alexandre Ardhuin <alexandre.ardhuin@gmail.com>|format parameter list ([#27261](https://github.com/flutter/flutter/issues/27261))|
+|Stevie Strickland <sstrickl@gmail.com>|Remove unused --packages argument to gen_snapshot. ([#28101](https://github.com/flutter/flutter/issues/28101)) This command line argument has already been removed in the main Dart repository, so building flutter with the latest dart fails.|
+|Volodymyr Lykhonis <vladimirlichonos@gmail.com>|Update AUTHORS to add Volodymyr Lykhonis ([#24889](https://github.com/flutter/flutter/issues/24889))|
+|Jonah Williams <jonahwilliams@google.com>|Remove extra slash from builder that is not handled on windows ([#28027](https://github.com/flutter/flutter/issues/28027))|
+|Jonah Williams <jonahwilliams@google.com>|Remove set literal syntax ([#28238](https://github.com/flutter/flutter/issues/28238))|
+|Michael Goderbauer <goderbauer@google.com>|Remove line breaks from PR template ([#28235](https://github.com/flutter/flutter/issues/28235))|
+|jslavitz <jslavitz@google.com>|Adds fix for NAN value and pressure values outside of device reported min and max ([#26659](https://github.com/flutter/flutter/issues/26659)) * Fix for nan pressure values and values outside min and max pressure ranges|
+|jslavitz <jslavitz@google.com>|Adds media query check in editable_text ([#27955](https://github.com/flutter/flutter/issues/27955)) * media query check|
+|Mike Roosa <mike.roosa@gmail.com>|removed image with 404 ([#26376](https://github.com/flutter/flutter/issues/26376)) Update README.md to remove 404 link on Posse image|
+|Matt Sullivan <matt.j.sullivan@gmail.com>|Added sample code to AnimatedWidget ([#27803](https://github.com/flutter/flutter/issues/27803)) * Added sample to AnimatedWidget * Updated AnimatedWidget example to use listenable from parent * Made progress private and changed widget name|
+|Ali EP <p30arena@gmail.com>|Fixes crossAxisSpacing overflow in RTL ([#27945](https://github.com/flutter/flutter/issues/27945))|
+|Sander Kersten <spkersten@gmail.com>|Fix issue where SliverPersistentHeader that is both floating and pinned would scroll down when scrolling past the beginning of the ScrollView ([#27433](https://github.com/flutter/flutter/issues/27433))|
+|Michael Goderbauer <goderbauer@google.com>|Adds a template for Pull Requests ([#28224](https://github.com/flutter/flutter/issues/28224))|
+|Michael Goderbauer <goderbauer@google.com>|Add TextOverflow.visible ([#28182](https://github.com/flutter/flutter/issues/28182))|
+|Dan Field <dfield@gmail.com>|Remove json_schema and cli_util deps from flutter_tool ([#28040](https://github.com/flutter/flutter/issues/28040)) * remove json_schema dep * remove unnecessary pin * removed unused dep * remove unused impport * Fix incorrect condition|
+|xster <xiao@xster.net>|Rename SuperellipseShare ContinuousRectangleBorder ([#28183](https://github.com/flutter/flutter/issues/28183))|
+|xster <xiao@xster.net>|revert 26001 ([#28032](https://github.com/flutter/flutter/issues/28032))|
+|Kaushik Iska <iska.kaushik@gmail.com>|Add outer try block for obtainKey errors. Add docs. ([#27953](https://github.com/flutter/flutter/issues/27953)) * Add outer try block for obtainKey errors. Add docs. * change to // from ///, and do specific error handling * Add return statement after error * Add test|
+|Jonah Williams <jonahwilliams@google.com>|Outline for survey implementation ([#27305](https://github.com/flutter/flutter/issues/27305))|
+|Dan Field <dfield@gmail.com>|Manual engine roll to ([#28222](https://github.com/flutter/flutter/issues/28222)) flutter/engine@6d7eb5218 Revert "Android embedding refactor pr3 add remaining systemchannels ([flutter/engine#7874](https://github.com/flutter/engine/issues/7874))" ([flutter/engine#7886](https://github.com/flutter/engine/issues/7886)) flutter/engine@dad6ec01c Correct onAccessibilityFeaturesChanged docs ([flutter/engine#7883](https://github.com/flutter/engine/issues/7883)) flutter/engine@fc1a68ea1 Roll src/third_party/skia e0a6a048bc4a..7738736f9622 (4 commits) ([flutter/engine#7884](https://github.com/flutter/engine/issues/7884)) flutter/engine@a150cc125 Fix minor typos in accessibility action docs ([flutter/engine#7882](https://github.com/flutter/engine/issues/7882)) flutter/engine@bf1654450 Roll src/third_party/skia 249a25730521..e0a6a048bc4a (2 commits) ([flutter/engine#7881](https://github.com/flutter/engine/issues/7881)) flutter/engine@d60ef0c36 Roll src/third_party/skia ce62dec02293..249a25730521 (15 commits) ([flutter/engine#7879](https://github.com/flutter/engine/issues/7879)) flutter/engine@1263d28ab Fix caret being at left edge when newline pressed on centered text ([flutter/engine#7875](https://github.com/flutter/engine/issues/7875))|
+|Michael Goderbauer <goderbauer@google.com>|Fix 'to to' ([#28216](https://github.com/flutter/flutter/issues/28216))|
+|Dan Field <dfield@gmail.com>|Roll engine to f45572e95f93edb89b6750a4f36ad8ed7c0a2560 ([#28178](https://github.com/flutter/flutter/issues/28178)) * Roll engine to f45572e95f93edb89b6750a4f36ad8ed7c0a2560 * update goldens * update goldens version|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|f37b09a11 [fuchsia][SCN-1054] Map elevation onto -Z in Scenic ([flutter/engine#7834](https://github.com/flutter/engine/issues/7834)) ([#28036](https://github.com/flutter/flutter/issues/28036)) https://github.com/flutter/engine/compare/163a2fd5e140...f37b09a11b28 git log 163a2fd5e140d10a30645e73031054ef39105d87..f37b09a11b281b2a4e5dfcb45029069c3ac6e460 --no-merges --oneline f37b09a11 [fuchsia][SCN-1054] Map elevation onto -Z in Scenic ([flutter/engine#7834](https://github.com/flutter/engine/issues/7834)) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|engine-flutter-autoroll <engine-flutter-autoroll@skia.org>|Roll engine 033f2072c315..163a2fd5e140 (26 commits) ([#28035](https://github.com/flutter/flutter/issues/28035)) https://github.com/flutter/engine/compare/033f2072c315...163a2fd5e140 git log 033f2072c315d48b4d7680d4cbbe856012b1259b..163a2fd5e140d10a30645e73031054ef39105d87 --no-merges --oneline 163a2fd5e Revert &[#34](https://github.com/flutter/flutter/issues/34);Android embedding refactor pr3 add remaining systemchannels ([#7738](https://github.com/flutter/flutter/issues/7738))&[#34](https://github.com/flutter/flutter/issues/34); ([flutter/engine#7849](https://github.com/flutter/engine/issues/7849)) 0d6ff1669 Shut down and restart the Dart VM as needed. ([flutter/engine#7832](https://github.com/flutter/engine/issues/7832)) 256db4bc2 Android embedding refactor pr3 add remaining systemchannels ([flutter/engine#7738](https://github.com/flutter/engine/issues/7738)) 02d7ca31d Don&[#39](https://github.com/flutter/flutter/issues/39);t call static method from instance variable ([flutter/engine#7841](https://github.com/flutter/engine/issues/7841)) 10cee612b Delete GL textures when they are released from the texture registry. ([flutter/engine#7836](https://github.com/flutter/engine/issues/7836)) 69e460607 Fix NullPointerException in SurfaceTextureRegistryEntry ([flutter/engine#7837](https://github.com/flutter/engine/issues/7837)) 9a965bc3d Fix NullPointerException in ResourceCleaner ([flutter/engine#7838](https://github.com/flutter/engine/issues/7838)) 2acd79480 Add fml::FileExists implementation for Windows ([flutter/engine#7845](https://github.com/flutter/engine/issues/7845)) fa38a985c Update buildroot to 7f64ff4928e to unblock Mac builds. ([flutter/engine#7846](https://github.com/flutter/engine/issues/7846)) 1ba329550 Add support for calling into other plugins from a background context on iOS ([flutter/engine#7843](https://github.com/flutter/engine/issues/7843)) df2fc973a Roll src/third_party/skia 154acd7a1374..be9aff25bddc (13 commits) ([flutter/engine#7842](https://github.com/flutter/engine/issues/7842)) 0ca1d1f31 Remove the Dart JIT snapshot data from AOT builds of the embedder library ([flutter/engine#7806](https://github.com/flutter/engine/issues/7806)) c51ea4157 Roll src/third_party/skia 7a74c7cb6da0..154acd7a1374 (1 commits) ([flutter/engine#7840](https://github.com/flutter/engine/issues/7840)) ecbaea10a Ensure to pass dill file after VM options for gen_snapshot ([flutter/engine#7839](https://github.com/flutter/engine/issues/7839)) 5d3f7145a Roll src/third_party/skia b00f7b34751b..7a74c7cb6da0 (1 commits) ([flutter/engine#7835](https://github.com/flutter/engine/issues/7835)) 733739938 Roll src/third_party/skia 9a88bee122f1..b00f7b34751b (24 commits) ([flutter/engine#7831](https://github.com/flutter/engine/issues/7831)) 6f318efe0 Move up ndk version that is being downloaded(old one no longer available) ([flutter/engine#7830](https://github.com/flutter/engine/issues/7830)) a8aa1ee06 Track flow id ([flutter/engine#7826](https://github.com/flutter/engine/issues/7826)) b1ce6b72f Roll src/third_party/skia a0dcd29f536b..9a88bee122f1 (4 commits) ([flutter/engine#7825](https://github.com/flutter/engine/issues/7825)) dbc166387 Roll src/third_party/skia 6152470dc69e..a0dcd29f536b (2 commits) ([flutter/engine#7824](https://github.com/flutter/engine/issues/7824)) 942677695 Roll src/third_party/skia 4037f7f5d8b4..6152470dc69e (1 commits) ([flutter/engine#7823](https://github.com/flutter/engine/issues/7823)) e2394ad77 Add flow events connecting pointer events to frames ([flutter/engine#7807](https://github.com/flutter/engine/issues/7807)) 0a5a7c56d Roll src/third_party/skia 09c01e9df260..4037f7f5d8b4 (3 commits) ([flutter/engine#7821](https://github.com/flutter/engine/issues/7821)) b867f4858 Roll src/third_party/skia 186669c4128b..09c01e9df260 (5 commits) ([flutter/engine#7820](https://github.com/flutter/engine/issues/7820)) af39e22c3 Fix tests that were committed after cirrus ran ([flutter/engine#7819](https://github.com/flutter/engine/issues/7819)) 1f2cbf792 Roll src/third_party/dart 0a7dcf17eb..c92d5ca288 (64 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop the roller if necessary.|
+|Stanislav Baranov <stanislav@gmail.com>|Revert "Add support for binary compression of dynamic patches by the flutter tool. ([#27754](https://github.com/flutter/flutter/issues/27754))" ([#28031](https://github.com/flutter/flutter/issues/28031)) This reverts commit b47da6c2b79d90f33d73e9225b4b3bbbd0ffd99e.|
+|Dan Field <dfield@gmail.com>|Reland automatic discovery of observatory port for iOS ([#27908](https://github.com/flutter/flutter/issues/27908)) * Discover port over mDNS * Update BUILD.gn for tools|
+|liyuqian <liyuqian@google.com>|Increase our build budget to 16ms ([#27709](https://github.com/flutter/flutter/issues/27709)) Because we now have 2 separate GPU and UI threads.|
+|KyleWong <kang.wang1988@gmail.com>|Refactor local engine logic ([#27765](https://github.com/flutter/flutter/issues/27765)) * Refactor for iOS. * For android_xxx_unopt_arm64&ios_xxx_unopt_arm, remove the _arm64/_arm suffix. dart generated in host_xxx_unopt/host_xxx has an arch of x86_64 which supports arm64/arm. * Remove suffixes for various archs.|
+|Jason Simmons <jason-simmons@users.noreply.github.com>|Disable prefer_collection_literals in the analyzer until we can update to using set literals ([#28024](https://github.com/flutter/flutter/issues/28024))|
+|Hans Muller <hansmuller@chromium.org>|Add extendBody parameter to Scaffold, body MediaQuery reflects BAB height ([#27973](https://github.com/flutter/flutter/issues/27973))|
+|Jonah Williams <jonahwilliams@google.com>|remove accidentally commited libs ([#28011](https://github.com/flutter/flutter/issues/28011))|
+|jslavitz <jslavitz@google.com>|Fixes switch vibration ([#27900](https://github.com/flutter/flutter/issues/27900)) * Fixes Cupertino switch vibration|
+|Gary Qian <garyq@google.com>|Roll engine for [flutter/engine#7791](https://github.com/flutter/engine/issues/7791) - Add trailing whitespace tracking.|
+|Kate Lovett <katelovett@google.com>|Sample code for Icon class ([#27968](https://github.com/flutter/flutter/issues/27968)) * Added sample code for a simple Icon, ref: [#21136](https://github.com/flutter/flutter/issues/21136) * Removed duplicate line. * Fixed incoreect parameter. * Update icon.dart Removed empty prose and added better context for sample code. Changed sample code for better visibility in execution of default app themes. * Alas, Trailing space. Nixed trailing space in comments.|
+|Michael Goderbauer <goderbauer@google.com>|Reapply "Fix overflow clipping/fading for text ([#27892](https://github.com/flutter/flutter/issues/27892))" ([#27980](https://github.com/flutter/flutter/issues/27980)) Fixes https://github.com/flutter/flutter/issues/25025|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Re-apply "Ensure all curves return 0 and 1 in .transform(t) when t=0/1" ([#28006](https://github.com/flutter/flutter/issues/28006)) Re-applies [#27409](https://github.com/flutter/flutter/issues/27409) by reverting [#27919](https://github.com/flutter/flutter/issues/27919) The analyzer issue ([dart-lang/sdk#35940](https://github.com/dart-lang/sdk/issues/35940)) has been temporarily worked around by virtue of [#27929](https://github.com/flutter/flutter/issues/27929)|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Fix Dashing rules to use new dartdoc CSS entity markers. ([#27818](https://github.com/flutter/flutter/issues/27818)) This fixes the offline Dash/Zeal docs generation to use the newly added dartdoc markers for different entity types to make it more exact when finding entity names. Bumped Dartdoc to the next release.|
+|Todd Volkert <tvolkert@users.noreply.github.com>|Ensure that Dart SDK dirs have appropriate permissions ([#26315](https://github.com/flutter/flutter/issues/26315)) This is a partial re-application of [#24669](https://github.com/flutter/flutter/issues/24669) https://github.com/flutter/flutter/issues/24413|
+|Greg Spencer <gspencergoog@users.noreply.github.com>|Remove remaining "## Sample code" segments, and fix the snippet generator. ([#27793](https://github.com/flutter/flutter/issues/27793)) This converts all remaining "## Sample code" segments into snippets, and fixes the snippet generator to handle multiple snippets in the same dartdoc block properly. I also generated, compiled, and ran each of the existing application samples, and fixed them up to be more useful and/or just run without errors. This PR fixes these problems with examples: 1. Switching tabs in a snippet now works if there is more than one snippet in a single dartdoc block. 2. Generation of snippet code now works if there is more than one snippet. 3. Contrast of text and links in the code sample block has been improved to recommended levels. 4. Added five new snippet templates, including a "freeform" template to make it possible to show examples that need to change the app instantiation. 5. Fixed several examples to run properly, a couple by adding the "Scaffold" widget to the template, a couple by just fixing their code. 6. Fixed visual look of some of the samples when they run by placing many samples inside of a Scaffold. 7. In order to make it easier to run locally, changed the sample analyzer to remove the contents of the supplied temp directory before running, since having files that hang around is problematic (only a problem when running locally with the `--temp` argument). 8. Added a `SampleCheckerException` class, and handle sample checking exceptions more gracefully. 9. Deprecated the old "## Sample code" designation, and added enforcement for the deprecation. 10. Removed unnecessary `new` from templates (although they never appeared in the samples thanks to dartfmt, but still). Fixes [#26398](https://github.com/flutter/flutter/issues/26398) Fixes [#27411](https://github.com/flutter/flutter/issues/27411)|
+|Martin Kustermann <kustermann.martin@gmail.com>|Use double literals where a double type is expected ([#27929](https://github.com/flutter/flutter/issues/27929)) This makes the code more consistent but also fixes our flutter-analyze bot. Issue https://github.com/dart-lang/sdk/issues/35940|
+|Jonah Williams <jonahwilliams@google.com>|Add basic codegen app to be used for integration testing and benchmarks ([#27257](https://github.com/flutter/flutter/issues/27257))|
+|Jonah Williams <jonahwilliams@google.com>|add ui.Window fallback to TestViewConfiguration ([#27987](https://github.com/flutter/flutter/issues/27987))|
+|Jonah Williams <jonahwilliams@google.com>|Wire dart2js through flutter tool, add compilation test ([#27668](https://github.com/flutter/flutter/issues/27668))|
+
+In `flutter/flutter` there were 647 commits
+
+## Labels Addressed by Label
+
+| Label | Number of Issues |
+|--------|--------|
+| **Work in progress (WIP)** | **1 issue with this label** |
+| | [flutter/engine#8274](https://github.com/flutter/engine/pull/8274) [ui] Add null check in FontWeight.lerp |
+| **a: accessibility** | **1 issue with this label** |
+| | [flutter/flutter#29342](https://github.com/flutter/flutter/pull/29342) Add semantic label finders |
+| **a: animation** | **5 issues with this label** |
+| | [flutter/flutter#30276](https://github.com/flutter/flutter/pull/30276) Random trivial fixes in the animation packages |
+| | [flutter/flutter#29069](https://github.com/flutter/flutter/pull/29069) Heroes and nested Navigators |
+| | [flutter/flutter#27803](https://github.com/flutter/flutter/pull/27803) Added sample code to AnimatedWidget |
+| | [flutter/flutter#28006](https://github.com/flutter/flutter/pull/28006) Re-apply "Ensure all curves return 0 and 1 in .transform(t) when t=0/1" |
+| | [flutter/flutter#27929](https://github.com/flutter/flutter/pull/27929) Use double literals where a double type is expected |
+| **a: debugging** | **1 issue with this label** |
+| | [flutter/flutter#27904](https://github.com/flutter/flutter/pull/27904) Convert PointerEvent's toString to Diagnosticable |
+| **a: desktop** | **5 issues with this label** |
+| | [flutter/flutter#30938](https://github.com/flutter/flutter/pull/30938) Update keycodes, fix a comment. |
+| | [flutter/flutter#30648](https://github.com/flutter/flutter/pull/30648) Allow downloading of desktop embedding artifacts |
+| | [flutter/flutter#30643](https://github.com/flutter/flutter/pull/30643) Add Form.onSaved |
+| | [flutter/flutter#29993](https://github.com/flutter/flutter/pull/29993) Adds the keyboard mapping for Linux |
+| | [flutter/flutter#29231](https://github.com/flutter/flutter/pull/29231) Adds macOS raw keyboard mapping |
+| **a: existing-apps** | **1 issue with this label** |
+| | [flutter/flutter#27712](https://github.com/flutter/flutter/pull/27712) add2app test |
+| **a: fidelity** | **3 issues with this label** |
+| | [flutter/flutter#30991](https://github.com/flutter/flutter/pull/30991) Use full height of the glyph for caret height on Android |
+| | [flutter/flutter#28597](https://github.com/flutter/flutter/pull/28597) Adjust remaining Cupertino route animations to match native |
+| | [flutter/flutter#27711](https://github.com/flutter/flutter/pull/27711) Make extended FAB's icon optional |
+| **a: first hour** | **1 issue with this label** |
+| | [flutter/flutter#30562](https://github.com/flutter/flutter/pull/30562) Replace flutter.io with flutter.dev |
+| **a: internationalization** | **1 issue with this label** |
+| | [flutter/flutter#27945](https://github.com/flutter/flutter/pull/27945) Fixes crossAxisSpacing overflow in RTL |
+| **a: quality** | **1 issue with this label** |
+| | [flutter/flutter#30562](https://github.com/flutter/flutter/pull/30562) Replace flutter.io with flutter.dev |
+| **a: tests** | **23 issues with this label** |
+| | [flutter/flutter#30857](https://github.com/flutter/flutter/pull/30857) Added support for authentication codes for the VM service. |
+| | [flutter/flutter#30898](https://github.com/flutter/flutter/pull/30898) Check that ErrorWidget.builder is not modified after test |
+| | [flutter/flutter#30985](https://github.com/flutter/flutter/pull/30985) Add rrect contains microbenchmark |
+| | [flutter/flutter#30871](https://github.com/flutter/flutter/pull/30871) Update the upload key which seems to have trouble for some reason |
+| | [flutter/flutter#30747](https://github.com/flutter/flutter/pull/30747) Print warning if flutter drive is run in debug |
+| | [flutter/flutter#29669](https://github.com/flutter/flutter/pull/29669) Speed up CI via mojave-flutter image |
+| | [flutter/flutter#29467](https://github.com/flutter/flutter/pull/29467) prevent stream notifications from interfering with reload |
+| | [flutter/flutter#29342](https://github.com/flutter/flutter/pull/29342) Add semantic label finders |
+| | [flutter/flutter#29566](https://github.com/flutter/flutter/pull/29566) Manually roll engine to 5088735e5f |
+| | [flutter/flutter#29340](https://github.com/flutter/flutter/pull/29340) guard new formatter behind env var |
+| | [flutter/flutter#27971](https://github.com/flutter/flutter/pull/27971) Run non-perf sensitive tests on Cirrus |
+| | [flutter/flutter#29025](https://github.com/flutter/flutter/pull/29025) print system time on all mac builds |
+| | [flutter/flutter#25202](https://github.com/flutter/flutter/pull/25202) fix #19175 How should addTime be used from a test? |
+| | [flutter/flutter#28297](https://github.com/flutter/flutter/pull/28297) Test reporter |
+| | [flutter/flutter#28852](https://github.com/flutter/flutter/pull/28852) Update macOS version in tests |
+| | [flutter/flutter#28638](https://github.com/flutter/flutter/pull/28638) Fix the test annotation used for test groups |
+| | [flutter/flutter#28555](https://github.com/flutter/flutter/pull/28555) disable dart2js test |
+| | [flutter/flutter#28480](https://github.com/flutter/flutter/pull/28480) increase timeout |
+| | [flutter/flutter#28168](https://github.com/flutter/flutter/pull/28168) [flutter_tool,fuchsia_tester] Only require a test source dir for coverage |
+| | [flutter/flutter#27944](https://github.com/flutter/flutter/pull/27944) Add tests |
+| | [flutter/flutter#28373](https://github.com/flutter/flutter/pull/28373) Mark non-flaky test as such |
+| | [flutter/flutter#27712](https://github.com/flutter/flutter/pull/27712) add2app test |
+| | [flutter/flutter#27987](https://github.com/flutter/flutter/pull/27987) add ui.Window fallback to TestViewConfiguration |
+| **a: text input** | **12 issues with this label** |
+| | [flutter/flutter#30991](https://github.com/flutter/flutter/pull/30991) Use full height of the glyph for caret height on Android |
+| | [flutter/flutter#28001](https://github.com/flutter/flutter/pull/28001) CupertinoTextField: added ability to change placeholder color |
+| | [flutter/flutter#29395](https://github.com/flutter/flutter/pull/29395) Fix text selection when user is dragging in the opposite direction |
+| | [flutter/flutter#27205](https://github.com/flutter/flutter/pull/27205) Fix TextField height issues |
+| | [flutter/flutter#28169](https://github.com/flutter/flutter/pull/28169) Add/rewrite tests for FocusScope. |
+| | [flutter/flutter#28290](https://github.com/flutter/flutter/pull/28290) Text selection via mouse |
+| | [flutter/flutter#28558](https://github.com/flutter/flutter/pull/28558) Fix typo |
+| | [flutter/flutter#28438](https://github.com/flutter/flutter/issues/28438) PC keyboard not works on text fields in emulator when on master branch. |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#27898](https://github.com/flutter/flutter/pull/27898) Add slight clarification to debugDeterministicCursor |
+| | [flutter/flutter#26659](https://github.com/flutter/flutter/pull/26659) Adds fix for NAN value and pressure values outside of device reported min and max |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| **a: typography** | **4 issues with this label** |
+| | [flutter/flutter#30991](https://github.com/flutter/flutter/pull/30991) Use full height of the glyph for caret height on Android |
+| | [flutter/flutter#28751](https://github.com/flutter/flutter/pull/28751) Expose decorationThickness in TextStyle. Roll engine (12 commits) |
+| | [flutter/flutter#28398](https://github.com/flutter/flutter/pull/28398) fix red build for analysis |
+| | [flutter/flutter#28182](https://github.com/flutter/flutter/pull/28182) Add TextOverflow.visible |
+| **affects: dev experience** | **1 issue with this label** |
+| | [flutter/engine#7908](https://github.com/flutter/engine/pull/7908) Link dart:* sources into engine for debugger source support |
+| **affects: docs** | **3 issues with this label** |
+| | [flutter/engine#8617](https://github.com/flutter/engine/pull/8617) Fixes a typo in comment |
+| | [flutter/engine#8472](https://github.com/flutter/engine/pull/8472) [Docs] Correcting link to contributing guide. |
+| | [flutter/engine#8295](https://github.com/flutter/engine/pull/8295) Fixing links between higher and lower classes. |
+| **affects: engine** | **1 issue with this label** |
+| | [flutter/engine#7908](https://github.com/flutter/engine/pull/7908) Link dart:* sources into engine for debugger source support |
+| **area-analyzer** | **1 issue with this label** |
+| | [dart-lang/sdk#35940](https://github.com/dart-lang/sdk/issues/35940) Dartanalyzer: Missing line/column information, Unexpected error for int-to-double cast |
+| **cla: no** | **2 issues with this label** |
+| | [flutter/flutter#27205](https://github.com/flutter/flutter/pull/27205) Fix TextField height issues |
+| | [flutter/flutter#28159](https://github.com/flutter/flutter/pull/28159) [Material] Expand BottomNavigationBar API (reprise) |
+| **customer: dream (g3)** | **1 issue with this label** |
+| | [flutter/flutter#29532](https://github.com/flutter/flutter/pull/29532) Reland composite physical layers on all platforms |
+| **customer: fuchsia** | **3 issues with this label** |
+| | [flutter/flutter#30458](https://github.com/flutter/flutter/pull/30458) [fuchsia] Fix isolate filter |
+| | [flutter/flutter#29532](https://github.com/flutter/flutter/pull/29532) Reland composite physical layers on all platforms |
+| | [flutter/flutter#29454](https://github.com/flutter/flutter/pull/29454) Update another SDK constraint |
+| **d: api docs** | **36 issues with this label** |
+| | [flutter/flutter#30887](https://github.com/flutter/flutter/pull/30887) Add more dialog doc cross-reference |
+| | [flutter/flutter#30814](https://github.com/flutter/flutter/pull/30814) Fix StatefulWidget and StatelessWidget Sample Documentation |
+| | [flutter/flutter#30805](https://github.com/flutter/flutter/pull/30805) Update ExpansionPanelList Samples with Scaffold Template |
+| | [flutter/flutter#30537](https://github.com/flutter/flutter/pull/30537) Embedded images and added variations to ListTile sample code |
+| | [flutter/flutter#30626](https://github.com/flutter/flutter/pull/30626) Add sample for ValueListenable |
+| | [flutter/flutter#30563](https://github.com/flutter/flutter/pull/30563) Fixed a typo in the Expanded API doc |
+| | [flutter/flutter#30343](https://github.com/flutter/flutter/pull/30343) ExpansionPanelList and ExpansionPanelList.radio documentation |
+| | [flutter/flutter#30398](https://github.com/flutter/flutter/pull/30398) Embedding new raised button diagram. |
+| | [flutter/flutter#30453](https://github.com/flutter/flutter/pull/30453) Updating sample code for BottomNavigationBar class for diagram. |
+| | [flutter/flutter#30452](https://github.com/flutter/flutter/pull/30452) Moar Videos |
+| | [flutter/flutter#30451](https://github.com/flutter/flutter/pull/30451) Bump dartdocs to 0.28.3 |
+| | [flutter/flutter#30348](https://github.com/flutter/flutter/pull/30348) RaisedButton Sample Code Update for Diagrams |
+| | [flutter/flutter#30201](https://github.com/flutter/flutter/pull/30201) update sample code analyzer regexp & test case |
+| | [flutter/flutter#30048](https://github.com/flutter/flutter/pull/30048) Document that Hero needs to be present on destination page's zero frame |
+| | [flutter/flutter#29697](https://github.com/flutter/flutter/pull/29697) Embedding new diagrams for API Docs |
+| | [flutter/flutter#29987](https://github.com/flutter/flutter/pull/29987) update CupertinoSwitch documentation |
+| | [flutter/flutter#22859](https://github.com/flutter/flutter/issues/22859) Provide links between dart:ui classes and their corresponding classes in higher layers |
+| | [flutter/flutter#29445](https://github.com/flutter/flutter/pull/29445) Add doc about MediaQuery to Chip |
+| | [flutter/flutter#13637](https://github.com/flutter/flutter/issues/13637) Add images and examples to Align |
+| | [flutter/flutter#29442](https://github.com/flutter/flutter/pull/29442) Align Snippet for API Docs |
+| | [flutter/flutter#29245](https://github.com/flutter/flutter/pull/29245) Fix DartDoc for UniqueKey |
+| | [flutter/flutter#29165](https://github.com/flutter/flutter/pull/29165) Docs edit for Tab Label Color |
+| | [flutter/flutter#29053](https://github.com/flutter/flutter/pull/29053) Update to Container Sample Code in API Docs |
+| | [flutter/flutter#28857](https://github.com/flutter/flutter/pull/28857) Form Snippet for API Docs |
+| | [flutter/flutter#21136](https://github.com/flutter/flutter/issues/21136) Request sample code for popular API docs |
+| | [flutter/flutter#28675](https://github.com/flutter/flutter/pull/28675) Update docs for ancestorWidgetOfExactType |
+| | [flutter/flutter#28752](https://github.com/flutter/flutter/pull/28752) FAB Snippet for API Docs |
+| | [flutter/flutter#28748](https://github.com/flutter/flutter/pull/28748) Revert "Remove the old HaTS implementation on API docs" |
+| | [flutter/flutter#28683](https://github.com/flutter/flutter/pull/28683) Remove the old HaTS implementation on API docs |
+| | [flutter/flutter#27751](https://github.com/flutter/flutter/pull/27751) Add Sample code for FlatButton #21136 |
+| | [flutter/flutter#28558](https://github.com/flutter/flutter/pull/28558) Fix typo |
+| | [flutter/flutter#28245](https://github.com/flutter/flutter/pull/28245) [Typo] Update 'use' to 'user' |
+| | [flutter/flutter#28017](https://github.com/flutter/flutter/pull/28017) Add more docs to BackdropFilter |
+| | [flutter/flutter#27803](https://github.com/flutter/flutter/pull/27803) Added sample code to AnimatedWidget |
+| | [flutter/flutter#27305](https://github.com/flutter/flutter/pull/27305) Outline for survey implementation |
+| | [flutter/flutter#27793](https://github.com/flutter/flutter/pull/27793) Remove remaining "## Sample code" segments, and fix the snippet generator. |
+| **d: examples** | **8 issues with this label** |
+| | [flutter/flutter#30398](https://github.com/flutter/flutter/pull/30398) Embedding new raised button diagram. |
+| | [flutter/flutter#30453](https://github.com/flutter/flutter/pull/30453) Updating sample code for BottomNavigationBar class for diagram. |
+| | [flutter/flutter#30348](https://github.com/flutter/flutter/pull/30348) RaisedButton Sample Code Update for Diagrams |
+| | [flutter/flutter#29697](https://github.com/flutter/flutter/pull/29697) Embedding new diagrams for API Docs |
+| | [flutter/flutter#29442](https://github.com/flutter/flutter/pull/29442) Align Snippet for API Docs |
+| | [flutter/flutter#29053](https://github.com/flutter/flutter/pull/29053) Update to Container Sample Code in API Docs |
+| | [flutter/flutter#28857](https://github.com/flutter/flutter/pull/28857) Form Snippet for API Docs |
+| | [flutter/flutter#28752](https://github.com/flutter/flutter/pull/28752) FAB Snippet for API Docs |
+| **e: desktop** | **5 issues with this label** |
+| | [flutter/flutter#31283](https://github.com/flutter/flutter/pull/31283) Add desktop workflows to doctor |
+| | [flutter/flutter#31229](https://github.com/flutter/flutter/pull/31229) Add flutter run support for linux and windows |
+| | [flutter/flutter#31277](https://github.com/flutter/flutter/pull/31277) pass track widget creation flag through to build script |
+| | [flutter/flutter#31218](https://github.com/flutter/flutter/pull/31218) Add run capability for macOS target |
+| | [flutter/flutter#31205](https://github.com/flutter/flutter/pull/31205) Add desktop projects and build commands (experimental) |
+| **easy fix** | **3 issues with this label** |
+| | [flutter/flutter#21136](https://github.com/flutter/flutter/issues/21136) Request sample code for popular API docs |
+| | [flutter/flutter#7738](https://github.com/flutter/flutter/issues/7738) Allow for more flexible unselected label color parameter in TabBar |
+| | [flutter/engine#8472](https://github.com/flutter/engine/pull/8472) [Docs] Correcting link to contributing guide. |
+| **engine** | **3 issues with this label** |
+| | [flutter/flutter#14704](https://github.com/flutter/flutter/issues/14704) Unpack cached code on Android to the getCodeCacheDir() directory, rather than the user data directory |
+| | [flutter/flutter#28651](https://github.com/flutter/flutter/issues/28651) Cannot execute operation because FlutterJNI is not attached to native. |
+| | [flutter/flutter#27712](https://github.com/flutter/flutter/pull/27712) add2app test |
+| **f: cupertino** | **20 issues with this label** |
+| | [flutter/flutter#31088](https://github.com/flutter/flutter/pull/31088) Text field scroll physics |
+| | [flutter/flutter#30946](https://github.com/flutter/flutter/pull/30946) Add some more cupertino icons |
+| | [flutter/flutter#29451](https://github.com/flutter/flutter/pull/29451) Added opacity to cupertino switch when disabled |
+| | [flutter/flutter#30862](https://github.com/flutter/flutter/pull/30862) CupertinoDatePicker initialDateTime accounts for minuteInterval |
+| | [flutter/flutter#29822](https://github.com/flutter/flutter/pull/29822) Cupertino localization step 7: modularize material specific things out of gen_localizations.dart |
+| | [flutter/flutter#30527](https://github.com/flutter/flutter/pull/30527) Cupertino localization step 11: add more translation clarifications in the instructions |
+| | [flutter/flutter#29767](https://github.com/flutter/flutter/pull/29767) Cupertino localization step 6: add a GlobalCupertinoLocalizations base class with date time formatting |
+| | [flutter/flutter#29708](https://github.com/flutter/flutter/pull/29708) Cupertino localization step 5: add french arb as translated example |
+| | [flutter/flutter#28001](https://github.com/flutter/flutter/pull/28001) CupertinoTextField: added ability to change placeholder color |
+| | [flutter/flutter#29821](https://github.com/flutter/flutter/pull/29821) Cupertino localization step 1.5: fix a resource mismatch in cupertino_en.arb |
+| | [flutter/flutter#29946](https://github.com/flutter/flutter/pull/29946) Let CupertinoPageScaffold have tap status bar to scroll to top |
+| | [flutter/flutter#29987](https://github.com/flutter/flutter/pull/29987) update CupertinoSwitch documentation |
+| | [flutter/flutter#29943](https://github.com/flutter/flutter/pull/29943) Remove unwanted gap between navigation bar and safe area's child |
+| | [flutter/flutter#29630](https://github.com/flutter/flutter/pull/29630) Add heart shapes to CupertinoIcons |
+| | [flutter/flutter#28597](https://github.com/flutter/flutter/pull/28597) Adjust remaining Cupertino route animations to match native |
+| | [flutter/flutter#29463](https://github.com/flutter/flutter/pull/29463) Make real JSON in arb |
+| | [flutter/flutter#28900](https://github.com/flutter/flutter/pull/28900) Add key support to cupertino button |
+| | [flutter/flutter#28855](https://github.com/flutter/flutter/pull/28855) Move material iOS back swipe test to material |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| **f: gestures** | **6 issues with this label** |
+| | [flutter/flutter#28749](https://github.com/flutter/flutter/pull/28749) Add minimum time gap requirement to double tap |
+| | [flutter/flutter#28290](https://github.com/flutter/flutter/pull/28290) Text selection via mouse |
+| | [flutter/flutter#28546](https://github.com/flutter/flutter/pull/28546) Call onTapCancel when down pointer gets cancelled |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#27904](https://github.com/flutter/flutter/pull/27904) Convert PointerEvent's toString to Diagnosticable |
+| | [flutter/flutter#26659](https://github.com/flutter/flutter/pull/26659) Adds fix for NAN value and pressure values outside of device reported min and max |
+| **f: material design** | **44 issues with this label** |
+| | [flutter/flutter#31088](https://github.com/flutter/flutter/pull/31088) Text field scroll physics |
+| | [flutter/flutter#29390](https://github.com/flutter/flutter/pull/29390) Make expansion panel optionally toggle its state by tapping its header. |
+| | [flutter/flutter#30746](https://github.com/flutter/flutter/pull/30746) Baseline Aligned Row |
+| | [flutter/flutter#30793](https://github.com/flutter/flutter/pull/30793) Revert "Add Form.onSaved" |
+| | [flutter/flutter#30525](https://github.com/flutter/flutter/pull/30525) Fix cursor outside of input width |
+| | [flutter/flutter#30805](https://github.com/flutter/flutter/pull/30805) Update ExpansionPanelList Samples with Scaffold Template |
+| | [flutter/flutter#30537](https://github.com/flutter/flutter/pull/30537) Embedded images and added variations to ListTile sample code |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#30497](https://github.com/flutter/flutter/pull/30497) Add confirmDismiss example to flutter_gallery |
+| | [flutter/flutter#30475](https://github.com/flutter/flutter/pull/30475) Trackpad mode crash fix |
+| | [flutter/flutter#29413](https://github.com/flutter/flutter/pull/29413) Fix MaterialApp's _navigatorObserver when only builder used |
+| | [flutter/flutter#30343](https://github.com/flutter/flutter/pull/30343) ExpansionPanelList and ExpansionPanelList.radio documentation |
+| | [flutter/flutter#27217](https://github.com/flutter/flutter/pull/27217) Fix Shrine overscroll glow indicator |
+| | [flutter/flutter#30353](https://github.com/flutter/flutter/pull/30353) Fix minor typo |
+| | [flutter/flutter#30212](https://github.com/flutter/flutter/pull/30212) Added assert to prevent complete ListTile trailing/leading horizontal expansion |
+| | [flutter/flutter#30123](https://github.com/flutter/flutter/pull/30123) Fix OutlineInputBorder crash |
+| | [flutter/flutter#30219](https://github.com/flutter/flutter/pull/30219) Added helpful Material assert message |
+| | [flutter/flutter#29771](https://github.com/flutter/flutter/pull/29771) Set Max Height for ListTile trailing and leading widgets |
+| | [flutter/flutter#30048](https://github.com/flutter/flutter/pull/30048) Document that Hero needs to be present on destination page's zero frame |
+| | [flutter/flutter#29811](https://github.com/flutter/flutter/pull/29811) TextField Validator Height Docs |
+| | [flutter/flutter#29980](https://github.com/flutter/flutter/pull/29980) Fix issue with account drawer header arrow rotating when setState is called |
+| | [flutter/flutter#29563](https://github.com/flutter/flutter/pull/29563) Avoid flickering while dragging to select text |
+| | [flutter/flutter#29138](https://github.com/flutter/flutter/pull/29138) Update DropdownButton underline to be customizable |
+| | [flutter/flutter#28735](https://github.com/flutter/flutter/pull/28735) [Material] Create a FloatingActionButton ThemeData and honor it within the FloatingActionButton |
+| | [flutter/flutter#29564](https://github.com/flutter/flutter/pull/29564) Update progress indicator API docs |
+| | [flutter/flutter#29445](https://github.com/flutter/flutter/pull/29445) Add doc about MediaQuery to Chip |
+| | [flutter/flutter#29183](https://github.com/flutter/flutter/pull/29183) Implement labelPadding configuration in TabBarTheme |
+| | [flutter/flutter#29165](https://github.com/flutter/flutter/pull/29165) Docs edit for Tab Label Color |
+| | [flutter/flutter#29175](https://github.com/flutter/flutter/pull/29175) Ensure that animated pairs of Tabs TextStyles have matching inherited values |
+| | [flutter/flutter#28752](https://github.com/flutter/flutter/pull/28752) FAB Snippet for API Docs |
+| | [flutter/flutter#27751](https://github.com/flutter/flutter/pull/27751) Add Sample code for FlatButton #21136 |
+| | [flutter/flutter#28558](https://github.com/flutter/flutter/pull/28558) Fix typo |
+| | [flutter/flutter#28013](https://github.com/flutter/flutter/pull/28013) [Material] Unit test for skipping Slider tick mark due to overdensity |
+| | [flutter/flutter#21834](https://github.com/flutter/flutter/pull/21834) Add shapeBorder option on App Bar |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#28371](https://github.com/flutter/flutter/pull/28371) Ensure that the DropdownButton menu respects its parents bounds |
+| | [flutter/flutter#28214](https://github.com/flutter/flutter/pull/28214) [Material] Add the ability to theme trailing app bar actions independently from leading |
+| | [flutter/flutter#28245](https://github.com/flutter/flutter/pull/28245) [Typo] Update 'use' to 'user' |
+| | [flutter/flutter#28163](https://github.com/flutter/flutter/pull/28163) [Material] Add ability to set shadow color and selected shadow color for chips and for chip themes |
+| | [flutter/flutter#27711](https://github.com/flutter/flutter/pull/27711) Make extended FAB's icon optional |
+| | [flutter/flutter#28159](https://github.com/flutter/flutter/pull/28159) [Material] Expand BottomNavigationBar API (reprise) |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| | [flutter/flutter#28216](https://github.com/flutter/flutter/pull/28216) Fix 'to to' |
+| | [flutter/flutter#27973](https://github.com/flutter/flutter/pull/27973) Add extendBody parameter to Scaffold, body MediaQuery reflects BAB height |
+| **f: routes** | **1 issue with this label** |
+| | [flutter/flutter#28597](https://github.com/flutter/flutter/pull/28597) Adjust remaining Cupertino route animations to match native |
+| **f: scrolling** | **2 issues with this label** |
+| | [flutter/flutter#27945](https://github.com/flutter/flutter/pull/27945) Fixes crossAxisSpacing overflow in RTL |
+| | [flutter/flutter#27433](https://github.com/flutter/flutter/pull/27433) Fix issue where SliverPersistentHeader that is both floating and pinned would scroll down when scrolling past the beginning of the ScrollView |
+| **framework** | **144 issues with this label** |
+| | [flutter/flutter#31088](https://github.com/flutter/flutter/pull/31088) Text field scroll physics |
+| | [flutter/flutter#29390](https://github.com/flutter/flutter/pull/29390) Make expansion panel optionally toggle its state by tapping its header. |
+| | [flutter/flutter#30422](https://github.com/flutter/flutter/pull/30422) Commit a navigator.pop as soon as the back swipe is lifted |
+| | [flutter/flutter#30946](https://github.com/flutter/flutter/pull/30946) Add some more cupertino icons |
+| | [flutter/flutter#31159](https://github.com/flutter/flutter/pull/31159) Revert "Use full height of the glyph for caret height on Android" |
+| | [flutter/flutter#30938](https://github.com/flutter/flutter/pull/30938) Update keycodes, fix a comment. |
+| | [flutter/flutter#30898](https://github.com/flutter/flutter/pull/30898) Check that ErrorWidget.builder is not modified after test |
+| | [flutter/flutter#30809](https://github.com/flutter/flutter/pull/30809) Fix issue 23527: Exception: RenderViewport exceeded its maximum numb… |
+| | [flutter/flutter#30746](https://github.com/flutter/flutter/pull/30746) Baseline Aligned Row |
+| | [flutter/flutter#30880](https://github.com/flutter/flutter/pull/30880) Let `sliver.dart` `_createErrorWidget` work with other Widgets |
+| | [flutter/flutter#30862](https://github.com/flutter/flutter/pull/30862) CupertinoDatePicker initialDateTime accounts for minuteInterval |
+| | [flutter/flutter#30876](https://github.com/flutter/flutter/pull/30876) Simplify toImage future handling |
+| | [flutter/flutter#30470](https://github.com/flutter/flutter/pull/30470) Fixed Table flex column layout error #30437 |
+| | [flutter/flutter#30667](https://github.com/flutter/flutter/pull/30667) Fix additional @mustCallSuper indirect overrides and mixins |
+| | [flutter/flutter#30643](https://github.com/flutter/flutter/pull/30643) Add Form.onSaved |
+| | [flutter/flutter#30793](https://github.com/flutter/flutter/pull/30793) Revert "Add Form.onSaved" |
+| | [flutter/flutter#30414](https://github.com/flutter/flutter/pull/30414) Remove pressure customization from some pointer events |
+| | [flutter/flutter#30525](https://github.com/flutter/flutter/pull/30525) Fix cursor outside of input width |
+| | [flutter/flutter#29822](https://github.com/flutter/flutter/pull/29822) Cupertino localization step 7: modularize material specific things out of gen_localizations.dart |
+| | [flutter/flutter#30814](https://github.com/flutter/flutter/pull/30814) Fix StatefulWidget and StatelessWidget Sample Documentation |
+| | [flutter/flutter#30527](https://github.com/flutter/flutter/pull/30527) Cupertino localization step 11: add more translation clarifications in the instructions |
+| | [flutter/flutter#30805](https://github.com/flutter/flutter/pull/30805) Update ExpansionPanelList Samples with Scaffold Template |
+| | [flutter/flutter#30537](https://github.com/flutter/flutter/pull/30537) Embedded images and added variations to ListTile sample code |
+| | [flutter/flutter#30760](https://github.com/flutter/flutter/pull/30760) fix cast NPE in invokeListMethod and invokeMapMethod |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#30640](https://github.com/flutter/flutter/pull/30640) Add `const Border.uniformSide()` |
+| | [flutter/flutter#30644](https://github.com/flutter/flutter/pull/30644) Make FormField._validate() return void |
+| | [flutter/flutter#30645](https://github.com/flutter/flutter/pull/30645) Add docs to FormFieldValidator |
+| | [flutter/flutter#30626](https://github.com/flutter/flutter/pull/30626) Add sample for ValueListenable |
+| | [flutter/flutter#30563](https://github.com/flutter/flutter/pull/30563) Fixed a typo in the Expanded API doc |
+| | [flutter/flutter#30513](https://github.com/flutter/flutter/pull/30513) Fix issue 21640: Assertion Error : '_listenerAttached': is not true |
+| | [flutter/flutter#30305](https://github.com/flutter/flutter/pull/30305) shorter nullable list duplications |
+| | [flutter/flutter#30475](https://github.com/flutter/flutter/pull/30475) Trackpad mode crash fix |
+| | [flutter/flutter#29708](https://github.com/flutter/flutter/pull/29708) Cupertino localization step 5: add french arb as translated example |
+| | [flutter/flutter#29413](https://github.com/flutter/flutter/pull/29413) Fix MaterialApp's _navigatorObserver when only builder used |
+| | [flutter/flutter#29998](https://github.com/flutter/flutter/pull/29998) Fix edge cases of PointerEventConverter |
+| | [flutter/flutter#30343](https://github.com/flutter/flutter/pull/30343) ExpansionPanelList and ExpansionPanelList.radio documentation |
+| | [flutter/flutter#27217](https://github.com/flutter/flutter/pull/27217) Fix Shrine overscroll glow indicator |
+| | [flutter/flutter#30275](https://github.com/flutter/flutter/pull/30275) Implement compute for async function (#16265) |
+| | [flutter/flutter#30398](https://github.com/flutter/flutter/pull/30398) Embedding new raised button diagram. |
+| | [flutter/flutter#30453](https://github.com/flutter/flutter/pull/30453) Updating sample code for BottomNavigationBar class for diagram. |
+| | [flutter/flutter#30276](https://github.com/flutter/flutter/pull/30276) Random trivial fixes in the animation packages |
+| | [flutter/flutter#30463](https://github.com/flutter/flutter/pull/30463) Revert "Error message for setting shaderWarmUp too late (#30145)" |
+| | [flutter/flutter#30452](https://github.com/flutter/flutter/pull/30452) Moar Videos |
+| | [flutter/flutter#30451](https://github.com/flutter/flutter/pull/30451) Bump dartdocs to 0.28.3 |
+| | [flutter/flutter#30058](https://github.com/flutter/flutter/pull/30058) Draggable Scrollable sheet |
+| | [flutter/flutter#30353](https://github.com/flutter/flutter/pull/30353) Fix minor typo |
+| | [flutter/flutter#30348](https://github.com/flutter/flutter/pull/30348) RaisedButton Sample Code Update for Diagrams |
+| | [flutter/flutter#30304](https://github.com/flutter/flutter/pull/30304) no need .toList() before .join() |
+| | [flutter/flutter#30212](https://github.com/flutter/flutter/pull/30212) Added assert to prevent complete ListTile trailing/leading horizontal expansion |
+| | [flutter/flutter#30227](https://github.com/flutter/flutter/pull/30227) Simplify logic of TapGestureRecognizer |
+| | [flutter/flutter#30123](https://github.com/flutter/flutter/pull/30123) Fix OutlineInputBorder crash |
+| | [flutter/flutter#30219](https://github.com/flutter/flutter/pull/30219) Added helpful Material assert message |
+| | [flutter/flutter#29771](https://github.com/flutter/flutter/pull/29771) Set Max Height for ListTile trailing and leading widgets |
+| | [flutter/flutter#29993](https://github.com/flutter/flutter/pull/29993) Adds the keyboard mapping for Linux |
+| | [flutter/flutter#29860](https://github.com/flutter/flutter/pull/29860) Move binarySearch to foundation. |
+| | [flutter/flutter#30048](https://github.com/flutter/flutter/pull/30048) Document that Hero needs to be present on destination page's zero frame |
+| | [flutter/flutter#28001](https://github.com/flutter/flutter/pull/28001) CupertinoTextField: added ability to change placeholder color |
+| | [flutter/flutter#29821](https://github.com/flutter/flutter/pull/29821) Cupertino localization step 1.5: fix a resource mismatch in cupertino_en.arb |
+| | [flutter/flutter#29697](https://github.com/flutter/flutter/pull/29697) Embedding new diagrams for API Docs |
+| | [flutter/flutter#29987](https://github.com/flutter/flutter/pull/29987) update CupertinoSwitch documentation |
+| | [flutter/flutter#29811](https://github.com/flutter/flutter/pull/29811) TextField Validator Height Docs |
+| | [flutter/flutter#29943](https://github.com/flutter/flutter/pull/29943) Remove unwanted gap between navigation bar and safe area's child |
+| | [flutter/flutter#22859](https://github.com/flutter/flutter/issues/22859) Provide links between dart:ui classes and their corresponding classes in higher layers |
+| | [flutter/flutter#29929](https://github.com/flutter/flutter/pull/29929) Remove tranparent paint hack from BackdropFilter |
+| | [flutter/flutter#29630](https://github.com/flutter/flutter/pull/29630) Add heart shapes to CupertinoIcons |
+| | [flutter/flutter#29563](https://github.com/flutter/flutter/pull/29563) Avoid flickering while dragging to select text |
+| | [flutter/flutter#29701](https://github.com/flutter/flutter/pull/29701) Reland composite physical layers for all platforms |
+| | [flutter/flutter#28735](https://github.com/flutter/flutter/pull/28735) [Material] Create a FloatingActionButton ThemeData and honor it within the FloatingActionButton |
+| | [flutter/flutter#29532](https://github.com/flutter/flutter/pull/29532) Reland composite physical layers on all platforms |
+| | [flutter/flutter#29623](https://github.com/flutter/flutter/pull/29623) Revert "Reland composite physical layers on all platforms" |
+| | [flutter/flutter#29564](https://github.com/flutter/flutter/pull/29564) Update progress indicator API docs |
+| | [flutter/flutter#29566](https://github.com/flutter/flutter/pull/29566) Manually roll engine to 5088735e5f |
+| | [flutter/flutter#29463](https://github.com/flutter/flutter/pull/29463) Make real JSON in arb |
+| | [flutter/flutter#29231](https://github.com/flutter/flutter/pull/29231) Adds macOS raw keyboard mapping |
+| | [flutter/flutter#29445](https://github.com/flutter/flutter/pull/29445) Add doc about MediaQuery to Chip |
+| | [flutter/flutter#13637](https://github.com/flutter/flutter/issues/13637) Add images and examples to Align |
+| | [flutter/flutter#29442](https://github.com/flutter/flutter/pull/29442) Align Snippet for API Docs |
+| | [flutter/flutter#29395](https://github.com/flutter/flutter/pull/29395) Fix text selection when user is dragging in the opposite direction |
+| | [flutter/flutter#28470](https://github.com/flutter/flutter/pull/28470) Throw assertion error when a Hero has a Hero child. |
+| | [flutter/flutter#29183](https://github.com/flutter/flutter/pull/29183) Implement labelPadding configuration in TabBarTheme |
+| | [flutter/flutter#29329](https://github.com/flutter/flutter/pull/29329) Error message when TextSelectionOverlay finds no Overlay |
+| | [flutter/flutter#28919](https://github.com/flutter/flutter/pull/28919) Always composite PhysicalModels |
+| | [flutter/flutter#28751](https://github.com/flutter/flutter/pull/28751) Expose decorationThickness in TextStyle. Roll engine (12 commits) |
+| | [flutter/flutter#29245](https://github.com/flutter/flutter/pull/29245) Fix DartDoc for UniqueKey |
+| | [flutter/flutter#29165](https://github.com/flutter/flutter/pull/29165) Docs edit for Tab Label Color |
+| | [flutter/flutter#29179](https://github.com/flutter/flutter/pull/29179) No image shader caching in default shader warm-up |
+| | [flutter/flutter#29175](https://github.com/flutter/flutter/pull/29175) Ensure that animated pairs of Tabs TextStyles have matching inherited values |
+| | [flutter/flutter#29069](https://github.com/flutter/flutter/pull/29069) Heroes and nested Navigators |
+| | [flutter/flutter#28953](https://github.com/flutter/flutter/pull/28953) Include platformViewId in semantics tree |
+| | [flutter/flutter#29054](https://github.com/flutter/flutter/pull/29054) Deprecate profile() |
+| | [flutter/flutter#29053](https://github.com/flutter/flutter/pull/29053) Update to Container Sample Code in API Docs |
+| | [flutter/flutter#27971](https://github.com/flutter/flutter/pull/27971) Run non-perf sensitive tests on Cirrus |
+| | [flutter/flutter#27205](https://github.com/flutter/flutter/pull/27205) Fix TextField height issues |
+| | [flutter/flutter#29051](https://github.com/flutter/flutter/pull/29051) fix block formatting |
+| | [flutter/flutter#28900](https://github.com/flutter/flutter/pull/28900) Add key support to cupertino button |
+| | [flutter/flutter#28169](https://github.com/flutter/flutter/pull/28169) Add/rewrite tests for FocusScope. |
+| | [flutter/flutter#28857](https://github.com/flutter/flutter/pull/28857) Form Snippet for API Docs |
+| | [flutter/flutter#21136](https://github.com/flutter/flutter/issues/21136) Request sample code for popular API docs |
+| | [flutter/flutter#28951](https://github.com/flutter/flutter/pull/28951) Quick fix for shader warm up |
+| | [flutter/flutter#28749](https://github.com/flutter/flutter/pull/28749) Add minimum time gap requirement to double tap |
+| | [flutter/flutter#28855](https://github.com/flutter/flutter/pull/28855) Move material iOS back swipe test to material |
+| | [flutter/flutter#25202](https://github.com/flutter/flutter/pull/25202) fix #19175 How should addTime be used from a test? |
+| | [flutter/flutter#28944](https://github.com/flutter/flutter/pull/28944) fix missing variable name |
+| | [flutter/flutter#27811](https://github.com/flutter/flutter/pull/27811) set literal conversions |
+| | [flutter/flutter#28675](https://github.com/flutter/flutter/pull/28675) Update docs for ancestorWidgetOfExactType |
+| | [flutter/flutter#28809](https://github.com/flutter/flutter/pull/28809) fix some formatting issues |
+| | [flutter/flutter#28666](https://github.com/flutter/flutter/pull/28666) Make RenderUiKitView reject absorbed touch events |
+| | [flutter/flutter#28752](https://github.com/flutter/flutter/pull/28752) FAB Snippet for API Docs |
+| | [flutter/flutter#28661](https://github.com/flutter/flutter/pull/28661) Use a simpler implementation of Diagnosticable.toString when running in profile/release mode |
+| | [flutter/flutter#28736](https://github.com/flutter/flutter/pull/28736) Avoid the overhead of instantiating a generator in paintImage |
+| | [flutter/flutter#28638](https://github.com/flutter/flutter/pull/28638) Fix the test annotation used for test groups |
+| | [flutter/flutter#28290](https://github.com/flutter/flutter/pull/28290) Text selection via mouse |
+| | [flutter/flutter#28709](https://github.com/flutter/flutter/pull/28709) improve error messages on Text constructors |
+| | [flutter/flutter#27751](https://github.com/flutter/flutter/pull/27751) Add Sample code for FlatButton #21136 |
+| | [flutter/flutter#28546](https://github.com/flutter/flutter/pull/28546) Call onTapCancel when down pointer gets cancelled |
+| | [flutter/flutter#28537](https://github.com/flutter/flutter/pull/28537) Reland "Shader warm up (#27660)" |
+| | [flutter/flutter#28013](https://github.com/flutter/flutter/pull/28013) [Material] Unit test for skipping Slider tick mark due to overdensity |
+| | [flutter/flutter#28438](https://github.com/flutter/flutter/issues/28438) PC keyboard not works on text fields in emulator when on master branch. |
+| | [flutter/flutter#21834](https://github.com/flutter/flutter/pull/21834) Add shapeBorder option on App Bar |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#27904](https://github.com/flutter/flutter/pull/27904) Convert PointerEvent's toString to Diagnosticable |
+| | [flutter/flutter#28371](https://github.com/flutter/flutter/pull/28371) Ensure that the DropdownButton menu respects its parents bounds |
+| | [flutter/flutter#28214](https://github.com/flutter/flutter/pull/28214) [Material] Add the ability to theme trailing app bar actions independently from leading |
+| | [flutter/flutter#28245](https://github.com/flutter/flutter/pull/28245) [Typo] Update 'use' to 'user' |
+| | [flutter/flutter#28017](https://github.com/flutter/flutter/pull/28017) Add more docs to BackdropFilter |
+| | [flutter/flutter#28398](https://github.com/flutter/flutter/pull/28398) fix red build for analysis |
+| | [flutter/flutter#28163](https://github.com/flutter/flutter/pull/28163) [Material] Add ability to set shadow color and selected shadow color for chips and for chip themes |
+| | [flutter/flutter#27711](https://github.com/flutter/flutter/pull/27711) Make extended FAB's icon optional |
+| | [flutter/flutter#27898](https://github.com/flutter/flutter/pull/27898) Add slight clarification to debugDeterministicCursor |
+| | [flutter/flutter#28159](https://github.com/flutter/flutter/pull/28159) [Material] Expand BottomNavigationBar API (reprise) |
+| | [flutter/flutter#28172](https://github.com/flutter/flutter/pull/28172) Add backgroundColor argument to TextStyle for convenience |
+| | [flutter/flutter#26659](https://github.com/flutter/flutter/pull/26659) Adds fix for NAN value and pressure values outside of device reported min and max |
+| | [flutter/flutter#27803](https://github.com/flutter/flutter/pull/27803) Added sample code to AnimatedWidget |
+| | [flutter/flutter#27945](https://github.com/flutter/flutter/pull/27945) Fixes crossAxisSpacing overflow in RTL |
+| | [flutter/flutter#27433](https://github.com/flutter/flutter/pull/27433) Fix issue where SliverPersistentHeader that is both floating and pinned would scroll down when scrolling past the beginning of the ScrollView |
+| | [flutter/flutter#28182](https://github.com/flutter/flutter/pull/28182) Add TextOverflow.visible |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| | [flutter/flutter#27953](https://github.com/flutter/flutter/pull/27953) Add outer try block for obtainKey errors. Add docs. |
+| | [flutter/flutter#28216](https://github.com/flutter/flutter/pull/28216) Fix 'to to' |
+| | [flutter/flutter#7738](https://github.com/flutter/flutter/issues/7738) Allow for more flexible unselected label color parameter in TabBar |
+| | [flutter/flutter#27973](https://github.com/flutter/flutter/pull/27973) Add extendBody parameter to Scaffold, body MediaQuery reflects BAB height |
+| | [flutter/flutter#28006](https://github.com/flutter/flutter/pull/28006) Re-apply "Ensure all curves return 0 and 1 in .transform(t) when t=0/1" |
+| | [flutter/flutter#27929](https://github.com/flutter/flutter/pull/27929) Use double literals where a double type is expected |
+| **p1-high** | **1 issue with this label** |
+| | [dart-lang/sdk#35940](https://github.com/dart-lang/sdk/issues/35940) Dartanalyzer: Missing line/column information, Unexpected error for int-to-double cast |
+| **platform-ios** | **1 issue with this label** |
+| | [flutter/engine#8202](https://github.com/flutter/engine/pull/8202) [platform_view] iOSP platformView composition optimize. |
+| **prod: API break** | **1 issue with this label** |
+| | [flutter/engine#8274](https://github.com/flutter/engine/pull/8274) [ui] Add null check in FontWeight.lerp |
+| **severe: API break** | **6 issues with this label** |
+| | [flutter/flutter#30991](https://github.com/flutter/flutter/pull/30991) Use full height of the glyph for caret height on Android |
+| | [flutter/flutter#30414](https://github.com/flutter/flutter/pull/30414) Remove pressure customization from some pointer events |
+| | [flutter/flutter#28919](https://github.com/flutter/flutter/pull/28919) Always composite PhysicalModels |
+| | [flutter/flutter#28953](https://github.com/flutter/flutter/pull/28953) Include platformViewId in semantics tree |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| **severe: crash** | **1 issue with this label** |
+| | [flutter/flutter#28651](https://github.com/flutter/flutter/issues/28651) Cannot execute operation because FlutterJNI is not attached to native. |
+| **severe: new feature** | **1 issue with this label** |
+| | [flutter/flutter#29390](https://github.com/flutter/flutter/pull/29390) Make expansion panel optionally toggle its state by tapping its header. |
+| **severe: performance** | **5 issues with this label** |
+| | [flutter/flutter#30990](https://github.com/flutter/flutter/pull/30990) Allow profile widget builds in profile mode |
+| | [flutter/flutter#30985](https://github.com/flutter/flutter/pull/30985) Add rrect contains microbenchmark |
+| | [flutter/flutter#14704](https://github.com/flutter/flutter/issues/14704) Unpack cached code on Android to the getCodeCacheDir() directory, rather than the user data directory |
+| | [flutter/flutter#8150](https://github.com/flutter/flutter/issues/8150) complex_layout_srcroll_perf__memory diff_total_kb regression |
+| | [flutter/flutter#28537](https://github.com/flutter/flutter/pull/28537) Reland "Shader warm up (#27660)" |
+| **severe: regression** | **3 issues with this label** |
+| | [flutter/flutter#28651](https://github.com/flutter/flutter/issues/28651) Cannot execute operation because FlutterJNI is not attached to native. |
+| | [flutter/flutter#8150](https://github.com/flutter/flutter/issues/8150) complex_layout_srcroll_perf__memory diff_total_kb regression |
+| | [flutter/flutter#28438](https://github.com/flutter/flutter/issues/28438) PC keyboard not works on text fields in emulator when on master branch. |
+| **t: flutter doctor** | **1 issue with this label** |
+| | [flutter/flutter#8094](https://github.com/flutter/flutter/issues/8094) Flutter doesn't find xcode 8.2 |
+| **t: flutter driver** | **3 issues with this label** |
+| | [flutter/flutter#30747](https://github.com/flutter/flutter/pull/30747) Print warning if flutter drive is run in debug |
+| | [flutter/flutter#29342](https://github.com/flutter/flutter/pull/29342) Add semantic label finders |
+| | [flutter/flutter#27709](https://github.com/flutter/flutter/pull/27709) Increase our build budget to 16ms |
+| **t: gradle** | **4 issues with this label** |
+| | [flutter/flutter#28097](https://github.com/flutter/flutter/pull/28097) Allow for gradle downloading missing SDK assets |
+| | [flutter/flutter#28355](https://github.com/flutter/flutter/pull/28355) Reland "Allow for gradle downloading missing SDK assets" (#28097) |
+| | [flutter/flutter#27754](https://github.com/flutter/flutter/pull/27754) Add support for binary compression of dynamic patches by the flutter tool. |
+| | [flutter/flutter#28031](https://github.com/flutter/flutter/pull/28031) Revert "Add support for binary compression of dynamic patches by the flutter tool. (#27754)" |
+| **t: hot reload** | **2 issues with this label** |
+| | [flutter/flutter#29693](https://github.com/flutter/flutter/pull/29693) Use source list from the compiler to track invalidated files for hot reload. |
+| | [flutter/flutter#28152](https://github.com/flutter/flutter/pull/28152) Improve hot reload performance |
+| **t: xcode** | **1 issue with this label** |
+| | [flutter/flutter#27765](https://github.com/flutter/flutter/pull/27765) Refactor local engine logic |
+| **team** | **55 issues with this label** |
+| | [flutter/flutter#30990](https://github.com/flutter/flutter/pull/30990) Allow profile widget builds in profile mode |
+| | [flutter/flutter#30832](https://github.com/flutter/flutter/pull/30832) Bump Android build tools to 28.0.3 in Dockerfile |
+| | [flutter/flutter#30871](https://github.com/flutter/flutter/pull/30871) Update the upload key which seems to have trouble for some reason |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#25164](https://github.com/flutter/flutter/pull/25164) Pan and zoom gallery demo |
+| | [flutter/flutter#27217](https://github.com/flutter/flutter/pull/27217) Fix Shrine overscroll glow indicator |
+| | [flutter/flutter#30460](https://github.com/flutter/flutter/pull/30460) Fix gallery API doc URL launcher |
+| | [flutter/flutter#30201](https://github.com/flutter/flutter/pull/30201) update sample code analyzer regexp & test case |
+| | [flutter/flutter#29621](https://github.com/flutter/flutter/pull/29621) Update PULL_REQUEST_TEMPLATE.md |
+| | [flutter/flutter#30019](https://github.com/flutter/flutter/pull/30019) Update to latest matcher |
+| | [flutter/flutter#29908](https://github.com/flutter/flutter/pull/29908) Update Twitter handle @flutterio -> @FlutterDev |
+| | [flutter/flutter#29632](https://github.com/flutter/flutter/pull/29632) Enable platform views for Flutter Gallery on iOS. |
+| | [flutter/flutter#29669](https://github.com/flutter/flutter/pull/29669) Speed up CI via mojave-flutter image |
+| | [flutter/flutter#29467](https://github.com/flutter/flutter/pull/29467) prevent stream notifications from interfering with reload |
+| | [flutter/flutter#29619](https://github.com/flutter/flutter/pull/29619) make literals const for @immutable constructors |
+| | [flutter/flutter#29454](https://github.com/flutter/flutter/pull/29454) Update another SDK constraint |
+| | [flutter/flutter#29340](https://github.com/flutter/flutter/pull/29340) guard new formatter behind env var |
+| | [flutter/flutter#29229](https://github.com/flutter/flutter/pull/29229) Install JDK and Android SDK only for integration tests |
+| | [flutter/flutter#29126](https://github.com/flutter/flutter/pull/29126) Cause `flutter analyze` to fail if the analysis server experienced an error. |
+| | [flutter/flutter#27971](https://github.com/flutter/flutter/pull/27971) Run non-perf sensitive tests on Cirrus |
+| | [flutter/flutter#29051](https://github.com/flutter/flutter/pull/29051) fix block formatting |
+| | [flutter/flutter#29025](https://github.com/flutter/flutter/pull/29025) print system time on all mac builds |
+| | [flutter/flutter#28297](https://github.com/flutter/flutter/pull/28297) Test reporter |
+| | [flutter/flutter#27811](https://github.com/flutter/flutter/pull/27811) set literal conversions |
+| | [flutter/flutter#28852](https://github.com/flutter/flutter/pull/28852) Update macOS version in tests |
+| | [flutter/flutter#28809](https://github.com/flutter/flutter/pull/28809) fix some formatting issues |
+| | [flutter/flutter#28748](https://github.com/flutter/flutter/pull/28748) Revert "Remove the old HaTS implementation on API docs" |
+| | [flutter/flutter#28658](https://github.com/flutter/flutter/pull/28658) Include git output into error message from channel command |
+| | [flutter/flutter#28673](https://github.com/flutter/flutter/pull/28673) Add missing trailing commas |
+| | [flutter/flutter#28555](https://github.com/flutter/flutter/pull/28555) disable dart2js test |
+| | [flutter/flutter#28369](https://github.com/flutter/flutter/pull/28369) Add LICENSE test to presubmit checks |
+| | [flutter/flutter#28480](https://github.com/flutter/flutter/pull/28480) increase timeout |
+| | [flutter/flutter#28343](https://github.com/flutter/flutter/pull/28343) pass --skip-build-script-checks and remove module usage |
+| | [flutter/flutter#28334](https://github.com/flutter/flutter/pull/28334) Remove unused --packages argument to gen_snapshot. |
+| | [flutter/flutter#28482](https://github.com/flutter/flutter/pull/28482) Fuschia -> Fuchsia |
+| | [flutter/flutter#28175](https://github.com/flutter/flutter/pull/28175) Only call Activity.reportFullyDrawn on Lollipop or above |
+| | [flutter/flutter#28370](https://github.com/flutter/flutter/pull/28370) Removed trailing whitespace from the end of the CI config |
+| | [flutter/flutter#28373](https://github.com/flutter/flutter/pull/28373) Mark non-flaky test as such |
+| | [flutter/flutter#28125](https://github.com/flutter/flutter/pull/28125) [Gallery] Fortnightly demo moved from flutter/samples. |
+| | [flutter/flutter#28400](https://github.com/flutter/flutter/pull/28400) update packages |
+| | [flutter/flutter#28215](https://github.com/flutter/flutter/pull/28215) Minor UI tweaks to Cards demo based on internal feedback |
+| | [flutter/flutter#28291](https://github.com/flutter/flutter/pull/28291) Reland #27754, now that bsdiff has moved to flutter/packages. |
+| | [flutter/flutter#28171](https://github.com/flutter/flutter/pull/28171) deploy to .dev firebase projects. |
+| | [flutter/flutter#28281](https://github.com/flutter/flutter/pull/28281) Reduce memory benchmark perf tests outer loop to 10. |
+| | [flutter/flutter#27261](https://github.com/flutter/flutter/pull/27261) format parameter list |
+| | [flutter/flutter#24889](https://github.com/flutter/flutter/pull/24889) Update AUTHORS |
+| | [flutter/flutter#28238](https://github.com/flutter/flutter/pull/28238) Remove set literal syntax |
+| | [flutter/flutter#28235](https://github.com/flutter/flutter/pull/28235) Remove line breaks from PR template |
+| | [flutter/flutter#26376](https://github.com/flutter/flutter/pull/26376) removed image with 404 |
+| | [flutter/flutter#28224](https://github.com/flutter/flutter/pull/28224) Adds a template for Pull Requests |
+| | [flutter/flutter#28040](https://github.com/flutter/flutter/pull/28040) Remove json_schema and cli_util deps from flutter_tool |
+| | [flutter/flutter#27305](https://github.com/flutter/flutter/pull/27305) Outline for survey implementation |
+| | [flutter/flutter#28024](https://github.com/flutter/flutter/pull/28024) Disable prefer_collection_literals in the analyzer until we can update to using set literals |
+| | [flutter/flutter#27793](https://github.com/flutter/flutter/pull/27793) Remove remaining "## Sample code" segments, and fix the snippet generator. |
+| | [flutter/flutter#27929](https://github.com/flutter/flutter/pull/27929) Use double literals where a double type is expected |
+| **team: flakes** | **1 issue with this label** |
+| | [flutter/flutter#28480](https://github.com/flutter/flutter/pull/28480) increase timeout |
+| **team: gallery** | **11 issues with this label** |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#30497](https://github.com/flutter/flutter/pull/30497) Add confirmDismiss example to flutter_gallery |
+| | [flutter/flutter#25164](https://github.com/flutter/flutter/pull/25164) Pan and zoom gallery demo |
+| | [flutter/flutter#27217](https://github.com/flutter/flutter/pull/27217) Fix Shrine overscroll glow indicator |
+| | [flutter/flutter#30460](https://github.com/flutter/flutter/pull/30460) Fix gallery API doc URL launcher |
+| | [flutter/flutter#29908](https://github.com/flutter/flutter/pull/29908) Update Twitter handle @flutterio -> @FlutterDev |
+| | [flutter/flutter#29632](https://github.com/flutter/flutter/pull/29632) Enable platform views for Flutter Gallery on iOS. |
+| | [flutter/flutter#25202](https://github.com/flutter/flutter/pull/25202) fix #19175 How should addTime be used from a test? |
+| | [flutter/flutter#28175](https://github.com/flutter/flutter/pull/28175) Only call Activity.reportFullyDrawn on Lollipop or above |
+| | [flutter/flutter#28125](https://github.com/flutter/flutter/pull/28125) [Gallery] Fortnightly demo moved from flutter/samples. |
+| | [flutter/flutter#28215](https://github.com/flutter/flutter/pull/28215) Minor UI tweaks to Cards demo based on internal feedback |
+| **tool** | **72 issues with this label** |
+| | [flutter/flutter#30857](https://github.com/flutter/flutter/pull/30857) Added support for authentication codes for the VM service. |
+| | [flutter/flutter#31283](https://github.com/flutter/flutter/pull/31283) Add desktop workflows to doctor |
+| | [flutter/flutter#31229](https://github.com/flutter/flutter/pull/31229) Add flutter run support for linux and windows |
+| | [flutter/flutter#31277](https://github.com/flutter/flutter/pull/31277) pass track widget creation flag through to build script |
+| | [flutter/flutter#31171](https://github.com/flutter/flutter/pull/31171) Allow disabling all fingerprint caches via environment variable |
+| | [flutter/flutter#31205](https://github.com/flutter/flutter/pull/31205) Add desktop projects and build commands (experimental) |
+| | [flutter/flutter#31073](https://github.com/flutter/flutter/pull/31073) Fuchsia step 1: add SDK version file and artifact download |
+| | [flutter/flutter#31064](https://github.com/flutter/flutter/pull/31064) Add sorting to flutter version command |
+| | [flutter/flutter#31063](https://github.com/flutter/flutter/pull/31063) Download and handle product version of flutter patched sdk |
+| | [flutter/flutter#31074](https://github.com/flutter/flutter/pull/31074) make flutterProject option of CoverageCollector optional |
+| | [flutter/flutter#30818](https://github.com/flutter/flutter/pull/30818) New flag to `flutter drive` to skip installing fresh app on device |
+| | [flutter/flutter#30811](https://github.com/flutter/flutter/pull/30811) Make coverage, like, really fast |
+| | [flutter/flutter#14704](https://github.com/flutter/flutter/issues/14704) Unpack cached code on Android to the getCodeCacheDir() directory, rather than the user data directory |
+| | [flutter/flutter#30867](https://github.com/flutter/flutter/pull/30867) Add toggle for debugProfileWidgetBuilds |
+| | [flutter/flutter#30648](https://github.com/flutter/flutter/pull/30648) Allow downloading of desktop embedding artifacts |
+| | [flutter/flutter#30235](https://github.com/flutter/flutter/pull/30235) Warn on uncomitted changes |
+| | [flutter/flutter#30115](https://github.com/flutter/flutter/pull/30115) Forward missing pub commands |
+| | [flutter/flutter#30578](https://github.com/flutter/flutter/pull/30578) Mark ios-deploy version 2.0.0 as bad |
+| | [flutter/flutter#30458](https://github.com/flutter/flutter/pull/30458) [fuchsia] Fix isolate filter |
+| | [flutter/flutter#30201](https://github.com/flutter/flutter/pull/30201) update sample code analyzer regexp & test case |
+| | [flutter/flutter#30218](https://github.com/flutter/flutter/pull/30218) [fuchsia_tester] Plumb through the location of icudtl |
+| | [flutter/flutter#30075](https://github.com/flutter/flutter/pull/30075) Ensure that flutter run/drive/test/update_packages only downloads required artifacts |
+| | [flutter/flutter#30071](https://github.com/flutter/flutter/pull/30071) Move spinner `_defaultSlowWarning` message to a new line |
+| | [flutter/flutter#29938](https://github.com/flutter/flutter/pull/29938) Pass FLUTTER_TOOL_ARGS to snapshot command. |
+| | [flutter/flutter#29768](https://github.com/flutter/flutter/pull/29768) Directly depend on frontend_server tool in fuchsia_attach |
+| | [flutter/flutter#29783](https://github.com/flutter/flutter/pull/29783) Fix cache location, artifacts, and re-enable dart2js test |
+| | [flutter/flutter#29818](https://github.com/flutter/flutter/pull/29818) dont fail build if codegen fails |
+| | [flutter/flutter#29192](https://github.com/flutter/flutter/pull/29192) Update upgrade to rebase and stash local changes. |
+| | [flutter/flutter#29764](https://github.com/flutter/flutter/pull/29764) update fuchsia-attach to configure dev_finder location |
+| | [flutter/flutter#29721](https://github.com/flutter/flutter/pull/29721) Use Dart version in script cache check |
+| | [flutter/flutter#29399](https://github.com/flutter/flutter/pull/29399) Enable code generation features in tool (via opt-in) |
+| | [flutter/flutter#29699](https://github.com/flutter/flutter/pull/29699) Fix more tests for ANSI terminals |
+| | [flutter/flutter#29469](https://github.com/flutter/flutter/pull/29469) fix asset reloading |
+| | [flutter/flutter#29693](https://github.com/flutter/flutter/pull/29693) Use source list from the compiler to track invalidated files for hot reload. |
+| | [flutter/flutter#29434](https://github.com/flutter/flutter/pull/29434) Add builders and engine hash to fingerprint |
+| | [flutter/flutter#29625](https://github.com/flutter/flutter/pull/29625) Fix typo in flutter_tools |
+| | [flutter/flutter#29604](https://github.com/flutter/flutter/pull/29604) added friendlier error for invalid AndroidManifest.xml |
+| | [flutter/flutter#29461](https://github.com/flutter/flutter/pull/29461) Remove explicit frame schedule |
+| | [flutter/flutter#29048](https://github.com/flutter/flutter/pull/29048) Use async execution for xcodebuild commands |
+| | [flutter/flutter#29528](https://github.com/flutter/flutter/pull/29528) Ensure that assumed formatting of properties file is correct |
+| | [flutter/flutter#27749](https://github.com/flutter/flutter/pull/27749) Switch flutter_tools from script to app-jit snapshot. |
+| | [flutter/flutter#28152](https://github.com/flutter/flutter/pull/28152) Improve hot reload performance |
+| | [flutter/flutter#29258](https://github.com/flutter/flutter/pull/29258) Add dump-shader-skp flag to flutter tools |
+| | [flutter/flutter#29134](https://github.com/flutter/flutter/pull/29134) Properly escape Android SDK Manager path in error message |
+| | [flutter/flutter#29171](https://github.com/flutter/flutter/pull/29171) Only run codegen at start of flutter_test |
+| | [flutter/flutter#28938](https://github.com/flutter/flutter/pull/28938) Add a `flutter create --list-samples` command |
+| | [flutter/flutter#29126](https://github.com/flutter/flutter/pull/29126) Cause `flutter analyze` to fail if the analysis server experienced an error. |
+| | [flutter/flutter#29062](https://github.com/flutter/flutter/pull/29062) fix windows codegen |
+| | [flutter/flutter#28603](https://github.com/flutter/flutter/pull/28603) select ResidentCompiler during FlutterDevice initialization |
+| | [flutter/flutter#28863](https://github.com/flutter/flutter/pull/28863) Fall-back to platform tools in Android SDK detection logic. |
+| | [flutter/flutter#28658](https://github.com/flutter/flutter/pull/28658) Include git output into error message from channel command |
+| | [flutter/flutter#28356](https://github.com/flutter/flutter/pull/28356) Log pub return code on failure on Windows |
+| | [flutter/flutter#28386](https://github.com/flutter/flutter/pull/28386) remove personal repo and replace with trivial example for smoke test |
+| | [flutter/flutter#28477](https://github.com/flutter/flutter/pull/28477) Fix backspace and clear length in AnsiStatus |
+| | [flutter/flutter#28302](https://github.com/flutter/flutter/pull/28302) Add basic web device and run support |
+| | [flutter/flutter#28168](https://github.com/flutter/flutter/pull/28168) [flutter_tool,fuchsia_tester] Only require a test source dir for coverage |
+| | [flutter/flutter#28334](https://github.com/flutter/flutter/pull/28334) Remove unused --packages argument to gen_snapshot. |
+| | [flutter/flutter#27944](https://github.com/flutter/flutter/pull/27944) Add tests |
+| | [flutter/flutter#28097](https://github.com/flutter/flutter/pull/28097) Allow for gradle downloading missing SDK assets |
+| | [flutter/flutter#28355](https://github.com/flutter/flutter/pull/28355) Reland "Allow for gradle downloading missing SDK assets" (#28097) |
+| | [flutter/flutter#28352](https://github.com/flutter/flutter/pull/28352) only perform multi-root mapping if there are multiple roots |
+| | [flutter/flutter#28101](https://github.com/flutter/flutter/pull/28101) Remove unused --packages argument to gen_snapshot. |
+| | [flutter/flutter#28027](https://github.com/flutter/flutter/pull/28027) Remove extra slash from builder that is not handled on windows |
+| | [flutter/flutter#28040](https://github.com/flutter/flutter/pull/28040) Remove json_schema and cli_util deps from flutter_tool |
+| | [flutter/flutter#27754](https://github.com/flutter/flutter/pull/27754) Add support for binary compression of dynamic patches by the flutter tool. |
+| | [flutter/flutter#28031](https://github.com/flutter/flutter/pull/28031) Revert "Add support for binary compression of dynamic patches by the flutter tool. (#27754)" |
+| | [flutter/flutter#27908](https://github.com/flutter/flutter/pull/27908) Reland automatic discovery of observatory port for iOS |
+| | [flutter/flutter#27709](https://github.com/flutter/flutter/pull/27709) Increase our build budget to 16ms |
+| | [flutter/flutter#27765](https://github.com/flutter/flutter/pull/27765) Refactor local engine logic |
+| | [flutter/flutter#28011](https://github.com/flutter/flutter/pull/28011) Remove accidentally committed libs |
+| | [flutter/flutter#27987](https://github.com/flutter/flutter/pull/27987) add ui.Window fallback to TestViewConfiguration |
+| | [flutter/flutter#27668](https://github.com/flutter/flutter/pull/27668) Wire dart2js through flutter tool, add compilation test |
+| **type-bug** | **1 issue with this label** |
+| | [dart-lang/sdk#35940](https://github.com/dart-lang/sdk/issues/35940) Dartanalyzer: Missing line/column information, Unexpected error for int-to-double cast |
+| **waiting for PR to land (fixed)** | **1 issue with this label** |
+| | [flutter/flutter#7999](https://github.com/flutter/flutter/issues/7999) Consider renaming the Design Principles guide |
+| **waiting for tree to go green** | **37 issues with this label** |
+| | [flutter/flutter#30898](https://github.com/flutter/flutter/pull/30898) Check that ErrorWidget.builder is not modified after test |
+| | [flutter/flutter#30985](https://github.com/flutter/flutter/pull/30985) Add rrect contains microbenchmark |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#30305](https://github.com/flutter/flutter/pull/30305) shorter nullable list duplications |
+| | [flutter/flutter#30535](https://github.com/flutter/flutter/pull/30535) Correctly synthesise event buttons |
+| | [flutter/flutter#29998](https://github.com/flutter/flutter/pull/29998) Fix edge cases of PointerEventConverter |
+| | [flutter/flutter#30398](https://github.com/flutter/flutter/pull/30398) Embedding new raised button diagram. |
+| | [flutter/flutter#30453](https://github.com/flutter/flutter/pull/30453) Updating sample code for BottomNavigationBar class for diagram. |
+| | [flutter/flutter#30276](https://github.com/flutter/flutter/pull/30276) Random trivial fixes in the animation packages |
+| | [flutter/flutter#30463](https://github.com/flutter/flutter/pull/30463) Revert "Error message for setting shaderWarmUp too late (#30145)" |
+| | [flutter/flutter#28001](https://github.com/flutter/flutter/pull/28001) CupertinoTextField: added ability to change placeholder color |
+| | [flutter/flutter#28597](https://github.com/flutter/flutter/pull/28597) Adjust remaining Cupertino route animations to match native |
+| | [flutter/flutter#29134](https://github.com/flutter/flutter/pull/29134) Properly escape Android SDK Manager path in error message |
+| | [flutter/flutter#28470](https://github.com/flutter/flutter/pull/28470) Throw assertion error when a Hero has a Hero child. |
+| | [flutter/flutter#29245](https://github.com/flutter/flutter/pull/29245) Fix DartDoc for UniqueKey |
+| | [flutter/flutter#29229](https://github.com/flutter/flutter/pull/29229) Install JDK and Android SDK only for integration tests |
+| | [flutter/flutter#29054](https://github.com/flutter/flutter/pull/29054) Deprecate profile() |
+| | [flutter/flutter#28900](https://github.com/flutter/flutter/pull/28900) Add key support to cupertino button |
+| | [flutter/flutter#28970](https://github.com/flutter/flutter/pull/28970) Fix coverage shard and print summary after test run |
+| | [flutter/flutter#28863](https://github.com/flutter/flutter/pull/28863) Fall-back to platform tools in Android SDK detection logic. |
+| | [flutter/flutter#25202](https://github.com/flutter/flutter/pull/25202) fix #19175 How should addTime be used from a test? |
+| | [flutter/flutter#28944](https://github.com/flutter/flutter/pull/28944) fix missing variable name |
+| | [flutter/flutter#28297](https://github.com/flutter/flutter/pull/28297) Test reporter |
+| | [flutter/flutter#28675](https://github.com/flutter/flutter/pull/28675) Update docs for ancestorWidgetOfExactType |
+| | [flutter/flutter#28355](https://github.com/flutter/flutter/pull/28355) Reland "Allow for gradle downloading missing SDK assets" (#28097) |
+| | [flutter/flutter#27712](https://github.com/flutter/flutter/pull/27712) add2app test |
+| | [flutter/flutter#27898](https://github.com/flutter/flutter/pull/27898) Add slight clarification to debugDeterministicCursor |
+| | [flutter/flutter#26659](https://github.com/flutter/flutter/pull/26659) Adds fix for NAN value and pressure values outside of device reported min and max |
+| | [flutter/flutter#27803](https://github.com/flutter/flutter/pull/27803) Added sample code to AnimatedWidget |
+| | [flutter/flutter#27945](https://github.com/flutter/flutter/pull/27945) Fixes crossAxisSpacing overflow in RTL |
+| | [flutter/flutter#27433](https://github.com/flutter/flutter/pull/27433) Fix issue where SliverPersistentHeader that is both floating and pinned would scroll down when scrolling past the beginning of the ScrollView |
+| | [flutter/flutter#28224](https://github.com/flutter/flutter/pull/28224) Adds a template for Pull Requests |
+| | [flutter/flutter#28182](https://github.com/flutter/flutter/pull/28182) Add TextOverflow.visible |
+| | [flutter/flutter#28040](https://github.com/flutter/flutter/pull/28040) Remove json_schema and cli_util deps from flutter_tool |
+| | [flutter/flutter#27953](https://github.com/flutter/flutter/pull/27953) Add outer try block for obtainKey errors. Add docs. |
+| | [flutter/flutter#27908](https://github.com/flutter/flutter/pull/27908) Reland automatic discovery of observatory port for iOS |
+| | [flutter/engine#8074](https://github.com/flutter/engine/pull/8074) Add script to help generate PR messages |
+| **⌘ platform-mac** | **2 issues with this label** |
+| | [flutter/flutter#31218](https://github.com/flutter/flutter/pull/31218) Add run capability for macOS target |
+| | [flutter/flutter#27908](https://github.com/flutter/flutter/pull/27908) Reland automatic discovery of observatory port for iOS |
+| **⌺ platform-ios** | **4 issues with this label** |
+| | [flutter/flutter#30475](https://github.com/flutter/flutter/pull/30475) Trackpad mode crash fix |
+| | [flutter/flutter#8094](https://github.com/flutter/flutter/issues/8094) Flutter doesn't find xcode 8.2 |
+| | [flutter/flutter#27908](https://github.com/flutter/flutter/pull/27908) Reland automatic discovery of observatory port for iOS |
+| | [flutter/flutter#27765](https://github.com/flutter/flutter/pull/27765) Refactor local engine logic |
+| **▣ platform-android** | **5 issues with this label** |
+| | [flutter/flutter#14704](https://github.com/flutter/flutter/issues/14704) Unpack cached code on Android to the getCodeCacheDir() directory, rather than the user data directory |
+| | [flutter/flutter#29604](https://github.com/flutter/flutter/pull/29604) added friendlier error for invalid AndroidManifest.xml |
+| | [flutter/flutter#28651](https://github.com/flutter/flutter/issues/28651) Cannot execute operation because FlutterJNI is not attached to native. |
+| | [flutter/flutter#28355](https://github.com/flutter/flutter/pull/28355) Reland "Allow for gradle downloading missing SDK assets" (#28097) |
+| | [flutter/flutter#28031](https://github.com/flutter/flutter/pull/28031) Revert "Add support for binary compression of dynamic patches by the flutter tool. (#27754)" |
+| **○ platform-fuchsia** | **1 issue with this label** |
+| | [flutter/flutter#28168](https://github.com/flutter/flutter/pull/28168) [flutter_tool,fuchsia_tester] Only require a test source dir for coverage |
+| **⚠ TODAY** | **2 issues with this label** |
+| | [flutter/flutter#8150](https://github.com/flutter/flutter/issues/8150) complex_layout_srcroll_perf__memory diff_total_kb regression |
+| | [flutter/flutter#28438](https://github.com/flutter/flutter/issues/28438) PC keyboard not works on text fields in emulator when on master branch. |
+| **❖ platform-windows** | **1 issue with this label** |
+| | [flutter/flutter#28356](https://github.com/flutter/flutter/pull/28356) Log pub return code on failure on Windows |
+## Labels Addressed Sorted by Issue
+
+| Label | Number of Issues |
+|--------|--------|
+| **framework** | **144 issues with this label** |
+| | [flutter/flutter#31088](https://github.com/flutter/flutter/pull/31088) Text field scroll physics |
+| | [flutter/flutter#29390](https://github.com/flutter/flutter/pull/29390) Make expansion panel optionally toggle its state by tapping its header. |
+| | [flutter/flutter#30422](https://github.com/flutter/flutter/pull/30422) Commit a navigator.pop as soon as the back swipe is lifted |
+| | [flutter/flutter#30946](https://github.com/flutter/flutter/pull/30946) Add some more cupertino icons |
+| | [flutter/flutter#31159](https://github.com/flutter/flutter/pull/31159) Revert "Use full height of the glyph for caret height on Android" |
+| | [flutter/flutter#30938](https://github.com/flutter/flutter/pull/30938) Update keycodes, fix a comment. |
+| | [flutter/flutter#30898](https://github.com/flutter/flutter/pull/30898) Check that ErrorWidget.builder is not modified after test |
+| | [flutter/flutter#30809](https://github.com/flutter/flutter/pull/30809) Fix issue 23527: Exception: RenderViewport exceeded its maximum numb… |
+| | [flutter/flutter#30746](https://github.com/flutter/flutter/pull/30746) Baseline Aligned Row |
+| | [flutter/flutter#30880](https://github.com/flutter/flutter/pull/30880) Let `sliver.dart` `_createErrorWidget` work with other Widgets |
+| | [flutter/flutter#30862](https://github.com/flutter/flutter/pull/30862) CupertinoDatePicker initialDateTime accounts for minuteInterval |
+| | [flutter/flutter#30876](https://github.com/flutter/flutter/pull/30876) Simplify toImage future handling |
+| | [flutter/flutter#30470](https://github.com/flutter/flutter/pull/30470) Fixed Table flex column layout error #30437 |
+| | [flutter/flutter#30667](https://github.com/flutter/flutter/pull/30667) Fix additional @mustCallSuper indirect overrides and mixins |
+| | [flutter/flutter#30643](https://github.com/flutter/flutter/pull/30643) Add Form.onSaved |
+| | [flutter/flutter#30793](https://github.com/flutter/flutter/pull/30793) Revert "Add Form.onSaved" |
+| | [flutter/flutter#30414](https://github.com/flutter/flutter/pull/30414) Remove pressure customization from some pointer events |
+| | [flutter/flutter#30525](https://github.com/flutter/flutter/pull/30525) Fix cursor outside of input width |
+| | [flutter/flutter#29822](https://github.com/flutter/flutter/pull/29822) Cupertino localization step 7: modularize material specific things out of gen_localizations.dart |
+| | [flutter/flutter#30814](https://github.com/flutter/flutter/pull/30814) Fix StatefulWidget and StatelessWidget Sample Documentation |
+| | [flutter/flutter#30527](https://github.com/flutter/flutter/pull/30527) Cupertino localization step 11: add more translation clarifications in the instructions |
+| | [flutter/flutter#30805](https://github.com/flutter/flutter/pull/30805) Update ExpansionPanelList Samples with Scaffold Template |
+| | [flutter/flutter#30537](https://github.com/flutter/flutter/pull/30537) Embedded images and added variations to ListTile sample code |
+| | [flutter/flutter#30760](https://github.com/flutter/flutter/pull/30760) fix cast NPE in invokeListMethod and invokeMapMethod |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#30640](https://github.com/flutter/flutter/pull/30640) Add `const Border.uniformSide()` |
+| | [flutter/flutter#30644](https://github.com/flutter/flutter/pull/30644) Make FormField._validate() return void |
+| | [flutter/flutter#30645](https://github.com/flutter/flutter/pull/30645) Add docs to FormFieldValidator |
+| | [flutter/flutter#30626](https://github.com/flutter/flutter/pull/30626) Add sample for ValueListenable |
+| | [flutter/flutter#30563](https://github.com/flutter/flutter/pull/30563) Fixed a typo in the Expanded API doc |
+| | [flutter/flutter#30513](https://github.com/flutter/flutter/pull/30513) Fix issue 21640: Assertion Error : '_listenerAttached': is not true |
+| | [flutter/flutter#30305](https://github.com/flutter/flutter/pull/30305) shorter nullable list duplications |
+| | [flutter/flutter#30475](https://github.com/flutter/flutter/pull/30475) Trackpad mode crash fix |
+| | [flutter/flutter#29708](https://github.com/flutter/flutter/pull/29708) Cupertino localization step 5: add french arb as translated example |
+| | [flutter/flutter#29413](https://github.com/flutter/flutter/pull/29413) Fix MaterialApp's _navigatorObserver when only builder used |
+| | [flutter/flutter#29998](https://github.com/flutter/flutter/pull/29998) Fix edge cases of PointerEventConverter |
+| | [flutter/flutter#30343](https://github.com/flutter/flutter/pull/30343) ExpansionPanelList and ExpansionPanelList.radio documentation |
+| | [flutter/flutter#27217](https://github.com/flutter/flutter/pull/27217) Fix Shrine overscroll glow indicator |
+| | [flutter/flutter#30275](https://github.com/flutter/flutter/pull/30275) Implement compute for async function (#16265) |
+| | [flutter/flutter#30398](https://github.com/flutter/flutter/pull/30398) Embedding new raised button diagram. |
+| | [flutter/flutter#30453](https://github.com/flutter/flutter/pull/30453) Updating sample code for BottomNavigationBar class for diagram. |
+| | [flutter/flutter#30276](https://github.com/flutter/flutter/pull/30276) Random trivial fixes in the animation packages |
+| | [flutter/flutter#30463](https://github.com/flutter/flutter/pull/30463) Revert "Error message for setting shaderWarmUp too late (#30145)" |
+| | [flutter/flutter#30452](https://github.com/flutter/flutter/pull/30452) Moar Videos |
+| | [flutter/flutter#30451](https://github.com/flutter/flutter/pull/30451) Bump dartdocs to 0.28.3 |
+| | [flutter/flutter#30058](https://github.com/flutter/flutter/pull/30058) Draggable Scrollable sheet |
+| | [flutter/flutter#30353](https://github.com/flutter/flutter/pull/30353) Fix minor typo |
+| | [flutter/flutter#30348](https://github.com/flutter/flutter/pull/30348) RaisedButton Sample Code Update for Diagrams |
+| | [flutter/flutter#30304](https://github.com/flutter/flutter/pull/30304) no need .toList() before .join() |
+| | [flutter/flutter#30212](https://github.com/flutter/flutter/pull/30212) Added assert to prevent complete ListTile trailing/leading horizontal expansion |
+| | [flutter/flutter#30227](https://github.com/flutter/flutter/pull/30227) Simplify logic of TapGestureRecognizer |
+| | [flutter/flutter#30123](https://github.com/flutter/flutter/pull/30123) Fix OutlineInputBorder crash |
+| | [flutter/flutter#30219](https://github.com/flutter/flutter/pull/30219) Added helpful Material assert message |
+| | [flutter/flutter#29771](https://github.com/flutter/flutter/pull/29771) Set Max Height for ListTile trailing and leading widgets |
+| | [flutter/flutter#29993](https://github.com/flutter/flutter/pull/29993) Adds the keyboard mapping for Linux |
+| | [flutter/flutter#29860](https://github.com/flutter/flutter/pull/29860) Move binarySearch to foundation. |
+| | [flutter/flutter#30048](https://github.com/flutter/flutter/pull/30048) Document that Hero needs to be present on destination page's zero frame |
+| | [flutter/flutter#28001](https://github.com/flutter/flutter/pull/28001) CupertinoTextField: added ability to change placeholder color |
+| | [flutter/flutter#29821](https://github.com/flutter/flutter/pull/29821) Cupertino localization step 1.5: fix a resource mismatch in cupertino_en.arb |
+| | [flutter/flutter#29697](https://github.com/flutter/flutter/pull/29697) Embedding new diagrams for API Docs |
+| | [flutter/flutter#29987](https://github.com/flutter/flutter/pull/29987) update CupertinoSwitch documentation |
+| | [flutter/flutter#29811](https://github.com/flutter/flutter/pull/29811) TextField Validator Height Docs |
+| | [flutter/flutter#29943](https://github.com/flutter/flutter/pull/29943) Remove unwanted gap between navigation bar and safe area's child |
+| | [flutter/flutter#22859](https://github.com/flutter/flutter/issues/22859) Provide links between dart:ui classes and their corresponding classes in higher layers |
+| | [flutter/flutter#29929](https://github.com/flutter/flutter/pull/29929) Remove tranparent paint hack from BackdropFilter |
+| | [flutter/flutter#29630](https://github.com/flutter/flutter/pull/29630) Add heart shapes to CupertinoIcons |
+| | [flutter/flutter#29563](https://github.com/flutter/flutter/pull/29563) Avoid flickering while dragging to select text |
+| | [flutter/flutter#29701](https://github.com/flutter/flutter/pull/29701) Reland composite physical layers for all platforms |
+| | [flutter/flutter#28735](https://github.com/flutter/flutter/pull/28735) [Material] Create a FloatingActionButton ThemeData and honor it within the FloatingActionButton |
+| | [flutter/flutter#29532](https://github.com/flutter/flutter/pull/29532) Reland composite physical layers on all platforms |
+| | [flutter/flutter#29623](https://github.com/flutter/flutter/pull/29623) Revert "Reland composite physical layers on all platforms" |
+| | [flutter/flutter#29564](https://github.com/flutter/flutter/pull/29564) Update progress indicator API docs |
+| | [flutter/flutter#29566](https://github.com/flutter/flutter/pull/29566) Manually roll engine to 5088735e5f |
+| | [flutter/flutter#29463](https://github.com/flutter/flutter/pull/29463) Make real JSON in arb |
+| | [flutter/flutter#29231](https://github.com/flutter/flutter/pull/29231) Adds macOS raw keyboard mapping |
+| | [flutter/flutter#29445](https://github.com/flutter/flutter/pull/29445) Add doc about MediaQuery to Chip |
+| | [flutter/flutter#13637](https://github.com/flutter/flutter/issues/13637) Add images and examples to Align |
+| | [flutter/flutter#29442](https://github.com/flutter/flutter/pull/29442) Align Snippet for API Docs |
+| | [flutter/flutter#29395](https://github.com/flutter/flutter/pull/29395) Fix text selection when user is dragging in the opposite direction |
+| | [flutter/flutter#28470](https://github.com/flutter/flutter/pull/28470) Throw assertion error when a Hero has a Hero child. |
+| | [flutter/flutter#29183](https://github.com/flutter/flutter/pull/29183) Implement labelPadding configuration in TabBarTheme |
+| | [flutter/flutter#29329](https://github.com/flutter/flutter/pull/29329) Error message when TextSelectionOverlay finds no Overlay |
+| | [flutter/flutter#28919](https://github.com/flutter/flutter/pull/28919) Always composite PhysicalModels |
+| | [flutter/flutter#28751](https://github.com/flutter/flutter/pull/28751) Expose decorationThickness in TextStyle. Roll engine (12 commits) |
+| | [flutter/flutter#29245](https://github.com/flutter/flutter/pull/29245) Fix DartDoc for UniqueKey |
+| | [flutter/flutter#29165](https://github.com/flutter/flutter/pull/29165) Docs edit for Tab Label Color |
+| | [flutter/flutter#29179](https://github.com/flutter/flutter/pull/29179) No image shader caching in default shader warm-up |
+| | [flutter/flutter#29175](https://github.com/flutter/flutter/pull/29175) Ensure that animated pairs of Tabs TextStyles have matching inherited values |
+| | [flutter/flutter#29069](https://github.com/flutter/flutter/pull/29069) Heroes and nested Navigators |
+| | [flutter/flutter#28953](https://github.com/flutter/flutter/pull/28953) Include platformViewId in semantics tree |
+| | [flutter/flutter#29054](https://github.com/flutter/flutter/pull/29054) Deprecate profile() |
+| | [flutter/flutter#29053](https://github.com/flutter/flutter/pull/29053) Update to Container Sample Code in API Docs |
+| | [flutter/flutter#27971](https://github.com/flutter/flutter/pull/27971) Run non-perf sensitive tests on Cirrus |
+| | [flutter/flutter#27205](https://github.com/flutter/flutter/pull/27205) Fix TextField height issues |
+| | [flutter/flutter#29051](https://github.com/flutter/flutter/pull/29051) fix block formatting |
+| | [flutter/flutter#28900](https://github.com/flutter/flutter/pull/28900) Add key support to cupertino button |
+| | [flutter/flutter#28169](https://github.com/flutter/flutter/pull/28169) Add/rewrite tests for FocusScope. |
+| | [flutter/flutter#28857](https://github.com/flutter/flutter/pull/28857) Form Snippet for API Docs |
+| | [flutter/flutter#21136](https://github.com/flutter/flutter/issues/21136) Request sample code for popular API docs |
+| | [flutter/flutter#28951](https://github.com/flutter/flutter/pull/28951) Quick fix for shader warm up |
+| | [flutter/flutter#28749](https://github.com/flutter/flutter/pull/28749) Add minimum time gap requirement to double tap |
+| | [flutter/flutter#28855](https://github.com/flutter/flutter/pull/28855) Move material iOS back swipe test to material |
+| | [flutter/flutter#25202](https://github.com/flutter/flutter/pull/25202) fix #19175 How should addTime be used from a test? |
+| | [flutter/flutter#28944](https://github.com/flutter/flutter/pull/28944) fix missing variable name |
+| | [flutter/flutter#27811](https://github.com/flutter/flutter/pull/27811) set literal conversions |
+| | [flutter/flutter#28675](https://github.com/flutter/flutter/pull/28675) Update docs for ancestorWidgetOfExactType |
+| | [flutter/flutter#28809](https://github.com/flutter/flutter/pull/28809) fix some formatting issues |
+| | [flutter/flutter#28666](https://github.com/flutter/flutter/pull/28666) Make RenderUiKitView reject absorbed touch events |
+| | [flutter/flutter#28752](https://github.com/flutter/flutter/pull/28752) FAB Snippet for API Docs |
+| | [flutter/flutter#28661](https://github.com/flutter/flutter/pull/28661) Use a simpler implementation of Diagnosticable.toString when running in profile/release mode |
+| | [flutter/flutter#28736](https://github.com/flutter/flutter/pull/28736) Avoid the overhead of instantiating a generator in paintImage |
+| | [flutter/flutter#28638](https://github.com/flutter/flutter/pull/28638) Fix the test annotation used for test groups |
+| | [flutter/flutter#28290](https://github.com/flutter/flutter/pull/28290) Text selection via mouse |
+| | [flutter/flutter#28709](https://github.com/flutter/flutter/pull/28709) improve error messages on Text constructors |
+| | [flutter/flutter#27751](https://github.com/flutter/flutter/pull/27751) Add Sample code for FlatButton #21136 |
+| | [flutter/flutter#28546](https://github.com/flutter/flutter/pull/28546) Call onTapCancel when down pointer gets cancelled |
+| | [flutter/flutter#28537](https://github.com/flutter/flutter/pull/28537) Reland "Shader warm up (#27660)" |
+| | [flutter/flutter#28013](https://github.com/flutter/flutter/pull/28013) [Material] Unit test for skipping Slider tick mark due to overdensity |
+| | [flutter/flutter#28438](https://github.com/flutter/flutter/issues/28438) PC keyboard not works on text fields in emulator when on master branch. |
+| | [flutter/flutter#21834](https://github.com/flutter/flutter/pull/21834) Add shapeBorder option on App Bar |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#27904](https://github.com/flutter/flutter/pull/27904) Convert PointerEvent's toString to Diagnosticable |
+| | [flutter/flutter#28371](https://github.com/flutter/flutter/pull/28371) Ensure that the DropdownButton menu respects its parents bounds |
+| | [flutter/flutter#28214](https://github.com/flutter/flutter/pull/28214) [Material] Add the ability to theme trailing app bar actions independently from leading |
+| | [flutter/flutter#28245](https://github.com/flutter/flutter/pull/28245) [Typo] Update 'use' to 'user' |
+| | [flutter/flutter#28017](https://github.com/flutter/flutter/pull/28017) Add more docs to BackdropFilter |
+| | [flutter/flutter#28398](https://github.com/flutter/flutter/pull/28398) fix red build for analysis |
+| | [flutter/flutter#28163](https://github.com/flutter/flutter/pull/28163) [Material] Add ability to set shadow color and selected shadow color for chips and for chip themes |
+| | [flutter/flutter#27711](https://github.com/flutter/flutter/pull/27711) Make extended FAB's icon optional |
+| | [flutter/flutter#27898](https://github.com/flutter/flutter/pull/27898) Add slight clarification to debugDeterministicCursor |
+| | [flutter/flutter#28159](https://github.com/flutter/flutter/pull/28159) [Material] Expand BottomNavigationBar API (reprise) |
+| | [flutter/flutter#28172](https://github.com/flutter/flutter/pull/28172) Add backgroundColor argument to TextStyle for convenience |
+| | [flutter/flutter#26659](https://github.com/flutter/flutter/pull/26659) Adds fix for NAN value and pressure values outside of device reported min and max |
+| | [flutter/flutter#27803](https://github.com/flutter/flutter/pull/27803) Added sample code to AnimatedWidget |
+| | [flutter/flutter#27945](https://github.com/flutter/flutter/pull/27945) Fixes crossAxisSpacing overflow in RTL |
+| | [flutter/flutter#27433](https://github.com/flutter/flutter/pull/27433) Fix issue where SliverPersistentHeader that is both floating and pinned would scroll down when scrolling past the beginning of the ScrollView |
+| | [flutter/flutter#28182](https://github.com/flutter/flutter/pull/28182) Add TextOverflow.visible |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| | [flutter/flutter#27953](https://github.com/flutter/flutter/pull/27953) Add outer try block for obtainKey errors. Add docs. |
+| | [flutter/flutter#28216](https://github.com/flutter/flutter/pull/28216) Fix 'to to' |
+| | [flutter/flutter#7738](https://github.com/flutter/flutter/issues/7738) Allow for more flexible unselected label color parameter in TabBar |
+| | [flutter/flutter#27973](https://github.com/flutter/flutter/pull/27973) Add extendBody parameter to Scaffold, body MediaQuery reflects BAB height |
+| | [flutter/flutter#28006](https://github.com/flutter/flutter/pull/28006) Re-apply "Ensure all curves return 0 and 1 in .transform(t) when t=0/1" |
+| | [flutter/flutter#27929](https://github.com/flutter/flutter/pull/27929) Use double literals where a double type is expected |
+| **tool** | **72 issues with this label** |
+| | [flutter/flutter#30857](https://github.com/flutter/flutter/pull/30857) Added support for authentication codes for the VM service. |
+| | [flutter/flutter#31283](https://github.com/flutter/flutter/pull/31283) Add desktop workflows to doctor |
+| | [flutter/flutter#31229](https://github.com/flutter/flutter/pull/31229) Add flutter run support for linux and windows |
+| | [flutter/flutter#31277](https://github.com/flutter/flutter/pull/31277) pass track widget creation flag through to build script |
+| | [flutter/flutter#31171](https://github.com/flutter/flutter/pull/31171) Allow disabling all fingerprint caches via environment variable |
+| | [flutter/flutter#31205](https://github.com/flutter/flutter/pull/31205) Add desktop projects and build commands (experimental) |
+| | [flutter/flutter#31073](https://github.com/flutter/flutter/pull/31073) Fuchsia step 1: add SDK version file and artifact download |
+| | [flutter/flutter#31064](https://github.com/flutter/flutter/pull/31064) Add sorting to flutter version command |
+| | [flutter/flutter#31063](https://github.com/flutter/flutter/pull/31063) Download and handle product version of flutter patched sdk |
+| | [flutter/flutter#31074](https://github.com/flutter/flutter/pull/31074) make flutterProject option of CoverageCollector optional |
+| | [flutter/flutter#30818](https://github.com/flutter/flutter/pull/30818) New flag to `flutter drive` to skip installing fresh app on device |
+| | [flutter/flutter#30811](https://github.com/flutter/flutter/pull/30811) Make coverage, like, really fast |
+| | [flutter/flutter#14704](https://github.com/flutter/flutter/issues/14704) Unpack cached code on Android to the getCodeCacheDir() directory, rather than the user data directory |
+| | [flutter/flutter#30867](https://github.com/flutter/flutter/pull/30867) Add toggle for debugProfileWidgetBuilds |
+| | [flutter/flutter#30648](https://github.com/flutter/flutter/pull/30648) Allow downloading of desktop embedding artifacts |
+| | [flutter/flutter#30235](https://github.com/flutter/flutter/pull/30235) Warn on uncomitted changes |
+| | [flutter/flutter#30115](https://github.com/flutter/flutter/pull/30115) Forward missing pub commands |
+| | [flutter/flutter#30578](https://github.com/flutter/flutter/pull/30578) Mark ios-deploy version 2.0.0 as bad |
+| | [flutter/flutter#30458](https://github.com/flutter/flutter/pull/30458) [fuchsia] Fix isolate filter |
+| | [flutter/flutter#30201](https://github.com/flutter/flutter/pull/30201) update sample code analyzer regexp & test case |
+| | [flutter/flutter#30218](https://github.com/flutter/flutter/pull/30218) [fuchsia_tester] Plumb through the location of icudtl |
+| | [flutter/flutter#30075](https://github.com/flutter/flutter/pull/30075) Ensure that flutter run/drive/test/update_packages only downloads required artifacts |
+| | [flutter/flutter#30071](https://github.com/flutter/flutter/pull/30071) Move spinner `_defaultSlowWarning` message to a new line |
+| | [flutter/flutter#29938](https://github.com/flutter/flutter/pull/29938) Pass FLUTTER_TOOL_ARGS to snapshot command. |
+| | [flutter/flutter#29768](https://github.com/flutter/flutter/pull/29768) Directly depend on frontend_server tool in fuchsia_attach |
+| | [flutter/flutter#29783](https://github.com/flutter/flutter/pull/29783) Fix cache location, artifacts, and re-enable dart2js test |
+| | [flutter/flutter#29818](https://github.com/flutter/flutter/pull/29818) dont fail build if codegen fails |
+| | [flutter/flutter#29192](https://github.com/flutter/flutter/pull/29192) Update upgrade to rebase and stash local changes. |
+| | [flutter/flutter#29764](https://github.com/flutter/flutter/pull/29764) update fuchsia-attach to configure dev_finder location |
+| | [flutter/flutter#29721](https://github.com/flutter/flutter/pull/29721) Use Dart version in script cache check |
+| | [flutter/flutter#29399](https://github.com/flutter/flutter/pull/29399) Enable code generation features in tool (via opt-in) |
+| | [flutter/flutter#29699](https://github.com/flutter/flutter/pull/29699) Fix more tests for ANSI terminals |
+| | [flutter/flutter#29469](https://github.com/flutter/flutter/pull/29469) fix asset reloading |
+| | [flutter/flutter#29693](https://github.com/flutter/flutter/pull/29693) Use source list from the compiler to track invalidated files for hot reload. |
+| | [flutter/flutter#29434](https://github.com/flutter/flutter/pull/29434) Add builders and engine hash to fingerprint |
+| | [flutter/flutter#29625](https://github.com/flutter/flutter/pull/29625) Fix typo in flutter_tools |
+| | [flutter/flutter#29604](https://github.com/flutter/flutter/pull/29604) added friendlier error for invalid AndroidManifest.xml |
+| | [flutter/flutter#29461](https://github.com/flutter/flutter/pull/29461) Remove explicit frame schedule |
+| | [flutter/flutter#29048](https://github.com/flutter/flutter/pull/29048) Use async execution for xcodebuild commands |
+| | [flutter/flutter#29528](https://github.com/flutter/flutter/pull/29528) Ensure that assumed formatting of properties file is correct |
+| | [flutter/flutter#27749](https://github.com/flutter/flutter/pull/27749) Switch flutter_tools from script to app-jit snapshot. |
+| | [flutter/flutter#28152](https://github.com/flutter/flutter/pull/28152) Improve hot reload performance |
+| | [flutter/flutter#29258](https://github.com/flutter/flutter/pull/29258) Add dump-shader-skp flag to flutter tools |
+| | [flutter/flutter#29134](https://github.com/flutter/flutter/pull/29134) Properly escape Android SDK Manager path in error message |
+| | [flutter/flutter#29171](https://github.com/flutter/flutter/pull/29171) Only run codegen at start of flutter_test |
+| | [flutter/flutter#28938](https://github.com/flutter/flutter/pull/28938) Add a `flutter create --list-samples` command |
+| | [flutter/flutter#29126](https://github.com/flutter/flutter/pull/29126) Cause `flutter analyze` to fail if the analysis server experienced an error. |
+| | [flutter/flutter#29062](https://github.com/flutter/flutter/pull/29062) fix windows codegen |
+| | [flutter/flutter#28603](https://github.com/flutter/flutter/pull/28603) select ResidentCompiler during FlutterDevice initialization |
+| | [flutter/flutter#28863](https://github.com/flutter/flutter/pull/28863) Fall-back to platform tools in Android SDK detection logic. |
+| | [flutter/flutter#28658](https://github.com/flutter/flutter/pull/28658) Include git output into error message from channel command |
+| | [flutter/flutter#28356](https://github.com/flutter/flutter/pull/28356) Log pub return code on failure on Windows |
+| | [flutter/flutter#28386](https://github.com/flutter/flutter/pull/28386) remove personal repo and replace with trivial example for smoke test |
+| | [flutter/flutter#28477](https://github.com/flutter/flutter/pull/28477) Fix backspace and clear length in AnsiStatus |
+| | [flutter/flutter#28302](https://github.com/flutter/flutter/pull/28302) Add basic web device and run support |
+| | [flutter/flutter#28168](https://github.com/flutter/flutter/pull/28168) [flutter_tool,fuchsia_tester] Only require a test source dir for coverage |
+| | [flutter/flutter#28334](https://github.com/flutter/flutter/pull/28334) Remove unused --packages argument to gen_snapshot. |
+| | [flutter/flutter#27944](https://github.com/flutter/flutter/pull/27944) Add tests |
+| | [flutter/flutter#28097](https://github.com/flutter/flutter/pull/28097) Allow for gradle downloading missing SDK assets |
+| | [flutter/flutter#28355](https://github.com/flutter/flutter/pull/28355) Reland "Allow for gradle downloading missing SDK assets" (#28097) |
+| | [flutter/flutter#28352](https://github.com/flutter/flutter/pull/28352) only perform multi-root mapping if there are multiple roots |
+| | [flutter/flutter#28101](https://github.com/flutter/flutter/pull/28101) Remove unused --packages argument to gen_snapshot. |
+| | [flutter/flutter#28027](https://github.com/flutter/flutter/pull/28027) Remove extra slash from builder that is not handled on windows |
+| | [flutter/flutter#28040](https://github.com/flutter/flutter/pull/28040) Remove json_schema and cli_util deps from flutter_tool |
+| | [flutter/flutter#27754](https://github.com/flutter/flutter/pull/27754) Add support for binary compression of dynamic patches by the flutter tool. |
+| | [flutter/flutter#28031](https://github.com/flutter/flutter/pull/28031) Revert "Add support for binary compression of dynamic patches by the flutter tool. (#27754)" |
+| | [flutter/flutter#27908](https://github.com/flutter/flutter/pull/27908) Reland automatic discovery of observatory port for iOS |
+| | [flutter/flutter#27709](https://github.com/flutter/flutter/pull/27709) Increase our build budget to 16ms |
+| | [flutter/flutter#27765](https://github.com/flutter/flutter/pull/27765) Refactor local engine logic |
+| | [flutter/flutter#28011](https://github.com/flutter/flutter/pull/28011) Remove accidentally committed libs |
+| | [flutter/flutter#27987](https://github.com/flutter/flutter/pull/27987) add ui.Window fallback to TestViewConfiguration |
+| | [flutter/flutter#27668](https://github.com/flutter/flutter/pull/27668) Wire dart2js through flutter tool, add compilation test |
+| **team** | **55 issues with this label** |
+| | [flutter/flutter#30990](https://github.com/flutter/flutter/pull/30990) Allow profile widget builds in profile mode |
+| | [flutter/flutter#30832](https://github.com/flutter/flutter/pull/30832) Bump Android build tools to 28.0.3 in Dockerfile |
+| | [flutter/flutter#30871](https://github.com/flutter/flutter/pull/30871) Update the upload key which seems to have trouble for some reason |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#25164](https://github.com/flutter/flutter/pull/25164) Pan and zoom gallery demo |
+| | [flutter/flutter#27217](https://github.com/flutter/flutter/pull/27217) Fix Shrine overscroll glow indicator |
+| | [flutter/flutter#30460](https://github.com/flutter/flutter/pull/30460) Fix gallery API doc URL launcher |
+| | [flutter/flutter#30201](https://github.com/flutter/flutter/pull/30201) update sample code analyzer regexp & test case |
+| | [flutter/flutter#29621](https://github.com/flutter/flutter/pull/29621) Update PULL_REQUEST_TEMPLATE.md |
+| | [flutter/flutter#30019](https://github.com/flutter/flutter/pull/30019) Update to latest matcher |
+| | [flutter/flutter#29908](https://github.com/flutter/flutter/pull/29908) Update Twitter handle @flutterio -> @FlutterDev |
+| | [flutter/flutter#29632](https://github.com/flutter/flutter/pull/29632) Enable platform views for Flutter Gallery on iOS. |
+| | [flutter/flutter#29669](https://github.com/flutter/flutter/pull/29669) Speed up CI via mojave-flutter image |
+| | [flutter/flutter#29467](https://github.com/flutter/flutter/pull/29467) prevent stream notifications from interfering with reload |
+| | [flutter/flutter#29619](https://github.com/flutter/flutter/pull/29619) make literals const for @immutable constructors |
+| | [flutter/flutter#29454](https://github.com/flutter/flutter/pull/29454) Update another SDK constraint |
+| | [flutter/flutter#29340](https://github.com/flutter/flutter/pull/29340) guard new formatter behind env var |
+| | [flutter/flutter#29229](https://github.com/flutter/flutter/pull/29229) Install JDK and Android SDK only for integration tests |
+| | [flutter/flutter#29126](https://github.com/flutter/flutter/pull/29126) Cause `flutter analyze` to fail if the analysis server experienced an error. |
+| | [flutter/flutter#27971](https://github.com/flutter/flutter/pull/27971) Run non-perf sensitive tests on Cirrus |
+| | [flutter/flutter#29051](https://github.com/flutter/flutter/pull/29051) fix block formatting |
+| | [flutter/flutter#29025](https://github.com/flutter/flutter/pull/29025) print system time on all mac builds |
+| | [flutter/flutter#28297](https://github.com/flutter/flutter/pull/28297) Test reporter |
+| | [flutter/flutter#27811](https://github.com/flutter/flutter/pull/27811) set literal conversions |
+| | [flutter/flutter#28852](https://github.com/flutter/flutter/pull/28852) Update macOS version in tests |
+| | [flutter/flutter#28809](https://github.com/flutter/flutter/pull/28809) fix some formatting issues |
+| | [flutter/flutter#28748](https://github.com/flutter/flutter/pull/28748) Revert "Remove the old HaTS implementation on API docs" |
+| | [flutter/flutter#28658](https://github.com/flutter/flutter/pull/28658) Include git output into error message from channel command |
+| | [flutter/flutter#28673](https://github.com/flutter/flutter/pull/28673) Add missing trailing commas |
+| | [flutter/flutter#28555](https://github.com/flutter/flutter/pull/28555) disable dart2js test |
+| | [flutter/flutter#28369](https://github.com/flutter/flutter/pull/28369) Add LICENSE test to presubmit checks |
+| | [flutter/flutter#28480](https://github.com/flutter/flutter/pull/28480) increase timeout |
+| | [flutter/flutter#28343](https://github.com/flutter/flutter/pull/28343) pass --skip-build-script-checks and remove module usage |
+| | [flutter/flutter#28334](https://github.com/flutter/flutter/pull/28334) Remove unused --packages argument to gen_snapshot. |
+| | [flutter/flutter#28482](https://github.com/flutter/flutter/pull/28482) Fuschia -> Fuchsia |
+| | [flutter/flutter#28175](https://github.com/flutter/flutter/pull/28175) Only call Activity.reportFullyDrawn on Lollipop or above |
+| | [flutter/flutter#28370](https://github.com/flutter/flutter/pull/28370) Removed trailing whitespace from the end of the CI config |
+| | [flutter/flutter#28373](https://github.com/flutter/flutter/pull/28373) Mark non-flaky test as such |
+| | [flutter/flutter#28125](https://github.com/flutter/flutter/pull/28125) [Gallery] Fortnightly demo moved from flutter/samples. |
+| | [flutter/flutter#28400](https://github.com/flutter/flutter/pull/28400) update packages |
+| | [flutter/flutter#28215](https://github.com/flutter/flutter/pull/28215) Minor UI tweaks to Cards demo based on internal feedback |
+| | [flutter/flutter#28291](https://github.com/flutter/flutter/pull/28291) Reland #27754, now that bsdiff has moved to flutter/packages. |
+| | [flutter/flutter#28171](https://github.com/flutter/flutter/pull/28171) deploy to .dev firebase projects. |
+| | [flutter/flutter#28281](https://github.com/flutter/flutter/pull/28281) Reduce memory benchmark perf tests outer loop to 10. |
+| | [flutter/flutter#27261](https://github.com/flutter/flutter/pull/27261) format parameter list |
+| | [flutter/flutter#24889](https://github.com/flutter/flutter/pull/24889) Update AUTHORS |
+| | [flutter/flutter#28238](https://github.com/flutter/flutter/pull/28238) Remove set literal syntax |
+| | [flutter/flutter#28235](https://github.com/flutter/flutter/pull/28235) Remove line breaks from PR template |
+| | [flutter/flutter#26376](https://github.com/flutter/flutter/pull/26376) removed image with 404 |
+| | [flutter/flutter#28224](https://github.com/flutter/flutter/pull/28224) Adds a template for Pull Requests |
+| | [flutter/flutter#28040](https://github.com/flutter/flutter/pull/28040) Remove json_schema and cli_util deps from flutter_tool |
+| | [flutter/flutter#27305](https://github.com/flutter/flutter/pull/27305) Outline for survey implementation |
+| | [flutter/flutter#28024](https://github.com/flutter/flutter/pull/28024) Disable prefer_collection_literals in the analyzer until we can update to using set literals |
+| | [flutter/flutter#27793](https://github.com/flutter/flutter/pull/27793) Remove remaining "## Sample code" segments, and fix the snippet generator. |
+| | [flutter/flutter#27929](https://github.com/flutter/flutter/pull/27929) Use double literals where a double type is expected |
+| **f: material design** | **44 issues with this label** |
+| | [flutter/flutter#31088](https://github.com/flutter/flutter/pull/31088) Text field scroll physics |
+| | [flutter/flutter#29390](https://github.com/flutter/flutter/pull/29390) Make expansion panel optionally toggle its state by tapping its header. |
+| | [flutter/flutter#30746](https://github.com/flutter/flutter/pull/30746) Baseline Aligned Row |
+| | [flutter/flutter#30793](https://github.com/flutter/flutter/pull/30793) Revert "Add Form.onSaved" |
+| | [flutter/flutter#30525](https://github.com/flutter/flutter/pull/30525) Fix cursor outside of input width |
+| | [flutter/flutter#30805](https://github.com/flutter/flutter/pull/30805) Update ExpansionPanelList Samples with Scaffold Template |
+| | [flutter/flutter#30537](https://github.com/flutter/flutter/pull/30537) Embedded images and added variations to ListTile sample code |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#30497](https://github.com/flutter/flutter/pull/30497) Add confirmDismiss example to flutter_gallery |
+| | [flutter/flutter#30475](https://github.com/flutter/flutter/pull/30475) Trackpad mode crash fix |
+| | [flutter/flutter#29413](https://github.com/flutter/flutter/pull/29413) Fix MaterialApp's _navigatorObserver when only builder used |
+| | [flutter/flutter#30343](https://github.com/flutter/flutter/pull/30343) ExpansionPanelList and ExpansionPanelList.radio documentation |
+| | [flutter/flutter#27217](https://github.com/flutter/flutter/pull/27217) Fix Shrine overscroll glow indicator |
+| | [flutter/flutter#30353](https://github.com/flutter/flutter/pull/30353) Fix minor typo |
+| | [flutter/flutter#30212](https://github.com/flutter/flutter/pull/30212) Added assert to prevent complete ListTile trailing/leading horizontal expansion |
+| | [flutter/flutter#30123](https://github.com/flutter/flutter/pull/30123) Fix OutlineInputBorder crash |
+| | [flutter/flutter#30219](https://github.com/flutter/flutter/pull/30219) Added helpful Material assert message |
+| | [flutter/flutter#29771](https://github.com/flutter/flutter/pull/29771) Set Max Height for ListTile trailing and leading widgets |
+| | [flutter/flutter#30048](https://github.com/flutter/flutter/pull/30048) Document that Hero needs to be present on destination page's zero frame |
+| | [flutter/flutter#29811](https://github.com/flutter/flutter/pull/29811) TextField Validator Height Docs |
+| | [flutter/flutter#29980](https://github.com/flutter/flutter/pull/29980) Fix issue with account drawer header arrow rotating when setState is called |
+| | [flutter/flutter#29563](https://github.com/flutter/flutter/pull/29563) Avoid flickering while dragging to select text |
+| | [flutter/flutter#29138](https://github.com/flutter/flutter/pull/29138) Update DropdownButton underline to be customizable |
+| | [flutter/flutter#28735](https://github.com/flutter/flutter/pull/28735) [Material] Create a FloatingActionButton ThemeData and honor it within the FloatingActionButton |
+| | [flutter/flutter#29564](https://github.com/flutter/flutter/pull/29564) Update progress indicator API docs |
+| | [flutter/flutter#29445](https://github.com/flutter/flutter/pull/29445) Add doc about MediaQuery to Chip |
+| | [flutter/flutter#29183](https://github.com/flutter/flutter/pull/29183) Implement labelPadding configuration in TabBarTheme |
+| | [flutter/flutter#29165](https://github.com/flutter/flutter/pull/29165) Docs edit for Tab Label Color |
+| | [flutter/flutter#29175](https://github.com/flutter/flutter/pull/29175) Ensure that animated pairs of Tabs TextStyles have matching inherited values |
+| | [flutter/flutter#28752](https://github.com/flutter/flutter/pull/28752) FAB Snippet for API Docs |
+| | [flutter/flutter#27751](https://github.com/flutter/flutter/pull/27751) Add Sample code for FlatButton #21136 |
+| | [flutter/flutter#28558](https://github.com/flutter/flutter/pull/28558) Fix typo |
+| | [flutter/flutter#28013](https://github.com/flutter/flutter/pull/28013) [Material] Unit test for skipping Slider tick mark due to overdensity |
+| | [flutter/flutter#21834](https://github.com/flutter/flutter/pull/21834) Add shapeBorder option on App Bar |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#28371](https://github.com/flutter/flutter/pull/28371) Ensure that the DropdownButton menu respects its parents bounds |
+| | [flutter/flutter#28214](https://github.com/flutter/flutter/pull/28214) [Material] Add the ability to theme trailing app bar actions independently from leading |
+| | [flutter/flutter#28245](https://github.com/flutter/flutter/pull/28245) [Typo] Update 'use' to 'user' |
+| | [flutter/flutter#28163](https://github.com/flutter/flutter/pull/28163) [Material] Add ability to set shadow color and selected shadow color for chips and for chip themes |
+| | [flutter/flutter#27711](https://github.com/flutter/flutter/pull/27711) Make extended FAB's icon optional |
+| | [flutter/flutter#28159](https://github.com/flutter/flutter/pull/28159) [Material] Expand BottomNavigationBar API (reprise) |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| | [flutter/flutter#28216](https://github.com/flutter/flutter/pull/28216) Fix 'to to' |
+| | [flutter/flutter#27973](https://github.com/flutter/flutter/pull/27973) Add extendBody parameter to Scaffold, body MediaQuery reflects BAB height |
+| **waiting for tree to go green** | **37 issues with this label** |
+| | [flutter/flutter#30898](https://github.com/flutter/flutter/pull/30898) Check that ErrorWidget.builder is not modified after test |
+| | [flutter/flutter#30985](https://github.com/flutter/flutter/pull/30985) Add rrect contains microbenchmark |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#30305](https://github.com/flutter/flutter/pull/30305) shorter nullable list duplications |
+| | [flutter/flutter#30535](https://github.com/flutter/flutter/pull/30535) Correctly synthesise event buttons |
+| | [flutter/flutter#29998](https://github.com/flutter/flutter/pull/29998) Fix edge cases of PointerEventConverter |
+| | [flutter/flutter#30398](https://github.com/flutter/flutter/pull/30398) Embedding new raised button diagram. |
+| | [flutter/flutter#30453](https://github.com/flutter/flutter/pull/30453) Updating sample code for BottomNavigationBar class for diagram. |
+| | [flutter/flutter#30276](https://github.com/flutter/flutter/pull/30276) Random trivial fixes in the animation packages |
+| | [flutter/flutter#30463](https://github.com/flutter/flutter/pull/30463) Revert "Error message for setting shaderWarmUp too late (#30145)" |
+| | [flutter/flutter#28001](https://github.com/flutter/flutter/pull/28001) CupertinoTextField: added ability to change placeholder color |
+| | [flutter/flutter#28597](https://github.com/flutter/flutter/pull/28597) Adjust remaining Cupertino route animations to match native |
+| | [flutter/flutter#29134](https://github.com/flutter/flutter/pull/29134) Properly escape Android SDK Manager path in error message |
+| | [flutter/flutter#28470](https://github.com/flutter/flutter/pull/28470) Throw assertion error when a Hero has a Hero child. |
+| | [flutter/flutter#29245](https://github.com/flutter/flutter/pull/29245) Fix DartDoc for UniqueKey |
+| | [flutter/flutter#29229](https://github.com/flutter/flutter/pull/29229) Install JDK and Android SDK only for integration tests |
+| | [flutter/flutter#29054](https://github.com/flutter/flutter/pull/29054) Deprecate profile() |
+| | [flutter/flutter#28900](https://github.com/flutter/flutter/pull/28900) Add key support to cupertino button |
+| | [flutter/flutter#28970](https://github.com/flutter/flutter/pull/28970) Fix coverage shard and print summary after test run |
+| | [flutter/flutter#28863](https://github.com/flutter/flutter/pull/28863) Fall-back to platform tools in Android SDK detection logic. |
+| | [flutter/flutter#25202](https://github.com/flutter/flutter/pull/25202) fix #19175 How should addTime be used from a test? |
+| | [flutter/flutter#28944](https://github.com/flutter/flutter/pull/28944) fix missing variable name |
+| | [flutter/flutter#28297](https://github.com/flutter/flutter/pull/28297) Test reporter |
+| | [flutter/flutter#28675](https://github.com/flutter/flutter/pull/28675) Update docs for ancestorWidgetOfExactType |
+| | [flutter/flutter#28355](https://github.com/flutter/flutter/pull/28355) Reland "Allow for gradle downloading missing SDK assets" (#28097) |
+| | [flutter/flutter#27712](https://github.com/flutter/flutter/pull/27712) add2app test |
+| | [flutter/flutter#27898](https://github.com/flutter/flutter/pull/27898) Add slight clarification to debugDeterministicCursor |
+| | [flutter/flutter#26659](https://github.com/flutter/flutter/pull/26659) Adds fix for NAN value and pressure values outside of device reported min and max |
+| | [flutter/flutter#27803](https://github.com/flutter/flutter/pull/27803) Added sample code to AnimatedWidget |
+| | [flutter/flutter#27945](https://github.com/flutter/flutter/pull/27945) Fixes crossAxisSpacing overflow in RTL |
+| | [flutter/flutter#27433](https://github.com/flutter/flutter/pull/27433) Fix issue where SliverPersistentHeader that is both floating and pinned would scroll down when scrolling past the beginning of the ScrollView |
+| | [flutter/flutter#28224](https://github.com/flutter/flutter/pull/28224) Adds a template for Pull Requests |
+| | [flutter/flutter#28182](https://github.com/flutter/flutter/pull/28182) Add TextOverflow.visible |
+| | [flutter/flutter#28040](https://github.com/flutter/flutter/pull/28040) Remove json_schema and cli_util deps from flutter_tool |
+| | [flutter/flutter#27953](https://github.com/flutter/flutter/pull/27953) Add outer try block for obtainKey errors. Add docs. |
+| | [flutter/flutter#27908](https://github.com/flutter/flutter/pull/27908) Reland automatic discovery of observatory port for iOS |
+| | [flutter/engine#8074](https://github.com/flutter/engine/pull/8074) Add script to help generate PR messages |
+| **d: api docs** | **36 issues with this label** |
+| | [flutter/flutter#30887](https://github.com/flutter/flutter/pull/30887) Add more dialog doc cross-reference |
+| | [flutter/flutter#30814](https://github.com/flutter/flutter/pull/30814) Fix StatefulWidget and StatelessWidget Sample Documentation |
+| | [flutter/flutter#30805](https://github.com/flutter/flutter/pull/30805) Update ExpansionPanelList Samples with Scaffold Template |
+| | [flutter/flutter#30537](https://github.com/flutter/flutter/pull/30537) Embedded images and added variations to ListTile sample code |
+| | [flutter/flutter#30626](https://github.com/flutter/flutter/pull/30626) Add sample for ValueListenable |
+| | [flutter/flutter#30563](https://github.com/flutter/flutter/pull/30563) Fixed a typo in the Expanded API doc |
+| | [flutter/flutter#30343](https://github.com/flutter/flutter/pull/30343) ExpansionPanelList and ExpansionPanelList.radio documentation |
+| | [flutter/flutter#30398](https://github.com/flutter/flutter/pull/30398) Embedding new raised button diagram. |
+| | [flutter/flutter#30453](https://github.com/flutter/flutter/pull/30453) Updating sample code for BottomNavigationBar class for diagram. |
+| | [flutter/flutter#30452](https://github.com/flutter/flutter/pull/30452) Moar Videos |
+| | [flutter/flutter#30451](https://github.com/flutter/flutter/pull/30451) Bump dartdocs to 0.28.3 |
+| | [flutter/flutter#30348](https://github.com/flutter/flutter/pull/30348) RaisedButton Sample Code Update for Diagrams |
+| | [flutter/flutter#30201](https://github.com/flutter/flutter/pull/30201) update sample code analyzer regexp & test case |
+| | [flutter/flutter#30048](https://github.com/flutter/flutter/pull/30048) Document that Hero needs to be present on destination page's zero frame |
+| | [flutter/flutter#29697](https://github.com/flutter/flutter/pull/29697) Embedding new diagrams for API Docs |
+| | [flutter/flutter#29987](https://github.com/flutter/flutter/pull/29987) update CupertinoSwitch documentation |
+| | [flutter/flutter#22859](https://github.com/flutter/flutter/issues/22859) Provide links between dart:ui classes and their corresponding classes in higher layers |
+| | [flutter/flutter#29445](https://github.com/flutter/flutter/pull/29445) Add doc about MediaQuery to Chip |
+| | [flutter/flutter#13637](https://github.com/flutter/flutter/issues/13637) Add images and examples to Align |
+| | [flutter/flutter#29442](https://github.com/flutter/flutter/pull/29442) Align Snippet for API Docs |
+| | [flutter/flutter#29245](https://github.com/flutter/flutter/pull/29245) Fix DartDoc for UniqueKey |
+| | [flutter/flutter#29165](https://github.com/flutter/flutter/pull/29165) Docs edit for Tab Label Color |
+| | [flutter/flutter#29053](https://github.com/flutter/flutter/pull/29053) Update to Container Sample Code in API Docs |
+| | [flutter/flutter#28857](https://github.com/flutter/flutter/pull/28857) Form Snippet for API Docs |
+| | [flutter/flutter#21136](https://github.com/flutter/flutter/issues/21136) Request sample code for popular API docs |
+| | [flutter/flutter#28675](https://github.com/flutter/flutter/pull/28675) Update docs for ancestorWidgetOfExactType |
+| | [flutter/flutter#28752](https://github.com/flutter/flutter/pull/28752) FAB Snippet for API Docs |
+| | [flutter/flutter#28748](https://github.com/flutter/flutter/pull/28748) Revert "Remove the old HaTS implementation on API docs" |
+| | [flutter/flutter#28683](https://github.com/flutter/flutter/pull/28683) Remove the old HaTS implementation on API docs |
+| | [flutter/flutter#27751](https://github.com/flutter/flutter/pull/27751) Add Sample code for FlatButton #21136 |
+| | [flutter/flutter#28558](https://github.com/flutter/flutter/pull/28558) Fix typo |
+| | [flutter/flutter#28245](https://github.com/flutter/flutter/pull/28245) [Typo] Update 'use' to 'user' |
+| | [flutter/flutter#28017](https://github.com/flutter/flutter/pull/28017) Add more docs to BackdropFilter |
+| | [flutter/flutter#27803](https://github.com/flutter/flutter/pull/27803) Added sample code to AnimatedWidget |
+| | [flutter/flutter#27305](https://github.com/flutter/flutter/pull/27305) Outline for survey implementation |
+| | [flutter/flutter#27793](https://github.com/flutter/flutter/pull/27793) Remove remaining "## Sample code" segments, and fix the snippet generator. |
+| **a: tests** | **23 issues with this label** |
+| | [flutter/flutter#30857](https://github.com/flutter/flutter/pull/30857) Added support for authentication codes for the VM service. |
+| | [flutter/flutter#30898](https://github.com/flutter/flutter/pull/30898) Check that ErrorWidget.builder is not modified after test |
+| | [flutter/flutter#30985](https://github.com/flutter/flutter/pull/30985) Add rrect contains microbenchmark |
+| | [flutter/flutter#30871](https://github.com/flutter/flutter/pull/30871) Update the upload key which seems to have trouble for some reason |
+| | [flutter/flutter#30747](https://github.com/flutter/flutter/pull/30747) Print warning if flutter drive is run in debug |
+| | [flutter/flutter#29669](https://github.com/flutter/flutter/pull/29669) Speed up CI via mojave-flutter image |
+| | [flutter/flutter#29467](https://github.com/flutter/flutter/pull/29467) prevent stream notifications from interfering with reload |
+| | [flutter/flutter#29342](https://github.com/flutter/flutter/pull/29342) Add semantic label finders |
+| | [flutter/flutter#29566](https://github.com/flutter/flutter/pull/29566) Manually roll engine to 5088735e5f |
+| | [flutter/flutter#29340](https://github.com/flutter/flutter/pull/29340) guard new formatter behind env var |
+| | [flutter/flutter#27971](https://github.com/flutter/flutter/pull/27971) Run non-perf sensitive tests on Cirrus |
+| | [flutter/flutter#29025](https://github.com/flutter/flutter/pull/29025) print system time on all mac builds |
+| | [flutter/flutter#25202](https://github.com/flutter/flutter/pull/25202) fix #19175 How should addTime be used from a test? |
+| | [flutter/flutter#28297](https://github.com/flutter/flutter/pull/28297) Test reporter |
+| | [flutter/flutter#28852](https://github.com/flutter/flutter/pull/28852) Update macOS version in tests |
+| | [flutter/flutter#28638](https://github.com/flutter/flutter/pull/28638) Fix the test annotation used for test groups |
+| | [flutter/flutter#28555](https://github.com/flutter/flutter/pull/28555) disable dart2js test |
+| | [flutter/flutter#28480](https://github.com/flutter/flutter/pull/28480) increase timeout |
+| | [flutter/flutter#28168](https://github.com/flutter/flutter/pull/28168) [flutter_tool,fuchsia_tester] Only require a test source dir for coverage |
+| | [flutter/flutter#27944](https://github.com/flutter/flutter/pull/27944) Add tests |
+| | [flutter/flutter#28373](https://github.com/flutter/flutter/pull/28373) Mark non-flaky test as such |
+| | [flutter/flutter#27712](https://github.com/flutter/flutter/pull/27712) add2app test |
+| | [flutter/flutter#27987](https://github.com/flutter/flutter/pull/27987) add ui.Window fallback to TestViewConfiguration |
+| **f: cupertino** | **20 issues with this label** |
+| | [flutter/flutter#31088](https://github.com/flutter/flutter/pull/31088) Text field scroll physics |
+| | [flutter/flutter#30946](https://github.com/flutter/flutter/pull/30946) Add some more cupertino icons |
+| | [flutter/flutter#29451](https://github.com/flutter/flutter/pull/29451) Added opacity to cupertino switch when disabled |
+| | [flutter/flutter#30862](https://github.com/flutter/flutter/pull/30862) CupertinoDatePicker initialDateTime accounts for minuteInterval |
+| | [flutter/flutter#29822](https://github.com/flutter/flutter/pull/29822) Cupertino localization step 7: modularize material specific things out of gen_localizations.dart |
+| | [flutter/flutter#30527](https://github.com/flutter/flutter/pull/30527) Cupertino localization step 11: add more translation clarifications in the instructions |
+| | [flutter/flutter#29767](https://github.com/flutter/flutter/pull/29767) Cupertino localization step 6: add a GlobalCupertinoLocalizations base class with date time formatting |
+| | [flutter/flutter#29708](https://github.com/flutter/flutter/pull/29708) Cupertino localization step 5: add french arb as translated example |
+| | [flutter/flutter#28001](https://github.com/flutter/flutter/pull/28001) CupertinoTextField: added ability to change placeholder color |
+| | [flutter/flutter#29821](https://github.com/flutter/flutter/pull/29821) Cupertino localization step 1.5: fix a resource mismatch in cupertino_en.arb |
+| | [flutter/flutter#29946](https://github.com/flutter/flutter/pull/29946) Let CupertinoPageScaffold have tap status bar to scroll to top |
+| | [flutter/flutter#29987](https://github.com/flutter/flutter/pull/29987) update CupertinoSwitch documentation |
+| | [flutter/flutter#29943](https://github.com/flutter/flutter/pull/29943) Remove unwanted gap between navigation bar and safe area's child |
+| | [flutter/flutter#29630](https://github.com/flutter/flutter/pull/29630) Add heart shapes to CupertinoIcons |
+| | [flutter/flutter#28597](https://github.com/flutter/flutter/pull/28597) Adjust remaining Cupertino route animations to match native |
+| | [flutter/flutter#29463](https://github.com/flutter/flutter/pull/29463) Make real JSON in arb |
+| | [flutter/flutter#28900](https://github.com/flutter/flutter/pull/28900) Add key support to cupertino button |
+| | [flutter/flutter#28855](https://github.com/flutter/flutter/pull/28855) Move material iOS back swipe test to material |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| **a: text input** | **12 issues with this label** |
+| | [flutter/flutter#30991](https://github.com/flutter/flutter/pull/30991) Use full height of the glyph for caret height on Android |
+| | [flutter/flutter#28001](https://github.com/flutter/flutter/pull/28001) CupertinoTextField: added ability to change placeholder color |
+| | [flutter/flutter#29395](https://github.com/flutter/flutter/pull/29395) Fix text selection when user is dragging in the opposite direction |
+| | [flutter/flutter#27205](https://github.com/flutter/flutter/pull/27205) Fix TextField height issues |
+| | [flutter/flutter#28169](https://github.com/flutter/flutter/pull/28169) Add/rewrite tests for FocusScope. |
+| | [flutter/flutter#28290](https://github.com/flutter/flutter/pull/28290) Text selection via mouse |
+| | [flutter/flutter#28558](https://github.com/flutter/flutter/pull/28558) Fix typo |
+| | [flutter/flutter#28438](https://github.com/flutter/flutter/issues/28438) PC keyboard not works on text fields in emulator when on master branch. |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#27898](https://github.com/flutter/flutter/pull/27898) Add slight clarification to debugDeterministicCursor |
+| | [flutter/flutter#26659](https://github.com/flutter/flutter/pull/26659) Adds fix for NAN value and pressure values outside of device reported min and max |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| **team: gallery** | **11 issues with this label** |
+| | [flutter/flutter#30455](https://github.com/flutter/flutter/pull/30455) Prevent vertical scroll in shrine by ensuring card size fits the screen |
+| | [flutter/flutter#30497](https://github.com/flutter/flutter/pull/30497) Add confirmDismiss example to flutter_gallery |
+| | [flutter/flutter#25164](https://github.com/flutter/flutter/pull/25164) Pan and zoom gallery demo |
+| | [flutter/flutter#27217](https://github.com/flutter/flutter/pull/27217) Fix Shrine overscroll glow indicator |
+| | [flutter/flutter#30460](https://github.com/flutter/flutter/pull/30460) Fix gallery API doc URL launcher |
+| | [flutter/flutter#29908](https://github.com/flutter/flutter/pull/29908) Update Twitter handle @flutterio -> @FlutterDev |
+| | [flutter/flutter#29632](https://github.com/flutter/flutter/pull/29632) Enable platform views for Flutter Gallery on iOS. |
+| | [flutter/flutter#25202](https://github.com/flutter/flutter/pull/25202) fix #19175 How should addTime be used from a test? |
+| | [flutter/flutter#28175](https://github.com/flutter/flutter/pull/28175) Only call Activity.reportFullyDrawn on Lollipop or above |
+| | [flutter/flutter#28125](https://github.com/flutter/flutter/pull/28125) [Gallery] Fortnightly demo moved from flutter/samples. |
+| | [flutter/flutter#28215](https://github.com/flutter/flutter/pull/28215) Minor UI tweaks to Cards demo based on internal feedback |
+| **d: examples** | **8 issues with this label** |
+| | [flutter/flutter#30398](https://github.com/flutter/flutter/pull/30398) Embedding new raised button diagram. |
+| | [flutter/flutter#30453](https://github.com/flutter/flutter/pull/30453) Updating sample code for BottomNavigationBar class for diagram. |
+| | [flutter/flutter#30348](https://github.com/flutter/flutter/pull/30348) RaisedButton Sample Code Update for Diagrams |
+| | [flutter/flutter#29697](https://github.com/flutter/flutter/pull/29697) Embedding new diagrams for API Docs |
+| | [flutter/flutter#29442](https://github.com/flutter/flutter/pull/29442) Align Snippet for API Docs |
+| | [flutter/flutter#29053](https://github.com/flutter/flutter/pull/29053) Update to Container Sample Code in API Docs |
+| | [flutter/flutter#28857](https://github.com/flutter/flutter/pull/28857) Form Snippet for API Docs |
+| | [flutter/flutter#28752](https://github.com/flutter/flutter/pull/28752) FAB Snippet for API Docs |
+| **f: gestures** | **6 issues with this label** |
+| | [flutter/flutter#28749](https://github.com/flutter/flutter/pull/28749) Add minimum time gap requirement to double tap |
+| | [flutter/flutter#28290](https://github.com/flutter/flutter/pull/28290) Text selection via mouse |
+| | [flutter/flutter#28546](https://github.com/flutter/flutter/pull/28546) Call onTapCancel when down pointer gets cancelled |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#27904](https://github.com/flutter/flutter/pull/27904) Convert PointerEvent's toString to Diagnosticable |
+| | [flutter/flutter#26659](https://github.com/flutter/flutter/pull/26659) Adds fix for NAN value and pressure values outside of device reported min and max |
+| **severe: API break** | **6 issues with this label** |
+| | [flutter/flutter#30991](https://github.com/flutter/flutter/pull/30991) Use full height of the glyph for caret height on Android |
+| | [flutter/flutter#30414](https://github.com/flutter/flutter/pull/30414) Remove pressure customization from some pointer events |
+| | [flutter/flutter#28919](https://github.com/flutter/flutter/pull/28919) Always composite PhysicalModels |
+| | [flutter/flutter#28953](https://github.com/flutter/flutter/pull/28953) Include platformViewId in semantics tree |
+| | [flutter/flutter#28242](https://github.com/flutter/flutter/pull/28242) Add long-press-move support for text fields 2 |
+| | [flutter/flutter#28032](https://github.com/flutter/flutter/pull/28032) Revert 26001 |
+| **a: animation** | **5 issues with this label** |
+| | [flutter/flutter#30276](https://github.com/flutter/flutter/pull/30276) Random trivial fixes in the animation packages |
+| | [flutter/flutter#29069](https://github.com/flutter/flutter/pull/29069) Heroes and nested Navigators |
+| | [flutter/flutter#27803](https://github.com/flutter/flutter/pull/27803) Added sample code to AnimatedWidget |
+| | [flutter/flutter#28006](https://github.com/flutter/flutter/pull/28006) Re-apply "Ensure all curves return 0 and 1 in .transform(t) when t=0/1" |
+| | [flutter/flutter#27929](https://github.com/flutter/flutter/pull/27929) Use double literals where a double type is expected |
+| **a: desktop** | **5 issues with this label** |
+| | [flutter/flutter#30938](https://github.com/flutter/flutter/pull/30938) Update keycodes, fix a comment. |
+| | [flutter/flutter#30648](https://github.com/flutter/flutter/pull/30648) Allow downloading of desktop embedding artifacts |
+| | [flutter/flutter#30643](https://github.com/flutter/flutter/pull/30643) Add Form.onSaved |
+| | [flutter/flutter#29993](https://github.com/flutter/flutter/pull/29993) Adds the keyboard mapping for Linux |
+| | [flutter/flutter#29231](https://github.com/flutter/flutter/pull/29231) Adds macOS raw keyboard mapping |
+| **e: desktop** | **5 issues with this label** |
+| | [flutter/flutter#31283](https://github.com/flutter/flutter/pull/31283) Add desktop workflows to doctor |
+| | [flutter/flutter#31229](https://github.com/flutter/flutter/pull/31229) Add flutter run support for linux and windows |
+| | [flutter/flutter#31277](https://github.com/flutter/flutter/pull/31277) pass track widget creation flag through to build script |
+| | [flutter/flutter#31218](https://github.com/flutter/flutter/pull/31218) Add run capability for macOS target |
+| | [flutter/flutter#31205](https://github.com/flutter/flutter/pull/31205) Add desktop projects and build commands (experimental) |
+| **severe: performance** | **5 issues with this label** |
+| | [flutter/flutter#30990](https://github.com/flutter/flutter/pull/30990) Allow profile widget builds in profile mode |
+| | [flutter/flutter#30985](https://github.com/flutter/flutter/pull/30985) Add rrect contains microbenchmark |
+| | [flutter/flutter#14704](https://github.com/flutter/flutter/issues/14704) Unpack cached code on Android to the getCodeCacheDir() directory, rather than the user data directory |
+| | [flutter/flutter#8150](https://github.com/flutter/flutter/issues/8150) complex_layout_srcroll_perf__memory diff_total_kb regression |
+| | [flutter/flutter#28537](https://github.com/flutter/flutter/pull/28537) Reland "Shader warm up (#27660)" |
+| **▣ platform-android** | **5 issues with this label** |
+| | [flutter/flutter#14704](https://github.com/flutter/flutter/issues/14704) Unpack cached code on Android to the getCodeCacheDir() directory, rather than the user data directory |
+| | [flutter/flutter#29604](https://github.com/flutter/flutter/pull/29604) added friendlier error for invalid AndroidManifest.xml |
+| | [flutter/flutter#28651](https://github.com/flutter/flutter/issues/28651) Cannot execute operation because FlutterJNI is not attached to native. |
+| | [flutter/flutter#28355](https://github.com/flutter/flutter/pull/28355) Reland "Allow for gradle downloading missing SDK assets" (#28097) |
+| | [flutter/flutter#28031](https://github.com/flutter/flutter/pull/28031) Revert "Add support for binary compression of dynamic patches by the flutter tool. (#27754)" |
+| **a: typography** | **4 issues with this label** |
+| | [flutter/flutter#30991](https://github.com/flutter/flutter/pull/30991) Use full height of the glyph for caret height on Android |
+| | [flutter/flutter#28751](https://github.com/flutter/flutter/pull/28751) Expose decorationThickness in TextStyle. Roll engine (12 commits) |
+| | [flutter/flutter#28398](https://github.com/flutter/flutter/pull/28398) fix red build for analysis |
+| | [flutter/flutter#28182](https://github.com/flutter/flutter/pull/28182) Add TextOverflow.visible |
+| **t: gradle** | **4 issues with this label** |
+| | [flutter/flutter#28097](https://github.com/flutter/flutter/pull/28097) Allow for gradle downloading missing SDK assets |
+| | [flutter/flutter#28355](https://github.com/flutter/flutter/pull/28355) Reland "Allow for gradle downloading missing SDK assets" (#28097) |
+| | [flutter/flutter#27754](https://github.com/flutter/flutter/pull/27754) Add support for binary compression of dynamic patches by the flutter tool. |
+| | [flutter/flutter#28031](https://github.com/flutter/flutter/pull/28031) Revert "Add support for binary compression of dynamic patches by the flutter tool. (#27754)" |
+| **⌺ platform-ios** | **4 issues with this label** |
+| | [flutter/flutter#30475](https://github.com/flutter/flutter/pull/30475) Trackpad mode crash fix |
+| | [flutter/flutter#8094](https://github.com/flutter/flutter/issues/8094) Flutter doesn't find xcode 8.2 |
+| | [flutter/flutter#27908](https://github.com/flutter/flutter/pull/27908) Reland automatic discovery of observatory port for iOS |
+| | [flutter/flutter#27765](https://github.com/flutter/flutter/pull/27765) Refactor local engine logic |
+| **a: fidelity** | **3 issues with this label** |
+| | [flutter/flutter#30991](https://github.com/flutter/flutter/pull/30991) Use full height of the glyph for caret height on Android |
+| | [flutter/flutter#28597](https://github.com/flutter/flutter/pull/28597) Adjust remaining Cupertino route animations to match native |
+| | [flutter/flutter#27711](https://github.com/flutter/flutter/pull/27711) Make extended FAB's icon optional |
+| **affects: docs** | **3 issues with this label** |
+| | [flutter/engine#8617](https://github.com/flutter/engine/pull/8617) Fixes a typo in comment |
+| | [flutter/engine#8472](https://github.com/flutter/engine/pull/8472) [Docs] Correcting link to contributing guide. |
+| | [flutter/engine#8295](https://github.com/flutter/engine/pull/8295) Fixing links between higher and lower classes. |
+| **customer: fuchsia** | **3 issues with this label** |
+| | [flutter/flutter#30458](https://github.com/flutter/flutter/pull/30458) [fuchsia] Fix isolate filter |
+| | [flutter/flutter#29532](https://github.com/flutter/flutter/pull/29532) Reland composite physical layers on all platforms |
+| | [flutter/flutter#29454](https://github.com/flutter/flutter/pull/29454) Update another SDK constraint |
+| **easy fix** | **3 issues with this label** |
+| | [flutter/flutter#21136](https://github.com/flutter/flutter/issues/21136) Request sample code for popular API docs |
+| | [flutter/flutter#7738](https://github.com/flutter/flutter/issues/7738) Allow for more flexible unselected label color parameter in TabBar |
+| | [flutter/engine#8472](https://github.com/flutter/engine/pull/8472) [Docs] Correcting link to contributing guide. |
+| **engine** | **3 issues with this label** |
+| | [flutter/flutter#14704](https://github.com/flutter/flutter/issues/14704) Unpack cached code on Android to the getCodeCacheDir() directory, rather than the user data directory |
+| | [flutter/flutter#28651](https://github.com/flutter/flutter/issues/28651) Cannot execute operation because FlutterJNI is not attached to native. |
+| | [flutter/flutter#27712](https://github.com/flutter/flutter/pull/27712) add2app test |
+| **severe: regression** | **3 issues with this label** |
+| | [flutter/flutter#28651](https://github.com/flutter/flutter/issues/28651) Cannot execute operation because FlutterJNI is not attached to native. |
+| | [flutter/flutter#8150](https://github.com/flutter/flutter/issues/8150) complex_layout_srcroll_perf__memory diff_total_kb regression |
+| | [flutter/flutter#28438](https://github.com/flutter/flutter/issues/28438) PC keyboard not works on text fields in emulator when on master branch. |
+| **t: flutter driver** | **3 issues with this label** |
+| | [flutter/flutter#30747](https://github.com/flutter/flutter/pull/30747) Print warning if flutter drive is run in debug |
+| | [flutter/flutter#29342](https://github.com/flutter/flutter/pull/29342) Add semantic label finders |
+| | [flutter/flutter#27709](https://github.com/flutter/flutter/pull/27709) Increase our build budget to 16ms |
+| **cla: no** | **2 issues with this label** |
+| | [flutter/flutter#27205](https://github.com/flutter/flutter/pull/27205) Fix TextField height issues |
+| | [flutter/flutter#28159](https://github.com/flutter/flutter/pull/28159) [Material] Expand BottomNavigationBar API (reprise) |
+| **f: scrolling** | **2 issues with this label** |
+| | [flutter/flutter#27945](https://github.com/flutter/flutter/pull/27945) Fixes crossAxisSpacing overflow in RTL |
+| | [flutter/flutter#27433](https://github.com/flutter/flutter/pull/27433) Fix issue where SliverPersistentHeader that is both floating and pinned would scroll down when scrolling past the beginning of the ScrollView |
+| **t: hot reload** | **2 issues with this label** |
+| | [flutter/flutter#29693](https://github.com/flutter/flutter/pull/29693) Use source list from the compiler to track invalidated files for hot reload. |
+| | [flutter/flutter#28152](https://github.com/flutter/flutter/pull/28152) Improve hot reload performance |
+| **⌘ platform-mac** | **2 issues with this label** |
+| | [flutter/flutter#31218](https://github.com/flutter/flutter/pull/31218) Add run capability for macOS target |
+| | [flutter/flutter#27908](https://github.com/flutter/flutter/pull/27908) Reland automatic discovery of observatory port for iOS |
+| **⚠ TODAY** | **2 issues with this label** |
+| | [flutter/flutter#8150](https://github.com/flutter/flutter/issues/8150) complex_layout_srcroll_perf__memory diff_total_kb regression |
+| | [flutter/flutter#28438](https://github.com/flutter/flutter/issues/28438) PC keyboard not works on text fields in emulator when on master branch. |
+| **Work in progress (WIP)** | **1 issue with this label** |
+| | [flutter/engine#8274](https://github.com/flutter/engine/pull/8274) [ui] Add null check in FontWeight.lerp |
+| **a: accessibility** | **1 issue with this label** |
+| | [flutter/flutter#29342](https://github.com/flutter/flutter/pull/29342) Add semantic label finders |
+| **a: debugging** | **1 issue with this label** |
+| | [flutter/flutter#27904](https://github.com/flutter/flutter/pull/27904) Convert PointerEvent's toString to Diagnosticable |
+| **a: existing-apps** | **1 issue with this label** |
+| | [flutter/flutter#27712](https://github.com/flutter/flutter/pull/27712) add2app test |
+| **a: first hour** | **1 issue with this label** |
+| | [flutter/flutter#30562](https://github.com/flutter/flutter/pull/30562) Replace flutter.io with flutter.dev |
+| **a: internationalization** | **1 issue with this label** |
+| | [flutter/flutter#27945](https://github.com/flutter/flutter/pull/27945) Fixes crossAxisSpacing overflow in RTL |
+| **a: quality** | **1 issue with this label** |
+| | [flutter/flutter#30562](https://github.com/flutter/flutter/pull/30562) Replace flutter.io with flutter.dev |
+| **affects: dev experience** | **1 issue with this label** |
+| | [flutter/engine#7908](https://github.com/flutter/engine/pull/7908) Link dart:* sources into engine for debugger source support |
+| **affects: engine** | **1 issue with this label** |
+| | [flutter/engine#7908](https://github.com/flutter/engine/pull/7908) Link dart:* sources into engine for debugger source support |
+| **area-analyzer** | **1 issue with this label** |
+| | [dart-lang/sdk#35940](https://github.com/dart-lang/sdk/issues/35940) Dartanalyzer: Missing line/column information, Unexpected error for int-to-double cast |
+| **customer: dream (g3)** | **1 issue with this label** |
+| | [flutter/flutter#29532](https://github.com/flutter/flutter/pull/29532) Reland composite physical layers on all platforms |
+| **f: routes** | **1 issue with this label** |
+| | [flutter/flutter#28597](https://github.com/flutter/flutter/pull/28597) Adjust remaining Cupertino route animations to match native |
+| **p1-high** | **1 issue with this label** |
+| | [dart-lang/sdk#35940](https://github.com/dart-lang/sdk/issues/35940) Dartanalyzer: Missing line/column information, Unexpected error for int-to-double cast |
+| **platform-ios** | **1 issue with this label** |
+| | [flutter/engine#8202](https://github.com/flutter/engine/pull/8202) [platform_view] iOSP platformView composition optimize. |
+| **prod: API break** | **1 issue with this label** |
+| | [flutter/engine#8274](https://github.com/flutter/engine/pull/8274) [ui] Add null check in FontWeight.lerp |
+| **severe: crash** | **1 issue with this label** |
+| | [flutter/flutter#28651](https://github.com/flutter/flutter/issues/28651) Cannot execute operation because FlutterJNI is not attached to native. |
+| **severe: new feature** | **1 issue with this label** |
+| | [flutter/flutter#29390](https://github.com/flutter/flutter/pull/29390) Make expansion panel optionally toggle its state by tapping its header. |
+| **t: flutter doctor** | **1 issue with this label** |
+| | [flutter/flutter#8094](https://github.com/flutter/flutter/issues/8094) Flutter doesn't find xcode 8.2 |
+| **t: xcode** | **1 issue with this label** |
+| | [flutter/flutter#27765](https://github.com/flutter/flutter/pull/27765) Refactor local engine logic |
+| **team: flakes** | **1 issue with this label** |
+| | [flutter/flutter#28480](https://github.com/flutter/flutter/pull/28480) increase timeout |
+| **type-bug** | **1 issue with this label** |
+| | [dart-lang/sdk#35940](https://github.com/dart-lang/sdk/issues/35940) Dartanalyzer: Missing line/column information, Unexpected error for int-to-double cast |
+| **waiting for PR to land (fixed)** | **1 issue with this label** |
+| | [flutter/flutter#7999](https://github.com/flutter/flutter/issues/7999) Consider renaming the Design Principles guide |
+| **○ platform-fuchsia** | **1 issue with this label** |
+| | [flutter/flutter#28168](https://github.com/flutter/flutter/pull/28168) [flutter_tool,fuchsia_tester] Only require a test source dir for coverage |
+| **❖ platform-windows** | **1 issue with this label** |
+| | [flutter/flutter#28356](https://github.com/flutter/flutter/pull/28356) Log pub return code on failure on Windows |
+
+
+
+We addressed 1231 issues.
+
+## Changes in `flutter/engine` from `375739` to `ca31a7`
+| Author | Commit |
+|--------|--------|
+|Ben Konyi <bkonyi@google.com>|Disable auth codes for Observatory test ([#8646](https://github.com/flutter/engine/issues/8646))|
+|Matthew Dempsky <matthew@dempsky.org>|Remove unnecessary DartIO::EntropySource wrapper ([#8635](https://github.com/flutter/engine/issues/8635))|
+|Chinmay Garde <chinmaygarde@gmail.com>|Revert "Remove DartSnapshotBuffer and dry up snapshot resolution logic. ([#8640](https://github.com/flutter/engine/issues/8640))" ([#8644](https://github.com/flutter/engine/issues/8644)) This reverts commit 905ddb6ca9f9dcb6b1a7cea67d502da094867623.|
+|Ben Konyi <bkonyi@google.com>|Roll src/third_party/dart 7b9ab9f353..cf4444b803 (44 commits) ([#8639](https://github.com/flutter/engine/issues/8639)) cf4444b803 Revert "[ VM / Service ] Temporarily disable VM service auth codes by default" f8491950fe Create List<TypeParameterElement>, not Impl. fa7485f28e Build types for not simply bounded elements using dynamic type arguments. 9d376de55a [vm] Remove code collection. 0c0e49cd11 update keyword list to include "late" modifier 3cf3e4edde [dart/vm] Reduce trip count of osr test 503e20946c [vm] Start logging if shutdown takes too long. 2b9f968d2f Convert engine.dart to triple-slash comment style 73b917c014 [vm/compiler] Do not generate unnecessary field length guards 20fde9a6a8 Don't overwrite inherited types of fields with types of initializers. e6e2a196a3 Issue 36667. Check for unresolved URI in getLibraryByUri(). 6ac38a926c The synthetic default constructor should have reference. 92729e0cd3 Remove UndefinedTypeImpl. cf77b82f52 [analyzer] handle youtube and animation dartdoc directives 6384f629c0 new conflicting-modifiers error code f3703c1bce change "late" from built-in to keyword af9c01432c Remove unused import 7b6b8f8c43 Restore 'parameters' and 'typeParameters' for ParameterElementImpl. bc58bf598e Add summary serialization support for nullability suffixes. 8093f73424 [vm/dbc] Add UNREACHABLE() stubs to simulator_dbc.cc in 32-bit mode to make 32-build work 336fc9001c Fix for getting type of a DefaultFormalParameter during building types. e93c6b7ce1 Add AST representation of the late keyword 43eebea5a3 [kernel_worker] retry on failure 284a299543 Fix mustCallSuper for mixins; fixes [#36492](https://github.com/flutter/engine/issues/36492) 5a824581b7 Read directive annotations before returning offset. 703ccc974b Support for TypeParameter metadata. 242ed77040 Fix for FormalParameter without name. 92dd37081d Write / read Annotation element. d8a0d68bd6 Rename devcompiler to ddc 6d91643073 [vm, interpreter] Handle closure case of invoke-field-dispatchers as bytecode. b8a9711489 Update AstBuilder to handle "required" modifier ca28e2c8ce forward "required" modifier to parser listeners 250d931ecc When URI cannot be resolved, the library is null. 2491767a33 Use correct CompilationUnitElement for annotations. 4ef18fdb96 Fix nameOffset for Export/ImportElement. 7873dbdc1d Fix for duplicate declarations. 38049f3cb6 [vm, interpreter] Handle implicit static getters as bytecode. 714a082a5d Minimal integration of summary2 into AnalysisDriver. dd3530450d make "late" and "required" builtin keywords 836efd6520 Add a language_2 test for having an invalid type in an on clause 81e554ea43 parse "required" modifier for NNBD 1eab04ed3f Reland "[VM-debugger] resolve column breakpoint tokenposition into a single value" ec27b09e68 [vm, service] Fix deferral of service extension invocation to not be mislead by other OOB messages. 1e30bb90dc [vm/dbc] Support unboxed Int64 on DBC|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 067861e14821..9b67802a4cd0 (6 commits) ([#8641](https://github.com/flutter/engine/issues/8641)) https://skia.googlesource.com/skia.git/%2Blog/067861e14821..9b67802a4cd0 git log 067861e1482118dd7071c931a90127c5ca0c9b21..9b67802a4cd01fbbe5fcbe9f4117ff68e7b8e751 --date=short --no-merges --format=%ad %ae %s 2019-04-19 martin@mainframe.co.uk Properly retrieve memory block in SkTextUtils 2019-04-18 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2019-04-18 halcanary@google.com SkPDF: move type1 font code into single file 2019-04-18 csmartdalton@google.com Swap front and back stencil sides when rendering bottom-left 2019-04-18 bsalomon@google.com Swap x/y radii for EllipticalRRectOp depending on matrix. 2019-04-18 halcanary@google.com SkQP: consolidate cut_release scripts The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|Chinmay Garde <chinmaygarde@gmail.com>|Remove DartSnapshotBuffer and dry up snapshot resolution logic. ([#8640](https://github.com/flutter/engine/issues/8640)) Fixes https://github.com/flutter/flutter/issues/26782.|
+|Ben Konyi <bkonyi@google.com>|Enable VM service authentication codes by default ([#8594](https://github.com/flutter/engine/issues/8594))|
+|liyuqian <liyuqian@google.com>|Generate layer unique id for raster cache key ([#8637](https://github.com/flutter/engine/issues/8637)) The raw pointer isn't a reliable id as the allocator can reuse an address that's just been released for another layer. This will fix Fuchsia bug FL-216. This problem was not affecting non-Fuchsia Flutter probably because non-Fuchsia Flutter purges the raster cache key much more frequently so we won't see a key collision. In Fuchsia, as the key has to wait for the Vulkan surface to render asynchronously, this suddenly becomes an issue.|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 2c2240f66805..067861e14821 (6 commits) ([#8636](https://github.com/flutter/engine/issues/8636)) https://skia.googlesource.com/skia.git/%2Blog/2c2240f66805..067861e14821 git log 2c2240f66805ac852507f7eea010c153b42485e3..067861e1482118dd7071c931a90127c5ca0c9b21 --date=short --no-merges --format=%ad %ae %s 2019-04-18 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2019-04-18 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2019-04-18 reed@google.com remove experimental from some APIs (that are no longer experiments) 2019-04-18 michaelludwig@google.com Fix quad type detection from SkPoint array 2019-04-18 brianosman@google.com Remove the axis-aligned vector special case to convexity checker 2019-04-18 ethannicholas@google.com fixed assertion failure in skslc SPIR-V output The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|Chinmay Garde <chinmaygarde@gmail.com>|Merge runtime lifecycle unittests into the base test target. ([#8634](https://github.com/flutter/engine/issues/8634)) `//flutter/runtime: runtime_lifecycle_unittests` was added because the these assumed that there was no VM already running in the process. Running other tests in the base target would mess up that assumption. Now that all test targets have been updated to make sure the VM instance does not leak, the tests in this target can be merged. LUCI bots don’t need to be patched as these tests were only ever run on the trybots.|
+|Ben Konyi <bkonyi@google.com>|Add support for authentication codes via MDNS on iOS ([#8625](https://github.com/flutter/engine/issues/8625))|
+|Chinmay Garde <chinmaygarde@gmail.com>|Avoid leaking the VM in the shell unittests and assert VM state in existing tests. ([#8628](https://github.com/flutter/engine/issues/8628))|
+|liyuqian <liyuqian@google.com>|Reland elevation test ([#8633](https://github.com/flutter/engine/issues/8633)) Reland "Add a unit test for PhysicalShapeLayer ([#8616](https://github.com/flutter/engine/issues/8616))" This reverts commit 91b71070f55ffc38c432babc7d9bb68ac2720d8d. The only change is the namespace.|
+|Jason Simmons <jason-simmons@users.noreply.github.com>|Add an adjustment to the line width check in LineBreaker::addWordBreak ([#8623](https://github.com/flutter/engine/issues/8623)) currentLineWidth is the width passed into Paragraph layout, which comes from the maxIntrinsicWidth returned by a previous call to Paragraph layout. That width is calculated by Layout::measureText. postBreak is calculated from the character widths in the LineBreaker. A slight mismatch between these two widths may unnecessarily cause the insertion of desperate breaks in addWordBreak. Adding some slack to currentLineWidth works around this. Fixes https://github.com/flutter/flutter/issues/30347|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia a94670bd08cd..2c2240f66805 (2 commits) ([#8632](https://github.com/flutter/engine/issues/8632)) https://skia.googlesource.com/skia.git/%2Blog/a94670bd08cd..2c2240f66805 git log a94670bd08cd52a19bf72223d63e2cc808b6b057..2c2240f66805ac852507f7eea010c153b42485e3 --date=short --no-merges --format=%ad %ae %s 2019-04-17 bungeman@google.com Make more SkTypeface virtuals pure. 2019-04-18 borenet@google.com [infra] Fixes for chrome_release_branch The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|Justin McCandless <justinjmccandless@gmail.com>|Tight Paragraph Width ([#8530](https://github.com/flutter/engine/issues/8530)) Calculate and expose paragraph tightWidth to the framework to allow drawing Text based on this.|
+|Justin McCandless <justinjmccandless@gmail.com>|Glitchiness with Tab Characters ([#8591](https://github.com/flutter/engine/issues/8591)) Fix a bug that caused jumping and flashing when entering tab characters into a TextField.|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 847d55be4e62..a94670bd08cd (1 commits) ([#8631](https://github.com/flutter/engine/issues/8631)) https://skia.googlesource.com/skia.git/%2Blog/847d55be4e62..a94670bd08cd git log 847d55be4e6273fc3cd9c0b30c7bfc8a2d6575b7..a94670bd08cd52a19bf72223d63e2cc808b6b057 --date=short --no-merges --format=%ad %ae %s 2019-04-18 hcm@google.com Update Skia milestone to 76 The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia ced2b79d00f9..847d55be4e62 (3 commits) ([#8630](https://github.com/flutter/engine/issues/8630)) https://skia.googlesource.com/skia.git/%2Blog/ced2b79d00f9..847d55be4e62 git log ced2b79d00f9370cbd874d1462757b554655648f..847d55be4e6273fc3cd9c0b30c7bfc8a2d6575b7 --date=short --no-merges --format=%ad %ae %s 2019-04-18 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update go_deps asset 2019-04-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 c832cdd75f75..82bcffa78747 (7 commits) 2019-04-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/swiftshader 84c3a94e1450..abaecd5f2ba7 (6 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 14c90c1ca218..ced2b79d00f9 (1 commits) ([#8629](https://github.com/flutter/engine/issues/8629)) https://skia.googlesource.com/skia.git/%2Blog/14c90c1ca218..ced2b79d00f9 git log 14c90c1ca218428418b82be5684bb71f13e81f60..ced2b79d00f9370cbd874d1462757b554655648f --date=short --no-merges --format=%ad %ae %s 2019-04-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ../src a3585f70a100..f968f64cdf27 (436 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|Joseph Richey <joerichey@google.com>|Allow building without python2 ([#8605](https://github.com/flutter/engine/issues/8605)) Almost all of the python build files in the flutter project work if `python` is `python2` or `python3`. This is the only area where print is incorrectly used (for `python3`). Related issue: https://fuchsia-review.googlesource.com/c/fuchsia/+/272925|
+|Chinmay Garde <chinmaygarde@gmail.com>|Test saving compilation traces. ([#8618](https://github.com/flutter/engine/issues/8618))|
+|Chinmay Garde <chinmaygarde@gmail.com>|Avoid leaking the VM in runtime_unittests and update failing tests. ([#8626](https://github.com/flutter/engine/issues/8626)) The failing tests were depending on the old assumption that the VM would never shutdown.|
+|Chinmay Garde <chinmaygarde@gmail.com>|Revert "Add a unit test for PhysicalShapeLayer ([#8616](https://github.com/flutter/engine/issues/8616))" ([#8627](https://github.com/flutter/engine/issues/8627)) This reverts commit 8b667b0178f135411ad72d7e5b3304cc46ff7dcf.|
+|liyuqian <liyuqian@google.com>|Add a unit test for PhysicalShapeLayer ([#8616](https://github.com/flutter/engine/issues/8616)) An unnecessary PrerollContext copy is also removed. The added unit test will catch the error if we forget to subtract the elevation after the copy removal. This change has been tested with the framework (`flutter test --local-engine=host_debug_unopt`).|
+|Chinmay Garde <chinmaygarde@gmail.com>|Assert that all VM launches in the process have the same opinion on whether the VM should be leaked in the process. ([#8622](https://github.com/flutter/engine/issues/8622)) There is a possibility for a VM launch to not have a requisite shutdown if a previous launch asked to leak the VM instance in the process. Embedders have to ensure (via their Embedding APIs) that all instances of VM launch use consistent settings.|
+|liyuqian <liyuqian@google.com>|Revert "Roll src/third_party/dart 7b9ab9f353..714a082a5d (7 commits)" ([#8624](https://github.com/flutter/engine/issues/8624)) This reverts commit 80e934e3241fa8b177beea5a6af5f06cc2939923. Reason for the revert: breaks the post-submit Mac iOS build bot.|
+|Chinmay Garde <chinmaygarde@gmail.com>|Avoid manually shutting down engine managed isolates. ([#8621](https://github.com/flutter/engine/issues/8621)) These are now shutdown by the VM and cleanup waits for their shutdown.|
+|Ben Konyi <bkonyi@google.com>|Roll src/third_party/dart 7b9ab9f353..714a082a5d (7 commits) 714a082a5d Minimal integration of summary2 into AnalysisDriver. dd3530450d make "late" and "required" builtin keywords 836efd6520 Add a language_2 test for having an invalid type in an on clause 81e554ea43 parse "required" modifier for NNBD 1eab04ed3f Reland "[VM-debugger] resolve column breakpoint tokenposition into a single value" ec27b09e68 [vm, service] Fix deferral of service extension invocation to not be mislead by other OOB messages. 1e30bb90dc [vm/dbc] Support unboxed Int64 on DBC|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 6f9047027be3..14c90c1ca218 (5 commits) ([#8619](https://github.com/flutter/engine/issues/8619)) https://skia.googlesource.com/skia.git/%2Blog/6f9047027be3..14c90c1ca218 git log 6f9047027be329719bb9fe79e6f892724e6a0fa2..14c90c1ca218428418b82be5684bb71f13e81f60 --date=short --no-merges --format=%ad %ae %s 2019-04-16 bungeman@google.com Reland &[#34](https://github.com/flutter/engine/issues/34);Remove includes from SkFontTypes.h&[#34](https://github.com/flutter/engine/issues/34); 2019-04-17 benjaminwagner@google.com Add __init__.py to page_sets 2019-04-17 robertphillips@google.com Non-substantive changes 2019-04-17 halcanary@google.com SkQP: fix model colorspace (16-bit gold images) 2019-04-17 egdaniel@google.com Add struct to wrap all the gpu flush options. The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|Shi-Hao Hong <shihaohong@google.com>|Fix typo in comment ([#8617](https://github.com/flutter/engine/issues/8617))|
+|liyuqian <liyuqian@google.com>|Rename flow namespace to flutter ([#8615](https://github.com/flutter/engine/issues/8615)) This follows our namespace change from shell to flutter: https://github.com/flutter/engine/pull/8520.|
+|Ben Konyi <bkonyi@google.com>|Roll src/third_party/dart bc99f1ca28..7b9ab9f353 (5 commits) 7b9ab9f353 Add error ranges to more diagnostic tests 3782197e95 Sort summary_common.dart 37285467db Improvements to null_assertion_ambiguous_test b0c98d57fa Add the new manifest error codes to error codes list ebdefa3f5f add new "late" and "required" modifiers|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 5155e09d1466..6f9047027be3 (5 commits) ([#8613](https://github.com/flutter/engine/issues/8613)) https://skia.googlesource.com/skia.git/%2Blog/5155e09d1466..6f9047027be3 git log 5155e09d146665be078494247092fa990d5ae4a7..6f9047027be329719bb9fe79e6f892724e6a0fa2 --date=short --no-merges --format=%ad %ae %s 2019-04-17 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2019-04-16 reed@google.com Reland &[#34](https://github.com/flutter/engine/issues/34);Simplify SkTypeface::charsToGlyphs API to require UTF32 input&[#34](https://github.com/flutter/engine/issues/34); 2019-04-16 bsalomon@google.com Add flag to map buffer flags in GrCaps to indicate whether mapping a GrGpuBuffer for reading is synchronous or not. 2019-04-17 borenet@google.com [infra] More work on chrome_release_branch 2019-04-17 mtklein@google.com Add clang-cl arm64 builds The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|bungeman <bungeman@chromium.org>|Remove call to SkFont::setLinearMetrics ([#8612](https://github.com/flutter/engine/issues/8612)) This particular call doesn't do anything since the default is false anyway. In addition Skia is looking to remove this flag since setting it to true is now synonymous with setting the hinting to none.|
+|stuartmorgan <stuart.morgan@gmail.com>|Add FLEPluginRegistry for macOS ([#8611](https://github.com/flutter/engine/issues/8611)) Creates a minimal FLEPluginRegistry protocol, which is a subset of the FlutterPluginRegistry. This is a small step toward eventually merging the APIs, but allows changing the example project structure to better reflect what a future template will look like.|
+|Zachary Anderson <zanderso@users.noreply.github.com>|[fuchsia] Fix SceneUpdateContext for new PaintContext field ([#8608](https://github.com/flutter/engine/issues/8608))|
+|Michael Klimushyn <mklim@google.com>|Pipe Z bounds from ViewportMetrics to Flow ([#8583](https://github.com/flutter/engine/issues/8583)) This is the first step in making Flutter aware of and responsive to Z bound overflow. On its own this patch shouldn't result in any changes in behavior. This will need to be followed up with a patch in Fuchsia's Flutter runner to set the Z bounds after this lands, and another patch in the engine actually implementing the desired overflow behavior. This Z bound info is routed through the engine itself to make sure the bounds in flow are truly consistent from the Fuchsia runner. However these values should eventually be exposed to the framework as well.|
+|Ben Konyi <bkonyi@google.com>|Roll src/third_party/dart f0da03ca36..bc99f1ca28 (1 commits) bc99f1ca28 Test a few more uses of the nullable type decorator|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 33906ad1e26f..5155e09d1466 (4 commits) ([#8609](https://github.com/flutter/engine/issues/8609)) https://skia.googlesource.com/skia.git/%2Blog/33906ad1e26f..5155e09d1466 git log 33906ad1e26fd36430a70712382b3edc3970213c..5155e09d146665be078494247092fa990d5ae4a7 --date=short --no-merges --format=%ad %ae %s 2019-04-17 egdaniel@google.com Revert &[#34](https://github.com/flutter/engine/issues/34);added more SPIR-V RelaxedPrecision decorations&[#34](https://github.com/flutter/engine/issues/34); 2019-04-17 jvanverth@google.com Make Metal render loop more stable 2019-04-17 mtklein@google.com roll clang_win 2019-04-17 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|Ben Konyi <bkonyi@google.com>|Roll src/third_party/dart d9c40462c2..f0da03ca36 (1 commits) f0da03ca36 [vm/compiler] Do not include FPU registers on ARM if VFP is not supported|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia e88d4382e1cf..33906ad1e26f (1 commits) ([#8604](https://github.com/flutter/engine/issues/8604)) https://skia.googlesource.com/skia.git/%2Blog/e88d4382e1cf..33906ad1e26f git log e88d4382e1cf0041ecc1f148e05fbf3b7d0fb7b1..33906ad1e26fd36430a70712382b3edc3970213c --date=short --no-merges --format=%ad %ae %s 2019-04-17 robertphillips@google.com Reland &[#34](https://github.com/flutter/engine/issues/34);Revert &[#34](https://github.com/flutter/engine/issues/34);Simplify SkTypeface::charsToGlyphs API to require UTF32 input&[#34](https://github.com/flutter/engine/issues/34);&[#34](https://github.com/flutter/engine/issues/34); The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 652b007a4cbb..e88d4382e1cf (4 commits) ([#8603](https://github.com/flutter/engine/issues/8603)) https://skia.googlesource.com/skia.git/%2Blog/652b007a4cbb..e88d4382e1cf git log 652b007a4cbb0b8c716510949456243573129ff4..e88d4382e1cf0041ecc1f148e05fbf3b7d0fb7b1 --date=short --no-merges --format=%ad %ae %s 2019-04-17 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update go_deps asset 2019-04-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 e7da32f1c73e..c832cdd75f75 (7 commits) 2019-04-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/swiftshader 25be5bb97518..84c3a94e1450 (6 commits) 2019-04-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ../src 95629c4c410f..a3585f70a100 (459 commits) The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (herb@google.com), and stop the roller if necessary.|
+|stuartmorgan <stuart.morgan@gmail.com>|Add desktop shell unittests to test script ([#8600](https://github.com/flutter/engine/issues/8600)) Builds the unit test on all platforms, and adds them to the aggregate test script.|
+|Ben Konyi <bkonyi@google.com>|Roll src/third_party/dart 8e73b3c006..d9c40462c2 (4 commits) d9c40462c2 [vm] Rename kImplicitStaticFinalGetter to kImplicitStaticGetter. 9a5a720413 Remove dead/outdated lints from pkg/dev_compiler/README.md 9d15138c91 [tests] Revert the previous deletion of UI-as-Code const tests 523666a97a Fix messages_test.|
+|skia-flutter-autoroll <skia-flutter-autoroll@skia.org>|Roll src/third_party/skia 70ed05e53ad2..652b007a4cbb (1 commits) ([#8601](https://github.com/flutter/engine/issues/8601)) https://skia.googlesource.com/skia.git/%2Blog/70ed05e53ad2..652b007a4cbb git log 70ed05e53ad244b3234415b447e5fcd53fb40e3b..652b007a4cbb0b8c716510949456243573129ff4 --date=short --no-merges --format=%ad %ae %s 2019-04-16 reed@google.com Revert &[#34](https://github.com/flutter/engine/issues/34);Revert &[#34](https://github.com/flutter/engine/issues/34);Simplify SkTypeface::charsToGlyphs API to require UTF32 input&[#34](https://github.com/flutter/engine/issues/34);&[#34](https://github.com/flutter/engine/issues/34); The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autor
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Comparing-AOT-Snapshot-Sizes.md b/docs/unsorted_wiki/Comparing-AOT-Snapshot-Sizes.md
new file mode 100644
index 0000000..7cd1587
--- /dev/null
+++ b/docs/unsorted_wiki/Comparing-AOT-Snapshot-Sizes.md
@@ -0,0 +1,90 @@
+These instructions can be used to prepare a tabulated summary of the differences in the sizes of two AOT snapshots. The instructions assume that the Flutter Engine has been [setup](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment) on the host (at `FLUTTER_ENGINE` in these instructions).
+
+Build the AOT snapshot (`flutter build aot`) for the application but pass in the `--verbose` flag. We need to find the `gen_snapshot` invocation and re-run it with an extra option (`--print-instructions-sizes-to`). If you are instrumenting with a local engine, the `flutter build` [takes a `--local-engine` and `--local-engine-host` flag](https://github.com/flutter/flutter/wiki/Debugging-the-engine#running-a-flutter-app-with-a-local-engine) as well.
+
+Here is an example of the updated invocation. Specify the path to a JSON file that acts as a summary (`SUMMARY_LOCATION` in these instructions) as follows.
+
+```bash
+$FLUTTER_ENGINE/out/host_debug_unopt/gen_snapshot \
+ --print-instructions-sizes-to=$SUMMARY_LOCATION \
+ --causal_async_stacks \
+ --packages=.packages \
+ --deterministic \
+ --snapshot_kind=app-aot-blobs \
+ --vm_snapshot_data=build/aot/vm_snapshot_data \
+ --isolate_snapshot_data=build/aot/isolate_snapshot_data \
+ --vm_snapshot_instructions=build/aot/vm_snapshot_instr \
+ --isolate_snapshot_instructions=build/aot/isolate_snapshot_instr \
+ build/aot/app.dill
+```
+
+Save the file at `SUMMARY_LOCATION` as `before.json`
+
+Now, either change the Dart code with the changes you wish to see the effects, or, rebuild the engine to create an updated `gen_snapshot` binary.
+
+After you have made necessary changes, re-run `flutter build aot` again. This step is important because AOT compilation has a [kernel compilation step](https://github.com/flutter/flutter/wiki/Custom-Flutter-Engine-Embedding-in-AOT-Mode#generating-the-kernel-snapshot) before the `gen_snapshot` invocation.
+
+Re-run the gen_snapshot invocation and save the resulting file to `after.json`.
+
+Run the `compare_size.dart` tool and pass in the `before.json` and `after.json` files to generate the summary.
+
+An example invocation looks as follow.
+
+```
+$FLUTTER_ENGINE/out/host_debug_unopt/dart-sdk/bin/dart \
+ before.json \
+ after.json
+```
+
+This should dump something like the following to the console.
+
+```
++------------+----------------------------------------------------------+--------------+
+| Library | Method | Diff (Bytes) |
++------------+----------------------------------------------------------+--------------+
+| dart:async | new ZoneSpecification.from | +2136 |
+| dart:async | runZoned | +1488 |
+| dart:async | new _CustomZone | +927 |
+| dart:async | runZoned.<anonymous closure> | +881 |
+| dart:async | _rootFork | +504 |
+| dart:async | _rootCreatePeriodicTimer | +500 |
+| dart:async | _rootCreateTimer | +498 |
+| dart:async | _rootRegisterUnaryCallback | +485 |
+| dart:async | _rootRegisterBinaryCallback | +485 |
+| dart:async | _rootRegisterCallback | +485 |
+| dart:async | _rootPrint | +453 |
+| dart:async | _CustomZone.fork | +396 |
+| dart:async | _rootErrorCallback | +389 |
+| dart:async | _CustomZone.bindUnaryCallbackGuarded | +368 |
+| dart:async | _rootHandleUncaughtError | +342 |
+| dart:async | _CustomZone.runBinary | +296 |
+| dart:async | _CustomZone.runUnary | +293 |
+| dart:async | _CustomZone.[] | +291 |
+| dart:async | _CustomZone.registerCallback | +290 |
+| dart:async | _CustomZone.run | +290 |
+| dart:async | _CustomZone.registerUnaryCallback | +290 |
+| dart:async | _CustomZone.registerBinaryCallback | +290 |
+| dart:async | _CustomZone.runBinaryGuarded | +289 |
+| dart:async | _CustomZone.runUnaryGuarded | +286 |
+| dart:async | _RootZone.fork | +283 |
+| dart:async | _CustomZone.bindCallback | +259 |
+| dart:async | _CustomZone.bindUnaryCallback | +259 |
+| dart:async | _CustomZone.bindUnaryCallback.<anonymous closure> | +248 |
+| dart:async | _RootZone.bindUnaryCallback.<anonymous closure> | +248 |
+| dart:async | _CustomZone.bindUnaryCallbackGuarded.<anonymous closure> | +248 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+| | [Stub] Type Test Type: class 'PopupMenuEntry' | -128 |
+| | [Stub] Type Test Type: class '_SyncIterator@0150898' | -128 |
+| | [Stub] Type Test Type: class 'PopupMenuItem' | -128 |
+| | [Stub] Type Test Type: class 'FormFieldState' | -128 |
+| | [Stub] Type Test Type: class 'PopupMenuButton' | -128 |
+| | [Stub] Type Test Type: class '_SyncIterator@0150898' | -131 |
+| | [Stub] Type Test Type: class '_SplayTreeMapNode@3220832' | -139 |
+| | [Stub] Type Test Type: class '_SplayTreeMapNode@3220832' | -165 |
+| dart:io | new Directory | -211 |
+| dart:io | new Link | -211 |
++------------+----------------------------------------------------------+--------------+
+Total change +24036 bytes.
+
+```
diff --git a/docs/unsorted_wiki/Compiling-the-engine.md b/docs/unsorted_wiki/Compiling-the-engine.md
new file mode 100644
index 0000000..64c645c
--- /dev/null
+++ b/docs/unsorted_wiki/Compiling-the-engine.md
@@ -0,0 +1,330 @@
+_If you've never built the engine before, first see [Setting up the Engine development environment](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment)._
+
+# Contents
+
+Depending on the platform you are making changes for, you may be interested in all or only some of the sections below:
+
+* [General Compilation Tips](#general-compilation-tips)
+* [Using a custom Dart SDK](#using-a-custom-dart-sdk)
+* [Compiling for Android](#compiling-for-android-from-macos-or-linux)
+* [Compiling for iOS (from macOS)](#compiling-for-ios-from-macos)
+* [Compiling for macOS or Linux](#compiling-for-macos-or-linux)
+* [Compiling for Windows](#compiling-for-windows)
+* [Compiling for Fuchsia](#compiling-for-fuchsia)
+* [Compiling for the Web](#compiling-for-the-web)
+* [Compiling for testing](#compiling-for-testing)
+
+## General Compilation Tips
+
+- For local development and testing, it's generally preferable to use `--unopt` builds.
+ These builds will have additional logging and checks enabled, and generally use build
+ and link flags that lead to faster compilation and better debugging symbols.
+ If you are trying to do performance testing with a local build, do not use the `--unopt`
+ flag.
+- Link Time Optimization: Optimized builds also perform Link Time Optimization of all
+ binaries. This makes the linker take a lot of time and memory to produce binaries. If
+ you need optimized binaries but don't want to perform LTO, add the `--no-lto` flag.
+- Android and iOS expect both a `host` and `android` (or `ios`) build. It is critical to
+ recompile the host build after upgrading the Dart SDK (e.g. via a `gclient sync` after
+ merging up to head), since artifacts from the host build need to be version matched to
+ artifacts in the Android/iOS build.
+- Web, Desktop, and Fuchsia builds have only one build target (i.e. `host` or `fuchsia`).
+- Make sure to exclude the `out` directory from any backup scripts, as many large binary
+ artifacts are generated. This is also generally true for all of the directories outside
+ of the `engine/src/flutter` directory.
+
+## Using a custom Dart SDK
+
+When targeting the host and desktop, on CI we use a pre-built Dart SDK vended by the Dart team.
+To build and use the SDK from the Dart sources downloaded by `gclient sync`, after editing those
+source files, pass the flag `--no-prebuilt-dart-sdk` to `//flutter/tools/gn`.
+
+## Compiling for Android (from macOS or Linux)
+
+These steps build the engine used by `flutter run` for Android devices.
+
+Run the following steps, from the `src` directory created in [Setting up the Engine development environment](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment):
+
+1. `git pull upstream main` in `src/flutter` to update the Flutter Engine repo.
+
+2. `gclient sync` to update dependencies.
+
+3. Prepare your build files
+ * `./flutter/tools/gn --android --unoptimized` for device-side executables.
+ * `./flutter/tools/gn --android --android-cpu arm64 --unoptimized` for newer 64-bit Android devices.
+ * `./flutter/tools/gn --android --android-cpu x86 --unoptimized` for x86 emulators.
+ * `./flutter/tools/gn --android --android-cpu x64 --unoptimized` for x64 emulators.
+ * `./flutter/tools/gn --unoptimized` for host-side executables, needed to compile the code.
+ * On Apple Silicon ("M" chips), add `--mac-cpu arm64` to avoid using emulation. This will generate `host_debug_unopt_arm64`.
+
+> 💡 **TIP**: When developing on a Mac with ARM (M CPU), prefer `host_debug_unopt_arm64`.
+>
+> You can continue to use `host_debug_unopt` (required for Intel Macs), but the engine will be run under Rosetta
+> which may be slower. See [Developing with Flutter on Apple Silicon](https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon)
+> for more information.
+
+4. Build your executables
+ * `ninja -C out/android_debug_unopt` for device-side executables.
+ * `ninja -C out/android_debug_unopt_arm64` for newer 64-bit Android devices.
+ * `ninja -C out/android_debug_unopt_x86` for x86 emulators.
+ * `ninja -C out/android_debug_unopt_x64` for x64 emulators.
+ * `ninja -C out/host_debug_unopt` (or `ninja -C out/host_debug_unopt_arm64`, see above) for host-side executables.
+ * These commands can be combined. Ex: `ninja -C out/android_debug_unopt && ninja -C out/host_debug_unopt`
+ * For MacOS, you will need older version of XCode(9.4 or below) to compile android_debug_unopt and android_debug_unopt_x86. If you only care about x64, you can ignore this
+
+This builds a debug-enabled ("unoptimized") binary configured to run Dart in
+checked mode ("debug"). There are other versions, see [[Flutter's modes]].
+
+If you're going to be debugging crashes in the engine, make sure you add
+`android:debuggable="true"` to the `<application>` element in the
+`android/AndroidManifest.xml` file for the Flutter app you are using
+to test the engine.
+
+See [[The flutter tool]] for instructions on how to use the `flutter` tool with a local engine.
+You will typically use the `android_debug_unopt` build to debug the engine on a device, and
+`android_debug_unopt_x64` to debug in on a simulator. Modifying dart sources in the engine will
+require adding a `dependency_override` section in you app's `pubspec.yaml` as detailed
+[here](https://github.com/flutter/flutter/wiki/The-flutter-tool#using-a-locally-built-engine-with-the-flutter-tool).
+
+Note that if you use particular android or ios engine build, you will need to have corresponding
+host build available next to it: if you use `android_debug_unopt`, you should have built `host_debug_unopt`,
+`android_profile` -> `host_profile`, etc. One caveat concerns cpu-flavored builds like `android_debug_unopt_x86`: you won't be able to build `host_debug_unopt_x86` as that configuration is not supported. What you are expected to do is to build `host_debug_unopt` and symlink `host_debug_unopt_x86` to it.
+
+### Compiling everything that matters on Linux
+
+The following script will update all the builds that matter if you're developing on Linux and testing on Android and created the `.gclient` file in `~/dev/engine`:
+
+```bash
+set -ex
+
+cd ~/dev/engine/src/flutter
+git fetch upstream
+git rebase upstream/main
+gclient sync
+cd ..
+
+flutter/tools/gn --unoptimized --runtime-mode=debug
+flutter/tools/gn --android --unoptimized --runtime-mode=debug
+flutter/tools/gn --android --runtime-mode=profile
+flutter/tools/gn --android --runtime-mode=release
+
+cd out
+find . -mindepth 1 -maxdepth 1 -type d | xargs -n 1 sh -c 'ninja -C $0 || exit 255'
+```
+For `--runtime-mode=profile` build, please also consider adding `--no-lto` option to the `gn` command. It will make linking much faster with a small sacrifice on the binary size and memory usage (which probably doesn't matter for debugging or performance benchmark purposes.)
+
+## Compiling for iOS (from macOS)
+
+These steps build the engine used by `flutter run` for iOS devices.
+
+Run the following steps, from the `src` directory created in the steps above:
+
+1. `git pull upstream main` in `src/flutter` to update the Flutter Engine repo.
+
+2. `gclient sync` to update dependencies.
+
+3. `./flutter/tools/gn --ios --unoptimized` to prepare build files for device-side executables (or `--ios --simulator --unoptimized` for simulator).
+ * This also produces an Xcode project for working with the engine source code at `out/ios_debug_unopt/flutter_engine.xcodeproj`
+ * For a discussion on the various flags and modes, see [[Flutter's modes]].
+ * Add the `--simulator-cpu=arm64` argument for an arm64 Mac simulator to output to `out/ios_debug_sim_unopt_arm64`.
+
+4. `./flutter/tools/gn --unoptimized` to prepare the build files for host-side executables.
+ * On Apple Silicon ("M" chips), add `--mac-cpu arm64` to avoid using emulation. This will generate `host_debug_unopt_arm64`.
+
+5. `ninja -C out/ios_debug_unopt && ninja -C out/host_debug_unopt` to build all artifacts (use `out/ios_debug_sim_unopt` for Simulator).
+
+See [[The flutter tool]] for instructions on how to use the `flutter` tool with a local engine.
+You will typically use the `ios_debug_unopt` build to debug the engine on a device, and
+`ios_debug_sim_unopt` to debug in on a simulator. Modifying dart sources in the engine will
+require adding a `dependency_override` section in you app's `pubspec.yaml` as detailed
+[here](https://github.com/flutter/flutter/wiki/The-flutter-tool#using-a-locally-built-engine-with-the-flutter-tool).
+
+See also [instructions for debugging the engine in a Flutter app in Xcode](https://github.com/flutter/flutter/wiki/Debugging-the-engine#debugging-ios-builds-with-xcode).
+
+## Compiling for macOS or Linux
+
+These steps build the desktop embedding, and the engine used by `flutter test` on a host workstation.
+
+1. `git pull upstream main` in `src/flutter` to update the Flutter Engine repo.
+
+2. `gclient sync` to update your dependencies.
+
+3. `./flutter/tools/gn --unoptimized` to prepare your build files.
+ * `--unoptimized` disables C++ compiler optimizations. On macOS, binaries are emitted unstripped; on Linux, unstripped binaries are emitted to an `exe.unstripped` subdirectory of the build.
+
+4. `ninja -C out/host_debug_unopt` to build a desktop unoptimized binary.
+ * If you skipped `--unoptimized`, use `ninja -C out/host_debug` instead.
+
+See [[The flutter tool]] for instructions on how to use the `flutter` tool with a local engine.
+You will typically use the `host_debug_unopt` build in this setup. Modifying dart sources in the engine will
+require adding a `dependency_override` section in you app's `pubspec.yaml` as detailed
+[here](https://github.com/flutter/flutter/wiki/The-flutter-tool#using-a-locally-built-engine-with-the-flutter-tool).
+
+
+## Compiling for Windows
+
+> [!WARNING]
+> You can only build selected binaries on Windows (mainly `gen_snapshot` and the desktop embedding).
+
+On Windows, ensure that the engine checkout is not deeply nested. This avoid the issue of the build scripts working with excessively long paths.
+
+1. Make sure you have Visual Studio installed (non-Googlers only). [Debugging Tools for Windows 10](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools#small-classic-windbg-preview-logo-debugging-tools-for-windows-10-windbg) must be installed.
+
+2. `git pull upstream main` in `src/flutter` to update the Flutter Engine repo.
+
+3. Ensure long path support is enabled on your machine. Launch PowerShell as an administrator and run:
+```
+Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -Force
+```
+
+4. If you are not a Google employee, you must set the following environment variables to point the depot tools at Visual Studio:
+```shell
+DEPOT_TOOLS_WIN_TOOLCHAIN=0
+GYP_MSVS_OVERRIDE_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community" # (or your location for Visual Studio)
+WINDOWSSDKDIR="C:\Program Files (x86)\Windows Kits\10" # (or your location for Windows Kits)
+```
+Also, be sure that Python27 is before any other python in your Path.
+
+5. `gclient sync` to update your dependencies.
+
+6. switch to `src/` directory.
+
+7. `python .\flutter\tools\gn --unoptimized` to prepare your build files.
+ * If you are only building `gen_snapshot`: `python .\flutter\tools\gn [--unoptimized] --runtime-mode=[debug|profile|release] [--android]`.
+
+8. `ninja -C .\out\<dir created by previous step>` to build.
+ * If you used a non-debug configuration, use `ninja -C .\out\<dir created by previous step> gen_snapshot`.
+ Release and profile are not yet supported for the desktop shell.
+
+## Compiling for Fuchsia
+
+### Build components for Fuchsia
+
+1. Building fuchsia is only supported on linux. You need to run `gclient config --custom-var=download_fuchsia_deps=True` then `gclient sync`.
+
+It will set `"download_fuchsia_deps": True` in `"custom_vars"` section in `.gclient` file, and download necessary binaries to build fuchsia components.
+
+2. If you'd like to run tests locally, also run `gclient config --custom-var=run_fuchsia_emu=True` then `gclient sync`.
+
+It will set `"run_fuchsia_emu": True` in `"custom_vars"` section in `.gclient` file, and download necessary binaries and images to run tests on fuchsia emulators.
+You can set both `custom_vars` and run `gclient sync` only once.
+
+You will also need kvm enabled, or nested virtualization on the gcloud VMs. Fuchsia and the tests will all be executed on the qemu.
+
+3. Prepare and build
+
+```
+./flutter/tools/gn --fuchsia --no-lto
+```
+
+ * It will create a `out/fuchsia_debug_x64`.
+ * Use `--fuchsia-cpu arm64` to build components for arm64. It will be created in a folder `out/fuchsia_debug_arm64`.
+ * Use `--runtime-mode=release` or `--runtime-mode=profile` to select other profiles as other platforms.
+ * Ignore `--no-lto` to use lto or link-time optimization.
+
+```
+ninja -C out/fuchsia_debug_x64 -k 0
+```
+
+ * It builds all but ignores known errors.
+ * Or specify following targets to avoid using `-k 0`.
+
+```
+flutter/shell/platform/fuchsia:fuchsia \
+flutter/shell/platform/fuchsia/dart_runner:dart_runner_tests \
+fuchsia_tests
+```
+
+ * Use `autoninja` if it's available.
+ * `-C out/fuchsia_release_x64` for release build; other configurations are similar with a different folder name in `out/`.
+
+4. Run all tests locally
+
+```
+python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py
+```
+
+ * It runs the tests in `out/fuchsia_debug_x64` by default. According to the configuration, it may take 5 minutes with regular gtest output to the terminal.
+ * Add `fuchsia_release_x64` at the end of the command for release build; other configurations are similar with a different folder name in `out/`.
+
+## Compiling for the Web
+
+For building the engine for the Web we use the [felt](https://github.com/flutter/engine/blob/main/lib/web_ui/README.md) tool.
+
+To test Flutter with a local build of the Web engine, add `--local-web-sdk=wasm_release` to your `flutter` command, e.g.:
+
+```
+flutter run --local-web-sdk=wasm_release -d chrome
+flutter test --local-web-sdk=wasm_release test/path/to/your_test.dart
+```
+
+## Compiling for the Web on Windows
+
+Compiling the web engine might take a few extra steps on Windows. Use cmd.exe and "run as administrator".
+
+1. Make sure you have Visual Studio installed. Set the following environment variables. For Visual Studio use the path of the version you installed.
+ * `GYP_MSVS_OVERRIDE_PATH = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"`
+ * `GYP_MSVS_VERSION = 2017`
+2. Make sure, depot_tools, ninja and python are installed and added to the path. Also set the following environment variable for depot tools:
+ * `DEPOT_TOOLS_WIN_TOOLCHAIN = 0`
+ * Tip: if you get a python error try to use Python 2 instead of 3
+3. `git pull upstream main` in `src/flutter` to update the Flutter Engine repo.
+4. `gclient sync` to update your dependencies.
+ * Tip: If you get a git authentication errors on this step try Git Bash instead
+5. `python .\flutter\tools\gn --unoptimized --full-dart-sdk` to prepare your build files.
+6. `ninja -C .\out\<dir created by previous step>` to build.
+
+To test Flutter with a local build of the Web engine, add `--local-web-sdk=wasm_release` to your `flutter` command, e.g.:
+
+```
+flutter run --local-web-sdk=wasm_release -d chrome
+flutter test --local-web-sdk=wasm_release test/path/to/your_test.dart
+```
+
+For testing the engine again use [felt](https://github.com/flutter/engine/blob/main/lib/web_ui/README.md) tool
+this time with felt_windows.bat.
+
+```
+felt_windows.bat test
+```
+
+## Compiling for testing
+
+### Dart tests
+
+To run dart tests, build the engine:
+
+```
+flutter/tools/gn --unoptimized
+ninja -C out/host_debug_unopt/
+```
+
+execute `run_tests` for native:
+```
+python3 flutter/testing/run_tests.py --type dart
+```
+
+and `felt` for web:
+```
+cd flutter/lib/web_ui
+dev/felt test [test file]
+```
+
+
+## Troubleshooting Compile Errors
+
+### Version Solving Failed
+
+From time to time, as the Dart versions increase, you might see dependency errors such as:
+
+```
+The current Dart SDK version is 2.7.0-dev.0.0.flutter-1ef444139c.
+
+Because ui depends on <a pub package> 1.0.0 which requires SDK version >=2.7.0 <3.0.0, version solving failed.
+```
+
+Running `gclient sync` does not update the tags, there are two solutions:
+1. under `engine/src/third_party/dart` run `git fetch --tags origin`
+2. or run gclient sync with with tags parameter: `gclient sync --with_tags`
+
+_See also: [[Debugging the engine]], which includes instructions on running a Flutter app with a local engine._
diff --git a/docs/unsorted_wiki/Contributing-to-Plugins-and-Packages.md b/docs/unsorted_wiki/Contributing-to-Plugins-and-Packages.md
new file mode 100644
index 0000000..0669bb6
--- /dev/null
+++ b/docs/unsorted_wiki/Contributing-to-Plugins-and-Packages.md
@@ -0,0 +1,433 @@
+This page covers additional information that is specific to contributing to flutter/packages. If you aren't already familiar with the general guidance on Flutter contribution, start with [Tree hygiene](https://github.com/flutter/flutter/wiki/Tree-hygiene).
+
+## Version and CHANGELOG updates
+
+Most changes need version and CHANGELOG changes; see below for details.
+
+In most cases, the easiest way to create them is to use [the `update-release-info` repository command](https://github.com/flutter/packages/blob/main/script/tool/README.md#update-changelog-and-version). If you are adding a feature, use `--version=minor`, otherwise `--version=minimal` will almost always do the right thing.
+
+### Version
+
+Any change that needs to be published in order to take effect must update the version in `pubspec.yaml`. There are very few exceptions:
+- PRs that only affect tests.
+- PRs that only affect unpublished parts of example apps.
+- PRs that only affect local development of the package (e.g., changes to ignored lints).
+- Breaking change batching (see below).
+- Non-code changes that we make to future-proof development in some way, but don't directly benefit clients. Examples of this include
+ - Updating the minimum Dart or Flutter SDK for all packages when we adjust our test matrix.
+ - Updating the minimum OS version of plugins to match changes to [Flutter support](https://docs.flutter.dev/reference/supported-platforms) (on `stable`).
+
+ (Unless you are a member of the Flutter team, you are likely not making changes that fall under this exemption.)
+
+This is because the packages in flutter/packages use a continuous release model rather than a set release cadence. This model gets improvements to the community faster, makes regressions easier to pinpoint, and simplifies the release process.
+
+(The `override: no versioning needed` label can be added to skip this check, but only if the criteria above are met, or team members agree there is a compelling reason for a new exemption. Team members: please leave a comment when adding the `override` label explaining the reason for the override.)
+
+### CHANGELOG
+
+All version changes must have an accompanying CHANGELOG update. Even version-exempt changes should often update CHANGELOG by adding a special `NEXT` entry at the top of `CHANGELOG.md` (unless they only affect development of the package, such as test-only changes):
+```
+## NEXT
+
+* Description of the change.
+
+## 1.0.2
+...
+```
+
+This policy exists because some changes (e.g., certain updates to examples) that do not need to be published may still be of interest to clients of a package.
+
+The tooling errs on the side of false positives, so will sometimes flag changes that should be exempt for one of the reasons listed above. In these cases, or if the reviewer feels that the change would not be relevant to package clients, they can add the `override: no changelog needed` label can to skip this check. Team members: please leave a comment when adding the `override` label explaining the reason for the override.
+
+#### CHANGELOG style
+
+For consistency, all CHANGELOG entries should follow a common style:
+- Use `##` for the version line. A version line should have a blank line before and after it.
+- Use `*` for individual items.
+ - Exception: When editing an existing CHANGELOG that uses `-`, use that instead for local consistency.
+- Entries should use present tense indicative for verbs, with "this version" as an implied subject. For example, "Adds cool new feature.",
+ not "Add", "Added", or "Adding".
+- Entries should end with a `.`.
+- Breaking changes should be introduced with `**BREAKING CHANGE**:`, or `**BREAKING CHANGES**:`
+ if there is a sub-list of changes.
+ - Breaking change notifications should include information about how to migrate. If extensive migration is required, this can be a reference to a longer description elsewhere (usually README.md) rather than inline instructions.
+
+Example:
+```
+## 2.0.0
+
+* Adds the ability to fetch data from the future.
+* **BREAKING CHANGES**:
+ * Removes the deprecated `neverCallThis` method.
+ * URLs parameters are now `Uri`s rather than `String`s.
+
+## 1.0.3
+
+* Fixes a crash when the device teleports during a network operation.
+```
+
+#### Updating a CHANGELOG that has a `NEXT`
+
+*Note: If you are using `update-release-info`, this will be handled correctly for you.*
+
+If you are adding a version change to a CHANGELOG that starts with `NEXT`, and your change also doesn't require a version update, just add a description to the existing `NEXT` list:
+```
+## NEXT
+
+* Description of your new change.
+* Existing entry.
+
+## 1.0.2
+...
+```
+
+If your change does require a version change, do the same, but then replace `NEXT` with the new version. For example:
+
+```
+## 1.0.3
+
+* Description of your new change.
+* Existing entry.
+
+## 1.0.2
+...
+```
+
+If you leave `NEXT` when adding a version change, automated tests for your PR will fail.
+
+### FAQ
+
+**Do I need to update the version if I'm just changing the README?** Yes. Most people read the README on pub.dev, not GitHub, so a README change is not very useful unless it is published.
+
+**Do I need to update the version if I'm just changing comments?** If the comment is intended for clients of the package (a `///` comment on anything exported by the package), then yes, since what developers using the package will see in their IDE will come from the published version. If the comment is only useful for someone working on the package (such as an implementation comment within a method, or a comment in a non-exported file), then no.
+
+**What do I do if I there are conflicts to those changes before or during review?** This is common. You can leave the conflicts until you're at the end of the review process to avoid needing to resolve frequently. Including the version changes at the beginning despite the likelihood of conflicts makes it much harder to forget that step, and also means that a reviewer can easily fix it from the GitHub UI just before landing.
+
+### Breaking changes
+
+Because we prefer to minimize breaking changes to packages after 1.0, breaking changes do not always follow the normal one-version-change-per-PR approach. Instead, when making a breaking change consider whether there are other breaking changes that should be made at the same time, and discuss with other regular contributors. If there are multiple changes to make, they can be batched as follows:
+1. File an issue tracking all of the breaking changes to include.
+1. Prepare PRs for all of the changes, without version changes. Ensure that they have all been reviewed, but do not land them yet. (They should fail CI due to the lack of version change, preventing accidental landing.)
+1. Land a PR that temporarily adds `publish_to: none` to the package, with a comment referencing the issue from step 1.
+1. Land all of the breaking change PRs. This step should be done in a relatively short window of time (thus the advance preparation above) to avoid having the plugin be unpublishable for longer than necessary. The PRs will pass CI once rebased, since the version check is disabled for unpublishable packages.
+1. Once all breaking changes have landed, land a final PR to update the version and remove `publish_to: none`.
+
+## Dependencies
+
+We try to minimize external package dependencies as much as possible, where "external" means packages that are not generally within the control of the Flutter or Dart teams (Examples non-external packages include `sdk:` dependencies, packages in flutter/packages, and packages published by dart.dev), or by an organization with a track record of strong support for both engineering best practices and Flutter. This is for several reasons:
+- Maintainability:
+ - We have a policy of always supporting Flutter `master`; if we can't guarantee that fixes for breaking changes can be landed immediately in dependencies, it can block our roller.
+ - If a package is abandoned by its authors, we will have to fork or migrate in order to unblock the entire repository.
+ - External packages increase our expose to out-of-band breakage (e.g., if breaking change is published without following semver).
+- Security: We cannot make any guarantees about the code in an external package. For example, if a package we depend on is later taken over by a malicious actor, our dependency would expose all clients of our own package to potential attack via the transitive dependency.
+
+If you are considering adding an external dependency:
+- Consider other options, and discuss with #hackers-ecosystem in Discord.
+- If you add a `dev_dependency` on an external package, pin it to a specific version if at all possible.
+- If you add a `dependency` on an external package in an `example/`, pin it to a specific version if at all possible.
+- Some dependencies should only be linked as dev_dependencies like integration_test
+
+### Native dependencies
+
+The same general principles apply to native dependencies for plugins (e.g., dependencies specified in an Android Gradle file or iOS podspec file): minimize dependencies—and especially non-test dependencies—on libraries that are not created by either the platform vendor or another organization with a track record of strong support for engineering best practices in whom we can have a very high degree of confidence in ongoing support and prompt updates.
+
+## Platform Support
+
+The goal is to have any plugin feature work on every platform on which that feature makes sense; having a lot of features that are only partially implemented across platforms is often confusing and frustrating for developers trying to use those plugins. However, a single developer will not always have the expertise to implement a feature across all supported platforms.
+
+Given that, we welcome PRs that only implement a feature for a subset of platforms, including just one. To set expectations for how such PRs will be handled:
+- They will not be fully reviewed until there's an understanding of what support would look like across other platforms, for several reasons:
+ - API for features that will be permanently platform-specific may structured in ways that make that limitation more clear, so knowing if other platforms can support it will affect the review process.
+ - We want to avoid over-fitting the plugin APIs to a single platform's API. It is often the case that several platforms can implement a feature, but the behavior is different enough across platforms that we need to design the API in a way that covers those variations in a cohesive way. This means that knowing at a high level what the implementation on other platform also affects the review process.
+ - Features that are missing implementations on some platforms need to be clearly documented as such in the API, and those comments should clearly express whether those platform are temporarily missing implementations, or are not expected to ever have implementations due to platform limitations.
+
+ The PR author isn't necessarily responsible for answering these questions. These cases will be noted in comments during PR triage; if the PR author, or others in the community, can contribute that information, that will certainly help. If not, that investigation will be part of the review process (in which case the review will likely take longer).
+- In some cases, a reviewer may wait on approving a PR for landing until there is a plan in place for landing implementations for other platforms. This is not a hard rule, and will be up to reviewer judgement. This could take a number of forms:
+ - Waiting for other PRs from the community that implement the feature for other platforms, and then moving forward with all of them at once.
+ - Finding resources within the Flutter team for implementing other platforms before moving forward.
+ - Landing the platform interface change and the platform implementations that are done, but waiting on one of the options above before adding the API to the app-facing package's API (allowing developers the option of drilling down to the platform implementation to use the feature on some platforms before it's ready everywhere).
+
+ "Other platforms" might not always include all other platforms. E.g., a feature might be something that's much more likely to be useful on mobile than desktop, or the reverse, and so we might only wait for implementations of that subset. Again, this will be up to reviewer judgement.
+
+In the case where a PR is put on hold for the reasons above, it should be clearly noted in the PR and on the associated issue. We encourage anyone interested in contributing more platform implementation PRs to comment in the bug in such cases.
+
+### API support queries
+
+In cases where a plugin offers API in the app-facing package that is not implemented on all platforms (or not implemented on some OS versions of some platforms), there should also be an API to query for support of that API at runtime. That is, plugin clients should always be able to write code like:
+
+```dart
+if (somePluginInstance.supportsDoingThing) {
+ somePluginInstance.doThing();
+}
+```
+
+rather than hard-coding a platform check. (See [`image_picker`'s `supportsImageSource`](https://github.com/flutter/packages/blob/9323e33ed9d8345d87514711dcaeb4cf4159ad1c/packages/image_picker/image_picker/lib/image_picker.dart#L309-L315) for an example.) This is for several reasons:
+- It is federation-friendly: a new implementation of the plugin (including the addition of 1P support for a previously-unsupported platform) will automatically be covered.
+- It allow seamless adoption of new functionality: if we add previously-missing support to an existing implementation, clients will automatically benefit without any code changes on their part.
+- It makes our own documentation more evergreen: we've frequently had app-facing APIs that had a comment saying that an API is only available on platform X, and then forgotten to update it when adding support for platform Y.
+
+These APIs can take a variety of forms, including specific methods to check individual methods or parameters, a single method with an enum of API options, etc. Discuss with your reviewer what pattern is best suited to the specific case, and aim for consistency within a plugin when possible.
+
+*We currently have many cases of APIs that do not follow this guidance because they predate it. This is technical debt, rather than something that should be pointed to as a justification for adding new APIs that do not.*
+
+## Languages
+
+On some platforms, there are multiple native languages that can be used to write plugins; repository policy limits the languages that are used in some cases. These are currently the allowed languages for each platform:
+- Android: Depends on the plugin; mixing languages within a plugin is currently not allowed:
+ - Kotlin if the plugin is already in Kotlin.
+ - Currently our policy is to have a limited number of plugins in Kotlin, to ensure that we are finding Kotlin-specific plugin issues in our own development.
+ - Java if the plugin is already in Java (which is almost all of them).
+ - Allowing Kotlin more broadly is [under consideration](https://docs.google.com/document/d/1Ok_mUPgmw8_l-ynLueEKtXm2Fs48lEVB0JqZd7M7uyA/edit?usp=sharing), but currently most plugin development is limited to Java to avoid adding another language to the set of languages Flutter team members need to interact with regularly.
+ - If you are interested in taking on a **long-term ownership role in a plugin**, and would like to migrate it to Kotlin, please reach out in the `hackers-ecosystem` channel [on Discord](https://github.com/flutter/flutter/wiki/Chat).
+- iOS: Depends on the plugin. The goal is to eventually migrate all plugins to Swift; see [the migration section below](#swift-migration-for-1p-plugins) for details. For non-migration PRs, use:
+ - Swift if the plugin is entirely Swift.
+ - Swift or Objective-C if the plugin is partially migrated.
+ - Objective-C if the plugin is still entirely Objective-C.
+- Linux: C. Use of C++ constructs is strongly discouraged; see [repo style notes](https://github.com/flutter/packages/blob/main/CONTRIBUTING.md#style) for details
+- macOS: Swift only\*.
+ - \* In some cases an existing iOS implementation has been updated to support macOS, so is Objective-C (e.g., `in_app_purchase`). This is the only case where Objective-C is allowed for macOS plugins.
+- Windows: C++.
+- Web: Dart.
+
+For all platforms, use of Dart for platform-specific features is both allowed and encouraged. While there are no specific rules about this in most plugins, in general we are moving toward having more logic written in Dart rather than a host language, as having more code in the project's primary language eases maintenance.
+
+## Changing federated plugins
+
+Most of the plugins in flutter/packages are [federated](https://flutter.dev/docs/development/packages-and-plugins/developing-packages#federated-plugins). Because a logical plugin consists of multiple packages, and our CI tests using published package dependencies—in order to ensure that every PR can be published without breaking the ecosystem—changes that span multiple packages will need to be done in multiple PRs. This is common when adding new features.
+
+We are investigating ways to streamline this, but currently the process for a multi-package PR is:
+
+1. Create a PR that has all the changes, and update the pubspec.yamls to have path-based dependency overrides. This can be done with the [plugin repo tool](https://github.com/flutter/packages/blob/main/script/tool/README.md)'s `make-deps-path-based` command, targeting any dependency packages changed in the PR. For instance, for an Android-specific change to `video_player` that required platform interface changes as well:
+ ```
+ $ dart run script/tool/bin/flutter_plugin_tools.dart make-deps-path-based --target-dependencies=video_player_platform_interface,video_player_android
+ ```
+
+1. Upload that PR and get it into a state where the only test failure is the one complaining that you can't publish a package that has dependency overrides, then go through the normal process of getting reviews and approvals.
+ * The overall review is completed first to prevent situations where part of the overall change (usually a platform interface change) lands but the rest is never landed, or where the review of the changes in a higher-level part of the change (the app-facing and/or implementation packages) identifies issues in the lower-level parts.
+
+1. **Once the combined PR is approved**, create a new PR that has only the platform interface package changes from the PR above, and ask the reviewers of the main package to review that.
+ * This review is generally trivial (unless the CI finds an issue that wasn't noticed in the main PR) since it's a subset of the PR that was already reviewed.
+
+1. Once it has been reviewed, landed, and published, update the initial PR to:
+ * remove the changes that are part of the other PR,
+ * replace the dependency overrides on the platform interface package with a dependency on the published version, and
+ * merge in (or rebase to) the latest version of `master`.
+
+1. If there are any dependency overrides remaining, repeat the previous two steps with those packages. There should never be interdependencies between platform implementation packages, so all implementations should be able to be handled in a single new PR.
+ * If new functionality is being added to the API surface of the app-facing package, be sure to update the version constraints of the implementation packages in its `pubspec.yaml`. Even though it's possible to compile with only the interface package's constraint updated, we don't want clients of the package who update without using `pub upgrade` to have surprising failures (e.g., `UnimplementedError`s) when using the new functionality due to not having the updated platform packages that implement the new feature.
+
+1. Once there are no dependency overrides, ask the reviewer to land the main PR.
+
+### Breaking changes to plugin platform interfaces
+
+Breaking changes to platform interfaces (any package ending in `_platform_interface`) are strongly discouraged:
+- They require each platform implementation to adopt the new version, and the app-facing package can't pick up any of those changes until all implementations have been updated. This could cause situations where bug fixes for one platform are held up on another platform adopting a feature change.
+- They require a series of changes to CI to selectively disable testing the latest versions of all packages, then later re-enable them.
+- They temporarily lock out unendorsed implementations, until their developers can update.
+
+Because platform interfaces are not expected to be called by clients of the plugins, we favor backward compatibility over having a clean API at that layer.
+
+In order to avoid accidental breaking changes that are missed in review, CI will by default fail for any breaking change to the platform interface. If you believe you need to make a breaking change, discuss with your reviewer and make sure they agree; once they do, add (or if you are not a project member, ask the reviewer to add) the `override: allow breaking change` label, then re-run the failing check. You should also adding something like the following to the PR description:
+```
+## Breaking change justification
+
+<Insert good reason for breaking change here.>
+```
+
+This makes it easy for someone looking back at the change to find the reason for the breaking change without reading all of the comments.
+
+### Changing platform interface method parameters
+
+Because platform implementations are subclasses of the platform interface and override its methods, almost *any* change to the parameters of a method is a breaking change. In particular, adding an optional parameter to a platform interface method *is* a breaking change even though it doesn't break callers of the the method.
+
+The least disruptive way to make a parameter change is:
+
+1. Add a new method to the platform interface with the new parameters, whose default implementation calls the existing method. This is not a breaking change.
+ 1. Strongly consider replacing some or all of the parameters with a parameter object (see [`AuthenticationOptions`](https://github.com/flutter/packages/blob/0ba896b35b2f33517c38ccbb1654ed646ad07af7/packages/local_auth/local_auth_platform_interface/lib/types/auth_options.dart#L7-L9) for [`authenticate`](https://github.com/flutter/packages/blob/0ba896b35b2f33517c38ccbb1654ed646ad07af7/packages/local_auth/local_auth_platform_interface/lib/local_auth_platform_interface.dart#L60) as an example), as this will allow adding other parameters in the future without breaking changes or new methods.
+ 2. Mark the old method as `@Deprecated`, and file an issue about updating all uses of that method in the other packages in the plugin.
+
+ Note: The delegation of this method will feel backwards, because the implementing the new method in terms of the old method will discard the information from the new parameters. This is correct though, because the goal is to allow the app-facing package to call the new method regardless of whether implementation packages have implemented it. By forwarding to the existing method by default, implementation packages that haven't been updated will continue to have the behavior they had before (which, by necessity, won't include support for the new parameters). Implementation packages that have been updated will override this implementation with their own that honors the new parameters.
+
+2. Update the implementations to override both methods.
+
+ * Usually this will involve having the old method call the new method (the opposite of the delegation done above in the interface package), or in some cases extracting a private helper method that both versions call.
+
+3. Update the app-facing package to call the new method.
+
+At some later point the deprecated method can be cleaned up by:
+
+1. Making a breaking change in the platform interface package to remove any deprecated methods.
+
+2. Updating the app-facing package to allow either the new major version or the previous version of the platform interface (to minimize version lock issues with implementations).
+
+3. Updating all the implementations to use the new major version, removing the override of the deprecated methods.
+
+This cleanup step is low priority though; deprecated methods in a platform interface should be largely harmless, as it's an API with very few direct customers. It's actually preferable to wait quite some time before doing this, as it gives any unendorsed third-party implementations that may exist more time to adapt to the change without disruption.
+
+## Supported Flutter versions
+
+flutter/packages has a general policy of supporting the latest `stable` version of Flutter, as well as the current `master`. In practice, many packages often support older versions as well, as minimum version requirements are generally only updated when there is a specific need, such as using a new Flutter feature.
+- One exception is new packages which require features that aren't yet available on `stable`. In this rare case, discuss with `#hackers-ecosystem` as it requires adding conditional logic to the CI scripts.
+
+Most CI only runs against those two version. There are only minimal tests of versions older that current `stable` (currently analysis only, for the previous two stable versions of Flutter).
+
+### When to update the required version
+
+- If you know your change requires a feature of Flutter that was added recently, you should update the minimum version accordingly. In particular, if your change was originally written against `master` and had to wait until a change reached `stable`, that means you need to update the minimum version. (Adding a constraint update as soon as the PR fails on `stable` tests is a good way to make sure you don't forget.)
+ - If your change requires a newer version of Flutter than is available on `stable`, and it can't wait until that feature reaches `stable`, ask in `#hackers-ecosystem` to see if there's a good solution.
+- If your change fails a `*_legacy` CI test, update the minimum version accordingly.
+
+The ecosystem team may also mass-update minimum versions from time to time, to reduce the potential of breaking untested versions (see below). In general, this should use a minimum version somewhat older than the current `stable`, but in some special cases may use the current stable version instead.
+
+### Handling breakage in old versions
+
+Sometimes a change to a package accidentally breaks older version of Flutter; because the full CI test suite does not run anything older than the current stable, such breakage will not necessarily be caught by CI, and will only be discovered via issue reports. When that happens there are several options:
+- If the breakage is found quickly enough that retraction is still possible:
+ - Retract the latest release.
+ - Release a new version that is identical except for updating the minimum Flutter version.
+ This minimizes disruption to developers using old versions of Flutter, with no effect on people using current versions.
+- Otherwise, there are several options; discuss with `#hackers-ecosystem` to decide which makes sense for the specific case:
+ 1. Release a new update that restores compatibility with the old version. This should generally only be done if it's trivial to do so.
+ 1. Release a revert, then release a new version that reverts the revert but with a constraint update. Consider this option if the number of people affected is likely to be large (e.g., a popular plugin is broken for the previous stable version of Flutter shortly after a stable release). This has essentially the same outcome as retraction, but can be done at any time.
+ 1. Document the need to pin an old version of the package in the issue, and close it (along with making a `## NEXT` PR for the package that updates its minimum version, to document the correct reality). This will require all affected users to find the issue to learn how to fix it, so should generally only be done if the number of people affected is likely to be small (e.g., when it only affects versions of Flutter that are several stable releases behind).
+
+## Plugin architecture conventions
+
+All plugins in flutter/packages should follow the following conventions. Note that existing plugins do not currently always follow those conventions because they predate them. PRs that update plugins to follow conventions are welcome.
+
+### Federation
+
+All plugins should be fully [federated](https://docs.flutter.dev/development/packages-and-plugins/developing-packages#federated-plugins). This is to ensure that:
+- Unofficial federated implementations can be created for any of our plugins. This allows for alternate implementations, as well as supporting unofficial embeddings.
+ - Our development processes for federated plugins also helps ensure that we don't accidentally break any such implementations. For instance, our federated safety checks help ensure that we don't make breaking changes to the platform interface without changing the major version.
+- We are eating our own dogfood with federation. Federation adds non-trivial complexity to maintaining a plugin, and best practices for federation aren't always obvious. Using federation ourselves means that we are aware of potential issues, and encourages us to create documentation and tooling to improve the developer experience of using federation.
+
+The only exception to this policy is plugins that are inherently specific to a single platform, such as `espresso`.
+
+### In-package platform channels
+
+All implementations should use in-package platform channels, for the reasons outlined in [the proposal document](https://flutter.dev/go/platform-channels-in-federated-plugins). Most plugins that predate this policy and have a legacy "shared method channel" default implementation in the platform interface package, but it is not be used by any first-party implementations.
+
+### Platform exception handling
+
+Having consistent error handling across platforms is an important part of providing a usable cross-platform API surface. Maintaining consistent errors directly from the native implementations is challenging since there is no easy way to share constants for error code strings across all the different languages, nor any clear reference point for what the possible errors are without reading all of the other implementations. It's also challenging to make changes, as it potentially requires changing every package in the federated plugin.
+
+To ensure that the native errors are a coherent part of the interface, plugins that can throw `PlatformException`s internally should follow these best practices:
+- The platform interface package should define a clear, structured error system as part of its interface. Options include:
+ - A plugin-specific `Exception` subclass, including constants or enums for known error types (e.g., permission failures).
+ - An alternate structured error-returning mechanism, such as return values that include either a successful value or an error state (e.g., result classes, or Dart 3 patterns and records).
+- App-facing packages should `export` that definition, and should include it in relevant API documentation.
+- Implementation packages should, in general, have Dart code to catch any `PlatformExceptions` that the native implementation is likely to throw, and convert them to the appropriate interface-defined error types.
+ - This means that the string constants for error codes returned from native need only be consistent within that platform implementation package, since it won't be passed out of the package (and thus only need to be kept in sync between two languages).
+
+This means that in general, clients of a plugin should not be expected to see raw `PlatformException`s created from error responses in native code. (This is not a strict rule; failure cases that are so obscure that clients would be unlikely to actually have specific handlers for them don't necessarily need to be converted to a common exception type.)
+
+**Note:** Existing `PlatformException`s are a de-facto part of the API, so updating plugins to follow this practice should be done as a breaking change.
+
+### Enum handling
+
+The best practice for doing `switch`es over `enum`s varies depending on the situation:
+- If the `enum` is defined in the same package as the `switch`, the `switch` should cover all cases with no fallback, as it can be updated at the same time as any changes to the enum.
+- If the `enum` is defined in a different package—this is not uncommon in federated plugins—the code should be robust against new enum values (unless it is just example code), since adding enum values is generally not considered a breaking change:
+ - Do not use `default:`; instead put the fallback code outside the enum. This will cause the linter to flag code in other packages that we need to update when an `enum` is changed. (This will often require the use of `ignore: dead_code`.) The fallback is needed because even though we can and should [update the package(s) containing the `switch` as a follow-up](https://github.com/flutter/flutter/issues/89866), we **cannot** guarantee that someone won't use an older version of the package containing the `switch` with a newer version of the package containing the `enum`, so that combination must have some well-defined behavior.
+ - When there is a reasonable default, use that so that the package continues to work, even if it's not the ideal behavior.
+ - When there is no reasonable default, throw a clear `UnimplementedError` so the client knows they need a new version of the package.
+
+## README code
+
+All new code samples in `README.md` files must `<?code-excerpt?>` pragmas to manage the code. With `<?code-excerpt?>`, the source of truth for the code is an actual Dart file, which is analyzed, compiled, and tested by our CI. This ensures that it stays updated as the package APIs, Flutter, Dart, and repository analyzer settings change.
+
+### Updating `<?code-excerpt?>`-managed examples
+
+If a code block has a `<?code-excerpt ...?>` tag just before it, it is already using `code-excerpt`. To update it:
+1. Find the file referenced in that tag (e.g., `<?code-excerpt "lib/main.dart (AppLifecycle)"?>` comes from `lib/main.dart`; if there is a `<?code-excerpt path-base=""?>` directive earlier in the file, paths are resolved relative to the given `path-base` instead of the markdown file's path).
+2. Update the code in that file. If you are fixing a bug, add unit tests or widget tests for the change.
+3. Run the `update-excerpts` [repository tool command](https://github.com/flutter/packages/blob/main/script/tool/README.md#update-readmemd-from-example-sources), which will update `README.md`. From the root of the packages repository, the command to run this is: `dart run script/tool/bin/flutter_plugin_tools.dart update-excerpts`
+
+### Add or converting a code block
+
+To add a new code block, or fix a legacy code block:
+
+1. Optionally, if this is the first code block to be added, add the following line to the start of the package's `README.md`:
+
+ ```
+ <?code-excerpt path-base="example/lib"?>
+ ```
+
+ replacing `example/lib` with the directory from which samples will be taken. This sets the base against which other paths are resolved. By default, the base is the path of the markdown file being updated. The base itself is resolved relative to the path of that file as well.
+
+2. Find or write the code that you want to use in the example, then annotate it with `#docregion` and `#enddocregion` comments. Ideally the code should be in one of the examples, but you could also put the code in a test. The key is to put the code somewhere that is analyzed and, ideally, tested in CI.
+
+ For example:
+
+ ~~~
+ // #docregion purple
+ const Color purple = Color(0xFFE6E6FA);
+ // #enddocregion purple
+ ~~~
+
+3. Reference the code from the `README.md` (or other markdown file where you want the sample to appear):
+
+ ~~~
+ <?code-excerpt "{example/lib/-relative filename} ({excerpt name})"?>
+ ```dart
+ ```
+ ~~~
+
+ So if you added `#docregion Foo` to `example/lib/main.dart` and specified `example/lib` as the path base, you would put the following in `README.md`:
+
+ ~~~
+ <?code-excerpt "main.dart (Foo)"?>
+ ```dart
+ ```
+ ~~~
+
+4. Follow the steps in the "Updating" section above to automatically fill the new block with the code excerpt.
+
+### Documentation
+
+Samples can come from any file. In XML and HTML files, use `<!--#docregion sectionname-->` and `<!--#enddocregion sectionname-->`. In CSS files, use `/* #docregion sectionname */` and `/* #enddocregion sectionname */`. In YAML files, use `# #docregion sectionname` and `# #enddocregion sectionname`. In C++, Dart, JS, Kotlin, Swift, and other similar languages, use `// #docregion sectionname` and `// #enddocregion sectionname`.
+
+You can extract multiple segments into one sample by just having multiple docregions with the same name. The regions will be concatenated with a language-appropriate comment such as `// ···`. You can control what this looks like by using the `plaster` control, as in:
+
+ <?code-excerpt "main.dart (Foo)" plaster="more..."?>
+ ```dart
+ ```
+
+To disable this feature, use `plaster="none"`.
+
+The plaster is indented as much as the `#enddocregion` of the region where the splice occurs.
+
+Regions are maximally unindented before being injected into the markdown files (while preserving relative indentation within the block).
+
+## Swift Migration for 1P Plugins
+
+### Preparation
+
+1. Read the [Swift migration design doc](https://docs.google.com/document/d/1XsaulkJA6_ZSpM7chkQLhQY25sQqhEMiqHMYzw8H85o/edit?resourcekey=0-_cUjF1c0iBvRLKfV-3gK5A), which covers several important topics such as the ["top down approach"](https://docs.google.com/document/d/1XsaulkJA6_ZSpM7chkQLhQY25sQqhEMiqHMYzw8H85o/edit?resourcekey=0-_cUjF1c0iBvRLKfV-3gK5A#heading=h.reauq7bq8vak). Feel free to leave any comments and feedback in the doc.
+
+2. Read Google's [Swift Style Guide](https://google.github.io/swift/) and Apple's [API Design Guidelines](https://www.swift.org/documentation/api-design-guidelines/) (which is endorsed by Google's Swift Style Guide).
+
+3. Pick a plugin that you are interested in from the [umbrella GitHub issue](https://github.com/flutter/flutter/issues/119015). This is for multiple contributors to coordinate with each other, and to avoid duplicate or conflicting work.
+
+### Project Settings
+
+1. Remove custom modulemap ([example](https://github.com/flutter/plugins/pull/6229/files)). This is due to a limitation in Cocoapods ([details](https://github.com/flutter/plugins/pull/6369#issue-1363961940)). This unfortunately means that we cannot use `Test` submodules, and all ObjC headers are exposed publicly during the migration.
+
+2. Add Swift dependency information to the podspec ([example](https://github.com/flutter/packages/blob/617f9d99954fe394dc91258c431c9a2626921e08/packages/quick_actions/quick_actions_ios/ios/quick_actions_ios.podspec#L17-L22)). Note that `.h` and `.m` should be removed from the `spec.source_files` after migration is done.
+
+3. After the plugin class is migrated to Swift, update `pluginClass` in `pubspec.yaml` ([example](https://github.com/flutter/packages/blob/617f9d99954fe394dc91258c431c9a2626921e08/packages/quick_actions/quick_actions_ios/pubspec.yaml#L16)).
+
+### Format your Swift code
+
+1. Install [swift-format](https://github.com/apple/swift-format). If you also contribute to the flutter engine, there is [an issue](https://github.com/flutter/flutter/issues/41129#issuecomment-1400812109) with the swift-format under `depot_tools`. Make sure to set up the export PATH properly to run your own copy of `swift-format`.
+
+2. Run `./script/tool_runner.sh format`
+
+### Testing
+
+To reduce the risk of regression, it is important to backfill unit tests to full coverage before the migration, and maintain full coverage during the migration. If possible (i.e., if adding testing does not require refactoring the plugin to make it testable), adding test coverage should be done in a separate PR before the conversion of the implementation.
+
+We do not report code coverage on the CI, since the number can actually be misleading (for example, a 100% coverage may make PR reviewers think that everything is fine, which is not necessarily true). Instead, you (and your PR reviewer) should evaluate whether the test is complete, by actually reading the test code (rather than just looking at the coverage). You may well want to use a coverage tool as part of your evaluation.
+
+During the migration, especially when backfilling tests, it is possible to discover existing bugs. Migration PRs should just focus on migration and should not contain bug fixes. You can either (1) fix the bug in ObjC first in a separate PR, or (2) if the bug is too hard to fix, just acknowledge the bug in a comment so that someone can fix it in the future.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Contributor-access.md b/docs/unsorted_wiki/Contributor-access.md
new file mode 100644
index 0000000..cab928c
--- /dev/null
+++ b/docs/unsorted_wiki/Contributor-access.md
@@ -0,0 +1,139 @@
+For people who make the occasional contribution to Flutter (filing an issue, submitting the occasional PR, chatting on Discord), the default set of permissions is fine. However, if you are a frequent contributor, whether helping us in triage, or often fixing bugs, or regularly improving our documentation, or regularly helping others in our #help channel, or participating in high-level design discussions and prioritization, you may find your life is more pleasant with commit access (also known as "contributor access", "being a member of the flutter-hackers group", "being a member of the Flutter team").
+
+We grant commit access (which includes full rights to the issue database, such as being able to edit labels, and grants access to our internal chat channels) to people who have gained our trust and demonstrated a commitment to Flutter.
+
+Specifically, if you meet one of the following criteria and you have a sponsor (someone who already has contributor access and agrees that you should be granted access), then please ask your sponsor to propose, on the #server-support [[chat]] channel, that you be made a member of the team, and then reply to that message explaining which criteria below you are claiming to meet. The possible criteria are:
+
+* You have a long history of participating productively, e.g. in our [[chat]] channels, helping with [[Triage]], helping other contributors track down problems, finding meaningful issues in submitted PRs, helping people in our #help channel, etc, all while demonstrating exemplary behavior that closely aligns with our [code of conduct](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md).
+* You have recently submitted several PRs that have landed successfully (received an LGTM, PR was merged, no regressions reported, PR was not reverted), without needing extensive tutoring in the process.
+* You are employed by a company with a history of contributing to Flutter, for the purpose of yourself regularly contributing to Flutter.
+* You represent a development team that creates applications, plugins, or packages using Flutter and have a close relationship with our developer relations team, including having a customer label, and have a great need to regularly update labels on issues (see [Issue hygiene, Customers](https://github.com/flutter/flutter/wiki/Issue-hygiene#customers)). (This is rare.)
+
+Being granted access means that you will be added to the "flutter-hackers" group on GitHub and the "team" role on Discord. This privilege is granted with some expectation of responsibility: contributors are people who care about Flutter and want to help Flutter along our [[roadmap]]. A contributor is not just someone who can make changes or comment on issues, but someone who has demonstrated their ability to collaborate with the team, get the most knowledgeable people to review code, contribute high-quality code, follow through to fix bugs (in code or tests), and provide meaningful insights on issues.
+
+We grant access optimistically based on a reasonably small volume of evidence of good faith. Correspondingly, we will remove access quickly if we find our trust has been violated. Contributors with commit access must still follow all our processes and policies, and must follow our [code of conduct](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md) rigorously. (Please read it, it's stricter than most.)
+
+
+### Responsibilities
+
+#### Code of conduct
+
+If you have commit access or "team" access on the Discord server, you are responsible for enforcing our [code of conduct](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md).
+
+Our code of conduct is much, much stricter than most. We do not wait until someone has been actively rude or insulting. Being disrespectful in any way is grounds for action. For example, passive-aggressive whining and general unconstructive negativity are all violations of the code of conduct. If someone is in a bad mood, we would rather they avoided contributing to Flutter on that day.
+
+When you see something that might be described as unwelcoming or is in some other way a violation of our code of conduct, promptly contact the offender and ask them to read the code of conduct and consider how they might more effectively espouse its philosophy. Most people react very positively to this.
+
+If they react negatively, or if they continue to make the environment unpleasant, they should be removed from the environment. On Discord, this would be kicking them from the channel. Repeat offenders should be banned. On GitHub, they can be blocked from our organisation (you may need to ask @Hixie or another admin of our GitHub org to do this). Please let the #server-support [[chat]] channel know when you do anything like this, so that we can keep an eye on how common it is.
+
+#### Maintaining documentation
+
+Part of being a contributor is making sure our documentation is up to date, including our internal (team-facing) documentation such as this wiki. If you spot something wrong, please fix it! As a contributor, you have access to the wiki.
+
+For the wiki specifically, since there's no code review, it's good to mention on Discord that you've made a change when you make one.
+
+### Privileges
+
+Being in the GitHub "flutter-hackers" group gives you the following:
+
+* The ability to merge your own PRs once they are reviewed (see [[Tree Hygiene]]).
+
+* The ability to add labels, milestones, etc, on issues on GitHub (see [[Issue Hygiene]]).
+
+* PRs will run their tests slightly faster.
+
+Being in the Discord "team" group gives you the following:
+
+* The ability to talk without rate-limiting on the #hackers-* channels.
+
+* The ability to kick people.
+
+* The ability to manage the server emoji.
+
+
+## Process
+
+The actual process (as followed by Flutter repo admins) is as follows:
+
+1. Verify that they qualify under all the terms described above. Make sure they have a sponsor who isn't you.
+1. Verify the identity of the person making the request. Ask them to confirm, on Discord, that they have read the style guide, issue or tree hygiene wiki page, code of conduct, and other documents relevant to them.
+1. Add them to our private spreadsheet (go/flutter-organization-members).
+1. Click the "Add a member" button on [the flutter-hackers team page](https://github.com/orgs/flutter/teams/flutter-hackers/members) on GitHub.
+1. Type their name in the text field, select them, then click the "Invite" button.
+1. Add them to the "team" group on Discord. Be sure to verify that you are promoting the right person; multiple people can have the same nickname on Discord!
+
+*For new Googlers joining the team*: You need to ask someone in the team to add you to get added. It's not an automatic process after you join the flutter Google group.
+
+
+## Inactivity
+
+We occasionally check for account with commit access that have not been used for a while. It takes very little to count as "active" (e.g. commenting on an issue, even adding an emoji reaction to an issue). If your account has been inactive for over a year we will try to reach out (e.g. by e-mail or on Discord) before removing access.
+
+If your account access was removed but you wish to return to contributing to Flutter, you are most welcome to do so; just reach out on the Discord (see [[Chat]]) and ask someone to renominate you according to the process described above.
+
+
+# Access rights to Flutter dashboard
+
+The [Flutter dashboard](https://flutter-dashboard.appspot.com/) shows what recently landed and what tests passed or failed with those commits. To see rerun tasks, you need to be added to an allowlist. Anyone with commit access is eligible to be added to that allowlist, but only certain team members have the permissions required to update the backend database where the permissions are stored. To get access, ask on #hackers-infra to be added to the allowlist.
+
+## Adding a contributor to Flutter Dashboard
+
+*This is only for team members with access to the Flutter Dashboard Datastore.*
+
+1. Open [flutter-dashboard datastore](https://console.cloud.google.com/datastore/entities;kind=AllowedAccount;ns=__$DEFAULT$__/query/kind?project=flutter-dashboard)
+2. Click `Create Entity`
+3. Click `Email: Empty` -> Edit property. Insert contributor Google account
+4. Click `Create`
+
+# Access to LUCI recipes and configuration repositories
+
+If you need access to the LUCI recipes, you need to be added to the relevant ACLs. Ask in #hackers-infra to be added to the LUCI ACLs.
+
+## Process
+
+A Googler has to be the one to grant permission. Documentation on how to use the relevant tools is available at: https://goto.google.com/gob-ctl#add-or-remove-users-in-host-acl
+
+# Access to Flutter Gold
+
+If you need access to triage images in [Flutter Gold](https://flutter-gold.skia.org/), you need to be added as an authorized user.
+Users in the `@google.com` domain are already authorized to use Flutter Gold, but `@gmail.com` addresses can also be added to the allow list.
+
+## Process
+The list of authorized users is maintained in the [skia build-bot repository](https://skia.googlesource.com/buildbot), in [this file](https://skia.googlesource.com/buildbot/+/refs/heads/master/golden/k8s-instances/flutter/flutter-skiacorrectness.json5). Googlers can submit a change to add to the authorized users.
+
+This repository is also [mirrored on GitHub.](https://github.com/google/skia-buildbot)
+
+# fcontrib.org accounts
+
+If you are a team member who wants to share design docs (see [[Chat]]) but you don't want to use your own personal account, you can ask a Flutter admin for an fcontrib.org account. Ping @Hixie or another admin in the #server-support channel on Discord.
+
+## Process
+
+You’ll need the user’s email account somewhere else, first and last name, and desired fcontrib.org account login before you begin.
+
+To add a fcontrib.org participant:
+1. Open an incognito window and log in using _your_ admin fcontrib credentials at https://admin.google.com/. (q.v. valentine)
+2. Under “Users” in the upper left of the main content area, click “Add a User” and follow the prompts.
+3. For a password, choose “Generate Password” and email the password to the new account holder using their non-fcontrib account -- they’ll be able to log in with that and then choose a new password.
+
+# Review teams
+
+Some parts of the codebase have teams specified so that PRs get round-robin assigned for review.
+
+To join one of these teams, request members be added/deleted, or change any settings, ping @Hixie on Discord. Members must be a member of the Flutter Hackers group (as documented at the top of this page).
+
+We currently have the following review teams:
+
+* [`android-reviewers`](https://github.com/orgs/flutter/teams/android-reviewers): for folks working on the Android port of Flutter; use `#hackers-android` for discussions.
+* [`devtools-reviewers`](https://github.com/orgs/flutter/teams/devtools-reviewers): for the [devtools](https://github.com/flutter/devtools) repo; use `#hackers-devexp` for discussions.
+* [`website-reviewers`](https://github.com/orgs/flutter/teams/website-reviewers): for folks working on www.flutter.dev and docs.flutter.dev; use `#hackers-devrel` for discussions.
+
+To create a new team, contact @Hixie. You will also need to create a `CODEOWNERS` file to actually trigger the review assignment.
+
+# Pusher permissions
+
+Some branches are protected to avoid accidents. Only people in the specific branches can push to them. Anyone can ask to be added or removed from these groups, they exist only to reduce accidents, not for security.
+
+To join one of these teams, request members be added/deleted, or change any settings, ping @Hixie on Discord. Members must be a member of the Flutter Hackers group (as documented at the top of this page).
+
+The following groups have been defined for these purposes: pushers-beta, pushers-fuchsia
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Crashes.md b/docs/unsorted_wiki/Crashes.md
new file mode 100644
index 0000000..16afc19
--- /dev/null
+++ b/docs/unsorted_wiki/Crashes.md
@@ -0,0 +1,134 @@
+## Symbolicating stack traces for engine crashes
+
+The easiest way to symbolicate stack traces for Android and iOS is running the [dart_ci symbolizer locally](https://github.com/dart-lang/dart_ci/blob/main/github-label-notifier/symbolizer/README.md#using-this-locally). If that is not an option, the steps below explain how to do it manually.
+
+### Android
+
+#### Get the symbols
+
+1. Get the Flutter Framework or Flutter Engine revision from the report. If you have the Engine revision, skip to step 3.
+
+2. Get the Engine revision from the Framework (this could be automated). https://github.com/flutter/flutter/blob/master/bin/internal/engine.version is the file which contains the information. Substitute the framework hash for `master` in that url.
+
+3. With the full engine revision (e.g. cea5ed2b9be42a981eac762af3664e4a17d0a53f), you can now get the proper symbol files:
+
+ To view the available artifacts for a build, visit this URL in a browser (replacing the engine hash with your hash): `https://console.cloud.google.com/storage/browser/flutter_infra_release/flutter/cea5ed2b9be42a981eac762af3664e4a17d0a53f`
+
+ To download the symbols for android-arm, download this URL _using your browser_ (replacing the hash again, and noting that this URL is on a different host, "storage", compared to the one above, which uses "console"): `https://storage.cloud.google.com/flutter_infra_release/flutter/cea5ed2b9be42a981eac762af3664e4a17d0a53f/android-arm/symbols.zip`.
+
+ Please be aware that the type of the symbol must match your Apps release type. In above example, this refers to a android-arm **debug** build. If you work with a **release** or **profile** build, the URLs would look like this:
+
+ * https://storage.cloud.google.com/flutter_infra_release/flutter/cea5ed2b9be42a981eac762af3664e4a17d0a53f/android-arm-release/symbols.zip
+ * https://storage.cloud.google.com/flutter_infra_release/flutter/cea5ed2b9be42a981eac762af3664e4a17d0a53f/android-arm-profile/symbols.zip
+
+ You have to use your browser because it does authentication.
+
+#### Symbolicate with ndk-stack
+
+Once you have the symbols unzipped, you can use ndk-stack from your Android NDK. Suppose `stack.txt` contains the stack (including the leading `*** *** ***` line from the crash):
+
+```bash
+.../ndk/prebuilt/linux-x86_64/bin/ndk-stack -sym .../path/to/downloaded/symbols < stack.txt
+```
+
+Or on macOS:
+```bash
+.../ndk/prebuilt/darwin-x86_64/bin/ndk-stack -sym .../path/to/downloaded/symbols < stack.txt
+```
+
+Some debugging tools, like _pidcat_ may not show the full tombstone logs. In that case, please use `adb logcat` directly and copy the full output.
+
+#### Symbolicate with addr2line
+
+A alternative way to symbolicate is by using the addr2line tool. It is bundled with the NDK.
+To use it, simply call it with a path to the .so file downloaded above and feed the stack addresses to it manually. For example, on macOS:
+
+```
+% $ANDROID_HOME/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-addr2line -e ~/Downloads/libflutter.so
+```
+_The tool is now awaiting your input, so let's feed it a memory address_:
+```
+0x00000000006a26ec
+/b/s/w/ir/cache/builder/src/out/android_release_arm64/../../third_party/dart/runtime/vm/dart_api_impl.cc:1366
+```
+This revealed address `0x00000000006a26ec` to correspond with `dart_api_impl.cc:1366`.
+
+#### Making sure you got the right libflutter.so
+
+The build system sets a build id for each `libflutter.so` file. In the tombstones, you would see the ID like so:
+
+```
+#00 pc 000000000062d6e0 /data/app/com.app-tARy3eLH2Y-QN8J0d0WFog==/lib/arm64/libflutter.so!libflutter.so (offset 0x270000) (BuildId: 34ad5bdf0830d77a)
+```
+
+This equals to a build id of **34ad5bdf0830d77a**. The `libflutter.so` debug files downloaded as shown above could be verified using the `file` command:
+
+```
+% file ~/Downloads/libflutter.so
+/Users/user/Downloads/libflutter.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[xxHash]=34ad5bdf0830d77a, with debug_info, not stripped
+```
+
+Ensure the build IDs match, else you will not be able to symbolicate.
+
+#### Expanding Git Revisions
+
+Go to a commit page with the short commit as the last fragment of the URL:
+(e.g. https://github.com/flutter/flutter/commit/9cb914df1 or https://github.com/flutter/engine/commit/2a13567) and then find the full revision on the page.
+
+
+#### Symbolicating local builds
+
+If you have made your own builds, you can use ndk-stack directly:
+
+```bash
+# dev/engine is where your engine's .gclient file is
+# android_debug_unopt is whatever build of your engine you are using
+adb logcat | ~/dev/engine/src/third_party/android_tools/ndk/prebuilt/linux-x86_64/bin/ndk-stack -sym ~/dev/engine/src/out/android_debug_unopt
+```
+
+### iOS
+
+The dSYM file for `Flutter.framework` (which is the Flutter Engine) for ios-release builds can be downloaded from Google Cloud Storage. Follow the steps from the Android section in this guide, but in the last step use a download url following this schema: `https://storage.cloud.google.com/flutter_infra_release/flutter/38a646e14cc25f5a56a989c6a5787bf74e0ea386/ios-release/Flutter.dSYM.zip` (replace the engine hash with your hash).
+
+#### Symbolicating local builds
+
+If you built your local engine in debug or profile Dart modes, the framework's dylib's symbols aren't stripped and are available by default.
+
+#### Crashes in Dart AOT code
+
+If the crash is in AOT Dart code (in `--release` or `--profile` builds) on iOS, and you can build your own engine, these steps will be helpful for the VM team to fix the bug:
+
+* Prepare a reduced test case.
+* Compile the engine in profile mode and disable optimizations for symbolicated traces.
+ * `sky/tools/gn --ios --unopt --runtime-mode profile; ninja -C out/ios_profile_unopt -j800`.
+* Launch the application via the Xcode project and make it crash in the debugger.
+* File a bug on [dart-lang/sdk](https://github.com/dart-lang/sdk/issues/new).
+* Dump the register state and paste it into the bug.
+ * In `lldb`, `register read`.
+* Copy the backtrace and paste it into the bug.
+ * In `lldb`, `thread backtrace`. Assumes you are on the thread that crashed. If not, `thread select n`.
+* Disassemble the last frame and paste it into the bug.
+ * In `lldb`, `frame select 0` then `disassemble --frame`.
+* Disassemble using the `gen_snapshot` and paste the function into the bug for more detailed information.
+ * In the backtrace, look for the name of the precompiled function that caused the crash.
+ * Open `SnapshotterInvoke` from Xcode and to the `RunCommand ... Snapshotter` call, add the `--disassemble` flags.
+ * Modify the `RunCommand` function to dump to a file.
+ * Build again. The results should end up in the file.
+ * Look for the function name (by substring match) in this file and copy out that information to the bug.
+* Ping someone on dart-lang/sdk.
+
+
+### Android Local Engine Builds
+
+When running with a local engine build, the symbolization workflow can be cumbersome and unecessary. Instead, it is possible to build the engine itself with symbols and disable Gradle's automatic symbol stripping. This is also required to see symbol names in Android Studio CPU profiles.
+
+1. In the android engine configuration, provide a --no-stripped argument to gn. For example: `gn --android --android-cpu=arm64 --unopt --no-stripped`
+
+2. In the flutter project file `android/app/build.gradle`, add the following line under the `android` block:
+
+```
+ packagingOptions{
+ doNotStrip "**/*.so"
+ }
+
+```
diff --git a/docs/unsorted_wiki/Custom-Flutter-Engine-Embedders.md b/docs/unsorted_wiki/Custom-Flutter-Engine-Embedders.md
new file mode 100644
index 0000000..cf9d543
--- /dev/null
+++ b/docs/unsorted_wiki/Custom-Flutter-Engine-Embedders.md
@@ -0,0 +1,23 @@
+The Flutter Engine is window toolkit agnostic. If you want to build Flutter embedders on one of the platforms not supported out of the box (i.e, iOS & Android), this page is for you.
+
+This is a very low level API and is not suitable for beginners.
+
+* The window toolkit agnostic component of the Flutter engine is available as a dynamic library in the `flutter_engine` GN target in [`//shell/platform/embedder:flutter_engine`](https://github.com/flutter/engine/blob/080fbcb1759e5916f0d6cdcdfd945c053320e6b3/shell/platform/embedder/BUILD.gn#L51).
+* That target must be built as part of the host GN build. Such builds are already available for desktop Linux & Mac. If you want to target another platform, you will have to configure a GN toolchain for the same.
+* You may build this target yourself or download the same artifacts uploaded by the buildbots on each commit.
+ * The Mac buildbot uploads the artifacts to a known location. Access it here [`https://storage.googleapis.com/flutter_infra_release/flutter/FLUTTER_ENGINE/darwin-x64/FlutterEmbedder.framework.zip`](https://storage.googleapis.com/flutter_infra_release/flutter/080fbcb1759e5916f0d6cdcdfd945c053320e6b3/darwin-x64/FlutterEmbedder.framework.zip).
+ * Replace `FLUTTER_ENGINE` with the SHA of the Flutter engine you wish to use.
+ * The Linux buildbot uploads the artifacts to a known location. Access it here [`https://storage.googleapis.com/flutter_infra_release/flutter/FLUTTER_ENGINE/linux-x64/linux-x64-embedder`](https://storage.googleapis.com/flutter_infra_release/flutter/080fbcb1759e5916f0d6cdcdfd945c053320e6b3/linux-x64/linux-x64-embedder)
+ * Replace `FLUTTER_ENGINE` with the SHA of the Flutter engine you wish to use.
+ * The binary is not stripped and contains debug information. Embedders are advised to strip the binary before deployment.
+ * The Windows buildbot uploads the artifacts to a known location. Access it here [`https://storage.googleapis.com/flutter_infra_release/flutter/FLUTTER_ENGINE/windows-x64/windows-x64-embedder.zip`](https://storage.googleapis.com/flutter_infra_release/flutter/080fbcb1759e5916f0d6cdcdfd945c053320e6b3/windows-x64/windows-x64-embedder.zip)
+ * Replace `FLUTTER_ENGINE` with the SHA of the Flutter engine you wish to use.
+ * You can also obtain that SHA from the [`engine.version`](https://github.com/flutter/flutter/blob/master/bin/internal/engine.version) file in your Flutter framework checkout. This allows you to exactly match the engine version with the Flutter framework version.
+* The Flutter engine API has no platform specific dependencies, has a stable ABI and is available in its entirety in a [single C header file available here](https://github.com/flutter/engine/blob/main/shell/platform/embedder/embedder.h).
+* To use as a guide, you may use [this example embedder that uses GLFW](https://github.com/flutter/engine/blob/main/examples/glfw/FlutterEmbedderGLFW.cc) for window management and rendering.
+
+While we do not object to teams creating custom builds of the Flutter engine for their purposes, we do not support this configuration. Not supporting it means that we do not commit to any timelines for fixing bugs that may come up in such a configuration, even for customers for which we would usually be willing to make commitments (see the [[Issue Hygiene]] page). It also means that we encourage teams to view such configurations as short-term solutions only and encourage teams to transition away from such configurations at the earliest possible opportunity.
+
+We do not expect custom engine builds to be long-term sustainable. They are not supported on any platform where we plan to be the publisher of a Flutter runtime distinct from the applications that run on the runtime, and they require significant effort to port to our new target platforms such as Web and desktop. There is also an expensive maintenance burden (for example, if we add new features, a custom engine build would need to be updated to support that feature).
+
+We would generally recommend using custom engine builds only when porting Flutter to platforms that are not supported out of the box, for example in embedded hardware.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Custom-Flutter-Engine-Embedding-in-AOT-Mode.md b/docs/unsorted_wiki/Custom-Flutter-Engine-Embedding-in-AOT-Mode.md
new file mode 100644
index 0000000..210fd95
--- /dev/null
+++ b/docs/unsorted_wiki/Custom-Flutter-Engine-Embedding-in-AOT-Mode.md
@@ -0,0 +1,132 @@
+This document is intended for developers of third party embedders who wish to package and ship their Flutter applications for AOT mode operation. A third party embedder uses [the stable C embedder API](https://github.com/flutter/engine/blob/869d9f528503778be1e5ab27ba53502f0cb20de2/shell/platform/embedder/embedder.h) to embed Flutter applications on their platform.
+
+## Building an AOT Flutter Engine
+
+By default, the Flutter engine packaged for embedders assumes that the mode of operation is JIT. An engine configured for JIT packages a VM that is incompatible with AOT snapshots. Build an AOT engine using the following invocation. This is also the invocation where custom target, sysroot and toolchain selection flags can be specified.
+
+```
+./flutter/tools/gn --runtime-mode release <custom target flags as necessary>
+```
+
+**Note:** Throughout this document, the `gn` flags mentioned work fine with other non-runtime mode or configuration selection options (stuff like `--no-lto`,` --unoptimized`, etc..). Such options are particularly useful during development and their use is highly encouraged.
+
+This will produce a Flutter engine configured for AOT mode targeting the host. Note that we are repurposing Flutter’s “release” mode policy to prepare an AOT engine. The application of this policy to third party embedders is optional and a decision the authors of such embedders need to make themselves.
+
+## Building the Architecture Specific `gen_snapshot`
+
+The binary that converts Dart code to architecture specific AOT instructions is called `gen_snapshot`. A successful invocation of `gen_snapshot` should produce four binary blobs. These are the Dart VM heap and instructions snapshots as well as the isolate heap and instruction snapshots. Refer to the [wiki article on engine operation in AOT mode](https://github.com/flutter/flutter/wiki/Flutter-engine-operation-in-AOT-Mode) for the purpose of these snapshots.
+
+A specific `gen_snapshot` can only produce AOT instructions for one target architecture. To verify that the `gen_snapshot` you have is producing instructions for the architecture you care about, invoke the same with the `--version` flag. It should produce something like the following.
+
+```
+Dart VM version: 2.1.1-dev.2.0.flutter-ac1bf656c4 (Thu Jan 17 16:55:19 2019 +0000) on "macos_x64"
+```
+
+The final string denotes the host/target pair. In the case of the example above, the host is `macos` and the target `x64`. An example of a `gen_snapshot` that produces instructions for `aarch64` would read “macos_simarm64” (the author is on MacOS X).
+
+It is easiest to just pick the supported Flutter target whose architecture is closest to the one of the embedder. For example, if the target is `armv7`, the following invocation will generate a `gen_snapshot` that is suitably configured for that target.
+
+```
+./flutter/tools/gn --android --runtime-mode release
+```
+
+Another useful invocation for aarch64 AOT targeted `gen_snapshot` is:
+
+```
+./flutter/tools/gn --android --runtime-mode release --android-cpu arm64
+```
+
+**Important:** Calling convention and alignment must be the same (in addition to just the target architecture) for the AOT instructions generated by `gen_snapshot` and the target. Repurposing Flutter’s build targets makes sure that all those subtleties are taken care of. But it is still up to the embedder to pick and match the AOT instructions. For example, the `--android` --android-cpu arm64`configured`gen_snapshot`will not generate completely compatible instructions for iOS on`aarch64` (even though the target architectures are the same). A mismatch between the snapshot's architecture/ABI and the device's architecture/ABI will be detected when the snapshot is loaded and clearly reported.
+
+## Building the AOT Snapshot
+
+There are two separate steps involved in the generation of AOT instructions for the target architecture. First, a target architecture agnostic kernel snapshot (~AST) of the Flutter Dart application needs to be generated. Then, this snapshot is given to `gen_snaphost` which generates the AOT snapshot in the form of the four blobs (~machine code) listed above (and detailed on the wiki page).
+
+### The Short and Easy Way
+
+Both iOS and Android AOT modes need to do this step when they build their artifacts. So, if the embedder targets are similar, the workflow supported by the Flutter tooling can be repurposed for custom AOT embedders. For example, in the case of `aarch64` AOT instructions for Android like targets, the following instructions will generated the four AOT blobs in the intermediates.
+
+```bash
+flutter --local-engine <local_engine_configuration> --local-engine-host <local_host_engine_configuration> build aot --target-platform android-arm64 --release
+```
+
+**Note:** The `--local-engine` (and `--local-engine-host`) flag is technically optional. However, not specifying the flag will make the tools pick the released version on of the Flutter engine. This version may contain subtle version mismatches with the engine you are using to prepare the `gen_snapshot` binary. So it is safer to just make sure the version are the same.
+See [running with a local engine](https://github.com/flutter/flutter/wiki/Debugging-the-engine#running-a-flutter-app-with-a-local-engine) for more details.
+
+The result of the invocation will be the generation of the following binary blobs in the `build/aot directory`:
+
+- `vm_snapshot_data`: The VM snapshot data.
+- `vm_snapshot_instr`: The VM snapshot instructions.
+- `isolate_snapshot_data`: The Isolate snapshot data.
+- `isolate_snapshot_instr`: The isolate snapshot instructions.
+
+### The Hard Way
+
+To generate the four AOT snapshot blobs directly, you will have to generate the kernel snapshot and then prepare the AOT snapshot manually. The exact flags to use are rather esoteric but self explanatory. And, when necessary, the `-v` flag can be passed to the `flutter build aot` instruction to dump the exact flags used by Flutter. These can then be modified as necessary for the target architecture.
+
+#### Generating the Kernel Snapshot
+
+The following invocation will generate a file called `kernel_snapshot.dill` in the build directory. Make sure you run `flutter packages get` in your project first to fetch all package dependencies.
+
+```
+$FLUTTER_ENGINE_OUT_DIR/dart \
+ $FLUTTER_ENGINE_OUT_DIR/frontend_server.dart.snapshot \
+ --sdk-root $FLUTTER_ENGINE_OUT_DIR/flutter_patched_sdk/ \
+ --strong \
+ --target=flutter \
+ --aot \
+ --tfa \
+ -Ddart.vm.product=true \
+ --packages .packages \
+ --output-dill build/kernel_snapshot.dill \
+ package:flutter_gallery/main.dart
+```
+
+#### Generating the AOT Snapshot
+
+Once the `kernel_snapshot.dill` file has been obtained, `gen_snapshot` can be invoked with the following arguments to generate the four blobs that form the AOT snapshot.
+
+```
+$FLUTTER_ENGINE_OUT_DIR/gen_snapshot \
+ --causal_async_stacks \
+ --packages=.packages \
+ --deterministic \
+ --snapshot_kind=app-aot-blobs \
+ --vm_snapshot_data=build/vm_snapshot_data \
+ --isolate_snapshot_data=build/isolate_snapshot_data \
+ --vm_snapshot_instructions=build/vm_snapshot_instr \
+ --isolate_snapshot_instructions=build/isolate_snapshot_instr \
+ --no-sim-use-hardfp \
+ --no-use-integer-division \
+ build/kernel_snapshot.dill
+```
+
+**Note:** The `-no*` flags in the invocation above may not be necessary for all targets and can be skipped. As always, when in doubt, call `flutter build aot -v` after selecting the most similar target and see the flags used by Flutter.
+
+## Packaging the AOT Blobs
+
+The four AOT blobs need to be shipped with the application and are necessary for the `FlutterEngineRun` call. Embedders have to make a decision about how best to package and ship these blobs to the target.
+
+On the target at runtime, these blobs need to be mapped into the address space with the following restrictions:
+
+- `vm_snapshot_data`: Read-Only.
+- `vm_snapshot_instr`: Read-Execute.
+- `isolate_snapshot_data`: Read-Only.
+- `isolate_snapshot_instr`: Read-Execute.
+
+The responsibility of keeping the mappings alive is upto the embedder. The mappings must be maintained as long as the `FlutterEngine` is running and alive.
+
+## Configuring the Engine for AOT Operation
+
+In the `FlutterProjectArgs` struct given the `FlutterEngineRun` call, provide the following options:
+
+- `vm_snapshot_data`: Pointer to the read-only VM snapshot mapping.
+- `vm_snapshot_data_size`: Size of the VM snapshot mapping.
+- `vm_snapshot_instructions`: Pointer to the read-execute VM instructions mapping.
+- `vm_snapshot_instructions_size`: Size of the VM instructions mapping.
+- `isolate_snapshot_data`: Pointer to the read-only isolate snapshot mapping.
+- `isolate_snapshot_data_size`: Size of the isolate snapshot mapping.
+- `isolate_snapshot_instructions`: Pointer to the read-execute isolate instructions mapping.
+- `isolate_snapshot_instructions_size`: Size of the isolate instructions mapping.
+
+Flutter Engine is now running in AOT mode!
diff --git a/docs/unsorted_wiki/Dashboards.md b/docs/unsorted_wiki/Dashboards.md
new file mode 100644
index 0000000..3f28759
--- /dev/null
+++ b/docs/unsorted_wiki/Dashboards.md
@@ -0,0 +1,40 @@
+The index of Flutter dashboards is available at: https://flutter-dashboard.appspot.com/
+
+## Using the Skia Performance dashboard
+
+There are two, one for [benchmarks derived from running flutter/flutter tests](https://flutter-flutter-perf.skia.org/e/), and one [derived from flutter/engine tests](https://flutter-engine-perf.skia.org/e/).
+
+### Viewing results for a specific benchmark
+
+Each data set (results from a benchmark value) consists of date/value pairs associated with a set of parameters. These parameters include things like the branch that was being tested, the benchmark test name ("test"), and the specific value ("sub_result"). There are other parameters but they aren't important (see below).
+
+1. Click Query.
+2. A dialog shows, with a "Filter" text field focused. Type into that field the parts of the benchmark name you want to see that you remember.
+3. Click "test" in the list box. This causes a second list box to appear.
+4. Select the specific test from the list box that you care about.
+5. Refocus the "Filter" text field, and type the name of the specific data point (the sub_result name) you care about.
+6. Click "sub_result" in the list box.
+7. Select the specific sub_result that you care about.
+8. Click "Time Range", then "Date Range".
+9. Click the calendar icon next to the "Begin" text field. (Don't just type in a new date, because https://bugs.chromium.org/p/skia/issues/detail?id=11279.)
+10. Select the start date you care about.
+11. Click "Plot".
+
+You can navigate the X axis of the graph using WASD.
+
+
+### Parameters
+
+The parameters for a data set are as follows:
+
+sub_result: the specific data stream provided by the test. Tests can provide multiple data points, in a JSON map; each key in that map becomes a sub_result in the Skia Perf system.
+
+branch: the branch that was being tested.
+
+config: always "default".
+
+originId: always "devicelab" except for data that was migrated from the old database, which are labeled "legacy-flutter".
+
+test: the name of the test that ran to collect the data.
+
+unit: in theory, the units in which the data was collected (so each sub_result should only ever be associated with one unit). In practice this parameter is often incorrect.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Data-driven-Fixes.md b/docs/unsorted_wiki/Data-driven-Fixes.md
new file mode 100644
index 0000000..d198bc0
--- /dev/null
+++ b/docs/unsorted_wiki/Data-driven-Fixes.md
@@ -0,0 +1,535 @@
+# Data-driven Fixes
+
+_This documentation is preliminary. Suggestions for improvements are welcome. Do not edit this page directly, it is copied from an internal source._
+
+Data-driven fixes is a feature that allows the Flutter package authors to provide data about changes that have been made to the package's public API and uses that data to help users of the package update their code when updating to a newer version of the package. It is not supported for other package authors.
+
+The data is used by two tools:
+- The analysis server uses it to provide quick fixes (also known as code actions) in the IDE.
+- The `dart fix` command uses it to apply bulk edits to the code in a file or directory.
+
+The purpose of this document is to describe how to write and test the data used by these tools. It contains four sections:
+- [Overview](#overview) provides an overview of how this feature is intended to be used and what kind of data can be expressed.
+- [Examples](#examples) provides examples of how to express some common kinds of changes.
+- [Reference](#reference) provides a complete definition of the data and how that data is used to update client code.
+- [Testing](#testing) provides a guide for how this data can be tested.
+
+
+## Overview
+
+The data used by this feature describes the changes made to the public API of a package. It's contained in a [data file](#data-file) in the package that defines the API.
+
+The data is organized around the individual elements of the API, where an [element](#element) is anything that can be referenced outside the library in which it's declared. This includes top-level declarations, such as classes and extensions, and their members, such as methods and fields.
+
+The changes to an element that can be described are designed to be both fine-grained and high-level.
+
+By "fine-grained" we mean that the overall change to an API is described in terms of small, composable changes. For example, instead of describing all of the ways in which a method's signature has changed, there are individual changes for adding and removing individual parameters, renaming parameters, etc. This reduces the complexity of describing the overall change.
+
+By "high-level" we mean that the changes are described in terms of how the API changed, not in terms of what needs to be done to client code in response to those changes. For example, if a parameter is added to a method the data would describe the parameter and the value to be used in invocations, but doesn’t describe how to find invocations or how to find overrides. It's the responsibility of the tools to figure out how to modify the client code in response to those changes. This reduces the amount of work required of package authors initially and allows the tools to adjust as the Dart language evolves, removing the need for package authors to refine the data.
+
+The description of an [element](#element) and the [change](#change)s to that element are encapsulated in a [transform](#transform) and the [data file](#data-file) is essentially a list of [transform](#transform)s.
+
+The changes are applied when an analysis of the client code produces diagnostics. For example, if a method is renamed then invocations of the old method will produce a diagnostic indicating that the method isn’t defined. This also works if the old method is still declared and marked as being deprecated because a diagnostic is also produced in that case. Because of that, we encourage you to add data for an API when the API is first deprecated. If the API doesn’t go through a deprecation period, then the changes should be added to the data when the changes are made.
+
+
+## Examples
+
+This section provides examples of how to express some common kinds of changes.
+
+Each example includes the API being changed, both the old API marked as deprecated and the new API that replaced it. As noted in the [Overview](#overview), it isn’t necessary for the old API to still be declared in order for the tools to be able to apply the changes, but it’s included in the examples for clarity.
+
+As a result of always including both the old and new APIs in the examples, the elements are always renamed. It isn’t necessary to rename an element in order for the tools to be able to apply the changes.
+
+### Rename a method
+
+One of the most common API changes is to rename an element. In this section we'll show how to specify that a method has been renamed. Let's assume that your package defines a class `C` in the file `lib/c.dart` with a renamed method similar to the following:
+
+```dart
+class C {
+ @deprecated
+ int oldName(String s) => newName(s);
+
+ int newName(String s) { ... }
+}
+```
+
+In the data file we need to specify which method was renamed, what it's old name was, and what it's new name is. We do that by writing a data file like the following:
+
+```yaml
+version: 1
+transforms:
+ - title: 'Rename to newName'
+ date: 2020-11-20
+ element:
+ uris: ['c.dart']
+ method: 'oldName'
+ inClass: 'C'
+ changes:
+ - kind: 'rename'
+ newName: 'newName'
+```
+
+This tells the tools that any references to the method `C.oldName` should be updated to refer to the method `C.newName`. That includes both invocations of the method as well as references where the method is being torn off. It also tells the tool that any methods that used to override the old method need to be renamed so that they now override the new method.
+
+
+## Reference
+
+This section provides a complete definition of what data can be included in a [data file](#data-file) and how that data is used to update client code.
+
+In the following subsections, the text `...` is a placeholder for a value that is described in a different subsection.
+
+### data file
+
+A _data file_ contains the data used to update clients of a package when the public API of the package has been changed. The data is represented by a single [transform set](#transform-set).
+
+The data is stored in a file named `fix_data.yaml` in the `lib` directory of the package. There is a single data file per package.
+
+You might find it useful to include a comment at the beginning of the file that has a link to this documentation for easy reference.
+
+### transform set
+
+A _transform set_ describes a set of changes made to the API of a single package. It's represented as a map with two keys: `version` and `transforms`.
+
+The `version` key is required. The value of the `version` key is an integer used to identify the version of the file's content. The version described by this document is version `1`. The version key is typically the first line of the file.
+
+The version key lets the tooling continue to work with older versions of data files when the format of the file needs to be changed, and allows older versions of the SDK determine when a package is using a newer and not understood format.
+
+The `transforms` key is required. The value of the `transforms` key is a list of [transform](#transform) objects. While the list is allowed to be empty, there’s no value in having a data file unless there's at least one transform.
+
+For example, the basic content of a data file generally looks like this:
+
+```yaml
+version: 1
+transforms:
+ - ...
+ - ...
+```
+
+The transforms can be in any order, but to make it easier to maintain the file we recommend putting newer changes at the beginning of the file, just like you would in a change log. You might find it useful to use comments to group sets of transforms, possibly based on the published version of the package in which the changes were made.
+
+### transform
+
+A _transform_ describes a set of changes made to a single element in the API. It's represented as a map with seven keys: `title`, `date`, `bulkApply`, `element`, `oneOf`, `changes`, and `variables`.
+
+The `title` key is required. The value of the `title` key is a string that is displayed in the IDE to describe the changes that will be made to the user's code. It's usually shown as a label in a menu, so it should be kept short. And because most APIs can be referenced in multiple ways, the description should be general enough to cover all of those cases. For example, if a method is renamed then the name will need to be updated both at invocation sites and anywhere the old method was being overridden. Using a title like “Invoke newMethod” wouldn't be appropriate for updating an override, so a better title would be “Rename to newMethod”, which would work for both cases.
+
+The `date` key is required. The value of the `date` key is a string encoding of a date. The format of the string is required to be the same as the format accepted by the method [`DateTime.parse`](https://api.dart.dev/dart-core/DateTime/parse.html).
+
+The `bulkApply` key is optional. The value of the `bulkApply` key is a Boolean value indicating whether the transform should be applied when bulk fixes are being made. The default value is `true`. You need to disallow a transform from being used in a bulk fix tool in cases where there are multiple transforms for a single API. If there's a clear default, then you can allow that one transform to be applied.
+
+The `element` key is required. The value of the `element` key is an [element](#element) object. It specifies the element in the API that was changed, such as a class or a method.
+
+Either the `oneOf` key or the `changes` key is required, but it isn't valid to have both. These keys are two different ways to specify the list of changes that will be applied when a reference to the element is found.
+
+The value of the `oneOf` key is a list of [conditional change](#conditional-change) objects. For each reference to the element that's found, the first conditional change whose condition is true will determine the list of changes to be applied to that reference. If more than one conditional change has a condition that's true, only the first one will be applied. If none of the conditions is true, then no changes will be applied.
+
+The value of the `changes` key is a list of [change](#change) objects. The list of changes is unconditionally selected as the changes that will be applied.
+
+The `variables` key is optional.The value of the `variables` key is a [variable map](#variable-map).
+
+For example, you can specify a transform like this:
+
+```yaml
+title: 'Descriptive title'
+date: 2020-09-14
+element: ...
+changes:
+ - ...
+ - ...
+```
+
+You might find it useful to include a comment to provide more information about each transform, such as design documents, issues, or even PRs that motivated or implemented the change.
+
+### element
+
+An _element_ describes a single element in the API that was changed, such as a class or a method. It's represented as a map with either two or three keys depending on the kind of element being described. All elements have a `uris` key and a second key that specifies the type and name of the element, such as `class` or `method`. Elements that are members of a top-level element have a third key specifying the containing element.
+
+The `uris` key is required. The value of the `uris` key is a list of [uri](#uri)s, each of which is the URI of a public library that includes the element (or the container of the element in the case of members such as methods).
+
+The second key, which is required, indicates the kind and name of the element. The kind is given by the key itself and the name is given as the value of the second key, which is a string. The possible keys, and hence kinds, are:
+- class
+- constant (from an enum)
+- constructor
+- enum
+- extension
+- field
+- function (top-level)
+- getter
+- method
+- mixin
+- setter
+- typedef
+- variable (top-level)
+
+If the element is a member of a top-level element, then the third key is required and it indicates the kind and name of the top-level element containing the member. The possible container keys are:
+- inClass
+- inEnum
+- inExtension
+- inMixin
+
+For example, you can specify a class named `C`:
+
+```yaml
+uris: ['lib.dart']
+class: 'C'
+```
+
+or specify a method named `m` in a class named `C`:
+
+```yaml
+uris: ['lib.dart']
+method: 'm'
+inClass: 'C'
+```
+
+To specify the unnamed constructor in a class, use an empty string for the name of the constructor:
+
+```yaml
+uris: ['lib.dart']
+constructor: ''
+inClass: 'C'
+```
+
+Despite the fact that the names of named parameters are used by clients to associate an argument with the parameter, they aren't considered separate API elements and therefore can't be described by an element object. If you have modified the parameters of a method or function, then the element that was changed is the method or function associated with the parameter.
+
+### conditional change
+
+A _conditional change_ is a list of [change](#change)s that is applied only when a condition is true. It's represented as a map with two keys: `if` and `changes`.
+
+The `if` key is required. The value of the `if` key is a [condition](#condition). Any variables declared for the whole transform can be referenced in the condition.
+
+The `changes` key is required. The value of the `changes` key is a list of [change](#change) objects.
+
+### condition
+
+A _condition_ is a Boolean-valued expression. It's represented by a string that uses a subset of Dart’s expression syntax to express the condition. The currently supported syntax is:
+```
+<condition> ::= <logicalAndExpression>
+
+<logicalAndExpression> ::= <equalityExpression> ('&&' <equalityExpression>)*
+
+<equalityExpression> ::= <primary> (<equalityOperator> <primary>)?
+
+<equalityOperator> ::= '==' | '!='
+
+<primary> ::= <variableName> | <stringLiteral>
+```
+
+where `<variableName>` is the name of a variable from a [variable map](#variable-map) and `<stringLiteral>` is a single-line string literal with single quote delimiters.
+
+### change
+
+A _change_ describes a single change that was made to the element. It's represented as a map. The number and names of the keys depends on the kind of change being described, but all changes have a `kind` key.
+
+The `kind` key is required. The value of the `kind` key is a string indicating the kind of change. The valid kinds are:
+- [addParameter](#addParameter)
+- [addTypeParameter](#addTypeParameter)
+- [removeParameter](#removeParameter)
+- [rename](#rename)
+- [renameParameter](#renameParameter)
+- [changeParameterType](#changeParameterType)
+- [replacedBy](#replacedBy)
+
+Individual kinds of changes are described in the section below, titled by the kind.
+
+#### addParameter
+
+An _add parameter_ change indicates that a parameter was added to a function or method. It has five keys: `kind`, `index`, `name`, `style` and `argumentValue`.
+
+The `index` key is required. The value of the `index` key is the zero-based index of the parameter after all the changes related to parameters have been applied. It's used to know:
+- where to add the parameter in method overrides. If parameter `p` is to be add to a method `m` in a class `A`, and the user has a subclass of `A` that overrides the method `m`, the tool will add the parameter at `index` to the method `m` in the subclass.
+- if the parameter is a positional parameter, which argument to remove at each invocation site.
+
+The `name` key is required. The value of the `name` key is the name of the parameter. It's used as the name of new parameters added in overrides and, if the parameter is a named parameter, as the name of the argument at invocation sites.
+
+The `style` key is required. The value of the `style` key is one of the following strings: `'optional_positional'`, `'required_positional'`, `'optional_named'`, `'required_named'`.
+
+The `defaultValue` key is required if the added parameter is an optional parameter whose type is non-nullable. The value of the `defaultValue` key is a [code template](#code-template) object whose value will be used when adding the parameter to any methods that override the element.
+
+The `argumentValue` key is required if the added parameter is a required parameter or is an optional positional parameter that was added before at least one pre-existing optional positional parameter. The value of the `argumentValue` key is a [code template](#code-template) object whose value will be used as the value of the corresponding argument at invocation sites.
+
+```yaml
+kind: 'addParameter'
+index: 0
+name: 'a'
+style: optional_positional
+argumentValue: ...
+```
+
+#### addTypeParameter
+
+An _addTypeParameter_ change indicates that an element was given a new type parameter. It has five keys: `kind`, `index`, `name`, `extends` and `argumentValue`.
+
+The `index` key is required. The value of the `index` key is an integer indicating the index of the new type parameter after all the changes related to type parameters have been applied. It's used to know where to add new type parameters in overrides and where to add new type arguments in references to the element.
+
+The `name` key is required. The value of the `name` key is a string containing the name of the type parameter. It's used as the name of new type parameters added in overrides.
+
+The `extends` key is required if the type parameter has an extends clause. The value of the `extends` key is a [code template](#code-template) object whose value will be used in the `extends` clause of new type parameters added in overrides.
+
+The `argumentValue` key is required. The value of the `argumentValue` key is a [code template](#code-template) object whose value will be used as the type argument when updating references to the element.
+
+```yaml
+kind: 'addTypeParameter'
+index: 0
+name: 'T'
+extends: ...
+argumentValue: ...
+```
+
+#### removeParameter
+
+A _remove parameter_ change indicates that one of the parameters of a function or method was removed. It has three keys: `kind`, `index`, and `name`.
+
+The `index` key is required unless the `name` key is provided, and isn't allowed if a `name` key is provided. The `index` key specifies that a positional parameter was removed and its value is the zero-based index of the parameter before the function was modified. It's used to know which parameters to remove in overrides and which arguments to remove at invocation sites.
+It's used to know:
+- where to remove the parameter in method overrides. If parameter `p` is to be removed from a method `m` in a class `A`, and the user has a subclass of `A` that overrides the method `m`, the tool will remove the parameter at `index` from the method `m` in the subclass.
+- if the argument is a positional parameter, which argument to remove at each invocation site.
+
+For example, if the second positional parameter is removed you would write:
+
+```yaml
+kind: 'removeParameter'
+index: 1
+```
+
+The `name` key is required unless the `index` key is provided, and isn't allowed if an `index` key is provided. The `name` key specifies that a named parameter was removed and its value is the name of the parameter before the function was modified. It's used to know which parameters to remove in overrides and which arguments to remove at invocation sites.
+
+For example, if the named parameter `p` is removed you would write:
+
+```yaml
+kind: 'removeParameter'
+name: 'p'
+```
+
+#### rename
+
+A _rename_ change indicates that an element was renamed. It has two keys: `kind` and `newName`.
+
+The `newName` key is required. The value of the `newName` key is a string containing the new name of the element. It's used to replace the old name of the element (provided in the element object) in references to the element.
+
+For example, to rename an element to `B` you would write:
+
+```yaml
+kind: 'rename'
+newName: 'B'
+```
+
+This change is only intended to support simple renames, such as renaming a class or a method. It therefore assumes that the new element is like the old element in several ways:
+
+- it’s in the same library (that is, the URI’s by which it’s imported don’t change),
+
+- it’s the same kind of element (for example, you can’t rename a class and change it to be a mixin using this change), and
+
+- if the element being renamed is a member (such as a method), then the renamed element is a member of the same container.
+
+If the change that was made doesn’t fit within those constraints, then using a rename to capture it might not work in all situations. You should consider using a [replacedBy](#replacedBy) change instead.
+
+#### renameParameter
+
+A _renameParameter_ change indicates that a named parameter in a function or method was renamed. As such, the element in the transform must be a method or function. It has three keys: `kind`, `oldName`, and `newName`.
+
+The `oldName` key is required. The value of the `oldName` key is a string containing the old name of the parameter. It's used to locate the parameter that was renamed.
+
+The `newName` key is required. The value of the `newName` key is a string containing the new name of the parameter. It's used to replace the old name of the parameter, both in overrides of a method and in references to the method or function.
+
+For example, to rename the parameter `a` to `b` you would write:
+
+```yaml
+kind: 'renameParameter'
+oldName: 'a'
+newName: 'b'
+```
+
+#### changeParameterType
+
+A _changeParameterType_ change can be used to indicate that a parameter has been made non nullable. It has five keys: `kind`, `index`, `name`, `nullability` and `argumentValue`.
+
+The `index` key is required unless the `name` key is provided, and isn't allowed if a `name` key is provided. The `index` key specifies that the position of the parameter that was changed.
+
+The `name` key is required unless the `index` key is provided, and isn't allowed if an `index` key is provided. The `name` key specifies the name of the parameter that has the type change.
+
+The `nullability` key is required and indicates the type of change made to the parameter. Currently `non_null` is the only type change that is supported.
+
+The `argumentValue` key is optional and if provided will be used as the default value of the parameter. The value of the argumentValue key is a [code template](https://github.com/flutter/flutter/wiki/Data-driven-Fixes#code-template) object.
+
+For eg, changing the parameter `a` to non null with a default value you would write:
+
+```yaml
+kind: 'changeParameterType'
+name: 'a'
+nullability: 'non_null'
+argumentValue:
+ expression: "'newValue'"
+```
+
+
+#### replacedBy
+
+A _replacedBy_ change indicates that the specified element was replaced by another element. It has two keys: `kind` and `newElement`.
+
+The `newElement` key is required. The value of the `newElement` key is an [element](#element) representing the element that replaces the specified element.
+
+For example, to replace a top level variable `v` with a static field `C.f` you would write:
+
+```yaml
+kind: 'replacedBy'
+newElement:
+ uris: ['lib.dart']
+ field: 'f'
+ inClass: 'C'
+```
+
+This change currently has two limitations that you should be aware of.
+
+First, it doesn’t allow the list of URIs for the new element to be different from the list for the old element. That means that it currently might not correctly update the imports to make the new element visible in scope.
+
+Second, it doesn’t support replacing every kind of element, nor can the replacement element be every possible kind. What it does support is the following cases:
+
+- Replacing one constructor with a different constructor, even when the constructors are in different classes. It doesn’t correctly handle the case of replacing a `const` constructor with a non-`const` constructor.
+
+- Replacing a function (either a top-level function or a static method) with a different function.
+
+- Replacing a getter (either a top-level getter, a top-level variable, a static getter, or a static field) with a different getter.
+
+- Replacing a setter (either a top-level setter, a top-level non-`final` variable, a static setter, or a non-`final` static field) with a different setter.
+
+As with constructors, if a static member is being replaced by another static member, the members can be in different containers (classes, mixins, or extensions).
+
+There isn’t currently any way for the tool to detect whether a method, getter, or setter is static, so it’s possible to specify an instance member. As a result, specifying an instance member (as either the replaced or replacing element) might produce invalid changes for your users.
+
+Similarly, there isn’t currently any way for the tool to detect whether a top-level variable or a static field is `final` (which includes `const`). As a result, specifying a final element (as either the replaced or replacing element) might produce invalid changes for your users.
+
+### code template
+
+A _code template_ describes code that can be generated when fixing user code. It's represented as a map with three keys: `expression`, `requiredIf`, and `variables`.
+
+The `expression` key is required. The value of the key is a template: a string containing Dart code, possibly with embedded references to variables. Variables are referenced by enclosing the name of the variable between `{%` and `%}` delimiters.
+
+The `requiredIf` key is optional, but is only allowed if the code template is inside an `addParameter` change and the style of the parameter is `'optional_named'`. The value of the `requiredIf` key is a [condition](#condition) that will be evaluated for each invocation of the method or function that was changed. Normally arguments are not added for optional named parameters, but the argument _will_ be added if the `requiredIf` key is provided and the condition evaluates to `true`.
+
+The `variables` key is optional. The value of the `variables` key is a [variable map](#variable-map). If neither the `expression` template nor the `requiredIf` condition use any variables then the `variables` key can be omitted.
+
+Variables serve two purposes. The first, and most obvious, is to allow the replacement text to contain values based on the context in which it will appear. For example, if a parameter was removed then it’s possible that the value of the corresponding argument will need to appear somewhere else in the updated code.
+
+The second purpose is to allow the tool to automate some of the changes for you. For example, if the replacement text needs to refer to an imported name, you should use a variable to do so, and the definition of the variable can specify where the name is imported from. The tool can then determine whether any changes need to be made to the imports in the library being edited and make them correctly.
+
+The variables that can be referenced in the template are the variables defined in the code template and any variables defined in the enclosing transform whose name isn't hidden by a variable defined in the code template.
+
+```yaml
+expression: '{% type %}({% arg %})'
+variables:
+ arg: ...
+ type: ...
+```
+
+### variable map
+
+A _variable map_ defines one or more variables. It's represented as a map. The keys of the map are variable names and the values are [value](#value) objects.
+
+The name of a variable is any identifier containing either uppercase or lowercase letters.
+
+### value
+
+A _value_ describes a way of computing a string that can be injected into a template. It's represented as a map. The number and names of the keys depends on the kind of value being described, but all value objects have a `kind` key.
+
+The `kind` key is required. The value of the `kind` key is a string indicating the kind of value. The valid kinds are:
+- [fragment](#fragment)
+- [import](#import)
+
+Individual kinds of value objects are described in the sections below, titled by the kind.
+
+#### fragment
+
+A _fragment_ value indicates that the value is a fragment copied from the code being updated. It has two keys: `kind` and `value`.
+
+The `value` key is required. The `value` key specifies the fragment of code to be copied and is expressed as a chain of references in a simplified AST model of the code. The details follow the example.
+
+```yaml
+kind: fragment
+value: 'arguments[0]'
+```
+
+The code fragment is described by a dot separated non-empty list of accessors:
+
+```
+<fragment> ::= <accessor> ('.' <accessor>)*
+```
+
+Each accessor consists of an identifier followed by an index operator:
+
+```
+<accessor> ::= <identifier> '[' (<integer> | <identifier>) ']'
+```
+
+When an accessor is evaluated it takes a target node and either produces a result node or fails. The target node of the first accessor is always the node representing the invocation being updated (whether it’s the invocation of a function, method, getter, setter or constructor). The target node of all other accessors is the result node of the preceding accessor.
+
+There are currently two supported identifiers: `arguments` and `typeArguments`.
+
+The `arguments` accessor takes any node that includes an argument list and returns one of the arguments to the invocation. The index operator selects the argument to be returned. A zero-based integer is used to select a positional argument and an identifier is used to select a named argument.
+
+The `typeArguments` accessor takes any node that includes a type argument list and returns one of the type arguments. The index operator selects the argument to be returned using a zero-based integer.
+
+Here are some examples:
+- `arguments[0]` copies the code for the first argument in the argument list.
+- `arguments[child]` copies the code for the argument named `child`.
+- `arguments[0].typeArguments[0]` copies the code for the first type argument in the expression that is the first argument in the argument list.
+
+#### import
+
+An _import_ value indicates that the value is a top-level declaration from a library. It has three keys: `kind`, `uris` and `name`.
+
+The `uris` key is required. The value of the `uris` key is a list of [uri](#uri)s, each of which is the URI of a public library from which the name can be imported. They will be used to add an `import` directive, if one is needed, to any library in which the value of the code template will be used. If there are multiple URIs in the list and none of them are imported into the library being modified, then the first URI will be used.
+
+The `name` key is required. The `name` key specifies the name of the top-level declaration and its value is a string containing that name. The name is also the value of the variable. Any use of the variable in the template will ensure that the library is imported into the library being changed and that the name is visible.
+
+```yaml
+kind: import
+uris: [ 'package:flutter/material.dart' ]
+name: 'Widget'
+```
+
+### uri
+
+A _uri_ is a string containing a URI. The URI can be one of the following:
+- a `dart:` URI,
+- a `package:` URI, or
+- an abbreviated URI.
+
+An abbreviated URI is the portion of the URI following the name of the package containing the data file. For example, if a package named `sample` contains a library named `sample.dart` in the root of the `lib` directory, then within the data file for the package `sample` the URI for that library can be written as either `package:sample/sample.dart` or `sample.dart`.
+
+### test folder
+
+A _test folder_ contains dart files and their curresponding golden master `.expect` files that are used to test the data in the [data file](#data-file). These files are located in a folder (conventionally named `test_fixes`) in the package directory. See the [Testing](#testing) section for more documentation.
+
+You might find it useful to include a `README.md` file that has a link to this documentation for easy reference.
+
+
+## Testing
+
+This section provides a guide for testing data driven fixes.
+
+All the test files are contained in the [test folder](#test-folder). Every dart file has a golden counterpart file, which is named as `<dart-file-name>.dart.expect`.
+
+Every test has two parts:
+1. All possible usages of the public API that is changed by the data driven fix. This is contained in the dart file.
+2. All the usages in the dart file with the expected change applied. This is contained in the golden file.
+
+Extending on the example shown in [Rename a method](#rename-a-method), the change can be tested as below:
+```dart
+// test_fixes/C.dart
+import 'package:<package-name>/C.dart';
+
+C.oldName('Fix me'); // usage before the change.
+```
+
+```dart
+// test_fixes/C.dart.expect
+import 'package:<package-name>/C.dart';
+
+C.newName('Fix me'); // expected usage after the change.
+```
+
+To run these tests locally, execute the below command in the [test folder](#test-folder).
+```bash
+dart fix --compare-to-golden
+```
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Debugging-issues-on-the-Web.md b/docs/unsorted_wiki/Debugging-issues-on-the-Web.md
new file mode 100644
index 0000000..b4646ee
--- /dev/null
+++ b/docs/unsorted_wiki/Debugging-issues-on-the-Web.md
@@ -0,0 +1,32 @@
+# Debugging issues on the Web
+
+The tips below can help you debug Web issues quicker and file more readable Github issues.
+
+## Chrome DevTools
+
+Dart Dev Tools are not available when running an app in profile or release mode. However, you can still debug your app using [Chrome DevTools][chrome_dev_tools]. When Flutter builds your app it also produces _source maps_. [Source maps][source_maps] is a browser technology that allows you to debug applications that are compiled from any language to JavaScript. Dart, TypeScript, CoffeeScript, and even JavaScript minifiers use it for debugging.
+
+To open Chrome DevTools enter Ctrl + Shift + J (on Linux or Windows) or Command + Options + J (on Mac).
+
+Chrome DevTools provide network request/response information, performance profiling tools, a memory profiler, HTML element debugger, a console with REPL (JavaScript-only), and more.
+
+## Getting readable stack traces and profile traces
+
+When building in release mode the dart2js compiler _minifies_ your code to reduce the size of the app's JavaScript bundle. This process results in obfuscated class, method, and function names. An exception may look like this:
+
+```
+Uncaugh TypeError: Cannot read property 'c' of undefined js_helper.dart:1234
+ at a3R.$0 (app.dart:123)
+ at afG.b (util.dart:321)
+```
+
+To get more readable stack-traces in release builds, you can build and run your app in `--profile` mode. While the compiler does optimize the app in profile mode, it does not obfuscate the symbols from the original source code, making stack traces and profile traces much more readable.
+
+Here's an example of a profile trace recorded in Chrome DevTools in profile mode:
+
+
+
+You can see that symbols appear unchanged, e.g. "makeSkRRect", and "fillLiteralMap".
+
+[chrome_dev_tools]: https://developers.google.com/web/tools/chrome-devtools
+[source_maps]: https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Debugging-the-engine.md b/docs/unsorted_wiki/Debugging-the-engine.md
new file mode 100644
index 0000000..db7bc0c
--- /dev/null
+++ b/docs/unsorted_wiki/Debugging-the-engine.md
@@ -0,0 +1,147 @@
+This page has some hints about debugging the engine.
+
+See also [[Crashes]] for advice on handling engine crashes (specifically around obtaining stack traces, and reporting crashes in AOT Dart code).
+
+## Running a Flutter app with a local engine
+
+First, make sure the appropriate version of the engine is built (see [[Compiling the engine]]).
+
+### Using the Flutter tool
+
+Run your Flutter app with:
+
+```bash
+flutter run --local-engine=XXXX --local-engine-host=YYYY
+```
+
+to run an app with the local engine where `XXXX` should be replaced with the version you wish to use. For example, use `--local-engine=android_debug_unopt --local-engine-host=host_debug_unopt` to run a debug android engine or `--local-engine=ios_debug_sim_unopt --local-engine-host=host_debug_unopt` to run a debug iOS simulator engine.
+
+> 💡 **TIP**: When developing on a Mac with ARM (M CPU), use `--local-engine-host=host_debug_unopt_arm64`.
+>
+> You can continue to use `host_debug_unopt` (required for Intel Macs), but the engine will be run under Rosetta
+> which may be slower. See [Developing with Flutter on Apple Silicon](https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon)
+> for more information.
+
+
+It is important to always have a `host_XXXX` version of the engine built when using a local engine since Flutter uses the host build's version of Dart.
+
+### Using Visual Studio Code
+
+You will need to add a new [launch configuration](https://code.visualstudio.com/docs/editor/debugging#_launch-configurations) in the `launch.json` file:
+
+```json
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Launch (local engine)",
+ "request": "launch",
+ "type": "dart",
+ "args": ["--local-engine", "XXX", "--local-engine-host", "YYY"]
+ }
+
+ // Other profiles below..
+ ]
+}
+```
+
+## Bisecting a roll failure
+
+If the engine roll is failing (see [[Autorollers]]), you can use `git bisect` on the engine repo to track down the offending commit, using the `--local-engine` and `--local-engine-host` arguments as described above to run the failing framework test with each version of the engine.
+
+## Tracing OpenGL calls in Skia
+
+All OpenGL calls in Skia are guarded by either the `GR_GL_CALL_NOERRCHECK` or `GR_GL_CALL_RET_NOERRCHECK` macros. Trace events may be added in these macros to trace all GL calls made by Skia, for example [in a patch like this](https://gist.github.com/chinmaygarde/607eb86d5447615b9cf2804a4f8fb1ce).
+
+Due to the number of events traced to the timeline, the trace buffer may be filled up very quickly. Unless you want to see only the traces for the past few frames, use an endless trace buffer (`flutter run --endless-trace-buffer` turns on an endless trace buffer).
+
+Also, make sure to run your application with the `--trace-skia` flag.
+
+## Debugging iOS builds with Xcode
+
+Building with `flutter --local-engine` will set a `LOCAL_ENGINE` Xcode build setting in your Flutter application's `ios/Flutter/Generated.xcconfig` file. This will be set until you run `flutter run` again with either a different `--local-engine` option, or with none at all (which will unset it).
+
+You can speed up your workflow by adding the `--config-only` flag to set up the Xcode build settings and plugins, but not compile the app. For example:
+
+```bash
+flutter build ios --local-engine ios_debug_unopt --local-engine-host host_debug_unopt --config-only
+```
+
+To start debugging, open your Flutter app `ios/Runner.xcworkspace` file in Xcode. Ensure **Product > Scheme > Edit Scheme > Run > Build Configuration** matches your engine runtime mode (defaults to `Debug`).
+
+<img src="https://user-images.githubusercontent.com/682784/76341195-ee050680-62b9-11ea-956d-c27d65e5eec9.png" alt="Product > Scheme > Edit Scheme > Run > Build Configuration" width="900"/>
+
+Add an engine symbol breakpoint via **Debug > Breakpoints > Create Symbolic Breakpoint...**. The **Symbol** field should be the engine symbol you're interested in, like `-[FlutterEngine runWithEntrypoint:]` (note the `-[` prefix has no space).
+
+You can also set a breakpoint directly with [lldb](https://lldb.llvm.org/tutorial.html) by expanding **Flutter > Runner** in the Runner Project Navigator. Put a breakpoint in `AppDelegate.swift`'s `application(didFinishLaunchingWithOptions:)` (Swift project) or `main.m`'s `main()` (Objective-C project) and start the application by clicking the Run button (CMD + R). Then, set your desired breakpoint in the engine in `lldb` via `breakpoint set -...`.
+
+## Debugging Android builds with gdb
+
+See https://github.com/flutter/engine/blob/master/sky/tools/flutter_gdb#L13
+
+## Debugging native engine code on Android with Android Studio
+
+1. Build the local engine with the `--no-stripped` flag.
+2. Decide on a Flutter app that you with to debug and run it with `flutter run` and the local engine flags. i.e.: `--debug --local-engine-src-path path/to/my/engine/src --local-engine=android_debug_unopt_arm64`
+3. Open Android Studio and use `File > Profile or Debug APK`. The location of the debug build APK should be `build/app/outputs/apk/debug/app-debug.apk` under the Flutter app project.
+4. To attach the debugger, use `Run > Attach Debugger to Android Process`. For "Use Android Debugger Settings from" choose `[Use default settings]`, and for "Debug Type" choose `Native Only`.
+5. Once attached, you can use Android Studio to open local engine C++ source files and set breakpoints.
+
+## Debugging Windows builds with Visual Studio
+
+Compiling the engine creates a Visual Studio solution file. You can use it to debug the engine:
+
+1. Launch your Flutter app using a locally built engine `flutter run -d windows --local-engine host_debug_unopt --local-engine-host host_debug_unopt`
+2. Using Visual Studio, open the engine's solution file `.\out\host_debug_unopt\all.sln`
+3. Open `Debug` > `Attach to Process...` (or press `CTRL+ALT+P`)
+4. Choose your Flutter app using either `Select Window`, or, the list of available processes.
+5. Press the `Attach` button
+
+Building a Flutter app also creates a Visual Studio solution file. You can use it to debug the
+engine, your app's runner, and your app's plugins:
+
+1. Build your Flutter app using a locally built engine using `flutter build windows --debug --local-engine host_debug_unopt --local-engine-host host_debug_unopt`
+2. Using Visual Studio, open the Flutter app's `.\build\windows\<project_name>.sln`
+3. In the `Solution Explorer` pane, right click the project whose name matches your app, and select `Set as Startup Project`
+
+ 
+
+4. Now run your app by pressing `F5` or `DEBUG` > `Start Debugging`. This will launch your app with Visual Studio's debugger attached.
+
+Read this guide to [learn how to debug C++ using Visual Studio](https://learn.microsoft.com/visualstudio/debugger/getting-started-with-the-debugger-cpp?view=vs-2022).
+
+## Debugging with gdb on Linux
+
+Once you have built the engine, you'll find the unstripped libraries in `out/host_debug_unopt/lib.unstripped`, and the executables in `out/host_debug_unopt/exe.unstripped`.
+
+So, for instance, to run the unit tests under the debugger you would execute:
+
+```shell
+flutter/tools/gn --runtime-mode=debug --unoptimized
+ninja -C out/host_debug_unopt
+gdb out/host_debug_unopt/exe.unstripped/flutter_linux_unittests
+```
+
+And then debug the test normally using GDB commands.
+
+To debug a Flutter app using GDB, the stripped flutter engine GTK library in the built application needs to be replaced with the unstripped one in the engine build output directory.
+
+First, in your Flutter project, build your Flutter app using the local engine:
+
+```shell
+flutter build linux --debug --local-engine=host_debug_unopt --local-engine-host=host_debug_unopt lib/main.dart
+```
+
+Then, replace the library in your Flutter application's build directory: `build/linux/x64/debug/bundle/lib/libflutter_linux_gtk.so` with a copy or symbolic link to the engine build's output file `out/host_debug_unopt/lib.unstripped/libflutter_linux_gtk.so`.
+
+Then you can open it in the debugger with:
+
+```shell
+gdb build/linux/x64/debug/bundle/your_app_name
+```
+
+Note that this won't help you debug the Dart portion of the app: this is just for debugging the engine code. If you need to simultaneously debug the Dart portion, you can connect to the observatory port given when you run the app in `gdb`.
+
+## Logging in the engine
+
+Flutter tool will by default parse out any non-error output from the engine. Error logs will be displayed. Logging is handled though the FML library's `logging.h`.
diff --git a/docs/unsorted_wiki/Deferred-Components.md b/docs/unsorted_wiki/Deferred-Components.md
new file mode 100644
index 0000000..d3ca059
--- /dev/null
+++ b/docs/unsorted_wiki/Deferred-Components.md
@@ -0,0 +1,305 @@
+# Deferred Components
+
+Deferred components is a set of features and tooling that allows developers to write dart code that can be AOT compiled into separate split dynamic libraries as well as package them together with assets into runtime downloadable modules on Android. The primary goal of deferred components is to reduce install apk size as well as reduce storage space taken up by the app by omitting features the user may not use.
+
+This feature is currently an experimental/preview feature that is only available on Android. It takes advantage of Android and Google Play Store’s dynamic feature modules to deliver the deferred components packaged as Android modules. This does not impact other platforms, which continue to build as normal with all deferred components and assets included at initial install time.
+
+Though modules can be defer loaded, the entire application must be completely built and uploaded as a single Android App Bundle (`.aab`). Dispatching partial updates without re-uploading new Android App Bundles for the entire application (eg, code push) is not supported.
+
+This feature only does deferred loading in release and profile mode. In debug mode, all deferred components are present at launch and will instantly load.
+
+A step by step guide on how to integrate deferred components with your app can be found on the [Flutter.dev documentation](https://flutter.dev/docs/perf/deferred-components).
+
+## APK size gallery case study
+
+Flutter Gallery implements deferred components for the crane study. Here, we will examine the initial install size gains in a [fully deferred Flutter gallery branch](https://github.com/flutter/gallery/tree/fully-deferred-gallery) (branch not kept up to date with master) where we implement deferred components for all studies and demos (not just crane). In this example, we have moved all the splittable assets and fonts into deferred components. Compared to a non-deferred components application, the initial installed APK file size breakdown is as follows:
+
+Deferred components:
+
+* base-arm64_v8a.apk - 12,325,372 bytes
+* base-master.apk - 37,889,309 bytes
+* Total deferred components initial installation size: 50,214,681 bytes
+
+Non-deferred components (regular app):
+
+* base-arm64_v8a.apk - 12,521,900 bytes
+* base-master.apk - 80,605,796 bytes
+* Total regular initial installation size: 93,127,696 bytes
+
+Here, we can see a ~200kB decrease in compiled dart code size (base-arm64_v8a.apk) and a ~43mB decrease in assets (base-master.apk) on initial download. Overall, there is a 46% reduction in initial installation size. The dart code, assets, and google fonts are instead moved into separate components downloaded at runtime only when needed:
+
+* Crane
+* Fortnightly
+* Rally
+* Shrine
+* Cupertino
+* Material
+* Reference
+
+The total installed size with all components installed is slightly larger than the non-deferred app, but this increase is on the order of a few kb due to overhead in the dart shared libraries from ELF headers and cross-loading-unit calls.
+
+## Deferred components app structure
+
+The deferred Dart libraries are interpreted by `gen_snapshot` (Dart’s compiler) to produce “loading units”, each of which are output as a split AOT shared library (`.so` file) when building in profile or release mode. A loading unit is the smallest set of libraries that are imported exclusively with the deferred keyword by the main code and can be split off of the base libraries.
+
+The following diagram shows an example app structure and a “lifecycle” of how deferred dart libraries are compiled into loading units and packaged into a `.aab` file.
+
+
+
+This example app has the following properties:
+
+* Four Dart libraries, with Dart libraries `lib1` and `lib2` dependent on each other. `lib1`, `lib3`, and `lib4` are imported in the flutter app’s main code as deferred.
+* Four loading units, with one being the base loading unit with id 1 and loading unit 2 containing both `lib1` and `lib2`. Loading units 3 and 4 contain `lib3` and `lib4` respectively.
+* Three defined deferred components, plus an implicit base component. `component1` contains loading unit 2 and assets. `component2` contains both loading units 3 and 4 and no assets. `component3` is an assets only component.
+* `app-release.aab` is the completed build output file, and contains all three components as well as the base component.
+
+There will always be an implicit base loading unit that contains core flutter packages as well as your base application code. Any libraries that are not fully imported as deferred by your base app code will be included in the base loading unit. If no additional loading units other than base are generated, it likely means you imported your files incorrectly.
+
+Multiple Dart libraries are compiled as a single loading unit if they import each other eagerly (non-deferred):
+
+
+
+## Lifecycle of a `loadLibrary()` call
+
+Deferred components are primarily triggered to be downloaded, installed, and loaded via the `loadLibrary()` dart call. This call is handled differently in dart2js vs aot/native. Here, we will trace how the `loadLibrary()` call is translated into an installation of a deferred component:
+
+
+
+The `loadLibrary()` dart call's native side implementation calls a `Dart_DeferredLoadHandler` callback that is set using `Dart_SetDeferredLoadHandler` in `DartIsolate::Initialize`. Dart internally retrieves the loading unit ID assigned to the library and passes it to the callback. The callback is implemented as `DartIsolate::OnDartLoadLibrary`.
+
+The loading unit ID is then passed on through the runtime controller, engine shell and platform view until it passes into the FlutterJNI in the Android embedder. Here, the loading unit ID is passed into the `DeferredComponentsManager`'s `installDeferredComponent` where the ID is converted from an integer to a String name identifying the pubspec-defined deferred component the requested library belongs to. This conversion is handled by a AndroidManifest metadata mapping that is created and verified during the build phase.
+
+`PlayStoreDeferredComponentManager` then invokes the play store split compat APIs to download the android module. Once the Android module is installed, the manager locates the .so files and passes the paths to the engine to `dlopen`. The engine then passes the symbols to the runtime and and dart isolate, which is able to load the symbols into the dart VM. The loading must be associated with a loading unit ID or the load will not complete the Dart Future returned by `loadLibrary()`.
+
+Keep in mind that multiple loading units may be contained in a deferred component, but a `loadLibrary` call will only load the dart symbols from the specific dart library the call was made from. Each loading unit must have separate `loadLibrary` calls before use. Subsequent `loadLibrary` calls on components that are already downloaded should complete much faster, however, the loading can never happen synchronously and there will be at least one frame between call and completion.
+
+### Installation by deferred component string name
+
+We also provide a [framework-side DeferredComponent utility class](https://master-api.flutter.dev/flutter/services/DeferredComponent-class.html) that allows direct installation via deferred component name as a string.
+
+This installation path may be used for two purposes:
+
+* Installing asset-only deferred components that do not have any Dart code to call `loadLibrary()` on.
+* Pre-downloading components to use later. However, `loadLibrary()` must still be called in order to use any dart code from the pre-downloaded component. This is useful when the exact dart library needed is not known yet.
+
+The direct API uses platform channels to directly invoke the `installDeferredComponent` method on the `DynamicFeatureManager` and will not trigger any of the dart code packed in the component to load due to lack of a specified loading unit. Assets will be loaded. To use any dart code, `loadLibrary()` must still be called.
+
+### Uninstallation
+
+The [DeferredComponent](https://master-api.flutter.dev/flutter/services/DeferredComponent-class.html) framework utility class also provides an `uninstallDeferredComponent` method that uses platform channels to request that the OS uninstall and remove the files associated with the specified deferred component. Uninstallation is dependent on how the platform handles it and in Android's case, the removal of the files is queued and may take a long time before actually executed.
+
+Uninstallation may only be requested directly with the string name of the component to be uninstalled. Uninstallation by loading unit id or direct call on a dart import is not yet supported.
+
+## Tooling
+
+Deferred components must be built as Android App Bundles (`.aab`) to function. If built as debug or an apk file, dart will compile normally and produce a single `.so` file.
+
+Deferred components makes use of the existing `$ flutter build appbundle` command and checks for the existence of the `deferred-components:` entry in the `pubspec.yaml` to decide whether to build deferred or not. When the app is opted-in to deferred components and the build mode is release, `gen_snapshot` is passed a `--loading_unit_manifest` path, which tells `gen_snapshot` to attempt to produce split AOT artifacts. This includes a base file as well as a `.so` for every deferred library in the codebase. Each of these split units is called a "loading unit" and is assigned an internal integer ID called the loading unit ID.
+
+The build process also relies on project setup to function. Each deferred component must correspond to an Android module defined in the `android` directory of your app. The base module is build as the `app` module while each additional component should have a module with the same name as the component. The base module `AndroidManifest.xml` also needs to include the mapping between loading unit IDs and deferred components.
+
+The `flutter build appbundle` command assists in setting up the project with a validator that guides developers through the changes needed to build properly. This validator is necessary since the exact loading units produced by `gen_snapshot` is not known until `gen_snapshot` finishes compiling. Thus, some project setup can only be done after the `gen_snapshot` step in the build appbundle process.
+
+Since mistakenly importing a deferred file as non-deferred can cause the file to be compiled into the base loading unit, the deferred components validator also has a mechanism for preventing accidental changes to the app's final generated loading units. This check will cause the build to fail if the generated loading units do not match the results of the previous run which is cached in the `deferred_components_loading_units.yaml` file. After throwing an error upon detecting changes, the build will automatically pass this check on next run if no additional changes are made. This means that this check is not error proof as you are still free to ignore the mismatched loading unit error if the change was intended and accounted for and continue to build.
+
+***
+
+# Fully deferring Flutter in add-to-app
+
+When using add-to-app, it's possible to convert the entire Flutter module into an Android dynamic feature module to install at runtime.
+
+Since the structures of add-to-app scenarios are highly variable, Flutter doesn't provide direct tooling to automate/validate full Flutter deferring. Instead, this guide provides details for implementing the components required for full Flutter deferring. The architecture described here is one of the many ways this can work, and is up to you to determine how best to integrate this into your apps.
+
+Integrating full Flutter deferring is experimental. It requires custom implementations, and setup that is not fully tested due to variability in different apps. Therefore, this feature is considered a very advanced feature, and Flutter may not be able to provide guarantees or technical support for specific use cases.
+
+Full Flutter deferral requires implementing `SplitInstallManager` in the base app module, as well as adding the dependency on `com.google.android.play:core` in `build.gradle` as an implementation. The dynamic feature module containing Flutter must depend on the base module.
+
+The base module can no longer include any references to Flutter code. Therefore, the `:flutter` dependency in `build.gradle` should be removed.
+
+The process described below uses the [fullscreen add-to-app example](https://github.com/flutter/samples/tree/master/add_to_app/fullscreen).
+
+## SplitInstallManager base module "bootstrapper"
+
+The base module must use `SplitInstallManager` to install the Flutter dynamic feature. For example, here is a bare-bones implementation called `SplitUtility` that downloads a dynamic feature module named `flutter` when `installFlutterModule` is called:
+
+```java
+import android.annotation.SuppressLint;
+import android.content.Context;
+import androidx.annotation.NonNull;
+import com.google.android.play.core.splitinstall.SplitInstallException;
+import com.google.android.play.core.splitinstall.SplitInstallManager;
+import com.google.android.play.core.splitinstall.SplitInstallManagerFactory;
+import com.google.android.play.core.splitinstall.SplitInstallRequest;
+import com.google.android.play.core.splitinstall.SplitInstallSessionState;
+import com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener;
+import com.google.android.play.core.splitinstall.model.SplitInstallErrorCode;
+import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus;
+
+class SplitUtility {
+ private @NonNull SplitInstallManager splitInstallManager;
+ private @NonNull FeatureInstallStateUpdatedListener listener;
+
+ private class FeatureInstallStateUpdatedListener implements SplitInstallStateUpdatedListener {
+ @SuppressLint("DefaultLocale")
+ public void onStateUpdate(SplitInstallSessionState state) {
+ int sessionId = state.sessionId();
+ switch (state.status()) {
+ case SplitInstallSessionStatus.FAILED:
+ break;
+ case SplitInstallSessionStatus.INSTALLED:
+ break;
+ case SplitInstallSessionStatus.CANCELED:
+ break;
+ default:
+ }
+ }
+ }
+
+ SplitUtility(Context context) {
+ splitInstallManager = SplitInstallManagerFactory.create(context);
+ listener = new FeatureInstallStateUpdatedListener();
+ splitInstallManager.registerListener(listener);
+ }
+
+ void installFlutterModule() {
+ SplitInstallRequest request =
+ SplitInstallRequest.newBuilder().addModule("flutter").build();
+
+ splitInstallManager
+ // Submits the request to install the module through the
+ // asynchronous startInstall() task. Your app needs to be
+ // in the foreground to submit the request.
+ .startInstall(request)
+ // Called when the install request is sent successfully. This is different than a successful
+ // install which is handled in FeatureInstallStateUpdatedListener.
+ .addOnSuccessListener(
+ sessionId -> {
+ // store sessionId somewhere if you want to reference it again.
+ })
+ .addOnFailureListener(
+ exception -> {
+ switch (((SplitInstallException) exception).getErrorCode()) {
+ case SplitInstallErrorCode.NETWORK_ERROR:
+ break;
+ case SplitInstallErrorCode.MODULE_UNAVAILABLE:
+ break;
+ default:
+ break;
+ }
+ });
+ }
+
+ public void destroy() {
+ splitInstallManager.unregisterListener(listener);
+ }
+}
+```
+
+The base module should install the Flutter module when appropriate. `PlayStoreDeferredComponentsManager` actually provides much of the same functionality, but it lives inside the Flutter Android embedding, and thus cannot be referenced from the base module.
+
+## Project configuration
+
+`build.gradle` of the base module as well as the flutter module should be modified to convert it into a dynamic feature module. The default Flutter android module used is located in the `.android/Flutter` directory.
+
+It's recommended that you change the path of the Android module as the `.android` directory may be cleared or regenerated by cleaning tasks. You can set a different module or a clone of the default one as the module root directory with `project(":flutter").projectDir = new File(“<relative>.<path>.<to>.<module>”)` in your main android project’s `settings.gradle`.
+
+The following configuration changes are the base changes needed to convert a fullscreen Flutter add-to-app implementation into a dynamic feature module.
+
+Base module `build.gradle`:
+
+* Add `dynamicFeatures = [':flutter']` to the `android` section of the base module `build.gradle`.
+* Remove `implementation project(':flutter')` from the dependencies section (the dynamic feature module must depend on the base module).
+* Add `implementation "com.google.android.play:core:1.8.0"` to the dependencies section.
+
+Flutter module `build.gradle`:
+
+* Replace `apply plugin: 'com.android.library'` with `apply plugin: 'com.android.dynamic-feature'` in the Flutter module `build.gradle`
+* Add a dependencies section to the Flutter module `build.gradle`:
+
+```gradle
+dependencies {
+ implementation fileTree(dir: "libs", include: ["*.jar"])
+ implementation project(":app")
+ api 'androidx.test:core:1.2.0'
+}
+```
+
+Flutter module `AndroidManifest.xml`:
+
+* Add `xmlns:dist="http://schemas.android.com/apk/distribution"` to the `manifest` section
+* Add the dynamic feature module section:
+
+```xml
+<dist:module
+ dist:instant="false"
+ dist:title="@string/title_fluttermodule">
+ <dist:delivery>
+ <dist:on-demand />
+ </dist:delivery>
+ <dist:fusing dist:include="true" />
+</dist:module>
+```
+
+Any references to the Flutter Java API will need to be done within your newly dynamic feature module. You are no longer able to directly launch a `FlutterActivity` from your main activity, and must now wrap it in a new class inside your dynamic feature module.
+
+It is recommended to create a new Android Activity in your dynamic Flutter module that implements all of the behavior from your base application and base Activity. After installing the Flutter Android split, the new dynamic Flutter Activity can then be launched.
+
+Depending on your specific apps, additional configuration may be needed to build and run your apps.
+
+## Regular deferred components integration
+
+We have not yet tested integration with a pure Flutter app using deferred components.
+
+Flutter's tooling doesn't yet support building add-to-app and deferred components together. However, it is technically possible to run `gen_snapshot` in split AOT mode, and then package the different `.so` files into additional dynamic feature modules. See the Custom Implementation below for additional details.
+
+***
+
+# Custom Implementations
+
+It's possible to write a custom implementation that bypasses the Android Play store. This is only recommended for advanced developers, and is primarily aimed at apps with very unique needs such as extremely large asset components, specific download behavior, or distribution in a region that does not have access to the Play Store (e.g. China).
+
+### Overview
+
+The Flutter Embedder allows custom implementations that handle customer-unique download and unpacking of deferred components while still allowing access to the core Dart callbacks that register a loading unit with the Dart runtime. This process is far more involved than the default play store version.
+
+To implement a custom deferred components system, the following major pieces are required:
+
+* Android embedder implementation of `DeferredComponentManager` that handles communication between the app and the server as well as extracting the `.so` file and assets from the downloaded component.
+* Tooling to package the components in a way that is compatible with your `DeferredComponentManager` and to interpret `gen_snapshot` output of loading units.
+* A server to host the downloadable components. Without the Play Store acting as a distributor for Android dynamic feature modules, this must be custom.
+
+The following sections provide a high level guide of what needs to be done in a custom implementation.
+
+### DeferredComponentManager - Android Embedder
+
+The Embedder is responsible for downloading and installing the packaged component files. This can be done by implementing the abstract class `DeferredComponentManager` in the Android Embedder.
+
+The entry point into this class is `installDeferredComponent` which provides both a loading unit id and the component name to help determine what to install.
+
+`loadLibrary()` calls will pass only a loading unit id while `DeferredComponent.installDeferredComponent()` calls from the framework services package will pass only a component name to load an assets-only component.
+
+In order to resolve a specific component from the loading unit id, it is typically necessary to store a mapping of loading unit ids to the component name. In the default implementation, we accomplish this by storing a string meta-data in the base app’s `AndroidManifest.xml`, but this can be accomplished in any way desired.
+
+You may find detailed explanations of each method in `DeferredComponentManager` in the engine source file at `shell/platform/android/io/flutter/embedding/engine/deferredcomponents/DeferredComponentManager.java`.
+
+The default Play Store implementation is found at `shell/platform/android/io/flutter/embedding/engine/deferredcomponents/PlayStoreDeferredComponentManager.java` and can be used as a rough guide on what needs to be implemented.
+
+To load Dart libraries, call `FlutterJNI.loadDartDeferredLibrary` with the loading unit id, and a list of paths that potentially contain the `.so` file in your `loadDartLibrary` implementation. The engine will call `dlopen` on each of the paths provided until one is successfully opened.
+
+To load new assets, create an Android `AssetManager` that has access to the newly downloaded assets. Pass this `AssetManager` to `FlutterJNI.updateJavaAssetManager`.
+
+The `FlutterJNI` instance is passed in via `setJNI`.
+
+### Tooling
+
+Flutter’s tooling comes with the capability to instruct `gen_snapshot` to build split AOT, and pack the `.so` files and assets into an Android dynamic feature module.
+
+Custom implementations are typically unable to make use of this tooling. Therefore, you may have to write custom tooling to package the `.so` files and assets, so they work alongside the custom `DeferredComponentManager` implementation.
+
+To make `gen_snapshot` generate loading units, and the `.so` shared libraries, pass the `--loading_unit_manifest=<manifestPath>` option to `gen_snapshot`.
+
+This will create a .json file at your `manifestPath` that contains the loading units and corresponding `.so` libs generated. The `.so` file and assets can then be packed in whatever format you wish to distribute on your file server. It is also your responsibility to unpack this format in your `DeferredComponentManager` implementation.
+
+### File server
+
+Since custom implementations typically do not use the Play store, a custom system for hosting and serving files to end users should be implemented. This part is highly variable in how it can be accomplished, and the only requirement is that it functions in tandem with the `DeferredComponentManager` implementation, so it delivers the files needed to load Dart shared libraries, and assets.
diff --git a/docs/unsorted_wiki/Design-Documents.md b/docs/unsorted_wiki/Design-Documents.md
new file mode 100644
index 0000000..afeead0
--- /dev/null
+++ b/docs/unsorted_wiki/Design-Documents.md
@@ -0,0 +1,65 @@
+If you want to write a design doc for people to review, we recommend using Google Docs.
+We have a template you can use, at [flutter.dev/go/template](https://flutter.dev/go/template). It describes the process for minting a `flutter.dev/go/foo` shortlink for your design doc.
+We recommend you use that template so that people can immediately recognize that this is a Flutter design document and that it is shared publicly.
+
+Don't forget to configure your document's Sharing settings so that everyone has comment access. The idea of sharing the document in this way is not necessarily to proactively obtain feedback from the entire community; it is to make it _possible_ for people to share the document with anyone in the community, whether they work for your employer or not, and whether you have personally shared the document with them yet or not.
+
+The template discusses how to create a shortlink for your design doc (flutter.dev/go/...). When creating the shortlink, remember to test the URL you are publishing in an incognito window!
+
+Googlers: Design docs must be created by non-corp accounts! See [Contributor Access](https://github.com/flutter/flutter/wiki/Contributor-access#fcontriborg-accounts) for details on getting `fcontrib.org` accounts if you don't want to use your personal GMail account.
+
+When you implement a design, document it in the source code in detail. The API documentation is the usual place where we document our designs. It's perfectly reasonable for API docs to be multiple pages long with subheadings (e.g. see the docs for [RenderBox](https://master-api.flutter.dev/flutter/rendering/RenderBox-class.html)!). Do not assume that anyone will ever read your design doc after the discussion has finished. Similarly, do not assume that anyone will look at closed GitHub issues or PR discussions.
+
+_See also: [list of current design docs](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22design+doc%22)_
+
+## Purpose of design docs
+
+The Flutter project uses design docs as a tool for guiding discussions.
+
+Decisions are made in PRs, not in design docs.
+
+Approvals are given in PRs, not in design docs.
+
+## Soliciting feedback
+
+If you wish to get feedback on your design doc, you have many options for doing so, depending on how much feedback you want:
+
+* If there is an issue already filed on the topic, definitely put a link to the design doc there. People who have found the issue and want to get updates on the topic will have subscribed to the issue, so this is the most effective way to communicate with them.
+
+* File a new issue to track the design doc using [the design doc issue template](https://github.com/flutter/flutter/issues/new?labels=design+doc&template=8_design_doc.yml). Assign it to yourself.
+
+* Post the link on Discord. You can post it to #hidden-chat to just get feedback from team members. You can post it to one or more of the #hackers-* channels if you want feedback from people who are interested in the general area. You can post it to the global #hackers channel if you want feedback from anyone interested in working on Flutter. If you really want feedback, you can post a request to #announcements and publish it to any server that is following ours.
+
+* If you want feedback from the broad community, tweet out the link and let other team members know so that we can retweet it. Similarly, you can post the request to one of the Flutter reddit channels, such as r/FlutterDev.
+
+* You can ask our developer relations (devrel) team to broadcast a request for comments. (Start by asking in #hackers-devrel; if nobody responds, ping Hixie on that channel.)
+
+* You can ask our user experience researcher (UXR) team to study the proposal and potentially test it with real users, or collect relevant data from the next quarterly survey. (Start by asking in #hackers-devexp; if nobody responds, ping Hixie on that channel.)
+
+* If you have commit access, you can ask to talk about the design doc at the next Dash Forum meeting (normally held on Tuesdays at 11am US west coast time). Ping Hixie on #hidden-chat to get on the schedule, or use the form to request to be added, the link for which is pinned in the #hidden-chat channel.
+
+### How to get good feedback
+
+Often, you will solicit feedback, and get none. There are many causes of this.
+
+Maybe your proposal is unclear, and so people don't really know what to suggest. People are often reluctant to provide broad criticisms. Consider if you can improve the clarity of your design doc. Do you have a clear problem statement separate from your solution? Do you show example code of the problem? Do you have screenshots or diagrams of the problem? For your solution, do you start from first principles and explain it? Often it's easy to forget that your readers don't have the same context you do, so without a gentle introduction they'll get lost very quickly. Do you have sample code of your proposed solution(s)? Do you need more diagrams or screenshots? Ask someone you trust if they think your document is sufficiently clear.
+
+Maybe your proposal is too big for anyone to get their head around. Can it be split into smaller components, so that each one can be understood separately, before bringing all the pieces together into your grand design? (You can do this all in the same doc.)
+
+Maybe people don't know what to provide feedback about. If you have an area you are particularly interested in getting feedback about, it can be very helpful to explicitly invite such feedback.
+
+Maybe you are asking the wrong people. Consider the suggestions in the earlier section, and reach out explicitly to people who are affected by your proposal. Consider escalating, asking more and more people until you get the volume of feedback you desire.
+
+Maybe everyone agrees. Consider leaving some intentionally sketchy details in your proposal to encourage people to engage! (This is a risky strategy, sometimes people end up _liking_ your "bad" ideas...)
+
+Maybe your proposal is too obvious or uninteresting. Sometimes, a change is so uncontroversial and simple that frankly it would be better just to write the PR and submit it.
+
+## Content in design docs
+
+### Screen captures
+
+The easiest way to capture videos for design docs is using macOS. Press Command+Shift+5 for a whole bunch of options.
+
+### Diagrams
+
+As we use Google Docs for the text portion of design docs, the easiest way to draw diagrams is using Google Diagrams. Select `Insert` > `Drawing` > `New` to create a new diagram.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Developing-with-Flutter-on-Apple-Silicon.md b/docs/unsorted_wiki/Developing-with-Flutter-on-Apple-Silicon.md
new file mode 100644
index 0000000..920027c
--- /dev/null
+++ b/docs/unsorted_wiki/Developing-with-Flutter-on-Apple-Silicon.md
@@ -0,0 +1,32 @@
+Flutter includes support for developing on macOS devices with [Apple Silicon (M1) hardware](https://www.apple.com/mac/m1/). This wiki page documents ongoing work relating to the Flutter toolchain providing native support for this processor architecture.
+
+We recommend using Flutter 2.5 or later on Apple Silicon machines. You must also have the [Rosetta 2 translation environment](https://developer.apple.com/documentation/apple_silicon/about_the_rosetta_translation_environment) available, which you can install manually by running:
+
+```sh
+$ sudo softwareupdate --install-rosetta --agree-to-license
+```
+
+If you see CocoaPods crashes related to `ffi`, try reinstalling the Ruby gem with the `--enable-libffi-alloc` flag:
+```
+sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc
+```
+
+## Using macOS on Apple Silicon to develop Flutter apps (host)
+
+You can use Apple Silicon-based Mac devices as a developer workstation (host) for building Flutter apps. While some tools still use Rosetta, Apple Silicon-based Macs are fully supported as a host.
+
+As we build more Apple Silicon support into the tooling, and depending on your tolerance for risk, [you may want to experiment with the `beta` channel](https://flutter.dev/docs/development/tools/sdk/upgrading#switching-flutter-channels). (This was previously also available on the dev channel, but [it has been retired](https://medium.com/flutter/whats-new-in-flutter-2-8-d085b763d181#34c4).)
+
+[Issue 60118](https://github.com/flutter/flutter/issues/60118) tracks the full set of work to support this feature.
+
+## Developing Flutter apps for macOS running on Apple Silicon (target)
+
+Flutter has [support for building macOS apps](https://flutter.dev/desktop), with beta snapshots available in the `stable` channel and ongoing development taking place.
+
+Compiled Intel macOS binaries work on Apple Silicon without change thanks to the [Rosetta 2 translation environment](https://developer.apple.com/documentation/apple_silicon/about_the_rosetta_translation_environment), which converts x86_64 instructions to ARM64 equivalents.
+
+We also plan to offer support for compilation directly to ARM64, as well as universal binaries that combine x86_64 and ARM64 assets. [Issue 60113](https://github.com/flutter/flutter/issues/60113) is the umbrella bug tracking this work.
+
+## Filing Issues
+
+If you experience a problem relating to using Flutter on Apple Silicon hardware, please [file an issue on GitHub](https://github.com/flutter/flutter/issues/new?assignees=&labels=&template=1_activation.md&title=) with specific repro steps and information about your hardware and software configuration (paste the results of `flutter doctor -v`). Thank you!
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Engine-Clang-Tidy-Linter.md b/docs/unsorted_wiki/Engine-Clang-Tidy-Linter.md
new file mode 100644
index 0000000..05879f8
--- /dev/null
+++ b/docs/unsorted_wiki/Engine-Clang-Tidy-Linter.md
@@ -0,0 +1,56 @@
+# Engine Clang Tidy Linter
+
+## Description
+
+In May 2020, [`clang-tidy`](https://clang.llvm.org/extra/clang-tidy/) was added as a CI step to the Flutter Engine. Previously the only lint checks that were happening in the engine were formatting, there were no semantic checks. Now there are, but that means there is work to be done migrating all the code to conform to all the lint checks.
+
+If a file has `// FLUTTER_NOLINT` at the top, it has issues with the lint that haven't been addressed and the linter will ignore it. As the issues are fixed the comments should be removed.
+
+You can run the linter locally by running `flutter/ci/lint.sh`.
+
+## CI background information
+
+* The clang-tidy ci step is run 4 times: host_debug on mac, ios_debug on mac, host_debug on linux, android_debug_arm64 on linux.
+* Before the linter can run, the target must be built in order to generate code.
+* Clang-tidy jobs are sharded such that the intersection of files in iOS and macOS are shared, similarly for Linux and Android.
+
+## FAQs
+
+### I don't understand this lint error, where do I get help?
+
+You can ask on the `hackers-engine` discord channel. Ping @gaaclarke or @zanderso if you don't get the response you want.
+
+### Hey, why are/aren't you checking for X?
+
+The checks that are enabled are negotiable. If you think we are missing something, please discuss it on `hacker-engine`.
+
+### Can I just use `NOLINT` to turn off the error?
+
+You can, but please get explicit approval to do from someone on the team.
+
+### How do I turn on a large new lint?
+
+Here are things that can make it easier to land large new lints.
+
+#### Tips
+
+* Try to reduce the number of checks you are turning on at a time, they can have cascading effects where fixing one check with "clang-tidy fix" can cause violations with other checks.
+* Prefer using NOLINTNEXTLINE over NOLINT since auto formatting can move NOLINT comments and break them.
+
+#### Clang-tidy fix on CI
+
+Instead of running clang-tidy fix locally on your machines 4 times you can get the CI bots to print out the fix. Here's steps on how to do that:
+
+1. Edit `//ci/clang_tidy.sh`:
+ ```diff
+ # To run on CI, just uncomment the following line:
+ -# FLUTTER_LINT_PRINT_FIX=1
+ +FLUTTER_LINT_PRINT_FIX=1
+ ```
+ This will run on _all_ files, and print out the patch generated by `clang-tidy fix` in the CI bots.
+
+2. Make a draft PR with the check added and FLUTTER_LINT_PRINT_FIX=1
+3. Look at the output of failed clang-tidy runs and make sure that it didn't garble the fix. Sometimes that happens and if it does, you'll have to manually fix where it garbled the fix or use NOLINTNEXTLINE.
+4. Copy the patch the CI bot printed out to the clipboard, in the terminal, at the engine repo, use `git apply`, paste the patch, press ctrl+d then enter. Watch out that there can be overlapping patches between the mac runs and the linux runs since we don't shard across platforms.
+5. Commit and push that.
+6. When the 4 CI runs are green, remove FLUTTER_LINT_PRINT_FIX=1 and put up for review
diff --git a/docs/unsorted_wiki/Engine-disk-footprint.md b/docs/unsorted_wiki/Engine-disk-footprint.md
new file mode 100644
index 0000000..404b10f
--- /dev/null
+++ b/docs/unsorted_wiki/Engine-disk-footprint.md
@@ -0,0 +1,33 @@
+## Treemaps
+
+For each commit to [flutter/engine](https://github.com/flutter/engine) the Chromebots generate treemaps illustrating the sizes of the individual components within release builds of `libflutter.so`. The treemap is uploaded to Google Cloud Storage and linked from the [LUCI](https://ci.chromium.org/p/flutter/g/engine/console) console: Select a "Linux aot" build and search for "Open Treemap".
+
+Alternatively, a link to a treemap can be constructed as follows:
+
+`https://storage.googleapis.com/flutter_infra_release/flutter/<REVISION>/<VARIANT>/sizes/index.html` where:
+* `<REVISION>` is the git hash from [flutter/engine](https://github.com/flutter/engine) for which you want the treemap, and
+* `<VARIANT>` can be any android release build, e.g. `android-arm-release` or `android-arm64-release`.
+
+## Benchmarks
+
+In [devicelab](https://github.com/flutter/flutter/tree/master/dev/devicelab) we run various benchmarks to track the APK/IPA sizes and various (engine) artifacts contained within. These benchmarks run for every commit to [flutter/flutter](https://github.com/flutter/flutter) and are visible on our [build dashboard](https://flutter-dashboard.appspot.com/). The most relevant benchmarks for engine size are:
+
+* APK/IPA size of Flutter Gallery
+ * Android: `flutter_gallery_android__compile/release_size_bytes`
+ * iOS: `flutter_gallery_ios__compile/release_size_bytes`
+* APK/IPA size of minimal hello_world app
+ * Android: `hello_world_android__compile/release_size_bytes`
+ * iOS: `hello_world_ios__compile/release_size_bytes`
+* Size of bundled `icudtl.dat`
+ * Compressed in APK: `hello_world_android__compile/icudtl_compressed_bytes`
+ * Uncompressed: `hello_world_android__compile/icudtl_uncompressed_bytes`
+* Size of bundled `libflutter.so` (release mode)
+ * Compressed in APK: `hello_world_android__compile/libflutter_compressed_bytes`
+ * Uncompressed: `hello_world_android__compile/libflutter_uncompressed_bytes`
+* Size of VM & isolate snapshots (data and instructions)
+ * Compressed in APK: `hello_world_android__compile/snapshot_compressed_bytes`
+ * Uncompressed: `hello_world_android__compile/snapshot_uncompressed_bytes`
+
+## Comparing AOT Snapshot Sizes
+
+A detailed comparison of AOT snapshot sizes can be performed using the [instructions documented here](https://github.com/flutter/flutter/wiki/Comparing-AOT-Snapshot-Sizes).
\ No newline at end of file
diff --git "a/docs/unsorted_wiki/Engine-pre\342\200\220submits-and-post\342\200\220submits.md" "b/docs/unsorted_wiki/Engine-pre\342\200\220submits-and-post\342\200\220submits.md"
new file mode 100644
index 0000000..d137d97
--- /dev/null
+++ "b/docs/unsorted_wiki/Engine-pre\342\200\220submits-and-post\342\200\220submits.md"
@@ -0,0 +1,79 @@
+The Flutter engine repo runs both pre-submit (before merging) and post-submit (after merging) suites of tests and checks, defined in [`.ci.yaml`](https://github.com/flutter/engine/blob/main/.ci.yaml).
+
+> [!TIP]
+> See [Cocoon Scheduler](https://github.com/flutter/cocoon/blob/main/CI_YAML.md) for details.
+
+Failure to run appropriate tests for changes can (and do) result in the engine tree turning red, which in turn causes an expensive cascade of developers being blocked, investigative work, reverts, and roll-forwards. Where possible, all attempts should be made to run any/all tests _before_ merging a PR. See nuances (below) for exceptional cases.
+
+<!-- Github Wikis do not support an automatic index, sorry -->
+
+* [Pre-submit](#pre-submit)
+* [Post-submit](#post-submit)
+ * [Running post-submits eagerly](#running-post-submits-eagerly)
+
+## Pre-submit
+
+Presubmits run (and are required to be passing) to merge a PR:
+
+<img width="839" alt="Checks" src="https://github.com/flutter/flutter/assets/168174/dff8e2b4-2a71-4929-b163-2ac437675380">
+
+<p>
+
+For example, the `linux_host_engine` target above runs based on the configuration in [`ci/builders/linux_host_engine.json`](https://github.com/flutter/engine/blob/458956228dad9837956aeb78b2988879e764a0b2/ci/builders/linux_host_engine.json).
+
+### Nuances
+
+Typically, pre-submits _always_ run on every PR, and don't need any special attention (other than keeping them green). There are two exceptions:
+
+1. Targets that provide a `runIf: ...` configuration
+2. Changes that impact Clang Tidy
+
+> [!WARNING]
+>
+> `runIf: ...` is a powerful (but dangerous) feature that trades predictability for speed.
+>
+> `runIf` will skip certain targets if a particular file (or commonly, sets of files) are not changed in a given PR.
+>
+> For example, the [`linux_clang_tidy_presubmit`](https://github.com/flutter/engine/blob/991676f3bc9482eaaeb3764b6b835f0e3ff8b3c5/.ci.yaml#L219-L235) target will not run if only markdown (`*.md`) files are changed.
+
+Clang Tidy, on the other hand, is only run on _files that have changed in a given PR_. For example, if you have:
+
+```h
+// impeller/a.h
+struct A {}
+```
+
+... files that import that header, such as `impeller/foo/bar/baz.cc`, will _not_ be run in pre-submit. This means that changing (or updating the `DEPS` of libraries that provide) headers is _not_ a safe change, and will _not_ be detected in pre-submit. As an example, [#48705](https://github.com/flutter/engine/pull/48705) had to be reverted (despite passing all pre-submit checks), because the Clang Tidy _post-submit_ caught a failure.
+
+See [post-submit](#post-submit) below for options to run post-submits eagerly (i.e. as a pre-submit).
+
+## Post-submit
+
+Some (albeit fewer) targets are configured with the property `presubmit: false`:
+
+```yaml
+ - name: Mac mac_clang_tidy
+ recipe: engine_v2/engine_v2
+ presubmit: false
+```
+
+These targets will _not_ show up during a PR, and will not be executed, but can (and do) turn the tree red.
+
+### Running post-submits eagerly
+
+We've intentionally chosen to make it _easier_ to land PRs, at the cost of turning the tree red periodically because post-submit checks catch something that the developer did not intend (or even know about). As a code author (or reviewer), you can optionally turn on post-submits to run eagerly (during pre-submit) by adding the label `test: all` (available only in the `flutter/engine` repo).
+
+Add the label, and push the PR (or a new commit, **the scheduler will not understand the label being added without a commit**):
+
+<img width="311" alt="Screenshot 2023-12-07 at 1 55 48 PM" src="https://github.com/flutter/flutter/assets/168174/9a4d88b8-8e67-4e96-805a-adb21f06a4c2">
+
+<p>
+
+For example, [#48158](https://github.com/flutter/engine/pull/48158) ran _all_ of the checks, including what is typically post-submits:
+
+<img width="319" alt="Screenshot 2023-12-07 at 1 55 39 PM" src="https://github.com/flutter/flutter/assets/168174/67abd263-c516-4240-b82b-a9b691543951">
+
+<p>
+
+> [!WARNING]
+> This increases the use of workers/capacity, and should be discouraged to be used on _all_ PRs.
diff --git a/docs/unsorted_wiki/Engine-repo.md b/docs/unsorted_wiki/Engine-repo.md
new file mode 100644
index 0000000..62ea1ac
--- /dev/null
+++ b/docs/unsorted_wiki/Engine-repo.md
@@ -0,0 +1,32 @@
+This is an index of team-facing documentation for the [flutter/engine repository](https://github.com/flutter/engine/).
+
+- [[Accessibility on Windows]]
+- [[Code signing metadata]] for engine binaries
+- [[Compiling the engine]]
+- [[Comparing AOT Snapshot Sizes]]
+- [[Crashes]]
+- [[Custom Flutter engine embedders]]
+- [[Custom Flutter Engine Embedding in AOT Mode]]
+- [[Debugging the engine]]
+- [[Flutter engine operation in AOT Mode]]
+- [[Flutter Test Fonts]]
+- [[Flutter's modes]]
+- [[Engine Clang Tidy Linter]]
+- [[Engine disk footprint]]
+- [[Engine-specific Service Protocol extensions]]
+- [[Engine pre‐submits and post‐submits]]
+- [[Image Codecs in the Flutter Engine]]
+- [[Impeller]] documentation index
+- [[Life of a Flutter Frame]]
+- [[Reduce Flutter engine size with MLGO]]
+- [[Resolving common build failures]]
+- [[Setting up the Engine development environment]]
+- [[Supporting legacy platforms]]
+- [[Testing Android Changes in the Devicelab on an Emulator]]
+- [[Testing the engine]]
+- [[Testing presubmit Engine PRs with the Flutter framework]]
+- [[The Engine architecture]]
+- [[Upgrading Engine's Android API version]]
+- [[Using the Dart Development Service (DDS) and Flutter DevTools with a custom Flutter Engine Embedding]]
+- [[Using Sanitizers with the Flutter Engine]]
+- [[Why we have a separate engine repo]]
diff --git a/docs/unsorted_wiki/Engine-specific-Service-Protocol-extensions.md b/docs/unsorted_wiki/Engine-specific-Service-Protocol-extensions.md
new file mode 100644
index 0000000..be34b20
--- /dev/null
+++ b/docs/unsorted_wiki/Engine-specific-Service-Protocol-extensions.md
@@ -0,0 +1,203 @@
+The Flutter engine adds several extensions to the [Dart VM Service Protocol](https://github.com/dart-lang/sdk/blob/master/runtime/vm/service/service.md). The Flutter Engine specific extensions are documented here. Applications may also choose to register their [own extensions](https://api.dartlang.org/stable/1.24.3/dart-developer/registerExtension.html).
+
+## List views: `_flutter.listViews`
+
+Tooling requests this very early in the application lifecycle to ask for the details of the root isolate.
+
+No arguments.
+
+Response:
+
+```json
+{
+ "type": "FlutterViewList",
+ "views": [
+ {
+ "type": "FlutterView",
+ "id": "_flutterView/0x1066096d8",
+ "isolate": {
+ "type": "@Isolate",
+ "fixedId": true,
+ "id": "isolates/453229818",
+ "name": "main.dart$main-453229818",
+ "number": 453229818
+ }
+ }
+ ]
+}
+```
+
+## Isolate Restart or Cold Reload: `_flutter.runInView`
+
+The IDE has requested (or the user pressed ‘R’ from the ‘flutter run’ interactive console) a cold reload. For example, this happens when the user presses the green play button.
+
+Used to "cold reload" a running application where the shell (along with the platform view and its rasterizer bindings) remains the same but the root isolate is torn down and restarted with the new configuration. Only used in the development workflow.
+
+The previous root isolate is killed and its identifier invalidated after this call. Callers can query the new isolate identifier using the `_flutter.listViews` method.
+
+Four arguments:
+
+```
+viewId = _flutterView/0x14ba08c68
+mainScript = /path/to/application/lib/main.dart
+packagesFile = /path/to/application/.packages
+assetDirectory = /path/to/application/build/flutter_assets
+```
+
+Response:
+
+```json
+{
+ "type": "Success",
+ "view": {
+ "type": "FlutterView",
+ "id": "_flutterView/0x104e0ab58",
+ "isolate": {
+ "type": "@Isolate",
+ "fixedId": true,
+ "id": "isolates/1056589762",
+ "name": "main.dart$main-1056589762",
+ "number": 1056589762
+ }
+ }
+}
+```
+
+The object in the **view** key is constructed in the same way as the views in the **List Views** method.
+
+
+## Flush UI thread tasks: `_flutter.flushUIThreadTasks`
+
+Does nothing but waits for all pending tasks on the UI thread to be completed before returning success to the service protocol caller.
+
+No arguments.
+
+Response:
+
+```json
+{"type": "Success"}
+```
+
+## Get screenshot of view as PNG: `_flutter.screenshot`
+
+Get the screenshot as PNG of a random Flutter view on the device. The screenshot data will be base64 encoded in the response body.
+
+No arguments.
+
+Response:
+
+```json
+{
+ "type": "Screenshot",
+ "screenshot": "<base64_data>"
+}
+```
+
+## Get screenshot of view as Skia picture: `_flutter.screenshotSkp`
+
+Get the Skia SKP of a random Flutter view on the device. The SKP data will be base64 encoded in the response body.
+
+No arguments.
+
+Response:
+
+```json
+{
+ "type": "ScreenshotSkp",
+ "skp": "<base64_data>"
+}
+```
+
+## Update asset bundle path: `_flutter.setAssetBundlePath`
+
+In case of a hot-reload, the service protocol handles source code updates. However, there may be changes to assets. The DevFS updates assets in an separate directory that needs to be used by the engine.
+
+Two arguments:
+
+```
+viewId = _flutterView/0x15bf057f8
+assetDirectory = /path/to/flutter_assets
+```
+
+Response:
+
+```json
+{
+ "type": "Success",
+ "view": {
+ "type": "FlutterView",
+ "id": "_flutterView/0x104e0ab58",
+ "isolate": {
+ "type": "@Isolate",
+ "fixedId": true,
+ "id": "isolates/1056589762",
+ "name": "main.dart$main-1056589762",
+ "number": 1056589762
+ }
+ }
+}
+```
+
+The object in the **view** key is constructed in the same way as the views in the **List Views** method.
+
+## Get the display refresh rate: `_flutter.getDisplayRefreshRate`
+
+Get the display refresh rate of the actual device that runs the Flutter view. For example, most devices would return an fps of 60, while iPad Pro would return an fps of 120.
+
+One argument:
+
+```
+viewId = _flutterView/0x15bf057f8
+```
+
+Response:
+
+```json
+{
+ "type": "DisplayRefreshRate",
+ "fps": 60.0
+}
+```
+
+## Get Skia SkSL shader artifacts: `_flutter.getSkSLs`
+
+Get Skia SkSL shader artifacts from an actual device that runs the Flutter view. Such artifacts can be used to warm up shader compilations and avoid jank. One has to first tell Flutter to prepare SkSL shaders by `flutter run --cache-sksl` or `flutter drive --cache-sksl`, and trigger some shader compilations by going through some animations/transitions. Otherwise, this service protocol extension may return an empty set of SkSLs.
+
+The key of the returned `SkSLs` map will be Base32 encoded. It should be used directly as the filename of the shader artifact. The value in that map is the Base64 encoded SkSL shader. Once decoded, it should be the content of the shader artifact file.
+
+One argument:
+
+```
+viewId = _flutterView/0x15bf057f8
+```
+
+Response:
+
+```json
+{
+ "type": "GetSkSLs",
+ "SkSLs": {
+ "CAZAAAACAAAAAAAAAAABGAABAAOAAFAADQAAGAAQABSQAAAAAAAAAAAAAABAAAAAEAAGGAA": "eQ=="
+ }
+}
+```
+
+## Estimate raster cache memory usage: `_flutter.estimateRasterCacheMemory`
+
+Estimate the memory usage of both picture and layer raster cache. For each picture or layer cached, there is a rasterized `SkImage` of that picture or layer to speed up future draws. Only `SkImage`'s memory usage is counted as other objects in the cache system are often much smaller compared to `SkImage`. Function `SkImageInfo::computeMinByteSize` is used to estimate the `SkImage` memory usage.
+
+One argument
+
+ ```
+viewId = _flutterView/0x15bf057f8
+```
+
+Response:
+
+```json
+{
+ "type": "EstimateRasterCacheMemory",
+ "layerBytes": 40000,
+ "pictureBytes": 400
+}
+```
diff --git a/docs/unsorted_wiki/Engineering-Productivity.md b/docs/unsorted_wiki/Engineering-Productivity.md
new file mode 100644
index 0000000..54b3601
--- /dev/null
+++ b/docs/unsorted_wiki/Engineering-Productivity.md
@@ -0,0 +1,16 @@
+This is an index of team-facing documentation for topics relating to Engineering Productivity (also known as EngProd, and including topics relating to our CI infrastructure, security, autorollers, etc).
+
+- [[Autorollers]]
+- [[Autosubmit bot]]
+- [[Dashboards]]
+- [[Flutter FirebaseLab Tests]]
+- [[Flutter Infrastructure Foundation]]
+- [[Flutter Installation Bundles]]
+- [[Flutter Self Service Index]]
+- [[Flutter Test Fonts]]
+- [Flutter's Build Infrastructure](https://github.com/flutter/flutter/blob/master/dev/bots/README.md)
+- [[Flutter's repository architecture]]
+- [[GitHub Action Workflows]]
+- [[Infra Ticket Queue]]
+- [[Labeling PRs]]
+- [[New Android Version]]
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Experimental-Add-Flutter-Activity.md b/docs/unsorted_wiki/Experimental-Add-Flutter-Activity.md
new file mode 100644
index 0000000..3fb00b3
--- /dev/null
+++ b/docs/unsorted_wiki/Experimental-Add-Flutter-Activity.md
@@ -0,0 +1 @@
+This document has been moved to https://flutter.dev/docs/development/add-to-app/android/add-flutter-screen
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Experimental-Add-Flutter-Fragment-ViewPager.md b/docs/unsorted_wiki/Experimental-Add-Flutter-Fragment-ViewPager.md
new file mode 100644
index 0000000..944418c
--- /dev/null
+++ b/docs/unsorted_wiki/Experimental-Add-Flutter-Fragment-ViewPager.md
@@ -0,0 +1,43 @@
+_**Everything in this doc and linked from this doc is experimental. These details WILL change. Do not use these instructions or APIs in production code because we will break you.**_
+
+# Add Flutter as a Fragment in a ViewPager
+
+Tabbed navigation often expects the presence of a `ViewPager`, such that the user can swipe left/right to navigate between tabbed pages. This guide shows you how to integrate Flutter as one or more of the pages in your `ViewPager`.
+
+Start by implementing standard tabbed navigation in Android with a `ViewPager`. Consider following [this guide](https://developer.android.com/training/implementing-navigation/lateral).
+
+Next, alter your `FragmentPagerAdapter` to return a `FlutterFragment` for the desired page(s).
+
+```java
+ /**
+ * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
+ * one of the sections/tabs/pages.
+ */
+ public class SectionsPagerAdapter extends FragmentPagerAdapter {
+
+ public SectionsPagerAdapter(FragmentManager fm) {
+ super(fm);
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ if (position == FLUTTER_PAGE_INDEX) {
+ // In this case we construct a FlutterFragment that will run
+ // our main() method in Dart and start with an initial route of "/".
+ return new FlutterFragment.createDefault();
+ } else {
+ // return some other page's Fragment
+ }
+ }
+
+ @Override
+ public int getCount() {
+ // You need to define PAGE_COUNT
+ return PAGE_COUNT;
+ }
+ }
+```
+
+You should now have a Flutter UI as one or more pages within your tabbed navigation.
+
+You may notice a delay between creation of your `FlutterFragment` and the display of your Flutter UI. This delay is caused by the warm-up time for the `FlutterEngine`. This warm-up issue a standard concern that applies to all uses of Flutter, including `FlutterActivity`. The way to minimize this visual delay is to use pre-warmed `FlutterEngine`s. Please see [the page about pre-warming FlutterEngines](https://github.com/flutter/flutter/wiki/Experimental:-Reuse-FlutterEngine-across-screens).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Experimental-Add-Flutter-Fragment.md b/docs/unsorted_wiki/Experimental-Add-Flutter-Fragment.md
new file mode 100644
index 0000000..90a3e54
--- /dev/null
+++ b/docs/unsorted_wiki/Experimental-Add-Flutter-Fragment.md
@@ -0,0 +1 @@
+See [Add a Flutter Fragment to an Android App](https://www.google.com/url?q=https://docs.flutter.dev/add-to-app/android/add-flutter-fragment&sa=D&source=editors&ust=1715879907376746&usg=AOvVaw3G6E8LxUnKldq2WVx0CsZW)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Experimental-Add-Flutter-View.md b/docs/unsorted_wiki/Experimental-Add-Flutter-View.md
new file mode 100644
index 0000000..486a315
--- /dev/null
+++ b/docs/unsorted_wiki/Experimental-Add-Flutter-View.md
@@ -0,0 +1,68 @@
+_**Everything in this doc and linked from this doc is experimental. These details WILL change. Do not use these instructions or APIs in production code because we will break you.**_
+
+# Add a Flutter View
+
+Flutter can be added to an Android app as a single `View` in an `Activity`'s `View` hierarchy.
+
+Before adding Flutter as a single `View`, you should consider if it is possible to add Flutter as a `Fragment` or an `Activity` to reduce your development burden.
+
+* [How to use a `FlutterActivity`](https://github.com/flutter/flutter/wiki/Experimental:-Add-Flutter-Activity)
+* [How to use a `FlutterFragment`](https://github.com/flutter/flutter/wiki/Experimental:-Add-Flutter-Fragment)
+
+If you really need to add Flutter as a single `View` then do the following.
+
+## How to use FlutterView
+
+### Create and start a FlutterEngine
+
+Create and start a `FlutterEngine` by following the appropriate instructions. See the [FlutterEngine page](https://github.com/flutter/flutter/wiki/Experimental:-Reuse-FlutterEngine-across-screens)
+
+### Create a FlutterView and add to layout
+
+```java
+// Instantiate a new FlutterView.
+FlutterView flutterView = new FlutterView(this);
+
+// Add your FlutterView wherever you'd like. In this case we add
+// the FlutterView to a FrameLayout.
+FrameLayout frameLayout = findViewById(R.id.framelayout);
+frameLayout.addView(flutterView);
+```
+
+Your `FlutterView` will not render anything at this point because it is not backed by any particular Flutter app.
+
+### Attach your FlutterView to your FlutterEngine
+
+```java
+flutterView.attachToFlutterEngine(flutterEngine);
+```
+
+At this point you should see your Flutter UI rendering to your `FlutterView`, and touch interaction should work.
+
+### Create and configure platform plugin
+
+TODO(mattcarroll): update this info about the platform plugin
+
+Fundamental communication between the Android platform and your Flutter app takes place over a `MethodChannel` with the name `"flutter/platform"`. For example, Android's `onPostResume()` call must be forwarded over the `flutterPlatformChannel` with the message `"AppLifecycleState.resumed"`.
+
+```java
+ platformPlugin = new PlatformPlugin(activity);
+ MethodChannel flutterPlatformChannel = new MethodChannel(
+ flutterEngine.getDartExecutor(),
+ "flutter/platform",
+ JSONMethodCodec.INSTANCE
+ );
+ flutterPlatformChannel.setMethodCallHandler(platformPlugin);
+```
+
+### Add accessibility support
+
+TODO(mattcarroll)
+
+### Add support for plugins
+
+TODO(mattcarroll)
+
+### Handling orientation change
+
+TODO(mattcarroll)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Experimental-Create-Flutter-Plugin.md b/docs/unsorted_wiki/Experimental-Create-Flutter-Plugin.md
new file mode 100644
index 0000000..7fccfb7
--- /dev/null
+++ b/docs/unsorted_wiki/Experimental-Create-Flutter-Plugin.md
@@ -0,0 +1 @@
+See https://docs.flutter.dev/development/platform-integration/android/plugin-api-migration for the final version of this document.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Experimental-Launch-Flutter-with-non-main-entrypoint.md b/docs/unsorted_wiki/Experimental-Launch-Flutter-with-non-main-entrypoint.md
new file mode 100644
index 0000000..793d7f8
--- /dev/null
+++ b/docs/unsorted_wiki/Experimental-Launch-Flutter-with-non-main-entrypoint.md
@@ -0,0 +1,119 @@
+_**Everything in this doc and linked from this doc is experimental. These details WILL change. Do not use these instructions or APIs in production code because we will break you.**_
+
+# Launch Flutter with non-main entrypoint
+
+Typically, a Flutter app begins execution at the Dart method called `main()`, however this is not required. Developers can specify a different Dart entrypoint:
+
+## FlutterActivity
+
+Two options are available to specify a non-standard Dart entrypoint for a `FlutterActivity`.
+
+### Option 1: AndroidManifest.xml meta-data
+
+Specify your desired Dart entrypoint as `meta-data` in your `AndroidManifest.xml`:
+
+```xml
+<application ...>
+ <activity
+ android:name="io.flutter.embedding.android.FlutterActivity"
+ ...
+ >
+ <meta-data
+ android:name="io.flutter.Entrypoint"
+ android:value="myMainDartMethod"
+ />
+ </activity>
+</application>
+```
+
+Option 2: Subclass `FlutterActivity` and override a method
+
+Override the `getDartEntrypointFunctionName()` method:
+
+```java
+public class MyFlutterActivity extends FlutterActivity {
+ @Override
+ @NonNull
+ public String getDartEntrypointFunctionName() {
+ return "myMainDartMethod";
+ }
+}
+```
+
+## FlutterFragment
+
+Two options are available to specify a non-standard Dart entrypoint for a `FlutterFragment`.
+
+### Option 1: Use FlutterFragmentBuilder
+
+```java
+// Example for a FlutterFragment that creates its own FlutterEngine.
+//
+// Note: a Dart entrypoint cannot be set when using a cached engine because the
+// cached engine has already started executing Dart.
+FlutterFragment flutterFragment = new FlutterFragment
+ .withNewEngine()
+ .dartEntrypoint("myMainDartMethod")
+ .build();
+```
+
+### Option 2: Subclass FlutterFragment
+
+```java
+public class MyFlutterFragment extends FlutterFragment {
+ @Override
+ @NonNull
+ public String getDartEntrypointFunctionName() {
+ return "myMainDartMethod";
+ }
+}
+```
+
+## FlutterEngine
+
+When manually initializing a `FlutterEngine`, you take on the responsibility of
+invoking the desired Dart entrypoint, even if you want the standard `main()` method.
+The following examples illustrate how to execute a Dart entrypoint with a
+`FlutterEngine`.
+
+Example using standard entrypoint:
+
+```java
+// Instantiate a new FlutterEngine.
+FlutterEngine flutterEngine = new FlutterEngine(context);
+
+// Start executing Dart using a default entrypoint, which resolves to "main()".
+flutterEngine
+ .getDartExecutor()
+ .executeDartEntrypoint(
+ DartEntrypoint.createDefault();
+ );
+```
+
+Example using custom entrypoint:
+
+```java
+// Instantiate a new FlutterEngine.
+FlutterEngine flutterEngine = new FlutterEngine(context);
+
+// Start executing Dart using a custom entrypoint.
+flutterEngine
+ .getDartExecutor()
+ .executeDartEntrypoint(
+ new DartEntrypoint(
+ FlutterMain.findAppBundlePath(),
+ "myMainDartMethod"
+ )
+ );
+```
+
+# Avoid Tree Shaking in Release
+
+When you build in release mode, your Dart code is tree-shaken. This means that the compiler removes any Dart code that it thinks you're not using. This includes your special entrypoints. To avoid crashing in release mode as a result of tree-shaking, be sure to place the following `@pragma` above each of your custom entrypoints.
+
+```dart
+@pragma('vm:entry-point')
+void myMainDartMethod() {
+ // implementation
+}
+```
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Experimental-Reuse-FlutterEngine-across-screens.md b/docs/unsorted_wiki/Experimental-Reuse-FlutterEngine-across-screens.md
new file mode 100644
index 0000000..60e2fc6
--- /dev/null
+++ b/docs/unsorted_wiki/Experimental-Reuse-FlutterEngine-across-screens.md
@@ -0,0 +1,71 @@
+_**Everything in this doc and linked from this doc is experimental. These details WILL change. Do not use these instructions or APIs in production code because we will break you.**_
+
+# Re-use a FlutterEngine across screens
+
+A `FlutterEngine` is responsible for executing Dart code, rendering a Flutter UI to a `FlutterView`, and connecting plugins to the core Flutter system. Each instance of `FlutterEngine` comes with a non-trivial "warm-up" time, which sets up a group of dedicated threads and other resources.
+
+Due to the warm-up time of a `FlutterEngine` instance, developers may choose to cache one or more instances of `FlutterEngine`s and re-use those instances across different `Activity`s and/or `Fragment`s in their Android app. This document explains how to cache and re-use `FlutterEngine`s, as well as handle nuances when re-using those `FlutterEngine`s.
+
+## Ensure Flutter is initialized
+
+Flutter must be initialized before instantiating a single `FlutterEngine` instance. To ensure that Flutter is initialized, invoke the following methods before instantiating a `FlutterEngine`.
+
+```java
+FlutterMain.startInitialization(...);
+FlutterMain.ensureInitializationComplete(...);
+```
+
+## Initializing FlutterEngines
+
+A `FlutterEngine` must go through 2 steps to be fully initialized. First, an instance is instantiated. Second, the `FlutterEngine` is instructed to execute a Dart entrypoint, e.g., `main()`.
+
+```java
+// Instantiate a FlutterEngine.
+FlutterEngine engine = new FlutterEngine(appContext);
+
+// Define a DartEntrypoint
+DartExecutor.DartEntrypoint entrypoint = new DartExecutor.createDefault();
+
+// Execute the DartEntrypoint within the FlutterEngine.
+engine.getDartExecutor().executeDartEntrypoint(entrypoint);
+```
+
+To cache one or more `FlutterEngine`s, store the initialized `FlutterEngine`s in a central place that you can access from your desired `Activity`s and `Fragment`s. You could choose to store these `FlutterEngine`s in your `Application` subclass, or you could store them in a statically accessible location of your choice. This choice is up to you, and should consider your specific application architecture and development practices.
+
+## Using a cached FlutterEngine in a FlutterActivity
+
+See the [FlutterActivity page](https://github.com/flutter/flutter/wiki/Experimental:-Add-Flutter-Activity#using-a-cached-flutterengine)
+
+## Using a cached FlutterEngine in a FlutterFragment
+
+See the [FlutterFragment page](https://github.com/flutter/flutter/wiki/Experimental:-Add-Flutter-Activity#using-a-cached-flutterengine)
+
+## Dart entrypoint restrictions
+
+A `FlutterEngine` can only execute a Dart entrypoint one time. Once a `FlutterEngine` has started executing Dart code, it will continue to execute that Dart code until the `FlutterEngine` is disposed. To re-use a `FlutterEngine` that needs to display different experiences at different times you will need to find an approach that accomplishes your goals without restarting Dart execution. Below are a couple options.
+
+### Using a Navigator with routes
+
+The `Navigator` widget in Flutter already has the ability to switch experiences at runtime. We call these different experiences `routes`, and your app is probably already using them. Typically, `routes` are controlled with Dart code, but the Android embedding also has a navigation system channel that allows you to `pushRoute(...)` and `popRoute(...)`. The `NavigationChannel` can be retrieved from a `FlutterEngine` instance.
+
+```java
+myFlutterEngine.getNavigationChannel().pushRoute("myPage");
+```
+
+You'll need to ensure that pushing a route at the desired time has the desired effect in your app. This approach of pushing routes may not work for all apps.
+
+### Using method channels and a custom widget
+
+Custom method channels offer a mechanism to implement your own solution for jumping between experiences. Method channels allow you to send any message you would like to your Flutter app, and then take whatever action you'd like.
+
+Start by [setting up a method channel](https://flutter.dev/docs/development/platform-integration/platform-channels) with the navigation messages that you're interested in sending.
+
+Once your method channel is setup, respond to your messages on the Flutter/Dart side by switching out your top-level widget, or by switching out any other widget in your hierarchy that makes sense for your use-case.
+
+TODO(mattcarroll): add a code example here.
+
+## Re-using FlutterEngines across screens
+
+Re-using the same `FlutterEngine` across screens that are significantly separated should work as described above. However, developers must consider the possibility that one Flutter experience might show through to another. For example, consider an `Activity` that displays `flutterEngineA`, which then launches a native Android dialog, and that dialog is a `Fragment` that also displays `flutterEngineA`. This situation won't work because both the dialog and the underlying `Activity` are simultaneously visible and a single `FlutterEngine` can only render a single UI at a given moment.
+
+When two Flutter experiences are shown back to back, you must carefully consider the possibility that Flutter might be instructed to show two different UIs at the same time. If such a situation occurs, you will need to switch your strategy to cache two `FlutterEngine`s instead of one, or you'll need to allow a new `FlutterEngine` to be instantiated for the second Flutter experience.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Experimental-Use-old-plugins-with-new-embedding.md b/docs/unsorted_wiki/Experimental-Use-old-plugins-with-new-embedding.md
new file mode 100644
index 0000000..25d7f59
--- /dev/null
+++ b/docs/unsorted_wiki/Experimental-Use-old-plugins-with-new-embedding.md
@@ -0,0 +1,65 @@
+Flutter's v2 Android embedding includes reflection code that should find and register all plugins listed in your `pubspec.yaml` file without any intervention on your part. If your desired plugins are not registered automatically, please file an issue.
+
+### Partial plugin registration
+
+To prevent Flutter from registering all plugins and instead register only specific plugins of your choosing, do the following.
+
+First, construct a `FlutterEngine` either as a [cached `FlutterEngine`](https://flutter.dev/docs/development/add-to-app/android/add-flutter-screen#step-3-optional-use-a-cached-flutterengine), or by overriding `provideFlutterEngine()` in [`FlutterActivity`](https://api.flutter.dev/javadoc/io/flutter/embedding/android/FlutterActivity.html#provideFlutterEngine-android.content.Context-) or [`FlutterFragment`](https://api.flutter.dev/javadoc/io/flutter/embedding/android/FlutterFragment.html#provideFlutterEngine-android.content.Context-) such that the `FlutterEngine` instance doesn't automatically register plugins.
+
+```java
+FlutterEngine flutterEngine = new FlutterEngine(
+ context,
+ FlutterLoader.getInstance(),
+ new FlutterJNI(),
+ dartVmArgs, // or an empty array if no args needed
+ false // this arg instructs the FlutterEngine NOT to register plugins automatically
+);
+```
+
+Second, register the plugins that you want. If you overrode `provideFlutterEngine()` in `FlutterActivity` or `FlutterFragment` then override `configureFlutterEngine()` to add plugins:
+
+```java
+public void configureFlutterEngine(FlutterEngine engine) {
+ // The ShimPluginRegistry is how the v2 embedding works with v1 plugins.
+ ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(
+ flutterEngine,
+ new PlatformViewsController()
+ );
+
+ // Add any v1 plugins to the shim
+ // MyV1Plugin.registerWith(
+ // shimPluginRegistry.registrarFor("com.my.package.MyV1Plugin")
+ // );
+
+ // Add any v2 plugins that you want
+ // engine.getPlugins().add(new MyPlugin());
+}
+```
+
+If you went with the cached `FlutterEngine` approach instead of `FlutterActivity` and `FlutterFragment` method overrides, then you can add plugins whenever you'd like. You can even add them immediately after instantiating your `FlutterEngine`. However, be advised that some v1 plugins expect an `Activity` to be available immediately upon registration. This will not be the case unless you add plugins in `configureFlutterEngine()` as shown earlier.
+
+```java
+// Instantiate cached FlutterEngine.
+FlutterEngine flutterEngine = new FlutterEngine(
+ context,
+ FlutterLoader.getInstance(),
+ new FlutterJNI(),
+ dartVmArgs, // or an empty array if no args needed
+ false // this arg instructs the FlutterEngine NOT to register plugins automatically
+);
+
+// Immediately add plugins to the cached FlutterEngine.
+// The ShimPluginRegistry is how the v2 embedding works with v1 plugins.
+ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(
+ flutterEngine,
+ new PlatformViewsController()
+);
+
+// Add any v1 plugins to the shim
+// MyV1Plugin.registerWith(
+// shimPluginRegistry.registrarFor("com.my.package.MyV1Plugin")
+// );
+
+// Add any v2 plugins that you want
+// engine.getPlugins().add(new MyPlugin());
+```
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Fast-Start.md b/docs/unsorted_wiki/Fast-Start.md
new file mode 100644
index 0000000..6349a10
--- /dev/null
+++ b/docs/unsorted_wiki/Fast-Start.md
@@ -0,0 +1,5 @@
+# Fast Start
+
+Fast Start is an experimental development for Flutter on Android that should startup faster on slower hardware. The APK used to install Flutter will only contain a minimal bootstrap application, which will require it to be rebuilt and reinstalled less frequently. This workflow may not work if you're using android_alarm_manager, or other plugins which start background isolates.
+
+Fast start can be used by providing --fast-start as a command line option to flutter run. The first time this is used an APK must still be built, but on subsequent runs it will start up much faster. Note switching between --fast-start and regular development modes will still require the APK to be rebuilt.
\ No newline at end of file
diff --git "a/docs/unsorted_wiki/Flutter\047s-modes.md" "b/docs/unsorted_wiki/Flutter\047s-modes.md"
new file mode 100644
index 0000000..5300a72
--- /dev/null
+++ "b/docs/unsorted_wiki/Flutter\047s-modes.md"
@@ -0,0 +1,42 @@
+We aspire to reach a state where developers are able to use the following modes for running Flutter code. Our tools should not expose any other combinations of features or modes. Each mode corresponds to a separate build of the engine that we provide.
+
+1. **Debug** mode on device (including simulators, emulators): Turns on all the assertions in the world, includes all debugging information, enables all the debugger aids (e.g. observatory) and service extensions. Optimizes for fast develop/run cycles. Does not optimize for execution speed, binary size, or deployment. Used by `flutter run`. Built with `sky/tools/gn --android` or `sky/tools/gn --ios`. Also sometimes called "**checked** mode" or "**slow** mode".
+
+2. **Release** mode on device (excluding simulators, emulators): Turns off all assertions, strips as much debugging information as possible, turns off all the debugger tools. Optimizes for fast startup, fast execution, small package sizes. Disables any debugging aids. Disables service extensions. Intended for deployment to end-users. Used by `flutter run --release`. Built with `sky/tools/gn --android --runtime-mode=release` or `sky/tools/gn --ios --runtime-mode=release`.
+
+3. **Profile** mode on device (excluding simulators, emulators): Same as release mode except that profile-mode service extensions (like the one that turns on the performance overlay) is enabled, and tracing is enabled, as well as the minimum required to support using the tracing information (e.g. observatory can probably connect to the process). Used by `flutter run --profile`. Built with `sky/tools/gn --android --runtime-mode=profile` or `sky/tools/gn --ios --runtime-mode=profile`. Not available on simulators or emulators because profiling on simulators is not representative of real performance.
+
+4. Headless **test** mode on desktop: Same as debug mode except headless and for desktop platforms. Used by `flutter test`. Built with `sky/tools/gn`.
+
+In addition, for our purposes during development, each of the above should be able to be built in two modes: optimized, which is what end-developers use, and unoptimized, which is what we would use when debugging the engine. Optimized is the default, unoptimized engines are built by adding `--unoptimized` to the arguments.
+
+
+### Artifact differences
+
+Debug mode produces a script snapshot, which is basically tokenized sources. Comments and whitespace are missing, literals are canonicalized. There is no machine code, tree-shaking or obfuscation.
+
+Profile and release modes produce app-aot snapshots, either as dylibs (iOS and Fuchsia) or 4-tuples of blobs (Android). Both include machine code for all the compiled functions, code metadata, method dictionaries, class and library structures, types, etc. The machine code is fully position-independent. The dylib additionally has DWARF debug info such as function names and source positions. There is tree-shaking. Obfuscation is opt-in.
+
+### Matrix
+
+The following axes, as described above, exist:
+
+* debug, release, profile
+* opt, unopt
+* iOS, Android, macOS, Linux, Windows
+
+In addition, some versions can select alternative graphics backends:
+
+* iOS can choose between: OpenGL, software
+* Android can choose between: Vulkan, OpenGL, software
+* macOS can choose between, OpenGL, software, headless (debug only)
+* Linux can choose between: OpenGL, software, headless (debug only)
+* Windows can choose between: OpenGL, software, headless (debug only)
+
+Separate from all the above, Fuchsia has the following modes:
+
+* AOT, JIT, interpreted DBC
+* Observatory present, observatory absent
+* opt, unopt
+
+In total therefore there are 3×2×(2+3+2+2+2) + 1×2×3 + 3×2×2 modes, which is 84 modes.
diff --git "a/docs/unsorted_wiki/Flutter\047s-repository-architecture.md" "b/docs/unsorted_wiki/Flutter\047s-repository-architecture.md"
new file mode 100644
index 0000000..ba7cea1
--- /dev/null
+++ "b/docs/unsorted_wiki/Flutter\047s-repository-architecture.md"
@@ -0,0 +1,30 @@
+Flutter uses a deeply multi-repository architecture, which includes, among many others, the following:
+
+* github.com/flutter/flutter
+* github.com/flutter/engine
+* github.com/flutter/packages
+* github.com/dart-lang/sdk
+* llvm.googlesource.com
+* skia.googlesource.com
+* swiftshader.googlesource.com
+* android.googlesource.com
+* fuchsia.googlesource.com
+* boringssl.googlesource.com
+* chromium.googlesource.com, which mirrors a large number of further repositories
+* flutter.googlesource.com, which mirrors a large number of further repositories
+
+There are, all told, hundreds of repositories involved in Flutter's development.
+
+Generally, the boundaries between repositories represent integration points. For example, Dart is integrated into Flutter's engine, but is also used in other contexts. Dart therefore is in its own repository, separate from Flutter's engine. Flutter's engine is integrated into Flutter's tooling as a prebuilt binary, and therefore they are in separate repositories.
+
+Our current architecture enables some important features, for example:
+
+ - flutter/packages can be tested against different versions of Flutter with a clean integration point.
+ - flutter/flutter has an unambiguous integration with the Engine, including on release branches.
+ - flutter/flutter is entirely code covered by a single license. (This is why that repo does not need a license script the way flutter/engine does.)
+ - flutter/flutter can be delivered to developers in a way that they can step through the code in a debugger without significant parts of the repo providing distractions.
+ - flutter/flutter is easy for new contributors to hack on, providing an easy on-ramp to grow the community from where people can get more deeply involved, e.g. with the engine.
+ - flutter/engine can select specific versions of dependencies (e.g. Skia) rather than having to merge in the actual dependency code.
+ - flutter/engine binaries can be built in the same way for CI testing as for release.
+
+Some repositories that were historically split have been merged or are planned to be merged. For example, we have merged our various packages and plugins into a single repository (flutter/packages); previously, they were each in individual packages, then eventually two (plugins and packages). Combining these makes sense as they share near-identical CI testing and development tooling. Another example is flutter/buildroot and flutter/engine, which we plan to merge in due course (previously the buildroot was separated for ease of integration with Fuchsia).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Flutter-CLI-crash-reporting.md b/docs/unsorted_wiki/Flutter-CLI-crash-reporting.md
new file mode 100644
index 0000000..99a5015
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-CLI-crash-reporting.md
@@ -0,0 +1 @@
+See [Flutter Crash Reporting](https://www.google.com/url?q=https://docs.flutter.dev/reference/crash-reporting&sa=D&source=editors&ust=1715879907377300&usg=AOvVaw00lY-HSrn9NegCyjA5TTiG)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Flutter-Cherrypick-Process.md b/docs/unsorted_wiki/Flutter-Cherrypick-Process.md
new file mode 100644
index 0000000..6c48c87
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-Cherrypick-Process.md
@@ -0,0 +1,83 @@
+# Flutter Cherry-pick Process
+
+## Goal
+With branching and branch testability being supported for Flutter & Dart releases, cherry-picking fixes is the preferred method to address issues for released software (beta and stable channels.) Stability of the release will be the overarching goal, so only highly impactful and critical cherrypicks will be allowed across Dart and Flutter. This document outlines the process for requesting and approval of cherrypicks.
+
+**Note: This process applies to regressions from the previous release or serious bugs otherwise introduced by the current release. Feature work is not considered for cherry-picking and will need to wait for the next release.**
+
+## Automatically Creates a Cherry Pick Request
+Eligibility:
+1. If your cherry pick is expecting to have a merge conflict, please skip this section and follow instructions in the FAQ section below to manually open a cherry pick request instead. (e.g. PRs that contain changes to .ci.yaml files are very likely to hit a merge conflict)
+2. The framework PR to be cherry picked needs to have a base commit later than [01/24/2024](https://www.google.com/url?q=https://github.com/flutter/flutter/pull/142058&sa=D&source=docs&ust=1706904517596608&usg=AOvVaw3cFfw8vyiBtY3EzM_N-PEi), and the engine PR to be cherry picked has a base commit later than [02/06/2024](https://github.com/flutter/engine/pull/50265)
+3. The target branch is either [beta](https://github.com/flutter/flutter/blob/beta/bin/internal/release-candidate-branch.version) or [stable](https://github.com/flutter/flutter/blob/stable/bin/internal/release-candidate-branch.version). (not a new beta branch that isn't yet created)
+
+For automatic cherry pick:
+1. Add the `cp: beta` or `cp: stable` label to the pull request on flutter/flutter master. (you can find [beta](https://github.com/flutter/flutter/blob/beta/bin/internal/release-candidate-branch.version) and [stable](https://github.com/flutter/flutter/blob/stable/bin/internal/release-candidate-branch.version) candidate branch info by following the respective links)
+2. Wait about 30 seconds.
+3. If automatic cherry pick succeeds (no merge conflict), a new pull requested will be created and you will receive an email. Edit the cherry-pick details in the PR description of the generated pull request, and a release engineer will follow up on the request.
+4. If automatic cherry pick fails, a comment will be left on the original PR. In this case you will need to follow instructions in the FAQ section below to manually create a cherry pick PR.
+
+For manual cherry pick:<br >
+refer to the FAQ section below
+
+## Frequently asked questions
+
+### How do I request a cherry-pick?
+To request a cherry-pick, utilize the [issue template](https://github.com/flutter/flutter/issues/new?assignees=&labels=cp%3A+review&template=7_cherry_pick.yml&title=%5BCP%5D+%3Ctitle%3E).
+
+### Who can request a cherry-pick?
+
+Anyone can request a cherry-pick.
+
+### When do I request a cherry pick?
+
+- Whenever you have identified a commit on the main/master that fixes an issue that is present on the beta or stable branch.
+- Whenever you need to update a pub dependency that fixes an issue that is present on the beta or stable branch (see [Updating dependencies](https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter#to-update-a-single-dependency-for-cherrypicks))
+
+### Who reviews and approves cherry-pick requests?
+
+The release engineering team will assign a cherry-pick reviewer who is an expert in the area of the code that your cherry-pick may affect.
+
+### Lifecycle of a cherry-pick
+
+1. The cherry-pick requester opens a cherry-pick pull request to the [beta](https://github.com/flutter/flutter/blob/beta/bin/internal/release-candidate-branch.version) or [stable](https://github.com/flutter/flutter/blob/stable/bin/internal/release-candidate-branch.version) **candidate** branch (follow the respective link to find the branch name)
+2. A cherry-pick issue is filled out completely and created utilizing the [cherry-pick template](https://github.com/flutter/flutter/issues/new?assignees=&labels=cp%3A+review&template=7_cherry_pick.yml&title=%5BCP%5D+%3Ctitle%3E) in the [flutter/flutter](https://github.com/flutter/flutter) repository.
+3. The release engineering team is notified that a cherry-pick request is in queue and assigns an appropriate reviewer who is an expert in the area who will review the cherry-pick issue and associated cherry-pick pull request.
+4. The release engineering team applies the `merge-to-beta` or `merge-to-stable` label.
+5. The cherry-pick request then enters one of the following states.
+ 1. Approved: The reviewer has approved the cherry-pick and cherry-pick pull request.
+The release engineering team will merge the cherry-pick pull request and apply the `cp: merged` label to the cherry-pick issue.
+ 2. Denied: The reviewer will comment on the cherry-pick issue why the cherry-pick is denied.
+The release engineering team will close the cherry-pick issue and associated cherry-pick pull request.
+6. The cherry-pick is picked up in the next release period.
+7. Once the cherry-pick has been added to a release, the release engineering team will close the cherry-pick issue.
+
+### This is my first cherry-pick, how do I do it?
+
+This is the perfect opportunity for you to learn and add cherry-picking to your toolbox. A typical cherry-pick request follows a process similar to the below.
+
+**Note: Commands that are wrapped with < > are variables that apply to your specific situation.**
+
+1. `git checkout <master/main>`
+2. `git fetch`
+3. `git pull` // ensure all changes from master/main have been pulled
+4. `git checkout <candidate branch you want to cherry-pick to>`
+5. `git checkout -b <your local branch name for cherry-picking>`
+6. `git cherry-pick <your commit hash>`
+7. `git push --set-upstream origin <your branch name>`
+
+### What happens if my cherry-pick PR has merge conflicts?
+
+In the case that your cherry-pick commit has a merge conflict, it is up to you to resolve it. If you can not resolve it, reach out to the original PR author who may be able to help resolve the conflict.
+
+### What if the issue is on a previous stable?
+
+If you discovered an issue on a X version that is no longer on the stable channel, we can still hotfix it in. For stables, we are more likely to do this as that is what most Flutter developers use.
+
+Generally, if the stable is relatively fresh, such as we recently shipped the new stable and a large chunk of developers have not migrated, we would prioritize backporting a fix.
+
+### When should I prioritize fixes to beta instead of stable?
+
+Generally, we ship every third beta to stable, and prioritize fixes to those branches as those are soon to be stable. We have no official comms planned around this yet, but will encourage developers on Discord to try out this beta.
+
+In the last few weeks of a stable, we may opt to only release hotfixes to the beta instead of stable. At end of 2023, we're planning to have more automation around releases, which will allow us to ship hotfixes to both channels easily, and this will be less of a concern.
diff --git a/docs/unsorted_wiki/Flutter-FirebaseLab-Tests.md b/docs/unsorted_wiki/Flutter-FirebaseLab-Tests.md
new file mode 100644
index 0000000..41a4080
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-FirebaseLab-Tests.md
@@ -0,0 +1,95 @@
+## FirebaseLab Tests
+
+Flutter FirebaseLab tests are used to build flutter applications and to run them using different versions of emulators and physical devices.
+
+These tests consist of two parts:
+
+* [Firebaselab recipe](https://flutter.googlesource.com/recipes/+/refs/heads/main/recipes/firebaselab/firebaselab.py)
+* [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml#L413) configuration file
+
+The recipe supports three properties: **physical\_devices** to specify actual hardware connected to firebase infra to run tests, **virtual\_devices** to specify the virtual devices(avd) to use and **task\_name** for selecting the integration test to build.
+
+physical\_device and virtual\_device are strings that take the **MODEL\_ID** format defined by firebase. Use `gcloud firebase test android models list` (assuming you have [gcloud](https://cloud.google.com/sdk/gcloud) installed) for a list of possible model id’s.
+
+Task name is the subdirectory of [dev/integration\_tests](https://github.com/flutter/flutter/tree/master/dev/integration_tests) (e.g. android\_views, channels, etc ) that contains the integration test to build.
+
+The following is an example of the properties format:
+
+```json
+physical_devices: >-
+ [
+ "--device", "model=oriole,version=33",
+ "--device", "model=griffin,version=24"
+ ],
+virtual_device: >-
+ [
+ "--device", "model=Nexus5,version=21",
+ "--device", "model=Nexus6P,version=27"
+ ]
+```
+
+The recipe executes the following workflow:
+
+
+
+1. Reads **physical\_devices** property and if not empty it builds an app bundle for the integration test referenced by **task\_name**.
+2. Reads **virtual\_devices** property and if not empty it builds an apk for the integration test. Apks are built for virtual\_devices to prevent them from picking the wrong binary and using runtime translation.
+3. Uses the `gcloud firebase` command to upload the binary and delegates the execution of the test to firebase lab.
+4. The gcloud command blocks until the execution is complete
+5. The recipe reads the logcat and the test succeeds if no `E/flutter` is found in the logcat file.
+6. If the test fails it retries for maximum of 3 times
+7. The recipe also supports [infra\_failure\_codes = (1, 15, 20)](https://firebase.google.com/docs/test-lab/ios/command-line#script-exit-codes) to prevent firebaselab infrastructure failures from closing the tree.
+
+
+## Prerequisites (googlers)
+
+This is only required for manually running the steps
+
+* [Install gcloud CLI](https://cloud.google.com/sdk/docs/install)
+* Request access on demand write access to `flutter-infra-staging`
+* Build the application and run the gcloud command. You can check the [firebaselab recipe](https://flutter.googlesource.com/recipes/+/refs/heads/main/recipes/firebaselab/firebaselab.py) for the details.
+
+## Adding a Firebaselab Test
+
+* Step 1: Select the integration test to use from [dev/integration\_tests](https://github.com/flutter/flutter/tree/master/dev/integration_tests)
+* Step 2: Select the physical and virtual devices to run the test on. You can use `gcloud firebase test android models list` and `gcloud firebase test ios models list` to find the available devices.
+* Step 3: Write a .ci.yaml target configuration in the [flutter/flutter .ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml) file providing the task\_name, virtual\_devices, physical\_devices and recipe properties.
+* Step 4: Create a PR with the new target. The presubmit checks will run basic validations on yaml format.
+* Step 5: Wait for the change to propagate.
+* Step 6: Fix any potential issues and remove `bringup: true` to validate the changes end to end in presubmit.
+
+The following is an example of a full target: **Linux firebase_oriol33_abstract_method_smoke_test**. By convention the name should follow the format “<host os> firebase\_<model id>\_<taskname>”
+
+In the example below `recipe: firebaselab/firebaselab` refers to the recipe to use to run the test and should probably always be the same, `dependencies` refers to the android sdk to use for the test, in general all tests should use the same android sdk unless specifically testing something that changes across android sdk versions, `task_name` refers to the integration test to use see the definition above for where to find the code that is run, `physical_devices` `virtual_devices` are defined above.
+
+```yaml
+ - name: Linux firebase_oriol33_abstract_method_smoke_test
+ # This is required for new tests to allow the
+ # configuration to propagate.
+ bringup: true
+ recipe: firebaselab/firebaselab
+ # The unit for timeout is minutes. 1 hour is enough
+ # for most use cases unless the test is using a device
+ # with low capacity and the queue is expected to be
+ # longer than 30 minutes.
+ timeout: 60
+ Properties:
+ # These top level dependencies are shared between firebaselab
+ # tests. For the current values you can copy paste the
+ # dependencies from another firebaselab target. Changing these
+ # values are only necessary when upgrading to a new android sdk
+ # version.
+ dependencies: >-
+ [
+ {"dependency": "android\_sdk", "version": "version:33v6"}
+ ]
+ # Use for metrics collection and to be able to filter tasks**
+ # in swarming.
+ tags: >
+ ["firebaselab"]
+ task_name: abstract_method_smoke_test
+ physical_devices: >-
+ ["--device", "model=oriole,version=33"]
+ virtual_devices: >-
+ []
+```
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Flutter-Framework-Gardener-Rotation.md b/docs/unsorted_wiki/Flutter-Framework-Gardener-Rotation.md
new file mode 100644
index 0000000..ee699ad
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-Framework-Gardener-Rotation.md
@@ -0,0 +1,181 @@
+The framework gardener role currently makes use of several tools and communication channels only available to Google employees. See [On-call scheduling for Flutter] for an overview of work required to make this process more open.
+
+## Objective
+
+The framework gardener's role is to eliminate impediments to engineering velocity on the framework, tool, and related teams working on the [Flutter framework][flutter/flutter] repository, to unblock rolls into the repository, and to minimize the latency with which critical fixes arrive in our customers' hands. To that end, we maintain a rotation so that there is a clear owner and point of contact for Flutter repo issues, and so that engineers can plan their work around an assumption of reduced productivity during their rotation.
+
+The framework gardener's core responsibilities are:
+* Keep the framework tree green to keep developers, upstream autorollers, and the release process unblocked.
+* Ensure others are informed of issues which may affect them.
+* Ensure bugs/investigations are delegated and taken care of by the right person, which may be themself.
+
+Gardener responsibility does not include:
+* Work beyond working hours. **Tree redness does not trump work-life balance.** Contributors may escalate issues outside of the gardener's working hours, but the gardener is not responsible for responding until the next work day.
+* Personally investigate issues or fix bugs, unless the right person to investigate and fix is the gardener themself.
+
+As such, the gardener should use their badge and hat to:
+* Aggressively roll back problematic changes.
+* Delegate investigations/issues to the right engineer(s) on the team, and follow-up.
+* Detect infrastructure issues that cause test failures and flakiness and report to the infrastructure team.
+* Notify the engine sheriff when an engine roll causes the [flutter/flutter] tree to close.
+* Proactively communicate issues/status to others upstream/downstream.
+
+## Rotation
+Rotations are managed in the [Rotations tool]. The [Framework Gardener calendar] can be added to your calendar. Both of these links are currently Google internal.
+
+Team members are not expected to participate in multiple Flutter rotations. For example, those on the engine rotation are exempt and vice versa. New team members should be added to a single rotation, depending on the team to which they belong.
+
+Before heading out on holiday, or if you get to your shift and find you can't do it, check the upcoming rotations and find a volunteer to swap shifts with while you're out. During some holiday periods when many team members are out and activity is particularly low on the tree, it may not be essential to have a dedicated gardener.
+
+## Periodic scan
+Open the [Framework build dashboard].
+1. If the tree is closed, identify which test shards are failing. If there are yellow boxes with an exclamation point, that means that the failed tests are automatically re-running themselves. The tree is not fully closed until there are solid red boxes or red boxes with exclamation points. You can begin investigation as soon as you notice the tree going red, but it is suggested not to begin escalation until re-runs have completed.
+1. Identify which test within the shard failed, and try to locate obvious errors or failures in the logs. This procedure will be different if the failure is in [devicelab](#handling-a-devicelab-failure) or [LUCI](#handling-a-luci-failure).
+1. Update the [tree-status channel] on [Discord] with an announcement that the tree is red, the affected shard(s), and the failure message from the logs.
+1. Cross reference the failure with the commit in question. If it is obvious the PR in question caused the failure, [revert](#reverting-commits) immediately.
+1. Search through the [Flutter issues] for any existing issues with the same error. Some flakes are not specific to a specific test suite, but are nonetheless flakes and should not require a revert.
+1. If the failure is happening on an engine roll, [escalate to the engine sheriff](#handling-an-engine-roll-failure).
+1. If the test failure is not a known flake or infrastructure issue, [revert it immediately](#reverting-commits).
+1. Escalate to the [test owner][TESTOWNERS].
+1. When the tree reopens, announce it in the [tree-status channel] on [Discord].
+1. If the tree is open, investigate green exclamation point squares, which are tests that have failed, rerun, and then passed. They may be [flaky and warrant an investigation](#handling-a-flaky-test). They also may have hit an intermittent infrastructure issue.
+1. Check [benchmarks](#handling-a-benchmark-regression) for regressions. File issues and escalate.
+
+Unmute the [tree-status channel] and [hackers-infra channel] on [Discord]. Contributors are encouraged to escalate tree closures to you. Respond there as quickly as possible.
+
+### Escalation
+Escalate to the [test owner][TESTOWNERS]. File GitHub issues if none are already open.
+1. The title should include the name of the failing test.
+1. Assign the issue to the test owner with a `P1` priority.
+1. Add the `team` label.
+1. Include links to the failing tests. Download any relevant logs and attach them to the issue, even if the link to the failing tests has the same information. This prevents the issues from becoming stale when logs are expunged.
+1. @ mention the test owner in the [tree-status channel] on [Discord] with a link to the GitHub issue. If they are unavailable, escalate to another team member. Continue escalating until someone acknowledges the issue is being investigated.
+1. Investigation updates and questions should not be posted in the [tree-status channel]. This channel should remain free of noise to discourage notification muting.
+
+### Handling a devicelab failure
+See [Why Flutter Devicelab Tests Break].
+1. If devicelab square (Android, Apple, or Windows icon) is red or yellow, click the square and click the _Download All Logs_ button. Note these logs may include the output from several test runs, since they will automatically rerun on failure to detect flakes.
+1. If many different tests are failing on the same agent, this may be an indication of infra failure. File an [infrastructure ticket] if needed.
+1. Note that phones occasionally require manual reboot. If this occurs, escalate on the [hackers-infra channel] on [Discord] file an [infrastructure ticket].
+
+### Handling a Firebase Test Lab failure
+The devices in the Firebase test lab are not managed by the Flutter infra team.
+
+1. The LUCI logs will typically list the device that the test failed for. Check the logs for a Firebase link that will contain logs from the failing device. [Example log](https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8772117221814493585/+/u/test_execution/gcloud_firebase__2_/stdout).
+1. If the failure described in the logs does not appear to be related to a recent commit, contact the [omnilab-ftl-flutter](https://groups.google.com/a/google.com/g/omnilab-ftl-flutter/about) group.
+1. Alternatively, check the LUCI log for instructions on how to notify Firebase via Slack.
+
+### Handling a LUCI failure
+1. If Chrome icon (LUCI) square is red, click the red square and _Open Log for Build #1234_ to see the failing test in LUCI.
+1. File an [infrastructure ticket] if needed.
+
+### Reverting commits
+If the test failure is not a known flake or infrastructure issue, revert the commit immediately.
+
+If the commit landed within the last 24 hours:
+1. Locate the patch PR and add the `Revert` label. Our infrastructure will automatically create a revert PR and land it.
+
+If the commit could not be automatically reverted:
+1. Create a revert pull request from the bad merged pull request via the "Revert" button at the bottom.
+1. Add the `revert` label to the PR to allow the bot to land it without approval.
+1. Add the original author to the as a reviewer so they are notified. If they are not a member of [flutter-hackers], also include the original pull request reviewers.
+1. In "Related Issues" add a link to any GitHub issues that describe the failure.
+1. @ mention the author in the [tree-status channel] with a link to the revert pull request. If they are unavailable, send an email. If they are not a [Flutter committer][flutter-hackers] and are not on Discord, escalate to the reviewers of the original pull request.
+1. As soon as the `analyze-linux` test passes, merge it. You do not need to wait for all presubmit tests to pass, or for an LGTM.
+1. Reopen any issues that were automatically closed by the original commit. Add a comment: "This has been reverted with pull request #1234."
+
+### Handling a flaky test
+Flakes are particularly productivity-killing since they silently trigger all of the key problems the gardener is meant to prevent: red tree status. As such flakes should be treated in the same way a reproducible breakage is treated -- as though it were always failing.
+
+If you see a test failure that appears to be a flake:
+1. Re-trigger the test.
+1. If the build fails to fail (i.e. "passes"), it's a flake and should be treated as a failing test.
+1. Follow the instructions in this guide to find or create a new GitHub issue.
+1. If the test has neither been recently introduced, nor recently changed, disable the test. The test owner will turn it back on or delete the test as part of their investigation.
+
+### Handling an engine roll failure
+If the failure is happening on an engine roll, contact the [Engine Sheriff chat] so the engine sheriff can locate and revert the engine or upstream commit(s) causing the issue.
+
+Coordinate with the engine sheriff on pausing and unpausing the [Engine to Framework autoroller] during this process.
+
+### Handling a benchmark regression
+Check [framework benchmarks] for regressions. File issues and escalate.
+
+Review [engine benchmarks] for any regressions. Choose the _Triage_ item on the left, and walk through new issues. For each commit that caused a regression you'll see marks in columns corresponding to the regression --- those marks indicate whether the results at that commit are low or high.
+
+Click a mark, and you'll be taken to a popup with the plot of recent data around the commit in question. From here you can:
+1. Choose _View Dashboard_ to see long term trends around the commit. (When in the dashboard you can use the WASD keys to zoom in and out).
+1. Click the commit to get a sub-popup with a link that can take you to the commit in question.
+
+If there is a new regression not deemed to be noise in a benchmark:
+1. [Add a new issue to Github][new issue]
+1. Label the issue with `team: benchmark`, and `severe:regression` labels. Label it with the `severe:performance` label if the benchmark is a performance one.
+1. Paste a link to the performance plot from skia-perf into the bug. This is a "permalink", and will help others see what you're seeing.
+1. Determine the CL at which the regression started and label with which part of the codebase might be causing the problem and whoever submitted the CL if possible.
+1. Attempt to determine the team who should receive the issue. Usually the suspect roll is a clue.
+1. Assign an initial priority.
+ 1. Reserve `P0` for regressions significantly (1.5x or more) above the noted baselines, or with regular spikes that suggests a possible issue with the device lab.
+ 1. Reserve `P2` for issues where slow creep appears to be happening.
+1. Note the bug ID in the comment where you address the regression in skia-perf and reject the benchmark (click the _X_).
+1. Notify the target teams where you've identified regressions on [Discord], and include links. When you do so, make sure you @ someone (ideally the TL for that team) so that it's noticed.
+1. Notify the Flutter engine sheriff and Flutter Hackers Discord chats with any issues you file.
+If it's noise, accept the benchmark by clicking the checkbox in the triage details popup.
+
+## Filing an infra ticket
+1. Open a [new infra issue].
+1. Add a descriptive title. A message like "Add a LUCI builder for linux web engine" or "Debug gallery startup" is much more helpful than "quick request" or "test doesn't work?".
+1. Clearly describe the issue or request in the description field. For example, if a ticket is requesting running several commands on the bots, the ticket should explain why, what commands are needed, on which bots and how to verify the results.
+1. Add the `team: infra` label and a priority label:
+ * `P0` (immediate): Such as a build break or regression.
+ * Fix as soon as possible, before any other work.
+ * Should be very rare, and only used when critical work is blocked without a workaround.
+ * Ideally is downgraded to P1 as soon as a workaround is found.
+ * `P1` (high): Users are suffering but not blocked; or, an immediate-level incident will happen if this is not addressed (e.g., almost out of quota).
+ * Fix today (8 business hours).
+ * Degraded service (Build bots work but are slow to start).
+ * Time-sensitive requests.
+ * Should be relatively rare.
+ * Anything below `P1` is not suitable for the infra ticket queue and will be treated as a normal infra bug.
+1. Add the project "Infra Ticket Queue".
+1. Click the create button. No need to set an assignee; infra oncall will handle all new tickets.
+
+## Communication channels (public)
+The bulk of communication happens on [Discord].
+* Tree closure escalation and announcements: [tree-status channel].
+* Infra issues: [hackers-infra channel]
+* Infrastructure tickets: File an [infrastructure ticket].
+
+## Communication channels (Google-internal)
+* Engine issues: [🐣 Flutter Engine Sheriff ($USERNAME) ⛑️][Engine Sheriff chat]
+* LUCI help chat: [LUCI Users][LUCI Users chat]
+
+## References
+* [Flutter Engine Sheriff Playbook] (Google internal)
+* [On-call scheduling for Flutter]
+
+[infrastructure ticket]: #filing-an-infra-ticket
+
+[flutter/flutter]: https://github.com/flutter/flutter
+[Flutter issues]: https://github.com/flutter/flutter/issues
+[TESTOWNERS]: https://github.com/flutter/flutter/blob/master/TESTOWNERS
+[flutter-hackers]: https://github.com/orgs/flutter/teams/flutter-hackers
+[new issue]: https://github.com/flutter/flutter/issues/new
+[new infra issue]: https://github.com/flutter/flutter/issues/new
+
+[Framework build dashboard]: https://flutter-dashboard.appspot.com/#/build
+[framework benchmarks]: https://flutter-flutter-perf.skia.org/e/
+[engine benchmarks]: https://flutter-engine-perf.skia.org/e/
+
+[Discord]: https://discord.gg/BS8KZyg
+[tree-status channel]: https://discord.com/channels/608014603317936148/613398423093116959
+[hackers-infra channel]: https://discord.com/channels/608014603317936148/608021351567065092
+[Engine Sheriff chat]: http://go/engine-sheriff
+[LUCI Users chat]: https://mail.google.com/chat/u/0/#chat/space/AAAAXGgrwSo
+
+[Rotations tool]: https://rotations.corp.google.com/rotation/5721991649689600
+[Framework Gardener calendar]: https://calendar.google.com/calendar/render?cid=c_him0pti4q5k4h9999u2dv9oouk@group.calendar.google.com
+
+[Flutter Engine Sheriff Playbook]: https://goto.google.com/engine-sheriff
+[On-call scheduling for Flutter]: https://docs.google.com/document/d/1i-11by4J3zvxWG3qLMm4MKfJ8DrjIJna6DPA9tBmJWc/edit#heading=h.w8bl5vic6x95
+
+[Engine to Framework autoroller]: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll?tab=status
diff --git a/docs/unsorted_wiki/Flutter-GPU.md b/docs/unsorted_wiki/Flutter-GPU.md
new file mode 100644
index 0000000..8aab02c
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-GPU.md
@@ -0,0 +1,49 @@
+**Flutter GPU** (previously referred to as "Dart GPU" or "Impeller Dart") is an effort to expose a low level graphics API in the Flutter Framework.
+
+Design doc: https://flutter.dev/go/impeller-dart
+
+Flutter GPU's runtime is a thin wrapper over [Impeller](https://github.com/flutter/flutter/wiki/Impeller)'s HAL, from which custom renderers may be entirely built using Dart. Just like with Impeller, Flutter GPU shader bundles are compiled ahead of time using [impellerc](https://github.com/flutter/engine/tree/main/impeller/compiler). As such, Flutter GPU is only available on platforms that support Impeller.
+
+## Dart FFI
+
+Under the hood, the API communicates with Flutter Engine via Dart FFI, calling symbols publicly exported by libflutter and/or embedders. These symbols are prefixed with `InternalFlutterGpu`, and are considered unstable. Direct usage of the exported symbols is not supported and will break without notice; the only supported way to use Flutter GPU is by importing `package:flutter_gpu`.
+
+## Try out Flutter GPU
+
+Once released, Flutter GPU will be shipped as part of the Flutter SDK in the form of a Dart package called `flutter_gpu`. An early implementation of the `flutter_gpu` package is being developed under the [`lib/gpu` directory](https://github.com/flutter/engine/tree/main/lib/gpu) of the Flutter Engine repository.
+
+> [!CAUTION]
+> _All_ aspects of Flutter GPU are subject to breakage or removal at any time without prior deprecation notice or viable feature replacement. DO NOT rely on Flutter GPU for production projects at this time, but DO have fun playing with it and sharing your experiments with the community.
+
+Flutter GPU is currently unfinished, extremely experimental, and not well documented. [bdero](https://github.com/bdero) is actively developing and testing Flutter GPU against the MacOS desktop embedder; shader compilation and import likely don't function correctly on other platforms yet. However, if you wish to experiment with Flutter GPU, it is possible to do so without a custom Engine build:
+
+1. Update your Flutter checkout to the latest version in the [master channel](https://docs.flutter.dev/release/upgrade#other-channels).
+1. Clone [Flutter Engine](https://github.com/flutter/engine) and checkout the Engine commit that the Flutter master channel is currently pinned to. This can be found in the [`bin/internal/engine.version` file](https://github.com/flutter/flutter/blob/master/bin/internal/engine.version) of the main Flutter repository.
+ ```sh
+ git clone https://github.com/flutter/engine.git
+ cd engine
+ git reset --hard [PINNED_ENGINE_COMMIT]
+ ```
+1. Create a new Flutter project using the Flutter tool and add `flutter_gpu` as a dependency in `pubspec.yaml` with a local path pointing to the `lib/gpu` directory within the Flutter Engine repository cloned in step 2. For example:
+ ```yaml
+ dependencies:
+ flutter:
+ sdk: flutter
+ flutter_gpu:
+ path: ../engine/src/flutter/lib/gpu
+ ```
+1. From here, you can import the API and begin using it.
+ ```dart
+ import 'package:flutter_gpu/gpu.dart' as gpu;
+ ```
+ Check out this [examples repository](https://github.com/bdero/flutter-gpu-examples), which includes an example of [drawing a triangle](https://github.com/bdero/flutter-gpu-examples/blob/master/lib/triangle.dart), among other things.
+
+## Reporting bugs
+
+If you run into issues while using Flutter GPU, please file a bug using the standard [bug report template](https://github.com/flutter/flutter/issues/new?assignees=&labels=&projects=&template=2_bug.yml). Additionally, mention "Flutter GPU" in the title, label the bug with the `e: impeller` label, and tag [bdero](https://github.com/bdero) in the issue description.
+
+## Questions or feedback?
+
+If you have non-bug report questions surrounding Flutter GPU, there are several ways you can reach out to the developer:
+* Create a thread in the #help channel of the [Discord server](https://github.com/flutter/flutter/wiki/Chat). Place "Flutter GPU" in the title of the thread and tag @bdero in the message.
+* Send a Twitter DM to [@algebrandon](https://twitter.com/algebrandon).
diff --git a/docs/unsorted_wiki/Flutter-Infrastructure-Foundation.md b/docs/unsorted_wiki/Flutter-Infrastructure-Foundation.md
new file mode 100644
index 0000000..2a843da
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-Infrastructure-Foundation.md
@@ -0,0 +1,616 @@
+# Flutter Infrastructure Foundation
+
+The Flutter Infrastructure Foundation Team is responsible for setting up, maintaining and improving the low level infrastructure used to build, test and release Flutter.
+
+
+## DeviceLab Hardware
+
+Flutter keeps a lab of test beds that include hosts and phones for all the supported platforms. These test beds are used to collect performance benchmarks and detect regressions.
+
+As of May 2023 the Flutter DeviceLab contains 99 test beds with the following hardware and software:
+
+
+<table>
+ <tr>
+ <td><strong>Host</strong>
+ </td>
+ <td><strong>Architecture</strong>
+ </td>
+ <td><strong>Phone</strong>
+ </td>
+ <td><strong>Count</strong>
+ </td>
+ </tr>
+ <tr>
+ <td>Linux
+ </td>
+ <td>X64
+ </td>
+ <td>Android
+ </td>
+ <td>36
+ </td>
+ </tr>
+ <tr>
+ <td>Windows
+ </td>
+ <td>X64
+ </td>
+ <td>Android
+ </td>
+ <td>6
+ </td>
+ </tr>
+ <tr>
+ <td>Windows
+ </td>
+ <td>Arm64
+ </td>
+ <td>Android
+ </td>
+ <td>1
+ </td>
+ </tr>
+ <tr>
+ <td>Windows
+ </td>
+ <td>Arm64
+ </td>
+ <td>
+ </td>
+ <td>9
+ </td>
+ </tr>
+ <tr>
+ <td>Mac
+ </td>
+ <td>X64
+ </td>
+ <td>iOS
+ </td>
+ <td>18
+ </td>
+ </tr>
+ <tr>
+ <td>Mac
+ </td>
+ <td>X64
+ </td>
+ <td>
+ </td>
+ <td>2
+ </td>
+ </tr>
+ <tr>
+ <td>Mac
+ </td>
+ <td>Arm64
+ </td>
+ <td>iOS
+ </td>
+ <td>12
+ </td>
+ </tr>
+ <tr>
+ <td>Mac
+ </td>
+ <td>Arm64
+ </td>
+ <td>
+ </td>
+ <td>1
+ </td>
+ </tr>
+ <tr>
+ <td>Mac
+ </td>
+ <td>X64
+ </td>
+ <td>Android
+ </td>
+ <td>9
+ </td>
+ </tr>
+ <tr>
+ <td>Mac
+ </td>
+ <td>Arm64
+ </td>
+ <td>Android
+ </td>
+ <td>5
+ </td>
+ </tr>
+</table>
+
+
+
+## VMs
+
+Flutter uses Linux and Windows virtual machines to build and test Flutter. These VMs are auto-provisioned and distributed to 4 different pools. The following is the configuration distribution:
+
+
+<table>
+ <tr>
+ <td style="background-color: null"><strong>LUCI pool</strong>
+ </td>
+ <td style="background-color: null"><strong>config</strong>
+ </td>
+ <td style="background-color: null"><strong>os</strong>
+ </td>
+ <td style="background-color: null"><strong>cpus</strong>
+ </td>
+ <td style="background-color: null"><strong>count</strong>
+ </td>
+ <td style="background-color: null"><strong>total cpus</strong>
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.prod
+ </td>
+ <td style="background-color: null">e2-standard-32
+ </td>
+ <td style="background-color: null">Linux
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+32</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+15</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+480</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.prod
+ </td>
+ <td style="background-color: null">n1-standard-8
+ </td>
+ <td style="background-color: null">Linux
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+8</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+135</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+1080</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.try
+ </td>
+ <td style="background-color: null">e2-standard-32
+ </td>
+ <td style="background-color: null">Linux
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+32</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+30</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+960</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.try
+ </td>
+ <td style="background-color: null">n1-standard-8
+ </td>
+ <td style="background-color: null">Linux
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+8</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+137</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+1096</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.staging
+ </td>
+ <td style="background-color: null">e2-standard-32
+ </td>
+ <td style="background-color: null">Linux
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+32</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+4</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+128</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.staging
+ </td>
+ <td style="background-color: null">n1-standard-8
+ </td>
+ <td style="background-color: null">Linux
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+8</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+30</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+240</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.dart-internal.flutter
+ </td>
+ <td style="background-color: null">e2-standard-32
+ </td>
+ <td style="background-color: null">Linux
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+32</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+20</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+640</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.prod
+ </td>
+ <td style="background-color: null">e2-highmem-8
+ </td>
+ <td style="background-color: null">Windows
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+8</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+59</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+472</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.try
+ </td>
+ <td style="background-color: null">e2-highmem-8
+ </td>
+ <td style="background-color: null">Windows
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+8</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+130</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+1040</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.staging
+ </td>
+ <td style="background-color: null">e2-highmem-8
+ </td>
+ <td style="background-color: null">Windows
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+8</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+12</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+96</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.dart-internal.flutter
+ </td>
+ <td style="background-color: null">e2-highmem-8
+ </td>
+ <td style="background-color: null">Windows
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+8</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+20</p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+160</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null"><strong>Totals</strong>
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+<strong>592</strong></p>
+
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+<strong>6392</strong></p>
+
+ </td>
+ </tr>
+</table>
+
+
+
+## Mac hostonly machines
+
+Mac machines are organized in a different category because they are provisioned in chrome labs and have no phones attached. The machine configurations are the following:
+
+
+<table>
+ <tr>
+ <td style="background-color: null"><strong>LUCI pool</strong>
+ </td>
+ <td style="background-color: null"><strong>model</strong>
+ </td>
+ <td style="background-color: null"><strong>os</strong>
+ </td>
+ <td style="background-color: null"><strong>count</strong>
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.prod
+ </td>
+ <td style="background-color: null">Macmini8,1
+ </td>
+ <td style="background-color: null">Mac-12.6-21G115
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+28</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.prod
+ </td>
+ <td style="background-color: null">Macmini9,1
+ </td>
+ <td style="background-color: null">Mac-12.6-21G115
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+31</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.try
+ </td>
+ <td style="background-color: null">Macmini8,1
+ </td>
+ <td style="background-color: null">Mac-12.6-21G115
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+74</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.try
+ </td>
+ <td style="background-color: null">Macmini9,1
+ </td>
+ <td style="background-color: null">Mac-12.6-21G115
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+71</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.staging
+ </td>
+ <td style="background-color: null">Macmini8,1
+ </td>
+ <td style="background-color: null">Mac-12.6-21G115
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+5</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.flutter.staging
+ </td>
+ <td style="background-color: null">Macmini9,1
+ </td>
+ <td style="background-color: null">Mac-12.6-21G115
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+7</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.dart-internal.flutter
+ </td>
+ <td style="background-color: null">Macmini8,1
+ </td>
+ <td style="background-color: null">Mac-12.6-21G116
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+15</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">luci.dart-internal.flutter
+ </td>
+ <td style="background-color: null">Macmini9,1
+ </td>
+ <td style="background-color: null">Mac-12.6-21G117
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+2</p>
+
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ </tr>
+ <tr>
+ <td style="background-color: null"><strong>Totals</strong>
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null">
+ </td>
+ <td style="background-color: null"><p style="text-align: right">
+<strong>233</strong></p>
+
+ </td>
+ </tr>
+</table>
+
+
+
+## Services
+
+Flutter Infrastructure Foundation owns the DeviceLab provisioning services, maintains Flutter LUCI service configurations, and provides lab maintenance services.
+
+This is the list of services with their descriptions:
+
+
+<table>
+ <tr>
+ <td><strong>Service</strong>
+ </td>
+ <td><strong>Type</strong>
+ </td>
+ <td><strong>Description</strong>
+ </td>
+ </tr>
+ <tr>
+ <td>SALT
+ </td>
+ <td>Owned
+ </td>
+ <td>Configuration provisioning service used to push configurations as code for host and devices for all the supported platforms.
+ </td>
+ </tr>
+ <tr>
+ <td>Machine Provider
+ </td>
+ <td>Configuration management
+ </td>
+ <td>Configuration service to provision, spin up and tear down virtual machines.
+ </td>
+ </tr>
+ <tr>
+ <td>LUCI swarming bot
+ </td>
+ <td>Owned
+ </td>
+ <td>Scripts used to set up and tear down LUCI services on the supported platforms.
+ </td>
+ </tr>
+ <tr>
+ <td>Capacity planning and delivery
+ </td>
+ <td>Owned
+ </td>
+ <td>Budgeting for lab expansions, delivery of new capacity, and decommissioning of end of life hardware.
+ </td>
+ </tr>
+ <tr>
+ <td>Lab maintenance
+ </td>
+ <td>Owned
+ </td>
+ <td>Faulty hardware replacement, hardware recovery and reprovisioning.
+<p>
+Lab migrations planning and execution.
+ </td>
+ </tr>
+ <tr>
+ <td>Onboarding of new platforms
+ </td>
+ <td>Owned
+ </td>
+ <td>Creating provisioning SALT scripts and onboarding on LUCI services.
+ </td>
+ </tr>
+ <tr>
+ <td>Device doctor
+ </td>
+ <td>Owned
+ </td>
+ <td>Phone configuration validation and device recovery.
+ </td>
+ </tr>
+</table>
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Flutter-Installation-Bundles.md b/docs/unsorted_wiki/Flutter-Installation-Bundles.md
new file mode 100644
index 0000000..52db3d5
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-Installation-Bundles.md
@@ -0,0 +1,25 @@
+Flutter has installation bundles which you can download and install for the [`beta` channel](https://github.com/flutter/flutter/wiki/Flutter-build-release-channels). (They were previously also available for the `dev` channel, but [the dev channel has been retired](https://medium.com/flutter/whats-new-in-flutter-2-8-d085b763d181#34c4).)
+
+The installation bundles were designed to allow you to have a completely populated environment without having to first download the Git repository, then compile the flutter tool, etc.
+
+Creating an installation bundle consists of running the following steps. These steps will pre-cache all of the necessary components for working offline. One could follow these steps e.g. to create an installation bundle for the `master` branch.
+
+1) _OPTIONAL_: Set and export the `PUB_CACHE` environment variable to point to the location where you would like your pub cache to be stored. If you don't set this, it will be stored in pub's default location in your home directory (varies based on your OS). Alternatively, if you create the `flutter/.pub-cache` directory before any commands that invoke `pub` (e.g. the `flutter packages` command), then the flutter tool will automatically use it, and you won't have to set PUB_CACHE in your environment.
+1) _WINDOWS ONLY_: Download and install a command line version of Git. Windows doesn't come with git pre-installed, so you'll have to download it from one of the many sources on the Internet.
+1) `git clone -b master https://github.com/flutter/flutter.git` to clone the Flutter Git repo into the directory "flutter" in the current directory.
+1) Change directories into the newly created "flutter" directory.
+1) Add the Flutter `bin` directory to your path:
+ - Windows: `set PATH="%PATH%;%CD%\bin\flutter"`
+ - Other platforms: `export PATH="$PATH:$PWD/flutter"`
+1) `flutter doctor` to check your installation and build the initial snapshot of the `flutter` tool. Install any missing software it tells you about, such as the Android SDK, or XCode tools.
+1) `flutter update-packages` will download all of the pub package dependencies needed to build any of the packages in the Flutter main distribution.
+1) `flutter precache` will make sure that the `flutter` tool's cache of binary artifacts is up-to-date.
+1) _OPTIONAL_: `flutter ide-config --overwrite` will generate and update IDE configuration files for the Flutter repo. You only need to do this if you are using an IDE like IntelliJ or VS Code.
+1) In a temporary directory, run `flutter create --template=app app_sample`, `flutter create --template=package package_sample`, and `flutter create --template=plugin plugin_sample`. You may then remove the app_sample, package_sample, and plugin_sample directories. This will populate the pub cache with any additional packages needed for creating new flutter projects using each of those templates.
+
+Another alternative to the above steps is to run the prepare_package.dart script directly (which is what we use to create the installation bundles in the first place). You would invoke that script like this:
+
+1) Go as far as the `flutter doctor` step in the above steps (or if you have a working flutter repo already, you can skip that: it can be from another channel, but use a fairly current one for best results).
+1) Invoke `./bin/cache/dart-sdk/bin/dart ./dev/bots/prepare_package.dart --temp_dir $TMPDIR --revision $REVISION --branch master --output $PWD`, from the `flutter` root, where `TMPDIR` is set to a directory where there are several gigabytes of free space, and `REVISION` is set to the 40-character git hash of the revision you wish to be working on.
+
+This will build an archive bundle in the current directory that has done all of the above steps, and contains the `master` branch.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Flutter-Self-Service-Index.md b/docs/unsorted_wiki/Flutter-Self-Service-Index.md
new file mode 100644
index 0000000..0a0e921
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-Self-Service-Index.md
@@ -0,0 +1,318 @@
+## Flutter Self Service Index
+
+Flutter provides multiple functionality through self-service services. Most of these services are available to any member of the Flutter GitHub organization.
+
+
+### Audiences
+
+
+<table>
+ <tr>
+ <td><strong>Name</strong>
+ </td>
+ <td><strong>Description</strong>
+ </td>
+ </tr>
+ <tr>
+ <td>Flutter contributors
+ </td>
+ <td>Anyone contributing to the flutter organization independently of membership to the organization.
+ </td>
+ </tr>
+ <tr>
+ <td>Flutter organization members
+ </td>
+ <td><a href="https://github.com/flutter/flutter/wiki/Contributor-access">Anyone with write access to the flutter organization resources</a>.
+ </td>
+ </tr>
+ <tr>
+ <td>Googlers
+ </td>
+ <td>Members of the Flutter Organization that are also Googlers.
+ </td>
+ </tr>
+ <tr>
+ <td>Flutter organization administrators
+ </td>
+ <td>Members of the Flutter organization that have write access to the organization's settings.
+ </td>
+ </tr>
+</table>
+
+
+
+### Infrastructure
+
+
+<table>
+ <tr>
+ <td><strong>Service</strong>
+ </td>
+ <td><strong>Description</strong>
+ </td>
+ <td><strong>Audience</strong>
+ </td>
+ <td><strong>Documentation</strong>
+ </td>
+ <td><strong>Location</strong>
+ </td>
+ </tr>
+ <tr>
+ <td>.ci.yaml
+ </td>
+ <td>Configuration file to instruct the Flutter Infrastructure which tasks to use to validate commits in a given repository. ".ci.yaml" is read from the top level folder of every supported repository.
+ </td>
+ <td>Flutter contributors
+ </td>
+ <td><a href="https://github.com/flutter/cocoon/blob/main/CI_YAML.md">Link</a>
+ </td>
+ <td>Top level folder of the GitHub repositories. E.g. <a href="https://github.com/flutter/flutter/blob/master/.ci.yaml">flutter/flutter</a>.
+ </td>
+ </tr>
+ <tr>
+ <td>Engine build configurations
+ </td>
+ <td>Configuration files to describe Flutter Engine builds and tests.
+ </td>
+ <td>Flutter contributors
+ </td>
+ <td><a href="https://github.com/flutter/engine/blob/main/ci/builders/README.md">Link</a>
+ </td>
+ <td><a href="https://github.com/flutter/engine/tree/main/ci/builders">engine/ci/builders</a> in the <a href="https://github.com/flutter/engine/tree/main">flutter/engine</a> repository contains all the current configuration files.
+ </td>
+ </tr>
+ <tr>
+ <td>Autosubmit
+ </td>
+ <td>GitHub application that auto-submits pull requests that meet the approval criteria.
+ </td>
+ <td>Flutter organization administrators
+ </td>
+ <td><a href="go/enabling_autosubmit">Link</a>
+ </td>
+ <td>The application code is available in the <a href="https://github.com/flutter/cocoon/tree/main/auto_submit">flutter/cocoon</a> repository.
+ </td>
+ </tr>
+ <tr>
+ <td>FirebaseLab tests
+ </td>
+ <td>Special type of tests configured through .ci.yaml that use resources from FirebaseLab
+ </td>
+ <td>Flutter contributors
+ </td>
+ <td><a href="https://github.com/flutter/flutter/wiki/flutter-firebaselab-tests">Link</a>
+ </td>
+ <td>These configurations go directly in the .ci.yaml file of <a href="https://github.com/flutter/flutter">flutter/flutter</a> repository.
+ </td>
+ </tr>
+ <tr>
+ <td>Codesigning
+ </td>
+ <td>Add metadata to engine artifacts for code signing infrastructure to sign them.
+ </td>
+ <td>Flutter contributors
+ </td>
+ <td><a href="https://github.com/flutter/flutter/wiki/code-signing-metadata">Link</a>
+ </td>
+ <td>GN files and global generator scripts in the <a href="https://github.com/flutter/engine">flutter/engine</a> repository.
+ </td>
+ </tr>
+ <tr>
+ <td>Emulators support
+ </td>
+ <td>Using android emulators from tests.
+ </td>
+ <td>Flutter contributors
+ </td>
+ <td><a href="https://github.com/flutter/flutter/wiki/Testing-Android-Changes-in-the-Devicelab-on-an-Emulator">Link</a>
+ </td>
+ <td>Flutter Github Wiki page under the “Android Development” Section.
+ </td>
+ </tr>
+ <tr>
+ <td>Rerun GitHub presubmit test using command line
+ </td>
+ <td>Run presubmit tasks using `reset-try-task` end point and gcloud CLI.
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/infrastructure/playbook.md?cl=head#manually-trigger-try-pre-submit-builds">Link</a>
+ </td>
+ <td>Source code is available <a href="https://github.com/flutter/cocoon/blob/main/app_dart/lib/src/request_handlers/reset_try_task.dart">here</a>
+ </td>
+ </tr>
+ <tr>
+ <td>Rerun postsubmit test from Flutter build dashboard
+ </td>
+ <td>Re-run postsubmit tasks from the go/flutter-dashboard.
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://screenshot.googleplex.com/3CgvqjbPEuoLzXs">Link</a>
+ </td>
+ <td>Source code is available <a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-dashboard">go/flutter-dashboard</a>
+ </td>
+ </tr>
+ <tr>
+ <td>Run a test multiple times in parallel via LED
+ </td>
+ <td>Run a shard test against a pull request to validate changes/fixes in parallel.
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/infrastructure/playbook.md?cl=head#run-a-shard-multiple-times-in-parallel-via-led">Link</a>
+ </td>
+ <td>N/A
+ </td>
+ </tr>
+ <tr>
+ <td>Create a CIPD package
+ </td>
+ <td>Create and add the package build scripts to cocoon to enable auto building and uploading to flutter CIPD namespaces.
+ </td>
+ <td> Flutter contributors
+ </td>
+ <td><a href="https://github.com/flutter/cocoon/tree/main/cipd_packages">Link</a>
+ </td>
+ <td>Flutter public CIPD namespace: <a href="https://chrome-infra-packages.appspot.com/p/flutter">flutter</a>
+ </td>
+ </tr>
+ <tr>
+ <td>View Infra SLO metrics
+ </td>
+ <td>DataSite with links to a collection of Engineering Productivity dashboards including infrastructure, release and rolls.
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://data.corp.google.com/sites/dash_infra_metrics_datasite/infra_slo_metrics/">Link</a>
+ </td>
+ <td>N/A
+ </td>
+ </tr>
+</table>
+
+
+
+### Release
+
+
+<table>
+ <tr>
+ <td><strong>Service</strong>
+ </td>
+ <td><strong>Description</strong>
+ </td>
+ <td><strong>Audience</strong>
+ </td>
+ <td><strong>Documentation</strong>
+ </td>
+ <td><strong>Location</strong>
+ </td>
+ </tr>
+ <tr>
+ <td>Create non flutter release candidate branches
+ </td>
+ <td>Self service to create release candidate branches used by products different than flutter
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-self-service-branches">Link</a>
+ </td>
+ <td>N/A
+ </td>
+ </tr>
+ <tr>
+ <td>Request 1P cherry picks
+ </td>
+ <td>Request approvals for cherry picks to release candidate branches
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-cp">Link</a>
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/github.com/flutter/flutter">flutter/flutter</a>
+ </td>
+ </tr>
+ <tr>
+ <td>G3 Fixes
+ </td>
+ <td>Apply G3 fixes that are automatically applied during the roll process.
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-life-of-a-pr#g3fix">Link</a>
+ </td>
+ <td>N/A
+ </td>
+ </tr>
+ <tr>
+ <td>Single command releases
+ </td>
+ <td>Creating a third party flutter release with multi party approvals.
+ </td>
+ <td> Release Engineering
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-release-workflow#push">Link</a>
+ </td>
+ <td>N/A
+ </td>
+ </tr>
+</table>
+
+
+### Security
+
+
+<table>
+ <tr>
+ <td><strong>Service</strong>
+ </td>
+ <td><strong>Description</strong>
+ </td>
+ <td><strong>Audience</strong>
+ </td>
+ <td><strong>Documentation</strong>
+ </td>
+ <td><strong>Location</strong>
+ </td>
+ </tr>
+ <tr>
+ <td>Vulnerability scanning and fixes validation
+ </td>
+ <td>Automatic scanning of c, c++ third party dependencies and vulnerability. fix validation.
+ </td>
+ <td>Flutter organization members
+ </td>
+ <td><a href="https://github.com/flutter/engine/security/code-scanning">Link</a>
+ </td>
+ <td><a href="https://github.com/flutter/engine/security">Engine github security tab</a>.
+ </td>
+ </tr>
+ <tr>
+ <td>Request write access to non-prod GCP projects
+ </td>
+ <td>
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/security/gcp_security/aod_roles_for_dash_projects.md?cl=head#available-groups">Link</a>
+ </td>
+ <td>N/A
+ </td>
+ </tr>
+ <tr>
+ <td>Rolling non-auto-updating 3p mirrored deps
+ </td>
+ <td>Dependencies on mirrors that do not automatically roll changes from their upstream might need to be manually rolled
+ </td>
+ <td> Googlers
+ </td>
+ <td><a href="https://g3doc.corp.google.com/company/teams/flutter/security/third_party_deps/index.md?cl=head#rolling-mirrored-dependencies">Link</a>
+ </td>
+ <td>N/A
+ </td>
+ </tr>
+</table>
+
+
+Googlers can access the internal version using [go/flutter-self-service](http://go/flutter-self-service)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Flutter-Test-Fonts.md b/docs/unsorted_wiki/Flutter-Test-Fonts.md
new file mode 100644
index 0000000..5514dc7
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-Test-Fonts.md
@@ -0,0 +1,77 @@
+Flutter tests run via the `flutter test` command have access to several readily available test fonts, including [FlutterTest](#the-fluttertest-test-font) and [Ahem](https://www.w3.org/Style/CSS/Test/Fonts/Ahem/).
+
+In tests, if [`fontFamily`](https://master-api.flutter.dev/flutter/painting/TextStyle/fontFamily.html) isn't specified or the specified font families are not available, the default test font `FlutterTest` will be used.
+If you wish to use a custom font in tests, check out the [`FontLoader`](https://master-api.flutter.dev/flutter/services/FontLoader-class.html) class, and [this example](https://github.com/flutter/flutter/blob/6ec444506375cfa94535a45c2320e01094c295e0/packages/flutter/test/material/icons_test.dart#L149-L172).
+
+## The `FlutterTest` test font
+
+### Font Metrics (in design units)
+
+| | Ascent | Descent | Line Gap (Leading) | Units Per EM | Underline Position |
+| :-- | :---: | :---: | :---: | :---: | :---: |
+| `FlutterTest` | 768 (0.75 em) above the baseline | 256 (0.25 em) below the baseline | 0 | 1024 | 146 under the baseline |
+| `Ahem` | 800 (0.8 em) above the baseline | 200 (0.2 em) below the baseline | 0 | 1000 | 142 under the baseline |
+
+The `FlutterTest` font's `1024 units-per-em` is a power of 2, making it less likely to introduce precision loss in metrics calculations, when used as a divisor.
+Thanks to that, the `FlutterTest` font generally provides more precise and font-engine-agnostic font/glyph metrics than `Ahem`.
+
+**Example**
+
+You can expect this test to pass on all platforms (currently with the exception of the web HTML renderer):
+```dart
+final painter = TextPainter(
+ text: const TextSpan(
+ text: 'text',
+ style: TextStyle(fontSize: 14.0, /* "fontFamily: 'FlutterTest'" is implied */),
+ ),
+ textDirection: TextDirection.ltr,
+ textScaleFactor: 1.0,
+);
+final lineMetrics = textPainer.computeLineMetrics().first;
+
+expect(lineMetrics.height, 14.0);
+expect(lineMetrics.ascent, 10.5); // 0.75em * 14.0pt
+expect(lineMetrics.descent, 3.5); // 0.25em * 14.0pt
+// 'text' is 4 glyphs. Most glyphs are as wide as they are tall.
+expect(lineMetrics.width, 14.0 * 4);
+```
+While with the `Ahem` font you would get [slightly different metrics on different platforms](https://github.com/flutter/flutter/issues/62819), since they use different font engines to scale the font.
+
+### Glyphs
+
+(images to be added)
+
+The font covers most types of glyphs defined in the `Ahem` font.
+
+| Square | Ascent Flushed | Descent Flushed | .notdef |
+ | :---: | :----: | :----: | :----: |
+| a box that fills the em square | the **Square** glyph but without the part above the baseline | the **Square** glyph but without the part below the baseline | a hollow box |
+
+The remaining glyphs (for example, **Full Advance**, **1/2 Advance**) are defined with no outlines in the glyph, with different x-advances.
+
+
+### Glyph Mapping
+
+Unmapped codepoints will be mapped to the **.notdef** glyph in the test environment.
+
+| \ Script <br />Glyph | DFLT | grek | hani | latn |
+ | :--- | :----: | :----: | :----: | :----: |
+| Square | **codepoint(s):** 0x21-0x26, 0x28-0x40, 0x5b-0x60, 0x7b-0x7e, 0xa1-0xa9, 0xab-0xb9, 0xbb-0xbf, 0xd7, 0xf7, 0x2c6-0x2c7, 0x2c9, 0x2d8-0x2dd, 0x2013-0x2014, 0x2018-0x201a, 0x201c-0x201e, 0x2020-0x2022, 0x2026, 0x2030, 0x2039-0x203a, 0x2044, 0x2122, 0x2202, 0x2206, 0x220f, 0x2211-0x2212, 0x2219-0x221a, 0x221e, 0x222b, 0x2248, 0x2260, 0x2264-0x2265, 0x22f2, 0x25ca, 0xf000-0xf002<br />**character(s):** `!` `"` `#` `$` `%` `&` `(` `)` `*` `+` `,` `-` `.` `/` `0` `1` `2` `3` `4` `5` `6` `7` `8` `9` `:` `;` `<` `=` `>` `?` `@` `[` `\` `]` `^` `_` `` ` `` `{` `\|` `}` `~` `¡` `¢` `£` `¤` `¥` `¦` `§` `¨` `©` `«` `¬` `<SOFT HYPHEN>` `®` `¯` `°` `±` `²` `³` `´` `µ` `¶` `·` `¸` `¹` `»` `¼` `½` `¾` `¿` `×` `÷` `ˆ` `ˇ` `ˉ` `˘` `˙` `˚` `˛` `˜` `˝` `–` `—` `‘` `’` `‚` `“` `”` `„` `†` `‡` `•` `…` `‰` `‹` `›` `⁄` `™` `∂` `∆` `∏` `∑` `−` `∙` `√` `∞` `∫` `≈` `≠` `≤` `≥` `⋲` `◊` `<0xf000>` `<0xf001>` `<0xf002>` | **codepoint(s):** 0x394, 0x3a5, 0x3a7, 0x3a9, 0x3bc, 0x3c0, 0x2126<br />**character(s):** `Δ` `Υ` `Χ` `Ω` `μ` `π` `Ω` | **codepoint(s):** 0x3007, 0x4e00, 0x4e03, 0x4e09, 0x4e2d, 0x4e5d, 0x4e8c, 0x4e94, 0x516b, 0x516d, 0x5341, 0x5426, 0x56d7, 0x56db, 0x571f, 0x6587, 0x6587, 0x662f, 0x6728, 0x672c, 0x6b63, 0x6c34, 0x6d4b, 0x706b, 0x786e, 0x8bd5, 0x91d1<br />**character(s):** `〇` `一` `七` `三` `中` `九` `二` `五` `八` `六` `十` `否` `囗` `四` `土` `文` `文` `是` `木` `本` `正` `水` `测` `火` `确` `试` `金` | **codepoint(s):** 0x41-0x5a, 0x61-0x7a, 0xaa, 0xba, 0xc0-0xc8, 0xca-0xd6, 0xd8-0xf6, 0xf8-0xff, 0x131, 0x152-0x153, 0x178, 0x192<br />**character(s):** `A` `B` `C` `D` `E` `F` `G` `H` `I` `J` `K` `L` `M` `N` `O` `P` `Q` `R` `S` `T` `U` `V` `W` `X` `Y` `Z` `a` `b` `c` `d` `e` `f` `g` `h` `i` `j` `k` `l` `m` `n` `o` `p` `q` `r` `s` `t` `u` `v` `w` `x` `y` `z` `ª` `º` `À` `Á` `Â` `Ã` `Ä` `Å` `Æ` `Ç` `È` `Ê` `Ë` `Ì` `Í` `Î` `Ï` `Ð` `Ñ` `Ò` `Ó` `Ô` `Õ` `Ö` `Ø` `Ù` `Ú` `Û` `Ü` `Ý` `Þ` `ß` `à` `á` `â` `ã` `ä` `å` `æ` `ç` `è` `é` `ê` `ë` `ì` `í` `î` `ï` `ð` `ñ` `ò` `ó` `ô` `õ` `ö` `ø` `ù` `ú` `û` `ü` `ý` `þ` `ÿ` `ı` `Œ` `œ` `Ÿ` `ƒ` |
+| Ascent Flushed | | | | **codepoint(s):** 0x70<br />**character(s):** `p` |
+| Descent Flushed | | | | **codepoint(s):** 0xc9<br />**character(s):** `É` |
+| Full Advance | **codepoint(s):** 0x20<br />**character(s):** `<SPACE>` | | | |
+| 1/2 Advance | **codepoint(s):** 0x2002<br />**character(s):** `<EN SPACE>` | | | |
+| 1/3 Advance | **codepoint(s):** 0x2004<br />**character(s):** `<THREE-PER-EM SPACE>` | | | |
+| 1/4 Advance | **codepoint(s):** 0x2005<br />**character(s):** `<FOUR-PER-EM SPACE>` | | | |
+| 1/6 Advance | **codepoint(s):** 0x2006<br />**character(s):** `<SIX-PER-EM SPACE>` | | | |
+| 1/5 Advance | **codepoint(s):** 0x2009<br />**character(s):** `<THIN SPACE>` | | | |
+| 1/10 Advance | **codepoint(s):** 0x200a<br />**character(s):** `<HAIR SPACE>` | | | |
+| Zero Advance | **codepoint(s):** 0xfeff<br />**character(s):** `<ZERO WIDTH NO-BREAK SPACE>` | | | |
+
+### Caveats
+
+To disable FreeType auto-hinter, the family name defined within the font is not `FlutterTest` but `MingLiU`. This typically doesn't affect framework tests as the font is registered under the name `FlutterTest`.
+
+### Adding more Codepoints/Glyphs to the `FlutterTest` Font
+
+The `FlutterTest` font is generated by [this script](https://github.com/flutter/engine/blob/170cbea/tools/gen_test_font.py).
diff --git a/docs/unsorted_wiki/Flutter-Web-Triage.md b/docs/unsorted_wiki/Flutter-Web-Triage.md
new file mode 100644
index 0000000..4c7dfff
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-Web-Triage.md
@@ -0,0 +1,16 @@
+When triaging web issues follow the following process:
+
+- Make sure there are no [unassigned P0 and P1 issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP1%2CP0+no%3Aassignee).
+- Make sure there are no [P1 issues outside the backlog](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP1%2CP0+-project%3Aflutter%2F132+).
+- Make sure there are no [P3 issues in the backlog](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+project%3Aflutter%2F132+label%3AP3).
+- Make sure there are no assigned P2 and P3 issues:
+ - [ditman](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Aditman)
+ - [eyebrowsoffire](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Aeyebrowsoffire)
+ - [harryterkelsen](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Aharryterkelsen)
+ - [htoor3](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Ahtoor3)
+ - [kevmoo](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Akevmoo)
+ - [mdebbar](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Amdebbar)
+ - [yjbanov](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Ayjbanov)
+- The list of [P0 and P1 issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP1%2CP0) should be manageable (<30 issues)
+- The [list of open PRs](https://github.com/pulls?q=is%3Aopen+is%3Apr+archived%3Afalse+user%3Aflutter+sort%3Aupdated-asc+label%3Aplatform-web) should be manageable (<15).
+- Triage [untriaged issues](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-web%2Cfyi-web+-label%3Atriaged-web+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc+-label%3A%22waiting+for+customer+response%22+)
diff --git a/docs/unsorted_wiki/Flutter-build-release-channels.md b/docs/unsorted_wiki/Flutter-build-release-channels.md
new file mode 100644
index 0000000..d5549ee
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-build-release-channels.md
@@ -0,0 +1,63 @@
+## Flutter's channels
+
+Flutter has the following channels, in increasing order of stability.
+
+### `master` (aka `main`)
+
+The current tip-of-tree, absolute latest cutting edge build. Usually functional, though sometimes we accidentally break things. We do not run the entirety of our testing before allowing patches to land on this branch. We do not
+recommend using this branch unless [you are contributing to Flutter](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md).
+
+The API documentation for the most recent commit on `master` is staged at: <https://master-api.flutter.dev>
+
+The Flutter team's plugins and packages are regularly tested against the `master` branch.
+
+_We are planning to rename this channel to `main` soon; this work is tracked in [flutter#121564](https://github.com/flutter/flutter/issues/121564)._
+
+### `beta`
+
+The latest stable release. If you want to be using the latest and greatest, the `beta` branch is the right choice. That's the most recent version of Flutter that we have heavily tested. The beta branch has passed all our public testing, has been verified against test suites for Google products that use Flutter, and has been vetted against [contributed private test suites](https://github.com/flutter/tests).
+
+We branch from `master` for a new beta release at the beginning of the month, usually the first Wednesday. This includes a branch for Dart, the engine and the framework. These branches are then "stabilized" for the next couple of weeks, meaning we accept [cherrypick](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process) requests for high impact issues. Once a quarter, the beta branch lives on to become the next stable branch, as detailed below.
+
+On average it takes about two weeks for a fix to end up in the beta branch after it lands in our repository (in the `master` channel).
+
+We do not host the API documentation for the current `beta` branch. The documentation for the `stable` branch at <https://api.flutter.dev> is usually correct, but may be missing new features. The documentation for the `master` branch at <https://master-api.flutter.dev> is likely to be more up to date but may mention features that are not yet on the `beta` branch.
+
+### `stable`
+
+Roughly speaking, every third `beta` is promoted to `stable`. This is essentially the same as the `beta` branch but with less frequent updates.
+
+We recommend using this channel for new users and for production app releases.
+
+In case of high severity, high impact or security issues, we may do a hotfix release for the `stable` channel just like we do for `beta`. This will follow the same [cherrypick](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process) process.
+
+The `stable` version of Flutter is the one documented by our API documentation at: <https://api.flutter.dev>
+
+The Flutter team's plugins and packages are continually tested against the latest `stable` branch.
+
+
+## How to change channels
+
+You can see which channel you're on with the following command:
+
+```
+$ flutter channel
+Flutter channels:
+* stable
+ beta
+ master
+```
+
+To switch channels, run `flutter channel [<channel-name>]`, and then run `flutter upgrade` to ensure you're on the latest.
+
+## Will a particular bug fix be provided in a hotfix release?
+
+Depending on the severity of the issue, it is possible. Refer to the [cherrypick process](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process) for details.
+
+If you really need a particular patch and it's a fix to the flutter/flutter repository, you should feel free to create a Flutter branch yourself on your development machine and cherry-pick the fix you want onto that branch. Flutter is distributed as a `git` repository and all of `git`'s tools are available to you. If you need a particular patch that's from the flutter/engine repository or one of our dependencies (e.g. Dart or Skia), you could build your own engine but it's probably easier to just wait until the next release. On average, the next `beta` release is about two weeks away.
+
+## See also
+
+* [[Release process]], which describes the details for how we push builds from channel to channel.
+* [Cherrypick process](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process), where we cover how to request an issue for cherrypicking.
+* [Release notes](https://flutter.dev/docs/development/tools/sdk/release-notes), where we document changes to each version of the stable channel.
diff --git a/docs/unsorted_wiki/Flutter-engine-operation-in-AOT-Mode.md b/docs/unsorted_wiki/Flutter-engine-operation-in-AOT-Mode.md
new file mode 100644
index 0000000..e232ebf
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-engine-operation-in-AOT-Mode.md
@@ -0,0 +1,75 @@
+# Overview
+
+The Flutter Engine in AOT mode requires four artifacts to run any given isolate. These are:
+
+* **Dart VM Snapshot**
+ * Represents the initial state of the Dart heap shared between isolates.
+ * Helps launch Dart isolates faster.
+ * Does not contain any isolate specific information.
+ * Mostly predefined Dart strings used by the VM
+ * Should live in the data segment.
+ * From the VM's perspective, this just needs to be loaded in memory with READ permissions and does not need WRITE or EXECUTE permissions. Practically this means it should end up in rodata when putting the snapshot in a shared library.
+* **Dart VM Instructions**
+ * Contains AOT instructions for common routines shared between all Dart isolates in the VM.
+ * This snapshot is typically extremely small and mostly contains stubs.
+ * Must live in the text segment.
+* **Isolate Snapshot**
+ * Represents the initial state of the Dart heap and includes isolate specific information.
+ * Along with the VM snapshot, helps in faster launches of the specific isolate.
+ * Should live in the data segment.
+* **Isolate Instructions**
+ * Contains the AOT code that is executed by the Dart isolate.
+ * Must live in the text segment.
+
+The VM snapshot and instructions can be shared between all isolates. These must be available during the initialization of the Dart VM. The Dart VM is initialized when the first Flutter view initializes an instance of the Flutter shell. The Flutter shell manages thread safe initialization of the Dart VM. Once the Dart VM is initialized, multiple instances of the Flutter view reference the same VM to run their isolates. There can only be one VM running in the process at any given time.
+
+Given this configuration, launching each root isolate (for a Flutter application) requires two artifacts along with two other artifacts that are shared between all the other isolates.
+
+Isolates launched by Dart code (e.g., Isolate.spawn) inherit the snapshots of their parents.
+
+# Snapshot Generation
+
+These artifacts on all platforms are generated by the same binary on the host. This binary is shipped with Flutter tools and is called `gen_snapshot`. The way these artifacts are packed and referenced on the device differs however.
+
+## iOS Configuration
+
+`gen_snapshot` is invoked on the host by Xcode to generate the four binary blobs for each artifact.
+
+Using the native toolchain in Xcode, these artifacts are compiled into a framework bundle that is packaged into the application. This framework is typically called `App.framework` and is present in the `Frameworks/` folder of the application bundle. The name of the framework is configurable and if the embedder wishes to name it anything other than `App.framework`, the embedder can choose a custom name and specify the same in the `FLTLibraryPath` `Info.plist` key for the main application bundle.
+
+The Flutter engine, itself in a Framework called `Flutter.framework` will dynamically open the resolved application framework and look for four specific symbols in that library. These symbols are called `kDartVmSnapshotData`, `kDartVmSnapshotInstructions`, `kDartIsolateSnapshotData` and `kDartIsolateSnapshotInstructions`. These refer to the four snapshots mentioned above.
+
+Once snapshot resolution is finalized, the Flutter engine initializes the VM and launched the isolates.
+
+This configuration was chosen because the Flutter engine is not able to mark pages as executable at runtime. Packaging the instruction in a binary makes sure all instructions are present in a separate dynamic library. This arrangement helps in isolate of code for a specific Flutter view’s root isolate.
+
+## Android Configuration
+
+`gen_snapshot` is invoked by Gradle to generate the four binary blobs for each artifact.
+
+Gradle actually invokes `flutter build aot` under the hood to generate these artifacts. These binary artifacts are packaged into the APK directly. These artifacts are named `vm_snapshot_data`, `vm_snapshot_instr`, `isolate_snapshot_data` and `isolate_snapshot_instr`. They refer to the four snapshots mentioned above.
+
+The embedder may choose to put these artifacts in custom locations. In such cases, the embedder must place these artifacts in a directory and specify the location using the following 5 flags:
+ * `aot-snapshot-path`: Path to the directory in the APK assets containing the snapshot.
+ * `vm-snapshot-data`: Path to the VM snapshot in that directory.
+ * `vm-snapshot-instr`: Path to the VM instructions in that directory.
+ * `isolate-snapshot-data`: Path to the isolate snapshot in that directory.
+ * `isolate-snapshot-instr`: Path to the isolate instructions in that directory.
+
+Once the Flutter engine, itself packaged as a separate dynamic library called `libflutter.so`, resolves the locations of the required artifacts, it maps them in and makes sure the instructions are executable before launching the VM and isolate.
+
+The tooling on Android does not require the presence of the Android NDK because the engine can mark pages as executable at runtime. If the embedder wishes to package the snapshots into a single dynamic library (and make the configuration look like the one used on iOS), it can do so and specify the library to the engine via the flag `aot-shared-library-path`. A native toolchain is necessary on the host to achieve this.
+
+# Notes
+
+`gen_snapshot` can only generate AOT instructions for a specific architecture. For example, generating AOT instructions for `armv7`, `aarch64`, `i386` and `x86-64` requires four different `gen_snapshot` variants.
+
+The VM and isolate snapshot data is specific to the `gen_snapshot` variant used and must also be generated along with the AOT instructions. Embedders may not mix and match the AOT instructions and data snapshots from different `gen_snapshot` variants. All four artifacts must typically be generated at the same time.
+
+Using the current Flutter tools, only an `i386` `gen_snapshot` on the host can generate `armv7` AOT instructions and an `x86-64` `gen_snapshot` on the host can generate `aarch64` instructions. The mac builds take advantage of this quirk and `lipo` the two `gen_snapshot` variants and select the executable architecture correctly when generating AOT instructions for the target architecture. This can be inspected with the `lipo` tool on the host while analyzing the `gen_snapshot` binary. In reality, the word sizes of `gen_snapshot` on host and the engine running on the target must match. Theoretically, an `armv7` `gen_snapshot` running on a Raspberry Pi host could generate an AOT snapshot for `armv7` target. The tools don’t ship this configuration however.
+
+Packaging multiple Flutter AOT application in the same application bundle will currently result in redundant copies of the VM data and instructions. However, these buffers are extremely small.
+
+Flags to the Flutter engine are typically specified when the platform launches the underlying Flutter shell (platform agnostic way of interacting with the innards of the Flutter engine). This happens in `FlutterViewController` on iOS and `FlutterNativeView` in Java on Android.
+
+To list all the flags currently supported by the Flutter engine, embedders may locate the `flutter_tester` binary in the tools distribution and pass the `--help` flag to the same. All currently supported flags along with a short help blob will be dumped to the console.
diff --git a/docs/unsorted_wiki/Flutter-migrate.md b/docs/unsorted_wiki/Flutter-migrate.md
new file mode 100644
index 0000000..b648b95
--- /dev/null
+++ b/docs/unsorted_wiki/Flutter-migrate.md
@@ -0,0 +1,63 @@
+_This refers to a [project](https://github.com/flutter/packages/tree/main/packages/flutter_migrate) that is incomplete and is not currently maintained._
+
+# Flutter migrate tool
+
+Flutter projects that were created with old versions of flutter tend to slowly become outdated and sometimes do not have access to new flutter features.
+
+The `flutter_migrate` tool is a set of commands that helps you migrate legacy flutter projects to modern flutter project templates. This process will typically update your dependencies, add access to new flutter features, and improve resilience and robustness against future updates.
+
+Flutter migrate works best for small to medium sized projects that are primarily implemented in flutter/dart.
+
+The flutter migrate tool will generate a staging directory where you will be able to preview changes and resolve any conflicts before committing the changes to your project.
+
+## Prepare your project for migration
+
+Before running the migrate tool, your project must be set up as a git repository and have no uncommitted changes. This is to ensure that the migration will always be able to be rolled back if needed. The migrate tool itself also requires git to function.
+
+## Start the migration
+
+To start the migration process, enter the root directory of your flutter project and run:
+
+ $ flutter migrate start
+
+It is normal for this command to take a while to run. A staging directory called `migrate_staging_directory` will be created in your flutter project where the suggested changes are located. The staged files are the migrated and merged versions. For some projects, there may be merge conflicts between flutter-generated code changes and your own changes.
+
+To view the status of your current started migration, run:
+
+ $ flutter migrate status
+
+This will display an overview of the diffs, files changed, added, and deleted, as well as any files with merge conflicts.
+
+## Resolve conflicts
+
+Any merge conflicts must be resolved before applying the migration. The status command will list the discovered conflicts in the staging directory. These conflicts should either be fixed manually in the staging directory by directly modifying the staged files or optionally resolved using the resolve-conflicts wizard if one of the versions should be accepted without changes.
+
+The resolve-conflicts wizard helps process routine merge conflicts quickly. Many projects will find that user changes to files like AndroidManifest.xml will be caught as a conflict. In most cases, it is desired to just keep your manual changes instead of reverting to the default template manifest. The wizard can help quickly resolve these types of conflict. Run the resolve-conflicts wizard with:
+
+ $ flutter migrate resolve-conflicts
+
+The wizard will display each conflict and present the option to accept the new template version, keep the existing version, or skip the conflict and resolve it manually later. After each file, the wizard will ask to commit the changes or not.
+
+## Apply the migration
+
+When all conflicts are resolved and the changes are to your liking, the migration should be applied to the project. The contents of the staging directory will be moved into the project itself, overwriting the existing files. To apply, run:
+
+
+ $ flutter migrate apply
+
+After applying the migration, all changes can be handled via git commands. It is recommended to now build your app for all your target platforms to ensure the migration was successful. Although the migration tool typically produces working apps, it is possible in complex projects for errors to occur when merging or resolving conflicts. If the project is left in a broken state, it is easy to undo the migration by running:
+
+ $ git reset --hard HEAD
+
+Newly added files can be removed with:
+
+ $ git clean -n (preview untracked files to be cleaned)
+ $ git clean -f (delete untracked files)
+
+## Aborting a staged migration
+
+If the staged migration is no longer desired, you can abort the migration by running:
+
+ $ flutter migrate abort
+
+This will delete the staging directory and your project will be left untouched.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Game-development-with-Flutter.md b/docs/unsorted_wiki/Game-development-with-Flutter.md
new file mode 100644
index 0000000..4e041f2
--- /dev/null
+++ b/docs/unsorted_wiki/Game-development-with-Flutter.md
@@ -0,0 +1,37 @@
+A loose catalog of resources for casual game development with Flutter.
+
+## Game engines and tools
+
+- [Flame Engine (2D game engine)](https://flame-engine.org/)
+- [Bonfire (RPG games)](https://pub.dev/packages/bonfire)
+- [SpriteWidget](https://github.com/spritewidget/spritewidget)
+- [Flutter Processing](https://github.com/matthew-carroll/flutter_processing)
+- [Rive (animation designer)](https://rive.app/)
+- [StageXl (Dart+Web, but not Flutter)](http://www.stagexl.org/)
+
+## Games built with Flutter / developer experiences
+- [4 Pics 1 Word](https://play.google.com/store/apps/details?id=de.lotum.whatsinthefoto.us)
+- [Tomb Toad](http://www.missionctrlgames.com/) | [tweet](https://twitter.com/missionctrlgame/status/1329149448971280385)
+- [Flame Game Jam entries](https://itch.io/jam/1st-flame-game-jam/entries)
+- [A list of Flutter games built on top of Flame](https://flame-engine-store.web.app/#/)
+- [Porting an iOS game to Flutter](https://twitter.com/drcoderz/status/1458449373424062474)
+- [Space Empire](https://github.com/SatyamX64/space_empires)
+- [Sunnyplace](https://play.google.com/store/apps/details?id=br.com.sunnyplace)
+- [Tap Hero](https://github.com/mkiisoft/taphero)
+- [Pop, Pop, Win!](https://dart-lang.github.io/sample-pop_pop_win/) (Mine Sweeper w/ balloons and darts) – OG Dart+Web game w/ StageXL (not Flutter)
+- [Flutter Slide Puzzle](https://flutter.github.io/samples/web/slide_puzzle/) - Created for original Flutter web launch
+- [Community-submitted games](https://flutterawesome.com/tag/games/)
+- [Flutter Backgammon](https://github.com/csells/fibscli)
+
+## Tutorials
+- [Building a snake game with Flutter](https://www.raywenderlich.com/19430602-how-to-create-a-2d-snake-game-in-flutter)
+- [Flappy Bird with Flutter Processing](https://www.youtube.com/watch?v=l2LO_pBEP5Y)
+- [Create a game with Flame Engine](https://blog.devowl.de/flutter-flame-step-1-create-your-game-b3b6ee387d77)
+- [Flutter games from scratch](https://www.youtube.com/playlist?list=PLlvRDpXh1Se6kipeBLiF1xByAEmxYie6J)
+
+## Communities
+- [FlameCon](https://www.meetup.com/FlameCon/)
+
+## Other useful resources
+- [Monetization](https://flutter.dev/ads)
+- [Firebase (auth, storage, hosting, testing, analytics, cloud functions)](https://firebase.flutter.dev/docs/overview)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/GitHub-Action-Workflows.md b/docs/unsorted_wiki/GitHub-Action-Workflows.md
new file mode 100644
index 0000000..319b4f6
--- /dev/null
+++ b/docs/unsorted_wiki/GitHub-Action-Workflows.md
@@ -0,0 +1,59 @@
+# GitHub actions at Flutter
+
+Action workflows can be enabled by writing a yaml file inside .github/workflows
+folder of a given repository. These workflows run arbitrary code from GitHub
+repositories and with read/write permissions in the repository assets. This can
+be dangerous as anyone with write permissions to the repository can enable
+workflows using malicious code. To mitigate this only workflows with pinned
+commits within an allowed list can be executed.
+
+Flutter repositories have workflows enabled with readonly ACLs by default. The
+ACLs can be overwritten providing specific permissions in the configuration
+file.
+
+Determining whether a given workflow is secure or not goes well beyond flutter's
+capacity and it is the responsibility of the person enabling the workflow to
+diligently check the workflow for any potential security issues.
+
+## Adding a new GitHub Actions workflow
+
+To add a new workflow please open a new bug using the [ticket queue process](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue). The following data points are required:
+
+* Description/reason to enable this workflow
+* workflow repository
+* pinned commit
+
+## Updating a GitHub Actions workflow
+
+To update an existing workflow please open a new bug using the [ticket queue process](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue). The following data points are required:
+
+* Description/reason to update the pinned version
+* workflow/old_pinned_version
+* workflow/new_pinned_version
+
+## flutter/engine and flutter/flutter
+
+***flutter/engine*** please do not add any action workflows to this repository.
+The preferred way of building and testing is to use LUCI. This allows to plan
+for scalability, security and maintainability.
+
+***flutter/flutter*** the main use of workflows in this repo is to process bugs,
+projects, etc. Please do not use action workflows to build, run tests or release
+artifacts.
+
+## Checklist
+
+New workflow:
+
+* Does it have an associated bug?
+* Was the workflow/commit added to the allow list? Is the workflow pinned to a
+ given commit?
+* If the workflow require write access, is it overriding the ACLs explicitly?
+* If the target repository has branch protection, is the configuration using
+ ***secrets.FLUTTERGITHUBBOT_TOKEN*** instead of the default one?
+* Is the workflow configured to not run on forks?
+
+Update workflow:
+
+* Does it have an associated bug?
+* Was the workflow with old and new commits added to the allowed list?
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Glossary.md b/docs/unsorted_wiki/Glossary.md
new file mode 100644
index 0000000..8ab58fb
--- /dev/null
+++ b/docs/unsorted_wiki/Glossary.md
@@ -0,0 +1,39 @@
+Here are some terms that we use in the Flutter project and what they mean:
+
+<!-- Please keep this alphabetical. -->
+
+- **Cold restart**. Quitting and restarting an application and its associated runtime. This contrasts with hot restart, where the process and/or runtime would not be terminated.
+
+- **Dynamic extension loading**. The ability to download some Dart code that wasn't written when the app was first published, which adds a new feature to the app. This could be done on the fly. It may require the core app to be larger since we can't know ahead of time what is needed by each future extension, and therefore can't do tree shaking (whole program optimization).
+
+- **Dynamic patching**. The ability to update the Dart code of an app in the field by downloading a patch (of sorts) and providing it to the Dart VM, probably requiring a restart of the application.
+
+- **Embedder**. The core of the Flutter engine is platform agnostic. But platforms that run Flutter applications need platform specific logic to wire up rendering to the native window toolkit, handle input events, etc.. This platform specific logic is referred to as the Flutter embedder. Embedders interact with the engine using a [very low level C/C++ API](https://github.com/flutter/engine/blob/043d92c48abdebdad926569bc204a59c5cf20a11/shell/platform/embedder/embedder.h). While this API exposed by the engine to its embedders is platform agnostic, it is usually not suitable for developers used to the tools, frameworks and libraries on that specific platform (UIKit using Objective-C/Swift on iOS, or, Android APIs using Java on Android). To make interacting with the engine more ergonomic to developers on a specific platform, there are platform specific embedding APIs ([iOS](https://docs.flutter.io/objcdoc/) and [Android](https://docs.flutter.io/javadoc/)). These APIs provide higher level abstractions but are optional.
+
+- **Embedding**. Flutter provides "embedders" to port Flutter behavior to specific platforms, as defined elsewhere in this glossary. However, embedders use a [very low level C/C++ API](https://github.com/flutter/engine/blob/043d92c48abdebdad926569bc204a59c5cf20a11/shell/platform/embedder/embedder.h) which would feel unnatural to typical developers of a platform, e.g., Android or iOS. A Flutter "embedding" is a counterpart to an "embedder", which introduces common platform tools for interacting with Flutter. The Android embedding offers a `FlutterActivity`, `FlutterFragment`, `FlutterView`, etc: [Android embedding](https://docs.flutter.io/javadoc/). The iOS embedding offers a `FlutterViewController`, etc: [iOS embedding](https://docs.flutter.io/objcdoc/). An embedding + an embedder signifies the entire story of how Flutter ports to a specific platform.
+
+- **Engine**. The C++ (and Java and ObjectiveC and...) side of Flutter. Defined in the `engine` repository. Includes Skia, Dart, and other low-level components. Exposed as `dart:ui` and other Dart libraries to author code.
+
+- **Flakiness**. The tendency of a test to occasionally claim that it has passed even though it is really a failing test. Usually caused by race conditions. Please treat flaky tests as failures; attempt to find the cause and fix it.
+
+- **Framework**. The `flutter` library (`packages/flutter` in the main repository) that includes the bulk of the Dart classes exposed by Flutter, such as all the built-in widgets.
+
+- **Hot reload**. During development, causing a running application to update with new logic, without losing any of its state. This contrasts with hot restart because state is maintained despite the code being updated. We consider hot reload to be "hot" if it's subsecond in the normal case, significantly so in favourable conditions (e.g. fast devices, changing a small part of an application's UI).
+
+- **Hot restart**. During development, causing a running application to rerun from the beginning, using new logic, and with all state reset to initial conditions. This contrasts with a cold restart because it does not require the application to shut down, and contrasts with a hot reload because state is lost in the process. We consider hot restart to be "hot" if it's under four seconds in the normal case.
+
+- **Landing**. The act of merging a PR into a branch (typically the main trunk, sometimes called "master") of a repository.
+
+- **Modular application delivery**. The ability to package a single app into multiple separate archives when compiling it, and download them independently as needed.
+
+- **NTE**. "Needs-Tests Exemption". Indicates that a PR does not need tests, typically because the PR is refactoring code without changing the semantics of the code, or because it actually does have tests but the automated systems didn't recognize them. A test exemption consists of a comment on the PR that has a line that starts with the string `test-exempt: ` followed by an explanation of why, from someone who is allowed to give test exemptions. A bot will add a comment to a PR if a test exemption is required. See [[Tree Hygiene]] for instructions on getting test exemptions.
+
+- **Out-of-band (OOB) failure**. A test failure in our CI that is caused by some change external to the repository, not the failing commit (or flake). For instance, an infrastructure change or a change to an external server used by tests could cause an out-of-band failure. In general, CI should minimize the possibility of out-of-band failures by being as hermetic as possible.
+
+- **PR**. A _Pull Request_, a code or documentation contribution on GitHub. PRs are _landed_ once they have been reviewed.
+
+- **Roll**. The act of updating a dependency ("rolling skia", "rolling the engine"), typically by updating a commit hash in a configuration file. A roll is typically created as a PR that is then landed. Automatically rolling dependencies is preferred over manual rolling.
+
+- **Skia**. The graphics library used by Flutter.
+
+- **Tool**. The `flutter` program (started from `bin/flutter` on Unix systems, `bin/flutter.bat` on Windows) that developers use to drive their work when using Flutter.
diff --git a/docs/unsorted_wiki/Home.md b/docs/unsorted_wiki/Home.md
new file mode 100644
index 0000000..9e0c85f
--- /dev/null
+++ b/docs/unsorted_wiki/Home.md
@@ -0,0 +1,39 @@
+This wiki is primarily aimed at engineers building or making contributions to Flutter.
+
+If you are new to Flutter, then you will find more general information on the Flutter project, including tutorials and samples, on our Web site at [flutter.dev](https://flutter.dev). For specific information about Flutter's APIs, consider our API reference which can be found at the [api.flutter.dev](https://api.flutter.dev/).
+
+If you want to know what we're likely to do in the future, our [[roadmap]] may be of interest.
+
+If you intend to contribute to Flutter, welcome! You are encouraged to start with [our contributor guide](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md), which helps onboard new team members. It points to the most relevant pages on this wiki. You are also invited to join our [Discord](https://github.com/flutter/flutter/wiki/Chat) server.
+
+## Search
+
+[Search this wiki on Google](https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fgithub.com%2Fflutter%2Fflutter%2Fwiki%2F).
+
+## Index of notable sections
+
+* [Actionable bugs](https://github.com/flutter/flutter/wiki/Triage#what-makes-an-issue-actionable), and the closing of unactionable bugs
+* [Breaking changes](https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes)
+* [Cherrypick process](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process)
+* [Closing issues](https://github.com/flutter/flutter/wiki/Issue-hygiene#closing-issues)
+* [[Dashboards]]
+* [Debugging a broken engine autoroll](https://github.com/flutter/flutter/wiki/Debugging-the-engine#bisecting-a-roll-failure)
+* [Deprecations](https://github.com/flutter/flutter/wiki/Tree-hygiene#deprecations)
+* [[Design documents]]
+* [Discord](https://github.com/flutter/flutter/wiki/Chat)
+* [Engineering Philosophy](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#philosophy)
+* [Flaky tests](https://github.com/flutter/flutter/wiki/Issue-hygiene#flaky-tests)
+* [[flutter.dev is down|In case of emergency]]
+* [Issue prioritization](https://github.com/flutter/flutter/wiki/Issue-hygiene#priorities)
+* [Labels](https://github.com/flutter/flutter/wiki/Issue-hygiene#labels)
+* [Milestones](https://github.com/flutter/flutter/wiki/Issue-hygiene#milestones)
+* [Plugin compatibility policy](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#plugin-compatibility)
+* [Reviewing code](https://github.com/flutter/flutter/wiki/Tree-hygiene#how-to-review-code)
+* [RFC process](https://github.com/flutter/flutter/wiki/Issue-hygiene#how-to-propose-a-specific-change)
+* [Status of popular issues](https://github.com/flutter/flutter/wiki/Popular-issues)
+* [Submitting code, process for](https://github.com/flutter/flutter/wiki/Tree-hygiene#overview)
+* [Support levels, definitions of](https://github.com/flutter/flutter/wiki/Values#support)
+* [Symbolicating stack traces](https://github.com/flutter/flutter/wiki/Crashes)
+* [Threading in the Engine](https://github.com/flutter/flutter/wiki/The-Engine-architecture#threading)
+* [When will my bug be fixed?](https://github.com/flutter/flutter/wiki/Issue-hygiene#when-will-my-bug-be-fixed)
+* [Security best practices](https://github.com/flutter/flutter/wiki/security#Best-practices)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Hotfix-Documentation-Best-Practices.md b/docs/unsorted_wiki/Hotfix-Documentation-Best-Practices.md
new file mode 100644
index 0000000..a20db65
--- /dev/null
+++ b/docs/unsorted_wiki/Hotfix-Documentation-Best-Practices.md
@@ -0,0 +1,39 @@
+Production customers care a lot about hotfixes, since they may address issues that fix crashes on specific devices or platforms. We want customers to adopt hotfix releases quickly, and it’s therefore important that they understand what’s in them and what risks they may accept by adopting them.
+
+As a result, it’s important that Flutter customers can quickly scan through our hotfixes and identify whether they’re relevant to them. We can do that by making sure that each hotfix is described carefully.
+
+Our goal is that each hotfix summary:
+
+1. Should be clear to a non-contributor who is developing with Flutter
+2. Should be succinct (one line) for ease of scanning
+3. Within above, should identify as best as possible:
+ - What the scenario is (describe the problem)
+ - What platforms it affects
+ - In what context it may occur
+ - How likely it is to occur
+
+The goal is not to exhaustively document the issue, but to provide enough information that an educated user can quickly scan and determine whether they need to read through the bug itself to understand its applicability to their scenario.
+
+A good approach for hotfix messages is to describe the problem in terms of the current state prior to the fix. For example:
+
+> **“When $scenario [on $platform], $problem_description”**
+
+Some good existing examples of hotfix messages that adopt this kind of formula:
+
+- [flutter/90783](https://github.com/flutter/flutter/issues/90783): In rare circumstances, engine may crash during app termination on iOS and macOS
+- [flutter/77251](https://github.com/flutter/flutter/issues/77251): Flutter may show multiple snackbars when Scaffold is nested
+- [flutter/98155](https://github.com/flutter/flutter/issues/98155): App crashes after upgrading to 2.10.x using webview + video_player plugin
+
+Some harmless examples that are harder for customers to consume:
+
+- [flutter/97679](https://github.com/flutter/flutter/issues/97679): Don't remove overlay views when the rasterizer is being torn down.
+<br> _Problem_: It's unclear how this affects customer apps and in which contexts
+<br> _Perhaps better_: “App may crash when navigating away from embedded native platform content”
+
+- [flutter/95711](https://github.com/flutter/flutter/issues/95711): Linux builds default to building GLFW.
+<br> _Problem_: Unclear why this is a problem or how this impacts customers
+<br> _Perhaps better_: “On Linux, dependency on X11 breaks Wayland and embedded builds”
+
+- [flutter/97086](https://github.com/flutter/flutter/issues/97086): Windows: Fail to launch app in debug mode
+<br> _Problem_: While this explains the platform and scenario, it doesn’t mention the specific regression
+<br> _Perhaps better_: “Flutter apps fail to launch in debug mode when compiled with Visual Studio 17.1.0”
diff --git a/docs/unsorted_wiki/Hotfixes-to-the-Stable-Channel.md b/docs/unsorted_wiki/Hotfixes-to-the-Stable-Channel.md
new file mode 100644
index 0000000..67a5add
--- /dev/null
+++ b/docs/unsorted_wiki/Hotfixes-to-the-Stable-Channel.md
@@ -0,0 +1,689 @@
+In general, our philosophy is to update the `stable` channel on a quarterly basis with feature updates. In the intervening period, occasionally we may decide a bug or regression warrants a hotfix. We tend to be extremely conservative with these hotfixes, since there's always a risk that fixing one bug introduces a new one, and we want the `stable` channel to always represent our most tested builds.
+
+We intend to announce hotfixes to the [flutter-announce](https://groups.google.com/forum/#!forum/flutter-announce) group, and we recommend that you subscribe to that list if you publish an application using Flutter.
+
+Note that we only hotfix the latest version -- if you see bugs on older versions of the `stable` channel, please consider moving to the latest `stable` channel version.
+
+To ensure that you have the latest stable version with the hotfixes listed below, use the flutter tool at the command line as follows:
+
+```
+$ flutter channel stable
+$ flutter upgrade
+```
+
+<!--
+INTERNAL NOTE: PLEASE DON'T JUST PASTE ISSUE TITLES!
+
+Make sure that the text here helps customers understand
+whether they are likely to be affected by the issue,
+without them needing to read each issue individually.
+Our goal is to make the list easy for them to scan.
+
+More information and tips:
+https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices
+
+INTERNAL NOTE
+-->
+## Flutter 3.22 Changes
+
+### [3.22.0](https://github.com/flutter/flutter/releases/tag/3.22.0) (May 14, 2024)
+Initial stable release.
+
+## Flutter 3.19 Changes
+
+### [3.19.6](https://github.com/flutter/flutter/releases/tag/3.19.6) (April 17, 2024)
+* [dart/55430](https://github.com/dart-lang/sdk/issues/55430) - Fixes an issue with JS interop in dart2wasm where JS interop methods that used the enclosing library‘s @JS annotation were actually using the invocation’s enclosing library's @JS annotation.
+* [flutter/145563](https://github.com/flutter/flutter/issues/145563) - Fixes severe performance regression on Firefox in v. 3.19.
+* [flutter/144439](https://github.com/flutter/flutter/issues/144439) - Removes the --enable-impeller run flag and FLTEnableImpeller plist key on iOS.
+
+### [3.19.5](https://github.com/flutter/flutter/releases/tag/3.19.5) (March 28, 2024)
+* [dart/55211](https://github.com/dart-lang/sdk/issues/55211) - Fixes an issue where dart vm crashed when running on pre-SSE41 older CPUs on Windows.
+
+### [3.19.4](https://github.com/flutter/flutter/releases/tag/3.19.4) (March 21, 2024)
+* [flutter/144211](https://github.com/flutter/flutter/issues/144211) - Reverts a clipping optimization that is broken when multiple clips are applied with a backdrop filter.
+* [flutter/144213](https://github.com/flutter/flutter/issues/144213) - Fix flickering of gaussian blurs in scrolling containers.
+* [dart/55158](https://github.com/dart-lang/sdk/issues/55158) - Fixes an exception when executing hot reload after making compilation-successful changes.
+* [dart/55194](https://github.com/dart-lang/sdk/issues/55194) - Fix crashes on web platforms that contains an extension type declaration where the extension type constructor invokes a redirecting factory in its initializer.
+* [dart/55184](https://github.com/dart-lang/sdk/issues/55184) - Fix issues where it is unable to run commit queue and post-submit testing on beta and stable when Goma is shut down.
+* [dart/55240](https://github.com/dart-lang/sdk/issues/55240) - Fix DateTime.timeZoneName on Windows.
+
+### [3.19.3](https://github.com/flutter/flutter/releases/tag/3.16.3) (March 07, 2024)
+* [flutter/144565](https://github.com/flutter/flutter/issues/144565) - Fixes a tool crash when attempting to render a frame with raster stats on an application with the Impeller backend.
+* [dart/55057](https://github.com/dart-lang/sdk/issues/55057) - Fixes an issue in dart2js where object literal constructors in interop extension types would fail to compile without an `@JS` annotation on the library.
+* [dart/55095](https://github.com/dart-lang/sdk/issues/55095) - Disallows certain types involving extension types from being used as the operand of an `await` expression, unless the extension type itself implements`Future`.
+
+### [3.19.2](https://github.com/flutter/flutter/releases/tag/3.19.2) (February 28, 2024)
+* [flutter/143886](https://github.com/flutter/flutter/issues/143886) - Fixes a parsing issue that caused the Flutter tool to crash in some circumstances.
+
+### [3.19.1](https://github.com/flutter/flutter/releases/tag/3.19.1) (February 21, 2024)
+* [flutter/143574](https://github.com/flutter/flutter/issues/143574) - Fixes an issue in Flutter web builds that disallowed the use of`--flavor` while launching.
+
+## Flutter 3.16 Changes
+
+### [3.16.9](https://github.com/flutter/flutter/releases/tag/3.16.9) (January 25, 2024)
+* [dart/54699](https://github.com/dart-lang/sdk/issues/54699) - Fix an issue that causes Flutter apps to freeze when breakpoints are added to multiple isolates at the same time and an issue that causes Flutter apps to crash during hot reload.
+
+### [3.16.8](https://github.com/flutter/flutter/releases/tag/3.16.8) (January 17, 2024)
+* [dart/54494](https://github.com/dart-lang/sdk/issues/54494) - Fix Dart2js stack overflow in value range analysis.
+
+### [3.16.7](https://github.com/flutter/flutter/releases/tag/3.16.7) (January 11, 2024)
+* [dart/54427](https://github.com/dart-lang/sdk/issues/54427) - Upgrades Dart DevTools to version 2.28.5.
+* [dart/54428](https://github.com/dart-lang/sdk/issues/54428) - Fixes an issue with serving static DevTools assets.
+
+### [3.16.6](https://github.com/flutter/flutter/releases/tag/3.16.6) (January 10, 2024)
+* [flutter/141017](https://github.com/flutter/flutter/issues/141017) - Migrates event sent with every command for analytics.
+* [flutter/136060](https://github.com/flutter/flutter/issues/136060) - Fixes Xcode 15 crashes EXC_BAD_ACCESS when using the Networking framework.
+* [flutter/140416](https://github.com/flutter/flutter/issues/140416) - Fixes PathNotFoundException deleting temp dir in IOSCoreDeviceControl._listCoreDevices.
+* [dartlang/webdev/2297](https://github.com/dart-lang/webdev/issues/2297) - Fixes DWDS error when debugging on web.
+
+### [3.16.5](https://github.com/flutter/flutter/releases/tag/3.16.5) (December 20, 2023)
+* [flutter/138711](https://github.com/flutter/flutter/issues/138711) - Fixes AvailabilityVersionCheck failure on iOS
+* [flutter/139571](https://github.com/flutter/flutter/issues/139571) - Fixes AnimatedOpacity affecting blended color overlay render
+* [flutter/139294](https://github.com/flutter/flutter/issues/139294) - Fixes ImageFiltered flickers when widget is rendered on top
+* [flutter/138193](https://github.com/flutter/flutter/issues/138193) - Fixes testMultiplePlatformViewsWithOverlays test on MacOS
+
+### [3.16.4](https://github.com/flutter/flutter/releases/tag/3.16.4) (December 13, 2023)
+* [flutter/139180](https://github.com/flutter/flutter/issues/139180) - Fix tool crash on flutter create when unable to run Java.
+* [flutter/138434](https://github.com/flutter/flutter/issues/138434) - Fix tool crash on deleting directories that do not exist
+* [flutter/135277](https://github.com/flutter/flutter/issues/135277) - Eliminates an excessive amount of Xcode error/warning output to the console when building or running macOS Flutter apps.
+
+### [3.16.3](https://github.com/flutter/flutter/releases/tag/3.16.3) (December 5, 2023)
+* [CVE-2023-6345](https://nvd.nist.gov/vuln/detail/CVE-2023-6345) - Skia fix for possible integer overflow on Canvas calls with user generated data
+* [flutter/138550](https://github.com/flutter/flutter/issues/138550) - Fixes crash on iPad when selection "Share..." from selection controls.
+* [flutter/138842](https://github.com/flutter/flutter/issues/138842) - Fix rendering bug with elevation 0 material components.
+* [flutter/138850](https://github.com/flutter/flutter/issues/138850) - Add ability to customize NavigationBar indicator overlay and fixes a bug with the indicator shape.
+* [dart/53086](https://github.com/dart-lang/sdk/issues/53086) - DDS fix to ensure threadID integers are serialized correctly by Debug Adapter Protocol (DAP) clients.
+* [dart/53999](https://github.com/dart-lang/sdk/issues/53999) - Adjusts the nullablity computations in the implementation of the upper bound algorithm in the CFE
+* [dart/54112](https://github.com/dart-lang/sdk/issues/54112) - Fixes missing closure code completion entries for function parameters for LSP-based editors like VS Code.
+
+### [3.16.2](https://github.com/flutter/flutter/releases/tag/3.16.2) (November 30, 2023)
+* [flutter/138535](https://github.com/flutter/flutter/issues/138535) - Fixes android execution failed for task ':app:mergeDebugNativeLibs'.
+* [flutter/138598](https://github.com/flutter/flutter/issues/138598) - Fixes SVG rendering issue on IOS.
+
+### [3.16.1](https://github.com/flutter/flutter/releases/tag/3.16.1) (November 27, 2023)
+* [flutter/138030](https://github.com/flutter/flutter/issues/138030) - Fixes file deletion crash which can occur during iOS archive.
+* [flutter/134716](https://github.com/flutter/flutter/issues/134716) - Fix iOS 17 keyboard freeze when switching languages
+* [flutter/138180](https://github.com/flutter/flutter/issues/138180) - Prevents a crash in flutter doctor for macOS users who have an IntelliJ or Android Studio installation with a missing CFBundleIdentifier in its plist.
+* [flutter/138040](https://github.com/flutter/flutter/issues/138040) - Ignore exceptions in Flutter tool when trying to set the echo mode of the terminal when the STDIN pipe has been broken.
+* [flutter/124145](https://github.com/flutter/flutter/issues/124145) - Fixes a JSON array parsing bug that causes seg fault when --coverage is used
+
+### [3.16.0](https://github.com/flutter/flutter/releases/tag/3.16.0) (Nov 15, 2023)
+Initial stable release.
+
+## Flutter 3.13 Changes
+
+### [3.13.9](https://github.com/flutter/flutter/releases/tag/3.13.9) (October 25, 2023)
+* [dart/53784](https://github.com/dart-lang/sdk/issues/53784) - [dart2js] Fixes compatibility with Node.js 21
+
+### [3.13.8](https://github.com/flutter/flutter/releases/tag/3.13.8) (October 18, 2023)
+* [dart/53747](https://github.com/dart-lang/sdk/issues/53747) - Fixes a visual issue in the Dart VM preventing users from seeing variable values when debugging.
+* [flutter/136552](https://github.com/flutter/flutter/issues/136552) - [iOS] Fixes issues with voice over when visiting a PlatformView in iOS applications.
+* [flutter/136654](https://github.com/flutter/flutter/issues/136654) - [Android] Fixes rendering issues when using PlatformViews in Android applications on high refresh rate phones.
+
+### [3.13.7](https://github.com/flutter/flutter/releases/tag/3.13.7) (October 11, 2023)
+* [flutter/135442](https://github.com/flutter/flutter/issues/135442) - Fix Xcode 15 launch failure with iOS 17
+
+### [3.13.6](https://github.com/flutter/flutter/releases/tag/3.13.6) (September 27, 2023)
+* [flutter/133013](https://github.com/flutter/flutter/issues/133013) - [Impeller] Fix issues with PNG decompression
+* [flutter/132838](https://github.com/flutter/flutter/issues/132838) - Fix clip Imagefilter.blur on iOS
+* [dart/53579](https://github.com/dart-lang/sdk/issues/53579) - Fixes a compiler crash when using @staticInterop or @anonymous factory constructors with type parameters.
+* [dart/53503](https://github.com/dart-lang/sdk/issues/53503) - Fixes segmentation faults that terminate processes when encountering handled exceptions in the FFI library.
+* [dart/53541](https://github.com/dart-lang/sdk/issues/53541) - Fixes slow variable access while debugging Flutter applications.
+
+### [3.13.5](https://github.com/flutter/flutter/releases/tag/3.13.5) (September 20, 2023)
+* [flutter/134825](https://github.com/flutter/flutter/issues/134825) - Fixes an issue where apps built in profile mode would not install or run on physical iOS 17 devices.
+* [flutter/45598](https://github.com/flutter/engine/pull/45598) - Fix permissions on macos artifacts making mac framework readable and executable by all
+
+### [3.13.4](https://github.com/flutter/flutter/releases/tag/3.13.4) (September 13, 2023)
+* [dart/53449](https://github.com/dart-lang/sdk/issues/53449) - Fixes a dart2js issue causing a compiler crash when using a typed record pattern outside of the scope of a function body.
+* [dart/53450](https://github.com/dart-lang/sdk/issues/53450) - Fixes a pause in the debugger when reaching an unhandled exception.
+* [flutter/133658](https://github.com/flutter/flutter/issues/133658) - Fixes crash when using the --analyze-size argument.
+* [flutter/133890](https://github.com/flutter/flutter/issues/133890) - Fixes incorrect autocorrect highlights in text fields in iOS 17.
+* [flutter/134468](https://github.com/flutter/flutter/issues/134468) - Fixes an issue where users are not able to input text for IME language in iOS 17.
+* [flutter/45742](https://github.com/flutter/engine/pull/45742) - Fixes CVE-2023-4863 - Security vulnerability in WebP.
+
+### [3.13.3](https://github.com/flutter/flutter/releases/tag/3.13.3) (September 7, 2023)
+
+* [flutter/133147](https://github.com/flutter/flutter/issues/133147) - fixes image-picker crashes on iOS
+* [flutter/133069](https://github.com/flutter/flutter/issues/133069) - fixes issue where console prints dart:ui_web warnings in new flutter project
+* [flutter/133441](https://github.com/flutter/flutter/issues/133441) - fixes issue where `flutter upgrade` crashes and reports "unknown flutter tag".
+* [flutter/133055](https://github.com/flutter/flutter/issues/133055) - fixes issue where running `flutter doctor` crashes on FileSystemException
+* [flutter/132788](https://github.com/flutter/flutter/issues/132788) - fixes a visual overflow caused by SliverMainAxisGroup where clip behavior isn’t applied
+
+### [3.13.2](https://github.com/flutter/flutter/releases/tag/3.13.2) (August 30, 2023)
+
+* [flutter/132764](https://github.com/flutter/flutter/pull/132764) - Fixes lower bound of children from TwoDimensionalChildBuilderDelegate.
+
+### [3.13.1](https://github.com/flutter/flutter/releases/tag/3.13.1) (August 23, 2023)
+
+* [flutter/132883](https://github.com/flutter/flutter/issues/132883) - Fixes an issue where Flutter apps would not compile when using custom icon fonts that contain spaces.
+* [flutter/132959](https://github.com/flutter/flutter/issues/132959) - Fixes an issue where macOS applications using plugins with Xcode 15 would not compile.
+* [flutter/132763](https://github.com/flutter/flutter/issues/132763) - Fixes auto-correction position in iOS 17.
+* [flutter/132982](https://github.com/flutter/flutter/issues/132982) - [Impeller] Fixes an issue where applications would freeze if the app was minimized while an animation was occurring.
+
+## Flutter 3.10 Changes
+
+### [3.10.6](https://github.com/flutter/flutter/releases/tag/3.10.6) (July 12, 2023)
+
+* [flutter/129161](https://github.com/flutter/flutter/issues/129161) - Fix regression in the GestureRecognizers used by the TextField where it would not fire the onTapDown or onTapUp callbacks which made selection not work
+* [flutter/130084](https://github.com/flutter/flutter/issues/130084) - Using canvas.drawPicture where the nested picture fails to restore clips established in the child picture and makes content disappear.
+* [dart/52767](https://github.com/dart-lang/sdk/issues/52767) - Fixes a flow in flow analysis that causes it to sometimes ignore destructuring assignments.
+* [dart/52869](https://github.com/dart-lang/sdk/issues/52869) - Fixes an infinite loop in some web development compiles that include `is` or `as` expressions involving record types with named fields.
+* [dart/52791](https://github.com/dart-lang/sdk/issues/52791) - Fixes a memory leak in Dart analyzer's file-watching.
+* [dart/52793](https://github.com/dart-lang/sdk/issues/52793) - Fixes a memory leak of file system watcher related data structures.
+
+### [3.10.5](https://github.com/flutter/flutter/releases/tag/3.10.5) (June 14, 2023)
+
+* [flutter/127628](https://github.com/flutter/flutter/pull/127628) - Fixes an issue preventing the use of `integration_test` when using AGP 8.0.
+* [flutter/126043](https://github.com/flutter/flutter/issues/126403) - Fixes an error encountered when attempting to use `add-to-app` on Android when generating Flutter modules.
+* [flutter/127090](https://github.com/flutter/flutter/issues/127090) - Fixes an issue preventing assets from being displayed properly on low pixel density devices.
+* [flutter/128320](https://github.com/flutter/flutter/issues/128230) - Fixes an issue where image assets are not displayed when serving with Microsoft IIS.
+* [dart/52403](https://github.com/dart-lang/sdk/issues/52403) - Fixes a bad cast in the frontend which can manifest as a crash in the dart2js
+`ListFactorySpecializer` during Flutter web builds.
+* [dart/1224](https://github.com/dart-lang/dart_style/issues/1224) - Handles formatting nullable record types with no fields.
+* [dart/52480](https://github.com/dart-lang/sdk/issues/52480) - Fixes error when using records when targeting the web in development mode.
+
+### [3.10.4](https://github.com/flutter/flutter/releases/tag/3.10.4) (June 07, 2023)
+
+* [flutter/127836](https://github.com/flutter/flutter/issues/127836) - Fixes SliverAppBar's FlexibleSpaceBar overlaps
+
+
+### [3.10.3](https://github.com/flutter/flutter/releases/tag/3.10.3) (June 02, 2023)
+
+* [flutter/126435](https://github.com/flutter/flutter/issues/126435) - Fixes the position of `SearchAnchor` when used in a nested navigator.
+* [flutter/127486](https://github.com/flutter/flutter/issues/127486) - [Impeller] Fixes an issue causing noise when using combinations of UV mapping and color blending.
+* [flutter/126878](https://github.com/flutter/flutter/issues/126878) - [Impeller] Fixes an issue where images do not appear on iOS devices.
+* [flutter/1127587](https://github.com/flutter/flutter/issues/124612) - [Impeller] Fixes a crash when applying backdrop blurs to platform views.
+* [flutter/127103](https://github.com/flutter/flutter/issues/127103) - [Impeller] Fixes an issue where text is not rendered correctly when a transform is applied.
+* [flutter/126487](https://github.com/flutter/flutter/issues/126487) - [Impeller] Fixes an issue where blur is not respected at certain value.
+* [dart/52449](https://github.com/dart-lang/sdk/issues/52449) - Fixes an AOT compiler crash when generating an implicit getter returning an unboxed record.
+* [dart/52373](https://github.com/dart-lang/sdk/issues/52373) - Fixes a situation in which variables appearing in multiple branches of an or-pattern might be erroneously reported as being mismatched.
+* [dart/52334](https://github.com/dart-lang/sdk/issues/52334) - Adds missing `interface` modifiers on the purely abstract classes `MultiStreamController`, `StreamConsumer`, `StreamIterator` and `StreamTransformer`.
+* [dart/52373](https://github.com/dart-lang/sdk/issues/52373) - Fixes an error during debugging when `InternetAddress.tryParse` is used.
+* [dart/126884](https://github.com/flutter/flutter/issues/126884) - Fixes a VM issue causing crashes on hot reload.
+* [dart/4195](https://github.com/dart-lang/linter/issues/4195) - Improves linter support.
+* [dart/52439](https://github.com/dart-lang/sdk/issues/52439) - Fixes an issue in variable patterns preventing users from expressing a pattern match using a variable or wildcard pattern with a nullable record type.
+* [dart/52386](https://github.com/dart-lang/sdk/issues/52386) - Updates warnings and provide instructions for updating the Dart pub cache on Windows.
+
+### [3.10.2](https://github.com/flutter/flutter/releases/tag/3.10.2) (May 24, 2023)
+This hotfix release addresses the following issues:
+* [flutter/126532](https://github.com/flutter/flutter/issues/126532) - [Impeller] Fixes saveLayer ignores opacity of paint with blend mode lighten.
+* [flutter/126739](https://github.com/flutter/flutter/issues/126739) - [Impeller] Fixes ImageShader alignment is different for different PaintingStyle.
+* [flutter/126701](https://github.com/flutter/flutter/issues/126701) - [Impeller] Fixes InkSparkle splash not clipping on iOS.
+* [flutter/126661](https://github.com/flutter/flutter/issues/126661) - Fixes PointerInterceptor reverses transformHitTests in a scaled context.
+* [flutter/127183](https://github.com/flutter/flutter/issues/127183) - [Impeller] Fixes drawing path with image shader is not correct.
+* [dart/52438](https://github.com/dart-lang/sdk/issues/52438) - Fixes a dart2js crash when using a switch case expression on a record where the fields don't match the cases.
+* [dart/3392](https://github.com/dart-lang/dartdoc/issues/3392) - Add chips for class and mixin pages on dartdoc generated pages.
+* [dart/52352](https://github.com/dart-lang/sdk/issues/52352) - Fixes a situation causing the parser to fail resulting in an infinite loop leading to higher memory usage.
+* [dart/52078](https://github.com/dart-lang/sdk/issues/52078) - Add clear errors when mixing inheritance in pre and post Dart 3 libraries.
+
+
+### [3.10.1](https://github.com/flutter/flutter/releases/tag/3.10.1) (May 17, 2023)
+
+This hotfix release addresses the following issues:
+* [flutter/126510](https://github.com/flutter/flutter/issues/125276) - [Impeller] Fixes errors in text transformation when using impeller.
+* [flutter/126854](https://github.com/flutter/flutter/issues/126854) - [Impeller] Fixes visual glitches and crashes when using wide gamut color support on iOS.
+* [flutter/124883](https://github.com/flutter/flutter/issues/124883) - Fixes an issue where images do not render on Flutter web apps when the host machine has Internet Download Manager installed.
+* [flutter/126491](https://github.com/flutter/flutter/issues/126491) - Fixes an issue where `CupertinoPicker` and `ListWheelViewport` crash with certain configurations on development builds.
+* [flutter/124529](https://github.com/flutter/flutter/issues/124529) - Fixes an issue where iOS and macOS apps will not build when using Xcode 14.3 and adding dependencies with low iOS target versions.
+* [flutter/122376](https://github.com/flutter/flutter/issues/122376) - Adds a migrator to update the Gradle version when it conflicts with the Android Studio version of Java is detected.
+* [dart/124369](https://github.com/flutter/flutter/issues/124369) - Fixes a compiler crash involving redirecting factories and FFI.
+* [dart/51899](https://github.com/dart-lang/sdk/issues/51899) - Fixes a dart2js crash when using a combination of local functions, generics, and records.
+* [dart/52191](https://github.com/dart-lang/sdk/issues/52191) - Fixes incorrect error using a void in a switch case expression.
+* [dart/52041](https://github.com/dart-lang/sdk/issues/52041) - Fixes a false error when using in switch case expressions when the switch refers to a private getter.
+* [dart/52260](https://github.com/dart-lang/sdk/issues/52260) - Prevent the use of when and as as variable names in patterns.
+* [dart/52241](https://github.com/dart-lang/sdk/issues/52241) - Fixes an inconsistency in type promotion between the analyzer and VM.
+* [dart/1212](https://github.com/dart-lang/dart_style/issues/1212) - Improve performance on functions with many parameters.
+
+### [3.10.0](https://github.com/flutter/flutter/releases/tag/3.10.0) (May 10, 2023)
+Initial stable release.
+
+## Flutter 3.7 Changes
+
+### [3.7.12](https://github.com/flutter/flutter/releases/tag/3.7.12) (Apr 19, 2023)
+
+This hotfix release addresses the following issues:
+
+* [flutter/124838](https://github.com/flutter/flutter/issues/124838) - Support Gradle 8
+
+### [3.7.11](https://github.com/flutter/flutter/releases/tag/3.7.11) (Apr 12, 2023)
+
+This hotfix release addresses the following issues:
+
+* [flutter/124529](https://github.com/flutter/flutter/issues/124529) - Fix Xcode 14.3 will not build when plugin transitive dependencies have a low deployment target
+ * [flutter/124340](https://github.com/flutter/flutter/issues/124340) - Fixes an issue where iOS and MacOS fail to build when targeting low deployment targets when using xCode 14.3.
+* [flutter/124208](https://github.com/flutter/flutter/issues/124208) - Fix orientation preferences on iOS 16+
+ * [flutter/116711](https://github.com/flutter/flutter/issues/116711) - Fixes an issue where orientation preferences are not respected on iOS 16 and above.
+* [flutter/124403](https://github.com/flutter/flutter/issues/124403) - Clarify errors around Java/Gradle incompatibility
+ * [flutter/122376](https://github.com/flutter/flutter/issues/122376) - Clarify errors around Java/Gradle incompatibility.
+
+### [3.7.10](https://github.com/flutter/flutter/releases/tag/3.7.10) (Apr 05, 2023)
+This hotfix release addresses the following issues:
+* [flutter/123890](https://github.com/flutter/flutter/issues/123890) - Fixes an issue where upgrading to Xcode 14.3 breaks the ability to publish iOS and macOS applications.
+
+### [3.7.9](https://github.com/flutter/flutter/releases/tag/3.7.9) (Mar 30, 2023)
+This hotfix release addresses the following issues:
+* [dart/51798](https://github.com/dart-lang/sdk/issues/51798) - Fixes a false `Out of Memory` exception causing slowdowns.
+
+### [3.7.8](https://github.com/flutter/flutter/releases/tag/3.7.8) (Mar 22, 2023)
+This hotfix release addresses the following issues:
+* [flutter/119441](https://github.com/flutter/flutter/issues/119441) - Fixes an issue where the `Toolbar` widget is incorrectly positioned when inside of a textfield in the Appbar.
+
+### [3.7.7](https://github.com/flutter/flutter/releases/tag/3.7.7) (Mar 08, 2023)
+This hotfix release addresses the following issues:
+* [flutter/121256](https://github.com/flutter/flutter/issues/121256) - Fixes an issue where Android users can not use add2app because it can not locate build/host/apk/app-debug.apk.
+* [engine/120455](https://github.com/flutter/flutter/issues/120455)
+Cached DisplayList opacity inheritance fix.
+* [dart/121270](https://github.com/flutter/flutter/issues/121270) - Fixes mobile device VM crashes caused by particular use of RegExp on mobile devices.
+
+### [3.7.6](https://github.com/flutter/flutter/releases/tag/3.7.6) (Mar 01, 2023)
+This hotfix release addresses the following issues:
+* [dart/50981](https://github.com/dart-lang/sdk/issues/50981) - Improve performance of Dart Analysis Server by limiting the analysis context to 1.
+* [dart/51481](https://github.com/dart-lang/sdk/issues/51481) - Update DDC test and builder configuration
+* [flutter/114031](https://github.com/flutter/flutter/issues/114031) - Fixes a crash when using `flutter doctor --android-licenses` on macOS.
+* [flutter/106674](https://github.com/flutter/flutter/issues/106674) - Fixes an issue where Flutter is unable to find the current JDK in specific versions of Android Studio.
+
+### [3.7.5](https://github.com/flutter/flutter/releases/tag/3.7.5) (Feb 22, 2023)
+This hotfix release addresses the following issues:
+* [flutter/119180](https://github.com/flutter/flutter/issues/119180) - Apple Pencil writes on Flutter apps instead of scrolling when outside of a text field.
+* [flutter/120220](https://github.com/flutter/flutter/issues/120220) - [Impeller] Flutter apps may crash when some clip operations are used.
+
+### [3.7.4](https://github.com/flutter/flutter/releases/tag/3.7.4) (Feb 21, 2023)
+This hotfix release addresses the following issues:
+* [flutter/116360](https://github.com/flutter/flutter/issues/116360) - Flutter web apps will not load if accessed through any other path than `/`.
+* [flutter/119557](https://github.com/flutter/flutter/issues/119557) - Localization files incorrectly overridden stopping Flutter applications from running.
+* [flutter/116459](https://github.com/flutter/flutter/issues/116459) - Localization files do not parse when using numbers as select cases.
+
+### [3.7.3](https://github.com/flutter/flutter/releases/tag/3.7.3) (Feb 9, 2023)
+This hotfix release addresses the following issues:
+* [flutter/119507](https://github.com/flutter/flutter/issues/119507) - Asset inclusion regression can cause unexpected app bundle size increase
+* [flutter/119289](https://github.com/flutter/flutter/issues/119289) - [Impeller] ImageFilter.blur Edge sampling issue.
+* [flutter/119950](https://github.com/flutter/flutter/issues/119950) - [Impeller] Improve blur performance for Android and iPad Pro.
+* [flutter/119190](https://github.com/flutter/flutter/pull/119190) - Fix lexer issue where select/plural/other/underscores cannot be in identifier names.
+
+### [3.7.2](https://github.com/flutter/flutter/releases/tag/3.7.2) (Feb 8, 2023)
+This hotfix release addresses the following issues:
+* [flutter/119881](https://github.com/flutter/flutter/issues/119881) - [Impeller] App performance decreases when using emulated dashed lines.
+* [flutter/119245](https://github.com/flutter/flutter/issues/119245) - [Impeller] App crashes due to invalid textures when using impeller.
+* [flutter/119489](https://github.com/flutter/flutter/issues/119489) - [Impeller] Text glyphs render incorrectly on different font weights
+* [flutter/103847](https://github.com/flutter/flutter/issues/103847) - Fix animation jank on some iPhone models.
+* [flutter/119593](https://github.com/flutter/flutter/issues/119593) - Localization files fail to generate when `FLUTTER_STORAGE_BASE_URL` is overridden.
+* [flutter/119084](https://github.com/flutter/flutter/issues/119084) - When requesting to evaluate multiple expressions while debugging Flutter web apps, tooling fails before finishing operations.
+* [flutter/119261](https://github.com/flutter/flutter/issues/119261) - Flutter tool crashes when attempting to update the artifact cache.
+* [flutter/117420](https://github.com/flutter/flutter/issues/117420) - Ink ripple is rendered incorrectly inside of the `NavigationBar` widget when using Material 3.
+* [dart/50622](https://github.com/dart-lang/sdk/issues/50622) - VM crashes when mixing the use of double and float calculations in debug/JIT configuration.
+* [flutter/119220](https://github.com/flutter/flutter/issues/119220) - Compiler may crash when attempting to inline a method with lots of optional parameters with distinct default values.
+* [dart/51087](https://github.com/dart-lang/sdk/issues/51087) - `part_of_different_library` error may be encountered when using `PackageBuildWorkspace`.
+
+### [3.7.1](https://github.com/flutter/flutter/releases/tag/3.7.1) (Feb 1, 2023)
+This hotfix release addresses the following issues:
+* [flutter/116782](https://github.com/flutter/flutter/issues/116782) - Material 3 Navigation Drawer does not support scrolling or safe areas
+* [flutter/119414](https://github.com/flutter/flutter/issues/119414) - ImageFilter in ListView causes wrong offset on Android and iOS
+* [flutter/119181](https://github.com/flutter/flutter/issues/119181) - CastError when running `flutter pub get`
+* [flutter/118613](https://github.com/flutter/flutter/issues/118613) - [Impeller] Fonts are blurry when rendering on iOS
+* [flutter/118945](https://github.com/flutter/flutter/issues/118945) - [Impeller] Objects with large stroke width not drawn correctly on iOS
+* [flutter/117428](https://github.com/flutter/flutter/issues/117428) - [Impeller] Text is transformed incorrectly on iOS
+* [flutter/119072](https://github.com/flutter/flutter/issues/119072) - [Impeller] Draw calls could be improperly culled
+* [flutter/118847](https://github.com/flutter/flutter/issues/118847) - [Impeller] Float samplers can get re-ordered compared to SkSL
+* [flutter/119014](https://github.com/flutter/flutter/issues/119014) - Replace iPhone 6s with iPhone 11 as flutter test devices
+
+### [3.7.0](https://github.com/flutter/flutter/releases/tag/3.7.0) (Jan 24, 2023)
+Initial stable release.
+
+## Flutter 3.3 Changes
+
+### [3.3.10](https://github.com/flutter/flutter/releases/tag/3.3.10) (Dec 16, 2022)
+This hotfix release addresses the following issues:
+* [flutter/113314](https://github.com/flutter/flutter/issues/113314) - Glitches appear when scrolling on Android TV devices.
+* [flutter/80401](https://github.com/flutter/flutter/issues/80401) - Some widgets are not visible when nested inside of `ClipRRect` in CanvasKit mode when using Flutter web on Safari.
+
+### [3.3.9](https://github.com/flutter/flutter/releases/tag/3.3.9) (Nov 23, 2022)
+This hotfix release addresses the following issues:
+* [dart/50199](https://github.com/dart-lang/sdk/issues/50119) - fix error when using private variable setters in mixins on dart web.
+* [dart/50392](https://github.com/dart-lang/sdk/issues/50392) - Type parameter nullability performs incorrectly in factory constructors.
+
+### [3.3.8](https://github.com/flutter/flutter/releases/tag/3.3.8) (Nov 09, 2022)
+This hotfix release addresses the following issues:
+* [flutter/113973](https://github.com/flutter/flutter/issues/113973) - Fix null safety issue in TextFormField when Android devices pass no data
+* [flutter/109632](https://github.com/flutter/flutter/issues/109632) - Fix type conversion in TextInput that didn’t allow num types
+
+### [3.3.7](https://github.com/flutter/flutter/releases/tag/3.3.6) (Nov 2, 2022)
+This hotfix release addresses the following issues:
+* [flutter/113550](https://github.com/flutter/flutter/issues/113550) - Fix unnecessary null safe exceptions in input decorators on Android
+* [flutter/100522](https://github.com/flutter/flutter/issues/100522) - Speculative fix for iOS screen flickering
+
+### [3.3.6](https://github.com/flutter/flutter/releases/tag/3.3.6) (Oct 26, 2022)
+This hotfix release addresses the following issues:
+* [flutter/111255](https://github.com/flutter/flutter/issues/111255) - Using WebView leads to size error in platform_views since Flutter 3.3.0
+
+### [3.3.5](https://github.com/flutter/flutter/releases/tag/3.3.5) (Oct 19, 2022)
+This hotfix release addresses the following issues:
+* [flutter/113035](https://github.com/flutter/flutter/pull/113035) - Apps crash when `FadeInImage` switches from cached to uncached images.
+* [flutter/112228](https://github.com/flutter/flutter/pull/112228) - Move documentation build and deployment to post-submit.
+* [flutter/36807](https://github.com/flutter/engine/pull/36807) - Apps crash when combining emojis and Korean text.
+* [flutter/112887](https://github.com/flutter/flutter/pull/112887) - When debugging web apps, erroneous errors are displayed.
+
+### [3.3.4](https://github.com/flutter/flutter/releases/tag/3.3.4) (Oct 05, 2022)
+This hotfix release addresses the following issues:
+* [Flutter/36181](https://github.com/flutter/engine/pull/36181) - On Flutter desktop apps, pixel snapping performs incorrectly when using opacity layers at certain DPRs and screen sizes.
+* [flutter/36491](https://github.com/flutter/engine/pull/36491) - On android devices with a refresh rate greater than 60hz, frames jump when scrolling.
+
+### [3.3.3](https://github.com/flutter/flutter/releases/tag/3.3.3) (Sept 28, 2022)
+This hotfix release addresses the following issues:
+* [flutter/111475](https://github.com/flutter/flutter/issues/111475) - Signing errors on iOS pod bundle resources on Xcode 14 "Signing for "x" requires a development team."
+* [flutter/110671](https://github.com/flutter/flutter/issues/110671) - App crashes on latest versions when AnimatedContainer / Container height is set to 0 and throws uncaught exception
+* [flutter/107590](https://github.com/flutter/flutter/issues/107590) - Flutter tools ShaderCompilerException with exit code -1073740791.
+* [flutter/110640](https://github.com/flutter/flutter/issues/110640) - Fatal crash with java.lang.AssertionError when selecting text in TextField.
+* [dart/50075](https://github.com/dart-lang/sdk/issues/50075) - Security vulnerability: There is a auth bypass vulnerability in Dart SDK, specifically dart:uri core library, used to parse and validate URLs.
+* [dart/50052](https://github.com/dart-lang/sdk/issues/50052) - Avoid CFE crash when input contains invalid super parameters usage.
+
+### [3.3.2](https://github.com/flutter/flutter/releases/tag/3.3.2) (Sept 14, 2022)
+This hotfix release addresses the following issues:
+* [flutter/111411](https://github.com/flutter/flutter/issues/111411) - Package assets fail to load.
+* [flutter/111296](https://github.com/flutter/flutter/issues/111296) - Custom embedders fail to build for 32 bit targets.
+* [flutter/111274](https://github.com/flutter/flutter/issues/111274) - Android plugins crash when using platform view's Virtual Display fallback.
+* [flutter/111231](https://github.com/flutter/flutter/issues/111231) - Text rendering is handled incorrectly.
+* [dart/49923](https://github.com/dart-lang/sdk/issues/49923) - Incorrect type propagation when using `late` variables in catch blocks.
+
+### [3.3.1](https://github.com/flutter/flutter/releases/tag/3.3.1) (Sept 7, 2022)
+This hotfix release addresses the following issues:
+* [flutter/110820](https://github.com/flutter/flutter/issues/110820) - Windows apps crash when accessibility is enabled on apps that use widgets with custom semantic actions.
+
+### [3.3.0](https://github.com/flutter/flutter/releases/tag/3.3.0) (Aug 30, 2022)
+Initial stable release.
+## Flutter 3.0 Changes
+### [3.0.5](https://github.com/flutter/flutter/releases/tag/3.0.5) (July 13, 2022)
+This hotfix release addresses the following issues:
+* [flutter/106601](https://github.com/flutter/flutter/issues/106601) - Flutter tool fails on visual studio on certain locales on Windows.
+* [flutter/106510](https://github.com/flutter/flutter/issues/106510) - Flutter crashes on launch on ARM devices.
+* [dart/49054](https://github.com/dart-lang/sdk/issues/49054) - Improves code completion for Flutter.
+* [dart/49402](https://github.com/dart-lang/sdk/issues/49402) - Compiler crashes when using Finalizable parameters.
+### [3.0.4](https://github.com/flutter/flutter/releases/tag/3.0.4) (July 1, 2022)
+This hotfix release addresses the following issues:
+* [flutter/105183](https://github.com/flutter/flutter/issues/105183) - Pointer compression on iOS causes OOM
+* [flutter/103870](https://github.com/flutter/flutter/issues/103870) - Application crashes on system low memory events
+* [flutter/105674](https://github.com/flutter/flutter/issues/105674) - Rendering artifacts from ImagedFiltered/ColorFiltered in animated views
+### [3.0.3](https://github.com/flutter/flutter/releases/tag/3.0.3) (June 22, 2022)
+This hotfix release addresses the following issues:
+* [dart/49188](https://github.com/dart-lang/sdk/issues/49188) - Improve analysis of enums and switch.
+* [dart/49075](https://github.com/dart-lang/sdk/issues/49075) - Fix compiler crash when initializing Finalizable objects.
+### [3.0.2](https://github.com/flutter/flutter/releases/tag/3.0.2) (June 10, 2022)
+This hotfix release addresses the following issues:
+* [flutter/104785](https://github.com/flutter/flutter/issues/104785) - Flutter web apps show a black screen on Safari 13.
+* [flutter/102451](https://github.com/flutter/flutter/issues/102451) - `flutter doctor` crashes for Windows users using Visual Studio 2022.
+* [flutter/103846](https://github.com/flutter/flutter/issues/103846) - Unexpected line breaks occur when using new text renderer.
+* [flutter/104569](https://github.com/flutter/flutter/pull/104569) - Ink Sparkle slows down applications using Material 3.
+* [flutter/103404](https://github.com/flutter/flutter/issues/103404) - SliverReorderableList does not drag on Android devices.
+* [flutter/103556](https://github.com/flutter/flutter/issues/103566) - Nested horizontal sliders in widgets with horizontal drag gestures do not work in Android applications.
+ * [flutter/100375](https://github.com/flutter/flutter/issues/100375) - Build process fails when building Windows applications.
+ * [dart/49027](https://github.com/dart-lang/sdk/issues/49027) - Code suggestion for initState/dispose/setState no longer work on intellij.
+* [dart/3424](https://github.com/dart-lang/pub/issues/3424) - `dart pub login` fails when attempting to publish a package.
+* [dart/49097](https://github.com/dart-lang/sdk/issues/49097) - `dart analyze` throws errors when using enhance Enums feature.
+### [3.0.1](https://github.com/flutter/flutter/releases/tag/3.0.1) (May 19, 2022)
+This hotfix release addresses the following issues:
+ * [flutter/102947](https://github.com/flutter/flutter/issues/102947) - Radial gradients behave incorrectly when painting text.
+### [3.0.0](https://github.com/flutter/flutter/releases/tag/3.0.0) (May 11, 2022)
+Initial stable release.
+## Flutter 2.10 Changes
+### [2.10.5](https://github.com/flutter/flutter/releases/tag/2.10.5) (April 18, 2022)
+This hotfix release addresses the following issues:
+ * [flutter/101224](https://github.com/flutter/flutter/issues/101224) - Flutter web debugger fails when using chrome 100 or greater.
+### [2.10.4](https://github.com/flutter/flutter/releases/tag/2.10.4) (March 28, 2022)
+This hotfix release addresses the following issues:
+ * [flutter/93871](https://github.com/flutter/flutter/issues/93871) - Custom embedders fail to build when using default sysroot (GCC 11).
+ * [dart/48559](https://github.com/dart-lang/sdk/issues/48559) - Flutter web apps crash when using package:freezed.
+### [2.10.3](https://github.com/flutter/flutter/releases/tag/2.10.3) (March 02, 2022)
+This hotfix release addresses the following issues:
+ * [flutter/98973](https://github.com/flutter/flutter/issues/98973) - Deadlock in application startup in profile/release mode.
+ * [flutter/98739](https://github.com/flutter/flutter/issues/98739) - ios: Visual glitch when scrolling a list in a Scaffold that has a Material and Container as bottomNavigationBar.
+ * [flutter/97086](https://github.com/flutter/flutter/issues/97086) - Windows: Fail to launch app in debug mode.
+### [2.10.2](https://github.com/flutter/flutter/releases/tag/2.10.2) (February 18, 2022)
+This hotfix release addresses the following issues:
+ * [flutter/95211](https://github.com/flutter/flutter/issues/95211) - Transform animation with BackdropFilter is causing a crash.
+ * [flutter/98155](https://github.com/flutter/flutter/issues/98155) - App crashes after upgrading to 2.10.x using webview + video_player plugin.
+ * [flutter/98361](https://github.com/flutter/flutter/issues/98361) - Error in DL bounds calculations causes incorrect SVG rendering.
+ * [flutter/97767](https://github.com/flutter/flutter/issues/97767) - New material icons are not properly rendered.
+ * [flutter/95711](https://github.com/flutter/flutter/issues/95711) - Linux builds default to building GLFW.
+### [2.10.1](https://github.com/flutter/flutter/releases/tag/2.10.1) (February 9, 2022)
+This hotfix release addresses the following issues:
+ * [flutter/94043](https://github.com/flutter/flutter/issues/94043) - Autofill does not work in `TextField`.
+ * [flutter/96411](https://github.com/flutter/flutter/issues/96411) - Safari: Unable to enter text into `TextField`.
+ * [flutter/96661](https://github.com/flutter/flutter/issues/96661) - Platform views throw fatal exception: Methods marked with @UiThread must be executed on the main thread.
+ * [flutter/97103](https://github.com/flutter/flutter/issues/97103) - Images become corrupted when using CanvasKit.
+ * [flutter/97679](https://github.com/flutter/flutter/issues/97679) - Don't remove overlay views when the rasterizer is being torn down.
+ * [dart/48301](https://github.com/dart-lang/sdk/issues/48301) - Avoid speculative conversion in ffi Pointer.asTypedList.
+### [2.10.0](https://github.com/flutter/flutter/releases/tag/2.10.0) (February 3, 2022)
+Initial stable release.
+## Flutter 2.8 Changes
+### [2.8.1](https://github.com/flutter/flutter/releases/tag/2.8.1) (December 16, 2021)
+This hotfix release addresses the following issues:
+ * [flutter/94914](https://github.com/flutter/flutter/issues/94914) - Apps using `google_sign_in` or `google_maps` don't build in iOS Simulator on ARM macOS
+ * [flutter/90783](https://github.com/flutter/flutter/issues/90783) - In rare circumstances, engine may crash during app termination on iOS and macOS
+ * [dart/47914](https://github.com/dart-lang/sdk/issues/47914) - AOT compilation fails with error "Invalid argument(s): Missing canonical name for Reference"
+ * [dart/47815](https://github.com/dart-lang/sdk/issues/47815) - Running `dart pub publish` with custom pub package server that has URL containing a path may fail.
+
+### [2.8.0](https://github.com/flutter/flutter/releases/tag/2.8.0) (December 8, 2021)
+Initial stable release.
+
+## Flutter 2.5 Changes
+### [2.5.3](https://github.com/flutter/flutter/releases/tag/2.5.3) (October 15, 2021)
+This hotfix release addresses the following issues:
+ * [dart/47321](https://github.com/dart-lang/sdk/issues/47321) - Fix a potential out-of-memory condition with analysis server plugins
+ * [dart/47432](https://github.com/dart-lang/sdk/issues/47432) - Fix certificate loading on Windows when there are expired certificates
+ * [flutter/83792](https://github.com/flutter/flutter/issues/83792) - Fix HTTPS issue related to: "HttpClient throws Invalid argument(s): Invalid internet address"
+
+### [2.5.2]((https://github.com/flutter/flutter/releases/tag/2.5.2)) (September 30, 2021)
+This hotfix release addresses the following issues:
+ * [dart/47285](https://github.com/dart-lang/sdk/issues/47285) - Fix a regression to the performance of code completions
+ * [dart/47316](https://github.com/dart-lang/sdk/issues/47316) - Dynamic tables in ELF files have invalid relocated addresses
+ * [flutter/89912](https://github.com/flutter/flutter/issues/89912) - Building iOS app generates unnecessary Flutter.build folder
+
+### [2.5.1]((https://github.com/flutter/flutter/releases/tag/2.5.1)) (September 17, 2021)
+This hotfix release addresses the following issues:
+ * [flutter/88767](https://github.com/flutter/flutter/issues/88767) - java.lang.SecurityException: Permission denial crash at launch
+ * [flutter/88236](https://github.com/flutter/flutter/issues/88236) - null check exception during keyboard keypress
+ * [flutter/88221](https://github.com/flutter/flutter/issues/88221) - Material routes delayed on push and pop
+ * [flutter/84113](https://github.com/flutter/flutter/issues/84113) - HTTP exceptions talking to VM Service
+ * [flutter/83632](https://github.com/flutter/flutter/issues/83632) - Scroll view velocity too high
+
+### 2.5.0 (September 8, 2021)
+Initial stable release.
+
+## Flutter 2.2 Changes
+### [2.2.3](https://github.com/flutter/flutter/pull/85719) (July 2, 2021)
+This hotfix release addresses the following issues:
+ * [flutter/84212](https://github.com/flutter/flutter/issues/84212) - Upgrading to 2.2.1 cause main.dart to crash
+ * [flutter/83213](https://github.com/flutter/flutter/issues/83213) - TextFormField not responding to inputs on Android when typing on Microsoft SwiftKey
+ * [flutter/82838](https://github.com/flutter/flutter/issues/82838) - Flutter Web failing to compile with "Undetermined Nullability"
+ * [flutter/82874](https://github.com/flutter/flutter/issues/82874) - PopupMenuButton is broken after upgrade to Flutter 2.2.
+
+### [2.2.2](https://github.com/flutter/flutter/pull/84364) (June 11, 2021)
+This hotfix release addresses the following issues:
+ * [dart/46249](https://github.com/dart-lang/sdk/issues/46249) - Ensure start/stop file watching requests are run on the dart thread.
+ * [dart/46210](https://github.com/dart-lang/sdk/issues/46210) - Fix an analyze crash when analyzing against package:meta v1.4.0
+ * [dart/46173](https://github.com/dart-lang/sdk/issues/46173) - Merge a3767f7db86a85fcd6201e9357ad47b884002b66 to stable channel (2.13)
+ * [dart/46300](https://github.com/dart-lang/sdk/issues/46300) - Fix OOM VM test (`transferable_throws_oom_test` crashing after upgrade from Ubuntu 16)
+ * [dart/46298](https://github.com/dart-lang/sdk/issues/46298) - Ensure start/stop file watching requests are run on the Dart thread
+ * [flutter/83799](https://github.com/flutter/flutter/issues/83799) - Tool may crash if pub is missing from the artifact cache
+ * [flutter/83102](https://github.com/flutter/flutter/issues/83102) - Generated l10n file is missing ‘intl’ import with Flutter 2.2.0
+ * [flutter/83094](https://github.com/flutter/flutter/issues/83094) - Flutter AOT precompiler crash
+ * [flutter/82874](https://github.com/flutter/flutter/issues/82874) - PopupMenuButton is broken after upgrade to Flutter 2.2.
+
+### [2.2.1](https://github.com/flutter/flutter/pull/83372) (May 27, 2021)
+This hotfix release addresses the following issues:
+ - [flutter/80978](https://github.com/flutter/flutter/issues/80978) - Error "Command PhaseScriptExecution failed with a nonzero exit code" when building on macOS
+ - [dart/45990](https://github.com/dart-lang/sdk/issues/45990) - CastMap performs an invalid cast on 'remove', breaking shared_preferences plugin
+ - [dart/45907](https://github.com/dart-lang/sdk/issues/45907) - DDC missing nullability information from recursive type hierarchies
+ - [flutter/52106](https://github.com/flutter/flutter/issues/52106) - [Web] Accessibility focus border doesn’t follow when navigating through interactive elements with tab key
+ - [flutter/82768](https://github.com/flutter/flutter/issues/82768) - [Web] svgClip memory leak in Canvaskit renderer
+
+### 2.2.0 (May 18, 2021)
+Initial stable release.
+
+## Flutter 2.0 Changes
+### [2.0.6](https://github.com/flutter/flutter/pull/81508) (April 29, 2021)
+This hotfix release addresses the following issue:
+ - [flutter/81326](https://github.com/flutter/flutter/issues/81326) - macOS binaries not codesigned
+
+### [2.0.5](https://github.com/flutter/flutter/pull/80570) (April 16, 2021)
+This hotfix release addresses the following issue:
+ - [dart/45306](https://github.com/dart-lang/sdk/issues/45306) - Segmentation fault on specific code
+
+### [2.0.4](https://github.com/flutter/flutter/pull/79486) (April 2, 2021)
+This hotfix release addresses the following issues:
+ - [flutter/78589](https://github.com/flutter/flutter/issues/78589) - Cocoapod transitive dependencies with bitcode fail to link against debug Flutter framework
+ - [flutter/76122](https://github.com/flutter/flutter/issues/76122) - Adding a WidgetSpan widget causes web HTML renderer painting issue
+ - [flutter/75280](https://github.com/flutter/flutter/issues/75280) - Dragging the "draggable" widget causes widget to freeze in the overlay layer on Web
+
+### [2.0.3](https://github.com/flutter/flutter/pull/78489) (March 19, 2021)
+This hotfix release addresses the following issues:
+ - [flutter/75261](https://github.com/flutter/flutter/issues/75261) - Unable to deep link into Android app
+ - [flutter/78167](https://github.com/flutter/flutter/issues/78167) - Flutter crash after going to version 2
+ - [flutter/75677](https://github.com/flutter/flutter/issues/75677) - NoSuchMethodError: The method 'cancel' was called on null at AnsiSpinner.finish
+ - [flutter/77419](https://github.com/flutter/flutter/pull/77419) - Fix Autovalidate enum references in fix data
+
+### [2.0.2](https://github.com/flutter/flutter/pull/77850) (March 12, 2021)
+This hotfix release addresses the following issues:
+ - [flutter/77251](https://github.com/flutter/flutter/issues/77251) - Flutter may show multiple snackbars when Scaffold is nested
+ - [flutter/75473](https://github.com/flutter/flutter/issues/75473) - CanvasKit throws error when using Path.from
+ - [flutter/76597](https://github.com/flutter/flutter/issues/76597) - When multiple Flutter engines are active, destroying one engine causes crash
+ - [flutter/75061](https://github.com/flutter/flutter/issues/75061) - '_initialButtons == kPrimaryButton': is not true
+ - [flutter/77419](https://github.com/flutter/flutter/pull/77419) - Fix Autovalidate enum references in fix data
+ - [dart/45214](https://github.com/dart-lang/sdk/issues/45214) - Bad state exception can occur when HTTPS connection attempt errors or is aborted
+ - [dart/45140](https://github.com/dart-lang/sdk/issues/45140) - Uint8List reports type exception while using + operator in null safety mode
+
+### [2.0.1](https://github.com/flutter/flutter/pull/77194) (March 5, 2021)
+This hotfix release addresses the following issue:
+ - [flutter/77173](https://github.com/flutter/flutter/issues/77173) - Building for macOS target fails when Flutter is installed from website
+
+### 2.0.0 (March 3, 2021)
+Initial stable release.
+
+## Flutter 1.22 Changes
+### [1.22.6](https://github.com/flutter/flutter/pull/74355) (Jan 25, 2021)
+This hotfix release addresses the following issue:
+ - [flutter/70895](https://github.com/flutter/flutter/issues/70895) - Build error when switching between dev/beta and stable branches.
+
+### [1.22.5](https://github.com/flutter/flutter/pull/72079) (Dec 10, 2020)
+This hotfix release addresses the following issue:
+ - [flutter/70577](https://github.com/flutter/flutter/issues/70577) - Reliability regression in the camera plugin on iOS
+
+### [1.22.4](https://github.com/flutter/flutter/pull/70327) (Nov 13, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/43620](https://github.com/flutter/flutter/issues/43620) - Dart analyzer terminates during development
+ - [flutter/58200](https://github.com/flutter/flutter/issues/58200) - Apple AppStore submission fails with error: “The bundle Runner.app/Frameworks/App.framework does not sue Infpport the minimum OS Version specified in the Info.plist”
+ - [flutter/69722](https://github.com/flutter/flutter/issues/69722) - Setting a custom observatory port for debugging does not take effect
+ - [flutter/66144](https://github.com/flutter/flutter/issues/66144) - Setting autoFillHint to text form field may cause focus issues
+ - [flutter/69449](https://github.com/flutter/flutter/issues/69449) - Potential race condition in FlutterPlatformViewsController
+ - [flutter/65133](https://github.com/flutter/flutter/issues/65133) - Support targeting physical iOS devices on Apple Silicon
+
+### [1.22.3](https://github.com/flutter/flutter/pull/69234) (October 30, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/67828](https://github.com/flutter/flutter/issues/67828) - Multiple taps required to delete text in some input fields.
+ - [flutter/66108](https://github.com/flutter/flutter/issues/66108) - Reading Android clipboard may throw a security exception if it contains media
+
+### [1.22.2](https://github.com/flutter/flutter/pull/68135) (October 16, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/67869](https://github.com/flutter/flutter/issues/67869) - Stylus tap gesture is improperly registered.
+ - [flutter/67986](https://github.com/flutter/flutter/issues/67986) - Android Studio 4.1 not properly supported.
+ - [flutter/67213](https://github.com/flutter/flutter/issues/67213) - Webviews in hybrid composition can cause a crash.
+ - [flutter/67345](https://github.com/flutter/flutter/issues/67345) - VoiceOver accessibility issue with some pages.
+ - [flutter/66764](https://github.com/flutter/flutter/issues/66764) - Native webviews may not be properly disposed of in hybrid composition.
+
+### [1.22.1](https://github.com/flutter/flutter/pull/67552) (October 8, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/66940](https://github.com/flutter/flutter/issues/66940) - autovalidate property inadvertently removed.
+ - [flutter/66962](https://github.com/flutter/flutter/issues/66962) - The new --analyze-size flag crashes when used with --split-debug-info
+ - [flutter/66908](https://github.com/flutter/flutter/issues/66908) - Flutter Activity causing exceptions in some Android versions.
+ - [flutter/66647](https://github.com/flutter/flutter/issues/66647) - Layout modifications performed by background threads causes exceptions on IOS14.
+
+### 1.22.0 (October 1, 2020)
+Initial stable release.
+
+## Flutter 1.20 Changes
+### [1.20.4](https://github.com/flutter/flutter/pull/65787) (September 15, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/64045](https://github.com/flutter/flutter/issues/64045) - Cannot deploy to physical device running iOS 14
+
+### [1.20.3](https://github.com/flutter/flutter/pull/64984) (September 2, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/63876](https://github.com/flutter/flutter/issues/63876) - Performance regression for Image animation.
+ - [flutter/64228](https://github.com/flutter/flutter/issues/64228) - WebView may freeze in release mode on iOS.
+ - [flutter/64414](https://github.com/flutter/flutter/issues/64414) - Task switching may freeze on some Android versions.
+ - [flutter/63560](https://github.com/flutter/flutter/issues/63560) - Building AARs may cause a stack overflow.
+ - [flutter/57210](https://github.com/flutter/flutter/issues/57210) - Certain assets may cause issues with iOS builds.
+ - [flutter/63590](https://github.com/flutter/flutter/issues/63590) - Passing null values from functions run via Isolates throws an exception.
+ - [flutter/63427](https://github.com/flutter/flutter/issues/63427) - Wrong hour/minute order in timePicker in RTL mode.
+
+### [1.20.2](https://github.com/flutter/flutter/pull/63591) (August 13, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/63038](https://github.com/flutter/flutter/issues/63038) - Crash due to serialization of generic DartType (UnknownType)
+ - [flutter/46167](https://github.com/flutter/flutter/issues/46167) - iOS platform view cancels gesture while a new clip layer is added during the gesture
+ - [flutter/62198](https://github.com/flutter/flutter/issues/62198) - SliverList throws Exception when first item is SizedBox.shrink()
+ - [flutter/59029](https://github.com/flutter/flutter/issues/59029) - build ios --release can crash with ArgumentError: Invalid argument(s)
+ - [flutter/62775](https://github.com/flutter/flutter/issues/62775) - TimePicker is not correct in RTL (right-to-left) languages
+ - [flutter/55535](https://github.com/flutter/flutter/issues/55535) - New DatePicker widget is not fully localized
+ - [flutter/63373](https://github.com/flutter/flutter/issues/63373) - Double date separators appearing in DatePicker, preventing date selection
+ - [flutter/63176](https://github.com/flutter/flutter/issues/63176) - App.framework path in Podfile incorrect
+
+### [1.20.1](https://github.com/flutter/flutter/pull/62990) (August 6, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/60215](https://github.com/flutter/flutter/issues/60215) - Creating an Android-only plug-in creates a no-op iOS folder.
+
+### 1.20.0 (August 5, 2020)
+Initial stable release.
+
+## Flutter 1.17 Changes
+### [1.17.5](https://github.com/flutter/flutter/pull/60611) (June 30, 2020)
+This hotfix release addresses the following issues:
+ - [flutter-intellij/4642]https://github.com/flutter/flutter-intellij/issues/4642 - Intellij/Android Studio plugins fail to show connected Android devices.
+
+### [1.17.4](https://github.com/flutter/flutter/pull/59695) (June 18, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/56826](https://github.com/flutter/flutter/issues/56826) - xcdevice polling may use all free hard drive space
+
+### [1.17.3](https://github.com/flutter/flutter/pull/58646) (June 4, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/54420](https://github.com/flutter/flutter/issues/54420) - Exhausted heap space can cause machine to freeze
+
+### [1.17.2](https://github.com/flutter/flutter/pull/58050) (May 28, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/57326](https://github.com/flutter/flutter/issues/57326) - CupertinoSegmentedControl does not always respond to selections
+ - [flutter/56898](https://github.com/flutter/flutter/issues/56898) - DropdownButtonFormField is not re-rendered after value is changed programmatically
+ - [flutter/56853](https://github.com/flutter/flutter/issues/56853) - Incorrect git error may be presented when flutter upgrade fails
+ - [flutter/55552](https://github.com/flutter/flutter/issues/55552) - Hot reload may fail after a hot restart
+ - [flutter/56507](https://github.com/flutter/flutter/issues/56507) - iOS builds may fail with “The path does not exist” error message
+
+### [1.17.1](https://github.com/flutter/flutter/pull/57052) (May 13, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/26345](https://github.com/flutter/flutter/issues/26345) - Updating `AndroidView` layer tree causes crash on Xiaomi and Moto devices
+ - [flutter/56567](https://github.com/flutter/flutter/issues/56567) - Xcode legacy build system causes build failures on iOS
+ - [flutter/56473](https://github.com/flutter/flutter/issues/56473) - Build `--tree-shake-icons` build option crashes computer
+ - [flutter/56688](https://github.com/flutter/flutter/issues/56688) - Regression in `Navigator.pushAndRemoveUntil`
+ - [flutter/56479](https://github.com/flutter/flutter/issues/56479) - Crash while getting static type context for signature shaking
+
+### 1.17.0 (May 5, 2020)
+Initial stable release.
+
+## Flutter 1.12 Changes
+### Hotfix.9 (April 1, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/47819](https://github.com/flutter/flutter/issues/47819) - Crashes on ARMv8 Android devices
+ - [flutter/49185](https://github.com/flutter/flutter/issues/49185) - Issues using Flutter 1.12 with Linux 5.5
+ - [flutter/51712](https://github.com/flutter/flutter/issues/51712) - fixes for licensing from Android sdkmanager tool not being found
+
+### [Hotfix.8](https://github.com/flutter/flutter/pull/50591) (February 11, 2020)
+This hotfix release addresses the following issues:
+ - [flutter/50066](https://github.com/flutter/flutter/issues/50066) - binaries unsigned in last hotfix
+ - [flutter/49787](https://github.com/flutter/flutter/issues/49787) - in a previous hotfix, we inadvertently broke Xcode 10 support. Reverting this change would have caused other problems (and users would still have to upgrade their Xcode with the next stable release), we decided to increase our minimum supported Xcode version. Please see the linked issue for more context on this decision.
+ - [flutter/45732](https://github.com/flutter/flutter/issues/45732) - Android log reader fix
+ - [flutter/47609](https://github.com/flutter/flutter/issues/47609) - Android log reader fix
+
+### [Hotfix.7](https://github.com/flutter/flutter/pull/49437) (January 26, 2020)
+This hotfix release addresses the following issues:
+- [flutter/47164](https://github.com/flutter/flutter/issues/47164) - blackscreen / crash on certain Huawei devices
+- [flutter/47804](https://github.com/flutter/flutter/issues/47804) - Flutter engine crashes on some Android devices due to "Failed to setup Skia Gr context"
+- [flutter/46172](https://github.com/flutter/flutter/issues/46172) - reportFullyDrawn causes crash on Android KitKat
+
+### Hotfix.5 (December 11, 2019)
+Initial stable release.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/How-Flutter-apps-are-compiled-with-Gradle-for-Android.md b/docs/unsorted_wiki/How-Flutter-apps-are-compiled-with-Gradle-for-Android.md
new file mode 100644
index 0000000..88fca27
--- /dev/null
+++ b/docs/unsorted_wiki/How-Flutter-apps-are-compiled-with-Gradle-for-Android.md
@@ -0,0 +1,151 @@
+Flutter builds APKs through a long set of steps that ultimately defer to Gradle.
+The logic lives in many places: the Flutter framework, the Flutter app template,
+and a mix of both Dart and Gradle scripts. This doc is a high level description
+of the overall flow, which can be hard to follow given how many different
+places at once it lives and how asynchronous Gradle builds are.
+
+- The Flutter tool fetches any plugin dependencies of the Flutter app from pub
+ and downloads it to the pub cache. This step follows normal `pub get` behavior
+ and version solving.
+- The Flutter tool writes project metadata to some local temporary files. This
+ includes things like the location of the local Flutter SDK, and paths to all
+ the newly downloaded plugins from pub on disk.
+- The Flutter tool invokes Gradle to build the APK.
+- Gradle reads the app's `build.gradle`, which applies the Flutter framework's
+ `flutter.gradle` plugin.
+- `flutter.gradle` adds the Flutter engine and all of its support library
+ dependencies as a `jar` dependency to the Flutter app.
+- `flutter.gradle` adds all of the Flutter plugins of an app as "subproject"
+ Gradle dependencies (usually).
+- Gradle compiles the Flutter app and all of its subprojects (Flutter plugins)
+ into a root APK.
+
+Those steps are deliberately listed as bullet points and not a numbered list.
+Gradle invokes a lot of these steps at seemingly random and parallel times.
+Time is relative.
+
+## Plugins are compiled as subprojects (usually)
+
+Flutter plugins are typically included in Flutter apps as source code and
+compiled by Gradle, the same as the rest of the code in the Flutter app.
+
+This is done by using the Gradle concept of
+["subprojects"](https://docs.gradle.org/current/userguide/multi_project_builds.html#sec:subproject_configuration),
+a way of structuring build tasks so that they're marked as being dependent on
+each other. All Flutter apps are built with one subproject for the actual
+Android code of the app and other subprojects for the Android code of any
+plugins.
+
+For example, let's assume that there's a Flutter app that uses two plugins:
+`foo` and `bar`. Let's also assume `foo` depends on `baz`, so `baz` is included
+as part of the build at runtime. Running `./gradlew projects` in the app's
+`android` directory (after first running `flutter build apk` to give the Flutter
+tool's Dart code an opportunity to set up the build) would reveal the following
+project structure:
+
+```console
+$ ./gradlew projects
+
+> Task :projects
+
+------------------------------------------------------------
+Root project
+------------------------------------------------------------
+
+Root project 'android'
++--- Project ':app'
++--- Project ':bar'
++--- Project ':baz''
+\--- Project ':foo'
+```
+
+### The how
+
+- [The Flutter tool's Dart
+ code](https://github.com/flutter/flutter/blob/82410a5ae7159b9f39e85b713decf532840ac70c/packages/flutter_tools/lib/src/build_system/targets/assets.dart#L115-L119)
+ writes a `.flutter-plugins` file containing a list of all the plugins used by
+ the app and their location on disk.
+- [`flutter.gradle`](https://github.com/flutter/flutter/blob/508c35940b4989c400e7b5a2851d03e4bd0b2ca2/packages/flutter_tools/gradle/flutter.gradle#L243-L264)
+ reads from this file and actually adds the plugins as Gradle subproject
+ dependencies of the app.
+- This also depends on the Flutter app having a block of code in its template
+ that actually references and builds these subprojects once they're defined,
+ see ["hello world" as an example of the app's Gradle
+ script](https://github.com/flutter/flutter/blob/508c35940b4989c400e7b5a2851d03e4bd0b2ca2/examples/hello_world/android/settings.gradle#L15-L19).
+
+### Special Considerations
+
+Including plugin dependencies as source code and then compiling them is not
+something Gradle generally expects apps to be doing. In the past we've hit
+several issues caused by Gradle tooling around dependency management being built
+for typical Android patterns (including dependencies as `.aars` or `.jars`) and
+breaking down for the Flutter use case.
+
+For example:
+
+- Plugins have their own `build.gradle` scripts that may conflict with the app
+ and other plugins in unexpected ways. How Gradle handles these conflicts is
+ situational and sometimes undefined behavior.
+- If a plugin has a problem in its Android code, the entire user's app will fail
+ to compile with a stack trace that may or may not really point to the plugin's
+ code on disk.
+- If the plugin's code conflicts with the app's Android source code (for
+ example, the plugin has a conflicting transitive dependancy), Gradle will
+ generally fail to compile with difficult to translate stack traces.
+- These subprojects are added in an `afterEvaluate` hook in `flutter.gradle`.
+ Generally adding any logic in `afterEvaluate` blocks is discouraged because it
+ runs after so much of Gradle's standard pipeline.
+
+## Sometimes plugins are compiled as AARs
+
+Because of the problems with compiling the plugins as subprojects, the
+Flutter team explored switching the plugins to instead be compiled first as
+standalone AARs and then included as binary dependencies as is more typical for
+Android dependencies and expected by Gradle. This effort ended up being blocked,
+but is still occasionally automatically used as a fallback attempt when one of the typical
+problems with building as subprojects is detected as failing a build today.
+
+The basic AAR flow goes like this:
+
+- The Flutter tool fetches any plugin dependencies of the Flutter app from pub
+ and downloads it to the pub cache. This step follows normal `pub get` behavior
+ and version solving.
+- The Flutter tool writes project metadata to some local temporary files. This
+ includes things like the location of the local Flutter SDK, and paths to all
+ the newly downloaded plugins from pub on disk.
+- The Flutter tool invokes Gradle to build the APK.
+- Gradle reads the app's `build.gradle`, which applies the Flutter framework's
+ `flutter.gradle` plugin.
+- `flutter.gradle` adds the Flutter engine and all of its support library
+ dependencies as a `jar` dependency to the Flutter app.
+- `flutter.gradle` compiles all of the plugins individually into `aars`, and
+ adds all of the Flutter plugins as `aar` dependencies to the Flutter app.
+- Gradle compiles the Flutter app and all of its binary dependencies into a root
+ APK.
+
+### Why this isn't the standard
+
+There were a couple blocking issues that kept us from following this flow in all
+cases:
+
+- The implementation of this depends on `TaskInternal.execute()`, a Gradle API
+ that's been removed with no replacement in Gradle 5.
+- This style of build is extremely slow compared to the previous build flow.
+- The plugins currently in the Flutter ecosystem were written under the previous
+ build system and in many cases depend on the transitive dependency bleed to
+ work. For example, many plugins built this way will fail to compile
+ individually because they're missing an explicit dependency on
+ `androidx.annotation`. There are also other plugins that deliberately expose
+ their own transitive `jar` dependencies in a way where they're automatically
+ included in the app at build time by the subproject system, but apps including them as
+ AARs will fail with "Class not found errors" unless the transitive plugin dependencies
+ from the plugin are manually added into the apps' Gradle dependencies as well.
+
+### When this is still used
+
+We still fall back on this as a silent retry if we detect that the failure is
+caused by one of the likely error cases from the subproject structure:
+specifically, if we detect that the build has failed because of a likely
+AndroidX incompatibility issue. Jetifier is one of the Gradle tools that doesn't
+function normally with the subproject structure, so building the plugins as AARs
+can sometimes fix errors in that class.
diff --git a/docs/unsorted_wiki/How-to-add-a-new-integration-test-to-Framework-CI.md b/docs/unsorted_wiki/How-to-add-a-new-integration-test-to-Framework-CI.md
new file mode 100644
index 0000000..6d9c44e
--- /dev/null
+++ b/docs/unsorted_wiki/How-to-add-a-new-integration-test-to-Framework-CI.md
@@ -0,0 +1,95 @@
+This wiki is for [Framework](https://github.com/flutter/flutter) CI, and is not applicable to other repositories like Engine, Packages. The integration test is referred to an end-to-end target/test presented in [Flutter build dashboard](https://flutter-dashboard.appspot.com/#/build), which is an one-on-one mapping to the entries listed in the [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml) file.
+
+## Overview
+Types of integration tests (based on how they are being executed):
+* DeviceLab
+ * Uses test harness: [`test_runner.dart`](https://github.com/flutter/flutter/blob/master/dev/devicelab/bin/test_runner.dart)
+ * Relies on recipe: [`devicelab_drone.py`](https://flutter.googlesource.com/recipes/+/refs/heads/main/recipes/devicelab/devicelab_drone.py)
+ * This consists of two types further
+ * One needs a physical phone (a valid value for either `device_type` or `device_os` in [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml))
+ * The other runs on a host only testbed (either `none` or not defined for both `device_type` or `device_os` in [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml))
+ * `DeviceLab` here for host only testbed is a legacy name which refers to using the `devicelab_drone.py` recipes and relying on a `task.dart` file defined under `dev/devicelab/bin/tasks`. But this does NOT need a physical device. In the long term, we may want to rename to avoid confusion.
+* Shard
+ * Uses test harness: [`test.dart`](https://github.com/flutter/flutter/blob/master/dev/bots/test.dart)
+ * Relies on recipe: [`flutter_drone.py`](https://flutter.googlesource.com/recipes/+/refs/heads/main/recipes/flutter/flutter_drone.py)
+ * A `shard` property is defined for these targets
+* Others
+ * most likely are specific targets used to test specific functionality
+ * examples:
+ * [firebaselab](https://github.com/flutter/flutter/blob/2d3166b7f9d94c8449fd7224c0b36787146434cd/.ci.yaml#L435)
+ * [packaging](https://github.com/flutter/flutter/blob/2d3166b7f9d94c8449fd7224c0b36787146434cd/.ci.yaml#L529)
+ * [docs](https://github.com/flutter/flutter/blob/2d3166b7f9d94c8449fd7224c0b36787146434cd/.ci.yaml#L5980)
+ * [test_ownership](https://github.com/flutter/flutter/blob/2d3166b7f9d94c8449fd7224c0b36787146434cd/.ci.yaml#L944)
+ * [pub_autoroller](https://github.com/flutter/flutter/blob/2d3166b7f9d94c8449fd7224c0b36787146434cd/.ci.yaml#L261)
+
+The word `DeviceLab` initially was used to represent targets running in Flutter's self-maintained hardware lab where bots are connected with a physical device. Later it has been extended to represent targets that use the test harness `test_runner.dart` which is located under `dev/devicelab/bin`. All these targets need an entry defined under `dev/devicelab/bin/tasks`, and they include ones that do not need a physical device (known as host only tests).
+
+`Shard` tests are using the test harness `test.dart`, which supports targets that are shardable to run in parallel. Additionally it supports tests with a single shard, which means these tests are not feasible to run in parallel. These tests have only a single shard running a block of scripts.
+
+There is an overlap happens between `DeviceLab` and `Shard`: a single shard test can also run under the `DeviceLab` test harness.
+
+## Where to add an integration test
+Most likely, we can fit a new integration test to existing types, like `DeviceLab`, `Shard` or other case-by-case tests that use their own **`recipes`** in addition to `DeviceLab` and `Shard`, e.g. firebaselab, packaging, docs, etc. If your new test doesn't fit in any of these (very rarely), it may need a new recipe.
+
+> [!NOTE]
+> **`Recipes`** are just python scripts detailing steps to setup env. and execute corresponding test harness. Different recipes basically mean different test harness with different environment setup.
+
+For the two main types (`DeviceLab`/`Shard`):
+* if a new integration test needs a physical device, it should be under `DeviceLab`
+* if a new integration test doesn't need a physical device but needs to collect benchmarks, it should be under host only `Devicelab`
+* if a new integration test need to run in parallel with sharding, it should be under `Shard`
+* others should be good with either host only `DeviceLab` or `Shard` with a single shard.
+
+## How to add an integration test as a `DeviceLab` target
+
+Please refer to how to write a [`DeviceLab` test](https://github.com/flutter/flutter/tree/master/dev/devicelab#writing-tests) and how to add it to [continuous integration](https://github.com/flutter/flutter/tree/master/dev/devicelab#adding-tests-to-continuous-integration).
+
+Quick steps:
+* creates a test file under `dev/devicelab/bin/tasks/<test>.dart`
+* adds a new [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml) entry by mirroring an existing target with `recipe: devicelab_drone` (see .ci.yaml [readme](https://github.com/flutter/cocoon/blob/main/CI_YAML.md))
+ * begins with `bringup: true`
+ * specifies `device_type` or `device_os` if needed
+ * removes `bringup: true` after validated in post-submit CI (in staging pool).
+* adds an ownership entry to [TESTOWNERS](https://github.com/flutter/flutter/blob/master/TESTOWNERS)
+* adds entries for other platforms if needed
+
+## How to add an integration test as a `Shard` target
+
+Please refer to [steps-to-add-a-new-framework-test-shard](https://github.com/flutter/flutter/wiki/Adding-a-new-Test-Shard#steps-to-add-a-new-framework-test-shard).
+
+## How to add an integration tests with Android emulator support
+
+In this section we will build a new target for the `Linux` platform that will run in the `DeviceLab` with an Android emulator. Note: it is also supported in `Shard`.
+
+### Name and platform
+
+To add a test in the Framework Repository with Android Emulators via the DeviceLab recipe, you will not have to do anything on the recipe side of the code as simply specifying the configuration will allow you to create an Android Emulator on demand. Using other custom tests will possibly require changes in the recipes repository.
+
+When adding a new target make sure that the target platform is `Linux_android_emu`. This is done through the name of the target. This means that you can define your new target as something like:
+
+```yaml
+- name: Linux_android_emu new_test_to_add
+```
+
+This tells the CI that you want to use the `Linux` platform and your test is named `new_test_to_add`. See [.ci.yaml] (https://github.com/flutter/cocoon/blob/main/CI_YAML.md) for more details. The platform-level config already defines all necessary dimensions/properties that an emulator test needs.
+
+The `dimensions` are a way to use the correct machine type with the supported virtualization, the `dependency` on the android_virtual_device tells the recipes framework that an emulator was requested and which api level to use and finally the `device_type` tells it to use a machine without a connected device. This will avoid issues with multiple devices found during testing.
+
+### Target configs
+
+Add any additional properties/dependencies your test may need.
+
+```yaml
+ name: Linux_android_emu new_test_to_add
+ recipe: devicelab/devicelab_drone
+ bringup: true
+ properties:
+ tags: >
+ ["framework","hostonly","linux"]
+ task_name: android_views
+ timeout: 60
+```
+
+You will notice that `task_name` is new and the `tags` are new. The `task_name` is the name of your test script (minus the .dart suffix) and the tags allow infra to perform statistical analysis based on these in order to monitor SLO for task times, execution time as well as many other metrics.
+
+The above target can be added and run assuming there exists a ·new_test_to_add.dart· file in the Flutter repo.
diff --git a/docs/unsorted_wiki/How-to-download-a-timeline-from-a-benchmark.md b/docs/unsorted_wiki/How-to-download-a-timeline-from-a-benchmark.md
new file mode 100644
index 0000000..909cf25
--- /dev/null
+++ b/docs/unsorted_wiki/How-to-download-a-timeline-from-a-benchmark.md
@@ -0,0 +1,13 @@
+1. Find the benchmark that you're interested in on the [dashboard](https://flutter-dashboard.appspot.com/#/build) by clicking on the gear in the upper-right corner, and searching for it by "Task Name".
+
+<img width="459" alt="Screenshot 2023-06-21 at 6 56 08 PM" src="https://github.com/flutter/flutter/assets/6343103/3e911534-7d2f-4668-8b63-2a23e8fe82ab">
+
+2. Click on the column header icon.
+
+<img width="600" alt="Screenshot 2023-06-21 at 6 59 36 PM" src="https://github.com/flutter/flutter/assets/6343103/a0371897-46e7-49ad-a732-66f0007044aa">
+
+
+3. Click on the build link corresponding to the commit that you're interested in.
+4. In the build page, expand the "log links" step.
+5. Download the "timeline.json" file.
+<img width="600" alt="Screenshot 2023-06-21 at 4 29 17 PM" src="https://github.com/flutter/flutter/assets/6343103/96265b6c-c6e5-413c-909d-580dbf208c29">
diff --git a/docs/unsorted_wiki/How-to-write-a-memory-test-for-Flutter.md b/docs/unsorted_wiki/How-to-write-a-memory-test-for-Flutter.md
new file mode 100644
index 0000000..91927eb
--- /dev/null
+++ b/docs/unsorted_wiki/How-to-write-a-memory-test-for-Flutter.md
@@ -0,0 +1,121 @@
+There are many ways to write a memory test for Flutter. In this article, we give 3 classes of example tests that are currently used by Flutter device lab. Memory performance is a high priority for Flutter so there are many new memory tools and test utilities in progress. We’ll add them in this doc in the future.
+
+## [MemoryTest][class MemoryTest] that interacts with adb directly
+
+These memory tests use the [MemoryTest class defined in the device lab perf_tests.dart][class MemoryTest] to poll adb directly before and after an overridable `useMemory` function. By default, `useMemory` will just run an app in release and wait for a “done” message to be printed in logcat.
+
+Examples include
+- [`complex_layout_scroll_perf__memory`][complex layout memory manifest]
+ - [device lab task file][complex layout memory task]
+ - [main file][complex layout memory main]
+- [`fast_scroll_large_images_memory`][fast scroll memory manifest]
+ - [device lab task file][fast scroll memory task]
+ - [main file][fast scroll memory main]
+
+To write a new MemoryTest case `some_memory_perf` and add it to Flutter’s device lab so Flutter’s CI system can measure it for each Flutter commit, follow examples above to
+
+1. Create a `main` function for the test app in a file named like `test_memory/some_memory_perf.dart`.
+2. Add a `some_memory_perf` entry to [manifest.yaml][manifest]
+3. Add a `some_memory_perf.dart` file to [dev/devicelab/bin/tasks][tasks] folder.
+
+
+### Pros
+- Low overhead.
+- Works in all runtime modes, including release.
+- The test has complete control on when to start and stop the memory measurement.
+
+### Cons
+- Only have 2 memory readings, begin and end, during the app run.
+- Polling ADB may trigger collections of the Java heap.
+- Only works on Android targets.
+- Requires a test environment with access to ADB.
+- Requires a host machine with Flutter SDK installed.
+
+## DevTools Memory Test
+
+The memory tests use DevTools to poll adb and Dart VM during a normal Flutter driver test run, which typically measures speed performance instead of memory performance. [DevToolsMemoryTest][class DevToolsMemoryTest] handles most of the process so a new test only needs to specify the driver test location.
+
+Examples include
+- [`complex_layout_scroll_perf__devtools_memory`][complex layout devtools memory manifest]
+ - [device lab task file][complex layout devtools memory task]
+- [`large_image_changer_perf_android`][large image changer manifest]
+ - [device lab task file][large image changer task]
+
+To write a new DevTools memory test case `some_memory_perf` and add it to Flutter’s device lab so Flutter’s CI system can measure it for each Flutter commit, follow examples above to
+
+1. Write (or reuse) a normal Flutter driver test for the app in files named like `test_driver/some_memory_perf.dart` and `test_driver/some_memory_perf_test.dart`.
+2. Add a `some_memory_perf` entry to [manifest.yaml][manifest]
+3. Add a `some_memory_perf.dart` file to [dev/devicelab/bin/tasks][tasks] folder.
+
+### Pros
+- Have finer grained measurements (~1 reading per second).
+- Also have Dart VM memory info.
+- Can easily turn a speed-focused driver test into a memory test.
+
+### Cons
+- Don’t have much control on when to start and stop the measurement.
+- Polling ADB may trigger collections on the Java heap.
+- Requires a test environment with access to ADB.
+- Only works on Android targets.
+- Not available for release mode, so may incur extra memory overhead in profile or debug mode.
+- Requires a host machine with Flutter SDK installed.
+
+## iOS Memory Test
+
+The iOS embedding of Flutter supports sampling memory usage during runtime, which then writes metrics to the [Dart timeline][Dart timeline]. After recording a timeline for the relevant portion of an application’s execution, the timeline can be analyzed to obtain memory related information from the profile.
+
+Examples include
+- [`large_image_changer_perf_ios`][large image changer manifest ios]
+ - [device lab task file][large image changer task ios]
+
+To write a new iOS memory test case `some_memory_perf` and add it to Flutter’s device lab so Flutter’s CI system can measure it for each Flutter commit, follow examples above to
+
+1. Write (or reuse) a normal Flutter driver test for the app in files named like `test_driver/some_memory_perf.dart` and `test_driver/some_memory_perf_test.dart`.
+2. Add a `some_memory_perf` entry to [manifest.yaml][manifest]
+3. Add a `some_memory_perf.dart` file to [dev/devicelab/bin/tasks][tasks] folder that specifies `measureMemory: true`.
+
+### Pros
+- Can be run on a machine that does not have the Flutter SDK installed.
+- Can adjust the sampling frequency so one can have as many or as few measurements as needed.
+- Each sampling has much less overhead compared to calling adb
+- Flutter driver tests on iOS get memory measurements for free.
+
+### Cons
+- Only works on iOS targets.
+- Not available for release mode, so may incur extra memory overhead in profile or debug mode.
+- Memory polling mechanism may incur additional memory overhead.
+
+
+[manifest]: https://github.com/flutter/flutter/blob/master/dev/devicelab/manifest.yaml
+
+[tasks]: https://github.com/flutter/flutter/tree/master/dev/devicelab/bin/tasks
+
+[class MemoryTest]: https://github.com/flutter/flutter/blob/51bb11f7cece47840a9ee6d6d43db97ab16b31df/dev/devicelab/lib/tasks/perf_tests.dart#L941
+
+[complex layout memory manifest]: https://github.com/flutter/flutter/blob/7e41425d4af21dec7a7ff072a3ec1387859e32c8/dev/devicelab/manifest.yaml#L329
+
+[complex layout memory task]: https://github.com/flutter/flutter/blob/master/dev/devicelab/bin/tasks/complex_layout_scroll_perf__memory.dart
+
+[complex layout memory main]: https://github.com/flutter/flutter/blob/master/dev/benchmarks/complex_layout/test_memory/scroll_perf.dart
+
+[fast scroll memory manifest]: https://github.com/flutter/flutter/blob/7e41425d4af21dec7a7ff072a3ec1387859e32c8/dev/devicelab/manifest.yaml#L837
+
+[fast scroll memory task]: https://github.com/flutter/flutter/blob/master/dev/devicelab/bin/tasks/fast_scroll_large_images__memory.dart
+
+[fast scroll memory main]: https://github.com/flutter/flutter/blob/master/dev/benchmarks/macrobenchmarks/test_memory/large_images.dart
+
+[class DevToolsMemoryTest]: https://github.com/flutter/flutter/blob/7e41425d4af21dec7a7ff072a3ec1387859e32c8/dev/devicelab/lib/tasks/perf_tests.dart#L1138
+
+[complex layout devtools memory manifest]: https://github.com/flutter/flutter/blob/7e41425d4af21dec7a7ff072a3ec1387859e32c8/dev/devicelab/manifest.yaml#L359
+
+[complex layout devtools memory task]: https://github.com/flutter/flutter/blob/master/dev/devicelab/bin/tasks/complex_layout_scroll_perf__devtools_memory.dart
+
+[large image changer manifest]: https://github.com/flutter/flutter/blob/7e41425d4af21dec7a7ff072a3ec1387859e32c8/dev/devicelab/manifest.yaml#L874
+
+[large image changer task]: https://github.com/flutter/flutter/blob/master/dev/devicelab/bin/tasks/large_image_changer_perf_android.dart
+
+[Dart timeline]:https://flutter.dev/docs/development/tools/devtools/timeline
+
+[large image changer manifest ios]: https://github.com/flutter/flutter/blob/7e41425d4af21dec7a7ff072a3ec1387859e32c8/dev/devicelab/manifest.yaml#L880
+
+[large image changer task ios]: https://github.com/flutter/flutter/blob/master/dev/devicelab/bin/tasks/large_image_changer_perf_ios.dart
diff --git a/docs/unsorted_wiki/How-to-write-a-render-speed-test-for-Flutter.md b/docs/unsorted_wiki/How-to-write-a-render-speed-test-for-Flutter.md
new file mode 100644
index 0000000..d93e705
--- /dev/null
+++ b/docs/unsorted_wiki/How-to-write-a-render-speed-test-for-Flutter.md
@@ -0,0 +1,258 @@
+There are many ways to write a render speed test for Flutter. In this article, we give one example that uses [e2e][] (or [Flutter driver][flutter_driver]), the [dev/benchmarks/macrobenchmarks][macrobenchmarks] app, and the [dev/devicelab][devicelab] to automatically collect metrics for every future Flutter commit and send them to [flutter/cocoon][cocoon].
+
+The instructions below are for contributors who want to expose a Flutter SDK (framework or engine) performance issue, or write pull requests to fix such issues. If one only needs to test the performance of a particular Flutter app, please reference
+- https://flutter.dev/docs/cookbook/testing/integration/introduction.
+- [https://flutter.dev/docs/perf/rendering](https://flutter.dev/docs/perf/rendering)
+
+Since Flutter Web and Flutter Desktop are still in their early stages, the content here is only well tested and supported on mobile platforms (Android/iOS). We'll come up with docs on how to write performance tests for Web/Desktop later.
+
+Throughout this doc, we assume that the render speed test is for some `super_important_case`.
+
+## 1. Add a page to macrobenchmarks
+
+The [macrobenchmarks][] is a Flutter app that includes many pages each of which corresponds to a specific performance test scenario. It provides some boilerplate code and auto-generated files so when a new scenario needs to be tested, one only needs to add a single page and a handful of files to the [Flutter repo][flutter_repo] instead of adding a new Flutter app with dozens of auto-generated files. (The "macro" means that it's benchmarking a big system, including the whole Flutter framework and engine, instead of just a micro Dart or C++ function.)
+
+To add a new test scenario `super_important_case`, do the following:
+
+1. Create a `super_important_case.dart` inside [macrobenchmarks/lib/src][] to define a `SuperImportantCasePage extends StatelessWidget {...}`. If there's a minimal Flutter app with a single `main.dart` file that reproduces the performance issue in the `super_important_case`, we'd often copy the content of that `main.dart` to `super_important_case.dart`.
+2. Add a `const String kSuperImportantCaseRouteName = '/super_important_case'` to [macrobenchmarks/lib/common.dart][] for later use.
+3. Open [macrobenchmarks/lib/main.dart][] and add the `kSuperImportantCaseRouteName: (BuildContext conttext) => SuperImportantCasePage(),` to the routes of [`MacrobenchmarksApp`][].
+4. Scroll down to [`HomePage`'s `ListView`][] and add the following `RaisedButton` so manual testers and the Flutter driver can tap it to navigate to the `super_important_case`.
+
+ ```Dart
+ RaisedButton(
+ key: const Key(kSuperImportantCaseRouteName),
+ child: const Text('Super Important Case'),
+ onPressed: () {
+ Navigator.pushNamed(context, kSuperImportantCaseRouteName);
+ },
+ ),
+ ```
+
+## 2. Add an e2e test
+
+When the `super_important_case` page above is finished and manually tested, one can then add an automated integration test to get some performance metrics as follows.
+
+1. We use [macrobenchmarks/test_driver/e2e_test.dart][] as the host side script. All other tests depends on this file, so discuss with other Flutter members first if you want to change it.
+
+2. Add `super_important_case_e2e.dart` to [macrobenchmarks/test][] with the following content. The `macroPerfTestE2E` function will navigate the macrobenchmarks app to the `super_important_case` page, and starts collecting performance metrics. The optional arguments are:
+ - The `pageDelay` is the time delay for loading the page. By default it doesn't wait.
+ - The `duration` is the performance metric sampling time.
+ - The `timeout` specifies the backstop timeout implemented by the test package, See [testWidgets](https://api.flutter.dev/flutter/flutter_test/testWidgets.html).
+ - The `body` provides custom ways of driving that page during the benchmark such as scrolling through lists. When this is used together with `duration`, the test will perform for which ever last longer.
+ - The `setup` provides the operation needed to setup before benchmark starts.
+
+
+ ```Dart
+ // Copyright 2014 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:flutter/gestures.dart';
+ import 'package:flutter/widgets.dart';
+ import 'package:flutter/foundation.dart';
+ import 'package:flutter_test/flutter_test.dart';
+ import 'package:macrobenchmarks/common.dart';
+
+ import 'util.dart';
+
+ void main() {
+ macroPerfTestE2E(
+ 'super_important_case',
+ kSuperImportantCaseRouteName,
+ /* optional */ pageDelay: const Duration(seconds: 1),
+ /* optional */ duration: const Duration(seconds: 3),
+ /* optional */ timeout: const Duration(seconds: 30),
+ /* optional */ body: (WidgetController controller) async {
+ ...
+ },
+ /* optional */ setup: (WidgetController controller) async {
+ ...
+ },
+ );
+ }
+ ```
+
+Once all steps above are done, one should be able to run `flutter drive -t test/super_important_case_perf.dart --driver test_driver/e2e_test.dart` inside the [macrobenchmarks][] directory. After the driver test finished, the metrics should be written into a json file named `e2e_perf_summary.json` inside a temporary `build` directory under the current [macrobenchmarks][] directory.
+
+
+<!--- TODO explain what these metrics mean in the future -->
+Some useful metrics in that json file include
+- `average_frame_build_time_millis`
+- `average_frame_rasterization_time_millis`
+- `worst_frame_build_time_millis`
+- `worst_frame_rasterization_time_millis`
+
+## 2a. Add a driver test (deprecated)
+
+(Skip this if step 2 is sufficient for you.)
+
+When the `super_important_case` page above is finished and manually tested, one can then add an automatic driver test to get some performance metrics as follows.
+
+1. We use [macrobenchmarks/test_driver/run_app.dart] as the device side app. All other tests depends on this file, so discuss with other Flutter members first if you want to change it.
+
+2. Add `super_important_case_perf_test.dart` to [macrobenchmarks/test_driver][] with the following content. The `macroPerfTest` function will navigate the macrobenchmarks app to the `super_important_case` page, and starts collecting performance metrics. The `driverOps` provides custom ways of driving that page during the benchmark such as scrolling through lists. The `setupOps` provides the operation needed to setup before benchmark starts.
+
+ ```Dart
+ import 'package:flutter_driver/flutter_driver.dart';
+ import 'package:macrobenchmarks/common.dart';
+
+ import 'util.dart';
+
+ void main() {
+ macroPerfTest(
+ 'super_important_case',
+ kSuperImportantCaseRouteName,
+ pageDelay: const Duration(seconds: 1),
+ /* optional */ driverOps: (FlutterDriver driver) async {
+ ...
+ },
+ /* optional */ setupOps: (FlutterDriver driver) async {
+ ...
+ },
+ );
+ }
+ ```
+
+Once all steps above are done, one should be able to run `flutter drive -t test_driver/run_app.dart --driver test_driver/super_important_case_perf.dart` inside the [macrobenchmarks][] directory. After the driver test finished, the metrics should be written into a json file named `super_important_case_perf__timeline_summary.json` inside a temporary `build` directory under the current [macrobenchmarks][] directory.
+
+
+<!--- TODO explain what these metrics mean in the future -->
+Some useful metrics in that json file include
+- `average_frame_build_time_millis`
+- `average_frame_rasterization_time_millis`
+- `worst_frame_build_time_millis`
+- `worst_frame_rasterization_time_millis`
+
+## 3. Update README
+
+Add the new test to the list in [macrobenchmarks/README.md].
+
+## 4. Add a task to devicelab
+
+To keep Flutter performant, running a test locally once in a while and check the metrics manually is insufficient. The following steps let the [devicelab][] run the test automatically for every Flutter commit so performance regressions or speedups for the `super_important_case` can be detected quickly.
+
+1. Add `super_important_case_perf__e2e_summary` to [dev/devicelab/manifest.yaml][] under `tasks`. Follow other tasks to properly set descriptions and choose agent such as `linux/android` (Moto G4) or `mac/ios` (iPhone 6s). Mark it `flaky: true` so that while we observe the test case behavior on devicelab, we don't block the build tree.
+
+2. Add `super_important_case_perf__e2e_summary.dart` to [dev/devicelab/bin/tasks][] with a content like
+
+ ```Dart
+ import 'dart:async';
+
+ import 'package:flutter_devicelab/tasks/perf_tests.dart';
+ import 'package:flutter_devicelab/framework/adb.dart';
+ import 'package:flutter_devicelab/framework/framework.dart';
+
+ Future<void> main() async {
+ deviceOperatingSystem = DeviceOperatingSystem.android; // or ios
+ await task(createSuperImportantCasePerfE2ETest());
+ }
+ ```
+
+3. Add the following `createSuperImportantCasePerfTest` function to [dev/devicelab/lib/tasks/perf_tests.dart][]
+
+ ```Dart
+ TaskFunction createSuperImportantCasePerfE2ETest() {
+ return PerfTest.e2e(
+ '${flutterDirectory.path}/dev/benchmarks/macrobenchmarks',
+ 'test/super_important_case_e2e.dart',
+ ).run;
+ }
+ ```
+
+4. Locally test the devicelab task by running `../../bin/cache/dart-sdk/bin/dart bin/run.dart -t super_important_case_perf__e2e_summary` inside the [dev/devicelab][devicelab] directory with an Android or iOS device connected. You should see a success and a summary of metrics being printed out.
+
+5. Submit a pull request of everything above.
+
+6. Finally, remove `flaky: true` once the test is proven to be reliable for a few days. Since this may take a while, creating a reminder calendar event could be a good idea.
+
+## 4a. Add a task to devicelab for driver tests (deprecated)
+
+(Skip this if you didn't do step 2a.)
+
+To keep Flutter performant, running a test locally once in a while and check the metrics manually is insufficient. The following steps let the [devicelab][] run the test automatically for every Flutter commit so performance regressions or speedups for the `super_important_case` can be detected quickly.
+
+1. Add `super_important_case_perf__timeline_summary` to [dev/devicelab/manifest.yaml][] under `tasks`. Follow other tasks to properly set descriptions and choose agent such as `linux/android` (Moto G4) or `mac/ios` (iPhone 6s).
+
+2. Add `super_important_case_perf__timeline_summary.dart` to [dev/devicelab/bin/tasks][] with a content like
+
+ ```Dart
+ import 'dart:async';
+
+ import 'package:flutter_devicelab/tasks/perf_tests.dart';
+ import 'package:flutter_devicelab/framework/adb.dart';
+ import 'package:flutter_devicelab/framework/framework.dart';
+
+ Future<void> main() async {
+ deviceOperatingSystem = DeviceOperatingSystem.android; // or ios
+ await task(createSuperImportantCasePerfTest());
+ }
+ ```
+
+3. Add the following `createSuperImportantCasePerfTest` function to [dev/devicelab/lib/tasks/perf_tests.dart][]
+
+ ```Dart
+ TaskFunction createSuperImportantCasePerfTest() {
+ return PerfTest(
+ '${flutterDirectory.path}/dev/benchmarks/macrobenchmarks',
+ 'test_driver/run_app.dart',
+ 'super_important_case_perf',
+ testDriver: 'test_driver/super_important_case_perf_test.dart',
+ ).run;
+ }
+ ```
+
+4. Locally test the devicelab task by running `../../bin/cache/dart-sdk/bin/dart bin/run.dart -t super_important_case_perf__timeline_summary` inside the [dev/devicelab][devicelab] directory with an Android or iOS device connected. You should see a success and a summary of metrics being printed out.
+
+5. Submit a pull request of everything above.
+
+6. Finally, remove `flaky: true` once the test is proven to be reliable for a few days. Since this may take a while, creating a reminder calendar event could be a good idea.
+
+## 5. Set benchmark baseline
+
+Tasks will be run automatically in the [devicelab], and the result is shown in [flutter-dashboard]. Set the baseline in [flutter-dashboard] once the new test gets enough data. Also for metrics like "vsync_transitions_missed", change the unit from default ms to frames or other suitable units.
+
+## Acknowledgement
+
+Big congratulations if you've successfully finished all steps above! You just made a big contribution to Flutter's performance. Please also feel encouraged to improve this doc to help future contributors (which probably include a future yourself that would forget something above in a few months)!
+
+<!-- Reference links below -->
+[flutter_driver]: https://github.com/flutter/flutter/tree/master/packages/flutter_driver
+
+[macrobenchmarks]: https://github.com/flutter/flutter/tree/master/dev/benchmarks/macrobenchmarks
+
+[cocoon]: https://github.com/flutter/cocoon
+
+[devicelab]: https://github.com/flutter/flutter/tree/master/dev/devicelab
+
+[dev/devicelab/manifest.yaml]: https://github.com/flutter/flutter/tree/master/dev/devicelab/manifest.yaml
+
+[flutter_repo]: https://github.com/flutter/flutter
+
+[macrobenchmarks/lib/src]: https://github.com/flutter/flutter/tree/master/dev/benchmarks/macrobenchmarks/lib/src
+
+[macrobenchmarks/lib/common.dart]: https://github.com/flutter/flutter/tree/master/dev/benchmarks/macrobenchmarks/lib/common.dart
+
+[macrobenchmarks/lib/main.dart]: https://github.com/flutter/flutter/tree/master/dev/benchmarks/macrobenchmarks/lib/main.dart
+
+[`MacrobenchmarksApp`]: https://github.com/flutter/flutter/blob/94b7ff241e6e5445b7f30215a777eb4971311797/dev/benchmarks/macrobenchmarks/lib/main.dart#L24
+
+[`HomePage`'s `ListView`]: https://github.com/flutter/flutter/blob/94b7ff241e6e5445b7f30215a777eb4971311797/dev/benchmarks/macrobenchmarks/lib/main.dart#L58
+
+[macrobenchmarks/test_driver]: https://github.com/flutter/flutter/tree/master/dev/benchmarks/macrobenchmarks/test_driver
+
+[macrobenchmarks/test_driver/run_app.dart]: https://github.com/flutter/flutter/tree/master/dev/benchmarks/macrobenchmarks/test_driver/run_app.dart
+
+[macrobenchmarks/README.md]: https://github.com/flutter/flutter/blob/master/dev/benchmarks/macrobenchmarks/README.md
+
+[dev/devicelab/bin/tasks]: https://github.com/flutter/flutter/tree/master/dev/devicelab/bin/tasks
+
+[dev/devicelab/lib/tasks/perf_tests.dart]: https://github.com/flutter/flutter/tree/master/dev/devicelab/lib/tasks/perf_tests.dart
+
+[flutter-dashboard]: https://flutter-dashboard.appspot.com/benchmarks.html
+
+[e2e]: https://pub.dev/packages/e2e
+
+[macrobenchmarks/test_driver/e2e_test.dart]: https://github.com/flutter/flutter/blob/master/dev/benchmarks/macrobenchmarks/test_driver/e2e_test.dart
+
+[macrobenchmarks/test]: https://github.com/flutter/flutter/blob/master/dev/benchmarks/macrobenchmarks/test
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Hybrid-Composition.md b/docs/unsorted_wiki/Hybrid-Composition.md
new file mode 100644
index 0000000..8db288f
--- /dev/null
+++ b/docs/unsorted_wiki/Hybrid-Composition.md
@@ -0,0 +1,396 @@
+Hybrid composition refers to the ability of composing native views alongside Flutter widgets. For example, displaying the native Webview inside a Flutter app.
+
+## Android
+*Requires API level 19*
+
+_See also: [[Texture Layer Hybrid Composition]]_
+
+Starting from Flutter 1.20.0, hybrid composition can be used on Android. This new feature fixes most of the [issues with the preview platform view approach](https://github.com/flutter/flutter/wiki/Virtual-Display#associated-problems-and-workarounds) (Virtual Display); in particular, accessibility and keyboard related issues. See also [[Android Platform Views]] for an overview of modes.
+
+To see all known issues specific to this mode, search for the [`hc-only` label](https://github.com/flutter/flutter/labels/hc-only).
+
+### Dart side
+
+To start using this feature, you would need to create a `Widget`, and add the following `build` implementation:
+
+`native_view_example.dart`
+
+1. Add imports:
+```dart
+import 'package:flutter/foundation.dart';
+import 'package:flutter/gestures.dart';
+import 'package:flutter/rendering.dart';
+import 'package:flutter/services.dart';
+```
+
+2. Implement `build` method:
+```dart
+Widget build(BuildContext context) {
+ // This is used in the platform side to register the view.
+ final String viewType = 'hybrid-view-type';
+ // Pass parameters to the platform side.
+ final Map<String, dynamic> creationParams = <String, dynamic>{};
+
+ return PlatformViewLink(
+ viewType: viewType,
+ surfaceFactory:
+ (BuildContext context, PlatformViewController controller) {
+ return AndroidViewSurface(
+ controller: controller,
+ gestureRecognizers: const <Factory<OneSequenceGestureRecognizer>>{},
+ hitTestBehavior: PlatformViewHitTestBehavior.opaque,
+ );
+ },
+ onCreatePlatformView: (PlatformViewCreationParams params) {
+ return PlatformViewsService.initSurfaceAndroidView(
+ id: params.id,
+ viewType: viewType,
+ layoutDirection: TextDirection.ltr,
+ creationParams: creationParams,
+ creationParamsCodec: StandardMessageCodec(),
+ )
+ ..addOnPlatformViewCreatedListener(params.onPlatformViewCreated)
+ ..create();
+ },
+ );
+}
+```
+
+For more documentation see: [PlatformViewLink](https://api.flutter.dev/flutter/widgets/PlatformViewLink-class.html), [AndroidViewSurface](https://api.flutter.dev/flutter/widgets/AndroidViewSurface-class.html), [PlatformViewsService](https://api.flutter.dev/flutter/services/PlatformViewsService-class.html).
+
+### Platform side
+
+Finally, on the platform side, you use the standard `io.flutter.plugin.platform` package in Java or Kotlin:
+
+`NativeView.java`
+
+```java
+package dev.flutter.example;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import io.flutter.plugin.platform.PlatformView;
+
+class NativeView implements PlatformView {
+ @NonNull private final TextView textView;
+
+ NativeView(@NonNull Context context, int id, @Nullable Map<String, Object> creationParams) {
+ textView = new TextView(context);
+ textView.setTextSize(72);
+ textView.setBackgroundColor(Color.rgb(255, 255, 255));
+ textView.setText("Rendered on a native Android view (id: " + id + ")");
+ }
+
+ @NonNull
+ @Override
+ public View getView() {
+ return textView;
+ }
+
+ @Override
+ public void dispose() {}
+}
+```
+
+`NativeViewFactory.java`
+
+```java
+package dev.flutter.example;
+
+import android.content.Context;
+import android.view.View;
+import androidx.annotation.Nullable;
+import androidx.annotation.NonNull;
+import io.flutter.plugin.common.BinaryMessenger;
+import io.flutter.plugin.common.StandardMessageCodec;
+import io.flutter.plugin.platform.PlatformView;
+import io.flutter.plugin.platform.PlatformViewFactory;
+import java.util.Map;
+
+class NativeViewFactory extends PlatformViewFactory {
+ @NonNull private final BinaryMessenger messenger;
+ @NonNull private final View containerView;
+
+ NativeViewFactory(@NonNull BinaryMessenger messenger, @NonNull View containerView) {
+ super(StandardMessageCodec.INSTANCE);
+ this.messenger = messenger;
+ this.containerView = containerView;
+ }
+
+ @NonNull
+ @Override
+ public PlatformView create(@NonNull Context context, int id, @Nullable Object args) {
+ final Map<String, Object> creationParams = (Map<String, Object>) args;
+ return new NativeView(context, id, creationParams);
+ }
+}
+```
+
+Register the platform view. This can be done in an app or a plugin.
+
+For app registration, modify the main activity (e.g. `MainActivity.java`):
+
+```java
+package dev.flutter.example;
+
+import androidx.annotation.NonNull;
+import io.flutter.embedding.android.FlutterActivity;
+import io.flutter.embedding.engine.FlutterEngine;
+
+public class MainActivity extends FlutterActivity {
+ @Override
+ public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
+ flutterEngine
+ .getPlatformViewsController()
+ .getRegistry()
+ .registerViewFactory("<platform-view-type>", new NativeViewFactory());
+ }
+}
+```
+
+For plugin registration, modify the main plugin file (e.g. `PlatformViewPlugin.java`):
+
+```java
+package dev.flutter.plugin.example;
+
+import androidx.annotation.NonNull;
+import io.flutter.embedding.engine.plugins.FlutterPlugin;
+import io.flutter.plugin.common.BinaryMessenger;
+
+public class PlatformViewPlugin implements FlutterPlugin {
+ @Override
+ public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
+ binding
+ .getFlutterEngine()
+ .getPlatformViewsController()
+ .getRegistry()
+ .registerViewFactory("<platform-view-type>", new NativeViewFactory());
+ }
+}
+```
+
+For more documentation, see [PlatformViewRegistry](https://api.flutter.dev/javadoc/io/flutter/plugin/platform/PlatformViewRegistry.html), [PlatformViewFactory](https://api.flutter.dev/javadoc/io/flutter/plugin/platform/PlatformViewFactory.html), and [PlatformView](https://api.flutter.dev/javadoc/io/flutter/plugin/platform/PlatformView.html).
+
+Finally, indicate the minimum API Level required for the application to run in `build.gradle`.
+
+```groovy
+android {
+ defaultConfig {
+ minSdkVersion 19
+ }
+}
+```
+## iOS
+
+_See also: [[Hybrid Composition iOS]]_
+
+In Flutter 1.22, platform views are enabled by default. This means
+that it's no longer required to add the
+`io.flutter.embedded_views_preview` flag to `Info.plist`.
+
+To create a platform view on iOS, follow these steps:
+
+### On the Dart side
+
+On the Dart side, create a `Widget`
+and add the following build implementation,
+as shown in the following steps.
+
+In your Dart file, for example `native_view_example.dart`,
+do the following:
+
+1. Add the following imports:
+
+<!-- skip -->
+```dart
+import 'package:flutter/widget.dart';
+```
+
+
+2. Implement a `build()` method:
+
+<!-- skip -->
+```dart
+Widget build(BuildContext context) {
+ // This is used in the platform side to register the view.
+ final String viewType = '<platform-view-type>';
+ // Pass parameters to the platform side.
+ final Map<String, dynamic> creationParams = <String, dynamic>{};
+
+ return UiKitView(
+ viewType: viewType,
+ layoutDirection: TextDirection.ltr,
+ creationParams: creationParams,
+ creationParamsCodec: const StandardMessageCodec(),
+ );
+}
+```
+
+For more information, see the API docs for:
+[`UIKitView`](https://api.flutter.dev/flutter/widgets/UiKitView-class.html).
+
+### On the platform side
+
+In your native code, implement the following:
+
+`FLNativeView.h`
+
+```objc
+#import <Flutter/Flutter.h>
+
+@interface FLNativeViewFactory : NSObject <FlutterPlatformViewFactory>
+- (instancetype)initWithMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
+@end
+
+@interface FLNativeView : NSObject <FlutterPlatformView>
+
+- (instancetype)initWithFrame:(CGRect)frame
+ viewIdentifier:(int64_t)viewId
+ arguments:(id _Nullable)args
+ binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
+
+- (UIView*)view;
+@end
+```
+
+Implement the factory and the platform view in `FLNativeView.m`
+
+```objc
+#import "FLNativeView.h"
+
+@implementation FLNativeViewFactory {
+ NSObject<FlutterBinaryMessenger>* _messenger;
+}
+
+- (instancetype)initWithMessenger:(NSObject<FlutterBinaryMessenger>*)messenger {
+ self = [super init];
+ if (self) {
+ _messenger = messenger;
+ }
+ return self;
+}
+
+- (NSObject<FlutterPlatformView>*)createWithFrame:(CGRect)frame
+ viewIdentifier:(int64_t)viewId
+ arguments:(id _Nullable)args {
+ return [[FLNativeView alloc] initWithFrame:frame
+ viewIdentifier:viewId
+ arguments:args
+ binaryMessenger:_messenger];
+}
+
+@end
+
+@implementation FLNativeView {
+ UIView *_view;
+}
+
+- (instancetype)initWithFrame:(CGRect)frame
+ viewIdentifier:(int64_t)viewId
+ arguments:(id _Nullable)args
+ binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger {
+ if (self = [super init]) {
+ _view = [[UIView alloc] init];
+ }
+ return self;
+}
+
+- (UIView*)view {
+ return _view;
+}
+
+@end
+```
+
+Finally, register the platform view. This can be done in an app or a plugin.
+
+
+For app registration, modify the App's `AppDelegate.m`:
+
+```objc
+#import "AppDelegate.h"
+#import "FLNativeView.h"
+#import "GeneratedPluginRegistrant.h"
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application
+ didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+ [GeneratedPluginRegistrant registerWithRegistry:self];
+
+ NSObject<FlutterPluginRegistrar>* registrar =
+ [self registrarForPlugin:@"plugin-name"];
+
+ FLNativeViewFactory* factory =
+ [[FLNativeViewFactory alloc] initWithMessenger:registrar.messenger];
+ [[self registrarForPlugin:@"<plugin-name>"] registerViewFactory:factory
+ withId:@"<platform-view-type>"];
+ return [super application:application didFinishLaunchingWithOptions:launchOptions];
+}
+
+@end
+```
+
+For plugin registration, modify the main plugin file (e.g. `FLPlugin.m`):
+
+```objc
+#import "FLPlugin.h"
+#import "FLNativeView.h"
+
+@implementation FLPlugin
+
++ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar {
+ FLNativeViewFactory* factory =
+ [[FLNativeViewFactory alloc] initWithMessenger:registrar.messenger];
+ [registrar registerViewFactory:factory withId:@"<platform-view-type>"];
+}
+
+@end
+```
+
+For more information, see the API docs for:
+
+* [`FlutterPlatformViewFactory`](https://api.flutter.dev/objcdoc/Protocols/FlutterPlatformViewFactory.html)
+* [`FlutterPlatformView`](https://api.flutter.dev/objcdoc/Protocols/FlutterPlatformView.html)
+* [`PlatformView`](https://api.flutter.dev/javadoc/io/flutter/plugin/platform/PlatformView.html)
+
+By default, the `UIKitView` widget appends the native `UIView` to the view hierarchy. For more documentation, see [UIKitView](https://api.flutter.dev/flutter/widgets/UiKitView-class.html).
+
+## Performance
+
+Platform views in Flutter come with performance trade-offs.
+
+For example, in a typical Flutter app, the Flutter UI is composed
+on a dedicated raster thread. This allows Flutter apps to be fast,
+as the main platform thread is rarely blocked.
+
+While a platform view is rendered with Hybrid Composition, the Flutter UI is composed from
+the platform thread, which competes with other tasks like
+handling OS or plugin messages, etc.
+
+Prior to Android 10, Hybrid Composition copies each Flutter frame
+out of the graphic memory into main memory and then copied back to
+a GPU texture. As this copy happens per frame, the performance of
+the entire Flutter UI may be impacted.
+
+On the other hand, Virtual Display makes each pixel of the native view
+flow through additional intermediate graphic buffers, which cost graphic
+memory and drawing performance.
+
+For complex cases, there are some techniques that can be used to mitigate
+these issues.
+
+For example, you could use a placeholder texture while an animation is
+happening in Dart. In other words, if an animation is slow while a
+platform view is rendered, then consider taking a screenshot of the
+native view and rendering it as a texture.
+
+For more information, see:
+
+* [`TextureLayer`](https://api.flutter.dev/flutter/rendering/TextureLayer-class.html)
+* [`TextureRegistry`](https://api.flutter.dev/javadoc/io/flutter/view/TextureRegistry.html)
+* [`FlutterTextureRegistry`](https://api.flutter.dev/objcdoc/Protocols/FlutterTextureRegistry.html)
diff --git a/docs/unsorted_wiki/Image-Codecs-in-the-Flutter-Engine.md b/docs/unsorted_wiki/Image-Codecs-in-the-Flutter-Engine.md
new file mode 100644
index 0000000..4ea514f
--- /dev/null
+++ b/docs/unsorted_wiki/Image-Codecs-in-the-Flutter-Engine.md
@@ -0,0 +1,11 @@
+# Image Codecs in the Flutter Engine
+
+Flutter has built-in support for a number of common codecs. Images in the supported formats can be decompressed by the Flutter Engine even if they are not supported by the underlying platform.
+
+However, each codec supported out-of-the-box by the Flutter Engine adds to the binary size of the engine. Unlike AOT compiled Dart code, this binary size increase cannot be tree shaken away. Every user of the Flutter application will be forced to download the codec irrespective of whether their Flutter applications actually decompress images of that type. Flutter users and developers are extremely sensitive to increases in binary size of the application.
+
+If the Flutter engine is unable to decompress specific images because it doesn’t support that codec, it will delegate responsibility of image decompression to the platform. This comes in handy if the platform has support for newer or less widely used codecs. The downside of course is that the application author will need to provide an alternative in case both the engine and platform don’t support a specific codec.
+
+If the application wishes to support a codec that isn’t supported by either the engine or the platform, it will have to ship the codec along with their application and expose its functionality via a plugin. This is more cumbersome but the current recommendation for applications for whom support for specific formats is table stakes.
+
+Speculatively adding and removing codecs into the Flutter engine may lead to fragmentation in the supported codecs across Flutter engine versions. But, if a format does become widely used, it strengthens the case for adding the codec to the engine in spite of the binary size increase.
diff --git a/docs/unsorted_wiki/Impeller-Scene.md b/docs/unsorted_wiki/Impeller-Scene.md
new file mode 100644
index 0000000..1e9ab22
--- /dev/null
+++ b/docs/unsorted_wiki/Impeller-Scene.md
@@ -0,0 +1,19 @@
+We are excited to have you tinker on [the Impeller Scene Demo presented at Flutter Forward](https://www.youtube.com/live/zKQYGKAe5W8?feature=share&t=7048). While we spend time learning the use-cases and finalizing the API, the functionality for Impeller Scene is behind a compile-time flag. During this time, there are no guarantees around API stability.
+
+**Compiling the Engine**
+
+- Configure your Mac host to compile the Flutter Engine by [following the guidance in wiki](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment).
+- Ensure that you are on the [main branch of the Flutter Engine](https://github.com/flutter/engine/tree/main).
+- Ensure that you are on the [main branch of the Flutter Framework](https://github.com/flutter/flutter/tree/main).
+- Configure the host build: `./flutter/tools/gn --enable-impeller-3d --no-lto`
+- Configure the iOS build: `./flutter/tools/gn --enable-impeller-3d --no-lto --ios`
+ - Add the `--simulator --simulator-cpu=arm64` flag to the iOS build if you are going to test on the simulator.
+- Build host artifacts (this will take a while): `ninja -C out/host_debug`
+- Build iOS artifacts (this will take a while): `ninja -C out/ios_debug`
+ - If targeting the simulator: `ninja -C out/ios_debug_sim_arm64`
+- Clone the demo repository: `git clone https://github.com/bdero/flutter-scene-example.git` and move into the directory.
+- Plug in your device or open `Simulator.app`, then run `flutter devices` to note the device identifier.
+- Run the demo application: `flutter run -d [device_id] --local-engine ios_debug --local-engine-host host_debug` (or `ios_debug_sim_arm64` if you are running on the Simulator).
+ - On Silicon Macs, prefer `--local-engine-host host_debug_arm64` (adjusting your `ninja` command above accordingly)
+
+We hope to continue evolving the API and have it available on the stable channel soon!
diff --git a/docs/unsorted_wiki/Impeller.md b/docs/unsorted_wiki/Impeller.md
new file mode 100644
index 0000000..f86d80a
--- /dev/null
+++ b/docs/unsorted_wiki/Impeller.md
@@ -0,0 +1,7 @@
+_For user information about Flutter's new rendering backend, check out [Impeller preview](https://docs.flutter.dev/perf/impeller)._
+
+Team-facing documentation specific to Impeller:
+
+- [[Setting up MoltenVK on macOS for Impeller]]
+- [[Flutter GPU]]
+- [[Instructions for playing with the Impeller Scene demo|Impeller Scene]]
diff --git a/docs/unsorted_wiki/In-case-of-emergency.md b/docs/unsorted_wiki/In-case-of-emergency.md
new file mode 100644
index 0000000..ada8ee7
--- /dev/null
+++ b/docs/unsorted_wiki/In-case-of-emergency.md
@@ -0,0 +1,7 @@
+## If flutter.dev is down
+
+If one of our web sites is down, please ping `@emergency` on our [[Discord server|Chat]].
+
+## If you find a security vulnerability
+
+Please see our [security policy](https://docs.flutter.dev/security#reporting-vulnerabilities) for instructions.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Infra-Ticket-Queue.md b/docs/unsorted_wiki/Infra-Ticket-Queue.md
new file mode 100644
index 0000000..731bc0c
--- /dev/null
+++ b/docs/unsorted_wiki/Infra-Ticket-Queue.md
@@ -0,0 +1,75 @@
+# Quick Links
+* [Ticket queue kanban board](https://github.com/orgs/flutter/projects/81)
+* [Build dashboards](https://flutter-dashboard.appspot.com/)
+* [Current on-call](https://rotations.corp.google.com/rotation/5729708174999552) (Google internal link)
+
+# Background
+
+The Flutter infra team uses a ticket queue to manage operational tasks, such as:
+* Configuration requests: "Please add a new LUCI builder"
+* Outage/degradation notifications: "Build dashboard is down/slow"
+* Requests for help: "How do I debug a test on devicelab machine X?"
+
+This allows the team to separate their engineering work from ["toil" work](https://landing.google.com/sre/sre-book/chapters/eliminating-toil/). It also lets them see which types of tasks are common and worth automating.
+
+IMPORTANT: Whenever you have a request for the infra team, please file a ticket instead of contacting team members directly, even for seemingly trivial things or even if an individual has done the same thing for you in the past. Infra on-call will be there to handle your request, and it lets non on-call team members focus on their engineering tasks.
+
+When in doubt, ask on the `#hackers-infra` channel in [[Chat]].
+
+# How to File a Ticket as an Infra Customer
+1. Open a [new infra issue](https://github.com/flutter/flutter/issues/new?assignees=&labels=team-infra&projects=&template=6_infrastructure.yml). (That template summarizes the information on this page.)
+2. Add a descriptive **title**. A message like "Add a LUCI builder for linux web engine" or "Debug gallery startup" is much more helpful than "quick request" or "test doesn't work?".
+3. Clearly describe the issue or request in the description field. For example, if a ticket is requesting running several commands on the bots, the ticket should explain why, what commands are needed, on which bots and how to verify the results.
+4. Skip the priority label which infra on-call will add after triaging.
+5. **Add the project "Infra Ticket Queue".** This is the step that is important to get it into the queue!
+6. Click the **Submit new issue** button. No need to set an **assignee**; infra on-call will handle all new tickets.
+
+Please note that **the ticket queue is meant for high priority P0 and P1 issues** and should not be used to file low priority issues like feature requests or minor bugs. We have another separate weekly triage meeting that will look through ALL of the open infra issues. The ticket queue should only be used for issues that fall into the following categories, which should be very rare:
+
+ * Build break or regression.
+ * Critical work is blocked without a workaround.
+ * An immediate-level incident will happen if this is not addressed (e.g., almost out of quota).
+ * Degraded service (Build bots work but are slow to start).
+ * Other time-sensitive requests.
+
+# How to Serve Tickets as an Infra On-call
+Below are instructions for infra on-call on how to process the ticket queue. It describes the processes that on-call should follow, along with useful tips and tricks. If you are on call and see a problem or omission on this page, please change it!
+
+## Triaging
+SLO: A ticket in the queue will be triaged within 4 business hours provided it is opened during regularly kept office hours (9 a.m. to 5 p.m. PST). Otherwise it will be triaged the following business day.
+
+The issue priorities can be found [here](https://github.com/flutter/flutter/wiki/Issue-hygiene#priorities). Issues that are **not P0 or P1** will still be seen (during the infra weekly triage meeting) but do not belong on the ticket queue.
+
+New, un-triaged tickets will be in the **New** column in [the ticket queue](https://github.com/orgs/flutter/projects/81/views/1).
+
+When a new ticket comes in, an on-call should:
+1. Double check to see if the issue is a duplicate and close with a reference to the existing open issue.
+2. Check the issue summary and description. If the summary isn't clear, clarify it.
+3. Validate that the priority of the issue is accurate.
+4. Move triaged issues to the **Triaged** column.
+5. Assign the issue to the correct team member.
+
+This is meant to be quick and mechanical, and doesn't require a lot of thought. Even if you don't have time to take any immediate action, it's helpful to keep the new column empty. Your marking it triaged also lets the ticket creator know that someone has seen it.
+
+## Serving
+Once all tickets have been triaged, on-call's job is to service them. Apply judgement regarding which is most pressing. The order will also depend on your expertise and how much time you have. If a lower-priority ticket can be resolved in a couple minutes, don't feel like it has to wait behind a higher-priority ticket.
+
+From the top of the priority queue down, on-call makes sure that someone is working on each ticket. It's important to keep things moving if you see that they're stuck; try CC'ing people with more information and making it clear what a given ticket is blocked on.
+
+1. Set the assignee. Read the [guideline](https://github.com/flutter/flutter/wiki/Issue-hygiene#assigning-issues) first. In addition:
+ * All tickets must be assigned to someone who is working on them.
+2. Start working on the ticket
+ * Set the status to "in progress", typically by dragging its card to the **In progress** column.
+ * Add a comment, if you think it helps.
+3. P0 issue should be updated daily and P1 issue should be updated weekly, since many people may be blocked and will be waiting for updates.
+4. Update the ticket's workflow state when you reach a stopping point
+ * If it's closed, move it to **Done**.
+ * If it's blocked on something else, make it clear in the comments.
+ * If you (or the assignee) can no longer work on the ticket, find a new owner or move it back to **New**.
+ * If you're heading home for the day, add a final status update, especially if they're not going to get resolved in their urgency window.
+
+When servicing a ticket as an on-call, remember that **it is not your responsibility to fix every ticket, only to make sure that someone is working on it**. You may not be the most appropriate person to do the work, but you make sure the work gets done. This goes for new tickets as well as older tickets that someone has claimed but dropped on the floor -- some of those tickets may even have been created and assigned during the previous on-call shift, so it's important to check up on older tickets and re-assign if necessary.
+
+## Handoff
+
+On Monday during the 15-minute handoff meeting, please add comments and update the status on any tickets on which you have context, as this will help the next on-call person ramp up and understand the coming workload.
diff --git a/docs/unsorted_wiki/IntelliJ---Flutter-Setup-Tips-and-Tricks.md b/docs/unsorted_wiki/IntelliJ---Flutter-Setup-Tips-and-Tricks.md
new file mode 100644
index 0000000..a51ce38
--- /dev/null
+++ b/docs/unsorted_wiki/IntelliJ---Flutter-Setup-Tips-and-Tricks.md
@@ -0,0 +1,82 @@
+IntelliJ is a full-featured IDE; it supports refactorings, code navigation, debugging, searching, and source control integration.
+
+The following is a subjective take on getting IntelliJ to be a bit more lightweight (and slightly speedier) editor. Your mileage may vary.
+
+## Less Chrome
+
+Less is more! You can hide the IntelliJ toolbar and status line. You're still left with IntelliJ's tool buttons - buttons around the exterior allowing you to toggle visibility of different views - and the navigation bar, for common run actions.
+
+From the View menu, toggle off the Toolbar and Status Bar:
+
+
+
+## Breadcrumbs
+
+The breadcrumbs view shows at the top of each editor. This view adds visual noise to the UI. To disable it, open the Settings view (ctrl-alt-s) and search for 'breadcrumbs'.
+
+
+
+## Line numbers
+
+Perhaps more controversially, you can disable line numbers in the UI as well. Similarly to disabling breadcrumbs, open the Settings dialog and search for 'line numbers'.
+
+
+
+## Code folding
+
+Some people disable it. Whether it adds value is highly subjective; your mileage may vary. In Settings, search for 'code folding'. Uncheck all the checkboxes under 'collapse by default'.
+
+## The structure view
+
+Also called the outline view in other tools. If you have a Dart file open this view will show the class and method structure for the file. This can be invaluable for quickly getting a sense of the structure of a file and for knowing where you are in one.
+
+By default this is inline with the Project view on the left side of the IDE window. This can make it difficult to see your project structure and the structure of your current library at the same time. You can drag the various views around to dock in exterior of your window. To experiment, drag the 'Structure' tab from the left side of the window and dock it on the right-hand side:
+
+
+
+## Synchronize views
+
+When some people navigate around files in a project, and within the current file, they like the project view and the structure view to stay synchronized with the selection.
+
+From the Project view, click on the gear icon, and ensure that 'Autoscroll to Source' and 'Autoscroll from Source' are checked:
+
+
+
+And from the Structure view, in the toolbar, ensure that the two icons for 'Autoscroll to Source' and 'Autoscroll from Source' are selected:
+
+
+
+## Darcula
+
+Obviously a critical choice when developing - after coming down on one side or the other of the tabs-vs-spaces debate - is to choose a light or dark color theme. 😛 If you prefer a dark theme, you're in good company, with [52.5%](http://stackoverflow.com/research/developer-survey-2015#tech-ide) of other developers.
+
+To set your UI theme to Darcula open the Settings and, under Appearance & Behavior > Appearance, adjust the value of the 'Theme' chooser.
+
+
+
+## IDE layout
+
+Some people prefer to have their IDE views positioned so that they are able to see the Project view, the Structure view, and the Dart Analysis view (errors and warnings) at once. Some people think of this as their
+[work triangle](https://en.wikipedia.org/wiki/Kitchen_work_triangle),
+similar to how you optimize for frequent tasks when designing a kitchen. After some fussing, here's a typical IDE layout:
+
+
+
+## Remove unused plugins
+
+IntelliJ (especially IntelliJ Ultimate) ships with a lot of plugins installed by default. Many of these plugins are harmless; a few may consume memory and CPU at various times. To disable plugins, open the Settings view and select the 'Plugins' category. Some people err on the side of only disabling plugins they clearly won't use.
+
+## Community Edition vs Ultimate?
+
+The two versions of IntelliJ are very similar. Ultimate includes plugins for web development; if web development is not an important use case for you, you can prefer to use the community edition. It has significantly fewer plugins installed than the Ultimate edition.
+
+## Adjust the default heap
+
+The recommended way of changing the JVM options in IntelliJ is from the Help | Edit Custom VM Options menu. This action will create a copy of the .vmoptions file in the IDE config directory and open an editor where you can change them (see also:
+[configuring VM options](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties)).
+
+Current default values for IntelliJ:
+
+`-Xms128m -Xmx750m`
+
+Increase these for fun and profit.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Issue-hygiene.md b/docs/unsorted_wiki/Issue-hygiene.md
new file mode 100644
index 0000000..9666b34
--- /dev/null
+++ b/docs/unsorted_wiki/Issue-hygiene.md
@@ -0,0 +1,387 @@
+## tl;dr
+
+- Avoid asking about the status of an issue; if we have an update, we'll post it.
+- If you have permission, assign bugs to yourself if you're working on them.
+- Unassign bugs that you are not working on soon.
+- If an issue is not assigned, assume it is available to be worked on.
+
+## Overview
+
+We use three issue trackers: the [main one on flutter/flutter](https://github.com/flutter/flutter/issues), one for [the flutter.dev Website, on flutter/website](https://github.com/flutter/website/issues), and one for [the IntelliJ and Android Studio plugins, on flutter/flutter-intellij](https://github.com/flutter/flutter-intellij/issues).
+
+This page mostly talks about how we handle things for the flutter/flutter issue tracker.
+
+### Issue philosophy
+
+We assume that Flutter, like all non-trivial software, has an infinite number of bugs. The issue tracker contains the list of bugs that we are very lucky to have had reported by our generous community. Bugs includes known defects, as well as feature requests, planned work, and proposals.
+
+Within the bug database we try to make sure each issue is actionable and discoverable. We do this by carefully updating the issue subject line, making sure every issue has steps to reproduce, and using labels to categorize the issue in ways that can be found by GitHub search.
+
+
+## Comments
+
+### Do not add "me too" or "same" or "is there an update" comments to bugs
+
+The Flutter team prioritizes issues in part based on the number of +1 (thumbs
+up) reactions on the top level comment of the bug. Adding comments like "me
+too" or "same here" is generally distracting and makes it harder to find
+other more meaningful content in the bug. If you have no new details to add,
+consider just thumbs up-ing the issue. If you wish to subscribe to the issue,
+click the "subscribe" button in the right hand column of the GitHub UI.
+
+Adding comments explaining how a bug is dire and how you will stop using Flutter
+if it is not fixed is upsetting for the engineers working on Flutter (many of
+whom are volunteers, not that being paid to work on Flutter makes such comments
+any less upsetting). Out of a respect for the team, and as required by our [code
+of conduct](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md), we
+ask that you avoid adding comments that are not actively helpful. There are other
+venues if you want to complain without being constructive.
+
+Asking for updates is also not generally helpful, because it just leads to issues
+being full of comments asking for updates and that makes finding useful information
+in a bug harder (an exception might be if you are participating in the triage process,
+but even then consider reaching out to people directly if possible). If you believe
+there could be information that has not been posted, ask on our Discord server instead
+(see [[Chat]]).
+
+### Issues are not always the best venue for discussions
+
+Discussions within an issue should remain focused on the topic, specifically about what the filed issue is and how to solve it. Broader discussions are best suited to happen on Discord (see [[Chat]]) or in design docs using Google Docs (see [[Design Documents]]). This is because GitHub hides comments, doesn't have threading, notifications get lost in the swamp of other GitHub e-mails, etc.
+
+If you move to another tool for part of the discussion, remember to add a summary of the discussion and document any decisions that took place. This allows people following the issue to keep updated and continue to participate.
+
+Issues are never an appropriate venue for asking for help with your code. Issues are also not a good venue for discussing project direction.
+
+### Comments providing workarounds
+
+Providing workarounds for issues can be helpful for developers using Flutter and finding a bug,
+but please keep such comments to a minimum so as to avoid disrupting the engineers trying to
+fix the issue. Rather than discussing workarounds, provide a pointer to another forum
+(e.g. Stack Overflow) where workarounds and temporary solutions are more appropriate. Thanks.
+However, when a workaround has been identified, consider applying the `workaround available` label to make that info readily available.
+
+### Avoid posting screenshots of text
+
+If you want to show code, quote someone, or show a string of text that does
+not render properly with Flutter, please avoid sharing it via an image or
+screenshot. Text in images cannot be copied, and cannot be automatically
+translated via services like Google Translate. This makes it harder for team
+members who do not speak that language to participate in the issue.
+
+It is perfectly fine to share a screenshot of text rendering invalidly, but
+also include the actual string or character(s) that lead to it so that they
+can be copied and pasted into a test case.
+
+### Provide reduced test cases
+
+To debug a problem, we will need to be able to reproduce it. The best way
+to help us do that is to provide code, licensed according to [the BSD license
+used by Flutter](https://github.com/flutter/flutter/blob/master/LICENSE), that
+has been reduced as far as possible (such that removing anything further stops
+showing the bug). Attach such a file or files to the issue itself.
+
+For legal reasons, we cannot debug problems that require looking at proprietary
+code or, generally, code that is not publicly available.
+
+### Consider posting issues in English
+
+If you are able to read and write English clearly, consider posting your issue
+in English, even if it is about a language specific issue (like the way text
+renders in some non-English language).
+
+It is fine to post issues in languages other than English, but consider that
+many readers will rely on automatic translation services to read your issue.
+Please avoid using screenshots in languages other than English, as services like
+Google Translate will not translate the text in images, and the pool of people
+able to assist you will be reduced.
+
+
+## Locking an issue
+
+**Closed** issues that haven't received any activity in a [few weeks](https://github.com/flutter/flutter/blob/master/.github/lock.yml#L4)
+are automatically locked by a [bot](https://github.com/apps/lock). This is
+done to encourage developers to file new bugs, instead of piling comments
+on old ones.
+
+Under normal circumstances, open issues should not regularly be locked. The most
+common reason for manually locking an open issue is that issue is well
+understood by the engineers working on it,
+is believed to be appropriately prioritized, has a clear
+path to being fixed, and is otherwise attracting
+a lot of off-topic or distracting comments like "me too" or
+"when will this be fixed" or "I have a similar issue that might
+or might not be the same as this one".
+
+If you are concerned that such an issue is not receiving its due
+attention, see Escalating an Issue, described above. If you are
+not already a contributor but would like to work on that issue,
+consider reaching out on an appropriate [chat](https://github.com/flutter/flutter/wiki/Chat).
+
+If you have a similar issue and are not sure if it is the same,
+it is fine to file a new issue and linking it to the other issue.
+Please avoid intentionally filing duplicates.
+
+Very rarely, an issue gets locked because discussion has become
+unproductive and has repeatedly violated the [Code of Conduct](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md).
+
+
+## Priorities
+
+**The [`P0`](https://github.com/flutter/flutter/labels/P0) label** indicates that the issue is one of the following:
+* a build break, regression, or failure in an existing feature that prevents us from shipping the current build.
+* an important item of technical debt that we want to fix promptly because it is impacting team velocity.
+* an issue blocking, or about to block, a top-tier customer. (See [below](https://github.com/flutter/flutter/wiki/Issue-hygiene#customers) under "customers" for a definition of "top-tier customer".)
+
+There are generally less than twenty-five P0 bugs (one GitHub search results page). If you find yourself assigning a P0 label to an issue, please be sure that there's a positive handoff between filing and a prospective owner for the issue.
+
+Issues at this level should be resolved in a matter of weeks and should have weekly updates on GitHub.
+
+During normal work weeks (e.g. not around the new year), issues marked P0 get audited weekly during the "critical triage" meeting to ensure we do not forget about them. Issues marked P0 should get updates at least once a week, to keep the rest of the team (and anyone affected by the issues) apprised of progress.
+
+**The [`P1`](https://github.com/flutter/flutter/labels/P1) label** indicates high-priority issues that are at the top of the work list. This is the highest priority level a bug can have if it isn't affecting a top-tier customer or breaking the build. Bugs marked P1 are generally actively being worked on unless the assignee is dealing with a P0 bug (or another P1 bug).
+
+Issues at this level should be resolved in a matter of months and should have monthly updates on GitHub.
+
+**The [`P2`](https://github.com/flutter/flutter/labels/P2) label** indicates issues that we agree are important to work on, but are not at the top of the work list. This is the default level for new issues. A bug at this priority level may not be fixed for a long time. Sometimes an issue at this level will first migrate to P1 before we work on them, but that is not required.
+
+**The [`P3`](https://github.com/flutter/flutter/labels/P3) label** indicates issues that we currently consider less important to the Flutter project. We use "thumbs-up" on these issues as a signal when discussing whether to promote them to P2 or higher based on demand. (Of course, this does not mean the issues are not important to _you_, just that we don't view them as the especially important for Flutter itself.)
+
+Typically we would accept PRs for `P3` issues (assuming they follow our [style guide](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo) and follow our [other rules](https://github.com/flutter/flutter/wiki/Tree-hygiene)). Issues marked with the [`would require significant investment`](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22would+require+significant+investment%22) label may require more than just a PR, for example, adding support for a whole new platform will require a commitment to provide CI resources for build and test, and someone to own the maintenance of those systems.
+
+### When will my bug be fixed?
+
+Flutter is an open source project and many people contribute their time (or their employees' time) to fix code and implement features. Typically, people fix bugs that are relevant to their customers. For example, Google engineers who contribute to Flutter are going to prioritize issues that affect Flutter apps written by Google teams. Many of us, however, also volunteer time to fix more general issues.
+
+To determine when a bug will be fixed, look at the issue.
+
+If there's a recent status update on the issue, that is the best information we have about the bug. If there's a lot of comments on the issue, we try to link to the latest status from the top comment, so look there. (Please [don't _ask_](https://github.com/flutter/flutter/wiki/Issue-hygiene#do-not-add-me-too-or-same-or-is-there-an-update-comments-to-bugs) for updates, though.)
+
+If the issue is labeled with priorities `P0` or `P1`, or if the issue is assigned, we are likely to address it in the near term; we just need to find time.
+
+Otherwise, we don't know when we're going to fix it. We may never get to it. In general, `P2` bugs are seen as more important than `P3` bugs. See the more detailed definitions of _priorities_ above.
+
+_See also [[Popular issues]]._
+
+### Escalating an issue that has the wrong priority
+
+If you have a relationship with the Flutter team, raise the issue with
+your contact if you think the priority should be changed.
+
+If you don't, consider finding like-minded developers to either implement
+the feature as a team, or to fund hiring someone to work on the feature,
+or to [mark the issue with a thumbs-up reaction](https://github.com/flutter/flutter/wiki/Issue-hygiene#thumbs-up-reactions).
+
+Please don't comment on an issue to indicate your interest. Comments should
+be reserved for making progress on the issue.
+
+
+### Thumbs-up reactions
+
+To vote on an issue, use the "Thumbs-up" emoji to react to the issue.
+
+When examining issues, we use the number of thumbs-up reactions to an issue to determine an issue's relative popularity.
+This is, of course, but one input.
+At the end of the day, Flutter is an open source project and everyone (or every company) who contributes does so to further their own needs.
+To the extent that those needs are aligned with making Flutter popular,
+they tend to let their priorities be influenced by the "thumbs-up" reactions,
+but if you have something on which your business depends,
+the best solution is to pay someone to work on it.
+
+See also:
+
+ * [All open issues sorted by thumbs-up](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc)
+
+ * [Feature requests by thumbs-up](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3A%22c%3A+new+feature%22)
+
+ * [Bugs by thumbs-up](https://github.com/flutter/flutter/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+-label%3A%22c%3A+new+feature%22+)
+
+We ignore other emoji reactions.
+
+
+
+## Labels
+
+We use [many labels](https://github.com/flutter/flutter/labels).
+
+### Naming conventions
+
+Common naming conventions for labels include:
+- **`a: *`** - The `a` ("area") prefix is used for labels that are about a specific topic that could span different layers of Flutter's implementation (for example "accessibility" or "text input").
+- **`browser: *`** - Indicates the browser for browser-specific issues for the web port of Flutter.
+- **`c: *`** - The `c` ("category") prefix says what kind of bug we're looking at (regression, crash, new feature request, etc).
+- **`d: *`** - The purple `d` ("devtools") labels are for organizing our developer tool issues.
+- **`d: *`** - The green `d` ("documentation") labels are for organizing our documentation-related issues.
+- **`dependency: *`** - Indicates the upstream team for issues that are blocked on some work from an upstream project (e.g. Skia, Dart).
+- **`e: *`** - The `e` ("engine") prefix is for subsets of the Flutter engine ([flutter/engine](https://github.com/flutter/engine)).
+- **`f: *`** - The `f` ("framework") prefix is for subsets of the Flutter framework ([flutter/flutter's packages/flutter/](https://github.com/flutter/flutter/tree/master/packages/flutter)).
+- **`found in release: x.yy`** - Used for a series of labels that indicate which versions of Flutter an issue was found in.
+- **`from: *`** - Labels that indicate where an issue originated (e.g. research, postmortems), if it wasn't filed organically.
+- **`t: *`** - The `t` ("tool") prefix is for subsets of the Flutter tool ([flutter/flutter's packages/flutter_tools/](https://github.com/flutter/flutter/tree/master/packages/flutter_tools)).
+- **`p: *`** - The `p` ("package") prefix is for specific packages ([flutter/packages](https://github.com/flutter/packages)). Light teal for packages and darker teal for plugins.
+- **`platform-*`** - The `platform` prefix is for bugs that are specific to one or more platforms.
+- **`r: *`** - The `r` ("resolution") prefix is used for labels that describe why an issue was closed.
+
+### Adding labels
+
+Labels are more or less free, so we can add them pretty easily. Please mention it to other team members first, so that they know what you are planning and can give feedback (please at a minimum mention it on `#hidden-chat` in our [[Chat]]). Please make sure labels use a consistent color and naming scheme (e.g. all the framework-related labels are blue and start with `f:`).
+
+Labels should be used for adding information to a bug. If you plan to use a label to find all instances of a particular topic (e.g. finding all PRs where someone wrote a design doc), be aware that there's no way to force people to label issues or PRs. You can, however, rely on automation to do it, for example we have a script that labels all PRs that affect the framework.
+
+### Customers
+
+The Flutter team is formed of engineers from many sources, including dedicated volunteers and employees of companies like Google. Each of these may have different ideas of who their customers are. For example, Google engineers consider some Google teams to be their customers, but someone who contributes on a code-for-hire basis may have their own customers.
+
+Some teams using Flutter have a special relationship with some members of the Flutter team (e.g. they're collaborating with us on a new feature, or they're working with us on a product demo for an upcoming event). This is usually a fairly short-term arrangement for a specific business purpose. We provide such customers with a label (`customer: ...`) in our GitHub issue tracker. When these customers are working closely with members of the Flutter team, we may consider them "top-tier customers" for the purposes of prioritization.
+
+Priority `P0` (see below) is sometimes used for bugs that affect these top-tier customers.
+
+#### Coordinating between bug systems
+
+Some customers have their own separate bug systems, in which they track Flutter
+issues. We consider our GitHub issue list to be canonical. However, if there
+is a link from the issue in our bug system to the customer's issue in their bug
+system, and we have been granted access, we will follow that link and may
+communicate in that separate bug system when attempting to track down the issue.
+
+#### Special customer labels
+
+The `customer: product` label is used to bring issues that product management
+and senior leads want resolved to the attention of the appropriate engineering
+team.
+
+The `customer: crowd` label is used to represent bugs that are affecting large
+numbers of people; during initial [[Triage]], high-profile bugs get labeled in
+this way to bring them to the attention of the engineering team. "Large numbers"
+is a judgement call. If dozens of people independently run into the same issue
+and file a bug and we end up realizing that they're all duplicates of each other,
+then that would be a good candidate. On the other hand, if there is an active
+campaign to get people to comment on a bug, then it's probably not legitimately
+a `customer: crowd` bug, because people generally report bugs without having to
+be convinced to do so.
+
+In general, a bug should only be marked `customer: crowd` `P0` if it
+is so bad that it is literally causing large numbers of people to consider changing
+careers.
+
+
+#### Other noteworthy labels
+
+The `blocked` label can be used to indicate that a particular issue is unable to make progress until some other problem is resolved. This is particularly useful if you use your own list of assigned issues to drive your work.
+
+The `good first issue` label should be used on issues that seem like friendly introductions to contributing to Flutter. They should be relatively well-understood issues that are not controversial, do not require a design doc, and do not require a deep understanding of our stack, but are sufficiently involved that they at least require a basic test to be added.
+
+
+## Milestones
+
+We do not use GitHub milestones to track work.
+
+
+## Assigning Issues
+
+Issues are typically self-assigned. Only assign a bug to someone else if
+they have explicitly volunteered to do the task. If you don't have permissions
+to assign yourself an issue you want to work on, don't worry about it, just
+submit the PR (see [[Tree Hygiene]]).
+
+Only assign a bug to yourself when you are actively working on it
+or scheduled to work on it. If you don't know when you'll be working
+on it, leave it unassigned. Similarly, don't assign bugs to
+people unless you know they are going to work on it. If you find
+yourself with bugs assigned that you have not scheduled specific time
+to work on, unassign the bug so that other people feel
+empowered to work on them.
+
+_Do_ assign a bug to yourself if you are working on it, or if you have
+scheduled time to work on it and are confident you will do so! This is how
+people can figure out what is happening. It also prevents duplicate
+work where two people try to fix the same issue at once.
+
+You may hear team members refer to "licking the cookie". Assigning a
+bug to yourself, or otherwise indicating that you will work on it,
+tells others on the team to not fix it. If you then don't work on it,
+you are acting like someone who has taken a cookie,
+licked it to be unappetizing to other people, and then not eaten it.
+By extension, "unlicking the cookie" means indicating to the
+rest of the team that you are not actually going to work on the bug
+after all, e.g. by unassigning the bug from yourself.
+
+## File bugs for everything
+
+File bugs for anything that you come across that needs doing. When you
+implement something but know it's not complete, file bugs for what you
+haven't done. That way, we can keep track of what still needs doing.
+
+### Exceptions
+
+Do _not_ file bugs that meet the following criteria:
+
+- Asking meta-questions like "why was bug #XYZ closed?" Instead, post
+ on the original issue or raise the actual problem that is still not
+ resolved.
+- Intentional duplicates like "This is the same as bug #ABC but that
+ one is not getting enough attention." Instead, upvote the original
+ issue or add a comment that provides new details that are not already
+ captured or (best of all) assign it to yourself and start working on it!
+
+### How to propose a specific change
+
+If you have an idea that you would like to land, the recommended process is:
+
+1. [File a bug](https://github.com/flutter/flutter/issues/new/choose) describing the problem.
+2. Write a [design doc](https://flutter.dev/go/template) that references this problem and describes your solution.
+3. Socialize your design on the bug you filed and on [[Chat]]. Collect feedback from various people.
+4. Once you have received feedback, if it is mostly positive, implement your idea and submit it. See the [[Tree Hygiene]] wiki page for details on submitting PRs.
+
+### Every issue should be actionable
+
+Avoid filing issues that are on vague topics without a clear problem description.
+
+Please close issues that are not actionable. See [[Triage]] for more details.
+
+#### Issues should have clear steps to reproduce
+
+Every issue should have a clear description of the steps to reproduce the problem, the expected results, and the actual results.
+
+If an issue is lacking this information, request it from the commenter and close the issue if information is not forthcoming.
+
+## Closing issues
+
+An issue should be closed if:
+
+* it is fixed!
+* it is a [duplicate](https://github.com/flutter/flutter/wiki/Triage#duplicates).
+* it makes multiple requests which could be addressed independently. Encourage people to file separate bugs for each independent item.
+* it is describing a _solution_ rather than a _problem_. For example, it has no use cases, and the use cases are not obvious, or might have other solutions.
+* it is not [actionable](https://github.com/flutter/flutter/wiki/Triage#what-makes-an-issue-actionable) and does not [have unusual symptoms](https://github.com/flutter/flutter/wiki/Triage#unactionable-bugs-with-unusual-symptoms). This covers a wide variety of cases, such as invalid bugs, bugs without steps to reproduce, bugs that have become irrelevant, or bugs that are unclear and which the reporter has not offered more details for. It also includes non-catastrophic bugs that cannot be reproduced by anyone but the original reporter. For this latter case, encourage the reporter to attempt to debug the issue themselves, potentially giving suggestions for places where they could instrument the code to find the issue, and invite them to join the Discord for help; then add the `waiting for customer response` label. The issue will get automatically closed after a few weeks if they don't respond.
+* it is a feature request that we are unlikely to ever address, and if we did address it, it would not be part of the core SDK (e.g. it would be in a package). (For example, anything in the [`would be a good package` `P3`](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22would+be+a+good+package%22+label%3AP3) list is a good candidate for closing without fixing.)
+* we would not accept a fix even if one were to be offered ([e.g. support for platforms at level of support 4](https://github.com/flutter/flutter/wiki/Values#levels-of-support)).
+* it is an issue regarding internal processes, tooling, or infrastructure (i.e. something that our users are not affected by), that we have no plans to get to (e.g. that would be marked P3). (For example, anything in the [`c: tech-debt` `P3`](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22c%3A+tech-debt%22+label%3AP3) list is a good candidate for closing.)
+* it is tracking technical debt but the suggested improvements are marginal at best or would require significant research to be evaluated. Prefer having folks who work in the relevant part of the code make improvements based on their judgment.
+
+
+The following are poor reasons for closing an issue:
+
+* it has not been updated for a long time. This is fine; if the issue has not changed, then it is normal for it to not be updated.
+* it is a low-priority user-facing issue. We would prefer to have one long-lived open bug with a single conversation, than many short-lived closed bugs with many independent conversations.
+* it would be hard to fix.
+
+
+In general, any bug that has the following characteristics should definitely not be closed:
+
+* it is a well-described problem that we can reproduce reliably.
+* it is a well-argued feature request with a solid use case and clear goal that cannot reasonably be implemented in a package. (If it's something we're unlikely to ever do, it should be marked P3.)
+* it is tracking technical debt that is clearly actionable and whose benefits are clear.
+* it is a request to add a customization to a material widget that fits cleanly into the existing material design library's ethos.
+* it was filed by a team member and is assigned to that team member.
+
+
+## Tracking bugs for team members
+
+If you need to track some work item, you can file a bug and assign it to yourself. Self-assigned bugs like this are mostly ignored by the bots and you can ignore the rules for such issues. (When you leave the team, we'll likely close these issues.) Some people like to use bugs like this as "umbrella" bugs for tracking work. You may also find it useful to use GitHub projects to manage work items.
+
+
+## Flaky tests
+
+When a test flakes, a P0 bug is automatically filed with the label [`team: flakes`](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22team%3A+flakes%22+sort%3Aupdated-asc). This issue should be investigated with all due haste, and a priority level should then be assigned to the issue. At any particular time, the most flaky tests should remain P0. However, flakes that are hard to pin down may be downgraded in priority (e.g. to P1). Please do not ignore the issue entirely, however, and make sure to close bugs once they are resolved, even if it's by magic.
+
+_See also: [[Reducing test flakiness]]_
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Issue-triage-reports.md b/docs/unsorted_wiki/Issue-triage-reports.md
new file mode 100644
index 0000000..421d9cc
--- /dev/null
+++ b/docs/unsorted_wiki/Issue-triage-reports.md
@@ -0,0 +1,8 @@
+This page contains weekly issue triage reports from the Nevercode front-line triage team.
+
+- [2024 reports](https://github.com/flutter/flutter/wiki/2024-Issue-Triage-Reports)
+- [2023 reports](https://github.com/flutter/flutter/wiki/2023-Issue-Triage-Reports)
+- [2022 reports](https://github.com/flutter/flutter/wiki/2022---Issue-Triage-Reports)
+- [2021 reports](https://github.com/flutter/flutter/wiki/2021---Issue-Triage-Reports)
+
+_See also: [[Triage]]_
\ No newline at end of file
diff --git a/docs/unsorted_wiki/JIT-Release-Modes.md b/docs/unsorted_wiki/JIT-Release-Modes.md
new file mode 100644
index 0000000..0bb886f
--- /dev/null
+++ b/docs/unsorted_wiki/JIT-Release-Modes.md
@@ -0,0 +1,15 @@
+Normally Flutter runs in JIT for faster compilation/debugging support in `debug` mode and AOT mode for better performance in `profile` and `release` mode. For platforms that Flutter cannot produce AOT artifacts for, such as Android x86 (32 bit), a JIT release build may be used instead. The advantage of this mode over a regular debug build is that it removes debugging support and disables assertions which makes the final artifact smaller and more performant, though less so than a full AOT build.
+
+
+JIT release mode can be used with a local engine configuration. For example, to setup an Android x86 jit_release and host build you can use the GN command below. Both device and host artifacts need to be built, except in cases where they are the same such as the Desktop shells.
+
+```shell
+./flutter/tools/gn --runtime-mode=jit_release --android --android-cpu=x86
+ninja -C out/android_jit_release_x86
+./flutter/tools/gn --runtime-mode=jit_release
+ninja -C out/host_jit_release
+```
+
+This can be used with the flutter tool [via the `--local-engine`](https://github.com/flutter/flutter/wiki/Debugging-the-engine#running-a-flutter-app-with-a-local-engine) flag to produce a bundle containing the jit release artifacts using the `flutter assemble` command. By default, flutter.gradle does not know how to package this artifacts so it requires custom integration into a build pipeline. Nevertheless, the artifact structure should be identical to a debug build, but with asserts disabled and product mode enabled.
+
+jit_release is not supported on iOS devices. Applications built in JIT mode cannot be distributed on the Apple App Store.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Labeling-PRs.md b/docs/unsorted_wiki/Labeling-PRs.md
new file mode 100644
index 0000000..7b81a55
--- /dev/null
+++ b/docs/unsorted_wiki/Labeling-PRs.md
@@ -0,0 +1,23 @@
+# Labeling PRs
+
+Across the Flutter organization, the [labeler](https://github.com/actions/labeler) GitHub action is used per repo.
+
+For repos that already use it, only `.github/labeler.yml` needs to be edited. For bringing up new repos, `.github/workflows/labeler.yml` should be copied from an existing repo into the new repo.
+
+## How to add new labels
+
+```yaml
+macos:
+ # **/* recursively searches all subdirectories and files
+ - shell/platform/darwin/macos/**/*
+
+# For complex label names, it may need to be wrapped in quotes
+'a: accessibility':
+ - **/accessibility/*
+```
+
+## Verifying changes in presubmit
+
+GitHub actions do not test changes in presubmit. To verify, copy your local change into a YAML linter to verify the file is not malformed.
+
+Once landed, you can look at new workflow runs to see if the matches are being used.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Landing-Changes-With-Autosubmit.md b/docs/unsorted_wiki/Landing-Changes-With-Autosubmit.md
new file mode 100644
index 0000000..a64bc74
--- /dev/null
+++ b/docs/unsorted_wiki/Landing-Changes-With-Autosubmit.md
@@ -0,0 +1,87 @@
+# Using the Auto-submit Bot
+
+This page details the workflow for Flutter's Auto-submit bot and how to use it to submit your changes into Flutter owned repositories.
+
+## Auto-submit Labels
+
+### Label descriptions and Who Applies these Labels
+
+The following is a table of the labels that Auto-submit currently responds to
+and who adds them.
+
+| Label | Description | Human | Bot | Why? |
+| --- | --- | :---: | :---: | --- |
+| `autosubmit` | Merge a pull request when the tree becomes green. | X | | Merge on a validated pull request. |
+| `revert` | Label used to initiate a revert request on a closed and merged PR. | X | | Revert a particular change that has been merged. |
+| `revert of` | Tracking label for the revert request generated from the closed and merged original pull request. | | X | To track the new pull request that reverts a previous change. |
+| `warning: land on red to fix tree breakage` | Override the tree-status check and land even when tree is closed. | X | | To submit a potential fix for the current tree-status |
+
+Note: that `warning: land on red to fix tree breakage` cannot be used on its own
+and should be used in conjunction with the `autosubmit` label.
+
+### Usage Examples
+
+#### Merging a change (tree is open)
+This is the happy path. The tree is green and you just need to make
+sure validations pass and have the correct number of reviews.
+
+**Labels to use:** [ `autosubmit` ]
+
+**Validations:**
+
+* ci checks
+* approvals (2 from flutter hackers)
+* mergeability
+
+#### Merging a fix on red tree-status (tree is closed)
+This path should only be done in the event you have a change that will
+contribute a fix to the status of the tree.
+
+**Labels to use:** [ `autosubmit`, `warning: land on red to fix tree breakage` ]
+
+**Validations:**
+
+* ci checks
+* approvals (2 from flutter hackers)
+* mergeability
+* ignores the results of the tree status check.
+
+Warning: if you are not merging a fix for the tree you should not use the
+`warning: land on red to fix tree breakage` label. You will need to wait for the
+tree to open again.
+
+#### Reverting a change from the tree
+This path is a way to revert a broken change from the tree that is
+within 24 hours old.
+
+The reasoning behind this is that there will be someone with context as to
+why the change needed to be reverted.
+
+Note: that it might make sense to add the `warning: land on red to fix tree breakage`
+label to a revert request but you do not need to do this. The revert request is
+assumed to be done out of urgency.
+
+**Labels to use:** [ `revert` ]
+
+**Validations:**
+
+* "required" ci checks \*
+* mergeability
+
+\* There are two types of required 'ci checks'. Ones that are controlled
+by/through Github and those enforced through our auto-submit configuration
+(TODO add link to the config). Currently there is only one required check in
+both cases but the later can be extended to support additional checks.
+
+#### Reverting older changes from the tree
+This path describes what you should do in order to revert a change that is
+older than 24 hours.
+
+In this case you will need to open the revert request in the traditional way.
+That is by navigating to your change in the Github UI and clicking the
+'Revert' button from the pull request page.
+
+The pull request will then need to be treated as a regular pull request where
+you will need to wait for all ci checks to complete and gather 2 reviews from
+members of the 'flutter-hackers' team. See
+[Merging a change (tree is open)]() above.
diff --git a/docs/unsorted_wiki/Life-of-a-Flutter-Frame.md b/docs/unsorted_wiki/Life-of-a-Flutter-Frame.md
new file mode 100644
index 0000000..5fdbf4a
--- /dev/null
+++ b/docs/unsorted_wiki/Life-of-a-Flutter-Frame.md
@@ -0,0 +1,62 @@
+Flutter apps work by transforming the widget tree in an application to a render tree that describes how to graphically render the widgets onscreen, and animating in response to input events or the passage of time. We refer to a single still image within the sequence of images composing an animation as a frame, similar to a frame in a movie filmstrip. In the context of a complete Flutter application these are rendered into a `FlutterView` class which is typically an instance of a platform-specific view class like [SurfaceView][surfaceview] on Android, [UIView][uiview] on iOS, [HWND][hwnd] on Windows, [NSView][nsview] on macOS, or [GtkBox][gtkbox] on Linux.
+
+This page attempts to describe the life of a Flutter frame in the engine from initial trigger to rasterization, presentation, and finally destruction/recycling. For an overview of the Framework side of this process, see the [Flutter's Rendering Pipeline][renderingPipelineTalk] tech talk.
+
+[gtkbox]: https://docs.gtk.org/gtk3/class.Box.html
+[hwnd]: https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types#HWND
+[nsview]: https://developer.apple.com/documentation/appkit/nsview
+[surfaceview]: https://developer.android.com/reference/android/view/SurfaceView
+[uiview]: https://developer.apple.com/documentation/uikit/uiview
+
+## How a frame begins
+
+All frames are born with a call to `RequestFrame` in the [Animator][animator].
+
+A frame may be requested for a variety of reasons, ranging from resizing the Flutter view, to lifecycle events like backgrounding or foregrounding an app, to requests from either the app (via dart:ui's [PlatformDispatcher.scheduleFrame][scheduleFrame]) or the embedder (via the [embedder API][embedderAPI]'s `FlutterEngineScheduleFrame`).
+
+Flutter does some minimal housekeeping when a frame is requested, primarily to ignore any duplicate requests to schedule a frame before the frame is actually produced.
+
+Once a frame is scheduled, Flutter [waits for a vsync][vsyncWaiter] from the operating system to proceed.
+
+
+## Building the frame
+
+At the heart of Flutter's graphics workflow is the frame [pipeline][pipeline]. The pipeline is responsible for coordinating work between the UI thread, where the application code runs, and the Raster thread, where rasterization and compositing is performed. See the [threading section][engineArchThreading] of the Engine Architecture wiki for more details on threading in the engine.
+
+When a vsync occurs, Flutter begins the work of producing the frame in [Animator][animator]'s aptly-named `BeginFrame`. At this point, the animator reserves a spot in the pipeline and notifies the framework to begin the process of producing a frame by triggering the [PlatformDispatcher.onBeginFrame][onBeginFrame] dart:ui callback.
+
+When using the engine with the Flutter framework, `onBeginFrame` is handled by [handleBeginFrame][handleBeginFrame] in the framework, whose job it is to kick off the production of a [Scene][scene] in the framework. A good overview of this process can be found in the documentation of [RendererBinding.drawFrame][drawFrame] and the [Flutter's Rendering Pipeline][renderingPipelineTalk] tech talk. This process ultimately culminates in the production of a `Scene` which is handed back to the engine through a call to [FlutterView.render][flutterViewRender].
+
+On the engine side, a `Scene` is represented as a [LayerTree][layerTree]. Calling `FlutterView.render` hands the layer tree to the Animator via a call its `Render` method, which posts the layer tree to the pipeline and notifies the Rasterizer that it's time to start rasterizing the frame.
+
+## Rasterizing the frame
+
+Rasterization is the process of converting the in-memory layer tree into pixels on a surface. Rasterization-related code in Flutter is executed on the Raster thread, which coordinates with the GPU. On some platforms, the Raster thread and the Platform thread may be the same thread.
+
+Rasterization starts with a call to the `Draw` method in the [Rasterizer][rasterizer]. At this point, the recently-produced `LayerTree` is pulled from the pipeline. The rasterizer does a quick check to see whether the app is running in headless mode (e.g. backgrounded) and if so, the frame is discarded; otherwise, rasterization proceeds.
+
+Rasterization begins with a request for a surface to which the GPU can draw via a call to the `AcquireFrame` method of [Surface][surface]. This delegates platform-specific code implemented in each embedder in response to callbacks configured in `FlutterRendererConfig` which acquires an appropriate Metal, OpenGL, Vulkan, or software surface for use by the rasterizer.
+
+Once a surface is acquired, the [LayerTree][layerTree] is rasterized to the surface via recursive `Preroll` and `Paint` calls through the layers. Behavior of these calls is specific to each layer type, but in the end, generally resolves to drawing via either either Skia or Impeller. Once the layer tree has been walked and all graphics operations have been collected, the frame is submitted to the GPU, and embedders are provided a callback to perform further platform-specific handling on their part -- typically presenting the surface via the platform-specific view implementation.
+
+The above process is repeated until the pipeline is empty.
+
+## Cleaning up frame resources
+
+TODO(cbracken): write this up using [this patch](https://github.com/flutter/engine/pull/38038) as a reminder.
+
+[animator]: https://github.com/flutter/engine/blob/main/shell/common/animator.h
+[drawFrame]: https://api.flutter.dev/flutter/rendering/RendererBinding/drawFrame.html
+[embedderAPI]: https://github.com/flutter/engine/blob/main/shell/platform/embedder/embedder.h
+[engineArchThreading]: https://github.com/flutter/flutter/wiki/The-Engine-architecture#threading
+[flutterViewRender]: https://api.flutter.dev/flutter/dart-ui/FlutterView/render.html
+[handleBeginFrame]: https://api.flutter.dev/flutter/scheduler/SchedulerBinding/handleBeginFrame.html
+[layerTree]: https://github.com/flutter/engine/blob/main/flow/layers/layer_tree.h
+[onBeginFrame]: https://api.flutter.dev/flutter/dart-ui/PlatformDispatcher/onBeginFrame.html
+[pipeline]: https://github.com/flutter/engine/blob/main/shell/common/pipeline.h
+[rasterizer]: https://github.com/flutter/engine/blob/main/shell/common/rasterizer.h
+[renderingPipelineTalk]: https://www.youtube.com/watch?v=UUfXWzp0-DU
+[scene]: https://api.flutter.dev/flutter/dart-ui/Scene-class.html
+[surface]: https://github.com/flutter/engine/blob/main/flow/surface.h
+[scheduleFrame]: https://api.flutter.dev/flutter/dart-ui/PlatformDispatcher/scheduleFrame.html
+[vsyncWaiter]: https://github.com/flutter/engine/blob/main/shell/common/vsync_waiter.h
diff --git a/docs/unsorted_wiki/Making-animated-GIFs-of-Flutter-apps.md b/docs/unsorted_wiki/Making-animated-GIFs-of-Flutter-apps.md
new file mode 100644
index 0000000..08e7633
--- /dev/null
+++ b/docs/unsorted_wiki/Making-animated-GIFs-of-Flutter-apps.md
@@ -0,0 +1,37 @@
+Animated GIFs are useful for documentating animations. Here’s how to make them:
+
+## Capturing video of an Android device
+
+ * This feature is available on KitKat and later.
+ * Make sure to launch the app using `flutter run --release` for faster performance.
+ * Start recording video by running this command on the command line:
+
+ ```adb shell screenrecord /sdcard/recording.mp4```
+
+ * Interact with the app. When you are done you can terminate the recording with CTRL+c.
+
+ * Pull the recording off the device and onto your local hard drive:
+
+ ```adb pull /sdcard/recording.mp4 ~/Downloads/```
+
+## Capturing video of the iOS simulator
+
+ * Move the iOS simulator above your other applications
+ * Launch the "QuickTime Player" app
+ * Select “New Screen Recording” from the File menu
+ * Draw a box around the Simulator and click "Start Recording"
+ * When you're finished, click on Stop Recording on the Menu Bar.
+ * If needed, trim your recording using "Trim" from the "Edit" menu.
+ * Save the recording
+
+## Converting the recording to GIF
+
+ * Go to http://ezgif.com/video-to-gif and upload the video.
+ * If further trimming is needed, select the start and end times for your GIF.
+ * Select an appropriately small size for the GIF (recommended: 320xAUTO).
+ * Select a high framerate for the GIF (the max is 20) for smoothest animation
+ * Convert to GIF and download the GIF file
+
+## Example
+
+
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Managing-template-image-assets.md b/docs/unsorted_wiki/Managing-template-image-assets.md
new file mode 100644
index 0000000..9898073
--- /dev/null
+++ b/docs/unsorted_wiki/Managing-template-image-assets.md
@@ -0,0 +1,44 @@
+Image assets used in templates in the `flutter` tool are maintained in the [flutter_template_images][fti_pkg] package on [Pub.dev][pub] and are not checked into the main [flutter/flutter][flutter_repo] repository.
+
+Flutter's presubmit checks prevent binaries from being checked in to the repository. Binary files add significant size to the repository and produce large diffs when updated. This negatively impacts Flutter users when running `flutter upgrade`. Downloading a pub package does not involve a full sync of the git history, and is therefore significantly lighter weight.
+
+## Adding/Updating template image assets
+
+In order to add or update image assets, two patches are required: one to the `flutter/packages` repository and one to the `flutter/flutter` repository.
+
+The [flutter_template_images][fti_repo] package repository contains a [`templates`][package_templates_dir] directory laid out identically to the [`templates`][tools_templates_dir] directory in the [flutter_tools][tools_repo] package in the main repository. Assets are first added to the flutter_template_images repo, which is then rolled into the main repository, where the template files and manifest must be updated.
+
+### Add the assets to flutter_template_images
+
+First, add the images to the flutter_template_images package:
+
+1. Fork the [flutter/packages][packages_repo] repo on GitHub.
+2. Add the images at the relevant path under the `templates` directory. Filenames should be the exact final filenames as they will appear in a project generated by the `flutter` tool. They should _not_ include a `.img.tmpl` suffix.
+3. Update the version in [`pubspec.yaml`](https://github.com/flutter/packages/blob/main/packages/flutter_template_images/pubspec.yaml). For new assets, increment the _minor_ version in the `major.minor.patch` version number; for updates to existing assets, increment the _patch_ version.
+4. Add new heading for this version in [`CHANGELOG.md`](https://github.com/flutter/packages/blob/main/packages/flutter_template_images/CHANGELOG.md) and add a line describing your change. Follow the [Changelog Style][changelog_style] guidelines.
+5. Commit your changes and send a pull request.
+6. Once your changes are landed, a post-submit job will automatically publish the new version on Pub. You can verify this has occurred under the _Versions_ tab of the [flutter_template_images][fti_pkg] page.
+
+### Update Flutter package dependencies
+
+Once the updated package has been published on Pub, roll your changes into the main Flutter repository.
+
+1. Fork the [flutter/flutter][flutter_repo] repo on GitHub.
+2. Edit [`packages/flutter_tools/lib/src/commands/update_packages.dart`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/commands/update_packages.dart) and update the pinned version number for the `flutter_template_images` to the new version.
+3. From within the repo directory, run `flutter update-packages --force-upgrade`.
+4. For each image that you added to `flutter_template_images`, add a zero-byte file with a `.img.tmpl` suffix in the corresponding location under the [`templates`][tools_templates_dir] directory of the `flutter_tools` package.
+5. Edit [`packages/flutter_tools/templates/template_manifest.json`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/templates/template_manifest.json) and add an entry for each file you added, including the `.img.tmpl` suffix.
+6. Commit your changes, and perform a test run to be sure they're emitted successfully by the `flutter` tool.
+7. Assuming everything looks good, send a pull request.
+
+_(This page is referenced by an error message in the Flutter presubmit checks.)_
+
+[fti_pkg]: https://pub.dev/packages/flutter_template_images
+[fti_repo]: https://github.com/flutter/packages/tree/main/packages/flutter_template_images
+[pub]: https://pub.dev
+[flutter_repo]: https://github.com/flutter/flutter
+[packages_repo]: https://github.com/flutter/packages
+[package_templates_dir]: https://github.com/flutter/packages/tree/main/packages/flutter_template_images/templates
+[tools_templates_dir]: https://github.com/flutter/flutter/tree/master/packages/flutter_tools/templates
+[tools_repo]: https://github.com/flutter/flutter/tree/master/packages/flutter_tools
+[changelog_style]: https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#changelog-style
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Manual-Engine-Roll-with-Breaking-Commits.md b/docs/unsorted_wiki/Manual-Engine-Roll-with-Breaking-Commits.md
new file mode 100644
index 0000000..9a6e414
--- /dev/null
+++ b/docs/unsorted_wiki/Manual-Engine-Roll-with-Breaking-Commits.md
@@ -0,0 +1,13 @@
+Due to the newly added framework presubmit tests, if your engine commit breaks the framework in some way, **build_and_test_host** will likely catch it. In some cases, that breakage is intended and it requires a subsequent framework change (a.k.a., a manual engine roll) to fix the breakage.
+
+While the breaking commit landed in the engine tree but the manual engine roll has not landed in the framework tree, all engine PRs could fail **build_and_test_host** unless those PRs are created based on an older engine tree without that breaking commit.
+
+Therefore, for the author of the breaking commit that needs a manual roll, please notify others in
+* Flutter engine,
+* Flutter & Dart,
+* Flutter & Skia chat rooms,
+* and anyone who's rolling into the Flutter engine tree.
+
+Feel free to @all to grab attentions as many people probably will skip any message without a red dot.
+
+For authors of other PRs: please hold your PR until the manual roll finishes and rerun build_and_test_host for a green landing if it's not urgent. If your PR needs to fix something urgently, you may still land it on red build_and_test_host with an explicit explanation that the redness is caused by another commit.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Multi-device-debugging-in-VS-Code.md b/docs/unsorted_wiki/Multi-device-debugging-in-VS-Code.md
new file mode 100644
index 0000000..28d9bc0
--- /dev/null
+++ b/docs/unsorted_wiki/Multi-device-debugging-in-VS-Code.md
@@ -0,0 +1,75 @@
+The Flutter plugin for Visual Studio code has been updated to provide _experimental_ support for [Visual Studio Code’s multi-target debugging](https://code.visualstudio.com/docs/editor/debugging#_multitarget-debugging).
+
+## Requirements
+- You must be on latest Flutter master channel for concurrent builds to not overwrite each other and cause build failures.
+
+## Known Issues
+- The Hot Reload button on the debug toolbar does all sessions, but Hot Restart only does the active session
+
+
+## Setup
+To debug multiple devices concurrently you should set up a launch config for each device that has the `deviceId` field set (this is the same ID you'd pass to `flutter run -d xxx`). Open the launch config by clicking `Debug -> Open Configurations`. Add a `compound` config at the bottom that will launch both (or more) configurations at the same time:
+
+```json
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Current Device",
+ "request": "launch",
+ "type": "dart"
+ },
+ {
+ "name": "Android",
+ "request": "launch",
+ "type": "dart",
+ "deviceId": "android"
+ },
+ {
+ "name": "iPhone",
+ "request": "launch",
+ "type": "dart",
+ "deviceId": "iphone"
+ },
+ ],
+ "compounds": [
+ {
+ "name": "All Devices",
+ "configurations": ["Android", "iPhone"],
+ }
+ ]
+}
+```
+
+Once saved, the compound configuration will show up in the drop-down at the top of the Debug side bar.
+
+## Running
+Selecting the compound config on the Debug side bar and clicking `Debug -> Start Debugging` (or `Start Without Debugging`) will launched debug sessions for each device at the same time.
+
+_Note: This may be slow because there are multiple concurrent builds (it may be faster on subsequent builds). You will also see multiple progress notification windows during the builds (we can likely improve this, but right now they just run without knowledge of each other so spawn their own notifications)._
+
+When there are multiple active debug sessions, the debug toolbar will show a dropdown that lets you select the "active" debug session.
+
+Actions on the debug toolbar will be sent only to this session (so you can step individually). The Debug Console will show a similar dropdown to switch between the output of each session.
+
+The Variables and Watch panels on the Debug sidebar will be applied to the active debug session (being re-evaluated as you switch between them), though the Call Stack will show all sessions together, grouped by name.
+
+All the usual functionality like hot-reload-on-save should work. Terminating an app should close only that single debug session.
+
+## Troubleshooting
+The following are tips and tricks learned from connecting a large number of devices for simultaneous debugging (up to 9 at a time have been tested with these techniques).
+
+### Hardware
+- Make sure to use high quality USB cables, e.g. Anker Powerline+ and/or the official Apple cables
+- Make sure to use a high quality USB hub, e.g. Anker 7-Port USB 3.0 Data Hub
+- If you feel the device buzzing periodically, it may be connected and disconnecting, which isn't conducive to good debugging
+
+### Chrome OS
+- Make sure that the ChromeOS box is in developer mode and supports adb deployment
+- Make sure the left port is used for the connection (at least for the Google Pixel family of Chrome OS devices)
+- If not showing in ```flutter devices```, reboot the Chrome OS device with the USB cable in place
+
+### Misc
+- Changes not being replicated to the web and/or desktop app via hot reload? Clicking on the app should cause the changes to be replicated.
+- Starting a debugging session always failing? Make sure that you're using the proper device name, e.g. Apple likes to use smart quotes in their device names instead of the standard apostrophe, e.g. ```Bob’s iPad``` instead of ```Bob's iPad```.
+- If you're still having trouble, make sure to test each configuration on its own via the Debug Sidebar instead of choosing the device to debug from the status bar -- the one in the status bar is going to ignore your launch settings and hide your errors.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/New-Android-version.md b/docs/unsorted_wiki/New-Android-version.md
new file mode 100644
index 0000000..7cecdb4
--- /dev/null
+++ b/docs/unsorted_wiki/New-Android-version.md
@@ -0,0 +1,73 @@
+Support a new android API level flutter
+go/flutter-android-new-api-level
+
+## Objective
+Provide a list of areas to consider and examples of former work for how to update flutter to support a new version of the android API. This happens every fall and flutter developers expect to build against the latest versions quickly after they are available.
+### Overview
+#### New Android features
+New android features can require a broad spectrum of work. Some will require nothing from flutter. Some will require a lot of work, such as the support for “back preview”. The android team generally needs to be aware and schedule work ahead of time.
+#### Update Gradle/AGP support
+Sometimes newer versions of gradle are required to build without warning against a new version of android api. The warning looks like
+```
+WARNING:We recommend using a newer Android Gradle plugin to use compileSdkPreview = "somenamedversion"
+This Android Gradle plugin (X.X.X) was tested up to compileSdk = XX
+```
+Bump the gradle version used in the engine.
+
+
+#### Update Robolectric
+Robolectric is a dependency that allows us to write unit tests that run on a local development machine against the android api surface without being on an android device.
+Update what version of Robolectric we use in framework, engine and packages.
+Example packages: https://github.com/flutter/packages/pull/4018
+Example engine: https://github.com/flutter/engine/pull/42965
+
+
+#### Update CI
+
+Update emulator and/or physical device testing to use the new android api version for framework, engine and packages.
+Firebase test lab emulators and physical devices need support from the firebase team
+Run command `gcloud firebase test android models list` [documentation](https://firebase.google.com/docs/test-lab/android/available-testing-devices) to see available devices.
+Flutter managed Emulators (engine) require a new AVD image to one that supports the new api: https://flutter-review.googlesource.com/c/recipes/+/45049
+Example Framework: https://flutter-review.googlesource.com/c/recipes/+/45048
+Example Engine: https://github.com/flutter/engine/pull/42492
+Packages
+Modify https://github.com/flutter/packages/blob/main/.cirrus.yml “firebase_test_lab_script”
+Specifically the value for “--device” `./script/tool_runner.sh firebase-test-lab --device model=redfin,version=30 --exclude=script/configs/exclude_integration_android.yaml`
+https://github.com/flutter/packages/pull/4430
+#### Update documentation
+Update documentation page to indicate the new api is tested
+https://docs.flutter.dev/reference/supported-platforms
+#### Modify defaults
+In flutter/flutter:
+Update default compile sdk version and target sdk version to the new api value
+Code here https://github.com/flutter/flutter/blob/master/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy
+Follow comments in that file to update other locations that are assumed to be the same.
+Example bumping min sdk which is similar but different: https://github.com/flutter/flutter/pull/125515
+In flutter/buildroot:
+Upload new android sdk version to CIPD (steps at end of document)
+Update default android sdk version
+https://github.com/flutter/buildroot/blob/7984a08044b94bfb4c466ac881c6b56fdfe9148b/build/config/android/config.gni#L19
+In flutter/engine:
+Update android SDK in DEPS file
+https://github.com/flutter/engine/blob/9289cb6a36aa86990e3ffe0f20324dafa38e7c11/DEPS#L731
+Update buildroot version in DEPS file to consume the changes in the flutter/buildroot steps above
+https://github.com/flutter/engine/blob/9289cb6a36aa86990e3ffe0f20324dafa38e7c11/DEPS#L260
+In flutter/packages
+Set examples to build with the new api.
+#### Test “Integration Test” package
+Integration test is a package shipped in the flutter tool for running integration tests on flutter apps. Ensure that the integration test package has an example that targets the new api level on the most recent published stable version of the flutter tool.
+
+#### Related documents
+[Emulators for Flutter Android Testing (PUBLICLY SHARED)](https://docs.google.com/document/d/10wYUcLcSTF4Epg2EUGoBqOkkOe4zxKHvYKjXFZAOgGs/edit?resourcekey=0-pltjPvEtVezXDADMbUwFHQ)
+
+### Additional notes
+#### Upload new SDK version to CIPD and consume in buildroot
+
+Make a fork of the [buildroot](https://github.com/flutter/buildroot) if you haven’t yet.
+Get CIPD temporary write access, if you don’t have it:
+Make a github issue describing that there is a new android release that needs to be uploaded to CIPD
+ Go to [go/flutter-luci-cipd#requesting-writeread-access-to-cipd-packages](http://goto.google.com/flutter-luci-cipd#requesting-writeread-access-to-cipd-packages) and click request access on the hyperlinked page
+Fill out the justification with b/12345 - <your GitHub issue> (the form requires a buganizer link, and the addition of b/12345 satisfies this).
+Reach out to someone on the infra team to get your request approved
+Run the [create_cipd_packages.sh script](https://github.com/flutter/engine/blob/a2adaa39a2c35d1ab23394d550c9a7e50fe41fe9/tools/android_sdk/create_cipd_packages.sh) with your desired version tag (note that there is a .ci.yaml validation step that requires this version tag to be a combination of lowercase letters and numbers). The script pulls the version that will be uploaded from the packages.txt file in the same subdirectory.
+The remaining steps are to consume the changes in the buildroot, and then consume those buildroot changes in the engine.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Obfuscating-Dart-Code.md b/docs/unsorted_wiki/Obfuscating-Dart-Code.md
new file mode 100644
index 0000000..165cb03
--- /dev/null
+++ b/docs/unsorted_wiki/Obfuscating-Dart-Code.md
@@ -0,0 +1,40 @@
+Code obfuscation hides function and class names in your compiled Dart code, making it difficult for an attacker to reverse engineer your proprietary app. This can be enabled with the `--obfuscate` option, which is required to be paired with `--split-debug-info` to generate a symbol map.
+
+
+<i>As of flutter 1.16.2, the information below is out of date. Only use this if you're on an earlier version of Flutter. If you are using Flutter 1.16.2 or later, please refer to [Obfuscating Dart code](https://flutter.dev/docs/deployment/obfuscate) on flutter.dev.</i>
+
+## Android
+
+Add the following line to `<ProjectRoot>/android/gradle.properties`:
+
+```
+extra-gen-snapshot-options=--obfuscate
+```
+For information on obfuscating the Android host, see [Enabling Proguard](https://flutter.dev/android-release/#enabling-proguard) in [Preparing an Android App for Release](https://flutter.dev/android-release/#minify-and-obfuscate).
+
+## iOS
+
+### Step 1 - Modify the "build aot" call
+
+Add the following flag to the `build aot` call in the `<FlutterRoot>/packages/flutter_tools/bin/xcode_backend.sh` file:
+
+```
+${extra_gen_snapshot_options_or_none}
+```
+
+Define this flag as follows:
+
+```
+local extra_gen_snapshot_options_or_none=""
+if [[ -n "$EXTRA_GEN_SNAPSHOT_OPTIONS" ]]; then
+ extra_gen_snapshot_options_or_none="--extra-gen-snapshot-options=$EXTRA_GEN_SNAPSHOT_OPTIONS"
+fi
+```
+
+### Step 2 - Modify the release config
+
+In `<ProjectRoot>/ios/Flutter/Release.xcconfig`, add the following line:
+
+```
+EXTRA_GEN_SNAPSHOT_OPTIONS=--obfuscate
+```
diff --git a/docs/unsorted_wiki/PRs-addressed-between-1.5.4-and-1.7.8.md b/docs/unsorted_wiki/PRs-addressed-between-1.5.4-and-1.7.8.md
new file mode 100644
index 0000000..5eb3e61
--- /dev/null
+++ b/docs/unsorted_wiki/PRs-addressed-between-1.5.4-and-1.7.8.md
@@ -0,0 +1,1704 @@
+# PRs addressed in `flutter/flutter` between `b593f5167bce84fb3cad5c258477bf3abc1b14eb` and `d51fd86`
+
+
+## framework - 235 PRs
+
+[#21896](https://github.com/flutter/flutter/pull/21896) Bottom sheet scrolling
+
+[#28834](https://github.com/flutter/flutter/pull/28834) Sliver animated list
+
+[#29188](https://github.com/flutter/flutter/pull/29188) Fix 25807: implement move in sliver multibox widget
+
+[#29677](https://github.com/flutter/flutter/pull/29677) Fix calculation of hero rectTween when Navigator isn't fullscreen
+
+[#29683](https://github.com/flutter/flutter/pull/29683) Show/hide toolbar and handles based on device kind
+
+[#29809](https://github.com/flutter/flutter/pull/29809) Fix text selection toolbar appearing under obstructions
+
+[#29824](https://github.com/flutter/flutter/pull/29824) Cupertino localization step 8: create a gen_cupertino_localizations and generate one for cupertino english and french
+
+[#29954](https://github.com/flutter/flutter/pull/29954) Cupertino localization step 9: add tests
+
+[#30040](https://github.com/flutter/flutter/pull/30040) Implement focus traversal for desktop platforms, shoehorn edition.
+
+[#30076](https://github.com/flutter/flutter/pull/30076) Implements FocusTraversalPolicy and DefaultFocusTraversal features.
+
+[#30129](https://github.com/flutter/flutter/pull/30129) Fix refresh control in the gallery demo, update comments
+
+[#30224](https://github.com/flutter/flutter/pull/30224) Cupertino localization step 10: update the flutter_localizations README
+
+[#30339](https://github.com/flutter/flutter/pull/30339) Add buttons to gestures
+
+[#30388](https://github.com/flutter/flutter/pull/30388) Add hintStyle in SearchDelegate
+
+[#30406](https://github.com/flutter/flutter/pull/30406) Add binaryMessenger constructor argument to platform channels
+
+[#30572](https://github.com/flutter/flutter/pull/30572) [Material] Adaptive Slider constructor
+
+[#30579](https://github.com/flutter/flutter/pull/30579) PointerDownEvent and PointerMoveEvent default `buttons` to 1
+
+[#30612](https://github.com/flutter/flutter/pull/30612) Added required parameters to FlexibleSpaceBarSettings
+
+[#30796](https://github.com/flutter/flutter/pull/30796) Unbounded TextField width error
+
+[#30874](https://github.com/flutter/flutter/pull/30874) Redo "Remove pressure customization from some pointer events"
+
+[#30884](https://github.com/flutter/flutter/pull/30884) [Material] Update TabController to support dynamic Tabs
+
+[#30942](https://github.com/flutter/flutter/pull/30942) rectMoreOrLess equals, prep for 64bit rects
+
+[#30979](https://github.com/flutter/flutter/pull/30979) fix issue 30526: rounding error
+
+[#30983](https://github.com/flutter/flutter/pull/30983) Refactor core uses of FlutterError.
+
+[#30988](https://github.com/flutter/flutter/pull/30988) Tight Paragraph Width
+
+[#31018](https://github.com/flutter/flutter/pull/31018) [Material] selected/unselected label styles + icon themes on BottomNavigationBar
+
+[#31025](https://github.com/flutter/flutter/pull/31025) added `scrimColor` property in Scaffold widget
+
+[#31093](https://github.com/flutter/flutter/pull/31093) Make the matchesGoldenFile docs link to an explanation of how to create golden image files
+
+[#31095](https://github.com/flutter/flutter/pull/31095) Add buttons customization to WidgetController and related testing classes
+
+[#31097](https://github.com/flutter/flutter/pull/31097) Fix text field selection toolbar under Opacity
+
+[#31227](https://github.com/flutter/flutter/pull/31227) Adding CupertinoTabController
+
+[#31228](https://github.com/flutter/flutter/pull/31228) Fix ExpansionPanelList Duplicate Global Keys Exception
+
+[#31275](https://github.com/flutter/flutter/pull/31275) Update SnackBar to allow for support of the new style from Material spec
+
+[#31291](https://github.com/flutter/flutter/pull/31291) Add some docs to StatefulBuilder
+
+[#31294](https://github.com/flutter/flutter/pull/31294) Improve Radio Documentation with Example
+
+[#31295](https://github.com/flutter/flutter/pull/31295) Improve ThemeData.accentColor connection to secondary color
+
+[#31316](https://github.com/flutter/flutter/pull/31316) Add InkWell docs on transitions and ink splash clipping
+
+[#31317](https://github.com/flutter/flutter/pull/31317) Add docs to AppBar
+
+[#31318](https://github.com/flutter/flutter/pull/31318) Add BottomSheetTheme to enable theming color, elevation, shape of BottomSheet
+
+[#31326](https://github.com/flutter/flutter/pull/31326) Add more shuffle cupertino icons
+
+[#31332](https://github.com/flutter/flutter/pull/31332) iOS selection handles are invisible
+
+[#31333](https://github.com/flutter/flutter/pull/31333) Clean up flutter_test/test/controller_test.dart
+
+[#31420](https://github.com/flutter/flutter/pull/31420) Add more breadcrumb docs to Transformation
+
+[#31421](https://github.com/flutter/flutter/pull/31421) Add Widget of the Week video to SizedBox
+
+[#31438](https://github.com/flutter/flutter/pull/31438) Implements focus handling and hover for Material buttons.
+
+[#31464](https://github.com/flutter/flutter/pull/31464) CupertinoPicker fidelity revision
+
+[#31485](https://github.com/flutter/flutter/pull/31485) Prevent exception being thrown on hasScrolledBody
+
+[#31493](https://github.com/flutter/flutter/pull/31493) Keycode generation doc fix
+
+[#31497](https://github.com/flutter/flutter/pull/31497) Revert "Fix 25807: implement move for sliver multibox widget (#29188)"
+
+[#31502](https://github.com/flutter/flutter/pull/31502) Improve Tabs documentation
+
+[#31514](https://github.com/flutter/flutter/pull/31514) Date picker layout exceptions
+
+[#31520](https://github.com/flutter/flutter/pull/31520) Don't add empty OpacityLayer to the engine
+
+[#31538](https://github.com/flutter/flutter/pull/31538) Fix typo in docs
+
+[#31566](https://github.com/flutter/flutter/pull/31566) TimePicker moves to minute mode after hour selection
+
+[#31568](https://github.com/flutter/flutter/pull/31568) fix transform assert
+
+[#31574](https://github.com/flutter/flutter/pull/31574) Improve RadioListTile Callback Behavior Consistency
+
+[#31581](https://github.com/flutter/flutter/pull/31581) Fix Exception on Nested TabBarView disposal
+
+[#31600](https://github.com/flutter/flutter/pull/31600) Re-enable const
+
+[#31619](https://github.com/flutter/flutter/pull/31619) Fix the documentation for UiKitView#creationParams
+
+[#31623](https://github.com/flutter/flutter/pull/31623) fix edge swiping and dropping back at starting point
+
+[#31634](https://github.com/flutter/flutter/pull/31634) Improve canvas example in sample dart ui app
+
+[#31644](https://github.com/flutter/flutter/pull/31644) Cupertino localization step 12: push translation for all supported languages
+
+[#31662](https://github.com/flutter/flutter/pull/31662) added shape property to SliverAppBar
+
+[#31681](https://github.com/flutter/flutter/pull/31681) [Material] Create a themable Range Slider (continuous and discrete)
+
+[#31687](https://github.com/flutter/flutter/pull/31687) Center iOS caret, remove constant offsets that do not scale
+
+[#31693](https://github.com/flutter/flutter/pull/31693) Adds a note to Radio's/RadioListTile's onChange
+
+[#31696](https://github.com/flutter/flutter/pull/31696) Attempt to reduce usage of runtimeType
+
+[#31699](https://github.com/flutter/flutter/pull/31699) Re-land: Add support for Tooltip hover
+
+[#31701](https://github.com/flutter/flutter/pull/31701) Add more asserts to check matrix validity
+
+[#31761](https://github.com/flutter/flutter/pull/31761) Support clipBehavior changes in hot reload
+
+[#31763](https://github.com/flutter/flutter/pull/31763) Fix ScrollbarPainter thumbExtent calculation and add padding
+
+[#31798](https://github.com/flutter/flutter/pull/31798) Fix tab indentation
+
+[#31802](https://github.com/flutter/flutter/pull/31802) Reland "Fix text field selection toolbar under Opacity (#31097)"
+
+[#31804](https://github.com/flutter/flutter/pull/31804) only build asset when there is asset declared in pubspec
+
+[#31819](https://github.com/flutter/flutter/pull/31819) Redo: Add buttons to gestures
+
+[#31822](https://github.com/flutter/flutter/pull/31822) remove unnecessary artificial delay in catalog example
+
+[#31824](https://github.com/flutter/flutter/pull/31824) fix FlutterDriver timeout
+
+[#31832](https://github.com/flutter/flutter/pull/31832) Allow DSS to be dragged when its children do not fill extent
+
+[#31851](https://github.com/flutter/flutter/pull/31851) Add documentation to Navigator
+
+[#31852](https://github.com/flutter/flutter/pull/31852) Text selection handles are sometimes not interactive
+
+[#31861](https://github.com/flutter/flutter/pull/31861) Add Horizontal Padding to Constrained Chip Label Calculations
+
+[#31890](https://github.com/flutter/flutter/pull/31890) apply fp hack to Flex
+
+[#31894](https://github.com/flutter/flutter/pull/31894) Introduce separate HitTestResults for Box and Sliver
+
+[#31902](https://github.com/flutter/flutter/pull/31902) Updated primaryColor docs to refer to colorScheme properties
+
+[#31903](https://github.com/flutter/flutter/pull/31903) Extract TODO comment from Image.asset dardoc
+
+[#31909](https://github.com/flutter/flutter/pull/31909) Change unfocus to unfocus the entire chain, not just the primary focus
+
+[#31929](https://github.com/flutter/flutter/pull/31929) Sample Code & Animation for Flow Widget
+
+[#31935](https://github.com/flutter/flutter/pull/31935) Redo#2: Add buttons to gestures
+
+[#31938](https://github.com/flutter/flutter/pull/31938) Update scrimDrawerColor with proper const format
+
+[#31987](https://github.com/flutter/flutter/pull/31987) Text wrap width
+
+[#32013](https://github.com/flutter/flutter/pull/32013) Cupertino Turkish Translation
+
+[#32025](https://github.com/flutter/flutter/pull/32025) Make Hover Listener respect transforms
+
+[#32041](https://github.com/flutter/flutter/pull/32041) Remove deprecated decodedCacheRatioCap
+
+[#32053](https://github.com/flutter/flutter/pull/32053) Increase TimePicker touch targets
+
+[#32059](https://github.com/flutter/flutter/pull/32059) fix issue 14014 read only text field
+
+[#32070](https://github.com/flutter/flutter/pull/32070) rename foreground and background to light and dark
+
+[#32086](https://github.com/flutter/flutter/pull/32086) Fix CupertinoSliverRefreshControl onRefresh callback
+
+[#32142](https://github.com/flutter/flutter/pull/32142) Fix RenderPointerListener so that callbacks aren't called at the wrong time.
+
+[#32147](https://github.com/flutter/flutter/pull/32147) Added state management docs/sample to SwitchListTile
+
+[#32177](https://github.com/flutter/flutter/pull/32177) Tab Animation Sample Video
+
+[#32192](https://github.com/flutter/flutter/pull/32192) Transform PointerEvents to the local coordinate system of the event receiver
+
+[#32328](https://github.com/flutter/flutter/pull/32328) Add breadcrumbs to TextOverflow
+
+[#32340](https://github.com/flutter/flutter/pull/32340) make immutables const
+
+[#32360](https://github.com/flutter/flutter/pull/32360) Allow flutter web to be compiled with flutter
+
+[#32380](https://github.com/flutter/flutter/pull/32380) const everything in Driver
+
+[#32408](https://github.com/flutter/flutter/pull/32408) More const conversions
+
+[#32410](https://github.com/flutter/flutter/pull/32410) Add ancestor and descendant finders to Driver
+
+[#32434](https://github.com/flutter/flutter/pull/32434) Support for replacing the TabController, after disposing the old one
+
+[#32437](https://github.com/flutter/flutter/pull/32437) Add assert that the root widget has been attached.
+
+[#32444](https://github.com/flutter/flutter/pull/32444) Updated some links
+
+[#32469](https://github.com/flutter/flutter/pull/32469) Let CupertinoNavigationBarBackButton take a custom onPressed
+
+[#32487](https://github.com/flutter/flutter/pull/32487) Add a more meaningful message to the assertion on children
+
+[#32527](https://github.com/flutter/flutter/pull/32527) Added 'enabled' property to the PopupMenuButton
+
+[#32528](https://github.com/flutter/flutter/pull/32528) Tapping a modal bottom sheet should not dismiss it by default
+
+[#32530](https://github.com/flutter/flutter/pull/32530) Add Actions to AppBar Sample Doc
+
+[#32620](https://github.com/flutter/flutter/pull/32620) Added ScrollController to TextField
+
+[#32638](https://github.com/flutter/flutter/pull/32638) Fix apidocs in _WidgetsAppState.basicLocaleListResolution
+
+[#32641](https://github.com/flutter/flutter/pull/32641) Updating dart.dev related links
+
+[#32654](https://github.com/flutter/flutter/pull/32654) Tabs code/doc cleanup
+
+[#32686](https://github.com/flutter/flutter/pull/32686) enable lint prefer_null_aware_operators
+
+[#32703](https://github.com/flutter/flutter/pull/32703) Add Doc Samples For CheckboxListTile, RadioListTile and SwitchListTile
+
+[#32711](https://github.com/flutter/flutter/pull/32711) use null aware operators
+
+[#32726](https://github.com/flutter/flutter/pull/32726) Material should not prevent ScrollNotifications from bubbling upwards
+
+[#32730](https://github.com/flutter/flutter/pull/32730) Add reverseDuration to AnimationController
+
+[#32776](https://github.com/flutter/flutter/pull/32776) Text field focus and hover support.
+
+[#32823](https://github.com/flutter/flutter/pull/32823) Add enableInteractiveSelection to CupertinoTextField
+
+[#32838](https://github.com/flutter/flutter/pull/32838) Handles hidden by keyboard
+
+[#32842](https://github.com/flutter/flutter/pull/32842) Allow "from" hero state to survive hero animation in a push transition
+
+[#32843](https://github.com/flutter/flutter/pull/32843) Added a missing dispose of an AnimationController that was leaking a ticker.
+
+[#32853](https://github.com/flutter/flutter/pull/32853) Add onBytesReceived callback to consolidateHttpClientResponseBytes()
+
+[#32857](https://github.com/flutter/flutter/pull/32857) Add debugNetworkImageHttpClientProvider
+
+[#32904](https://github.com/flutter/flutter/pull/32904) Use reverseDuration on Tooltip and InkWell
+
+[#32909](https://github.com/flutter/flutter/pull/32909) Documentation fix for debugProfileBuildsEnabled
+
+[#32911](https://github.com/flutter/flutter/pull/32911) Material Long Press Text Handle Flash
+
+[#32914](https://github.com/flutter/flutter/pull/32914) Make hover and focus not respond when buttons and fields are disabled.
+
+[#32936](https://github.com/flutter/flutter/pull/32936) Add some sanity to the ImageStream listener API
+
+[#32974](https://github.com/flutter/flutter/pull/32974) Fix disabled CupertinoTextField style
+
+[#33058](https://github.com/flutter/flutter/pull/33058) Add more missing returns
+
+[#33073](https://github.com/flutter/flutter/pull/33073) SliverAppBar shape property
+
+[#33080](https://github.com/flutter/flutter/pull/33080) Fixed several issues with confirmDismiss handling on the LeaveBehindItem demo.
+
+[#33090](https://github.com/flutter/flutter/pull/33090) [Material] Add support for hovered, pressed, and focused text color on Buttons.
+
+[#33148](https://github.com/flutter/flutter/pull/33148) ExpandIcon Custom Colors
+
+[#33152](https://github.com/flutter/flutter/pull/33152) ModalRoute resumes previous focus on didPopNext
+
+[#33164](https://github.com/flutter/flutter/pull/33164) remove Layer.replaceWith due to no usage and no tests
+
+[#33195](https://github.com/flutter/flutter/pull/33195) Slight clarification in the ImageCache docs
+
+[#33226](https://github.com/flutter/flutter/pull/33226) Explain hairline rendering in BorderSide.width docs
+
+[#33230](https://github.com/flutter/flutter/pull/33230) Framework support for font features in text styles
+
+[#33260](https://github.com/flutter/flutter/pull/33260) Pass an async callback to testWidgets.
+
+[#33279](https://github.com/flutter/flutter/pull/33279) Fix a problem in first focus determination.
+
+[#33298](https://github.com/flutter/flutter/pull/33298) Add actions and keyboard shortcut map support
+
+[#33361](https://github.com/flutter/flutter/pull/33361) (trivial) Rename test file
+
+[#33369](https://github.com/flutter/flutter/pull/33369) Add loading support to Image
+
+[#33370](https://github.com/flutter/flutter/pull/33370) Update FadeInImage to use new Image APIs
+
+[#33406](https://github.com/flutter/flutter/pull/33406) Add web safe indirection to Platform.isPlatform getters
+
+[#33431](https://github.com/flutter/flutter/pull/33431) Expose service client and app isolate in driver
+
+[#33442](https://github.com/flutter/flutter/pull/33442) fix GridView documentation
+
+[#33461](https://github.com/flutter/flutter/pull/33461) Various code cleanup improvements
+
+[#33462](https://github.com/flutter/flutter/pull/33462) Fix text scaling of strut style
+
+[#33467](https://github.com/flutter/flutter/pull/33467) fixed 33347 fill the gap during performLayout in SliverGrid and Slive…
+
+[#33473](https://github.com/flutter/flutter/pull/33473) fix 23723 rounding error
+
+[#33474](https://github.com/flutter/flutter/pull/33474) Fixed for DropdownButton crashing when a style was used that didn't include a fontSize
+
+[#33475](https://github.com/flutter/flutter/pull/33475) Move declaration of semantic handlers from detectors to recognizers
+
+[#33477](https://github.com/flutter/flutter/pull/33477) Fix onExit calling when the mouse is removed.
+
+[#33488](https://github.com/flutter/flutter/pull/33488) use toFixedAsString and DoubleProperty in diagnosticProperties
+
+[#33489](https://github.com/flutter/flutter/pull/33489) Remove empty file
+
+[#33531](https://github.com/flutter/flutter/pull/33531) Fixed broken link in debugProfileBuildsEnabled documentation
+
+[#33535](https://github.com/flutter/flutter/pull/33535) Custom height parameters for DataTable header and data rows
+
+[#33620](https://github.com/flutter/flutter/pull/33620) Document that offsets are returned in logical pixels
+
+[#33627](https://github.com/flutter/flutter/pull/33627) SliverFillRemaining flag for different use cases
+
+[#33628](https://github.com/flutter/flutter/pull/33628) DataTable Custom Horizontal Padding
+
+[#33632](https://github.com/flutter/flutter/pull/33632) Update the keycodes from source
+
+[#33634](https://github.com/flutter/flutter/pull/33634) Let there be scroll bars
+
+[#33653](https://github.com/flutter/flutter/pull/33653) Include advice about dispose in TextEditingController api
+
+[#33662](https://github.com/flutter/flutter/pull/33662) Prep for engine roll
+
+[#33663](https://github.com/flutter/flutter/pull/33663) Use conditional imports for flutter foundation libraries
+
+[#33665](https://github.com/flutter/flutter/pull/33665) [Trivial] Move dropdownValue into State in DropdownButton sample docs
+
+[#33674](https://github.com/flutter/flutter/pull/33674) Add documentation to ImplicitlyAnimatedWidgetState
+
+[#33695](https://github.com/flutter/flutter/pull/33695) Add pseudo-key synonyms for keys like shift, meta, alt, and control.
+
+[#33729](https://github.com/flutter/flutter/pull/33729) Update consolidateHttpClientResponseBytes() to use compressionState
+
+[#33739](https://github.com/flutter/flutter/pull/33739) fixed cupertinoTextField placeholder textAlign
+
+[#33794](https://github.com/flutter/flutter/pull/33794) Text inline widgets, TextSpan rework
+
+[#33802](https://github.com/flutter/flutter/pull/33802) Double double tap toggles instead of error
+
+[#33805](https://github.com/flutter/flutter/pull/33805) Fixing duplicate golden test names
+
+[#33808](https://github.com/flutter/flutter/pull/33808) fix ExpansionPanelList merge the header semantics when it is not nece…
+
+[#33814](https://github.com/flutter/flutter/pull/33814) Added a benchmark for ImageCache
+
+[#33842](https://github.com/flutter/flutter/pull/33842) Don't print warning message when running benchmarks test.
+
+[#33865](https://github.com/flutter/flutter/pull/33865) Correct version name for BottomNavigationBar golden test
+
+[#33868](https://github.com/flutter/flutter/pull/33868) Game controller button support
+
+[#33876](https://github.com/flutter/flutter/pull/33876) Reland "Framework support for font features in text styles"
+
+[#33880](https://github.com/flutter/flutter/pull/33880) Splitting golden file versioning out as an argument of matchesGoldenFile
+
+[#33886](https://github.com/flutter/flutter/pull/33886) Add currentSystemFrameTimeStamp to SchedulerBinding
+
+[#33901](https://github.com/flutter/flutter/pull/33901) Respond to AndroidView focus events.
+
+[#33917](https://github.com/flutter/flutter/pull/33917) 'the the' doc fix
+
+[#33946](https://github.com/flutter/flutter/pull/33946) Reland "Text inline widgets, TextSpan rework"
+
+[#33955](https://github.com/flutter/flutter/pull/33955) Add localFocalPoint to ScaleDetector
+
+[#33996](https://github.com/flutter/flutter/pull/33996) Remove unused/dead code from WidgetInspector
+
+[#33999](https://github.com/flutter/flutter/pull/33999) Updating MediaQuery with viewPadding
+
+[#34012](https://github.com/flutter/flutter/pull/34012) Extract DiagnosticsNode serializer from WidgetInspector
+
+[#34057](https://github.com/flutter/flutter/pull/34057) Add endIndent property to Divider and VerticalDivider
+
+[#34068](https://github.com/flutter/flutter/pull/34068) fix empty selection arrow when double clicked on empty read only text…
+
+[#34073](https://github.com/flutter/flutter/pull/34073) Dartdoc Generation README Improvements
+
+[#34112](https://github.com/flutter/flutter/pull/34112) Separate web and io implementations of network image
+
+[#34137](https://github.com/flutter/flutter/pull/34137) Added tool sample for PageController
+
+[#34175](https://github.com/flutter/flutter/pull/34175) Don't show scrollbar if there isn't enough content
+
+[#34243](https://github.com/flutter/flutter/pull/34243) update the Flutter.Frame event to use new engine APIs
+
+[#34285](https://github.com/flutter/flutter/pull/34285) fix Applying decoration for a table row widget will cause render exce…
+
+[#34298](https://github.com/flutter/flutter/pull/34298) Preserving SafeArea : Part 2
+
+[#34355](https://github.com/flutter/flutter/pull/34355) Text field vertical align
+
+[#34365](https://github.com/flutter/flutter/pull/34365) redux of a change to use new engine APIs for Flutter.Frame events
+
+[#34368](https://github.com/flutter/flutter/pull/34368) Fix semantics_tester
+
+[#34388](https://github.com/flutter/flutter/pull/34388) Change API doc link to api.dart.dev
+
+[#34417](https://github.com/flutter/flutter/pull/34417) Include raw value in Diagnostics json for basic types
+
+[#34424](https://github.com/flutter/flutter/pull/34424) SizedBox documentation minor update
+
+[#34434](https://github.com/flutter/flutter/pull/34434) Semantics fixes
+
+[#34440](https://github.com/flutter/flutter/pull/34440) Add Driver command to get diagnostics tree
+
+[#34474](https://github.com/flutter/flutter/pull/34474) Release diagnostics
+
+[#34501](https://github.com/flutter/flutter/pull/34501) [Material] Fix TextDirection and selected thumb for RangeSliderThumbShape and RangeSliderValueIndicatorShape
+
+[#34508](https://github.com/flutter/flutter/pull/34508) add route information to Flutter.Navigation events
+
+[#34512](https://github.com/flutter/flutter/pull/34512) Make sure fab semantics end up on top
+
+[#34515](https://github.com/flutter/flutter/pull/34515) OutlineInputBorder adjusts for borderRadius that is too large
+
+[#34519](https://github.com/flutter/flutter/pull/34519) fix page scroll position rounding error
+
+[#34587](https://github.com/flutter/flutter/pull/34587) Do not copy paths, rects, and rrects when layer offset is zero
+
+[#34597](https://github.com/flutter/flutter/pull/34597) [Material] Update slider gallery demo, including range slider
+
+[#34664](https://github.com/flutter/flutter/pull/34664) Adjust defaults in docs to match new defaults in code.
+
+[#34679](https://github.com/flutter/flutter/pull/34679) Fix-up code sample for TweenSequence
+
+[#34683](https://github.com/flutter/flutter/pull/34683) add read only semantics flag
+
+[#34684](https://github.com/flutter/flutter/pull/34684) Add more structure to errors.
+
+[#34758](https://github.com/flutter/flutter/pull/34758) Added some Widgets of the Week Videos to documentation
+
+[#34859](https://github.com/flutter/flutter/pull/34859) Fix Vertical Alignment Regression
+
+[#34863](https://github.com/flutter/flutter/pull/34863) Prepare for HttpClientResponse Uint8List SDK change
+
+[#34869](https://github.com/flutter/flutter/pull/34869) [Material] Properly call onChangeStart and onChangeEnd in Range Slider
+
+[#34870](https://github.com/flutter/flutter/pull/34870) Add test case for Flutter Issue #27677 as a benchmark.
+
+[#34919](https://github.com/flutter/flutter/pull/34919) Remove duplicate error parts
+
+[#34932](https://github.com/flutter/flutter/pull/34932) Added onChanged property to TextFormField
+
+[#35046](https://github.com/flutter/flutter/pull/35046) Add generated Icon diagram to api docs
+
+## tool - 140 PRs
+
+[#28808](https://github.com/flutter/flutter/pull/28808) updated tearDownAll function
+
+[#31028](https://github.com/flutter/flutter/pull/31028) Adds support for generating projects that use AndroidX support libraries
+
+[#31039](https://github.com/flutter/flutter/pull/31039) Fix bundle id on iOS launch using flutter run
+
+[#31282](https://github.com/flutter/flutter/pull/31282) Stop precaching the artifacts for dynamic mode.
+
+[#31329](https://github.com/flutter/flutter/pull/31329) Add Xcode build script for macOS target
+
+[#31342](https://github.com/flutter/flutter/pull/31342) check if project exists before regenerating platform specific tooling
+
+[#31359](https://github.com/flutter/flutter/pull/31359) Remove support for building dynamic patches on Android
+
+[#31399](https://github.com/flutter/flutter/pull/31399) add ignorable track-widget-creation flag to build aot
+
+[#31400](https://github.com/flutter/flutter/pull/31400) add printError messages and tool exit to android device
+
+[#31404](https://github.com/flutter/flutter/pull/31404) throw toolExit instead of rethrowing on filesystem exceptions
+
+[#31406](https://github.com/flutter/flutter/pull/31406) if there is no .ios or ios sub-project, don't attempt building for iOS
+
+[#31419](https://github.com/flutter/flutter/pull/31419) Add a note about events coming from the server
+
+[#31446](https://github.com/flutter/flutter/pull/31446) Allow filtering devices to only those supported by current project
+
+[#31491](https://github.com/flutter/flutter/pull/31491) Allow adb stdout to contain the port number without failing
+
+[#31515](https://github.com/flutter/flutter/pull/31515) Support local engine and asset sync for macOS
+
+[#31526](https://github.com/flutter/flutter/pull/31526) replace no-op log reader with real implementation
+
+[#31591](https://github.com/flutter/flutter/pull/31591) make sure we exit early if the Runner.xcodeproj file is missing
+
+[#31631](https://github.com/flutter/flutter/pull/31631) Teach Linux to use local engine
+
+[#31736](https://github.com/flutter/flutter/pull/31736) update packages and unpin build
+
+[#31757](https://github.com/flutter/flutter/pull/31757) Make FlutterProject factories synchronous
+
+[#31759](https://github.com/flutter/flutter/pull/31759) Remove deprecated commands
+
+[#31765](https://github.com/flutter/flutter/pull/31765) Initial sketch of tools testbed
+
+[#31798](https://github.com/flutter/flutter/pull/31798) Fix tab indentation
+
+[#31804](https://github.com/flutter/flutter/pull/31804) only build asset when there is asset declared in pubspec
+
+[#31807](https://github.com/flutter/flutter/pull/31807) Make const available for classes that override AssetBundle
+
+[#31812](https://github.com/flutter/flutter/pull/31812) Fix #31764: Show appropriate error message when fonts pubspec.yaml isn't iterable
+
+[#31825](https://github.com/flutter/flutter/pull/31825) Fix missing return statements on function literals
+
+[#31835](https://github.com/flutter/flutter/pull/31835) Cherry-pick ADB CrOS fix to beta
+
+[#31850](https://github.com/flutter/flutter/pull/31850) Make Gradle error message more specific
+
+[#31868](https://github.com/flutter/flutter/pull/31868) Handle notification errors
+
+[#31873](https://github.com/flutter/flutter/pull/31873) Add basic desktop linux checks
+
+[#31889](https://github.com/flutter/flutter/pull/31889) Start abstracting platform logic builds behind a shared interface
+
+[#31895](https://github.com/flutter/flutter/pull/31895) Report CompileTime metric in flutter build aot --report-timings.
+
+[#32060](https://github.com/flutter/flutter/pull/32060) make hotfix use a plus instead of minus
+
+[#32071](https://github.com/flutter/flutter/pull/32071) [flutter_tool] In 'attach' use platform dill etc from the Fuchsia SDK
+
+[#32072](https://github.com/flutter/flutter/pull/32072) don't NPE with empty pubspec
+
+[#32126](https://github.com/flutter/flutter/pull/32126) Bump multicast_dns version
+
+[#32335](https://github.com/flutter/flutter/pull/32335) Teach flutter msbuild for Windows
+
+[#32360](https://github.com/flutter/flutter/pull/32360) Allow flutter web to be compiled with flutter
+
+[#32404](https://github.com/flutter/flutter/pull/32404) Comment out .vscode/ in gitignore for templates
+
+[#32444](https://github.com/flutter/flutter/pull/32444) Updated some links
+
+[#32503](https://github.com/flutter/flutter/pull/32503) Add more missing returns
+
+[#32787](https://github.com/flutter/flutter/pull/32787) Support 32 and 64 bit
+
+[#32849](https://github.com/flutter/flutter/pull/32849) [flutter_tool] Adds support for 'run' for Fuchsia devices
+
+[#33041](https://github.com/flutter/flutter/pull/33041) Rename `flutter packages` to `flutter pub`
+
+[#33078](https://github.com/flutter/flutter/pull/33078) don't send crash reports if on a user branch
+
+[#33146](https://github.com/flutter/flutter/pull/33146) [flutter_tool] Don't look for Fuchsia artifacts on Windows
+
+[#33191](https://github.com/flutter/flutter/pull/33191) Remove colon from Gradle task name since it's deprecated
+
+[#33197](https://github.com/flutter/flutter/pull/33197) Wire up hot restart and incremental rebuilds for web
+
+[#33225](https://github.com/flutter/flutter/pull/33225) Reland "Clean up some flutter_tools tests and roll dependencies"
+
+[#33228](https://github.com/flutter/flutter/pull/33228) Make Paths absolute in settings.gradle
+
+[#33263](https://github.com/flutter/flutter/pull/33263) [flutter_tool] Improve Fuchsia 'run' tests
+
+[#33264](https://github.com/flutter/flutter/pull/33264) Add local overrides to testbed and provide more defaults
+
+[#33271](https://github.com/flutter/flutter/pull/33271) No longer necessary with ddc fix
+
+[#33272](https://github.com/flutter/flutter/pull/33272) Add mustRunAfter on mergeAssets task to force task ordering
+
+[#33277](https://github.com/flutter/flutter/pull/33277) Implement macOS support in `flutter doctor`
+
+[#33282](https://github.com/flutter/flutter/pull/33282) [flutter_tool] Use product runner in Fuchsia release build
+
+[#33283](https://github.com/flutter/flutter/pull/33283) Fix relative paths and snapshot logic in tool
+
+[#33284](https://github.com/flutter/flutter/pull/33284) make sure we build test targets too
+
+[#33297](https://github.com/flutter/flutter/pull/33297) Instrument add to app flows
+
+[#33374](https://github.com/flutter/flutter/pull/33374) Devfs cleanup and testing
+
+[#33443](https://github.com/flutter/flutter/pull/33443) Wrap Windows build invocation in a batch script
+
+[#33448](https://github.com/flutter/flutter/pull/33448) Use vswhere to find Visual Studio
+
+[#33450](https://github.com/flutter/flutter/pull/33450) Do not return null from IosProject.isSwift
+
+[#33454](https://github.com/flutter/flutter/pull/33454) ensure unpack declares required artifacts
+
+[#33458](https://github.com/flutter/flutter/pull/33458) Add to app measurement
+
+[#33466](https://github.com/flutter/flutter/pull/33466) [flutter_tool] Misc. fixes for Fuchsia
+
+[#33472](https://github.com/flutter/flutter/pull/33472) add daemon command to enumerate supported platforms
+
+[#33525](https://github.com/flutter/flutter/pull/33525) Add capability to flutter test --platform=chrome
+
+[#33526](https://github.com/flutter/flutter/pull/33526) Update Fuchsia SDK
+
+[#33533](https://github.com/flutter/flutter/pull/33533) Reland - Wire up hot restart and incremental rebuilds for web
+
+[#33540](https://github.com/flutter/flutter/pull/33540) Pass local engine variables to Windows build
+
+[#33608](https://github.com/flutter/flutter/pull/33608) Restructure macOS project files
+
+[#33611](https://github.com/flutter/flutter/pull/33611) Use Dart's new direct ELF generator to package AOT blobs as shared libraries in Android APKs
+
+[#33629](https://github.com/flutter/flutter/pull/33629) Add real-er restart for web using webkit inspection protocol
+
+[#33636](https://github.com/flutter/flutter/pull/33636) Implement plugin tooling support for macOS
+
+[#33676](https://github.com/flutter/flutter/pull/33676) Removing old golden checkout for integration test
+
+[#33684](https://github.com/flutter/flutter/pull/33684) Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system
+
+[#33696](https://github.com/flutter/flutter/pull/33696) Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles
+
+[#33846](https://github.com/flutter/flutter/pull/33846) [flutter_tool] Fix 'q' for Fuchsia profile/debug mode
+
+[#33852](https://github.com/flutter/flutter/pull/33852) Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system
+
+[#33859](https://github.com/flutter/flutter/pull/33859) Reland support flutter test on platform chrome
+
+[#33867](https://github.com/flutter/flutter/pull/33867) Remove environment variable guards for command line desktop and web
+
+[#33872](https://github.com/flutter/flutter/pull/33872) Add 'doctor' support for Windows
+
+[#33874](https://github.com/flutter/flutter/pull/33874) Prevent windows web doctor from launching chrome
+
+[#33892](https://github.com/flutter/flutter/pull/33892) add benchmarks to track web size
+
+[#33923](https://github.com/flutter/flutter/pull/33923) [flutter_tool] Track APK sha calculation time
+
+[#33924](https://github.com/flutter/flutter/pull/33924) Added --dart-flags option to flutter run
+
+[#33951](https://github.com/flutter/flutter/pull/33951) Whitelist adb.exe heap corruption exit code.
+
+[#33956](https://github.com/flutter/flutter/pull/33956) Codegen an entrypoint for flutter web applications
+
+[#33980](https://github.com/flutter/flutter/pull/33980) Increase daemon protocol version for getSupportedPlatforms
+
+[#33990](https://github.com/flutter/flutter/pull/33990) Add device category for daemon
+
+[#34018](https://github.com/flutter/flutter/pull/34018) Add flutter create for the web
+
+[#34050](https://github.com/flutter/flutter/pull/34050) limit open files on macOS when copying assets
+
+[#34066](https://github.com/flutter/flutter/pull/34066) Adds the androidX flag to a modules pubspec.yaml template so it is se…
+
+[#34074](https://github.com/flutter/flutter/pull/34074) add analytics fields for attached device os version & run mode
+
+[#34081](https://github.com/flutter/flutter/pull/34081) Report async callback errors that currently go unreported.
+
+[#34084](https://github.com/flutter/flutter/pull/34084) make running on web spooky
+
+[#34090](https://github.com/flutter/flutter/pull/34090) More verification on flutter build web, add tests and cleanup
+
+[#34112](https://github.com/flutter/flutter/pull/34112) Separate web and io implementations of network image
+
+[#34123](https://github.com/flutter/flutter/pull/34123) Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles
+
+[#34159](https://github.com/flutter/flutter/pull/34159) Use product define for flutter web and remove extra asset server
+
+[#34162](https://github.com/flutter/flutter/pull/34162) Update the Fuchsia SDK
+
+[#34181](https://github.com/flutter/flutter/pull/34181) Reland "Added --dart-flags option to flutter run (#33924)"
+
+[#34189](https://github.com/flutter/flutter/pull/34189) Instrument usage of include_flutter.groovy and xcode_backend.sh
+
+[#34255](https://github.com/flutter/flutter/pull/34255) [flutter_tool] Don't truncate verbose logs from _flutter.listViews
+
+[#34276](https://github.com/flutter/flutter/pull/34276) [flutter_tool,fuchsia] Prefetch tiles when starting an app
+
+[#34282](https://github.com/flutter/flutter/pull/34282) Split gradle_plugin_test.dart
+
+[#34288](https://github.com/flutter/flutter/pull/34288) Report commands that resulted in success or failure
+
+[#34291](https://github.com/flutter/flutter/pull/34291) Check whether FLUTTER_ROOT and FLUTTER_ROOT/bin are writable.
+
+[#34293](https://github.com/flutter/flutter/pull/34293) Change Xcode developmentRegion to 'en' and CFBundleDevelopmentRegion to DEVELOPMENT_LANGUAGE
+
+[#34295](https://github.com/flutter/flutter/pull/34295) Prepare for Uint8List SDK breaking changes
+
+[#34353](https://github.com/flutter/flutter/pull/34353) Refactor Gradle plugin
+
+[#34369](https://github.com/flutter/flutter/pull/34369) Remove unused flag `--target-platform` from `flutter run`
+
+[#34376](https://github.com/flutter/flutter/pull/34376) Add missing pieces for 'driver' support on macOS
+
+[#34447](https://github.com/flutter/flutter/pull/34447) [flutter_tool,fuchsia] Update the install flow for packaging migration.
+
+[#34460](https://github.com/flutter/flutter/pull/34460) Add back ability to override the local engine in Gradle
+
+[#34517](https://github.com/flutter/flutter/pull/34517) pass .packages path to snapshot invocation
+
+[#34526](https://github.com/flutter/flutter/pull/34526) retry on HttpException during cache download
+
+[#34527](https://github.com/flutter/flutter/pull/34527) Don't crash on invalid .packages file
+
+[#34529](https://github.com/flutter/flutter/pull/34529) Remove compilation trace and dynamic support code
+
+[#34573](https://github.com/flutter/flutter/pull/34573) Ensures flutter jar is added to all build types on plugin projects
+
+[#34584](https://github.com/flutter/flutter/pull/34584) fix a typo
+
+[#34589](https://github.com/flutter/flutter/pull/34589) Remove most of the target logic for build web, cleanup rules
+
+[#34606](https://github.com/flutter/flutter/pull/34606) Remove portions of the Gradle script related to dynamic patching
+
+[#34616](https://github.com/flutter/flutter/pull/34616) Kill compiler process when test does not exit cleanly
+
+[#34624](https://github.com/flutter/flutter/pull/34624) Break down flutter doctor validations and results
+
+[#34685](https://github.com/flutter/flutter/pull/34685) Close platform when tests are complete (dispose compiler and delete font files)
+
+[#34686](https://github.com/flutter/flutter/pull/34686) unpin build daemon and roll dependencies
+
+[#34725](https://github.com/flutter/flutter/pull/34725) Fix NPE in flutter tools
+
+[#34736](https://github.com/flutter/flutter/pull/34736) Remove flags related to dynamic patching
+
+[#34755](https://github.com/flutter/flutter/pull/34755) Add linux doctor implementation
+
+[#34785](https://github.com/flutter/flutter/pull/34785) Tweak the display name of emulators
+
+[#34794](https://github.com/flutter/flutter/pull/34794) Add `emulatorID` field to devices in daemon
+
+[#34802](https://github.com/flutter/flutter/pull/34802) Prefer ephemeral devices from command line run
+
+[#34856](https://github.com/flutter/flutter/pull/34856) set device name to Chrome
+
+[#34885](https://github.com/flutter/flutter/pull/34885) Reland: rename web device
+
+[#35074](https://github.com/flutter/flutter/pull/35074) Attempt to enable tool coverage redux
+
+[#35084](https://github.com/flutter/flutter/pull/35084) Move findTargetDevices to DeviceManager
+
+[#35092](https://github.com/flutter/flutter/pull/35092) Add FlutterProjectFactory so that it can be overridden internally.
+
+## f: material design - 76 PRs
+
+[#21896](https://github.com/flutter/flutter/pull/21896) Bottom sheet scrolling
+
+[#29188](https://github.com/flutter/flutter/pull/29188) Fix 25807: implement move in sliver multibox widget
+
+[#29809](https://github.com/flutter/flutter/pull/29809) Fix text selection toolbar appearing under obstructions
+
+[#30388](https://github.com/flutter/flutter/pull/30388) Add hintStyle in SearchDelegate
+
+[#30572](https://github.com/flutter/flutter/pull/30572) [Material] Adaptive Slider constructor
+
+[#30612](https://github.com/flutter/flutter/pull/30612) Added required parameters to FlexibleSpaceBarSettings
+
+[#30796](https://github.com/flutter/flutter/pull/30796) Unbounded TextField width error
+
+[#30884](https://github.com/flutter/flutter/pull/30884) [Material] Update TabController to support dynamic Tabs
+
+[#30942](https://github.com/flutter/flutter/pull/30942) rectMoreOrLess equals, prep for 64bit rects
+
+[#31018](https://github.com/flutter/flutter/pull/31018) [Material] selected/unselected label styles + icon themes on BottomNavigationBar
+
+[#31025](https://github.com/flutter/flutter/pull/31025) added `scrimColor` property in Scaffold widget
+
+[#31228](https://github.com/flutter/flutter/pull/31228) Fix ExpansionPanelList Duplicate Global Keys Exception
+
+[#31275](https://github.com/flutter/flutter/pull/31275) Update SnackBar to allow for support of the new style from Material spec
+
+[#31294](https://github.com/flutter/flutter/pull/31294) Improve Radio Documentation with Example
+
+[#31295](https://github.com/flutter/flutter/pull/31295) Improve ThemeData.accentColor connection to secondary color
+
+[#31316](https://github.com/flutter/flutter/pull/31316) Add InkWell docs on transitions and ink splash clipping
+
+[#31317](https://github.com/flutter/flutter/pull/31317) Add docs to AppBar
+
+[#31318](https://github.com/flutter/flutter/pull/31318) Add BottomSheetTheme to enable theming color, elevation, shape of BottomSheet
+
+[#31438](https://github.com/flutter/flutter/pull/31438) Implements focus handling and hover for Material buttons.
+
+[#31502](https://github.com/flutter/flutter/pull/31502) Improve Tabs documentation
+
+[#31514](https://github.com/flutter/flutter/pull/31514) Date picker layout exceptions
+
+[#31538](https://github.com/flutter/flutter/pull/31538) Fix typo in docs
+
+[#31566](https://github.com/flutter/flutter/pull/31566) TimePicker moves to minute mode after hour selection
+
+[#31574](https://github.com/flutter/flutter/pull/31574) Improve RadioListTile Callback Behavior Consistency
+
+[#31581](https://github.com/flutter/flutter/pull/31581) Fix Exception on Nested TabBarView disposal
+
+[#31644](https://github.com/flutter/flutter/pull/31644) Cupertino localization step 12: push translation for all supported languages
+
+[#31662](https://github.com/flutter/flutter/pull/31662) added shape property to SliverAppBar
+
+[#31681](https://github.com/flutter/flutter/pull/31681) [Material] Create a themable Range Slider (continuous and discrete)
+
+[#31693](https://github.com/flutter/flutter/pull/31693) Adds a note to Radio's/RadioListTile's onChange
+
+[#31699](https://github.com/flutter/flutter/pull/31699) Re-land: Add support for Tooltip hover
+
+[#31763](https://github.com/flutter/flutter/pull/31763) Fix ScrollbarPainter thumbExtent calculation and add padding
+
+[#31852](https://github.com/flutter/flutter/pull/31852) Text selection handles are sometimes not interactive
+
+[#31861](https://github.com/flutter/flutter/pull/31861) Add Horizontal Padding to Constrained Chip Label Calculations
+
+[#31902](https://github.com/flutter/flutter/pull/31902) Updated primaryColor docs to refer to colorScheme properties
+
+[#31938](https://github.com/flutter/flutter/pull/31938) Update scrimDrawerColor with proper const format
+
+[#32053](https://github.com/flutter/flutter/pull/32053) Increase TimePicker touch targets
+
+[#32147](https://github.com/flutter/flutter/pull/32147) Added state management docs/sample to SwitchListTile
+
+[#32177](https://github.com/flutter/flutter/pull/32177) Tab Animation Sample Video
+
+[#32434](https://github.com/flutter/flutter/pull/32434) Support for replacing the TabController, after disposing the old one
+
+[#32527](https://github.com/flutter/flutter/pull/32527) Added 'enabled' property to the PopupMenuButton
+
+[#32528](https://github.com/flutter/flutter/pull/32528) Tapping a modal bottom sheet should not dismiss it by default
+
+[#32530](https://github.com/flutter/flutter/pull/32530) Add Actions to AppBar Sample Doc
+
+[#32620](https://github.com/flutter/flutter/pull/32620) Added ScrollController to TextField
+
+[#32654](https://github.com/flutter/flutter/pull/32654) Tabs code/doc cleanup
+
+[#32703](https://github.com/flutter/flutter/pull/32703) Add Doc Samples For CheckboxListTile, RadioListTile and SwitchListTile
+
+[#32726](https://github.com/flutter/flutter/pull/32726) Material should not prevent ScrollNotifications from bubbling upwards
+
+[#32776](https://github.com/flutter/flutter/pull/32776) Text field focus and hover support.
+
+[#32838](https://github.com/flutter/flutter/pull/32838) Handles hidden by keyboard
+
+[#32843](https://github.com/flutter/flutter/pull/32843) Added a missing dispose of an AnimationController that was leaking a ticker.
+
+[#32904](https://github.com/flutter/flutter/pull/32904) Use reverseDuration on Tooltip and InkWell
+
+[#32911](https://github.com/flutter/flutter/pull/32911) Material Long Press Text Handle Flash
+
+[#32914](https://github.com/flutter/flutter/pull/32914) Make hover and focus not respond when buttons and fields are disabled.
+
+[#32950](https://github.com/flutter/flutter/pull/32950) Material allows "select all" when not collapsed
+
+[#33073](https://github.com/flutter/flutter/pull/33073) SliverAppBar shape property
+
+[#33080](https://github.com/flutter/flutter/pull/33080) Fixed several issues with confirmDismiss handling on the LeaveBehindItem demo.
+
+[#33090](https://github.com/flutter/flutter/pull/33090) [Material] Add support for hovered, pressed, and focused text color on Buttons.
+
+[#33148](https://github.com/flutter/flutter/pull/33148) ExpandIcon Custom Colors
+
+[#33361](https://github.com/flutter/flutter/pull/33361) (trivial) Rename test file
+
+[#33474](https://github.com/flutter/flutter/pull/33474) Fixed for DropdownButton crashing when a style was used that didn't include a fontSize
+
+[#33535](https://github.com/flutter/flutter/pull/33535) Custom height parameters for DataTable header and data rows
+
+[#33628](https://github.com/flutter/flutter/pull/33628) DataTable Custom Horizontal Padding
+
+[#33634](https://github.com/flutter/flutter/pull/33634) Let there be scroll bars
+
+[#33653](https://github.com/flutter/flutter/pull/33653) Include advice about dispose in TextEditingController api
+
+[#33665](https://github.com/flutter/flutter/pull/33665) [Trivial] Move dropdownValue into State in DropdownButton sample docs
+
+[#33802](https://github.com/flutter/flutter/pull/33802) Double double tap toggles instead of error
+
+[#33808](https://github.com/flutter/flutter/pull/33808) fix ExpansionPanelList merge the header semantics when it is not nece…
+
+[#33865](https://github.com/flutter/flutter/pull/33865) Correct version name for BottomNavigationBar golden test
+
+[#34055](https://github.com/flutter/flutter/pull/34055) Toggle toolbar exception fix
+
+[#34057](https://github.com/flutter/flutter/pull/34057) Add endIndent property to Divider and VerticalDivider
+
+[#34355](https://github.com/flutter/flutter/pull/34355) Text field vertical align
+
+[#34501](https://github.com/flutter/flutter/pull/34501) [Material] Fix TextDirection and selected thumb for RangeSliderThumbShape and RangeSliderValueIndicatorShape
+
+[#34515](https://github.com/flutter/flutter/pull/34515) OutlineInputBorder adjusts for borderRadius that is too large
+
+[#34597](https://github.com/flutter/flutter/pull/34597) [Material] Update slider gallery demo, including range slider
+
+[#34859](https://github.com/flutter/flutter/pull/34859) Fix Vertical Alignment Regression
+
+[#34869](https://github.com/flutter/flutter/pull/34869) [Material] Properly call onChangeStart and onChangeEnd in Range Slider
+
+[#34932](https://github.com/flutter/flutter/pull/34932) Added onChanged property to TextFormField
+
+## a: tests - 38 PRs
+
+[#30942](https://github.com/flutter/flutter/pull/30942) rectMoreOrLess equals, prep for 64bit rects
+
+[#31333](https://github.com/flutter/flutter/pull/31333) Clean up flutter_test/test/controller_test.dart
+
+[#31452](https://github.com/flutter/flutter/pull/31452) Remove engine tests
+
+[#32070](https://github.com/flutter/flutter/pull/32070) rename foreground and background to light and dark
+
+[#32437](https://github.com/flutter/flutter/pull/32437) Add assert that the root widget has been attached.
+
+[#33349](https://github.com/flutter/flutter/pull/33349) Compatibility pass on flutter/foundation tests for JavaScript compilation. (1)
+
+[#33350](https://github.com/flutter/flutter/pull/33350) Compatibility pass on flutter/scheduler tests for JavaScript compilation. (2)
+
+[#33352](https://github.com/flutter/flutter/pull/33352) Compatibility pass on flutter/painting tests for JavaScript compilation. (3)
+
+[#33354](https://github.com/flutter/flutter/pull/33354) Compatibility pass on flutter/services tests for JavaScript compilation. (4)
+
+[#33355](https://github.com/flutter/flutter/pull/33355) Compatibility pass on flutter/rendering tests for JavaScript compilation. (5)
+
+[#33359](https://github.com/flutter/flutter/pull/33359) Compatibility pass on flutter/physics tests for JavaScript compilation. (6)
+
+[#33360](https://github.com/flutter/flutter/pull/33360) Compatibility pass on flutter/semantics tests for JavaScript compilation. (7)
+
+[#33361](https://github.com/flutter/flutter/pull/33361) (trivial) Rename test file
+
+[#33377](https://github.com/flutter/flutter/pull/33377) Compatibility pass on flutter/widgets tests for JavaScript compilation. (8)
+
+[#33378](https://github.com/flutter/flutter/pull/33378) Compatibility pass on flutter/material tests for JavaScript compilation. (9)
+
+[#33406](https://github.com/flutter/flutter/pull/33406) Add web safe indirection to Platform.isPlatform getters
+
+[#33459](https://github.com/flutter/flutter/pull/33459) make sure version check includes hotfixes
+
+[#33676](https://github.com/flutter/flutter/pull/33676) Removing old golden checkout for integration test
+
+[#33786](https://github.com/flutter/flutter/pull/33786) Add a real-er web restart, doctor, workflow
+
+[#33805](https://github.com/flutter/flutter/pull/33805) Fixing duplicate golden test names
+
+[#33842](https://github.com/flutter/flutter/pull/33842) Don't print warning message when running benchmarks test.
+
+[#33865](https://github.com/flutter/flutter/pull/33865) Correct version name for BottomNavigationBar golden test
+
+[#33880](https://github.com/flutter/flutter/pull/33880) Splitting golden file versioning out as an argument of matchesGoldenFile
+
+[#33932](https://github.com/flutter/flutter/pull/33932) More removing of timeouts.
+
+[#34012](https://github.com/flutter/flutter/pull/34012) Extract DiagnosticsNode serializer from WidgetInspector
+
+[#34017](https://github.com/flutter/flutter/pull/34017) Skip web test on crazy import
+
+[#34032](https://github.com/flutter/flutter/pull/34032) Enable web foundation tests
+
+[#34054](https://github.com/flutter/flutter/pull/34054) Make it easier to pass local engine flags when running devicelab tests
+
+[#34199](https://github.com/flutter/flutter/pull/34199) make sure this test doesn't run for real
+
+[#34368](https://github.com/flutter/flutter/pull/34368) Fix semantics_tester
+
+[#34417](https://github.com/flutter/flutter/pull/34417) Include raw value in Diagnostics json for basic types
+
+[#34440](https://github.com/flutter/flutter/pull/34440) Add Driver command to get diagnostics tree
+
+[#34616](https://github.com/flutter/flutter/pull/34616) Kill compiler process when test does not exit cleanly
+
+[#34685](https://github.com/flutter/flutter/pull/34685) Close platform when tests are complete (dispose compiler and delete font files)
+
+[#34863](https://github.com/flutter/flutter/pull/34863) Prepare for HttpClientResponse Uint8List SDK change
+
+[#34877](https://github.com/flutter/flutter/pull/34877) More shards
+
+[#35074](https://github.com/flutter/flutter/pull/35074) Attempt to enable tool coverage redux
+
+[#35130](https://github.com/flutter/flutter/pull/35130) pass new users for release_smoke_tests
+
+## waiting for tree to go green - 35 PRs
+
+[#28808](https://github.com/flutter/flutter/pull/28808) updated tearDownAll function
+
+[#28834](https://github.com/flutter/flutter/pull/28834) Sliver animated list
+
+[#29677](https://github.com/flutter/flutter/pull/29677) Fix calculation of hero rectTween when Navigator isn't fullscreen
+
+[#30979](https://github.com/flutter/flutter/pull/30979) fix issue 30526: rounding error
+
+[#31028](https://github.com/flutter/flutter/pull/31028) Adds support for generating projects that use AndroidX support libraries
+
+[#31452](https://github.com/flutter/flutter/pull/31452) Remove engine tests
+
+[#31600](https://github.com/flutter/flutter/pull/31600) Re-enable const
+
+[#31798](https://github.com/flutter/flutter/pull/31798) Fix tab indentation
+
+[#31832](https://github.com/flutter/flutter/pull/31832) Allow DSS to be dragged when its children do not fill extent
+
+[#31868](https://github.com/flutter/flutter/pull/31868) Handle notification errors
+
+[#32025](https://github.com/flutter/flutter/pull/32025) Make Hover Listener respect transforms
+
+[#32266](https://github.com/flutter/flutter/pull/32266) Add reference to Runner-Bridging-Header.h to iOS profile config
+
+[#32328](https://github.com/flutter/flutter/pull/32328) Add breadcrumbs to TextOverflow
+
+[#32380](https://github.com/flutter/flutter/pull/32380) const everything in Driver
+
+[#32410](https://github.com/flutter/flutter/pull/32410) Add ancestor and descendant finders to Driver
+
+[#33152](https://github.com/flutter/flutter/pull/33152) ModalRoute resumes previous focus on didPopNext
+
+[#33272](https://github.com/flutter/flutter/pull/33272) Add mustRunAfter on mergeAssets task to force task ordering
+
+[#33442](https://github.com/flutter/flutter/pull/33442) fix GridView documentation
+
+[#33461](https://github.com/flutter/flutter/pull/33461) Various code cleanup improvements
+
+[#33653](https://github.com/flutter/flutter/pull/33653) Include advice about dispose in TextEditingController api
+
+[#33865](https://github.com/flutter/flutter/pull/33865) Correct version name for BottomNavigationBar golden test
+
+[#33880](https://github.com/flutter/flutter/pull/33880) Splitting golden file versioning out as an argument of matchesGoldenFile
+
+[#33932](https://github.com/flutter/flutter/pull/33932) More removing of timeouts.
+
+[#33955](https://github.com/flutter/flutter/pull/33955) Add localFocalPoint to ScaleDetector
+
+[#34298](https://github.com/flutter/flutter/pull/34298) Preserving SafeArea : Part 2
+
+[#34440](https://github.com/flutter/flutter/pull/34440) Add Driver command to get diagnostics tree
+
+[#34474](https://github.com/flutter/flutter/pull/34474) Release diagnostics
+
+[#34573](https://github.com/flutter/flutter/pull/34573) Ensures flutter jar is added to all build types on plugin projects
+
+[#34592](https://github.com/flutter/flutter/pull/34592) Config lib dependencies for flavors
+
+[#34606](https://github.com/flutter/flutter/pull/34606) Remove portions of the Gradle script related to dynamic patching
+
+[#34655](https://github.com/flutter/flutter/pull/34655) Revert "Config lib dependencies for flavors"
+
+[#34685](https://github.com/flutter/flutter/pull/34685) Close platform when tests are complete (dispose compiler and delete font files)
+
+[#34738](https://github.com/flutter/flutter/pull/34738) Update Xcode projects to recommended Xcode 10 project settings
+
+[#34877](https://github.com/flutter/flutter/pull/34877) More shards
+
+[#34919](https://github.com/flutter/flutter/pull/34919) Remove duplicate error parts
+
+## d: api docs - 34 PRs
+
+[#31294](https://github.com/flutter/flutter/pull/31294) Improve Radio Documentation with Example
+
+[#31295](https://github.com/flutter/flutter/pull/31295) Improve ThemeData.accentColor connection to secondary color
+
+[#31316](https://github.com/flutter/flutter/pull/31316) Add InkWell docs on transitions and ink splash clipping
+
+[#31317](https://github.com/flutter/flutter/pull/31317) Add docs to AppBar
+
+[#31493](https://github.com/flutter/flutter/pull/31493) Keycode generation doc fix
+
+[#31502](https://github.com/flutter/flutter/pull/31502) Improve Tabs documentation
+
+[#31634](https://github.com/flutter/flutter/pull/31634) Improve canvas example in sample dart ui app
+
+[#31693](https://github.com/flutter/flutter/pull/31693) Adds a note to Radio's/RadioListTile's onChange
+
+[#31763](https://github.com/flutter/flutter/pull/31763) Fix ScrollbarPainter thumbExtent calculation and add padding
+
+[#31902](https://github.com/flutter/flutter/pull/31902) Updated primaryColor docs to refer to colorScheme properties
+
+[#31903](https://github.com/flutter/flutter/pull/31903) Extract TODO comment from Image.asset dardoc
+
+[#31929](https://github.com/flutter/flutter/pull/31929) Sample Code & Animation for Flow Widget
+
+[#32147](https://github.com/flutter/flutter/pull/32147) Added state management docs/sample to SwitchListTile
+
+[#32177](https://github.com/flutter/flutter/pull/32177) Tab Animation Sample Video
+
+[#32530](https://github.com/flutter/flutter/pull/32530) Add Actions to AppBar Sample Doc
+
+[#32638](https://github.com/flutter/flutter/pull/32638) Fix apidocs in _WidgetsAppState.basicLocaleListResolution
+
+[#32641](https://github.com/flutter/flutter/pull/32641) Updating dart.dev related links
+
+[#32703](https://github.com/flutter/flutter/pull/32703) Add Doc Samples For CheckboxListTile, RadioListTile and SwitchListTile
+
+[#32909](https://github.com/flutter/flutter/pull/32909) Documentation fix for debugProfileBuildsEnabled
+
+[#33226](https://github.com/flutter/flutter/pull/33226) Explain hairline rendering in BorderSide.width docs
+
+[#33442](https://github.com/flutter/flutter/pull/33442) fix GridView documentation
+
+[#33620](https://github.com/flutter/flutter/pull/33620) Document that offsets are returned in logical pixels
+
+[#33653](https://github.com/flutter/flutter/pull/33653) Include advice about dispose in TextEditingController api
+
+[#33665](https://github.com/flutter/flutter/pull/33665) [Trivial] Move dropdownValue into State in DropdownButton sample docs
+
+[#33917](https://github.com/flutter/flutter/pull/33917) 'the the' doc fix
+
+[#34073](https://github.com/flutter/flutter/pull/34073) Dartdoc Generation README Improvements
+
+[#34137](https://github.com/flutter/flutter/pull/34137) Added tool sample for PageController
+
+[#34163](https://github.com/flutter/flutter/pull/34163) update CupertinoDialogAction docs
+
+[#34356](https://github.com/flutter/flutter/pull/34356) Add widget of the week videos
+
+[#34388](https://github.com/flutter/flutter/pull/34388) Change API doc link to api.dart.dev
+
+[#34424](https://github.com/flutter/flutter/pull/34424) SizedBox documentation minor update
+
+[#34679](https://github.com/flutter/flutter/pull/34679) Fix-up code sample for TweenSequence
+
+[#34758](https://github.com/flutter/flutter/pull/34758) Added some Widgets of the Week Videos to documentation
+
+[#35046](https://github.com/flutter/flutter/pull/35046) Add generated Icon diagram to api docs
+
+## team - 28 PRs
+
+[#28808](https://github.com/flutter/flutter/pull/28808) updated tearDownAll function
+
+[#30327](https://github.com/flutter/flutter/pull/30327) Add "feature request" issue template
+
+[#31452](https://github.com/flutter/flutter/pull/31452) Remove engine tests
+
+[#31825](https://github.com/flutter/flutter/pull/31825) Fix missing return statements on function literals
+
+[#31885](https://github.com/flutter/flutter/pull/31885) Fix commit message UTF issue for deploy_gallery shard too
+
+[#31944](https://github.com/flutter/flutter/pull/31944) Performance issue template
+
+[#32345](https://github.com/flutter/flutter/pull/32345) Add master channel to performance issue template
+
+[#32503](https://github.com/flutter/flutter/pull/32503) Add more missing returns
+
+[#33267](https://github.com/flutter/flutter/pull/33267) Add unpublish_package script.
+
+[#33459](https://github.com/flutter/flutter/pull/33459) make sure version check includes hotfixes
+
+[#33539](https://github.com/flutter/flutter/pull/33539) Fix/update several HTML links
+
+[#33554](https://github.com/flutter/flutter/pull/33554) Remove obsolete TODOs
+
+[#33677](https://github.com/flutter/flutter/pull/33677) Roll pub dependencies
+
+[#33786](https://github.com/flutter/flutter/pull/33786) Add a real-er web restart, doctor, workflow
+
+[#33787](https://github.com/flutter/flutter/pull/33787) Add chrome stable to dockerfile and web shard
+
+[#33861](https://github.com/flutter/flutter/pull/33861) Unmark flutter_gallery__back_button_memory as flaky
+
+[#33932](https://github.com/flutter/flutter/pull/33932) More removing of timeouts.
+
+[#34032](https://github.com/flutter/flutter/pull/34032) Enable web foundation tests
+
+[#34054](https://github.com/flutter/flutter/pull/34054) Make it easier to pass local engine flags when running devicelab tests
+
+[#34112](https://github.com/flutter/flutter/pull/34112) Separate web and io implementations of network image
+
+[#34199](https://github.com/flutter/flutter/pull/34199) make sure this test doesn't run for real
+
+[#34738](https://github.com/flutter/flutter/pull/34738) Update Xcode projects to recommended Xcode 10 project settings
+
+[#34739](https://github.com/flutter/flutter/pull/34739) Disable widgets and material web tests
+
+[#34812](https://github.com/flutter/flutter/pull/34812) Shard framework tests
+
+[#34818](https://github.com/flutter/flutter/pull/34818) Make docs do less work/be less flaky
+
+[#34857](https://github.com/flutter/flutter/pull/34857) More shards
+
+[#34877](https://github.com/flutter/flutter/pull/34877) More shards
+
+[#35130](https://github.com/flutter/flutter/pull/35130) pass new users for release_smoke_tests
+
+## f: cupertino - 27 PRs
+
+[#29809](https://github.com/flutter/flutter/pull/29809) Fix text selection toolbar appearing under obstructions
+
+[#29824](https://github.com/flutter/flutter/pull/29824) Cupertino localization step 8: create a gen_cupertino_localizations and generate one for cupertino english and french
+
+[#29954](https://github.com/flutter/flutter/pull/29954) Cupertino localization step 9: add tests
+
+[#30129](https://github.com/flutter/flutter/pull/30129) Fix refresh control in the gallery demo, update comments
+
+[#30224](https://github.com/flutter/flutter/pull/30224) Cupertino localization step 10: update the flutter_localizations README
+
+[#31227](https://github.com/flutter/flutter/pull/31227) Adding CupertinoTabController
+
+[#31308](https://github.com/flutter/flutter/pull/31308) Added font bold when isDefaultAction is true in CupertinoDialogAction
+
+[#31326](https://github.com/flutter/flutter/pull/31326) Add more shuffle cupertino icons
+
+[#31464](https://github.com/flutter/flutter/pull/31464) CupertinoPicker fidelity revision
+
+[#31623](https://github.com/flutter/flutter/pull/31623) fix edge swiping and dropping back at starting point
+
+[#31644](https://github.com/flutter/flutter/pull/31644) Cupertino localization step 12: push translation for all supported languages
+
+[#31763](https://github.com/flutter/flutter/pull/31763) Fix ScrollbarPainter thumbExtent calculation and add padding
+
+[#31852](https://github.com/flutter/flutter/pull/31852) Text selection handles are sometimes not interactive
+
+[#32013](https://github.com/flutter/flutter/pull/32013) Cupertino Turkish Translation
+
+[#32086](https://github.com/flutter/flutter/pull/32086) Fix CupertinoSliverRefreshControl onRefresh callback
+
+[#32469](https://github.com/flutter/flutter/pull/32469) Let CupertinoNavigationBarBackButton take a custom onPressed
+
+[#32513](https://github.com/flutter/flutter/pull/32513) Cupertino localization step 12 try 2: push translation for all supported languages
+
+[#32620](https://github.com/flutter/flutter/pull/32620) Added ScrollController to TextField
+
+[#32823](https://github.com/flutter/flutter/pull/32823) Add enableInteractiveSelection to CupertinoTextField
+
+[#32974](https://github.com/flutter/flutter/pull/32974) Fix disabled CupertinoTextField style
+
+[#33624](https://github.com/flutter/flutter/pull/33624) CupertinoTabScaffold crash fix
+
+[#33634](https://github.com/flutter/flutter/pull/33634) Let there be scroll bars
+
+[#33653](https://github.com/flutter/flutter/pull/33653) Include advice about dispose in TextEditingController api
+
+[#33739](https://github.com/flutter/flutter/pull/33739) fixed cupertinoTextField placeholder textAlign
+
+[#34095](https://github.com/flutter/flutter/pull/34095) Cupertino text edit tooltip, reworked
+
+[#34163](https://github.com/flutter/flutter/pull/34163) update CupertinoDialogAction docs
+
+[#34964](https://github.com/flutter/flutter/pull/34964) CupertinoTextField.onTap
+
+## severe: API break - 17 PRs
+
+[#29188](https://github.com/flutter/flutter/pull/29188) Fix 25807: implement move in sliver multibox widget
+
+[#29683](https://github.com/flutter/flutter/pull/29683) Show/hide toolbar and handles based on device kind
+
+[#30040](https://github.com/flutter/flutter/pull/30040) Implement focus traversal for desktop platforms, shoehorn edition.
+
+[#30579](https://github.com/flutter/flutter/pull/30579) PointerDownEvent and PointerMoveEvent default `buttons` to 1
+
+[#30874](https://github.com/flutter/flutter/pull/30874) Redo "Remove pressure customization from some pointer events"
+
+[#31227](https://github.com/flutter/flutter/pull/31227) Adding CupertinoTabController
+
+[#31574](https://github.com/flutter/flutter/pull/31574) Improve RadioListTile Callback Behavior Consistency
+
+[#32059](https://github.com/flutter/flutter/pull/32059) fix issue 14014 read only text field
+
+[#32842](https://github.com/flutter/flutter/pull/32842) Allow "from" hero state to survive hero animation in a push transition
+
+[#33148](https://github.com/flutter/flutter/pull/33148) ExpandIcon Custom Colors
+
+[#33164](https://github.com/flutter/flutter/pull/33164) remove Layer.replaceWith due to no usage and no tests
+
+[#33370](https://github.com/flutter/flutter/pull/33370) Update FadeInImage to use new Image APIs
+
+[#33794](https://github.com/flutter/flutter/pull/33794) Text inline widgets, TextSpan rework
+
+[#33946](https://github.com/flutter/flutter/pull/33946) Reland "Text inline widgets, TextSpan rework"
+
+[#34051](https://github.com/flutter/flutter/pull/34051) Reland "Text inline widgets, TextSpan rework (#30069)" with improved backwards compatibility
+
+[#34095](https://github.com/flutter/flutter/pull/34095) Cupertino text edit tooltip, reworked
+
+[#34501](https://github.com/flutter/flutter/pull/34501) [Material] Fix TextDirection and selected thumb for RangeSliderThumbShape and RangeSliderValueIndicatorShape
+
+## a: text input - 15 PRs
+
+[#29683](https://github.com/flutter/flutter/pull/29683) Show/hide toolbar and handles based on device kind
+
+[#31687](https://github.com/flutter/flutter/pull/31687) Center iOS caret, remove constant offsets that do not scale
+
+[#32059](https://github.com/flutter/flutter/pull/32059) fix issue 14014 read only text field
+
+[#32823](https://github.com/flutter/flutter/pull/32823) Add enableInteractiveSelection to CupertinoTextField
+
+[#32838](https://github.com/flutter/flutter/pull/32838) Handles hidden by keyboard
+
+[#32974](https://github.com/flutter/flutter/pull/32974) Fix disabled CupertinoTextField style
+
+[#33794](https://github.com/flutter/flutter/pull/33794) Text inline widgets, TextSpan rework
+
+[#33802](https://github.com/flutter/flutter/pull/33802) Double double tap toggles instead of error
+
+[#33946](https://github.com/flutter/flutter/pull/33946) Reland "Text inline widgets, TextSpan rework"
+
+[#34051](https://github.com/flutter/flutter/pull/34051) Reland "Text inline widgets, TextSpan rework (#30069)" with improved backwards compatibility
+
+[#34055](https://github.com/flutter/flutter/pull/34055) Toggle toolbar exception fix
+
+[#34068](https://github.com/flutter/flutter/pull/34068) fix empty selection arrow when double clicked on empty read only text…
+
+[#34095](https://github.com/flutter/flutter/pull/34095) Cupertino text edit tooltip, reworked
+
+[#34515](https://github.com/flutter/flutter/pull/34515) OutlineInputBorder adjusts for borderRadius that is too large
+
+[#34859](https://github.com/flutter/flutter/pull/34859) Fix Vertical Alignment Regression
+
+## ☸ platform-web - 15 PRs
+
+[#33197](https://github.com/flutter/flutter/pull/33197) Wire up hot restart and incremental rebuilds for web
+
+[#33349](https://github.com/flutter/flutter/pull/33349) Compatibility pass on flutter/foundation tests for JavaScript compilation. (1)
+
+[#33350](https://github.com/flutter/flutter/pull/33350) Compatibility pass on flutter/scheduler tests for JavaScript compilation. (2)
+
+[#33352](https://github.com/flutter/flutter/pull/33352) Compatibility pass on flutter/painting tests for JavaScript compilation. (3)
+
+[#33354](https://github.com/flutter/flutter/pull/33354) Compatibility pass on flutter/services tests for JavaScript compilation. (4)
+
+[#33355](https://github.com/flutter/flutter/pull/33355) Compatibility pass on flutter/rendering tests for JavaScript compilation. (5)
+
+[#33359](https://github.com/flutter/flutter/pull/33359) Compatibility pass on flutter/physics tests for JavaScript compilation. (6)
+
+[#33360](https://github.com/flutter/flutter/pull/33360) Compatibility pass on flutter/semantics tests for JavaScript compilation. (7)
+
+[#33377](https://github.com/flutter/flutter/pull/33377) Compatibility pass on flutter/widgets tests for JavaScript compilation. (8)
+
+[#33378](https://github.com/flutter/flutter/pull/33378) Compatibility pass on flutter/material tests for JavaScript compilation. (9)
+
+[#33629](https://github.com/flutter/flutter/pull/33629) Add real-er restart for web using webkit inspection protocol
+
+[#33956](https://github.com/flutter/flutter/pull/33956) Codegen an entrypoint for flutter web applications
+
+[#34018](https://github.com/flutter/flutter/pull/34018) Add flutter create for the web
+
+[#34112](https://github.com/flutter/flutter/pull/34112) Separate web and io implementations of network image
+
+[#34159](https://github.com/flutter/flutter/pull/34159) Use product define for flutter web and remove extra asset server
+
+## a: desktop - 14 PRs
+
+[#29683](https://github.com/flutter/flutter/pull/29683) Show/hide toolbar and handles based on device kind
+
+[#30040](https://github.com/flutter/flutter/pull/30040) Implement focus traversal for desktop platforms, shoehorn edition.
+
+[#30076](https://github.com/flutter/flutter/pull/30076) Implements FocusTraversalPolicy and DefaultFocusTraversal features.
+
+[#30339](https://github.com/flutter/flutter/pull/30339) Add buttons to gestures
+
+[#30579](https://github.com/flutter/flutter/pull/30579) PointerDownEvent and PointerMoveEvent default `buttons` to 1
+
+[#31493](https://github.com/flutter/flutter/pull/31493) Keycode generation doc fix
+
+[#31819](https://github.com/flutter/flutter/pull/31819) Redo: Add buttons to gestures
+
+[#31935](https://github.com/flutter/flutter/pull/31935) Redo#2: Add buttons to gestures
+
+[#33298](https://github.com/flutter/flutter/pull/33298) Add actions and keyboard shortcut map support
+
+[#33443](https://github.com/flutter/flutter/pull/33443) Wrap Windows build invocation in a batch script
+
+[#33454](https://github.com/flutter/flutter/pull/33454) ensure unpack declares required artifacts
+
+[#33636](https://github.com/flutter/flutter/pull/33636) Implement plugin tooling support for macOS
+
+[#33695](https://github.com/flutter/flutter/pull/33695) Add pseudo-key synonyms for keys like shift, meta, alt, and control.
+
+[#33868](https://github.com/flutter/flutter/pull/33868) Game controller button support
+
+## t: gradle - 11 PRs
+
+[#32787](https://github.com/flutter/flutter/pull/32787) Support 32 and 64 bit
+
+[#33191](https://github.com/flutter/flutter/pull/33191) Remove colon from Gradle task name since it's deprecated
+
+[#33228](https://github.com/flutter/flutter/pull/33228) Make Paths absolute in settings.gradle
+
+[#33272](https://github.com/flutter/flutter/pull/33272) Add mustRunAfter on mergeAssets task to force task ordering
+
+[#33696](https://github.com/flutter/flutter/pull/33696) Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles
+
+[#34123](https://github.com/flutter/flutter/pull/34123) Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles
+
+[#34353](https://github.com/flutter/flutter/pull/34353) Refactor Gradle plugin
+
+[#34460](https://github.com/flutter/flutter/pull/34460) Add back ability to override the local engine in Gradle
+
+[#34573](https://github.com/flutter/flutter/pull/34573) Ensures flutter jar is added to all build types on plugin projects
+
+[#34592](https://github.com/flutter/flutter/pull/34592) Config lib dependencies for flavors
+
+[#34668](https://github.com/flutter/flutter/pull/34668) Re-land config lib dependencies for flavors
+
+## f: scrolling - 9 PRs
+
+[#31485](https://github.com/flutter/flutter/pull/31485) Prevent exception being thrown on hasScrolledBody
+
+[#31763](https://github.com/flutter/flutter/pull/31763) Fix ScrollbarPainter thumbExtent calculation and add padding
+
+[#31832](https://github.com/flutter/flutter/pull/31832) Allow DSS to be dragged when its children do not fill extent
+
+[#32620](https://github.com/flutter/flutter/pull/32620) Added ScrollController to TextField
+
+[#32726](https://github.com/flutter/flutter/pull/32726) Material should not prevent ScrollNotifications from bubbling upwards
+
+[#32842](https://github.com/flutter/flutter/pull/32842) Allow "from" hero state to survive hero animation in a push transition
+
+[#33627](https://github.com/flutter/flutter/pull/33627) SliverFillRemaining flag for different use cases
+
+[#33634](https://github.com/flutter/flutter/pull/33634) Let there be scroll bars
+
+[#34175](https://github.com/flutter/flutter/pull/34175) Don't show scrollbar if there isn't enough content
+
+## engine - 6 PRs
+
+[#31520](https://github.com/flutter/flutter/pull/31520) Don't add empty OpacityLayer to the engine
+
+[#33272](https://github.com/flutter/flutter/pull/33272) Add mustRunAfter on mergeAssets task to force task ordering
+
+[#33662](https://github.com/flutter/flutter/pull/33662) Prep for engine roll
+
+[#34276](https://github.com/flutter/flutter/pull/34276) [flutter_tool,fuchsia] Prefetch tiles when starting an app
+
+[#34460](https://github.com/flutter/flutter/pull/34460) Add back ability to override the local engine in Gradle
+
+[#34870](https://github.com/flutter/flutter/pull/34870) Add test case for Flutter Issue #27677 as a benchmark.
+
+## severe: new feature - 6 PRs
+
+[#33148](https://github.com/flutter/flutter/pull/33148) ExpandIcon Custom Colors
+
+[#33535](https://github.com/flutter/flutter/pull/33535) Custom height parameters for DataTable header and data rows
+
+[#33628](https://github.com/flutter/flutter/pull/33628) DataTable Custom Horizontal Padding
+
+[#33794](https://github.com/flutter/flutter/pull/33794) Text inline widgets, TextSpan rework
+
+[#33946](https://github.com/flutter/flutter/pull/33946) Reland "Text inline widgets, TextSpan rework"
+
+[#34051](https://github.com/flutter/flutter/pull/34051) Reland "Text inline widgets, TextSpan rework (#30069)" with improved backwards compatibility
+
+## t: flutter driver - 5 PRs
+
+[#28808](https://github.com/flutter/flutter/pull/28808) updated tearDownAll function
+
+[#31824](https://github.com/flutter/flutter/pull/31824) fix FlutterDriver timeout
+
+[#32380](https://github.com/flutter/flutter/pull/32380) const everything in Driver
+
+[#33431](https://github.com/flutter/flutter/pull/33431) Expose service client and app isolate in driver
+
+[#33786](https://github.com/flutter/flutter/pull/33786) Add a real-er web restart, doctor, workflow
+
+## a: images - 5 PRs
+
+[#32853](https://github.com/flutter/flutter/pull/32853) Add onBytesReceived callback to consolidateHttpClientResponseBytes()
+
+[#32857](https://github.com/flutter/flutter/pull/32857) Add debugNetworkImageHttpClientProvider
+
+[#32936](https://github.com/flutter/flutter/pull/32936) Add some sanity to the ImageStream listener API
+
+[#33729](https://github.com/flutter/flutter/pull/33729) Update consolidateHttpClientResponseBytes() to use compressionState
+
+[#33814](https://github.com/flutter/flutter/pull/33814) Added a benchmark for ImageCache
+
+## a: animation - 4 PRs
+
+[#21896](https://github.com/flutter/flutter/pull/21896) Bottom sheet scrolling
+
+[#29677](https://github.com/flutter/flutter/pull/29677) Fix calculation of hero rectTween when Navigator isn't fullscreen
+
+[#32730](https://github.com/flutter/flutter/pull/32730) Add reverseDuration to AnimationController
+
+[#32842](https://github.com/flutter/flutter/pull/32842) Allow "from" hero state to survive hero animation in a push transition
+
+## ▣ platform-android - 4 PRs
+
+[#31491](https://github.com/flutter/flutter/pull/31491) Allow adb stdout to contain the port number without failing
+
+[#32950](https://github.com/flutter/flutter/pull/32950) Material allows "select all" when not collapsed
+
+[#33191](https://github.com/flutter/flutter/pull/33191) Remove colon from Gradle task name since it's deprecated
+
+[#33696](https://github.com/flutter/flutter/pull/33696) Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles
+
+## d: examples - 4 PRs
+
+[#31634](https://github.com/flutter/flutter/pull/31634) Improve canvas example in sample dart ui app
+
+[#31822](https://github.com/flutter/flutter/pull/31822) remove unnecessary artificial delay in catalog example
+
+[#31929](https://github.com/flutter/flutter/pull/31929) Sample Code & Animation for Flow Widget
+
+[#35046](https://github.com/flutter/flutter/pull/35046) Add generated Icon diagram to api docs
+
+## a: typography - 4 PRs
+
+[#31987](https://github.com/flutter/flutter/pull/31987) Text wrap width
+
+[#33794](https://github.com/flutter/flutter/pull/33794) Text inline widgets, TextSpan rework
+
+[#33946](https://github.com/flutter/flutter/pull/33946) Reland "Text inline widgets, TextSpan rework"
+
+[#34051](https://github.com/flutter/flutter/pull/34051) Reland "Text inline widgets, TextSpan rework (#30069)" with improved backwards compatibility
+
+## t: xcode - 4 PRs
+
+[#32266](https://github.com/flutter/flutter/pull/32266) Add reference to Runner-Bridging-Header.h to iOS profile config
+
+[#33684](https://github.com/flutter/flutter/pull/33684) Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system
+
+[#34293](https://github.com/flutter/flutter/pull/34293) Change Xcode developmentRegion to 'en' and CFBundleDevelopmentRegion to DEVELOPMENT_LANGUAGE
+
+[#34738](https://github.com/flutter/flutter/pull/34738) Update Xcode projects to recommended Xcode 10 project settings
+
+## severe: crash - 3 PRs
+
+[#31228](https://github.com/flutter/flutter/pull/31228) Fix ExpansionPanelList Duplicate Global Keys Exception
+
+[#31581](https://github.com/flutter/flutter/pull/31581) Fix Exception on Nested TabBarView disposal
+
+[#34460](https://github.com/flutter/flutter/pull/34460) Add back ability to override the local engine in Gradle
+
+## ⌺ platform-ios - 3 PRs
+
+[#31332](https://github.com/flutter/flutter/pull/31332) iOS selection handles are invisible
+
+[#31687](https://github.com/flutter/flutter/pull/31687) Center iOS caret, remove constant offsets that do not scale
+
+[#33684](https://github.com/flutter/flutter/pull/33684) Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system
+
+## a: internationalization - 3 PRs
+
+[#31644](https://github.com/flutter/flutter/pull/31644) Cupertino localization step 12: push translation for all supported languages
+
+[#32013](https://github.com/flutter/flutter/pull/32013) Cupertino Turkish Translation
+
+[#32513](https://github.com/flutter/flutter/pull/32513) Cupertino localization step 12 try 2: push translation for all supported languages
+
+## ○ platform-fuchsia - 3 PRs
+
+[#32849](https://github.com/flutter/flutter/pull/32849) [flutter_tool] Adds support for 'run' for Fuchsia devices
+
+[#34162](https://github.com/flutter/flutter/pull/34162) Update the Fuchsia SDK
+
+[#34276](https://github.com/flutter/flutter/pull/34276) [flutter_tool,fuchsia] Prefetch tiles when starting an app
+
+## a: existing-apps - 3 PRs
+
+[#33297](https://github.com/flutter/flutter/pull/33297) Instrument add to app flows
+
+[#33450](https://github.com/flutter/flutter/pull/33450) Do not return null from IosProject.isSwift
+
+[#34189](https://github.com/flutter/flutter/pull/34189) Instrument usage of include_flutter.groovy and xcode_backend.sh
+
+## a: accessibility - 3 PRs
+
+[#33808](https://github.com/flutter/flutter/pull/33808) fix ExpansionPanelList merge the header semantics when it is not nece…
+
+[#34368](https://github.com/flutter/flutter/pull/34368) Fix semantics_tester
+
+[#34434](https://github.com/flutter/flutter/pull/34434) Semantics fixes
+
+## customer: solaris - 2 PRs
+
+[#29677](https://github.com/flutter/flutter/pull/29677) Fix calculation of hero rectTween when Navigator isn't fullscreen
+
+[#34298](https://github.com/flutter/flutter/pull/34298) Preserving SafeArea : Part 2
+
+## e: desktop - 2 PRs
+
+[#31329](https://github.com/flutter/flutter/pull/31329) Add Xcode build script for macOS target
+
+[#31567](https://github.com/flutter/flutter/pull/31567) Remove need for build/name scripts on Linux desktop
+
+## ⌘ platform-mac - 2 PRs
+
+[#31329](https://github.com/flutter/flutter/pull/31329) Add Xcode build script for macOS target
+
+[#33636](https://github.com/flutter/flutter/pull/33636) Implement plugin tooling support for macOS
+
+## a: fidelity - 2 PRs
+
+[#31464](https://github.com/flutter/flutter/pull/31464) CupertinoPicker fidelity revision
+
+[#33634](https://github.com/flutter/flutter/pull/33634) Let there be scroll bars
+
+## f: date/time picker - 2 PRs
+
+[#31464](https://github.com/flutter/flutter/pull/31464) CupertinoPicker fidelity revision
+
+[#32843](https://github.com/flutter/flutter/pull/32843) Added a missing dispose of an AnimationController that was leaking a ticker.
+
+## team: gallery - 2 PRs
+
+[#31486](https://github.com/flutter/flutter/pull/31486) fix precedence issue
+
+[#33634](https://github.com/flutter/flutter/pull/33634) Let there be scroll bars
+
+## dependency: dart - 2 PRs
+
+[#32787](https://github.com/flutter/flutter/pull/32787) Support 32 and 64 bit
+
+[#34295](https://github.com/flutter/flutter/pull/34295) Prepare for Uint8List SDK breaking changes
+
+## team: flakes - 2 PRs
+
+[#33932](https://github.com/flutter/flutter/pull/33932) More removing of timeouts.
+
+[#34199](https://github.com/flutter/flutter/pull/34199) make sure this test doesn't run for real
+
+## customer: espresso - 2 PRs
+
+[#34012](https://github.com/flutter/flutter/pull/34012) Extract DiagnosticsNode serializer from WidgetInspector
+
+[#34440](https://github.com/flutter/flutter/pull/34440) Add Driver command to get diagnostics tree
+
+## severe: customer critical - 2 PRs
+
+[#34298](https://github.com/flutter/flutter/pull/34298) Preserving SafeArea : Part 2
+
+[#34519](https://github.com/flutter/flutter/pull/34519) fix page scroll position rounding error
+
+## t: flutter doctor - 2 PRs
+
+[#34624](https://github.com/flutter/flutter/pull/34624) Break down flutter doctor validations and results
+
+[#34755](https://github.com/flutter/flutter/pull/34755) Add linux doctor implementation
+
+## f: routes - 1 PRs
+
+[#21896](https://github.com/flutter/flutter/pull/21896) Bottom sheet scrolling
+
+## p: framework - 1 PRs
+
+[#30406](https://github.com/flutter/flutter/pull/30406) Add binaryMessenger constructor argument to platform channels
+
+## ❖ platform-windows - 1 PRs
+
+[#33443](https://github.com/flutter/flutter/pull/33443) Wrap Windows build invocation in a batch script
+
+## a: size - 1 PRs
+
+[#34474](https://github.com/flutter/flutter/pull/34474) Release diagnostics
+
+## customer: google - 1 PRs
+
+[#34474](https://github.com/flutter/flutter/pull/34474) Release diagnostics
+
+## severe: performance - 1 PRs
+
+[#34870](https://github.com/flutter/flutter/pull/34870) Add test case for Flutter Issue #27677 as a benchmark.
+
+
+This release included 841 PRs.
+Not all may be shown; some PRs such as those generated by autorollers are omitted.
+
+
+# PRs addressed in `flutter/engine` between `b593f5167bce84fb3cad5c258477bf3abc1b14eb` and `d004bcd4d619fc3574761d63d7cf7b7291332c79`
+
+
+## affects: text input - 2 PRs
+
+[#9322](https://github.com/flutter/engine/pull/9322) Check for invalid indexes when performing InputAdpator backspace.
+
+[#9406](https://github.com/flutter/engine/pull/9406) Update harfbuzz to 2.5.2
+
+## platform-android - 1 PRs
+
+[#9172](https://github.com/flutter/engine/pull/9172) Use shared library when libapp.so is found
+
+## affects: dev experience - 1 PRs
+
+[#9304](https://github.com/flutter/engine/pull/9304) Decorate UIApplicationDelegate wrappers with matching UIKit deprecation
+
+## platform-ios - 1 PRs
+
+[#9304](https://github.com/flutter/engine/pull/9304) Decorate UIApplicationDelegate wrappers with matching UIKit deprecation
+
+## accessibility - 1 PRs
+
+[#9321](https://github.com/flutter/engine/pull/9321) Fix a11y in embedded Android views post O
+
+## crash - 1 PRs
+
+[#9322](https://github.com/flutter/engine/pull/9322) Check for invalid indexes when performing InputAdpator backspace.
+
+## affects: framework - 1 PRs
+
+[#9452](https://github.com/flutter/engine/pull/9452) Convert RRect.scaleRadii to public method
+
+## affects: tests - 1 PRs
+
+[#9458](https://github.com/flutter/engine/pull/9458) Test cleanup geometry_test.dart
+
+
+This release included 605 PRs.
+Not all may be shown; some PRs such as those generated by autorollers are omitted.
diff --git a/docs/unsorted_wiki/PRs-merged-between-1.7.8-and-1.9.1.md b/docs/unsorted_wiki/PRs-merged-between-1.7.8-and-1.9.1.md
new file mode 100644
index 0000000..19c8d81
--- /dev/null
+++ b/docs/unsorted_wiki/PRs-merged-between-1.7.8-and-1.9.1.md
@@ -0,0 +1,1900 @@
+
+
+# PRs closed in this release of flutter/flutter
+
+From Fri Jun 21 22:31:55 2019 -0400 to Sun Aug 18 12:22:00 2019 -0700
+
+
+[28090](https://github.com/flutter/flutter/pull/28090) Ensure that cache dirs and files have appropriate permissions (cla: yes, tool)
+
+[29489](https://github.com/flutter/flutter/pull/29489) Made a few grammatical changes (cla: yes, team)
+
+[32511](https://github.com/flutter/flutter/pull/32511) Rendering errors with root causes in the widget layer should have a reference to the widget (cla: yes, customer: countless, customer: headline, framework)
+
+[32770](https://github.com/flutter/flutter/pull/32770) Dismiss modal with any button press (a: desktop, cla: yes, framework)
+
+[32816](https://github.com/flutter/flutter/pull/32816) Add initial implementation of flutter assemble (cla: yes, tool)
+
+[33140](https://github.com/flutter/flutter/pull/33140) flutter/tests support (cla: yes, team)
+
+[33281](https://github.com/flutter/flutter/pull/33281) Update TextStyle and StrutStyle height docs (a: typography, cla: yes, d: api docs, framework, severe: API break)
+
+[33688](https://github.com/flutter/flutter/pull/33688) Part 1: Skia Gold Testing (a: tests, cla: yes, framework)
+
+[33936](https://github.com/flutter/flutter/pull/33936) New parameter for RawGestureDetector to customize semantics mapping (cla: yes, f: gestures, framework)
+
+[34019](https://github.com/flutter/flutter/pull/34019) Selectable Text (a: text input, cla: yes, customer: amplify, customer: fuchsia, framework, severe: API break)
+
+[34202](https://github.com/flutter/flutter/pull/34202) Remove `_debugWillReattachChildren` assertions from `_TableElement` (cla: yes, customer: payouts, framework)
+
+[34252](https://github.com/flutter/flutter/pull/34252) Integrate dwds into flutter tool for web support (cla: yes, tool, ☸ platform-web)
+
+[34298](https://github.com/flutter/flutter/pull/34298) Preserving SafeArea : Part 2 (cla: yes, customer: solaris, framework, severe: customer critical, waiting for tree to go green)
+
+[34301](https://github.com/flutter/flutter/pull/34301) Make it possible to override the FLUTTER_TEST env variable (a: tests, cla: yes, customer: mulligan (g3), team, tool)
+
+[34515](https://github.com/flutter/flutter/pull/34515) OutlineInputBorder adjusts for borderRadius that is too large (a: text input, cla: yes, f: material design, framework)
+
+[34516](https://github.com/flutter/flutter/pull/34516) [flutter_tool] Fill in Fuchsia version string (cla: yes, tool)
+
+[34573](https://github.com/flutter/flutter/pull/34573) Ensures flutter jar is added to all build types on plugin projects (cla: yes, t: gradle, tool, waiting for tree to go green)
+
+[34597](https://github.com/flutter/flutter/pull/34597) [Material] Update slider gallery demo, including range slider (cla: yes, f: material design, framework)
+
+[34599](https://github.com/flutter/flutter/pull/34599) [Material] ToggleButtons (cla: yes, f: material design, framework, severe: new feature)
+
+[34624](https://github.com/flutter/flutter/pull/34624) Break down flutter doctor validations and results (cla: yes, t: flutter doctor, tool)
+
+[34626](https://github.com/flutter/flutter/pull/34626) AsyncSnapshot.data to throw if error or no data (cla: yes, framework)
+
+[34660](https://github.com/flutter/flutter/pull/34660) Add --target support for Windows and Linux (cla: yes, tool)
+
+[34665](https://github.com/flutter/flutter/pull/34665) Selection handles position is off (a: text input, cla: yes, framework, severe: API break)
+
+[34669](https://github.com/flutter/flutter/pull/34669) Bundle ios dependencies (cla: yes, tool)
+
+[34676](https://github.com/flutter/flutter/pull/34676) Enable selection by default for password text field and expose api to… (a: text input, cla: yes, f: cupertino, f: material design, framework)
+
+[34712](https://github.com/flutter/flutter/pull/34712) Fix FocusTraversalPolicy makes focus lost (a: desktop, cla: yes, framework)
+
+[34723](https://github.com/flutter/flutter/pull/34723) CupertinoTextField vertical alignment (cla: yes, f: cupertino, framework)
+
+[34752](https://github.com/flutter/flutter/pull/34752) [linux] Receives the unmodified characters obtained from GLFW (a: desktop, cla: yes, framework)
+
+[34785](https://github.com/flutter/flutter/pull/34785) Tweak the display name of emulators (cla: yes, tool)
+
+[34794](https://github.com/flutter/flutter/pull/34794) Add `emulatorID` field to devices in daemon (cla: yes, tool)
+
+[34823](https://github.com/flutter/flutter/pull/34823) Introduce image loading performance test. (a: tests, cla: yes, framework)
+
+[34869](https://github.com/flutter/flutter/pull/34869) [Material] Properly call onChangeStart and onChangeEnd in Range Slider (cla: yes, f: material design, framework)
+
+[34870](https://github.com/flutter/flutter/pull/34870) Add test case for Flutter Issue #27677 as a benchmark. (cla: yes, engine, framework, severe: performance)
+
+[34872](https://github.com/flutter/flutter/pull/34872) [Material] Support for hovered, focused, and pressed border color on `OutlineButton`s (cla: yes, f: material design, framework)
+
+[34877](https://github.com/flutter/flutter/pull/34877) More shards (a: tests, cla: yes, team, waiting for tree to go green)
+
+[34885](https://github.com/flutter/flutter/pull/34885) Reland: rename web device (cla: yes, tool)
+
+[34895](https://github.com/flutter/flutter/pull/34895) Remove flutter_tools support for old AOT snapshotting (cla: yes)
+
+[34896](https://github.com/flutter/flutter/pull/34896) Allow multi-root web builds (cla: yes, tool)
+
+[34906](https://github.com/flutter/flutter/pull/34906) Fix unused [applicationIcon] property on [showLicensePage] (cla: yes, f: material design, framework)
+
+[34907](https://github.com/flutter/flutter/pull/34907) Fixed LicensePage to close page before loaded the License causes an error (cla: yes, f: material design, framework, severe: crash)
+
+[34919](https://github.com/flutter/flutter/pull/34919) Remove duplicate error parts (cla: yes, framework, waiting for tree to go green)
+
+[34932](https://github.com/flutter/flutter/pull/34932) Added onChanged property to TextFormField (cla: yes, f: material design, framework)
+
+[34964](https://github.com/flutter/flutter/pull/34964) CupertinoTextField.onTap (cla: yes, f: cupertino)
+
+[35017](https://github.com/flutter/flutter/pull/35017) sync lint list (cla: yes)
+
+[35046](https://github.com/flutter/flutter/pull/35046) Add generated Icon diagram to api docs (cla: yes, d: api docs, d: examples, framework)
+
+[35055](https://github.com/flutter/flutter/pull/35055) enable lint avoid_bool_literals_in_conditional_expressions (cla: yes)
+
+[35056](https://github.com/flutter/flutter/pull/35056) enable lint use_full_hex_values_for_flutter_colors (cla: yes)
+
+[35059](https://github.com/flutter/flutter/pull/35059) prepare for lint update of prefer_final_fields (cla: yes)
+
+[35063](https://github.com/flutter/flutter/pull/35063) add documentation for conic path not supported (a: platform-views, cla: yes, d: api docs, framework, plugin)
+
+[35066](https://github.com/flutter/flutter/pull/35066) Manual engine roll, Update goldens, improved wavy text decoration 0f9e297ad..185087a65f (a: typography, cla: yes, engine)
+
+[35074](https://github.com/flutter/flutter/pull/35074) Attempt to enable tool coverage redux (a: tests, cla: yes, tool)
+
+[35075](https://github.com/flutter/flutter/pull/35075) Allow for customizing SnackBar's content TextStyle in its theme (cla: yes, f: material design, framework)
+
+[35084](https://github.com/flutter/flutter/pull/35084) Move findTargetDevices to DeviceManager (cla: yes, tool)
+
+[35092](https://github.com/flutter/flutter/pull/35092) Add FlutterProjectFactory so that it can be overridden internally. (cla: yes, tool)
+
+[35110](https://github.com/flutter/flutter/pull/35110) Always test semantics (a: accessibility, a: tests, cla: yes, framework, severe: API break)
+
+[35129](https://github.com/flutter/flutter/pull/35129) [Material] Wrap Flutter Gallery's Expansion Panel Slider in padded Container to make room for Value Indicator. (cla: yes, f: material design, framework, severe: regression)
+
+[35130](https://github.com/flutter/flutter/pull/35130) pass new users for release_smoke_tests (a: tests, cla: yes, team)
+
+[35132](https://github.com/flutter/flutter/pull/35132) Reduce allocations by reusing a matrix for transient transforms in _transformRect (cla: yes)
+
+[35136](https://github.com/flutter/flutter/pull/35136) Update Dark Theme disabledColor to White38 (cla: yes, f: material design, framework, severe: API break)
+
+[35143](https://github.com/flutter/flutter/pull/35143) More HttpClientResponse Uint8List fixes (cla: yes)
+
+[35149](https://github.com/flutter/flutter/pull/35149) More `HttpClientResponse implements Stream<Uint8List>` fixes (cla: yes)
+
+[35150](https://github.com/flutter/flutter/pull/35150) Change didUpdateConfig to didUpdateWidget (cla: yes, d: api docs, framework)
+
+[35157](https://github.com/flutter/flutter/pull/35157) Remove skip clause on tools coverage (cla: yes, team)
+
+[35160](https://github.com/flutter/flutter/pull/35160) Move usage flutter create tests into memory filesystem. (a: tests, cla: yes, tool)
+
+[35164](https://github.com/flutter/flutter/pull/35164) Update reassemble doc (cla: yes, customer: product, d: api docs, framework, severe: customer critical)
+
+[35186](https://github.com/flutter/flutter/pull/35186) Make tool coverage collection resilient to sentinel coverage data (cla: yes, tool)
+
+[35188](https://github.com/flutter/flutter/pull/35188) ensure test isolate is paused before collecting coverage (cla: yes, tool)
+
+[35189](https://github.com/flutter/flutter/pull/35189) enable lints prefer_spread_collections and prefer_inlined_adds (cla: yes)
+
+[35192](https://github.com/flutter/flutter/pull/35192) don't block any presubmit on coverage (cla: yes, tool)
+
+[35197](https://github.com/flutter/flutter/pull/35197) [flutter_tool] Update Fuchsia SDK (cla: yes, tool)
+
+[35206](https://github.com/flutter/flutter/pull/35206) Force-upgrade package deps (cla: yes)
+
+[35207](https://github.com/flutter/flutter/pull/35207) refactor out selection handlers (a: text input, cla: yes, customer: amplify, customer: fuchsia, framework)
+
+[35211](https://github.com/flutter/flutter/pull/35211) `child` param doc update in Ink and Ink.image (cla: yes, d: api docs, f: material design, framework)
+
+[35217](https://github.com/flutter/flutter/pull/35217) Add flutter build aar (a: build, cla: yes, tool, waiting for tree to go green)
+
+[35219](https://github.com/flutter/flutter/pull/35219) Text selection menu show/hide cases (a: text input, cla: yes, f: material design, framework)
+
+[35221](https://github.com/flutter/flutter/pull/35221) Twiggle bit to exclude dev and beta from desktop and web (cla: yes, tool)
+
+[35223](https://github.com/flutter/flutter/pull/35223) Navigator pushAndRemoveUntil Fix (cla: yes, customer: mulligan (g3), f: routes, framework, severe: crash, waiting for tree to go green)
+
+[35225](https://github.com/flutter/flutter/pull/35225) add sample code for AnimatedContainer (a: animation, cla: yes, d: api docs, d: examples, framework)
+
+[35231](https://github.com/flutter/flutter/pull/35231) Fix coverage collection (cla: yes, tool)
+
+[35232](https://github.com/flutter/flutter/pull/35232) New benchmark: Gesture semantics (cla: yes, waiting for tree to go green)
+
+[35233](https://github.com/flutter/flutter/pull/35233) Attempt skipping coverage shard if tools did not change (cla: yes)
+
+[35237](https://github.com/flutter/flutter/pull/35237) Revert "Manual engine roll, Update goldens, improved wavy text decoration 0f9e297ad..185087a65f" (cla: yes)
+
+[35242](https://github.com/flutter/flutter/pull/35242) Reland "Manual engine roll, Update goldens, improved wavy text decoration 0f9e297ad..185087a65f"" (cla: yes)
+
+[35245](https://github.com/flutter/flutter/pull/35245) More preparation for HttpClientResponse implements Uint8List (cla: yes)
+
+[35246](https://github.com/flutter/flutter/pull/35246) attempt to not skip coverage on post commit (cla: yes)
+
+[35263](https://github.com/flutter/flutter/pull/35263) remove unnecessary ..toList() (cla: yes)
+
+[35276](https://github.com/flutter/flutter/pull/35276) Revert "[Material] Support for hovered, focused, and pressed border color on `OutlineButton`s" (cla: yes)
+
+[35278](https://github.com/flutter/flutter/pull/35278) Re-land "[Material] Support for hovered, focused, and pressed border color on `OutlineButton`s" (cla: yes)
+
+[35280](https://github.com/flutter/flutter/pull/35280) benchmarkWidgets.semanticsEnabled default false. (cla: yes)
+
+[35282](https://github.com/flutter/flutter/pull/35282) Add Container fallback to Ink build method (cla: yes, f: material design, framework)
+
+[35288](https://github.com/flutter/flutter/pull/35288) Apply coverage skip math correctly (cla: yes)
+
+[35290](https://github.com/flutter/flutter/pull/35290) tests for about page (cla: yes)
+
+[35297](https://github.com/flutter/flutter/pull/35297) Fix the first frame logic in tracing and driver (cla: yes, engine, framework, severe: performance, team)
+
+[35303](https://github.com/flutter/flutter/pull/35303) fix default artifacts to exclude ios and android (cla: yes, tool)
+
+[35307](https://github.com/flutter/flutter/pull/35307) Clean up host_app_ephemeral Profile build settings (a: existing-apps, cla: yes, t: xcode, tool, ⌺ platform-ios)
+
+[35335](https://github.com/flutter/flutter/pull/35335) Using custom exception class for network loading error (a: images, cla: yes, framework)
+
+[35367](https://github.com/flutter/flutter/pull/35367) Add type to StreamChannel in generated test code. (cla: yes, tool)
+
+[35392](https://github.com/flutter/flutter/pull/35392) Add timer checking and Fake http client to testbed (cla: yes, tool)
+
+[35393](https://github.com/flutter/flutter/pull/35393) more ui-as-code (cla: yes, team)
+
+[35406](https://github.com/flutter/flutter/pull/35406) Refactor signal and command line handler from resident runner (cla: yes, team, tool)
+
+[35407](https://github.com/flutter/flutter/pull/35407) Manual engine roll (cla: yes, engine, team)
+
+[35408](https://github.com/flutter/flutter/pull/35408) Remove print (cla: yes)
+
+[35423](https://github.com/flutter/flutter/pull/35423) v1.7.8 hotfixes (cla: yes)
+
+[35424](https://github.com/flutter/flutter/pull/35424) Introduce image_list performance benchmark that runs on jit(debug) build. (a: images, a: tests, cla: yes, framework)
+
+[35464](https://github.com/flutter/flutter/pull/35464) Manual roll of engine 45b66b7...ffba2f6 (cla: yes, team)
+
+[35465](https://github.com/flutter/flutter/pull/35465) Mark update-packages as non-experimental (cla: yes, tool)
+
+[35467](https://github.com/flutter/flutter/pull/35467) Mark update-packages as non-experimental (cla: yes, tool)
+
+[35468](https://github.com/flutter/flutter/pull/35468) Add colorFilterLayer/Widget (a: accessibility, cla: yes, customer: octopod, framework, waiting for tree to go green)
+
+[35477](https://github.com/flutter/flutter/pull/35477) Update macrobenchmarks README and app name (a: tests, cla: yes, team)
+
+[35480](https://github.com/flutter/flutter/pull/35480) Update the help message on precache command for less confusion (cla: yes, tool)
+
+[35481](https://github.com/flutter/flutter/pull/35481) add APK build time benchmarks (cla: yes, tool)
+
+[35482](https://github.com/flutter/flutter/pull/35482) Use the new service protocol message names (cla: yes)
+
+[35487](https://github.com/flutter/flutter/pull/35487) Fix RenderFittedBox when child.size.isEmpty (a: accessibility, cla: yes, framework)
+
+[35491](https://github.com/flutter/flutter/pull/35491) Include tags in SemanticsNode debug properties (cla: yes, framework)
+
+[35492](https://github.com/flutter/flutter/pull/35492) Re-apply 'Add currentSystemFrameTimeStamp to SchedulerBinding' (cla: yes, framework)
+
+[35493](https://github.com/flutter/flutter/pull/35493) Do not use ideographic baseline for RenderPargraph baseline (a: typography, cla: yes, engine, framework)
+
+[35495](https://github.com/flutter/flutter/pull/35495) mark windows and macos chrome dev mode as flaky (cla: yes, team)
+
+[35496](https://github.com/flutter/flutter/pull/35496) [Material] Text scale and wide label fixes for Slider and Range Slider value indicator shape (cla: yes, f: material design)
+
+[35499](https://github.com/flutter/flutter/pull/35499) Added MaterialApp.themeMode to control which theme is used. (cla: yes, f: material design, framework)
+
+[35548](https://github.com/flutter/flutter/pull/35548) Various doc fixes (cla: yes, framework)
+
+[35556](https://github.com/flutter/flutter/pull/35556) ios (iPhone6) and iPhone XS tiles_scroll_perf tests (cla: yes, severe: performance, team, ⌺ platform-ios)
+
+[35560](https://github.com/flutter/flutter/pull/35560) Support for elevation based dark theme overlay color in the Material widget (cla: yes, f: material design, framework)
+
+[35573](https://github.com/flutter/flutter/pull/35573) update packages (cla: yes, team)
+
+[35574](https://github.com/flutter/flutter/pull/35574) Fix semantics for floating pinned sliver app bar (a: accessibility, cla: yes, f: scrolling, framework, waiting for tree to go green)
+
+[35646](https://github.com/flutter/flutter/pull/35646) Prepare for Socket implements Stream<Uint8List> (cla: yes)
+
+[35657](https://github.com/flutter/flutter/pull/35657) Remove paused check for tooling tests (cla: yes, tool)
+
+[35681](https://github.com/flutter/flutter/pull/35681) Disable incremental compiler in dartdevc (cla: yes, tool)
+
+[35684](https://github.com/flutter/flutter/pull/35684) Fix typo in main.dart templates (cla: yes, d: api docs, framework)
+
+[35708](https://github.com/flutter/flutter/pull/35708) disable a test case in xcode_backend.sh (cla: yes, tool)
+
+[35709](https://github.com/flutter/flutter/pull/35709) Remove web, fuchsia, and unsupported devices from all (cla: yes, tool)
+
+[35725](https://github.com/flutter/flutter/pull/35725) Update annotated region findAll implementation to use Iterables directly. (cla: yes, framework)
+
+[35728](https://github.com/flutter/flutter/pull/35728) Added demo projects for splash screen support on Android. (a: existing-apps, cla: yes, team)
+
+[35731](https://github.com/flutter/flutter/pull/35731) Keep LLDB connection to iOS device alive while running from CLI. (cla: yes, tool)
+
+[35743](https://github.com/flutter/flutter/pull/35743) Simple Doc Fixes (cla: yes, d: api docs, framework)
+
+[35745](https://github.com/flutter/flutter/pull/35745) enable lint prefer_if_null_operators (cla: yes, team)
+
+[35749](https://github.com/flutter/flutter/pull/35749) add iOS build benchmarks (cla: yes, team, tool)
+
+[35750](https://github.com/flutter/flutter/pull/35750) use sentence case in error message titles (cla: yes, framework)
+
+[35756](https://github.com/flutter/flutter/pull/35756) Remove @objc inference build setting (cla: yes, t: xcode, tool)
+
+[35762](https://github.com/flutter/flutter/pull/35762) Refactor keymapping for resident_runner (cla: yes)
+
+[35763](https://github.com/flutter/flutter/pull/35763) UIApplicationLaunchOptionsKey -> UIApplication.LaunchOptionsKey (cla: yes, t: xcode, tool, ⌺ platform-ios)
+
+[35765](https://github.com/flutter/flutter/pull/35765) Use public _registerService RPC in flutter_tools (cla: yes, tool)
+
+[35767](https://github.com/flutter/flutter/pull/35767) set targets of zero percent for tools codecoverage (cla: yes, tool)
+
+[35775](https://github.com/flutter/flutter/pull/35775) Add platform_interaction_test_swift to devicelab (a: tests, cla: yes, framework, p: framework, plugin, ⌺ platform-ios)
+
+[35777](https://github.com/flutter/flutter/pull/35777) Fixed logLevel filter bug so that filter now works as expected (cla: yes, team)
+
+[35778](https://github.com/flutter/flutter/pull/35778) Build all example projects in CI build smoke test (a: tests, cla: yes, team)
+
+[35780](https://github.com/flutter/flutter/pull/35780) Remove CoocaPods support from layers example app (a: tests, cla: yes, d: examples, team)
+
+[35785](https://github.com/flutter/flutter/pull/35785) Remove reverseDuration from implicitly animated widgets, since it's ignored. (a: animation, cla: yes, framework, severe: API break)
+
+[35792](https://github.com/flutter/flutter/pull/35792) disable web tests (cla: yes)
+
+[35810](https://github.com/flutter/flutter/pull/35810) SliverFillRemaining accounts for child size when hasScrollBody is false (cla: yes, f: scrolling, framework, waiting for tree to go green)
+
+[35814](https://github.com/flutter/flutter/pull/35814) Roll engine e695a516f..75387dbc1 (8 commits) (cla: yes, team)
+
+[35825](https://github.com/flutter/flutter/pull/35825) Fixed build of example code to use new binary messenger API. (cla: yes, team)
+
+[35828](https://github.com/flutter/flutter/pull/35828) Cleanup widgets/sliver_persistent_header.dart with resolution of dart-lang/sdk#31543 (cla: yes, framework)
+
+[35829](https://github.com/flutter/flutter/pull/35829) iOS 13 scrollbar (cla: yes, f: cupertino, framework)
+
+[35833](https://github.com/flutter/flutter/pull/35833) Disable CocoaPods input and output paths in Xcode build phase for ephemeral add-to-app project (a: existing-apps, cla: yes, tool, ⌺ platform-ios)
+
+[35839](https://github.com/flutter/flutter/pull/35839) use pub run for create test and remove [INFO] logs (cla: yes, tool)
+
+[35846](https://github.com/flutter/flutter/pull/35846) move reload and restart handling into terminal (cla: yes, tool)
+
+[35878](https://github.com/flutter/flutter/pull/35878) Add flag to use root navigator for showModalBottomSheet (cla: yes, f: material design, framework)
+
+[35892](https://github.com/flutter/flutter/pull/35892) Doc fixes (cla: yes, d: api docs, d: examples, framework)
+
+[35906](https://github.com/flutter/flutter/pull/35906) Add anchors to samples (cla: yes, team)
+
+[35913](https://github.com/flutter/flutter/pull/35913) Change focus example to be more canonical (and correct) (cla: yes, framework)
+
+[35919](https://github.com/flutter/flutter/pull/35919) Animation API doc improvments (a: animation, cla: yes, framework, waiting for tree to go green)
+
+[35926](https://github.com/flutter/flutter/pull/35926) Add example showing how to move from one field to the next. (cla: yes, d: api docs, d: examples, framework)
+
+[35932](https://github.com/flutter/flutter/pull/35932) Upgraded framework packages with 'flutter update-packages --force-upgrade'. (cla: yes, framework)
+
+[35941](https://github.com/flutter/flutter/pull/35941) SliverLayoutBuilder (cla: yes, f: scrolling, framework)
+
+[35942](https://github.com/flutter/flutter/pull/35942) Use test instead of test_api package in platform_channel_swift example tests (a: tests, cla: yes, d: examples, team)
+
+[35971](https://github.com/flutter/flutter/pull/35971) [ImgBot] Optimize images (cla: yes, team)
+
+[35979](https://github.com/flutter/flutter/pull/35979) Optimizes gesture recognizer fixes #35658 (cla: yes, f: gestures, framework)
+
+[35991](https://github.com/flutter/flutter/pull/35991) Enable widget load assets in its own package in test (a: tests, cla: yes, tool)
+
+[35996](https://github.com/flutter/flutter/pull/35996) Revert "Keep LLDB connection to iOS device alive while running from CLI." (cla: yes)
+
+[35999](https://github.com/flutter/flutter/pull/35999) Deflake ImageProvider.evict test (a: images, a: tests, cla: yes, team: flakes)
+
+[36006](https://github.com/flutter/flutter/pull/36006) fix linesplitter (cla: yes, team)
+
+[36017](https://github.com/flutter/flutter/pull/36017) Move reporting files to reporting/ (cla: yes, tool)
+
+[36026](https://github.com/flutter/flutter/pull/36026) add the transformPoint and transformRect benchmarks (cla: yes, team)
+
+[36028](https://github.com/flutter/flutter/pull/36028) Fix slider preferred height (cla: yes, f: material design, framework)
+
+[36030](https://github.com/flutter/flutter/pull/36030) [Material] Implement TooltipTheme and Tooltip.textStyle, fix Tooltip debugLabel, update Tooltip defaults (cla: yes, f: material design, framework, severe: API break, severe: new feature)
+
+[36071](https://github.com/flutter/flutter/pull/36071) Revert "Bundle ios dependencies" (cla: yes, team, tool)
+
+[36082](https://github.com/flutter/flutter/pull/36082) Add better handling of JSON-RPC exception (cla: yes, tool)
+
+[36084](https://github.com/flutter/flutter/pull/36084) handle google3 version of pb (cla: yes, tool)
+
+[36087](https://github.com/flutter/flutter/pull/36087) Update visual style of CupertinoSwitch to match iOS 13 (cla: yes, f: cupertino, framework)
+
+[36088](https://github.com/flutter/flutter/pull/36088) Add PopupMenuTheme to enable theming color, shape, elevation, text style of Menu (cla: yes, f: material design, framework)
+
+[36089](https://github.com/flutter/flutter/pull/36089) Fix flaky peer connection (a: tests, cla: yes, framework)
+
+[36090](https://github.com/flutter/flutter/pull/36090) don't require diffs to have a percentage coverage greater (cla: yes, team)
+
+[36093](https://github.com/flutter/flutter/pull/36093) Reland bundle ios deps (cla: yes, team, tool)
+
+[36094](https://github.com/flutter/flutter/pull/36094) Revert "Part 1: Skia Gold Testing" (cla: yes, f: cupertino, f: material design, framework, team)
+
+[36096](https://github.com/flutter/flutter/pull/36096) Revert "Merge branches 'master' and 'master' of github.com:flutter/fl… (cla: yes, tool)
+
+[36097](https://github.com/flutter/flutter/pull/36097) Fix nested scroll view can rebuild without layout (cla: yes, f: scrolling, framework, severe: crash)
+
+[36098](https://github.com/flutter/flutter/pull/36098) Be clearer about errors in customer testing script (cla: yes, team)
+
+[36102](https://github.com/flutter/flutter/pull/36102) Move buildable module test to a module test (cla: yes, team)
+
+[36103](https://github.com/flutter/flutter/pull/36103) Re-land "Part 1: Skia Gold Testing" (a: tests, cla: yes, framework, waiting for tree to go green)
+
+[36105](https://github.com/flutter/flutter/pull/36105) [flutter_tool] Catch a yaml parse failure during project creation (cla: yes, team, tool)
+
+[36106](https://github.com/flutter/flutter/pull/36106) Updated ColorScheme.dark() colors to match the Material Dark theme specification (cla: yes, f: material design, framework, severe: API break)
+
+[36108](https://github.com/flutter/flutter/pull/36108) Move tools tests into a general.shard directory in preparation to changing how we shard tools tests (cla: yes, tool)
+
+[36109](https://github.com/flutter/flutter/pull/36109) Catch exceptions thrown by runChecked* when possible (cla: yes, tool, waiting for tree to go green)
+
+[36122](https://github.com/flutter/flutter/pull/36122) Make sure add-to-app build bundle from outer xcodebuild/gradlew sends analytics (cla: yes, team, tool)
+
+[36123](https://github.com/flutter/flutter/pull/36123) Attempt to re-enable integration_tests-macos (a: tests, cla: yes, team, team: flakes)
+
+[36135](https://github.com/flutter/flutter/pull/36135) add a kIsWeb constant to foundation (cla: yes, framework)
+
+[36138](https://github.com/flutter/flutter/pull/36138) Implement feature flag system for flutter tools (cla: yes, tool)
+
+[36174](https://github.com/flutter/flutter/pull/36174) [cupertino_icons] Add glyph refs for brightness #16102 (cla: yes, f: cupertino, framework)
+
+[36194](https://github.com/flutter/flutter/pull/36194) Keep LLDB connection to iOS device alive while running from CLI. (cla: yes, tool)
+
+[36197](https://github.com/flutter/flutter/pull/36197) Fix windows, exclude widgets from others (cla: yes, team)
+
+[36199](https://github.com/flutter/flutter/pull/36199) Don't try to flutterExit if isolate is still paused (cla: yes, tool)
+
+[36200](https://github.com/flutter/flutter/pull/36200) Refactoring the Android_views tests app to prepare for adding the iOS platform view tests (a: platform-views, a: tests, cla: yes, team)
+
+[36202](https://github.com/flutter/flutter/pull/36202) Add clarifying docs on MaterialButton.colorBrightness (cla: yes, d: api docs, f: material design, framework)
+
+[36208](https://github.com/flutter/flutter/pull/36208) [flutter_tool] Allow analytics without a terminal attached (cla: yes, tool)
+
+[36213](https://github.com/flutter/flutter/pull/36213) Use DeviceManager instead of device to determine if device supports project. (cla: yes, tool)
+
+[36217](https://github.com/flutter/flutter/pull/36217) Split Mouse from Listener (a: desktop, cla: yes, framework, severe: API break, waiting for tree to go green)
+
+[36218](https://github.com/flutter/flutter/pull/36218) release lock in flutter pub context (cla: yes, tool)
+
+[36237](https://github.com/flutter/flutter/pull/36237) Recommend to use the final version of CDN support for the trunk specs repo. (cla: yes, tool)
+
+[36240](https://github.com/flutter/flutter/pull/36240) Rearrange flutter assemble implementation (cla: yes, tool)
+
+[36243](https://github.com/flutter/flutter/pull/36243) Allow semantics labels to be shorter or longer than raw text (a: accessibility, cla: yes, customer: money (g3), framework, waiting for tree to go green)
+
+[36262](https://github.com/flutter/flutter/pull/36262) Prevents infinite loop in Table._computeColumnWidths (cla: yes, framework)
+
+[36270](https://github.com/flutter/flutter/pull/36270) Change Future.done to Future.whenComplete (a: tests, cla: yes, framework, team, waiting for tree to go green)
+
+[36288](https://github.com/flutter/flutter/pull/36288) Throw exception if instantiating IOSDevice on non-mac os platform (cla: yes, tool)
+
+[36289](https://github.com/flutter/flutter/pull/36289) FakeHttpClientResponse improvements (cla: yes, tool)
+
+[36293](https://github.com/flutter/flutter/pull/36293) Revert "Keep LLDB connection to iOS device alive while running from CLI. " (cla: yes, tool)
+
+[36297](https://github.com/flutter/flutter/pull/36297) Add multi-line flag to semantics (a: accessibility, cla: yes, framework, ☸ platform-web)
+
+[36302](https://github.com/flutter/flutter/pull/36302) Issues/30526 gc (cla: yes, framework)
+
+[36303](https://github.com/flutter/flutter/pull/36303) Add sync star benchmark cases (a: accessibility, cla: yes, team)
+
+[36317](https://github.com/flutter/flutter/pull/36317) Disable flaky tests on Windows (cla: yes, f: material design, framework)
+
+[36318](https://github.com/flutter/flutter/pull/36318) Include flutter_runner in precache artifacts. (cla: yes, tool)
+
+[36319](https://github.com/flutter/flutter/pull/36319) Revert "Fix semantics for floating pinned sliver app bar" (cla: yes, framework)
+
+[36327](https://github.com/flutter/flutter/pull/36327) Fix invocations of ideviceinstaller not passing DYLD_LIBRARY_PATH (cla: yes, tool)
+
+[36331](https://github.com/flutter/flutter/pull/36331) Minor fixes to precache help text (attempt #2) (cla: yes, tool)
+
+[36333](https://github.com/flutter/flutter/pull/36333) fix sliver fixed pinned appbar (cla: yes, framework, waiting for tree to go green)
+
+[36334](https://github.com/flutter/flutter/pull/36334) Added a Driver API that waits until frame sync (a: tests, cla: yes, framework)
+
+[36379](https://github.com/flutter/flutter/pull/36379) Add missing test case for Usage (cla: yes, tool)
+
+[36384](https://github.com/flutter/flutter/pull/36384) rename the test app android_views to platform_views (cla: yes, team)
+
+[36391](https://github.com/flutter/flutter/pull/36391) Adds doc example for Listview and pageview (cla: yes, d: api docs, framework)
+
+[36392](https://github.com/flutter/flutter/pull/36392) Increase pattern that matches operation duration in log_test (a: tests, cla: yes, tool, waiting for tree to go green)
+
+[36394](https://github.com/flutter/flutter/pull/36394) Add missing protobuf dependency (cla: yes, tool)
+
+[36396](https://github.com/flutter/flutter/pull/36396) Optimize the transformRect and transformPoint methods in matrix_utils. (cla: yes, framework)
+
+[36399](https://github.com/flutter/flutter/pull/36399) Added ThemeMode support to the Flutter Gallery (cla: yes, d: examples, team, team: gallery)
+
+[36402](https://github.com/flutter/flutter/pull/36402) Teach render objects to reuse engine layers (cla: yes, framework, severe: API break, severe: performance, ☸ platform-web)
+
+[36404](https://github.com/flutter/flutter/pull/36404) Make test back button label deterministic (cla: yes, team)
+
+[36409](https://github.com/flutter/flutter/pull/36409) Add searchFieldLabel to SearchDelegate in order to show a custom hint (cla: yes, f: material design, framework)
+
+[36410](https://github.com/flutter/flutter/pull/36410) Add plumbing for hello world startup test in devicelab (cla: yes, team)
+
+[36411](https://github.com/flutter/flutter/pull/36411) Implement InputDecorationTheme copyWith, ==, hashCode (cla: yes, f: material design, framework, severe: new feature)
+
+[36413](https://github.com/flutter/flutter/pull/36413) Revert "Roll engine f3482700474a..1af19ae67dd1 (4 commits)" (cla: yes, engine)
+
+[36418](https://github.com/flutter/flutter/pull/36418) Add testing to screenshot and printDetails method (cla: yes, tool)
+
+[36421](https://github.com/flutter/flutter/pull/36421) doc : ReorderableListView - added youtube video from WidgetOfTheWeek … (cla: yes, f: material design, framework)
+
+[36428](https://github.com/flutter/flutter/pull/36428) Bump engine version (cla: yes, engine, team)
+
+[36431](https://github.com/flutter/flutter/pull/36431) Re-enable `flutter test` expression evaluation tests (a: tests, cla: yes, tool)
+
+[36434](https://github.com/flutter/flutter/pull/36434) Clean up flutter driver device detection. (cla: yes, tool)
+
+[36460](https://github.com/flutter/flutter/pull/36460) Add images and update examples for top widgets: (cla: yes, d: api docs, d: examples, f: material design, framework)
+
+[36465](https://github.com/flutter/flutter/pull/36465) Use FlutterFeatures to configure web and desktop devices (cla: yes, tool)
+
+[36468](https://github.com/flutter/flutter/pull/36468) Fix test_widgets-windows not running tests (a: tests, cla: yes, framework, team, waiting for tree to go green)
+
+[36471](https://github.com/flutter/flutter/pull/36471) Enable bitcode compilation for AOT (cla: yes)
+
+[36481](https://github.com/flutter/flutter/pull/36481) Remove untested code (cla: yes, tool)
+
+[36482](https://github.com/flutter/flutter/pull/36482) Sped up shader warmup by only drawing on a 100x100 surface (cla: yes, framework)
+
+[36485](https://github.com/flutter/flutter/pull/36485) Add text border docs (a: typography, cla: yes, d: api docs, framework)
+
+[36490](https://github.com/flutter/flutter/pull/36490) [flutter_tool] Send analytics command before the command runs (cla: yes, tool)
+
+[36492](https://github.com/flutter/flutter/pull/36492) Add GitHub CODEOWNERS file to auto-add reviewers by path (cla: yes, team)
+
+[36493](https://github.com/flutter/flutter/pull/36493) Fixes sliver list does not layout firstchild when child reordered (cla: yes, framework)
+
+[36498](https://github.com/flutter/flutter/pull/36498) Clean up host_app_ephemeral_cocoapods Profile build settings (a: existing-apps, cla: yes, t: xcode, tool, ⌺ platform-ios)
+
+[36503](https://github.com/flutter/flutter/pull/36503) Disabling Firebase Test Lab smoke test to unblock autoroller (cla: yes)
+
+[36507](https://github.com/flutter/flutter/pull/36507) Bump engine version (cla: yes, engine, team, tool)
+
+[36510](https://github.com/flutter/flutter/pull/36510) flutter update-packages --force-upgrade (cla: yes, team)
+
+[36512](https://github.com/flutter/flutter/pull/36512) Renamed the Driver API waitUntilFrameSync to waitUntilNoPendingFrame (a: tests, cla: yes, framework)
+
+[36513](https://github.com/flutter/flutter/pull/36513) Fix `flutter pub -v` (cla: yes, tool)
+
+[36545](https://github.com/flutter/flutter/pull/36545) [flutter_tool] Send the local time to analytics with screens and events (cla: yes, tool, work in progress; do not review)
+
+[36546](https://github.com/flutter/flutter/pull/36546) Unskip date_picker_test on Windows as underlying issue 19696 was fixed. (cla: yes, f: material design, framework)
+
+[36548](https://github.com/flutter/flutter/pull/36548) Fix the web builds by reverting version bump of build_modules (cla: yes, tool)
+
+[36549](https://github.com/flutter/flutter/pull/36549) fix number encoding in message codecs for the Web (cla: yes, framework)
+
+[36553](https://github.com/flutter/flutter/pull/36553) Load assets during test from file system instead of manifest. (a: tests, cla: yes, framework)
+
+[36556](https://github.com/flutter/flutter/pull/36556) Fix usage test to use local usage (cla: yes, tool)
+
+[36560](https://github.com/flutter/flutter/pull/36560) [flutter_tools] Add some useful commands to the README.md (cla: yes, tool)
+
+[36564](https://github.com/flutter/flutter/pull/36564) Make sure fx flutter attach can find devices (cla: yes, tool)
+
+[36569](https://github.com/flutter/flutter/pull/36569) Some minor cleanup for flutter_tools (cla: yes, tool)
+
+[36570](https://github.com/flutter/flutter/pull/36570) Some minor fixes to the tool_coverage tool (cla: yes, tool)
+
+[36571](https://github.com/flutter/flutter/pull/36571) Some minor cleanup in devicelab (cla: yes, team)
+
+[36579](https://github.com/flutter/flutter/pull/36579) Add gradient text docs (a: typography, cla: yes, framework)
+
+[36585](https://github.com/flutter/flutter/pull/36585) Place build outputs under dart tool (cla: yes, tool)
+
+[36589](https://github.com/flutter/flutter/pull/36589) Update Localizations: added 24 new locales (reprise) (a: internationalization, cla: yes, f: cupertino, f: material design)
+
+[36595](https://github.com/flutter/flutter/pull/36595) More resident runner tests (cla: yes, tool)
+
+[36598](https://github.com/flutter/flutter/pull/36598) Expose functionality to compile dart to kernel for the VM (cla: yes, tool)
+
+[36618](https://github.com/flutter/flutter/pull/36618) Revert "AsyncSnapshot.data to throw if error or no data" (cla: yes, framework)
+
+[36654](https://github.com/flutter/flutter/pull/36654) Revert "Use FlutterFeatures to configure web and desktop devices" (cla: yes, team, tool)
+
+[36679](https://github.com/flutter/flutter/pull/36679) add line-length to `flutter format` command line (cla: yes, tool)
+
+[36690](https://github.com/flutter/flutter/pull/36690) Updating cirrus fingerprint script to include goldens version (a: tests, cla: yes, framework, waiting for tree to go green)
+
+[36695](https://github.com/flutter/flutter/pull/36695) Android visible password input type support (cla: yes, framework)
+
+[36698](https://github.com/flutter/flutter/pull/36698) fixes iphone force press keyboard select crashes (cla: yes, framework)
+
+[36699](https://github.com/flutter/flutter/pull/36699) Reland: use flutter features for web and desktop (cla: yes, team, tool)
+
+[36717](https://github.com/flutter/flutter/pull/36717) Fix devicelab tests that did not enable web config. (cla: yes, team)
+
+[36722](https://github.com/flutter/flutter/pull/36722) Skip flaky test windows (cla: yes, tool)
+
+[36727](https://github.com/flutter/flutter/pull/36727) Add missing config to create (cla: yes, team, tool)
+
+[36731](https://github.com/flutter/flutter/pull/36731) Revert "Add flutter build aar" (cla: yes, team, tool)
+
+[36732](https://github.com/flutter/flutter/pull/36732) Flutter build aar (a: build, cla: yes, team, tool, waiting for tree to go green)
+
+[36768](https://github.com/flutter/flutter/pull/36768) add an error count field to the Flutter.Error event (cla: yes, framework)
+
+[36773](https://github.com/flutter/flutter/pull/36773) Expose build-dir config option (cla: yes, tool)
+
+[36774](https://github.com/flutter/flutter/pull/36774) Parameterize CoverageCollector with a library name predicate (cla: yes, tool)
+
+[36784](https://github.com/flutter/flutter/pull/36784) [flutter_tool] Improve Windows flutter clean error message (cla: yes, tool)
+
+[36785](https://github.com/flutter/flutter/pull/36785) [flutter_tool] Clean up usage events and custom dimensions (cla: yes, tool)
+
+[36787](https://github.com/flutter/flutter/pull/36787) Check for directory instead of path separator (cla: yes, tool)
+
+[36793](https://github.com/flutter/flutter/pull/36793) Vend Flutter module App.framework as a local CocoaPod pod to be installed by a host app (a: existing-apps, cla: yes, t: xcode, team, tool, ⌺ platform-ios)
+
+[36805](https://github.com/flutter/flutter/pull/36805) Allow flavors and custom build types in host app (a: build, a: existing-apps, cla: yes, t: gradle, team, tool, waiting for tree to go green)
+
+[36832](https://github.com/flutter/flutter/pull/36832) Remove flaky check for analyzer message. (cla: yes, tool)
+
+[36845](https://github.com/flutter/flutter/pull/36845) Improve Windows build failure message (cla: yes, tool, waiting for tree to go green)
+
+[36851](https://github.com/flutter/flutter/pull/36851) Revert "[Material] Implement TooltipTheme and Tooltip.textStyle, fix Tooltip debugLabel, update Tooltip defaults" (cla: yes, f: material design, framework)
+
+[36856](https://github.com/flutter/flutter/pull/36856) [Material] Implement TooltipTheme and Tooltip.textStyle, update Tooltip defaults (cla: yes, f: material design, framework, severe: API break, severe: new feature)
+
+[36857](https://github.com/flutter/flutter/pull/36857) Ensure user-thrown errors have ErrorSummary nodes (cla: yes, framework)
+
+[36860](https://github.com/flutter/flutter/pull/36860) Remove Chain terse parsing (cla: yes, tool)
+
+[36866](https://github.com/flutter/flutter/pull/36866) Tests for `flutter test [some_directory]` (cla: yes, team, tool)
+
+[36867](https://github.com/flutter/flutter/pull/36867) Add reference to StrutStyle from TextStyle (cla: yes, framework)
+
+[36874](https://github.com/flutter/flutter/pull/36874) Adjust phrasing of features (cla: yes, tool)
+
+[36877](https://github.com/flutter/flutter/pull/36877) Revert "Dismiss modal with any button press" (cla: yes, framework)
+
+[36880](https://github.com/flutter/flutter/pull/36880) [Material] Create material Banner component (cla: yes, f: material design, framework)
+
+[36884](https://github.com/flutter/flutter/pull/36884) Unbreak build_runner (cla: yes, team, tool)
+
+[36885](https://github.com/flutter/flutter/pull/36885) Manual roll of flutter/engine@ef99738...72341ed (cla: yes, engine, tool)
+
+[36886](https://github.com/flutter/flutter/pull/36886) Add annotation dependency to plugins (cla: yes, team, tool, waiting for tree to go green)
+
+[36887](https://github.com/flutter/flutter/pull/36887) Fix thumb size calculation (cla: yes, f: cupertino, framework)
+
+[36893](https://github.com/flutter/flutter/pull/36893) Fix minor typos (cla: yes, framework)
+
+[36895](https://github.com/flutter/flutter/pull/36895) Mark splash test flaky until proved stable. (cla: yes, team)
+
+[36901](https://github.com/flutter/flutter/pull/36901) Run Gradle tests on Windows (a: build, cla: yes, team, tool)
+
+[36949](https://github.com/flutter/flutter/pull/36949) Remove stdout related to settings_aar.gradle (a: tests, cla: yes, t: flutter driver, team)
+
+[36955](https://github.com/flutter/flutter/pull/36955) Extract common PlatformView functionality: Painting and Semantics (a: platform-views, cla: yes, framework)
+
+[36956](https://github.com/flutter/flutter/pull/36956) Redo: Modal dismissed by any button (cla: yes, framework, waiting for tree to go green)
+
+[36963](https://github.com/flutter/flutter/pull/36963) Add margins to tooltips (cla: yes, f: material design, framework, severe: new feature)
+
+[36964](https://github.com/flutter/flutter/pull/36964) Interactive size const (cla: yes, f: cupertino, f: material design, framework, severe: API break)
+
+[36966](https://github.com/flutter/flutter/pull/36966) Roll back the AAR build experiment (cla: yes, tool)
+
+[36969](https://github.com/flutter/flutter/pull/36969) devicelab: replace the FLUTTER_ENGINE environment variable with the new local engine flags (cla: yes, team)
+
+[36970](https://github.com/flutter/flutter/pull/36970) Clarify showDuration and waitDuration API docs and test behavior (cla: yes, d: api docs, f: material design, framework)
+
+[36974](https://github.com/flutter/flutter/pull/36974) Multiline Selection Menu Position Bug (a: text input, cla: yes, f: material design, framework)
+
+[36987](https://github.com/flutter/flutter/pull/36987) Flutter assemble for macos take 2! (cla: yes, tool, ⌘ platform-mac)
+
+[36997](https://github.com/flutter/flutter/pull/36997) Added missing png's to demo splash screen project (was caused by global gitignore). (cla: yes, team)
+
+[37026](https://github.com/flutter/flutter/pull/37026) Add support for the Kannada (kn) locale (a: internationalization, cla: yes, f: cupertino, f: material design, team)
+
+[37027](https://github.com/flutter/flutter/pull/37027) Revert "Fix the first frame logic in tracing and driver" (a: tests, cla: yes, d: examples, framework, team, team: gallery, tool)
+
+[37030](https://github.com/flutter/flutter/pull/37030) Mark backdrop_filter_perf test nonflaky (cla: yes, team)
+
+[37033](https://github.com/flutter/flutter/pull/37033) fix debug paint crash when axis direction inverted (cla: yes, framework, severe: crash)
+
+[37036](https://github.com/flutter/flutter/pull/37036) Build number (part after +) is documented as optional, use entire app version if not present (cla: yes, tool)
+
+[37037](https://github.com/flutter/flutter/pull/37037) [flutter_tool] Update Fuchsia SDK (cla: yes, tool)
+
+[37038](https://github.com/flutter/flutter/pull/37038) Update SnackBar to the latest Material specs. (cla: yes, f: material design, framework)
+
+[37042](https://github.com/flutter/flutter/pull/37042) Fix selection menu not showing after clear (a: text input, cla: yes, framework)
+
+[37043](https://github.com/flutter/flutter/pull/37043) Tests for Engine ensuring debug-mode apps are attached on iOS. (cla: yes, team, tool)
+
+[37044](https://github.com/flutter/flutter/pull/37044) [flutter_tool] Make a couple file operations synchronous (cla: yes, tool)
+
+[37048](https://github.com/flutter/flutter/pull/37048) use SizedBox instead of Container for building collapsed selection (a: text input, cla: yes, f: cupertino, framework)
+
+[37049](https://github.com/flutter/flutter/pull/37049) Revert Optimize transformRect (cla: yes, framework, waiting for tree to go green)
+
+[37055](https://github.com/flutter/flutter/pull/37055) Revert "Enable selection by default for password text field and expos… (cla: yes, f: cupertino, f: material design, framework)
+
+[37158](https://github.com/flutter/flutter/pull/37158) Fix Textfields in Semantics Debugger (a: accessibility, cla: yes, framework, waiting for tree to go green)
+
+[37183](https://github.com/flutter/flutter/pull/37183) reland Enable selection by default for password text field and expose… (a: text input, cla: yes, customer: fun (g3), f: cupertino, f: material design)
+
+[37186](https://github.com/flutter/flutter/pull/37186) [flutter_tool] Usage refactor cleanup (cla: yes, tool)
+
+[37187](https://github.com/flutter/flutter/pull/37187) use FlutterError in MultiChildRenderObjectWidget (cla: yes, framework)
+
+[37192](https://github.com/flutter/flutter/pull/37192) Reland "Fix the first frame logic in tracing and driver (#35297)" (cla: yes, engine, framework)
+
+[37194](https://github.com/flutter/flutter/pull/37194) [flutter_tool] More gracefully handle Android sdkmanager failure (cla: yes, tool)
+
+[37196](https://github.com/flutter/flutter/pull/37196) [flutter_tool] Catch ProcessException from 'adb devices' (cla: yes, tool)
+
+[37198](https://github.com/flutter/flutter/pull/37198) [flutter_tool] Re-try sending the first crash report (cla: yes, tool)
+
+[37205](https://github.com/flutter/flutter/pull/37205) add cmx for complex_layout (cla: yes, team)
+
+[37206](https://github.com/flutter/flutter/pull/37206) Test that modules built as AAR contain the right assets and artifacts (a: build, cla: yes, team, waiting for tree to go green, ▣ platform-android)
+
+[37207](https://github.com/flutter/flutter/pull/37207) Update complex_layout.cmx (cla: yes, team)
+
+[37208](https://github.com/flutter/flutter/pull/37208) Roll flutter/engine@09f8bffb9...67319c00b (cla: yes)
+
+[37210](https://github.com/flutter/flutter/pull/37210) do not strip symbols when building profile (cla: yes, team, tool)
+
+[37211](https://github.com/flutter/flutter/pull/37211) Don't enable scroll wheel when scrolling is off (a: desktop, cla: yes, customer: octopod, framework)
+
+[37217](https://github.com/flutter/flutter/pull/37217) hide symbols from spotlight for App.framework (cla: yes, tool, waiting for tree to go green)
+
+[37250](https://github.com/flutter/flutter/pull/37250) Removing Leftover Golden Test Skips (a: tests, cla: yes, framework)
+
+[37254](https://github.com/flutter/flutter/pull/37254) Clamp Scaffold's max body height when extendBody is true (cla: yes, f: material design, framework, severe: crash)
+
+[37259](https://github.com/flutter/flutter/pull/37259) [Material] Add support for hovered, pressed, focused, and selected text color on Chips. (cla: yes, f: material design, framework)
+
+[37266](https://github.com/flutter/flutter/pull/37266) Change the value of kMaxUnsignedSMI for the Web (cla: yes, framework, severe: new feature, waiting for tree to go green, ☸ platform-web)
+
+[37269](https://github.com/flutter/flutter/pull/37269) [Material] FAB refactor - remove unnecessary IconTheme (cla: yes, f: material design, framework)
+
+[37275](https://github.com/flutter/flutter/pull/37275) Optimize the transformRect and transformPoint methods in matrix_utils… (cla: yes, framework)
+
+[37276](https://github.com/flutter/flutter/pull/37276) Make podhelper.rb a template to avoid passing in the module name (a: existing-apps, cla: yes, t: xcode, team, tool, ⌺ platform-ios)
+
+[37295](https://github.com/flutter/flutter/pull/37295) Revert "reland Enable selection by default for password text field and expose…" (a: accessibility, cla: yes, f: cupertino, f: material design, framework, team)
+
+[37314](https://github.com/flutter/flutter/pull/37314) Update dartdoc to 28.4 (cla: yes, team)
+
+[37319](https://github.com/flutter/flutter/pull/37319) resizeToAvoidBottomInset Cupertino without NavBar (cla: yes, f: cupertino, framework)
+
+[37322](https://github.com/flutter/flutter/pull/37322) Add comments to an Android Platform view gesture test case (a: platform-views, cla: yes, framework, severe: crash, waiting for tree to go green)
+
+[37324](https://github.com/flutter/flutter/pull/37324) reland Enable selection by default for password text field and expose… (a: accessibility, cla: yes, f: cupertino, f: material design, framework, team)
+
+[37328](https://github.com/flutter/flutter/pull/37328) Fix some tests now that the isMultiline flag is added to values (a: accessibility, cla: yes, framework, waiting for tree to go green, ☸ platform-web)
+
+[37331](https://github.com/flutter/flutter/pull/37331) [flutter_tool] Add missing toString() (cla: yes, tool)
+
+[37338](https://github.com/flutter/flutter/pull/37338) Update constructor APIs TooltipTheme, ToggleButtonsTheme, PopupMenuTheme (cla: yes, f: material design, framework, severe: API break)
+
+[37341](https://github.com/flutter/flutter/pull/37341) hiding original hero after hero transition (a: animation, cla: yes, framework, severe: API break, severe: new feature)
+
+[37342](https://github.com/flutter/flutter/pull/37342) Fix mouse region crash when using closures (a: desktop, cla: yes, framework, waiting for tree to go green)
+
+[37344](https://github.com/flutter/flutter/pull/37344) Fix mouse region double render (a: desktop, cla: yes, framework, waiting for tree to go green)
+
+[37345](https://github.com/flutter/flutter/pull/37345) [flutter_tool] Include the local timezone in analytics timestamp (cla: yes, tool)
+
+[37351](https://github.com/flutter/flutter/pull/37351) fix errors caught by roll of macOS assemble (cla: yes, tool)
+
+[37355](https://github.com/flutter/flutter/pull/37355) Added ThemeData.from() method to construct a Theme from a ColorScheme (cla: yes, f: material design, framework)
+
+[37365](https://github.com/flutter/flutter/pull/37365) only build macOS kernel in debug mode (cla: yes, tool)
+
+[37378](https://github.com/flutter/flutter/pull/37378) Disable xcode indexing in CI via COMPILER_INDEX_STORE_ENABLE=NO argument (cla: yes, tool, waiting for customer response)
+
+[37403](https://github.com/flutter/flutter/pull/37403) add ontap to textformfield (cla: yes, f: material design, framework)
+
+[37405](https://github.com/flutter/flutter/pull/37405) Add .android/Flutter/flutter.iml to module template. (cla: yes, tool)
+
+[37407](https://github.com/flutter/flutter/pull/37407) Remove multi-arch check in iOS builds (cla: yes, tool)
+
+[37413](https://github.com/flutter/flutter/pull/37413) Revert "Remove multi-arch check in iOS builds" (cla: yes, engine, tool)
+
+[37417](https://github.com/flutter/flutter/pull/37417) Nosuchmethod window (a: tests, cla: yes, framework)
+
+[37422](https://github.com/flutter/flutter/pull/37422) [flutter_tool] Additional flutter manifest yaml validation (cla: yes, tool)
+
+[37425](https://github.com/flutter/flutter/pull/37425) Support for macOS release mode (1 of 3) (cla: yes, tool)
+
+[37436](https://github.com/flutter/flutter/pull/37436) Hide text selection handle after entering text (cla: yes, f: material design, framework)
+
+[37440](https://github.com/flutter/flutter/pull/37440) Print message when HttpException is thrown after running `flutter run` (cla: yes, tool, waiting for tree to go green)
+
+[37442](https://github.com/flutter/flutter/pull/37442) Disable flaky test (a: tests, cla: yes, team)
+
+[37445](https://github.com/flutter/flutter/pull/37445) Switch iOS gen_snapshot from multi-arch binary to multiple binaries (cla: yes, engine, tool)
+
+[37449](https://github.com/flutter/flutter/pull/37449) If xcode_backend.sh script fails or substitute variables are missing, fail the host Xcode build (a: existing-apps, cla: yes, t: xcode, team, tool)
+
+[37457](https://github.com/flutter/flutter/pull/37457) Find the app bundle when the flavor contains underscores (a: build, cla: yes, team, tool, waiting for tree to go green)
+
+[37479](https://github.com/flutter/flutter/pull/37479) Remove bogus code in ContainerParentDataMixin.detach (cla: yes, framework, waiting for tree to go green)
+
+[37489](https://github.com/flutter/flutter/pull/37489) Moved the default BinaryMessenger instance to ServicesBinding (a: tests, cla: yes, customer: espresso, d: examples, framework, severe: API break, t: flutter driver, team)
+
+[37492](https://github.com/flutter/flutter/pull/37492) Drawer edge drag width improvements (cla: yes, f: material design, framework, severe: new feature)
+
+[37497](https://github.com/flutter/flutter/pull/37497) Extract common PlatformView functionality: Gesture and PointerEvent (cla: yes, framework)
+
+[37500](https://github.com/flutter/flutter/pull/37500) Avoid killing Flutter tool process (#37471) (cla: yes, tool)
+
+[37503](https://github.com/flutter/flutter/pull/37503) Quickly fix start up tests (cla: yes, framework)
+
+[37509](https://github.com/flutter/flutter/pull/37509) Use macOS ephemeral directory for Pod env script (cla: yes, tool)
+
+[37512](https://github.com/flutter/flutter/pull/37512) Enable track widget creation on debug builds (cla: yes, tool)
+
+[37514](https://github.com/flutter/flutter/pull/37514) [flutter_tool] Remove unintended analytics screen send (cla: yes, tool)
+
+[37515](https://github.com/flutter/flutter/pull/37515) Upstream web support for IterableProperty<double> (cla: yes, framework, ☸ platform-web)
+
+[37516](https://github.com/flutter/flutter/pull/37516) Kill stale TODO (a: tests, cla: yes, framework, team)
+
+[37521](https://github.com/flutter/flutter/pull/37521) have xcodeSelectPath also catch ArgumentError (cla: yes, tool)
+
+[37524](https://github.com/flutter/flutter/pull/37524) Ensure that tests remove pointers by using addTearDown (a: tests, cla: yes, framework, waiting for tree to go green)
+
+[37556](https://github.com/flutter/flutter/pull/37556) [Material] Make RawChip.selected non-nullable. (cla: yes, f: material design, framework)
+
+[37595](https://github.com/flutter/flutter/pull/37595) Closes #37593 Add flutter_export_environment.sh to gitignore (cla: yes, tool, waiting for tree to go green)
+
+[37624](https://github.com/flutter/flutter/pull/37624) Diagrams for API docs rank 10-20 in most views (cla: yes, d: api docs, d: examples, f: material design, framework, from: study, waiting for tree to go green)
+
+[37631](https://github.com/flutter/flutter/pull/37631) [Material] Create demo for material banner (cla: yes, d: examples, f: material design, team, team: gallery)
+
+[37634](https://github.com/flutter/flutter/pull/37634) [web][upstream] Update diagnostics to support web platform tests (cla: yes, f: material design, framework)
+
+[37636](https://github.com/flutter/flutter/pull/37636) Add CheckboxListTile checkColor (cla: yes, f: material design, framework)
+
+[37637](https://github.com/flutter/flutter/pull/37637) don't call Platform.operatingSystem in RenderView diagnostics (cla: yes, framework, ☸ platform-web)
+
+[37638](https://github.com/flutter/flutter/pull/37638) [web][upstream] Fix debugPrintStack for web platform (cla: yes, framework, ☸ platform-web)
+
+[37647](https://github.com/flutter/flutter/pull/37647) Change priority of gen_snapshot search paths (cla: yes, tool)
+
+[37649](https://github.com/flutter/flutter/pull/37649) Revert "Integrate dwds into flutter tool for web support" (a: accessibility, cla: yes, d: examples, team, team: gallery)
+
+[37650](https://github.com/flutter/flutter/pull/37650) Reland Integrate dwds into flutter tool for web support (a: accessibility, cla: yes, d: examples, team, team: gallery)
+
+[37652](https://github.com/flutter/flutter/pull/37652) Change RenderObject.getTransformTo to include ancestor. (cla: yes, framework, severe: API break)
+
+[37654](https://github.com/flutter/flutter/pull/37654) Add missing library to flutter tools BUILD.gn (cla: yes, tool)
+
+[37658](https://github.com/flutter/flutter/pull/37658) fix windows path for dwds/web builds (cla: yes, tool)
+
+[37661](https://github.com/flutter/flutter/pull/37661) flutter update-packages --force-upgrade (a: accessibility, a: tests, cla: yes, d: examples, framework, team, team: gallery, tool)
+
+[37664](https://github.com/flutter/flutter/pull/37664) Partial macOS assemble revert (cla: yes, tool)
+
+[37703](https://github.com/flutter/flutter/pull/37703) PlatformViewLink, handling creation of the PlatformViewSurface and dispose PlatformViewController (a: platform-views, cla: yes, framework)
+
+[37712](https://github.com/flutter/flutter/pull/37712) [web][upstream] Optimize InactiveElements deactivation (cla: yes, framework, ☸ platform-web)
+
+[37714](https://github.com/flutter/flutter/pull/37714) remove unused script (cla: yes, team)
+
+[37715](https://github.com/flutter/flutter/pull/37715) Fix markdown link format (cla: yes, f: material design, framework)
+
+[37718](https://github.com/flutter/flutter/pull/37718) Adding physicalDepth to MediaQueryData & TestWindow (cla: yes, customer: fuchsia, framework, severe: customer critical, waiting for tree to go green)
+
+[37724](https://github.com/flutter/flutter/pull/37724) iOS 13 scrollbar vibration (cla: yes, f: cupertino, framework)
+
+[37730](https://github.com/flutter/flutter/pull/37730) Revert "remove unused script" (cla: yes, team)
+
+[37731](https://github.com/flutter/flutter/pull/37731) Add metadata to indicate if the host app contains a Flutter module (cla: yes, team, tool)
+
+[37733](https://github.com/flutter/flutter/pull/37733) Support macOS Catalina-style signing certificate names (cla: yes, tool)
+
+[37735](https://github.com/flutter/flutter/pull/37735) Remove unused no-build flag from the flutter run command (cla: yes, tool)
+
+[37738](https://github.com/flutter/flutter/pull/37738) Use relative paths when installing module pods (a: existing-apps, cla: yes, tool, ⌺ platform-ios)
+
+[37740](https://github.com/flutter/flutter/pull/37740) Disable gem documentation generation on Cirrus (cla: yes, team)
+
+[37743](https://github.com/flutter/flutter/pull/37743) Handle thrown maps and rejects from fe server (cla: yes, tool)
+
+[37752](https://github.com/flutter/flutter/pull/37752) Remove dead flag `gradle-dir` in flutter config (cla: yes, tool)
+
+[37760](https://github.com/flutter/flutter/pull/37760) Don't mark system_debug_ios as flaky. (cla: yes, team)
+
+[37790](https://github.com/flutter/flutter/pull/37790) Doc: Image.memory only accepts compressed format (cla: yes, framework, waiting for tree to go green)
+
+[37792](https://github.com/flutter/flutter/pull/37792) Disable the progress bar when downloading the Dart SDK via Invoke-WebRequest (cla: yes, tool)
+
+[37793](https://github.com/flutter/flutter/pull/37793) Add equals and hashCode to Tween (a: animation, cla: yes, framework, waiting for tree to go green)
+
+[37801](https://github.com/flutter/flutter/pull/37801) Fix TextField cursor color documentation (cla: yes, f: material design, framework)
+
+[37806](https://github.com/flutter/flutter/pull/37806) Add COMPILER_INDEX_STORE_ENABLE=NO to macOS build and tests (a: tests, cla: yes, t: xcode, team, tool)
+
+[37809](https://github.com/flutter/flutter/pull/37809) Add autofocus parameter to widgets which use Focus widget internally (cla: yes, f: cupertino, f: material design, framework)
+
+[37811](https://github.com/flutter/flutter/pull/37811) Add flutter_export_environment.sh to the framework tree gitignore (cla: yes, team)
+
+[37812](https://github.com/flutter/flutter/pull/37812) [web][upstream] Don't register exit/saveCompilationTrace for web platform since they are not available (cla: yes, framework, ☸ platform-web)
+
+[37815](https://github.com/flutter/flutter/pull/37815) Restructure resident web runner usage to avoid SDK users that don't support dwds (cla: yes, tool)
+
+[37816](https://github.com/flutter/flutter/pull/37816) update dependencies; add a Web smoke test (a: accessibility, a: tests, cla: yes, d: examples, framework, team, team: gallery)
+
+[37825](https://github.com/flutter/flutter/pull/37825) Automatic focus highlight mode for FocusManager (CQ+1, cla: yes, f: material design, framework)
+
+[37828](https://github.com/flutter/flutter/pull/37828) have android_semantics_testing use adb from ENV provided android sdk (a: accessibility, cla: yes, team)
+
+[37856](https://github.com/flutter/flutter/pull/37856) Remove references to solo flag in flutter test (a: tests, cla: yes, d: api docs, framework)
+
+[37863](https://github.com/flutter/flutter/pull/37863) Expose the timeline event names so they can be used in other systems that do tracing (cla: yes, tool)
+
+[37870](https://github.com/flutter/flutter/pull/37870) remove Header flag from BottomNavigationBar items (cla: yes, f: material design, framework, waiting for tree to go green)
+
+[37871](https://github.com/flutter/flutter/pull/37871) Catch failure to create directory in cache (cla: yes, tool)
+
+[37872](https://github.com/flutter/flutter/pull/37872) Unmark devicelab tests as flaky that are no longer flaky (cla: yes, team)
+
+[37877](https://github.com/flutter/flutter/pull/37877) Adds DefaultTextStyle ancestor to Tooltip Overlay (cla: yes, f: material design, framework)
+
+[37880](https://github.com/flutter/flutter/pull/37880) reduce mac workload (cla: yes)
+
+[37881](https://github.com/flutter/flutter/pull/37881) Remove no-longer-needed scripts (cla: yes, team, waiting for tree to go green)
+
+[37882](https://github.com/flutter/flutter/pull/37882) Add dense property to AboutListTile (cla: yes, f: material design, framework)
+
+[37891](https://github.com/flutter/flutter/pull/37891) Focus debug (a: desktop, cla: yes, framework)
+
+[37895](https://github.com/flutter/flutter/pull/37895) Revert "Add equals and hashCode to Tween" (cla: yes, framework)
+
+[37900](https://github.com/flutter/flutter/pull/37900) Listen to ExtensionEvent instead of TimelineEvent (cla: yes, framework, tool)
+
+[37904](https://github.com/flutter/flutter/pull/37904) test tool scheduling (cla: yes, team)
+
+[37906](https://github.com/flutter/flutter/pull/37906) Always install the ephemeral engine copy instead of fetching from CocoaPods specs (a: existing-apps, cla: yes, team, tool, ⌺ platform-ios)
+
+[37938](https://github.com/flutter/flutter/pull/37938) Revert "Adding physicalDepth to MediaQueryData & TestWindow" (a: tests, cla: yes, framework, waiting for tree to go green)
+
+[37940](https://github.com/flutter/flutter/pull/37940) skip docs shard for changes that don't include packages with docs (cla: yes, team, tool)
+
+[37941](https://github.com/flutter/flutter/pull/37941) Skip widget tests on non framework change (cla: yes, team)
+
+[37955](https://github.com/flutter/flutter/pull/37955) Update shader warm-up for recent Skia changes (cla: yes, framework, severe: performance, severe: regression)
+
+[37958](https://github.com/flutter/flutter/pull/37958) Catch FormatException caused by bad simctl output (cla: yes, tool)
+
+[37964](https://github.com/flutter/flutter/pull/37964) Update documentation for bottom sheets to accurately reflect usage (cla: yes, f: material design, framework)
+
+[37966](https://github.com/flutter/flutter/pull/37966) Remove ephemeral directories during flutter clean (a: existing-apps, cla: yes, tool)
+
+[37971](https://github.com/flutter/flutter/pull/37971) Update dependencies (a: accessibility, cla: yes, d: examples, team, team: gallery)
+
+[37981](https://github.com/flutter/flutter/pull/37981) Give `_runFlutterTest` the ability to validate command output (cla: yes, team)
+
+[37983](https://github.com/flutter/flutter/pull/37983) Revert "Moved the default BinaryMessenger instance to ServicesBinding… (a: accessibility, a: tests, cla: yes, f: cupertino, f: material design, framework, team)
+
+[37984](https://github.com/flutter/flutter/pull/37984) Fix some typos in flutter/dev/bots/README.md (cla: yes, team)
+
+[37994](https://github.com/flutter/flutter/pull/37994) Remove no-constant-update-2018, the underlying issue has been resolved. (cla: yes, tool)
+
+[38101](https://github.com/flutter/flutter/pull/38101) Catch filesystem exception from flutter create (cla: yes, tool)
+
+[38102](https://github.com/flutter/flutter/pull/38102) Fix type error hidden by implicit downcasts (cla: yes, tool)
+
+[38296](https://github.com/flutter/flutter/pull/38296) use common emulator/device list (cla: yes, t: flutter driver, tool, waiting for tree to go green)
+
+[38325](https://github.com/flutter/flutter/pull/38325) refactor `flutter upgrade` to be 2 part, with the second part re-entrant (cla: yes, tool)
+
+[38326](https://github.com/flutter/flutter/pull/38326) Re-enabling post-submit gold tests on mac (a: tests, cla: yes, framework)
+
+[38339](https://github.com/flutter/flutter/pull/38339) [flutter_tool] Flip create language defaults to swift and kotlin (cla: yes, tool)
+
+[38342](https://github.com/flutter/flutter/pull/38342) remove bsdiff from BUILD.gn (cla: yes, tool)
+
+[38348](https://github.com/flutter/flutter/pull/38348) Analyzer fix that wasn't caught in the PR originally (cla: yes, d: examples, f: material design, team, team: gallery)
+
+[38353](https://github.com/flutter/flutter/pull/38353) [flutter_tool] Observatory connection error handling cleanup (cla: yes, tool)
+
+[38441](https://github.com/flutter/flutter/pull/38441) Fix getOffsetToReveal for growthDirection reversed and AxisDirection down or right (cla: yes, framework)
+
+[38462](https://github.com/flutter/flutter/pull/38462) Revert "Roll engine ff49ca1c6e5b..7dfdfc6faeb6 (52 commits)" (cla: yes, engine)
+
+[38463](https://github.com/flutter/flutter/pull/38463) Do not construct arguments to _focusDebug when running in non-debug modes (cla: yes, framework)
+
+[38467](https://github.com/flutter/flutter/pull/38467) [Material] Add splashColor to FAB and FAB ThemeData (cla: yes, f: material design, framework)
+
+[38472](https://github.com/flutter/flutter/pull/38472) [flutter_tool] Fix bug in manifest yaml validation (cla: yes, tool)
+
+[38486](https://github.com/flutter/flutter/pull/38486) Catch errors thrown into the Zone by json_rpc (cla: yes, tool)
+
+[38491](https://github.com/flutter/flutter/pull/38491) Update CONTRIBUTING.md (cla: yes, team)
+
+[38494](https://github.com/flutter/flutter/pull/38494) Navigator change backup (a: tests, cla: yes, framework, ☸ platform-web)
+
+[38495](https://github.com/flutter/flutter/pull/38495) Roll engine ff49ca1c6e5b..be4c8338a6ab (61 commits) (cla: yes, engine)
+
+[38497](https://github.com/flutter/flutter/pull/38497) handle unexpected exit from frontend server (cla: yes, tool)
+
+[38499](https://github.com/flutter/flutter/pull/38499) Update build web compilers and configure libraries (cla: yes, tool)
+
+[38546](https://github.com/flutter/flutter/pull/38546) Re-land 'Adding physicalDepth to MediaQueryData & TestWindow' (a: tests, cla: yes, customer: fuchsia, framework, severe: customer critical)
+
+[38558](https://github.com/flutter/flutter/pull/38558) Fix typos (and a few errors) in the API docs. (cla: yes, framework)
+
+[38564](https://github.com/flutter/flutter/pull/38564) Updating code owners for golden file changes (a: tests, cla: yes, framework, team, will affect goldens)
+
+[38567](https://github.com/flutter/flutter/pull/38567) Add smoke tests to test every commit on a Catalina host. (cla: yes, team)
+
+[38575](https://github.com/flutter/flutter/pull/38575) fix rpc exception for real (cla: yes, tool)
+
+[38579](https://github.com/flutter/flutter/pull/38579) Fix a smoke test. (cla: yes, team)
+
+[38586](https://github.com/flutter/flutter/pull/38586) Don't reload if compilation has errors (cla: yes, tool)
+
+[38587](https://github.com/flutter/flutter/pull/38587) Improve bitcode check (cla: yes, t: xcode, tool, ⌺ platform-ios)
+
+[38593](https://github.com/flutter/flutter/pull/38593) Fix text scale factor for non-content components of Cupertino scaffolds (a: fidelity, cla: yes, f: cupertino, f: material design, framework)
+
+[38603](https://github.com/flutter/flutter/pull/38603) Fix up iOS Add to App tests (a: existing-apps, a: tests, cla: yes, team, ⌺ platform-ios)
+
+[38621](https://github.com/flutter/flutter/pull/38621) [Material] Create theme for Dividers to enable customization of thickness (cla: yes, f: material design, framework)
+
+[38629](https://github.com/flutter/flutter/pull/38629) Handle case of a connected unpaired iOS device (cla: yes, tool)
+
+[38635](https://github.com/flutter/flutter/pull/38635) Toggle buttons docs (cla: yes, d: api docs, f: material design, framework)
+
+[38636](https://github.com/flutter/flutter/pull/38636) Adds the arrowColor option to UserAccountsDrawerHeader (#38608) (cla: yes, f: material design, framework)
+
+[38637](https://github.com/flutter/flutter/pull/38637) [flutter_tool] Throw tool exit on malformed storage url override (cla: yes, tool)
+
+[38639](https://github.com/flutter/flutter/pull/38639) PlatformViewLink. cached surface should be a Widget type (a: platform-views, cla: yes, framework)
+
+[38645](https://github.com/flutter/flutter/pull/38645) Rename iOS arch for macOS release mode (macOS release mode 2 of 3) (cla: yes, tool)
+
+[38651](https://github.com/flutter/flutter/pull/38651) Update the macOS Podfile template platform version (cla: yes, tool)
+
+[38652](https://github.com/flutter/flutter/pull/38652) Kill dead code (cla: yes, team, tool)
+
+[38658](https://github.com/flutter/flutter/pull/38658) Roll back engine to f8e7453f11067b5801a4484283592977d18be242 (cla: yes, engine)
+
+[38662](https://github.com/flutter/flutter/pull/38662) Change from using `defaults` to `plutil` for Plist parsing (cla: yes, tool)
+
+[38686](https://github.com/flutter/flutter/pull/38686) Rename patent file (cla: yes)
+
+[38704](https://github.com/flutter/flutter/pull/38704) Adds canRequestFocus toggle to FocusNode (cla: yes, framework)
+
+[38708](https://github.com/flutter/flutter/pull/38708) Fix Catalina hot reload test by specifying the platform is iOS. (cla: no, team)
+
+[38710](https://github.com/flutter/flutter/pull/38710) PlatformViewLink: Rename CreatePlatformViewController to CreatePlatformViewCallback (a: platform-views, cla: yes, framework)
+
+[38719](https://github.com/flutter/flutter/pull/38719) Fix stages of some iOS devicelab tests (cla: yes, team)
+
+
+
+670 PRs were closed in flutter/flutter.
+We omitted 154 PRs in this report because they were
+automated PRs, such as autoroller commits.
+
+
+# PRs closed in this release of flutter/engine
+
+From Fri Jun 21 22:31:55 2019 -0400 to Sun Aug 18 12:22:00 2019 -0700
+
+
+[9041](https://github.com/flutter/engine/pull/9041) TextStyle.height property as a multiple of font size instead of multiple of ascent+descent+leading. (affects: text input, cla: yes, prod: API break)
+
+[9075](https://github.com/flutter/engine/pull/9075) IOS Platform view transform/clipping (cla: yes)
+
+[9089](https://github.com/flutter/engine/pull/9089) Wire up custom event loop interop for the GLFW embedder. (cla: yes)
+
+[9206](https://github.com/flutter/engine/pull/9206) Android Embedding Refactor PR31: Integrate platform views with the new embedding and the plugin shim. (cla: yes)
+
+[9329](https://github.com/flutter/engine/pull/9329) Fixed memory leak by way of accidental retain on implicit self (cla: yes)
+
+[9341](https://github.com/flutter/engine/pull/9341) some drive-by docs while I was reading the embedding classes (cla: yes)
+
+[9360](https://github.com/flutter/engine/pull/9360) Simplify loading of app bundles on Android (cla: yes)
+
+[9403](https://github.com/flutter/engine/pull/9403) Remove variants of ParagraphBuilder::AddText that are not used within the engine (cla: yes)
+
+[9419](https://github.com/flutter/engine/pull/9419) Has a binary messenger (cla: yes, prod: API break)
+
+[9423](https://github.com/flutter/engine/pull/9423) Don't hang to a platform view's input connection after it's disposed (cla: yes)
+
+[9424](https://github.com/flutter/engine/pull/9424) Send timings of the first frame without batching (cla: yes)
+
+[9428](https://github.com/flutter/engine/pull/9428) Update README.md for consistency with framework (cla: yes)
+
+[9431](https://github.com/flutter/engine/pull/9431) Generate weak pointers only in the platform thread (cla: yes)
+
+[9436](https://github.com/flutter/engine/pull/9436) Add the functionality to merge and unmerge MessageLoopTaskQueues (cla: yes)
+
+[9439](https://github.com/flutter/engine/pull/9439) Eliminate unused import in FlutterView (cla: yes)
+
+[9446](https://github.com/flutter/engine/pull/9446) Revert "Roll fuchsia/sdk/core/mac-amd64 from Cx51F... to e8sS_..." (cla: yes)
+
+[9449](https://github.com/flutter/engine/pull/9449) Revert "Roll fuchsia/sdk/core/linux-amd64 from udf6w... to jQ8aw..." (cla: yes)
+
+[9450](https://github.com/flutter/engine/pull/9450) Revert "Roll fuchsia/sdk/core/mac-amd64 from Cx51F... to w-3t4..." (cla: yes)
+
+[9452](https://github.com/flutter/engine/pull/9452) Convert RRect.scaleRadii to public method (affects: framework, cla: yes)
+
+[9456](https://github.com/flutter/engine/pull/9456) Made sure that the run_tests script returns the right error code. (cla: yes)
+
+[9458](https://github.com/flutter/engine/pull/9458) Test cleanup geometry_test.dart (affects: tests, cla: yes)
+
+[9459](https://github.com/flutter/engine/pull/9459) Remove unused/unimplemented shell constructor (cla: yes)
+
+[9460](https://github.com/flutter/engine/pull/9460) Fixed logLevel filter bug so that filter now works as expected. (cla: yes)
+
+[9461](https://github.com/flutter/engine/pull/9461) Adds API for retaining intermediate engine layers (cla: yes)
+
+[9462](https://github.com/flutter/engine/pull/9462) Reland Update harfbuzz to 2.5.2 (cla: yes)
+
+[9463](https://github.com/flutter/engine/pull/9463) Removed unused imports in new embedding. (cla: yes)
+
+[9464](https://github.com/flutter/engine/pull/9464) Added shebangs to ios unit test scripts. (cla: yes)
+
+[9466](https://github.com/flutter/engine/pull/9466) Re-enable the Wuffs GIF decoder (cla: yes)
+
+[9467](https://github.com/flutter/engine/pull/9467) ios-unit-tests: Forgot a usage of a variable in our script. (cla: yes)
+
+[9468](https://github.com/flutter/engine/pull/9468) Manually draw remainder curve for wavy decorations (cla: yes)
+
+[9469](https://github.com/flutter/engine/pull/9469) ios-unit-tests: Fixed ocmock system header search paths. (cla: yes)
+
+[9471](https://github.com/flutter/engine/pull/9471) ios-unit-tests: Started using rsync instead of cp -R to copy frameworks. (cla: yes)
+
+[9476](https://github.com/flutter/engine/pull/9476) fix NPE when a touch event is sent to an unknown Android platform view (cla: yes)
+
+[9478](https://github.com/flutter/engine/pull/9478) iOS PlatformView clip path (cla: yes)
+
+[9480](https://github.com/flutter/engine/pull/9480) Revert "IOS Platform view transform/clipping (#9075)" (cla: yes)
+
+[9482](https://github.com/flutter/engine/pull/9482) Re-enable embedder_unittests. (cla: yes)
+
+[9483](https://github.com/flutter/engine/pull/9483) Reland "IOS Platform view transform/clipping (#9075)" and fix the breakage. (cla: yes)
+
+[9485](https://github.com/flutter/engine/pull/9485) Add --observatory-host switch (cla: yes)
+
+[9486](https://github.com/flutter/engine/pull/9486) Rework image & texture management to use concurrent message queues. (cla: yes)
+
+[9489](https://github.com/flutter/engine/pull/9489) Handle ambiguous directionality of final trailing whitespace in mixed bidi text (cla: yes)
+
+[9490](https://github.com/flutter/engine/pull/9490) fix a bug where the platform view's transform is not reset before set frame (cla: yes)
+
+[9491](https://github.com/flutter/engine/pull/9491) Purge caches on low memory on iOS (cla: yes)
+
+[9493](https://github.com/flutter/engine/pull/9493) Run benchmarks on try jobs. (cla: yes)
+
+[9495](https://github.com/flutter/engine/pull/9495) fix build breakage on PlatformViews.mm (cla: yes)
+
+[9501](https://github.com/flutter/engine/pull/9501) [android] External textures must be rescaled to fill the canvas (cla: yes)
+
+[9503](https://github.com/flutter/engine/pull/9503) Improve caching limits for Skia (cla: yes)
+
+[9506](https://github.com/flutter/engine/pull/9506) Synchronize main thread and gpu thread for first render frame (cla: yes)
+
+[9507](https://github.com/flutter/engine/pull/9507) Revert Skia version to d8f79a27b06b5bce7a27f89ce2d43d39f8c058dc (cla: yes)
+
+[9508](https://github.com/flutter/engine/pull/9508) Support image filter on paint (cla: yes)
+
+[9509](https://github.com/flutter/engine/pull/9509) Roll Fuchsia SDK to latest (cla: yes)
+
+[9518](https://github.com/flutter/engine/pull/9518) Bump dart_resource_rev to f8e37558a1c4f54550aa463b88a6a831e3e33cd6 (cla: yes)
+
+[9525](https://github.com/flutter/engine/pull/9525) Android Embedding Refactor PR36: Add splash screen support. (cla: yes)
+
+[9532](https://github.com/flutter/engine/pull/9532) fix FlutterOverlayView doesn't remove from superview in some cases (cla: yes)
+
+[9546](https://github.com/flutter/engine/pull/9546) [all] add fuchsia.{net.NameLookup,posix.socket.Provider} (cla: yes)
+
+[9556](https://github.com/flutter/engine/pull/9556) Minimal integration with the Skia text shaper module (cla: yes)
+
+[9559](https://github.com/flutter/engine/pull/9559) Roll src/third_party/dart b37aa3b036...1eb113ba27 (cla: yes)
+
+[9561](https://github.com/flutter/engine/pull/9561) libtxt: fix reference counting of SkFontStyleSets held by font asset providers (cla: yes)
+
+[9562](https://github.com/flutter/engine/pull/9562) Switched preprocessor logic for exporting symbols for testing. (cla: yes)
+
+[9581](https://github.com/flutter/engine/pull/9581) Revert "Avoid a full screen overlay within virtual displays" (cla: yes)
+
+[9584](https://github.com/flutter/engine/pull/9584) Revert " Roll src/third_party/dart b37aa3b036...1eb113ba27" (cla: yes)
+
+[9585](https://github.com/flutter/engine/pull/9585) Fix a race in the embedder accessibility unit test (cla: yes)
+
+[9588](https://github.com/flutter/engine/pull/9588) Roll src/third_party/dart b37aa3b036...0abff7b2bb (cla: yes)
+
+[9589](https://github.com/flutter/engine/pull/9589) Fixes a plugin overwrite bug in the plugin shim system. (cla: yes)
+
+[9590](https://github.com/flutter/engine/pull/9590) Apply patches that have landed in topaz since we ported the runners to the engine repo (cla: yes)
+
+[9591](https://github.com/flutter/engine/pull/9591) Document various classes in //flutter/shell/common. (cla: yes)
+
+[9593](https://github.com/flutter/engine/pull/9593) [trace clients] Remove fuchsia.tracelink.Registry (cla: yes)
+
+[9608](https://github.com/flutter/engine/pull/9608) Disable failing Mutators tests (cla: yes)
+
+[9613](https://github.com/flutter/engine/pull/9613) Fix uninitialized variables and put tests in flutter namespace. (cla: yes)
+
+[9632](https://github.com/flutter/engine/pull/9632) Added Doxyfile. (cla: yes)
+
+[9633](https://github.com/flutter/engine/pull/9633) Cherry-pick fix for flutter/flutter#35291 (cla: yes)
+
+[9634](https://github.com/flutter/engine/pull/9634) Roll Dart to 67ab3be10d35d994641da167cc806f20a7ffa679 (cla: yes)
+
+[9636](https://github.com/flutter/engine/pull/9636) Added shebangs to ios unit test scripts. (#9464) (cla: yes)
+
+[9637](https://github.com/flutter/engine/pull/9637) Revert "Roll Dart to 67ab3be10d35d994641da167cc806f20a7ffa679 (#9634)" (cla: yes)
+
+[9638](https://github.com/flutter/engine/pull/9638) Reland: Roll Dart to 67ab3be10d35d994641da167cc806f20a7ffa679 (cla: yes)
+
+[9640](https://github.com/flutter/engine/pull/9640) make EmbeddedViewParams a unique ptr (cla: yes)
+
+[9641](https://github.com/flutter/engine/pull/9641) Let pushColorFilter accept all types of ColorFilters (cla: yes)
+
+[9642](https://github.com/flutter/engine/pull/9642) Fix warning about settings unavailable GN arg build_glfw_shell (cla: yes)
+
+[9649](https://github.com/flutter/engine/pull/9649) Roll buildroot to c5a493b25. (cla: yes)
+
+[9651](https://github.com/flutter/engine/pull/9651) Move the mutators stack handling to preroll (cla: yes)
+
+[9652](https://github.com/flutter/engine/pull/9652) Pipeline allows continuations that can produce to front (cla: yes)
+
+[9653](https://github.com/flutter/engine/pull/9653) External view embedder can tell if embedded views have mutated (cla: yes)
+
+[9654](https://github.com/flutter/engine/pull/9654) Begin separating macOS engine from view controller (cla: yes)
+
+[9655](https://github.com/flutter/engine/pull/9655) Allow embedders to add callbacks for responses to platform messages from the framework. (cla: yes)
+
+[9660](https://github.com/flutter/engine/pull/9660) ExternalViewEmbedder can CancelFrame after pre-roll (cla: yes)
+
+[9661](https://github.com/flutter/engine/pull/9661) Raster now returns an enum rather than boolean (cla: yes)
+
+[9663](https://github.com/flutter/engine/pull/9663) Mutators Stack refactoring (cla: yes)
+
+[9667](https://github.com/flutter/engine/pull/9667) iOS platform view opacity (cla: yes)
+
+[9668](https://github.com/flutter/engine/pull/9668) Refactor ColorFilter to have a native wrapper (cla: yes)
+
+[9669](https://github.com/flutter/engine/pull/9669) Improve window documentation (cla: yes)
+
+[9670](https://github.com/flutter/engine/pull/9670) Roll src/third_party/dart 67ab3be10d...43891316ca (cla: yes)
+
+[9672](https://github.com/flutter/engine/pull/9672) Add FLEDartProject for macOS embedding (cla: yes)
+
+[9673](https://github.com/flutter/engine/pull/9673) Revert " Roll src/third_party/dart 67ab3be10d...43891316ca" (cla: yes)
+
+[9675](https://github.com/flutter/engine/pull/9675) Roll src/third_party/dart 67ab3be10d...b5aeaa6796 (cla: yes)
+
+[9685](https://github.com/flutter/engine/pull/9685) fix Picture.toImage return type check and api conform test. (cla: yes)
+
+[9698](https://github.com/flutter/engine/pull/9698) Ensure that platform messages without response handles can be dispatched. (cla: yes)
+
+[9707](https://github.com/flutter/engine/pull/9707) Revert "Revert "Use track-widget-creation transformer included in the… (cla: yes)
+
+[9708](https://github.com/flutter/engine/pull/9708) Roll src/third_party/dart b5aeaa6796...966038ef58 (cla: yes)
+
+[9711](https://github.com/flutter/engine/pull/9711) Revert "Roll src/third_party/dart b5aeaa6796...966038ef58" (cla: yes)
+
+[9713](https://github.com/flutter/engine/pull/9713) Explain why OpacityLayer has an offset field (cla: yes)
+
+[9716](https://github.com/flutter/engine/pull/9716) Roll src/third_party/dart b5aeaa6796..06c3d7ad3a (44 commits) (cla: yes)
+
+[9717](https://github.com/flutter/engine/pull/9717) Fixed logLevel filter bug so that filter now works as expected. (#9460) (cla: yes)
+
+[9721](https://github.com/flutter/engine/pull/9721) Add comments to differentiate two cache paths (cla: yes)
+
+[9722](https://github.com/flutter/engine/pull/9722) Forwards iOS dark mode trait to the Flutter framework (#34441). (cla: yes)
+
+[9723](https://github.com/flutter/engine/pull/9723) Roll src/third_party/dart 06c3d7ad3a..7acecda2cc (12 commits) (cla: yes)
+
+[9724](https://github.com/flutter/engine/pull/9724) Revert "Roll src/third_party/dart 06c3d7ad3a..7acecda2cc (12 commits)")
+
+[9725](https://github.com/flutter/engine/pull/9725) Make the license script compatible with recently changed Dart I/O stream APIs (cla: yes)
+
+[9727](https://github.com/flutter/engine/pull/9727) Add hooks for InputConnection lock and unlocking (cla: yes)
+
+[9728](https://github.com/flutter/engine/pull/9728) Roll src/third_party/dart 06c3d7ad3a...09fc76bc51 (cla: yes)
+
+[9730](https://github.com/flutter/engine/pull/9730) Fix Fuchsia build. (cla: yes)
+
+[9734](https://github.com/flutter/engine/pull/9734) Fix backspace crash on Chinese devices (cla: yes)
+
+[9736](https://github.com/flutter/engine/pull/9736) Build Fuchsia as part of CI presumit (cla: yes)
+
+[9737](https://github.com/flutter/engine/pull/9737) Use libc++ variant of string view and remove the FML variant. (cla: yes)
+
+[9740](https://github.com/flutter/engine/pull/9740) Revert "Improve caching limits for Skia" (cla: yes)
+
+[9741](https://github.com/flutter/engine/pull/9741) Make FLEViewController's view an internal detail (cla: yes)
+
+[9745](https://github.com/flutter/engine/pull/9745) Fix windows test by not attempting to open a directory as a file. (cla: yes)
+
+[9746](https://github.com/flutter/engine/pull/9746) Make all shell unit tests use the OpenGL rasterizer. (cla: yes)
+
+[9747](https://github.com/flutter/engine/pull/9747) Remove get engine (cla: yes)
+
+[9750](https://github.com/flutter/engine/pull/9750) FLEViewController/Engine API changes (cla: yes)
+
+[9758](https://github.com/flutter/engine/pull/9758) Include SkParagraph headers only when the enable-skshaper flag is on (cla: yes)
+
+[9762](https://github.com/flutter/engine/pull/9762) Fall back to a fully qualified path to libapp.so if the library can not be loaded by name (cla: yes)
+
+[9767](https://github.com/flutter/engine/pull/9767) Un-deprecated FlutterViewController's binaryMessenger. (cla: yes)
+
+[9769](https://github.com/flutter/engine/pull/9769) Document //flutter/shell/common/engine. (cla: yes)
+
+[9772](https://github.com/flutter/engine/pull/9772) fix objcdoc generation (cla: yes)
+
+[9781](https://github.com/flutter/engine/pull/9781) SendPlatformMessage allow null message value (cla: yes)
+
+[9787](https://github.com/flutter/engine/pull/9787) Roll src/third_party/dart 09fc76bc51..24725a8559 (43 commits) (cla: yes)
+
+[9789](https://github.com/flutter/engine/pull/9789) fix ColorFilter.matrix constness (cla: yes)
+
+[9791](https://github.com/flutter/engine/pull/9791) Roll Wuffs and buildroot (cla: yes)
+
+[9792](https://github.com/flutter/engine/pull/9792) Update flutter_web to latest (cla: yes)
+
+[9793](https://github.com/flutter/engine/pull/9793) Fix typo in PlaceholderAlignment docs (cla: yes)
+
+[9797](https://github.com/flutter/engine/pull/9797) Remove breaking asserts (cla: yes)
+
+[9799](https://github.com/flutter/engine/pull/9799) Update buildroot to c4df4a7b to pull in MSVC 2017 Update 9 on Windows. (cla: yes)
+
+[9808](https://github.com/flutter/engine/pull/9808) Document FontFeature class (cla: yes)
+
+[9809](https://github.com/flutter/engine/pull/9809) Document //flutter/shell/common/rasterizer (cla: yes)
+
+[9812](https://github.com/flutter/engine/pull/9812) Roll src/third_party/dart 24725a8559..28f95fcd24 (32 commits) (cla: yes)
+
+[9813](https://github.com/flutter/engine/pull/9813) Made Picture::toImage happen on the IO thread with no need for an onscreen surface. (cla: yes)
+
+[9815](https://github.com/flutter/engine/pull/9815) Made the persistent cache's directory a const pointer. (cla: yes)
+
+[9816](https://github.com/flutter/engine/pull/9816) Only release the image data in the unit-test once Skia has accepted ownership of it. (cla: yes)
+
+[9817](https://github.com/flutter/engine/pull/9817) Revert "Roll src/third_party/dart 24725a8559..28f95fcd24 (32 commits)" (cla: yes)
+
+[9818](https://github.com/flutter/engine/pull/9818) Convert run_tests to python, allow running on Mac/Windows and allow filters for tests. (cla: yes)
+
+[9819](https://github.com/flutter/engine/pull/9819) Allow for dynamic thread merging on IOS for embedded view mutations (cla: yes)
+
+[9823](https://github.com/flutter/engine/pull/9823) Roll buildroot to support bitcode enabled builds for iOS (cla: yes)
+
+[9825](https://github.com/flutter/engine/pull/9825) In a single frame codec, release the encoded image buffer after giving it to the decoder (cla: yes)
+
+[9826](https://github.com/flutter/engine/pull/9826) Roll src/third_party/dart 24725a8559..cbaf890f88 (33 commits) (cla: yes)
+
+[9828](https://github.com/flutter/engine/pull/9828) Make the virtual display's window translucent (cla: yes)
+
+[9829](https://github.com/flutter/engine/pull/9829) Revert "Roll src/third_party/dart 24725a8559..cbaf890f88 (33 commits)" (cla: yes)
+
+[9835](https://github.com/flutter/engine/pull/9835) [Windows] Alternative Windows shell platform implementation (affects: desktop, cla: yes, waiting for tree to go green)
+
+[9847](https://github.com/flutter/engine/pull/9847) Started adding the engine hash to frameworks' Info.plist. (cla: yes)
+
+[9849](https://github.com/flutter/engine/pull/9849) Preserve the alpha for VD content by setting a transparent background. (cla: yes)
+
+[9850](https://github.com/flutter/engine/pull/9850) Add multi-line flag to semantics (cla: yes)
+
+[9851](https://github.com/flutter/engine/pull/9851) Add a macro for prefixing embedder.h symbols (cla: yes)
+
+[9852](https://github.com/flutter/engine/pull/9852) Selectively enable tests that work on Windows and file issues for ones that don't. (cla: yes)
+
+[9855](https://github.com/flutter/engine/pull/9855) Fix missing assignment to _allowHeadlessExecution (cla: yes)
+
+[9856](https://github.com/flutter/engine/pull/9856) Disable Fuchsia Debug & Release presubmits and only attempt the Profile unopt variant. (cla: yes)
+
+[9857](https://github.com/flutter/engine/pull/9857) Fix fuchsia license detection (cla: yes)
+
+[9859](https://github.com/flutter/engine/pull/9859) Fix justify for RTL paragraphs. (cla: yes, waiting for tree to go green)
+
+[9866](https://github.com/flutter/engine/pull/9866) Update buildroot to pick up Fuchsia artifact roller. (cla: yes)
+
+[9867](https://github.com/flutter/engine/pull/9867) Fixed error in generated xml Info.plist. (cla: yes)
+
+[9873](https://github.com/flutter/engine/pull/9873) Add clang version to Info.plist (cla: yes)
+
+[9875](https://github.com/flutter/engine/pull/9875) Simplify buildtools (cla: yes)
+
+[9883](https://github.com/flutter/engine/pull/9883) Roll src/third_party/dart 24725a8559..2b3336b51e (108 commits) (cla: yes)
+
+[9890](https://github.com/flutter/engine/pull/9890) Log dlopen errors only in debug mode (cla: yes)
+
+[9893](https://github.com/flutter/engine/pull/9893) Removed logic from FlutterAppDelegate into FlutterPluginAppLifeCycleDelegate (cla: yes)
+
+[9894](https://github.com/flutter/engine/pull/9894) Add the isMultiline semantics flag to values (cla: yes)
+
+[9895](https://github.com/flutter/engine/pull/9895) Android Embedding PR37: Separated FlutterActivity and FlutterFragment via FlutterActivityAndFragmentDelegate (cla: yes)
+
+[9896](https://github.com/flutter/engine/pull/9896) Capture stderr for ninja command (cla: yes)
+
+[9898](https://github.com/flutter/engine/pull/9898) v1.7.8 hotfixes (cla: yes)
+
+[9901](https://github.com/flutter/engine/pull/9901) Handle decompressed images in InstantiateImageCodec (cla: yes)
+
+[9903](https://github.com/flutter/engine/pull/9903) Revert to using fml::StringView instead of std::string_view (cla: yes)
+
+[9905](https://github.com/flutter/engine/pull/9905) Respect EXIF information while decompressing images. (cla: yes)
+
+[9906](https://github.com/flutter/engine/pull/9906) Update libcxx & libcxxabi to HEAD in prep for compiler upgrade. (cla: yes)
+
+[9909](https://github.com/flutter/engine/pull/9909) Roll src/third_party/dart 6bf1f8e280..63120303a7 (4 commits) (cla: yes)
+
+[9919](https://github.com/flutter/engine/pull/9919) Removed unused method. (cla: yes)
+
+[9920](https://github.com/flutter/engine/pull/9920) Fix caching of Locale.toString (cla: yes)
+
+[9922](https://github.com/flutter/engine/pull/9922) Split out lifecycle protocol (cla: yes)
+
+[9923](https://github.com/flutter/engine/pull/9923) Fix failure of the onReportTimings window hook test (cla: yes)
+
+[9924](https://github.com/flutter/engine/pull/9924) Don't try to use unset assets_dir setting (cla: yes)
+
+[9925](https://github.com/flutter/engine/pull/9925) Fix the geometry test to reflect that OffsetBase comparison operators are a partial ordering (cla: yes)
+
+[9927](https://github.com/flutter/engine/pull/9927) Update Buildroot Version (cla: yes)
+
+[9929](https://github.com/flutter/engine/pull/9929) Update the exception thrown for invalid data in the codec test (cla: yes)
+
+[9931](https://github.com/flutter/engine/pull/9931) Fix reentrancy handling in SingleFrameCodec (cla: yes)
+
+[9932](https://github.com/flutter/engine/pull/9932) Exit flutter_tester with an error code on an unhandled exception (cla: yes)
+
+[9933](https://github.com/flutter/engine/pull/9933) Build fuchsia artifacts from the engine (cla: yes)
+
+[9934](https://github.com/flutter/engine/pull/9934) Updates to the engine test runner script (cla: yes)
+
+[9935](https://github.com/flutter/engine/pull/9935) Fix backspace crash on Chinese devices (#9734) (cla: yes)
+
+[9936](https://github.com/flutter/engine/pull/9936) Move development.key from buildroot (cla: yes)
+
+[9937](https://github.com/flutter/engine/pull/9937) [platform view] do not make clipping view and interceptor view clipToBounds (cla: yes)
+
+[9938](https://github.com/flutter/engine/pull/9938) Removed PlatformViewsController if-statements from TextInputPlugin (#34286). (cla: yes)
+
+[9939](https://github.com/flutter/engine/pull/9939) Added hasRenderedFirstFrame() to old FlutterView for Espresso (#36211). (cla: yes)
+
+[9948](https://github.com/flutter/engine/pull/9948) [glfw] Enables replies on binary messenger in glfw embedder (cla: yes)
+
+[9951](https://github.com/flutter/engine/pull/9951) Roll src/third_party/dart 63120303a7...a089199b93 (cla: yes)
+
+[9952](https://github.com/flutter/engine/pull/9952) ios: Fixed the callback for the first frame so that it isn't predicated on having a splash screen. (cla: yes)
+
+[9953](https://github.com/flutter/engine/pull/9953) [macos] Add reply to binary messenger (cla: yes)
+
+[9954](https://github.com/flutter/engine/pull/9954) Add working Robolectric tests (cla: yes)
+
+[9958](https://github.com/flutter/engine/pull/9958) Clean up cirrus.yml file a little (cla: yes)
+
+[9959](https://github.com/flutter/engine/pull/9959) Update Dart engine tests to check for assertion failures only when running in debug mode (cla: yes)
+
+[9961](https://github.com/flutter/engine/pull/9961) Fix return type of assert function in gradient_test (cla: yes)
+
+[9977](https://github.com/flutter/engine/pull/9977) Fix flutter/flutter #34791 (cla: yes, platform-android)
+
+[9987](https://github.com/flutter/engine/pull/9987) Update GN to git_revision:152c5144ceed9592c20f0c8fd55769646077569b (cla: yes)
+
+[9998](https://github.com/flutter/engine/pull/9998) [luci] Reference the right fuchsia CIPD and upload only once (cla: yes)
+
+[9999](https://github.com/flutter/engine/pull/9999) Add support for Android's visible password input type (affects: text input, cla: yes)
+
+[10001](https://github.com/flutter/engine/pull/10001) Roll src/third_party/dart a089199b93..fedd74669a (8 commits) (cla: yes)
+
+[10003](https://github.com/flutter/engine/pull/10003) Declare a copy of the enable_bitcode flag within the Flutter build scripts for use in Fuchsia builds (cla: yes)
+
+[10004](https://github.com/flutter/engine/pull/10004) [fuchsia] Use GatherArtifacts to create the requisite dir structure (cla: yes)
+
+[10007](https://github.com/flutter/engine/pull/10007) Embedding testing app (cla: yes)
+
+[10009](https://github.com/flutter/engine/pull/10009) [macos] Revert check on FlutterCodecs and refactor message function] (cla: yes)
+
+[10010](https://github.com/flutter/engine/pull/10010) Use simarm_x64 when targeting arm (cla: yes)
+
+[10012](https://github.com/flutter/engine/pull/10012) Undelete used method (cla: yes)
+
+[10021](https://github.com/flutter/engine/pull/10021) Added a DartExecutor API for querying # of pending channel callbacks (cla: yes)
+
+[10056](https://github.com/flutter/engine/pull/10056) Update .cirrus.yml (cla: yes)
+
+[10063](https://github.com/flutter/engine/pull/10063) Track clusters and return cluster boundaries in getGlyphPositionForCoordinates (emoji fix) (affects: text input, cla: yes, crash)
+
+[10064](https://github.com/flutter/engine/pull/10064) Disable DartLifecycleTest::ShuttingDownTheVMShutsDownAllIsolates in runtime_unittests. (cla: yes)
+
+[10065](https://github.com/flutter/engine/pull/10065) test scenario_app on CI (cla: yes)
+
+[10066](https://github.com/flutter/engine/pull/10066) Roll src/third_party/dart fedd74669a..9c148623c5 (70 commits) (cla: yes)
+
+[10068](https://github.com/flutter/engine/pull/10068) Fixed memory leak with engine registrars. (cla: yes)
+
+[10069](https://github.com/flutter/engine/pull/10069) Enable consts from environment in DDK for flutter_web (cla: yes)
+
+[10073](https://github.com/flutter/engine/pull/10073) Basic structure for flutter_jit_runner far (cla: yes)
+
+[10074](https://github.com/flutter/engine/pull/10074) Change ParagraphBuilder to replace the parent style's font families with the child style's font families (cla: yes)
+
+[10075](https://github.com/flutter/engine/pull/10075) Change flutter runner target for LUCI (cla: yes)
+
+[10078](https://github.com/flutter/engine/pull/10078) One more luci fix (cla: yes)
+
+[10081](https://github.com/flutter/engine/pull/10081) [fuchsia] Add support for libs in packages (cla: yes)
+
+[10082](https://github.com/flutter/engine/pull/10082) [fuchsia] Add sysroot and clang libs to package (cla: yes)
+
+[10085](https://github.com/flutter/engine/pull/10085) [fuchsia] Use the new far package model (cla: yes)
+
+[10087](https://github.com/flutter/engine/pull/10087) [fuchsia] copy over the cmx file (cla: yes)
+
+[10096](https://github.com/flutter/engine/pull/10096) Roll src/third_party/skia 3ae30cc2e6e0..1cd1ed8976c4 (1 commits) (autoroller: dryrun, cla: yes)
+
+[10097](https://github.com/flutter/engine/pull/10097) Roll src/third_party/skia 1cd1ed8976c4..f564f1515bde (1 commits) (autoroller: dryrun, cla: yes)
+
+[10098](https://github.com/flutter/engine/pull/10098) Roll src/third_party/dart 9c148623c5..82f657d7cb (25 commits) (cla: yes)
+
+[10100](https://github.com/flutter/engine/pull/10100) Roll src/third_party/skia f564f1515bde..fdf4bfe6d389 (1 commits) (autoroller: dryrun, cla: yes)
+
+[10101](https://github.com/flutter/engine/pull/10101) Roll src/third_party/skia fdf4bfe6d389..b3956dc6ba6a (1 commits) (autoroller: dryrun, cla: yes)
+
+[10102](https://github.com/flutter/engine/pull/10102) [fuchsia] Use manifest file to better replicate the existing build (cla: yes)
+
+[10109](https://github.com/flutter/engine/pull/10109) Cache font family lookups that fail to obtain a font collection (cla: yes)
+
+[10114](https://github.com/flutter/engine/pull/10114) Roll src/third_party/dart 82f657d7cb..0c97c31b6e (7 commits) (cla: yes)
+
+[10122](https://github.com/flutter/engine/pull/10122) [fuchsia] Use the patched sdk to generate the flutter jit runner far (cla: yes)
+
+[10127](https://github.com/flutter/engine/pull/10127) Track detailed LibTxt metrics (cla: yes)
+
+[10128](https://github.com/flutter/engine/pull/10128) Started linking the test targets against Flutter. (cla: yes)
+
+[10139](https://github.com/flutter/engine/pull/10139) Roll src/third_party/dart 0c97c31b6e..a2aec5eb06 (22 commits) (cla: yes)
+
+[10140](https://github.com/flutter/engine/pull/10140) Revert "[fuchsia] Use the patched sdk to generate the flutter jit run… (cla: yes)
+
+[10141](https://github.com/flutter/engine/pull/10141) Revert "[macos] Revert check on FlutterCodecs and refactor message fu… (cla: yes)
+
+[10143](https://github.com/flutter/engine/pull/10143) Disable windows tests (cla: yes)
+
+[10144](https://github.com/flutter/engine/pull/10144) [fuchsia] Push CMX to fars and add product mode support (cla: yes)
+
+[10145](https://github.com/flutter/engine/pull/10145) Added integration test that tests that the first frame callback is called (cla: yes)
+
+[10146](https://github.com/flutter/engine/pull/10146) Revert "Disable windows tests" (cla: yes)
+
+[10150](https://github.com/flutter/engine/pull/10150) [fuchsia] Remove extraneous ShapeNodes (cla: yes)
+
+[10151](https://github.com/flutter/engine/pull/10151) [fucshia] fix name to reflect the cmx file (cla: yes)
+
+[10153](https://github.com/flutter/engine/pull/10153) Add gclient_gn_args_file to DEPS (cla: yes)
+
+[10155](https://github.com/flutter/engine/pull/10155) src/third_party/dart a2aec5eb06...86dba81dec (cla: yes)
+
+[10160](https://github.com/flutter/engine/pull/10160) Roll src/third_party/dart 86dba81dec..0ca1582afd (2 commits) (cla: yes)
+
+[10171](https://github.com/flutter/engine/pull/10171) [fuchsia] Add support for aot mode in flutter runner (cla: yes)
+
+[10172](https://github.com/flutter/engine/pull/10172) [dart_runner] Rename dart to dart runner (cla: yes)
+
+[10176](https://github.com/flutter/engine/pull/10176) Add suggested Java changes from flutter roll (cla: yes, platform-android)
+
+[10178](https://github.com/flutter/engine/pull/10178) Removed unnecessary call to find the App.framework. (cla: yes)
+
+[10179](https://github.com/flutter/engine/pull/10179) [dart_runner] dart jit runner and dart jit product runner (cla: yes)
+
+[10183](https://github.com/flutter/engine/pull/10183) [fuchsia] Uncomment publish to CIPD (cla: yes)
+
+[10185](https://github.com/flutter/engine/pull/10185) Add better CIPD docs. (cla: yes)
+
+[10186](https://github.com/flutter/engine/pull/10186) Ensure debug-mode apps are always attached on iOS. (cla: yes)
+
+[10188](https://github.com/flutter/engine/pull/10188) [fuchsia] Artifacts now contain gen_snapshot and gen_snapshot_product (cla: yes)
+
+[10189](https://github.com/flutter/engine/pull/10189) [macos] Reland function refactor (cla: yes)
+
+[10195](https://github.com/flutter/engine/pull/10195) Allow embedder controlled composition of Flutter layers. (cla: yes)
+
+[10226](https://github.com/flutter/engine/pull/10226) Roll src/third_party/dart 0ca1582afd..1e43d65d4a (50 commits) (cla: yes)
+
+[10235](https://github.com/flutter/engine/pull/10235) Deprecate FlutterView#enableTransparentBackground (cla: yes)
+
+[10240](https://github.com/flutter/engine/pull/10240) [fuchsia] Update buildroot to support arm64 (cla: yes)
+
+[10242](https://github.com/flutter/engine/pull/10242) Remove Dead Scenic Clipping Code Path. (cla: yes)
+
+[10246](https://github.com/flutter/engine/pull/10246) [fuchsia] Start building dart_patched_sdk (cla: yes)
+
+[10250](https://github.com/flutter/engine/pull/10250) Android Embedding Refactor 38: Removed AssetManager from DartEntrypoint. (cla: yes)
+
+[10260](https://github.com/flutter/engine/pull/10260) [fuchsia] Add arm64 builds for flutter and dart runner (cla: yes)
+
+[10261](https://github.com/flutter/engine/pull/10261) [fuchsia] Bundle architecture specific gen_snapshots (cla: yes)
+
+[10265](https://github.com/flutter/engine/pull/10265) [dart-roll] Roll dart sdk to 80c4954d4d1d2a257005793d83b601f3ff2997a2 (cla: yes)
+
+[10268](https://github.com/flutter/engine/pull/10268) [fuchsia] Make cirrus build fuchsia artifacts (cla: yes)
+
+[10273](https://github.com/flutter/engine/pull/10273) Remove one last final call to AddPart() (cla: yes)
+
+[10282](https://github.com/flutter/engine/pull/10282) Export FFI from sky_engine. (cla: yes)
+
+[10293](https://github.com/flutter/engine/pull/10293) Add fuchsia.stamp for roller (cla: yes)
+
+[10294](https://github.com/flutter/engine/pull/10294) Roll src/third_party/dart 80c4954d4d..bd049f5b53 (37 commits) (cla: yes)
+
+[10295](https://github.com/flutter/engine/pull/10295) Fix memory overrun in minikin patch (cla: yes, crash)
+
+[10296](https://github.com/flutter/engine/pull/10296) fix CI (cla: yes)
+
+[10297](https://github.com/flutter/engine/pull/10297) Ensure that the SingleFrameCodec stays alive until the ImageDecoder invokes its callback (cla: yes)
+
+[10298](https://github.com/flutter/engine/pull/10298) Fix red build again (cla: yes)
+
+[10303](https://github.com/flutter/engine/pull/10303) Make tree green for real this time, I promise. (cla: yes)
+
+[10309](https://github.com/flutter/engine/pull/10309) [fuchsia] Kernel compiler is now ready (cla: yes)
+
+[10381](https://github.com/flutter/engine/pull/10381) Fix empty composing range on iOS (cla: yes)
+
+[10386](https://github.com/flutter/engine/pull/10386) Don't use DBC for hot-reload on iOS. (cla: yes)
+
+[10403](https://github.com/flutter/engine/pull/10403) [fuchsia] Add kernel compiler target (cla: yes)
+
+[10413](https://github.com/flutter/engine/pull/10413) Pass Android Q insets.systemGestureInsets to Window (cla: yes, platform-android)
+
+[10414](https://github.com/flutter/engine/pull/10414) expose max depth on Window (cla: yes)
+
+[10419](https://github.com/flutter/engine/pull/10419) Make kernel compiler use host toolchain (cla: yes)
+
+[10423](https://github.com/flutter/engine/pull/10423) Fix mac gen_snapshot uploader (cla: yes)
+
+[10424](https://github.com/flutter/engine/pull/10424) Fix deprecation warnings in the Android embedding (cla: yes)
+
+[10430](https://github.com/flutter/engine/pull/10430) Add copy_gen_snapshots.py tool (cla: yes)
+
+[10434](https://github.com/flutter/engine/pull/10434) Reland Skia Caching improvements (cla: yes)
+
+[10437](https://github.com/flutter/engine/pull/10437) Roll src/third_party/dart bd049f5b53...622ec5099f (cla: yes)
+
+[10440](https://github.com/flutter/engine/pull/10440) Revert "Remove one last final call to AddPart()" (cla: yes)
+
+[10475](https://github.com/flutter/engine/pull/10475) Roll src/third_party/dart 622ec5099f...9bb446aae1 (14 commits) (cla: yes)
+
+[10477](https://github.com/flutter/engine/pull/10477) Add #else, #endif condition comments (cla: yes)
+
+[10478](https://github.com/flutter/engine/pull/10478) Migrate Fuchsia runners to SDK tracing API (cla: yes)
+
+[10479](https://github.com/flutter/engine/pull/10479) Delete unused create_macos_gen_snapshot.py script (cla: yes)
+
+[10481](https://github.com/flutter/engine/pull/10481) Android embedding refactor pr40 add static engine cache (cla: yes)
+
+[10484](https://github.com/flutter/engine/pull/10484) Roll src/third_party/dart 9bb446aae1...4bebfebdbc (7 commits). (cla: yes)
+
+[10485](https://github.com/flutter/engine/pull/10485) Remove semi-redundant try-jobs. (cla: yes)
+
+[10629](https://github.com/flutter/engine/pull/10629) Fix engine platformviewscontroller leak (cla: yes)
+
+[10633](https://github.com/flutter/engine/pull/10633) skip flaky tests (cla: yes)
+
+[10634](https://github.com/flutter/engine/pull/10634) Use Fuchsia trace macros when targeting Fuchsia SDK (cla: yes)
+
+[10635](https://github.com/flutter/engine/pull/10635) [fuchsia] CloneChannelFromFD fix for system.cc (cla: yes)
+
+[10636](https://github.com/flutter/engine/pull/10636) Fix threading and re-enable resource cache shell unit-tests. (cla: yes)
+
+[10637](https://github.com/flutter/engine/pull/10637) Document the thread test fixture. (cla: yes)
+
+[10642](https://github.com/flutter/engine/pull/10642) Roll src/third_party/dart 4bebfebdbc..8cd01287b4 (30 commits) (cla: yes)
+
+[10644](https://github.com/flutter/engine/pull/10644) [flutter_runner] Port: Add connectToService, wrapping fdio_ns_connect. (cla: yes)
+
+[10645](https://github.com/flutter/engine/pull/10645) Don't use DBC for hot-reload on iOS. (cla: yes)
+
+[10652](https://github.com/flutter/engine/pull/10652) Allow embedders to control Dart VM lifecycle on engine shutdown. (cla: yes)
+
+[10656](https://github.com/flutter/engine/pull/10656) fix iOS keyboard crash : -[__NSCFString substringWithRange:], range o… (cla: yes)
+
+[10662](https://github.com/flutter/engine/pull/10662) bump local podspec's ios deployment target version from 7.0 to 8.0 (cla: yes)
+
+[10663](https://github.com/flutter/engine/pull/10663) Roll src/third_party/dart 8cd01287b4..574c4a51c6 (35 commits) (cla: yes)
+
+[10667](https://github.com/flutter/engine/pull/10667) Roll buildroot for ANGLE support (cla: yes)
+
+[10671](https://github.com/flutter/engine/pull/10671) Roll src/third_party/dart 574c4a51c6..c262cbd414 (11 commits) (cla: yes)
+
+[10674](https://github.com/flutter/engine/pull/10674) When setting up AOT snapshots from symbol references, make buffer sizes optional. (cla: yes)
+
+[10675](https://github.com/flutter/engine/pull/10675) Improvements to the flutter GDB script (cla: yes)
+
+[10679](https://github.com/flutter/engine/pull/10679) Roll buildroot to pick up EGL library name fix (cla: yes)
+
+[10681](https://github.com/flutter/engine/pull/10681) Roll buildroot back to an earlier version (cla: yes)
+
+[10682](https://github.com/flutter/engine/pull/10682) Roll src/third_party/dart c262cbd414..8740bb5c68 (18 commits) (cla: yes)
+
+[10687](https://github.com/flutter/engine/pull/10687) Roll src/third_party/dart 8740bb5c68..f3139f57b4 (7 commits) (cla: yes)
+
+[10692](https://github.com/flutter/engine/pull/10692) Rolls engine to Android SDK 29 and its corresponding tools (cla: yes)
+
+[10693](https://github.com/flutter/engine/pull/10693) Roll src/third_party/dart f3139f57b4..f29f41f1a5 (3 commits) (cla: yes)
+
+[10694](https://github.com/flutter/engine/pull/10694) Roll buildroot (cla: yes)
+
+[10699](https://github.com/flutter/engine/pull/10699) Roll swiftshader (cla: yes)
+
+[10700](https://github.com/flutter/engine/pull/10700) [fuchsia] Migrate from custom FuchsiaFontManager to SkFontMgr_fuchsia (cla: yes)
+
+[10703](https://github.com/flutter/engine/pull/10703) Test perf overlay gold on Linux (cla: yes)
+
+[10705](https://github.com/flutter/engine/pull/10705) Revert "Remove semi-redundant try-jobs. (#10485)" (cla: yes)
+
+[10717](https://github.com/flutter/engine/pull/10717) Specify which android variant for tests (cla: yes, waiting for tree to go green)
+
+[10719](https://github.com/flutter/engine/pull/10719) Include Maven dependency in files.json (cla: yes)
+
+[10771](https://github.com/flutter/engine/pull/10771) Don't use gradle daemon for building (cla: yes, waiting for tree to go green)
+
+[10773](https://github.com/flutter/engine/pull/10773) Remove use of the deprecated AccessibilityNodeInfo boundsInParent API (cla: yes)
+
+[10774](https://github.com/flutter/engine/pull/10774) Manual roll of Fuchsia clang/linux-amd64 toolchain (cla: yes)
+
+[10776](https://github.com/flutter/engine/pull/10776) rename stub_ui to web_ui (cla: yes)
+
+[10777](https://github.com/flutter/engine/pull/10777) Manually roll Skia to pull in iOS armv7 build failure fix. (cla: yes)
+
+[10778](https://github.com/flutter/engine/pull/10778) Build JARs containing the Android embedding sources and the engine native library (cla: yes)
+
+[10780](https://github.com/flutter/engine/pull/10780) [flutter_runner] Improve frame scheduling (cla: yes)
+
+[10781](https://github.com/flutter/engine/pull/10781) [flutter] Create the compositor context on the GPU task runner. (cla: yes)
+
+[10782](https://github.com/flutter/engine/pull/10782) Update license script to handle ANGLE (cla: yes)
+
+[10783](https://github.com/flutter/engine/pull/10783) Make firebase test more LUCI friendly (cla: yes)
+
+[10784](https://github.com/flutter/engine/pull/10784) Roll buildroot for ANGLE support (cla: yes)
+
+[10786](https://github.com/flutter/engine/pull/10786) Remove 3 semi-redundant try-jobs (cla: yes)
+
+[10787](https://github.com/flutter/engine/pull/10787) Change call to |AddPart| to |AddChild| (cla: yes)
+
+[10788](https://github.com/flutter/engine/pull/10788) Wire up a concurrent message loop backed SkExecutor for Skia. (cla: yes)
+
+[10789](https://github.com/flutter/engine/pull/10789) Revert "Forwards iOS dark mode trait to the Flutter framework.". (cla: yes)
+
+[10791](https://github.com/flutter/engine/pull/10791) Re-lands platform brightness support on iOS (cla: yes)
+
+[10797](https://github.com/flutter/engine/pull/10797) Rename artifacts so they match the Maven convention (cla: yes)
+
+[10799](https://github.com/flutter/engine/pull/10799) Add a test for creating images from bytes. (cla: yes)
+
+[10802](https://github.com/flutter/engine/pull/10802) Roll src/third_party/dart f29f41f1a5..3d9a356f6e (65 commits) (cla: yes)
+
+[10805](https://github.com/flutter/engine/pull/10805) Roll src/third_party/dart 3d9a356f6e..78ce916d82 (7 commits) (cla: yes)
+
+[10808](https://github.com/flutter/engine/pull/10808) Remove flutter_kernel_sdk dart script (cla: yes)
+
+[10809](https://github.com/flutter/engine/pull/10809) [dart:zircon] Porting Cache re-usable handle wait objects (cla: yes)
+
+[10810](https://github.com/flutter/engine/pull/10810) Roll Dart SDK 78ce916d82..15a3bf82cb (cla: yes)
+
+[10811](https://github.com/flutter/engine/pull/10811) Revert "Remove flutter_kernel_sdk dart script" (cla: yes)
+
+[10815](https://github.com/flutter/engine/pull/10815) Return an empty mapping for an empty file asset (cla: yes)
+
+[10816](https://github.com/flutter/engine/pull/10816) Add firstFrameDidRender to FlutterViewController (cla: yes)
+
+[10817](https://github.com/flutter/engine/pull/10817) Roll src/third_party/dart 15a3bf82cb..ffefa124a7 (11 commits) (cla: yes)
+
+[10820](https://github.com/flutter/engine/pull/10820) iOS JIT support and enhancements for scenarios app (cla: yes)
+
+[10821](https://github.com/flutter/engine/pull/10821) Roll src/third_party/dart ffefa124a7..e29d6d0ecb (4 commits) (cla: yes)
+
+[10823](https://github.com/flutter/engine/pull/10823) Expose isolateId for engine (cla: yes)
+
+[10905](https://github.com/flutter/engine/pull/10905) Roll src/third_party/dart e29d6d0ecb..261fd6266b (2 commits) (cla: yes)
+
+[10925](https://github.com/flutter/engine/pull/10925) Roll src/third_party/dart 261fd6266b..9adf3c119e (2 commits) (cla: yes)
+
+[10934](https://github.com/flutter/engine/pull/10934) Roll src/third_party/dart 9adf3c119e..32b70ce2a5 (3 commits) (cla: yes)
+
+[10941](https://github.com/flutter/engine/pull/10941) Report test failures in run_tests.py (cla: yes)
+
+[10946](https://github.com/flutter/engine/pull/10946) Roll src/third_party/dart 32b70ce2a5..896c053803 (1 commits) (cla: yes)
+
+[10949](https://github.com/flutter/engine/pull/10949) Fix iOS references to PostPrerollResult (cla: yes)
+
+[10952](https://github.com/flutter/engine/pull/10952) Change SemanticsNode#children lists to be non-null (cla: yes)
+
+[10955](https://github.com/flutter/engine/pull/10955) Fix format (cla: yes)
+
+[10956](https://github.com/flutter/engine/pull/10956) Increase the license block scan from 5k to 6k (cla: yes)
+
+[10962](https://github.com/flutter/engine/pull/10962) Roll src/third_party/dart 896c053803..b31df28d72 (10 commits) (cla: yes)
+
+[10966](https://github.com/flutter/engine/pull/10966) Roll src/third_party/dart b31df28d72..baebba06af (5 commits) (cla: yes)
+
+[10968](https://github.com/flutter/engine/pull/10968) include zx::clock from new location to fix Fuchsia autoroll. (cla: yes)
+
+[10973](https://github.com/flutter/engine/pull/10973) Roll src/third_party/dart baebba06af..06509e333d (7 commits) (cla: yes)
+
+[10975](https://github.com/flutter/engine/pull/10975) Roll src/third_party/dart 06509e333d..9aea1f3489 (8 commits) (cla: yes)
+
+[10977](https://github.com/flutter/engine/pull/10977) Roll src/third_party/dart 9aea1f3489..b9217efc77 (7 commits) (cla: yes)
+
+[10981](https://github.com/flutter/engine/pull/10981) Roll src/third_party/dart b9217efc77..20407e28db (6 commits) (cla: yes)
+
+[10982](https://github.com/flutter/engine/pull/10982) Revert "Track detailed LibTxt metrics" (cla: yes)
+
+[10983](https://github.com/flutter/engine/pull/10983) Roll src/third_party/dart 20407e28db..45f892df68 (2 commits) (cla: yes)
+
+[10987](https://github.com/flutter/engine/pull/10987) Roll src/third_party/dart 45f892df68..88c43bbcc4 (7 commits) (cla: yes)
+
+[10990](https://github.com/flutter/engine/pull/10990) Roll src/third_party/dart 88c43bbcc4..b173229baa (14 commits) (cla: yes)
+
+[10993](https://github.com/flutter/engine/pull/10993) Roll src/third_party/dart b173229baa..76c99bcd01 (5 commits) (cla: yes)
+
+[10997](https://github.com/flutter/engine/pull/10997) Roll src/third_party/dart 76c99bcd01..c4727fddf4 (10 commits) (cla: yes)
+
+[10999](https://github.com/flutter/engine/pull/10999) Add script for running ios Tests on simulator (cla: yes)
+
+[11001](https://github.com/flutter/engine/pull/11001) Avoid dynamic lookups of the engine library's symbols on Android (cla: yes)
+
+[11002](https://github.com/flutter/engine/pull/11002) Remove a tracing macro with a dangling pointer (cla: yes)
+
+[11003](https://github.com/flutter/engine/pull/11003) Roll src/third_party/dart c4727fddf4..e35e8833ee (1 commits) (cla: yes)
+
+[11004](https://github.com/flutter/engine/pull/11004) Trace RasterCacheResult::Draw (cla: yes)
+
+[11005](https://github.com/flutter/engine/pull/11005) Drop firebase test from Cirrus (cla: yes)
+
+[11006](https://github.com/flutter/engine/pull/11006) On iOS report the preferred frames per second to tools via service protocol. (cla: yes)
+
+[11007](https://github.com/flutter/engine/pull/11007) Update README.md (cla: yes)
+
+[11009](https://github.com/flutter/engine/pull/11009) Revert "Update README.md" (cla: yes)
+
+[11010](https://github.com/flutter/engine/pull/11010) Rename macOS FLE* classes to Flutter* (affects: desktop, cla: yes, platform-macos, waiting for tree to go green)
+
+[11011](https://github.com/flutter/engine/pull/11011) Initialize the engine in the running state to match the animator's default state (cla: yes)
+
+[11012](https://github.com/flutter/engine/pull/11012) Remove the ParagraphImpl class from the text API (cla: yes)
+
+[11013](https://github.com/flutter/engine/pull/11013) Remove ability to override mac_sdk_path in flutter/tools/gn (cla: yes)
+
+[11015](https://github.com/flutter/engine/pull/11015) Remove the output directory prefix from the Android engine JAR filename (cla: yes)
+
+[11016](https://github.com/flutter/engine/pull/11016) Fix gn breakage on Fuchsia macOS host builds (cla: yes)
+
+[11017](https://github.com/flutter/engine/pull/11017) Roll src/third_party/dart e35e8833ee..e35e8833ee (0 commits) (cla: yes)
+
+[11019](https://github.com/flutter/engine/pull/11019) Fix gn breakage on non-Fuchsia macOS host builds (cla: yes)
+
+[11023](https://github.com/flutter/engine/pull/11023) Roll src/third_party/dart e35e8833ee..cae08c6813 (28 commits) (cla: yes)
+
+[11024](https://github.com/flutter/engine/pull/11024) Add _glfw versions of the GLFW desktop libraries (cla: yes)
+
+[11026](https://github.com/flutter/engine/pull/11026) Roll src/third_party/dart cae08c6813..9552646dc4 (3 commits) (cla: yes)
+
+[11027](https://github.com/flutter/engine/pull/11027) Fix first frame logic (cla: yes)
+
+[11029](https://github.com/flutter/engine/pull/11029) Disable a deprecation warning for use of a TaskDescription constructor for older platforms (cla: yes)
+
+[11030](https://github.com/flutter/engine/pull/11030) Roll src/third_party/dart 9552646dc4..cd16fba718 (5 commits) (cla: yes)
+
+[11033](https://github.com/flutter/engine/pull/11033) remove OS version (cla: yes)
+
+[11036](https://github.com/flutter/engine/pull/11036) [fuchsia] Add required trace so files for fuchsia fars (cla: yes)
+
+[11037](https://github.com/flutter/engine/pull/11037) Roll buildroot to pick up recent macOS changes (cla: yes)
+
+[11038](https://github.com/flutter/engine/pull/11038) Make JIT work on iPhone armv7 (cla: yes)
+
+[11039](https://github.com/flutter/engine/pull/11039) Roll src/third_party/dart cd16fba718..306f8e04bb (10 commits) (cla: yes)
+
+[11040](https://github.com/flutter/engine/pull/11040) Hide verbose dart snapshot during run_test.py (cla: yes)
+
+[11043](https://github.com/flutter/engine/pull/11043) Roll Dart back to e35e8833 (cla: yes)
+
+[11044](https://github.com/flutter/engine/pull/11044) Roll src/third_party/dart 306f8e04bb..fecc4c8f2d (4 commits) (cla: yes)
+
+[11046](https://github.com/flutter/engine/pull/11046) Add ccls config files to .gitignore (cla: yes)
+
+[11048](https://github.com/flutter/engine/pull/11048) Roll src/third_party/dart e35e8833ee..2023f09b56 (67 commits) (cla: yes)
+
+[11052](https://github.com/flutter/engine/pull/11052) Remove unused dstColorSpace argument to MakeCrossContextFromPixmap (cla: yes)
+
+[11055](https://github.com/flutter/engine/pull/11055) Roll src/third_party/dart 2023f09b56..a3b579d5c3 (8 commits) (cla: yes)
+
+[11056](https://github.com/flutter/engine/pull/11056) Sort the Skia typefaces in a font style set into a consistent order (cla: yes)
+
+[11060](https://github.com/flutter/engine/pull/11060) Roll src/third_party/dart a3b579d5c3..2a3b844b41 (5 commits) (cla: yes)
+
+[11061](https://github.com/flutter/engine/pull/11061) Roll buildroot to 5a33d6ab to pickup changes to toolchain version tracking. (cla: yes)
+
+[11066](https://github.com/flutter/engine/pull/11066) Roll src/third_party/dart 2a3b844b41..8ab978b6d4 (7 commits) (cla: yes)
+
+[11067](https://github.com/flutter/engine/pull/11067) Minor update to the Robolectric test harness (cla: yes)
+
+[11068](https://github.com/flutter/engine/pull/11068) More updates to the Robolectric test harness (cla: yes)
+
+[11071](https://github.com/flutter/engine/pull/11071) Roll src/third_party/dart 8ab978b6d4..beee442625 (17 commits) (cla: yes)
+
+[11072](https://github.com/flutter/engine/pull/11072) Roll src/third_party/dart beee442625..79e6c74337 (8 commits) (cla: yes)
+
+[11075](https://github.com/flutter/engine/pull/11075) [dynamic_thread_merging] Resubmit only on the frame where the merge (cla: yes)
+
+
+
+858 PRs were closed in flutter/engine.
+We omitted 436 PRs in this report because they were
+automated PRs, such as autoroller commits.
diff --git a/docs/unsorted_wiki/Package-migration-to-1.0.0.md b/docs/unsorted_wiki/Package-migration-to-1.0.0.md
new file mode 100644
index 0000000..3428744
--- /dev/null
+++ b/docs/unsorted_wiki/Package-migration-to-1.0.0.md
@@ -0,0 +1,16 @@
+_**TL;DR** To facilitate a smooth ecosystem migration, a package author may ask dependent packages to migrate to a 1.0.0 version with a `>=0.x.y+z <2.0.0` constraint rather than a `^1.0.0`._
+
+API stability* is an important milestone in a package’s lifetime and bumping the version to 1.0.0 is an exciting way to celebrate this moment.
+
+This is what the [Semantic Versioning Specification](https://semver.org/#spec-item-4) (2.0.0) is saying about pre 1.0.0 versions:
+
+> Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
+
+Pub on the other hand treats pre 1.0.0 versions semantically (see [pub_semver corner cases](https://pub.dev/packages/pub_semver)), shifting the numbers by one position.
+
+Often, at the time a package author is ready to announce API stability their package is versioned 0.x.y+z. Bumping a package version from 0.x.y+z to 1.0.0 is a major version bump in the Dart ecosystem. Migrations across a major version bump are slower, and may result in some period of ecosystem fragmentation (when some dependent packages are only willing to take ^0.x.y+z and some require ^1.0.0).
+
+To go through an ecosystem migration to 1.0.0 in a smoother way, users of the newly API-stable package (particularly dependent packages) are encouraged to update their constraints to `>=0.a.b+c <2.0.0` instead of `^1.0.0`, this reduces friction during the transition period while some dependents have updated to post 1.0.0 and some have not.
+
+
+* While an API can never be guaranteed to be stable, version 1.0.0 is the milestone in which the package author is feeling comfortable to let others depend on the current API, and does not have concrete plans to change it in a breaking way.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Packages-repo.md b/docs/unsorted_wiki/Packages-repo.md
new file mode 100644
index 0000000..ff4e0f6
--- /dev/null
+++ b/docs/unsorted_wiki/Packages-repo.md
@@ -0,0 +1,12 @@
+This is an index of team-facing documentation for the [flutter/packages repository](https://github.com/flutter/packages/).
+
+- [[Contributing to Plugins and Packages]]
+- [[Flutter migrate]]
+- [[Migrating Plugins repository PRs to Packages]]
+- [[Package migration to 1.0.0]]
+- [[Plugin Tests]]
+- [[Plugins and Packages repository structure]]
+- [[Setting up the Packages development environment]]
+- [[Understanding Packages tests]]
+- [[Releasing a Plugin or Package]]
+- [[Updating Packages repo for a stable release]]
diff --git a/docs/unsorted_wiki/Plugin-Tests.md b/docs/unsorted_wiki/Plugin-Tests.md
new file mode 100644
index 0000000..a4e691b
--- /dev/null
+++ b/docs/unsorted_wiki/Plugin-Tests.md
@@ -0,0 +1,237 @@
+*If you haven't already read it, start with [the repository structure overview](https://github.com/flutter/flutter/wiki/Plugins-and-Packages-repository-structure) to familiarize yourself with the types of packages discussed below.*
+
+## Types of Tests
+
+Because of the complexities of having native code, plugins have many more types of tests than most other Flutter packages. A plugin will generally have some combination of the following:
+- **Dart unit tests**. All plugin packages should have these, with the exception of a federated implementation package that contains only native code (i.e., one that only implements a shared method channel). In a plugin, Dart unit tests would cover:
+ - The Dart code in a monolithic plugin (generally using a mock method channel).
+ - The Dart code in an app-facing plugin package (using a mock implementation of the platform interface).
+ - The Dart code in a platform interface package that contains a shared method channel implementation (using a mock method channel).
+ - The Dart code of an implementation package, if any. Some federated implementations are pure Dart, and would be largely tested via unit tests, and some have Dart code binding to a package-internal method channel.
+
+ These should live in `test/`
+- **Integration tests**. These use [the `integration_test` package](https://flutter.dev/docs/testing/integration-tests). Unlike Dart unit tests, integration tests run in the context of a Flutter application (the `example/` app), and can therefore load and exercise native plugin code. Almost all plugin packages other than the platform interface package should have these. The only exceptions would be:
+ - Plugins that need native UI tests (see below)
+ - Plugins that have pure Dart implementations which can be comprehensively tested with Dart unit tests.
+
+ These should live in `example/integration_tests/`
+- **Native unit tests**. Most plugins that have native code should have unit tests for that native code. (Currently, many do not; fixing that is currently a priority for plugins work.) They are written as:
+ - Android: **JUnit** - These should live in `android/src/test/`
+ - iOS: **XCTest** - These should live in `example/ios/RunnerTests/` (**Note**: These are in the example directory, not the main package directory, because they are run via the example app's project)
+ - macOS: **XCTest** - These should live in `example/macos/RunnerTests/` (**Note**: These are in the example directory, not the main package directory, because they are run via the example app's project)
+ - Linux: **Google Test** - These should live in `linux/test/`, and be named `*_test.cc`.
+ - Windows: **Google Test** - These should live in `windows/test/`, and be named `*_test.cpp`.
+- **Native UI tests**. Some plugins show native UI that the test must interact with (e.g., `image_picker`). For these normal integration tests won't work, as there is not way to drive the native UI from Dart. They are written as:
+ - Android: **Espresso**, via the [`espresso` plugin](https://pub.dev/packages/espresso) - These should live in `example/android/app/src/androidTest/`
+ - iOS: **XCUITest** - These should live in `example/ios/RunnerUITests/`
+ - macOS: **XCUITest** - These should live in `example/macos/RunnerUITests/`
+ - Windows and Linux: **TBD**, see [#70233 (Windows)](https://github.com/flutter/flutter/issues/70233) and [#70235 (Linux)](https://github.com/flutter/flutter/issues/70235)
+
+## Running Tests
+
+### Dart unit tests
+
+These can be run like any other Flutter unit tests, either from your preferred Flutter IDE, or using `flutter test`. The one exception is unit tests for `*_web` packages, which must be run with `flutter test --platform=chrome`.
+
+You can also run them via the [repository tools `drive-examples` command](https://github.com/flutter/packages/blob/main/script/tool/README.md):
+
+```sh
+dart run script/tool/bin/flutter_plugin_tools.dart drive-examples --packages=<name_of_plugin>
+```
+
+### Integration tests
+
+To run the integration tests using Flutter test (while in a plugin directory):
+
+```sh
+cd example
+flutter test integration_test
+```
+
+(optionally including a `-d <device>` flag to select the target device), or use the [repository tools `drive-examples` command](https://github.com/flutter/packages/blob/main/script/tool/README.md)
+from the root of the repository:
+
+```sh
+dart run script/tool/bin/flutter_plugin_tools.dart drive-examples --packages=<name_of_plugin> --<platform>
+```
+
+To run integration tests as instrumentation tests on a local Android device:
+
+```sh
+cd example
+flutter build apk
+cd android && ./gradlew -Ptarget=$(pwd)/../test_driver/<name_of_plugin>_test.dart app:connectedAndroidTest
+```
+
+### Native tests
+
+From a terminal (while at the repository root), use the [repository tools `native-test` command](https://github.com/flutter/packages/blob/main/script/tool/README.md). Examples:
+
+```sh
+# Unit and integration (UI) tests, multiple platforms
+dart run script/tool/bin/flutter_plugin_tools.dart native-test --android --ios --packages=<some_plugin_name>
+# iOS, integration tests only
+dart run script/tool/bin/flutter_plugin_tools.dart native-test --ios --no-unit --packages=<some_plugin_name>
+# Android, unit tests only
+dart run script/tool/bin/flutter_plugin_tools.dart native-test --android --no-integration --packages=<some_plugin_name>
+```
+
+It's also possible to run them from native IDEs:
+
+#### JUnit
+
+Run from Android Studio once the example app is opened as an Android project
+
+#### XCTest and XCUITest
+
+[Run from Xcode](https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/05-running_tests.html)
+once the example app is opened as an Xcode project.
+
+#### Google Test
+
+For Windows plugins, Visual Studio should auto-detect the tests and allow running them as usual.
+
+### Web Tests
+
+Most web tests are written as Integration Tests because they need a web browser (like Chrome) to run. Web integration tests are located in the `example` directory of the `<plugin_name_web>` package.
+
+To run web integration tests:
+
+1. Check what version of Chrome is running on the machine you're running tests on.
+2. Download and install the ChromeDriver for that version from here:
+ * https://chromedriver.chromium.org/downloads
+3. Start ChromeDriver with:
+```sh
+chromedriver --port=4444
+```
+4. Run tests:
+ * **All:** from the root `plugins` directory, run:
+ ```sh
+ dart run script/tool/bin/flutter_plugin_tools.dart drive-examples --packages=<plugin_name>/<plugin_name_web> --web
+ ```
+ * **One:** `cd` into the `example` directory of the package, then run:
+ ```sh
+ flutter drive -d web-server --web-port 7357 --browser-name chrome --driver test_driver/integration_test.dart --target integration_test/NAME_OF_YOUR_test.dart
+ ```
+
+All web packages contain a standard `test` directory in the root of the package that can be run with `flutter test`. In most cases, the test there will direct users to the Integration Tests that live in the `example` directory. In some cases (like `file_selector_web`), the directory contains actual Unit Tests that are not web-specific and can run in the Dart VM.
+
+#### Mocks
+
+Some packages (like `google_maps_flutter_web`) contain `.mocks.dart` files alongside the test files that use them.
+
+Mock files are [generated by `package:mockito`](https://pub.dev/packages/mockito#lets-create-mocks). The contents of mock files can change with how the mocks are used within the tests, in addition to actual changes in the APIs they're mocking.
+
+Mock files must be updated by running the following command:
+
+```sh
+flutter pub run build_runner build
+```
+
+
+## Adding tests
+
+A PR changing a plugin [should add tests](https://github.com/flutter/flutter/wiki/Tree-hygiene#tests). Which type(s) of tests you should add will depend on what exactly you are changing. See below for some high-level guidance, but if you're not sure please ask in your PR or in `#hackers-ecosystem` [on Discord](https://github.com/flutter/flutter/wiki/Chat).
+Hopefully the scaffolding to run the necessary kinds of tests are already in place for that plugin, in which case you just add tests to the existing files in the locations referenced above. If not, see below for more information about adding test scaffolding.
+
+### FAQ: Do I need to add tests even if the part of the code I'm changing isn't already tested?
+
+**Yes.** Much of the plugin code predates the current strict policy about testing, and as a result the coverage is not as complete as it should be. The goal of having a strict policy going forward is to ensure that the situation improves.
+
+### What types of tests to add
+
+The type(s) of tests to add depends on the details of the PR, and there is not always one right answer. Some high level principles to keep in mind:
+- Your tests should cover all of the new code you've added whenever possible. For instance, if your change has an error path you should test both the normal path and the error path.
+- Unit tests are more reliable, faster to run, and more precise at isolating bugs than integration tests, so it is generally good to have unit testing of any non-trivial logic.
+- New functionality should generally include integration tests that validate that the feature works end to end. (In some cases asserting that the native code has done the right thing is impractical in a full integration test, however.)
+
+Some specific guidelines about different test types:
+- **Dart unit tests**: If you are changing Dart code, you should almost always have Dart unit tests as well. They are fast to run, and generally easy to write and maintain. Even if your Dart changes are just wiring a new parameter through an app-facing package to the platform interface, or a platform interface implementation to a method channel, Dart unit tests can easily validate that they are being passed through correctly at each step.
+ - Unless your change has no native code changes, remember that Dart unit tests **are not sufficient by themselves**. No native code is run as part of Dart unit tests.
+- **Dart integration tests**: These are the only fully end-to-end tests for plugins, so should be written when possible. This is the only kind of test that can actually test the entire flow as it will be run by plugin clients. Some comment cases where they won't work, however:
+ - The test requires interacting with native UI (e.g., pushing a button in a modal dialog before the test can complete).
+ - The test requires inspecting native UI (e.g., changing the properties of a view inside a platform view provided by the native code—although in some cases it may be viable to write a special platform interface just for testing, that can query those properties from Dart via calls to native code).
+ - The test requires specific hardware state.
+- **Native unit tests**: Native unit tests are the only way to unit-test native code; if your native code is non-trivial, then it should probably have native unit tests. In particular:
+ - It is often much easier to get complete coverage of edge cases in native unit tests than via full integration tests.
+ - If you need to mock out system components (such as hardware state), you'll need native unit tests.
+- **Native integration tests**: These are usually the most complex to maintain (being both per-platform, and more likely to be flaky than unit tests), so use with caution. However, they are the only way to get end-to-end testing when interacting with native UI.
+
+Some patterns to consider given all of the above:
+- If Dart integration tests are viable, use that to ensure end-to-end behavior of the overall feature, and add Dart and/or native unit testing to cover specific implementation details.
+- If the test requires interacting with native UI (e.g., image or file selection):
+ - use native integration tests to validate the overall flow, plus unit testing of specific details, or
+ - use native unit tests that are set up to test the native portion end to end (i.e., calling into the method channel entry point with a synthesized call, and checking the method call response) with the UI APIs stubbed out, plus Dart unit tests that everything is plumbed through from the Dart API surface to the method call, or
+ - use the first to validate basic functionality, and the second for edge cases that can't be easily tested that way.
+- If the tests require mocking device state (e.g., camera), use native unit tests that are set up to test the native portion end to end (i.e., calling into the method channel entry point with a synthesized call, and checking the method call response) with the UI APIs stubbed out, plus Dart unit tests that everything is plumbed through from the Dart API surface to the method call.
+
+### Adding test scaffolding
+
+If a plugin is missing test scaffolding for the type of tests you want to add, you have several options:
+- If it's simple to enable them, and you are comfortable making the changes, you can enable them as part of your PR.
+- If it's non-trivial to enable them, but you are comfortable doing it, you can make a new PR that enables them with some minimal test, and ask for that to be reviewed and landed before continuing with your PR.
+- If you aren't comfortable making the change, reach out [via Discord](https://github.com/flutter/flutter/wiki/Chat) and ask in `#hackers-ecosystem`.
+
+Regardless of the approach you use, please reach out on Discord if a PR that sets up a new kind of test doesn't get reviewed within two weeks. Filling in the gaps in test scaffolding is a priority for the team, so we want to review such PRs quickly whenever possible.
+
+See below for instructions on bringing up test scaffolding in a plugin (*does not yet cover all types of tests*):
+
+#### Enabling XCTests or XCUITests
+
+1. Open `<path_to_plugin>/example/ios/Runner.xcworkspace` using Xcode. (For macOS, replace `ios` with `macos`.)
+1. Create a new "Unit Testing Bundle" or "UI Testing Bundle", depending on the type of test.
+1. In the target options window, populate details as following, then click on "Finish".
+ * In the "product name" field, type "RunnerTests" or "RunnerUITests", depending on the type of test.
+ * In the "Team" field, select "None".
+ * Set the Organization Identifier to "dev.flutter.plugins".
+ * In the Language field, select "Objective-C" for iOS, or "Swift" for macOS.
+ * In the Project field, select the xcodeproj "Runner" (blue color).
+ * In the Target to be Tested, select xcworkspace "Runner" (white color).
+ * In the Build Settings tab, remove most of the target-level overrides that are generated by the
+ template. In particular:
+ * `CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER` is currently incompatible with Flutter.
+ * `IPHONEOS_DEPLOYMENT_TARGET` and `TARGETED_DEVICE_FAMILY` may cause issues running tests.
+ * The compiler settings (`CLANG_*`, `GCC_*`, and `MTL_*`) shouldn't be needed.
+1. For XCTests, edit `example/ios/Podfile` (`example/macos/Podfile` for macOS) to add the following to the `target 'Runner' do` block:
+
+ ```ruby
+ target 'RunnerTests' do
+ inherit! :search_paths
+ pod 'OCMock', '3.5'
+ end
+ ```
+ The `OCMock` line is only necessary if your tests use OCMock.
+1. A RunnerTests/RunnerUITests folder should be created and you can start hacking in the added `.m`/`.swift` file.
+
+#### Enabling Android UI tests
+
+1. Duplicate the `DartIntegrationTests.java` file from another plugin to `example/android/app/src/androidTest/java/io/flutter/plugins/DartIntegrationTest.java`
+1. Create a file under `example/android/app/src/androidTest/java/` with a sub-path corresponding to the example app's package identifier from `example/android/app/src/main/AndroidManifest.xml`. The file should be called `FlutterActivityTest.java` (or if the example uses a custom MainActivity as its `android:name` in `AndroidManifest.xml`, `MainActivityTest.java`).
+ * For example, if `AndroidManifest.xml` uses `io.flutter.plugins.fooexample` as the package identifier, and `io.flutter.embedding.android.FlutterActivity` as its `android:name`, the file should be `example/android/app/src/androidTest/java/io/flutter/plugins/fooexample/FlutterActivityTest.java`.
+
+ The file should look like:
+ ```
+ package io.flutter.plugins.fooexample;
+
+ import androidx.test.rule.ActivityTestRule;
+ import dev.flutter.plugins.integration_test.FlutterTestRunner;
+ import io.flutter.embedding.android.FlutterActivity;
+ import io.flutter.plugins.DartIntegrationTest;
+ import org.junit.Rule;
+ import org.junit.runner.RunWith;
+
+ @DartIntegrationTest
+ @RunWith(FlutterTestRunner.class)
+ public class FlutterActivityTest {
+ @Rule
+ public ActivityTestRule<FlutterActivity> rule = new ActivityTestRule<>(FlutterActivity.class);
+ }
+ ```
+
+ Note:
+ * Update the `package` to match the actual package.
+ * If using a custom `MainActivity`, replace the `FlutterActivity` references with `MainActivity`.
+1. Ensure that `example/android/app/build.gradle`'s `defaultConfig` section contains:
+ ```
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ ```
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Plugins-and-Packages-repository-structure.md b/docs/unsorted_wiki/Plugins-and-Packages-repository-structure.md
new file mode 100644
index 0000000..e8aabaf
--- /dev/null
+++ b/docs/unsorted_wiki/Plugins-and-Packages-repository-structure.md
@@ -0,0 +1,47 @@
+This provides an overview of the structure of the flutter/packages repository.
+
+# Packages
+
+Most packages are located in `packages`. A few which are derived heavily from third-party code are instead in `third_party/packages/`.
+
+## Plugins
+
+Plugins in flutter/packages uses the federated plugin model. If you are not familiar with federated plugins, start with reading [the federated plugin overview](https://flutter.dev/docs/development/packages-and-plugins/developing-packages#federated-plugins) to understand the terms below.
+
+All plugins are located in the `packages/` directory. Almost all plugins have the following layout:
+- `some_plugin/` - A directory containing the individual packages of the federated plugin:
+ - `some_plugin/` - The app-facing package
+ - `some_plugin_platform_interface/` - The platform interface
+ - `some_plugin_android/`, `some_plugin_ios/`, `some_plugin_web/`, `some_plugin_windows/`, `some_plugin_macos/`, and/or `some_plugin_linux/` - The individual platform implementations, as applicable
+ - In some special cases, implementation packages have different names; examples include `webview_flutter_wkwebview` and `in_app_purchase_storekit`. These would normally be named `_ios`, but have more generic names because they include (or expected to include in the future) macOS implementations. Sharing a package allows sharing the code, as the OS APIs are largely the same across the two platforms.
+
+This layout reflects the goal of having all multi-platform plugins in flutter/packages being fully federated. (While this is not strictly necessary, as all packages are being maintained by the Flutter team, using a fully federated structure ensures that we are testing the federated model and finding issues and areas for improvement specific to federation.)
+
+### Android Specifics
+
+#### Gradle structure
+
+`package/example/android/settings.gradle` imports the flutter tooling, includes the app directory (same as `flutter create` projects) additionally it configures GoogleCloudPlatform/artifact-registry-maven-tools for use in CI.
+
+This repo has a GCP instance that mirrors dependencies available from `google()` and `mavenCentral()` used by CI (or Googlers). This gives us redundant uptime for dependency availability.
+
+Using the specific google hosted cache is not intended for contributors outside of CI. We protect that execution with an environment variable `ARTIFACT_HUB_REPOSITORY` to ensure that by default users do not see rejected cloud credentials or errors in builds. Contributors could setup an artifact repository and set the environment variable to point to a hosted repository but that is practically not worth it for almost all contributors.
+
+Googlers can debug locally by setting `ARTIFACT_HUB_REPOSITORY` to the valid artifact hub value and authenticating with GCP. To authenticate run `gcloud auth application-default login`. To find artifact hub url use `<url>` section of go/artifact-hub#maven or inspect the value on CI servers. CI uses a service account for billing. That is defined in go/artifact-hub-service-account (Googler access only).
+
+## Useful links for debuging
+https://github.com/GoogleCloudPlatform/artifact-registry-maven-tools/blob/master/README.md
+https://docs.gradle.org/current/userguide/declaring_repositories.html
+https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html
+
+Command to force refresh of dependencies `./gradlew app:dependencies --configuration <SOME_TASK> --refresh-dependencies`
+
+### Unfederated plugins
+
+A few plugins are inherently single-platform (for example, `flutter_plugin_android_lifecycle`), and so are not federated. For those plugins the structure is:
+
+- `some_plugin/` - A plugin containing the app-facing API and its implementation
+
+# Tools
+
+`script/tool/` contains the tooling used to manage tasks across all packages in the repository. See [its README](https://github.com/flutter/packages/blob/main/script/tool/README.md) for more information.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Popular-issues.md b/docs/unsorted_wiki/Popular-issues.md
new file mode 100644
index 0000000..3a2c0c8
--- /dev/null
+++ b/docs/unsorted_wiki/Popular-issues.md
@@ -0,0 +1,82 @@
+When deciding what to work on, we usually focus on issues that have a lot of thumbs-up reactions on the first comment, what we call the "popular issues".
+
+Some popular issues are topics on which we cannot find a good way to make progress. Since those issues where we _do_ make progress get closed, the result is that [the list of most-popular issues](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) is now full of issues where we have conspicuously not made progress!
+
+In the interests of transparency, this wiki page discusses the status of the ten most popular issues. It is only updated occasionally and so may not be entirely up to date; for the most up to date information, please see the latest comments on the relevant issue. (Please avoid asking for an update on issues, otherwise they become full of people asking for updates and nobody can find the actual updates.)
+
+_See also: [the list of popular issues including closed issues](https://github.com/flutter/flutter/issues?q=is%3Aissue+sort%3Areactions-%2B1-desc), which shows that popular issues do get closed. 😅_
+
+## [Code Push / Hot Update / out of band updates](https://github.com/flutter/flutter/issues/14330) (#14330)
+
+<!-- https://github.com/flutter/flutter/issues/14330#issuecomment-442274897 (terminology) -->
+<!-- https://github.com/flutter/flutter/issues/14330#issuecomment-485565194 (2019 update) -->
+<!-- https://github.com/flutter/flutter/issues/14330#issuecomment-442274897 (rfw) -->
+
+There are three main areas that people are referring to here:
+
+* **Modular application delivery**: the ability to package a single app into multiple separate archives when compiling it, and download them independently as needed. This is supported on Android via [deferred components](https://docs.flutter.dev/perf/deferred-components). We suspect it is not possible to achieve this on iOS with Apple's current guidelines and tools. We have not yet attempted to provide this on desktop or web, primarily because we have more important issues to resolve on those platforms first.
+
+* **Dynamic extension loading**: the ability to download some Dart code that wasn't written when the app was first published, which adds a new feature to the app. This could be done on the fly. It may require the core app to be larger since we can't know ahead of time what is needed by each future extension. There are various solutions in this space, such as combining [the rfw package](https://pub.dev/packages/rfw) and an FFI-based or Wasm-based solution (e.g. [package:wasm](https://pub.dev/packages/wasm)). There is [an example](https://github.com/flutter/packages/tree/master/packages/rfw/example/wasm) that provides a proof-of-concept for this combination of packages: a Flutter desktop application that knows nothing about being a calculator downloads an interface description specifying all the buttons and their layout to show on the screen, and downloads a C program compiled to Wasm to perform the calculations. The Flutter program is merely a bridge between these two downloaded files. We are looking for feedback from people using this feature; please add your experiences to [issue 90218](https://github.com/flutter/flutter/issues/90218).
+
+* **Dynamic patching**: the ability to update the Dart code of an app in the field by downloading a patch (of sorts) and providing it to the Dart VM. This would require a reload of the app to take effect. Dynamic patching was previously on our roadmap for 2019. After investigating this in greater detail, we decided not to proceed with that work. There were several factors that led us to this decision:
+
+ * To comply with our understanding of store policies on Android and iOS, any solution would be limited to JIT code on Android and interpreted code on iOS. We are not confident that the performance characteristics of such a solution on iOS would reach the quality that we demand of our product. (In other words, "it would be too slow".)
+
+ * There are some serious security concerns. Since these patches would essentially allow arbitrary code execution, they would be extremely attractive malware vectors. We could mitigate this by requiring that patches be signed using the same key as the original package, but this is error prone and any mistake would have serious consequences. This is, fundamentally, the same problem that has plagued platforms that allow execution of code from third-party sources. This problem could be mitigated by integrating with a platform update mechanism, but this defeats the purpose of an out-of-band patching mechanism.
+
+ * There is currently no out-of-the-box open source hosting solution for patching applications, so we would either have to rely on people configuring their Web servers accordingly, or we would have to create integrations for proprietary third-party services, or we would have to create our own bespoke solution. Hosting patches is a space we are not eager to enter. Having people configure their own server leaves them open to making mistakes with potentially serious implications as explained in the previous point about security. Depending on third-party services puts Flutter in an awkward position of having to pick winners and exposes us to the risk of those projects themselves making policy changes that would affect this feature.
+
+## [Let flutter be installable via homebrew](https://github.com/flutter/flutter/issues/14050) (#14050)
+
+<!-- https://github.com/flutter/flutter/issues/14050#issuecomment-1012647917 -->
+
+Currently, we see this as a lower priority than our other release-related work (such as working towards [SLSA compliance](https://slsa.dev)). There are a number of other mechanisms for obtaining Flutter today, so this does not immediately unblock anyone, it is "merely" a convenience. That said, we recognize that homebrew is a pretty idiomatic way of getting software for developers on macOS, and so the request is quite valid.
+
+If anyone would be interested in implementing an official homebrew installation path, the best thing to do would be to reach out on the #hackers-releases channel of our Discord (see [[Chat]]). Implementing it would require integrating into our release pipeline, so familiarity with that would be extremely helpful. It would also require carefully negotiating how Flutter's primary distribution mechanism (shipping the `git` repo directly) should interact with Homebrew's mechanisms, so familiarity with both of those would also be needed.
+
+## [Design a new vector file format](https://github.com/flutter/flutter/issues/1831) (#1831)
+
+A [design document](https://flutter.dev/go/vector-graphics) containing both a detailed study of the problem and a strawman proposal have been published (comments welcome). The primary goal of the strawman proposal is to see if it is possible to create a format that is implemented entirely on the GPU (the thought being that creating yet another CPU-bound format doesn't really bring the industry forward). The next step is to experiment with implementing the proposal. Unfortunately all our shader experts are currently busy on higher-priority problems (like improving rendering performance and reducing jank), so this work has stalled.
+
+As usual, contributions are welcome. Reach out to Hixie directly (either by e-mail, ian@hixie.ch, or on our [[Chat]] channels) if you are interested in helping out.
+
+## [Enable "hot reload" (not just "hot restart") for Flutter Web](https://github.com/flutter/flutter/issues/53041) (#53041)
+
+Nobody has currently volunteered to work on this. Long term web efforts are primarily focused on Wasm, so we don't expect
+to see progress soon. It is a technically extremely difficult and subtle problem.
+
+## [Improve the indexability (SEO) of Flutter apps on the web](https://github.com/flutter/flutter/issues/46789) (#46789)
+
+This feature is one that is recognized as important. There are some prerequisites, like improving Flutter's deep linking and accessibility features, which we have to deal with first. There are also other issues, like those around performance, plugins, and embedding, that are currently higher on the list for people who are currently contributing to Flutter's web support.
+
+Fixing this issue is non-trivial, as Flutter's architecture is one that is fundamentally different than what the web usually expects. If you are interested in contributing, the best place to begin would be to discuss potential approaches on our #hackers-web [[Chat]] channel, followed by writing up a design doc (the process for which is also on the [[Chat]] page).
+
+## [Bring Material 3 to Flutter](https://github.com/flutter/flutter/issues/91605) (#91605)
+
+Work continues to implement the latest version of Material Design in Flutter's framework, we are making great progress here!
+
+## [Apple CarPlay / Android Auto support?](https://github.com/flutter/flutter/issues/26801) (#26801)
+
+For Apple CarPlay, there is a package called [flutter_carplay](https://pub.dev/packages/flutter_carplay) by Oğuzhan Atalay that gives a Flutter API for controlling the CarPlay API. It's not clear that anything beyond that really makes sense for CarPlay, because Apple's API is template based and so Flutter (with its rendering engine, widgets framework, platform neutrality, etc) doesn't really provide any direct value.
+
+For Android Auto, our understanding is that the situation is similar: there are some templates that you can fill in using Android APIs. To our knowledge nobody has yet created a plugin to expose those APIs to Dart code, but we are not aware of any reason why that would not be possible. (For extra bonus points, one could imagine a package that tries to intelligently fill both CarPlay and Android Auto templates from the same source data, but that may be hard if the templates are too different from each other.)
+
+Currently, it does not seem that we can provide substantially more value here than anyone else could in writing plugins like Oğuzhan's, so we do not intend to work on this. We would encourage people to work with Oğuzhan and/or create new plugins for these features. Should the situation change (e.g. if CarPlay or Android Auto supported a way for us to directly send pixels to the car dashboard, allowing the power of Flutter's widgets to be useful here), we would reconsider this feature.
+
+## [Server-side rendering for Flutter web](https://github.com/flutter/flutter/issues/47600) (#47600)
+
+Fundamentally, rendering Flutter web apps to HTML is incompatible with Flutter's current architecture, and therefore this is not something we are likely to ever attempt. It's also not something we think is particularly useful. We see Flutter as the first of a new breed of frameworks that target WebGL and Wasm and leave HTML behind. For more detailed thoughts, see [the status update on the issue](https://github.com/flutter/flutter/issues/47600#issuecomment-1016920547).
+
+We believe indexability (SEO) can be addressed without server-side rendering; see the issue above for a discussion of that topic.
+
+## [Automatic/scalable shader warm-up](https://github.com/flutter/flutter/issues/32170) (#32170)
+
+Shader warm-up is available on every platform. To automate the generation of shader warm-up files currently requires first manually writing automated tests, and then running these in CI.
+
+Our medium-term efforts are around removing the need for shader warm-up entirely, and therefore we are not currently planning on working on further automating the creation of shader warm-up files (no point working on something that we want to make irrelevant).
+
+If we manage to remove the need for shader warm-up entirely, we will close issue #32170. If not, we will reconsider whether additional efforts to automate shader warm-up file generation are warranted.
+
+## [OpenContainer jank due to multiple frames of shader compilation](https://github.com/flutter/flutter/issues/76180) (#76180)
+
+A huge area of focus for us right now is our new graphics backend, [Impeller](https://docs.flutter.dev/perf/impeller), which should remove all runtime shader compilation, thus entirely removing this source of jank.
diff --git a/docs/unsorted_wiki/Postmortem-AndroidX-plugin-migration.md b/docs/unsorted_wiki/Postmortem-AndroidX-plugin-migration.md
new file mode 100644
index 0000000..82e1c1e
--- /dev/null
+++ b/docs/unsorted_wiki/Postmortem-AndroidX-plugin-migration.md
@@ -0,0 +1,251 @@
+# Flutter postmortem: AndroidX Plugin Migration
+
+Status: draft
+
+Owners: @mklim, @amirh, @dnfield, @hixie
+
+## Summary
+
+Description: The flutter/plugins repo was updated with a breaking change to
+resolve
+[flutter/flutter#23995](https://github.com/flutter/flutter/issues/23995). The
+change migrated and deprecated Android dependencies in the plugins'
+`build.gradle` files and required any apps using the plugins to also have Gradle
+files that were either migrated or compatible with the AndroidX. Gradle errors
+in hard-to-debug ways on Flutter apps broken by the change, without surfacing a
+clear explanation or migration path to affected users. In addition this was a
+known breaking change but originally incorrectly incremented the minor semantic
+version number in 6/32 of the affected packages.
+
+Component: `flutter/plugins`
+
+Date/time: 2019-01-24 13:24 -0800
+
+Duration: 4 days for the semantic versioning problem. 2 weeks for the confusing
+Gradle error.
+
+User impact: Users pinned to the major version of firebase_analytics,
+firebase_database, firebase_messaging, firebase_storage, google_sign_in, and
+url_launcher were broken by pub despite deliberately trying to avoid any
+breaking changes. All other first party plugin users that try to use the latest
+major version are affected by the confusing Gradle error.
+
+## Timeline (all times in PST/PDT)
+
+### 2019-01-24
+
+* 13:24 - First breaking change with incorrect versioning merged,
+ [flutter/plugins#1103](https://github.com/flutter/plugins/pull/1103).
+* 14:20 - [flutter/plugins#1103](https://github.com/flutter/plugins/pull/1103)
+ uploaded to pub. **<START OF OUTAGE>**
+
+### 2019-01-25
+
+* 09:44 - [flutter/plugins#1115](https://github.com/flutter/plugins/pull/1115),
+ the final commit with breaking changes and incorrect semver, is merged to
+ master.
+* 10:55 - Final batch of incorrectly versioned plugins is published to pub.
+* 13:53 - @hixie files
+ [flutter/flutter#27106](https://github.com/flutter/flutter/issues/27106) for
+ the obscure Gradle error following a fresh run of `flutter create` on the
+ `stable` channel. Links the error to the AndroidX migration and tags @mklim,
+ @amirh, and @dnfield.
+* 14:03 - @mklim confirms the root cause of the error as an incompatibility
+ between the app and plugin's Gradle files. *(The semantic versioning issue is
+ not known at this point.)*
+* 14:45 - @dnfield, @mklim, and @amirh discuss mitigating the user unfriendly
+ `flutter create` error on `stable` offline. Decide to republish the AndroidX
+ migration with a constraint so that users are on a version of flutter that
+ produces AndroidX-compatible Gradle files. [pub](http://pub.dartlang.org)
+ maintainers are contacted to remove the broken packages.
+
+### 2019-01-26
+
+* 00:30 - Email back and forth begins with pub maintainers.
+* 08:07 -
+ [flutter/flutter#27128](https://github.com/flutter/flutter/issues/27128) filed
+ about upgrading a >= 1.0.0 plugin's minor version number.
+* 12:33 - @mklim briefly explains the problem in
+ [flutter/flutter#27128](https://github.com/flutter/flutter/issues/27128) and
+ recommends to downgrade plugin versions since a revert for `flutter stable` is
+ incoming. However his comment doesn't have details on all of the plugins to
+ downgrade and what versions to downgrade them to. User discussion continues on
+ this bug over the next 48 hours.
+* 14:00 - Discussion with pub maintainers concludes. The affected packages can't
+ be replaced because pub has safeguards against removing a "stable" package
+ version. Decided to replace the packages with a patch+1 revert, and then a
+ patch+2 migration with the minimum Flutter SDK constraint.
+
+### 2019-01-28
+
+* 09:00 - *Semantic versioning issue discovered.* Offline discussion scheduled
+ with @mklim, @amirh, @kevmoo, @hixie, and @dnfield to re-assess a fix.
+* 11:00 - @mklim, @amirh, @kevmoo, @hixie, and @dnfield re-review the issue with
+ the semantic versioning issue also in mind. Decide that the minimum Flutter
+ constraint is useless to address the problem since it really has to do with
+ the app's `build.gradle`, which could have been generated by any Flutter
+ version including the current one and which also could have been manually
+ edited. Decide that the semver problem should be fixed by patching the 6
+ affected plugins with a revert and then incrementing them with a major bump
+ and the migration.
+* 11:45 - @mklim updates
+ [flutter/flutter#27128](https://github.com/flutter/flutter/issues/27128) with
+ a detailed description of the bug, root cause, way to fix via migration or
+ downgrade, and plan to fix the semantic versioning for the affected plugins.
+* 14:28 - [flutter/plugins#1127](https://github.com/flutter/plugins/pull/1127)
+ (the patch revert) is merged to master.
+* 15:05 - [flutter/plugins#1128](https://github.com/flutter/plugins/pull/1128)
+ (the correct forward roll) is merged to master.
+* 15:08 - @dnfield alerts users following the AndroidX migration
+ ([flutter/flutter#23995](https://github.com/flutter/flutter/issues/23995)) of
+ the semantic version issues and that there's going to be a major version bump.
+* 15:46 - The last affected package is updated on pub with both the patch revert
+ and the forward roll with correct semver bump. **<END OF SEMVER
+ OUTAGE>**
+* 15:58 - @mklim updates
+ [flutter/flutter#27128](https://github.com/flutter/flutter/issues/27128) and
+ [flutter/flutter#23995](https://github.com/flutter/flutter/issues/23995) with
+ info on the 6 packages that have had their semantic versions updated.
+* 17:09 - @mklim updates
+ [flutter/flutter#27106](https://github.com/flutter/flutter/issues/27106) with
+ more details on the bug and the fixed semantic versioning problem.
+
+### 2019-01-30
+
+* 10:27 - @mklim updates the Flutter website via
+ [flutter/website#2310](https://github.com/flutter/website/pull/2310) to
+ explain how to import a Flutter app into the Android Studio IDE for automatic
+ migration.
+* 11:28 - @mklim opens
+ [flutter/plugins#1138](https://github.com/flutter/plugins/pull/1138) so that
+ the plugins warn about the AndroidX migration when Gradle fails to compile.
+
+### 2019-02-05
+
+* 13:41- @mklim opens
+ [flutter/flutter#27566](https://github.com/flutter/flutter/pull/27566) to
+ detect gradle error messages and link to a Flutter AndroidX migration guide on
+ the Flutter website in Flutter itself.
+* 17:35 - @mklim opens
+ [flutter/website#2349](https://github.com/flutter/website/pull/2349) to add a
+ migration guide to AndroidX for Flutter apps and plugins.
+
+### 2019-02-07
+
+* 13:23 - [flutter/website#2349](https://github.com/flutter/website/pull/2349)
+ is merged.
+* 17:30 - [flutter/plugins#1138](https://github.com/flutter/plugins/pull/1138)
+ and [flutter/flutter#27566](https://github.com/flutter/flutter/pull/27566) are
+ merged. Plugins are uploaded with the change. **<END OF GRADLE ERROR
+ OUTAGE>**
+
+## Impact
+
+### Some first party plugin users were broken in a minor version upgrade
+
+It looks like the only issue filed for this directly has been
+[flutter/flutter#27128](https://github.com/flutter/flutter/issues/27128).
+
+### All first party plugin users were broken in a confusing way
+
+An explanation and migration path exists in the CHANGELOG.md of each plugin, but
+this information is hard to find and the actual Gradle error is not helpful.
+Several bugs on Github have been filed from affected users.
+
+* [flutter/flutter#27106](https://github.com/flutter/flutter/issues/27106)
+* [flutter/flutter#27226](https://github.com/flutter/flutter/issues/27226)
+* [flutter/flutter#27146](https://github.com/flutter/flutter/issues/27146)
+* [flutter/flutter#27156](https://github.com/flutter/flutter/issues/27156)
+
+## Root causes
+
+[flutter/plugins#1103](https://github.com/flutter/plugins/pull/1103),
+[flutter/plugins#1115](https://github.com/flutter/plugins/pull/1115) migrated
+the plugins to support AndroidX instead of the original Android support
+libraries. See #23995 for more details, but in short the original support
+libraries are deprecated and not recommended for Android app development
+anymore.
+
+This was a known breaking change and the changelog links to the official
+[migration steps](https://developer.android.com/jetpack/androidx/migrate). BUT
+plugins that were greater than or equal to `1.0.0` weren't updated according to
+[pubspec's semantic versioning
+philosophy](https://www.dartlang.org/tools/pub/versioning#semantic-versions). On
+pub for packages < `1.0.0` the versioning is `0.major.minor+patch`, and for >=
+1.0.0 it's `major.minor.patch`. The AndroidX PRs universally incremented the
+middle number, so any plugin that was already at or above `1.0.0` is being
+incorrectly treated as non-breaking by pub. This caused the semantic versioning
+issue.
+
+In addition the breaking change was only surfaced in the CHANGELOG.md of each
+plugin, but resulted in breaking Gradle errors at runtime. These Gradle errors
+did not provide any obvious ways to debug the incompatibility.
+
+## Lessons learned
+
+### What worked
+
+* The plugins were migrated to AndroidX!
+
+### Where we got lucky
+
+* @hixie diagnosed the problem with standard `flutter create` templates
+ relatively quickly and cc'ed the relevant devs.
+
+### What didn't work
+
+* We understood that the AndroidX migration was breaking, but underestimated the
+ scale of the breakage. We didn't realize that it applied to all untouched
+ `build.gradle` files produced by released versions of `flutter create`. Also
+ failed to verify that the Gradle errors mentioned AndroidX or were otherwise
+ easily understable.
+* The `flutter/plugins` CI failed to verify that the new plugins could be used
+ with the template from `flutter create` on stable.
+* No manual sanity checks were recommended and insufficient ones were performed
+ before publishing the packages to pub. There could have been manual checks to
+ catch the `flutter create` and semantic versioning issues.
+* The packages were pushed Thursday/Friday (24-25) and remained broken over the
+ weekend until a fix was decided communally when everyone was in the office
+ Monday morning (28).
+* The breaking change and suggested migration were only surfaced in the
+ CHANGELOG of the plugins, not in the actual Gradle compile error. The
+ changelogs are not very findable and the Gradle error is confusing.
+* There was no way to mark the incorrect semver packages as broken in pub, so we
+ needed to push a breaking revert along with a forward migration.
+
+## Action items
+
+### Prevention
+
+* [flutter/flutter#27110](https://github.com/flutter/flutter/issues/27110) -
+ Test the plugins from a blank, stable `flutter create` template on the plugins
+ CI
+
+### Detection
+
+* [flutter/flutter#27258](https://github.com/flutter/flutter/issues/27258) - The
+ plugins releasing process should be improved to help detect regressions.
+
+### Mitigation
+
+* [flutter/flutter#14818](https://github.com/flutter/flutter/issues/14818) -
+ Translate Gradle errors into actionable steps for our users when possible.
+* [dart-lang/pub#2038](https://github.com/dart-lang/pub/issues/2038) - Show a
+ migration prompt and ask for confirmation on updating a breaking change in
+ pub.
+* [dart-lang/pub-dartlang-dart#378](https://github.com/dart-lang/pub-dartlang-dart/issues/378) - Tag
+ specific pub releases as broken.
+
+### Process
+
+* [flutter/flutter#27258](https://github.com/flutter/flutter/issues/) - Have a
+ better/more formalized releasing process for flutter/plugins.
+
+### Fixes
+
+* [flutter/plugins#1127](https://github.com/flutter/plugins/pull/1127)
+* [flutter/plugins#1128](https://github.com/flutter/plugins/pull/1128)
+* [flutter/website#2310](https://github.com/flutter/website/pull/2310)
+* [flutter/plugins#1138](https://github.com/flutter/plugins/pull/1138)
+* [flutter/flutter#27566](https://github.com/flutter/flutter/pull/27566)
+* [flutter/website#2349](https://github.com/flutter/website/pull/2349)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Postmortem-Beta-1-Release.md b/docs/unsorted_wiki/Postmortem-Beta-1-Release.md
new file mode 100644
index 0000000..186e157
--- /dev/null
+++ b/docs/unsorted_wiki/Postmortem-Beta-1-Release.md
@@ -0,0 +1,123 @@
+# Flutter postmortem: Beta 1 release process
+
+Status: draft<br>
+Owners: [@tvolkert](https://github.com/tvolkert), [@Hixie](https://github.com/Hixie)
+
+## Summary
+
+Description: Flutter launched beta 1 on February 27, 2018. This document attempts to dissect what could have gone smoother strictly from a technical release process point of view.<br>
+
+## Timeline (all times in PST)
+
+### _2018/02/20 - 2018/02/25_
+
+[@tvolkert](https://github.com/tvolkert) tests v0.1.4 in preparation for releasing it to beta on 2018/02/27.
+
+### _2018/02/26_
+
+| Time | |
+| --- | --- |
+| _11:40_ | [@tvolkert](https://github.com/tvolkert) tries to push v0.1.4 to beta but doesn’t have sufficient permissions, because the branch is protected on GitHub. |
+| _12:02_ | [@Hixie](https://github.com/Hixie) adds [@tvolkert](https://github.com/tvolkert) to the beta branch ACL so can push the beta release. |
+| _12:07_ | [@tvolkert](https://github.com/tvolkert) pushes v0.1.4 to the beta branch |
+| _12:20_ | [@mit-mit](https://github.com/mit-mit) tries to upgrade to the new beta and runs into [#15096](https://github.com/flutter/flutter/issues/15096). The exact cause is not yet known. |
+| _12:39_ | From similar reports from [@timsneath](https://github.com/timsneath) and [@mit-mit](https://github.com/mit-mit), [@tvolkert](https://github.com/tvolkert) notices that switching channels doesn’t fetch updated refs from GitHub and files [#14893](https://github.com/flutter/flutter/issues/14893). |
+| _14:40_ | [@timsneath](https://github.com/timsneath) runs into more trouble upgrading. [@tvolkert](https://github.com/tvolkert) begins trying to diagnose based on the reports. |
+| _16:53_ | After a few back-and-forths with [@timsneath](https://github.com/timsneath) over email, [@tvolkert](https://github.com/tvolkert) enlists the help of [@jason-simmons](https://github.com/jason-simmons) and [@cbracken](https://github.com/cbracken) in tracking down the cause for the problems [@timsneath](https://github.com/timsneath) is encountering. The goal is to determine whether the problems are an outlier unique to [@timsneath's](https://github.com/timsneath) setup or whether they’re likely to affect most users once the influx of users begins. |
+| _17:30_ | [@jason-simmons](https://github.com/jason-simmons) discovers that before [#14507](https://github.com/flutter/flutter/pull/14507) (v0.0.24), the “channel” command could create local (non-tracking) branches and that if [@timsneath](https://github.com/timsneath) was bitten by this, it would explain the behavior he’s seeing. The team tentatively decides the errors that [@timsneath](https://github.com/timsneath) is seeing are likely an outlier. |
+| _20:00_ | [@tvolkert](https://github.com/tvolkert) manages to reconstruct [@timsneath's](https://github.com/timsneath) environment setup and confirms [@jason-simmons'](https://github.com/jason-simmons) theory. The team adds a [section to the wiki](https://github.com/flutter/flutter/wiki/Flutter-build-release-channels#workaround) covering this case for users who may run into it. |
+
+### _2018/02/27_
+
+| Time | |
+| --- | --- |
+| _01:48_ | [@mit-mit](https://github.com/mit-mit) discovers that the gallery doesn’t run against the beta build and files [#14912](https://github.com/flutter/flutter/issues/14912).
+| _02:18_ | [@mravn-google](https://github.com/mravn-google) tracks down the cause of the failing gallery builds and discovers that it’s already been fixed in [#14714](https://github.com/flutter/flutter/pull/14714) (v0.1.5).
+| _06:00_ | The beta release is announced publicly.
+| _09:30_ | The Flutter team decides to push v0.1.5 to beta to pick up the fix to the gallery builds. [@tvolkert](https://github.com/tvolkert) begins testing v0.1.5.
+
+### _2018/02/28_
+
+| Time | |
+| --- | --- |
+| _10:00_ | [@tvolkert](https://github.com/tvolkert) pushes v0.1.5 to beta.
+| _10:20_ | [@tvolkert](https://github.com/tvolkert) [announces](https://groups.google.com/d/msg/flutter-dev/AFj7Rd_MNhY/lkMfRTDwAQAJ) the updated beta to the flutter-dev mailing list.
+| _16:00_ | [@tvolkert](https://github.com/tvolkert) discovers that docs.flutter.io did not update to reflect the beta release and files [#15002](https://github.com/flutter/flutter/issues/15002).
+
+## Lessons Learned
+
+### What Worked
+
+* Beta 1 was successfully released on the target date!
+
+* Most users have been able to successfully install Flutter against the beta release or upgrade from the dev channel. We’ve received only a few reports of problems; e.g. [#15074](https://github.com/flutter/flutter/issues/15074), [#14959](https://github.com/flutter/flutter/issues/14959)
+
+* When the report of the failing gallery build hit, we were able to successfully vet a new dev build and push a new release to beta a day and a half later.
+
+### What Didn't Work
+
+* Our internal Google tests purposely don’t exercise our external build code paths (e.g. Gradle builds) — since within Google, everything is built using Bazel. This meant that although the gallery was unable to be built on the beta branch ([#14912](https://github.com/flutter/flutter/issues/14912)), we had no knowledge of this failure until after beta was pushed (and [@mit-mit](https://github.com/mit-mit) manually discovered the breakage). The bug had actually already been fixed on a newer dev build (in [#14714](https://github.com/flutter/flutter/pull/14714)), but we didn’t mark the affected build range as bad until after this was discovered and traced back to code that pointed to the existing fix. Our external tests were also [allowing failures on Travis](https://github.com/flutter/flutter/blob/5b46e0a4bef24e1c1302ba3ca40a99bd20a192da/.travis.yml#L18-L19), which was intentional at the time because we didn’t yet have confidence in those tests. In addition to fixing the issue, [#14714](https://github.com/flutter/flutter/pull/14714) also enabled those tests on Travis.
+
+* The Flutter [release process](https://github.com/flutter/flutter/wiki/Release-process#rolling-the-beta-channel) didn’t call out the need to build and run the gallery as part of the beta vetting process, which further allowed the previous issue to go unnoticed.
+
+* The Flutter team didn’t have on its radar to mark builds as bad when they saw or fixed issues that would warrant marking a build as bad. It’d be nice to have a better (ideally more automated) process around this.
+
+* The release process instructs the person doing the release to ensure that the build:
+ > can be successfully upgraded _to_ from an earlier dev build (via 'flutter upgrade')<br>
+ > can be successfully upgraded _from_ to a later dev builds (via 'flutter upgrade')
+
+ Yet, there’s no way to cause the upgrade to stop at the target build - it always upgrades to tip-of-tree on the relevant branch. This means that the person doing the release is not experiencing the exact same upgrade path that the user will be experiencing.
+
+* [@tvolkert](https://github.com/tvolkert), who was doing the roll, didn’t have permission to update `HEAD:beta` because it’s a restricted branch on GitHub.
+
+* We pushed a follow-on beta build (v0.1.4 -> v0.1.5) the day after launch to fix the issue with the gallery building. Yet absent of [reading the flutter-dev email list](https://groups.google.com/forum/#!msg/flutter-dev/AFj7Rd_MNhY/lkMfRTDwAQAJ), users had no way of knowing that an upgrade was available because the flutter tool doesn’t alert them.
+
+* The release process calls for the person doing the roll to simulate the upgrade path of our users, but it says “can be successfully upgraded to from an earlier dev build,” which is not explicitly the same upgrade that our users will face; they’ll be upgrading from one of the previous beta releases. This distinction would have led us to realize that such users would be bitten by [#15096](https://github.com/flutter/flutter/issues/15096).
+
+* Users who stay exclusively on the beta channel and only upgrade when new beta releases are available will have Git repositories without any of the newer refs that have been added since their last upgrade. The person doing the beta release, on the other hand, will have a fresh clone of our Git repository and will be simulating our users’ upgrade path by issuing a `git reset --hard <old-version>` command. This distinction turned out to be substantive when trying to reproduce an error report from [@timsneath](https://github.com/timsneath). Ideally, the person doing the roll would be able to construct a Git repository synced to the previous beta release without any refs newer than that release.
+
+### Bugs That Got in the Way
+
+* In the “channel” command, we weren’t fetching updated refs from GitHub before [checking out the branch](https://github.com/flutter/flutter/blob/eaa9b47a4ac278a9439468911d2c361a472b114b/packages/flutter_tools/lib/src/commands/channel.dart#L103). This meant that if a user had switched to the beta branch in the past, then switched back to the alpha/dev branch as their primary channel, their beta Git head would be pointing to a commit in December. Net result: we had to [recommend](https://github.com/flutter/flutter/wiki/Flutter-build-release-channels#how-to-change-channels) that users run `flutter channel beta && flutter upgrade`, which is clunky.
+
+* Until Feb 7 ([#14507](https://github.com/flutter/flutter/pull/14507)), we had a bug in the channel switching logic that would create branches as local (non-tracking) branches. If users tried to upgrade such channels, they’d get an error message about “no upstream repository configured.” Users who had tried switching to the beta channel that we had quietly pushed in December 2017 were bitten by this and found their local Git repository in a bad state. This likely only affected a very small number of users (perhaps only members of the Flutter team), but [@timsneath](https://github.com/timsneath) was one such user, and it took some time to remotely diagnose what was going on with his setup and whether his problems were indicative of a larger issue that was going to affect a large subset of our users. This time added uncertainty to our launch during crunch-time, where we weren’t sure if we should call off the launch announcements.
+
+* The change that prepared the docs site for the beta launch ([#14606](https://github.com/flutter/flutter/pull/14606)) had a bug in it whereby docs would never get updated on the main docs site ([#15002](https://github.com/flutter/flutter/issues/15002)), and unfortunately this didn’t get caught in code review (partially due to GitHub code review’s auto-folding of very relevant content). This means that the main docs site hasn’t been updated since ~Feb 13 (and will now get updated in the next beta push).
+
+* Once the beta branch was pushed, Travis began failing due to [#14975](https://github.com/flutter/flutter/issues/14975). A similar failure had happened on master and was fixed by [#14853](https://github.com/flutter/flutter/pull/14853), but the implications of that failure and how it’d manifest on the beta branch caused some confusion as to whether there was a real problem with the beta release.
+
+## Action items
+
+### Prevention
+
+| Action Item | Owner | Issue | Notes |
+|-------------|-------|-------|-------|
+| Ensure that Travis tests the ability to build the gallery. | [@xster](https://github.com/xster) || [Done](https://github.com/flutter/flutter/pull/14714) |
+| Build all examples on Travis and AppVeyor on the dev branch. | [@xster](https://github.com/xster) | [#15164](https://github.com/flutter/flutter/issues/15164) ||
+| Add a hidden `--version` argument to `flutter upgrade` to allow the person doing a beta roll to better simulate the upgrade path. | [@tvolkert](https://github.com/tvolkert) | [#14970](https://github.com/flutter/flutter/issues/14970) ||
+| Fetch upstream refs before switching channels in the “channel” command. | [@tvolkert](https://github.com/tvolkert) | [#14893](https://github.com/flutter/flutter/issues/14893) | [Done](https://github.com/flutter/flutter/pull/14896) |
+
+### Mitigation
+
+| Action Item | Owner | Issue | Notes |
+|-------------|-------|-------|-------|
+| Make the flutter tool alert users when an upgrade is available. | [@tvolkert](https://github.com/tvolkert) | [#14920](https://github.com/flutter/flutter/issues/14920) ||
+
+### Process
+
+| Action Item | Owner | Issue | Notes |
+|-------------|-------|-------|-------|
+| Add a wiki page on identifying bad builds | [@tvolkert](https://github.com/tvolkert) | | [Done](https://github.com/flutter/flutter/wiki/Bad-Build-Identification) |
+| Send an email to the core Flutter team about the need to think about marking builds as bad. | [@tvolkert](https://github.com/tvolkert) || Done |
+| Update our release process to call out the need to ensure that the gallery can be built and run. | [@tvolkert](https://github.com/tvolkert) || [Done](https://github.com/flutter/flutter/wiki/Release-process#rolling-the-beta-channel) |
+| Update release process to require that the Travis build go green on the beta branch before sending out any announcements or issuing any public communications. | [@tvolkert](https://github.com/tvolkert) || [Done](https://github.com/flutter/flutter/wiki/Release-process#rolling-the-beta-channel) |
+| Make a beta pusher group in GitHub, to control who has access to push beta releases. | [@Hixie](https://github.com/Hixie) || [Done](https://github.com/flutter/flutter/wiki/Release-process#rolling-the-beta-channel) |
+| Update beta release process to require that the candidate dev build “can be successfully upgraded to from the dev build to which the beta branch currently points.” | [@tvolkert](https://github.com/tvolkert) || [Done](https://github.com/flutter/flutter/wiki/Release-process#rolling-the-beta-channel) |
+| Update the release process to include downloading and installing the packaged archive for the dev build that represents the prior beta — and ensuring that it’s able to upgrade to the newest release. | [@gspen...](https://github.com/gspencergoog) |||
+
+### Fixes
+
+| Action Item | Owner | Issue | Notes |
+|-------------|-------|-------|-------|
+| Fix docs to get uploaded on the next beta push | [@tvolkert](https://github.com/tvolkert) | [#15002](https://github.com/flutter/flutter/issues/15002) | [Done](https://github.com/flutter/flutter/pull/15003) |
+| Fix create_test.dart to depend on package:flutter_test for its “package” template tests (not package:test) | [@tvolkert](https://github.com/tvolkert) | [#14975](https://github.com/flutter/flutter/issues/14975) | [Done](https://github.com/flutter/flutter/pull/14976) |
diff --git a/docs/unsorted_wiki/Postmortem-Build-Breakage-on-2016-11-08.md b/docs/unsorted_wiki/Postmortem-Build-Breakage-on-2016-11-08.md
new file mode 100644
index 0000000..5a13ba5
--- /dev/null
+++ b/docs/unsorted_wiki/Postmortem-Build-Breakage-on-2016-11-08.md
@@ -0,0 +1,84 @@
+# Flutter postmortem: Build Breakage on 2016-11-08
+
+Status: final<br>
+Owners: chinmay
+
+## Summary
+
+Description: Travis reported failures on builds<br>
+Component: flutter repository<br>
+Date/time: 2016-11-07 21:30<br>
+Duration: 16h 45m<br>
+User impact: Flutter team members were unable to merge new PRs. Users would have been unable to run flutter tests if they upgraded, though we did not receive complaints during the outage.
+
+## Timeline (all times in PST/PDT)
+
+### 2016-10-24
+
+A change to package:args is committed ([591f9c](https://github.com/dart-lang/args/pull/55/commits/08b1b5301de1aa3f18dedf9343ea637a58591f9c)) that introduces a bug whereby `run()` no longer returns the value returned by the command.
+
+### 2016-11-02
+
+**15:11** The [change](https://github.com/dart-lang/args/pull/55) to package:args is merged into the args repository.
+
+### 2016-11-07
+
+**16:27** Dart package:args tag 0.13.6+1 is cut -- and shortly after is pushed to pub **<START OF OUTAGE>**<br>
+**21:36** ianh reports that Travis is upset and all PRs are failing
+
+2016-11-08
+
+**07:52** danrubel reports that Travis is still failing<br>
+**11:03** chinmaygarde reports he’s facing the same breakage in his pending PR<br>
+**11:07** Issue is reproduced locally. chinmaygarde, jsimmons and danrubel begin looking for the root cause of the breakage.<br>
+**13:08** Root cause of outage identified as a new version of package:args that Flutter picked up whereby `run()` no longer returns the value returned by the command (so we couldn’t get accurate exit codes).<br>
+**13:19** Flutter PR [#6765](https://github.com/flutter/flutter/pull/6765) sent to pin Flutter to a known good version of package:args<br>
+**13:42** [fb3bf7a](https://github.com/flutter/flutter/commit/fb3bf7a9d776c81651e3d65268d02ef97a259e1c) identified as root cause of the internal breakage.<br>
+**14:15** Fix lands. **<END OF OUTAGE>**
+
+## Root causes
+
+A bug was introduced in package:args that was picked up by Flutter. Flutter was vulnerable to this bug because our external dependencies have open-ended version constraints, so the stability of our codebase is not hermetic. This was an intentional choice; we have experienced this failure mode previously, and have been running on the basis that we are not yet stable enough to deal with the costs of being hermetic.
+
+## Action items
+
+### Prevention
+
+| Action Item | Owner | Tracking bug | Notes |
+|-------------|-------|--------------|-------|
+| Pin our external Dart dependencies to specific versions to ensure that our public stability is hermetic. | chinmay | [#6767](https://github.com/flutter/flutter/issues/6767) | |
+
+### Detection
+
+| Action Item | Owner | Tracking bug | Notes |
+|-------------|-------|--------------|-------|
+| We should have a continuous monitoring bot that tries to run all our tests | ianh | [#6777](https://github.com/flutter/flutter/issues/6777) | |
+
+### Mitigation
+
+None.
+
+### Process
+
+None.
+
+### Fixes
+
+| Action Item | Owner | Tracking bug | Notes |
+|-------------|-------|--------------|-------|
+| Update our package:args dependency to a known good version | danrubel | [PR #6575](https://github.com/flutter/flutter/pull/6765) | Done |
+| Deploy a forward-rolling bot that goes red if our dependencies release a breaking change, and otherwise updates us to the latest versions of everything. | ianh | [#4696](https://github.com/flutter/flutter/issues/4696) | |
+
+## Lessons learned
+
+### What worked
+
+* Once the Flutter team had a clear set of owners for the issue, it was root-caused and resolved quickly.
+
+### Where we got lucky
+
+* The outage did not break users. It likely would have if we had a larger userbase.
+
+### What didn't work
+
+* There were indications of the breakage as early as 2016/11/07 21:30, yet the team didn’t start looking into it in earnest until 2016/11/08 11:00. Once we get to the point where our build is hermetic (so we control our own stability) and we separate production artifacts from development artifacts (e.g., have a release branch), then we should consider providing an SLA, at which time we’d have to create processes around how to maintain that SLA.
diff --git a/docs/unsorted_wiki/Postmortem-Widespread-Gradle-failures-on-Flutter-v1.12.13-hotfix.5.md b/docs/unsorted_wiki/Postmortem-Widespread-Gradle-failures-on-Flutter-v1.12.13-hotfix.5.md
new file mode 100644
index 0000000..8635fcc
--- /dev/null
+++ b/docs/unsorted_wiki/Postmortem-Widespread-Gradle-failures-on-Flutter-v1.12.13-hotfix.5.md
@@ -0,0 +1,131 @@
+This document is published in our wiki on: https://github.com/flutter/flutter/wiki/Postmortem:-Widespread-Gradle-failures-on-Flutter-v1.12.13-hotfix.5
+
+# Flutter postmortem: Widespread Gradle failures on Flutter v1.12.13+hotfix.5
+
+Status: final<br>
+Owners: amirh@
+
+## Summary
+
+Description: Many users reported Gradle build failure after upgrading to Flutter v1.12.13+hotfix.5 <br>
+Component: plugins<br>
+Date: 2019-12-11<br>
+Duration: 19 hours<br>
+User impact: Users of the following plugins: url_launcher, google_sign_in, video_player, firebase_auth, firebase_core, shared_preferences who are using Android Studio couldn’t build their applications.
+
+## Timeline (all times in PST/PDT)
+
+### 2019-09-01
+stuartmorgan@ notices that Flutter applications that are using non-Android plugins are failing to build for Android (same for iOS) and files https://github.com/flutter/flutter/issues/39657. The root cause is that the Flutter gradle plugin assumes that all plugins include an Android implementation and tries to build it.
+
+### 2019-09-16
+stuargmorgan@ prototypes [a fix](https://github.com/flutter/flutter/compare/master...stuartmorgan:wip-platform-plugin-files?expand=1). That fix requires migration of existing plugins.
+
+### 2019-09-18
+As a temporary workaround for the issue above (Android only), amirh@ lands https://github.com/flutter/flutter/pull/40640 which makes `flutter.gradle` skip packages that do not have an `android/build.gradle` file, this workaround lives in the Flutter SDK and does not require plugin migration.
+
+The change lands with a test that:
+ 1. Creates a new ios-only flutter plugin named flutter_plugin_test
+ 1. Deletes the android/ folder
+ 1. Creates a new flutter app which depends on flutter_plugin_test
+ 1. Builds an apk for that app
+
+In the following months work starts on federated web and mac implementations of `flutter/plugins` and `FirebaseExtended/flutterfire` plugins. With #40640 landed, these implementations all land without an `android/` folder.
+
+### 2019-11-25
+blasten@ lands https://github.com/flutter/flutter/pull/45379 which reworks the Gradle workflow.
+This patch introduces a different code path for building transitive dependencies, the new code path again assumes that all plugins support `android/`. Though no one notices, and no tests fail (the test introduced in #40640 passes as flutter_plugin_test isn’t included as a transitive dependency).
+
+
+### 2019-12-06
+In preparation for the new pub.dev version that supports multi platform federated plugins and for the coming stable Flutter release the team decides to start endorsing web plugins (by adding them as a dependency of the app-facing plugins, so e.g url_launcher_web becomes a dependency of url_launcher). When staging the first PR for url_launcher, CI alerts us that the example application fails building for Android. After some investigation amirh@ and blasten@ figure out that https://github.com/flutter/flutter/pull/45379 introduced the regression.
+
+amirh@ starts adding a no-op `android/` implementations to the offending plugins, at the same time blasten@ sends https://github.com/flutter/flutter/pull/46282 which allows gradle to build apps with non Android plugins as transitive dependencies. At this point the release candidate for the next stable (1.12.13) was already cut without #46282.
+
+The logic in #46282 is somewhat similar to #40640 and skips packages that do not have an `android/` folder, amirh@ asks blasten@ whether we should be consistent with #46282 and check for `android/build.gradle` but both figure it shouldn’t matter and the PR lands as-is.
+
+
+### 2019-12-09
+The web team makes the case that #46282 should be cherry picked into 1.12.13 to avoid adding no-op `android/` folders to all web implementations. It’s cherry picked into v.12.13+hotfix.4 and the team decides to not add any more no-op `android/` implementations and endorse the existing with a minimal Flutter SDK constraint of `>=1.12.13+hotfix.4`.
+
+The team moves forward to publish the endorsements for: url_launcher, google_sign_in, video_player, firebase_auth, firebase_core, shared_preferences. At this point users of stable Flutter aren’t impacted as there is not yet a stable Flutter release which satisfies the version constraint, so pub won’t fetch the new plugin versions which include the endorsements.
+
+### 2019-12-11
+06:15pm - V1.12.13+hotfix.6 is released to stable **<START OF OUTAGE>**
+
+At this point, users of any of {url_launcher, google_sign_in, video_player, firebase_auth, firebase_core, shared_preferences} are affected by 2 issues:
+#### 1. Android Studio users can’t build their apps
+Android studio automatically creates an `android/` folder for all the Gradle subprojects during the “analyzing project phase”. This essentially disables the fix in #46282. (note that it does not create a build.gradle file.)
+
+This is not detected by CI as we’re not using Android Studio on CI.
+
+#### 2. Non fully AndroidX-compatible projects fail to build
+The Flutter tool has a backup build strategy to deal with AndroidX failures - if the first build attempt fails due to an AndroidX issue, the Flutter tool tries a secondary build strategy which builds all plugins as AARs (this enables Jettifier). This AAR workflow was not updated to support non-Android plugins, which guarantees the build retry will fail if any of the affected plugins are included as dependencies.
+
+
+### 2019-12-12
+10:45am - amirh@ skims over new Flutter issues and notices multiple reports on Gradle errors due to plugins missing Android support and files https://github.com/flutter/flutter/issues/46898 to start tracking.
+
+While blasten@ is investigating the Gradle issue the team starts to mitigate by adding no-op `android/` implementations to the endorsed web plugins.
+
+01:34pm - All endorsed web plugins got a no-op `android/` folder **<END OF OUTAGE>**
+
+### 2019-12-13
+blasten@ figures the underlying Gradle issue (https://github.com/flutter/flutter/issues/46898#issuecomment-565612416) and start working on a fix.
+
+
+## Impact
+
+Users of multiple popular Flutter plugins were not able to build their Android apps following an upgrade to Flutter V1.12.13+hotfix.6 and were getting uninformative Gradle failures.
+
+
+## Root causes
+
+ 1. Web plugin implementations that did not include an Android implementation were endorsed by popular Flutter plugins relying on #46282.
+ 1. #46282 did not take into account that Android Studio may create an `android/` folder for subprojects.
+ 1. The AAR build workflow did not support non-Android implementations.
+
+## Lessons learned
+
+
+### What worked
+
+ - The community was quick to report the new issue.
+ - The team was quick to mitigate by applying a workaround to all plugins.
+
+### Where we got lucky
+
+ - amirh@ skimmed the Flutter issue database a day after the incident started and flags the issue. Normally issue triage meetings run on a weekly cadence so it could have taken a whole week until the issue was flagged.
+
+### What didn't work
+
+ - Non-Android transitive dependencies were not supported when Android Studio is used.
+ - The AAR build workflow did not support non-Android dependencies.
+
+## Action items
+
+ - All endorsed plugin implementation should have a op-op Android implementation until the Gradle fixes are in stable. OWNER: amirh@ (DONE).
+ - The `flutter.gradle` script should exclude non-Android plugins for transitive dependencies in a way that’s resilient to Android Studio side effects. OWNER: blasten@ (DONE).
+ - The `flutter.gradle` script should exclude non-Android plugins in the AAR build workflow as well. OWNER: blasten@ (DONE).
+
+
+### Detection
+
+{link to github issues for things that would have detected this failure before it became An Incident, such as better testing, monitoring, etc}
+
+ * All `dev/devicelab/bin/tasks/gradle_*` tests should run with the AAR workflow as well - https://github.com/flutter/flutter/issues/48089.
+ * All `dev/devicelab/bin/tasks/gradle_*` tests should run with and without the projects being opened (and built?) by Android Studio - https://github.com/flutter/flutter/issues/48088.
+
+
+### Process
+
+{link to github issues for things that would have helped us resolve this failure faster, such as documented processes and protocols, etc}
+ * A better process for flagging erupting fires quickly:
+ * Alerts for issues that quickly gain thumb ups
+ * Increased issue monitoring following a Flutter release
+
+### Fixes
+
+{link to github issues or PRs/commits for the actual fixes that were necessary to resolve this incident}
+
+https://github.com/flutter/flutter/pull/47015
diff --git a/docs/unsorted_wiki/Postmortem-Windows-Defender-alert-on-2023-03-26.md b/docs/unsorted_wiki/Postmortem-Windows-Defender-alert-on-2023-03-26.md
new file mode 100644
index 0000000..1500d50
--- /dev/null
+++ b/docs/unsorted_wiki/Postmortem-Windows-Defender-alert-on-2023-03-26.md
@@ -0,0 +1,266 @@
+# Flutter postmortem: Windows Defender alert
+
+Status: final<br>
+Owner: drewroengoogle
+
+## Summary
+
+Description: A change to Windows Defender caused transient CI failures and, more importantly, flagged Flutter as malware for some users.<br>
+Component: Release<br>
+Date/time: 2023-03-26<br>
+Duration: two days<br>
+User impact: An unknown number of users and potential new users were unable to use Flutter. Some tests failed.
+
+## Timeline (all times in PST/PDT)
+
+### 2023-03-26
+
+??:?? - Microsoft deploys an update to Windows Defender **<START OF OUTAGE>**<br>
+13:02 - We receive a message to security@flutter.dev reporting "Flutter Windows Installation WacAtac Trojan" from user S01.<br>
+20:57 - A test [fails in CI](https://ci.chromium.org/ui/p/flutter/builders/prod/Windows_android%20hot_mode_dev_cycle_win__benchmark/9172/overview) with the message "the file contains a virus or potentially unwanted software".<br>
+22:10 - @zanderso files [#123519](https://github.com/flutter/flutter/issues/123519) and marks it P0.<br>
+12:51 - @andrewkolos files [#123525](https://github.com/flutter/flutter/issues/123525) after seeing multiple other CI failures.<br>
+12:52 - @andrewkolos marks #123525 as a duplicate of #123519.<br>
+
+### 2023-03-27
+
+08:05 - @drewroengoogle begins investigating.<br>
+08:40 - @drewroengoogle was unable to reproduce the problem and lowers the priority of the issue after the previously failing tests passed on rerun.<br>
+09:02 - User Woo⛈ on Discord reports getting a Windows Defender warning for windows-x64.zip.<br>
+10:03 - @MP00 reports on #123519 that Windows Defender quarantined windows-x64.zip on their machine at 10:42 in some unspecified time zone.<br>
+10:27 - @godofredoc forwards the security e-mail from S01 to @sealesj and @drewroengoogle.<br>
+10:59 - @Hixie replies to S01 by e-mail asking for more details.<br>
+11:12 - S01 provides the specific URL that caused issues.<br>
+11:45 - @Hixie asks S01 for even more details.<br>
+11:47 - @Hixie flags this as a P0 to @godofredoc, @sealesj, and @drewroengoogle.<br>
+11:53 - @godofredoc asks @drewroengoogle if #123519 is related.<br>
+11:53 - @drewroengoogle marks #123519 as P0.<br>
+12:03 - S01 provides the sha256 for flutter_windows_3.7.8-stable.zip.<br>
+12:10 - @Hixie provides the reporter with the issue number.<br>
+12:21 - @drewroengoogle verifies that the hash of flutter_windows_3.7.8-stable.zip in storage matches the hash reported by S01, confirming that the file was not corrupted or compromised during download by the reporter.<br>
+12:34 - @Hixie attempts to upload the files to virustotal.com for independent verification of the file state. windows-x64.zip is marked as uncompromised and flutter_windows_3.7.8-stable.zip is too big to be uploaded.<br>
+12:40 - @Hixie asks anyone on Discord who has a Windows machine whether they can reproduce the problem.<br>
+12:52 - @gspencergoog reports getting the same message for gen_snapshot.exe.<br>
+13:00 - @timsneath provides information on how to report this to Microsoft.<br>
+13:04 - @Hixie creates an #incident-response channel on Discord to coordinate the response.<br>
+13:48 - @gspencergoog successfully uploads windows-x64.zip to Microsoft for analysis. The instant report was that no malware was detected but the report was still pending.<br>
+14:18 - @gspencergoog confirms that virustotal.com does not detect any malware in the affected files.<br>
+??:?? - Microsoft deploys an update to Windows Defender **<END OF OUTAGE>**<br>
+14:59 - @gspencergoog reports being unable to reproduce the problem for files that previously were affected.<br>
+15:18 - @godofredoc attempts to rebuild the affected files.<br>
+
+### 2023-03-28
+
+05:38 - User @FusoraTech reports having a similar problem.<br>
+08:47 - @godofredoc confirms using Google Cloud Storage audit logs that the affected artifact never changed while in storage.<br>
+10:28 - @gpencergoog reports that Microsoft confirmed the submission did not contain malware.<br>
+10:39 - @Hixie closes the issue as a transient Windows Defender issue.<br>
+
+## Impact
+
+Several users reported being unable to use Flutter.
+
+Some tests in continuous integration failed.
+
+## Root causes
+
+As best we can determine, the cause was a transient issue with Windows Defender that caused certain Flutter binaries to be flagged as having the Trojan:Script/Wacatac.B!ml trojan when downloaded.
+
+## History
+
+This is not the first time Flutter binaries have been labeled as "Trojan:Script/Wacatac.B!ml" by Windows Defender.
+
+In March 2021, @esDotDev reported a similar problem in [#78463](https://github.com/flutter/flutter/issues/78463), though at the time we were unable to reproduce it and the issue was closed due to insufficient information.
+
+In January 2023, @anggoran reported a similar problem in [#118430](https://github.com/flutter/flutter/issues/118430). We were again unable to reproduce the problem and closed the issue.
+
+In general there is a history of false positives with virus tools, we generally mark them as duplicates of [#95167](https://github.com/flutter/flutter/issues/95167) which is a non-actionable placeholder issue for us, or [#61997](https://github.com/flutter/flutter/issues/61997), which is an umbrella issue tracking any work we would do to react more gracefully when antivirus tools flag Flutter components or generated code as malware.
+
+## Lessons learned
+
+This section refers to the actual root cause, i.e., a false positive in Windows Defender. It may be worth considering our processes for handling a similar situation in the event that it was real.
+
+### What worked
+
+We did not in fact get compromised.
+
+Our release bucket has audit logs configured, which allowed us to check that the artifact was not modified after the initial upload.
+
+### Where we got lucky
+
+The damage caused by the false positive seems to have been minimal. We are only aware of three user reports, the CI failures happened mainly over a weekend, and the tests were not reliably failing so rerunning the bots allowed PRs to land. There was no press cycle, and a quick Google search found no mention of this in social media channels.
+
+### What didn't work
+
+Windows Defender, obviously.
+
+Our builds are not reproducible: rerunning the same build stage does not create identical bits. This makes it hard for us to confirm that builds are not compromised by rerunning the build in a new VM.
+
+Had this been a real compromise, our response rate would not have been especially prompt.
+
+We do not have a way to communicate effectively to our users about incidents like this.
+
+We don’t know the appropriate identification information/channel to expedite malware analysis at Microsoft (or other antivirus providers), even though that channel almost certainly exists and is available to us.
+
+Devs did not have quick access to Windows machines to be able to attempt to reproduce the behavior, adding extra time to the triage process.
+
+Although we have audit logs enabled, there was no documentation on how to search them, also adding to the total triage time.
+
+We don't publish the hashes of the artifacts we allow developers to download. One user who was affected by this failure asked if there was a list anywhere so that they could verify their download locally.
+
+## Action items
+
+### Prevention
+
+It is unclear what we can do to avoid such problems in the future.
+
+### Detection
+
+We could intentionally run Windows Defender updates and scans against recent artifacts continually to detect when an event occurs.
+
+### Mitigation
+
+It's unclear there is much we can do to prevent third-party tools from accidentally reporting Flutter as malware.
+
+### Process
+
+As part of this incident we created a new Discord channel, #incident-response. We should document this.
+
+### Fixes
+
+No fixes were necessary.
+
+### Documentation
+
+Add documentation on how Flutter infra can triage these issues quicker through audit logs.
+
+## Appendix
+
+### #incident-response logs
+
+```discord
+[1:04 PM]Hixie: @Drewroen @Greg Spencer (gspencergoog) @timsneath let's coordinate here so we're not all speaking in different venues
+[1:04 PM]Hixie: current issue is https://github.com/flutter/flutter/issues/123519
+[1:05 PM]Hixie: greg and/or drew are you able to upload the affected file to the site tim gave?
+[1:21 PM]Greg Spencer (gspencergoog): I would, but I'm not sure how to sign in. Am I an "enterprise customer", or a "software developer"? Apparently you have to sign in to a Microsoft account before submitting it, and I'm not sure what account is the correct one to use (Is it OK to associate my @google.com account with my GitHub account for MS login?, Should I use a personal GitHub account?, etc.)
+[1:37 PM]Greg Spencer (gspencergoog): Okay, I figured out how to log in.
+[1:43 PM]Greg Spencer (gspencergoog): I've submitted it, but it's unclear when we'll get a response. I submitted it at "normal" priority because I didn't have the necessary ID numbers to submit it with Google enterprise credentials to get a higher priority.
+[1:44 PM]Hixie: sounds good, can you update the issue as well?
+[1:44 PM]Hixie: and thanks for your help here
+[1:44 PM]Greg Spencer (gspencergoog): Yes.
+[1:44 PM]Greg Spencer (gspencergoog): No problem.
+[1:45 PM]Drewroen: (Catching up now, had a meeting) Thank you for submitting, @Greg Spencer (gspencergoog)!
+[1:48 PM]Hixie: @Greg Spencer (gspencergoog) do you get anything useful if you upload the file to https://www.virustotal.com/gui/home/upload ?
+[2:18 PM]Greg Spencer (gspencergoog): No, it doesn't detect any threats.
+[2:19 PM]Greg Spencer (gspencergoog): I'm trying to figure out how to download previous versions of the gen_snapshot tool and see if they too trigger the quarantine.
+[2:20 PM]Greg Spencer (gspencergoog): Anyone know how to find out the hash on the flutter_infra_release gcs instance for a previous release?
+[2:23 PM]Greg Spencer (gspencergoog): Is it just the full github hash for the release? (You'd think I'd know this: I think I wrote it originally! I just can't remember)
+[2:33 PM]Greg Spencer (gspencergoog): What is the "windows-x64.zip" file from? Is that from a Dart distro?
+[2:33 PM]Drewroen: Maybe there's a simpler way, but I found the release commit for flutter/flutter for 3.7.7, then got the engine version from https://github.com/flutter/flutter/blob/2ad6cd72c040113b47ee9055e722606a490ef0da/bin/internal/engine.version and used that hash in the storage.googleapis url
+
+Long story short, this should be the engine artifact for the 3.7.7 windows stable: https://storage.googleapis.com/flutter_infra_release/flutter/1837b5be5f0f1376a1ccf383950e83a80177fb4e/android-x64-release/windows-x64.zip
+[2:33 PM]Greg Spencer (gspencergoog): The Flutter version seems to be windows-x64-flutter.zip, and doesn't appear to have the problem (at least in the latest master build)
+[2:34 PM]Greg Spencer (gspencergoog): Ahh, so it's in an Engine build.
+[2:36 PM]Greg Spencer (gspencergoog): OK, so that 3.7.7 binary doesn't seem to trigger the quarantine.
+[2:40 PM]Hixie: do we have any way to check if the machine on which we did the builds is compromised?
+[2:40 PM]Hixie: cc @Godofredo Contreras (godofredoc)
+[2:45 PM]Greg Spencer (gspencergoog): Actually, I just tried unpacking the original windows-x64.zip file that triggered the quarantine before, and it no longer flags the file. As far as I know, it's the same file I unpacked before, and the same zip file I uploaded to MS for analysis.
+[2:45 PM]Greg Spencer (gspencergoog): Perhaps they've updated their cloud definitions and corrected an incorrect definition?
+[2:46 PM]Greg Spencer (gspencergoog): I haven't updated my local definitions, so it would have to be something online.
+[3:05 PM]Godofredo Contreras (godofredoc): @Hixie those are ephemeral VMs recycled every 24 hours. There is no way to access it.
+[3:06 PM]Godofredo Contreras (godofredoc): Let me get the builder that file was generated on, if the machine was compromised I'd expect all the other artifacts from the same build to also be infected
+[3:08 PM]Godofredo Contreras (godofredoc): @Greg Spencer (gspencergoog) that's correct only prod service accounts and release engineers have access to update artifacts. I would not expect the file to be updated but we can check our trail logs just in case
+[3:09 PM]Greg Spencer (gspencergoog): I completely agree. Also, the same file I originally downloaded earlier today no longer triggers it, and it is identical to the one I just downloaded now (same sha256sum).
+[3:10 PM]Greg Spencer (gspencergoog): So I think we can rule out someone replacing the file with an innocuous one.
+[3:11 PM]Greg Spencer (gspencergoog): The submission to MS is still "pending".
+[3:13 PM]Greg Spencer (gspencergoog): My money is on MS Defender just falsely flagging the file, and them updating their definitions.
+[3:15 PM]Hixie: that does seem most likely, but i would hate for us to assume that is the case and then later find it isn't :-)
+[3:15 PM]Greg Spencer (gspencergoog): Oh, definitely!
+[3:15 PM]Greg Spencer (gspencergoog): I haven't closed the issue yet. :-)
+[3:16 PM]Hixie: @Godofredo Contreras (godofredoc) if we rerun the build, do we get the same bits? it'd be a good test of our reproducible builds logic if we have it yet :-)
+[3:18 PM]Godofredo Contreras (godofredoc): not sure, but let me give it a try
+[4:40 PM]Hixie: @Godofredo Contreras (godofredoc) any luck?
+[4:56 PM]Godofredo Contreras (godofredoc): The build has not finished yet, I'm using https://ci.chromium.org/p/flutter/builders/prod/Windows%20Host%20Engine/21257
+[4:58 PM]Godofredo Contreras (godofredoc): I'll validate using this artifact https://storage.cloud.google.com/flutter_infra_release/flutter/8cb080365fb189a1e5d1e33a991518f2422e319b/dart-sdk-windows-x64.zip
+[4:59 PM]Greg Spencer (gspencergoog): Can anyone else with a Windows machine reproduce the quarantine that used to happen if you download and unpack https://storage.googleapis.com/flutter_infra_release/flutter/685fbc6f4d9db8026c56ee1a177bb10cc09f884b/android-x64-release/windows-x64.zip ?
+[5:00 PM]Greg Spencer (gspencergoog): It's not happening for me anymore.
+[5:00 PM]Godofredo Contreras (godofredoc): let me check on my windows pc
+[5:00 PM]Godofredo Contreras (godofredoc): @Greg Spencer (gspencergoog) which win OS are you using?
+[5:00 PM]Greg Spencer (gspencergoog): Windows 11
+[5:01 PM]Godofredo Contreras (godofredoc): ok, my computer is windows 10
+[5:01 PM]Greg Spencer (gspencergoog): But I think the build servers are running Windows 10, right? And they saw the same issue.
+[5:02 PM]Godofredo Contreras (godofredoc): yes, they are using win 10
+[5:07 PM]Godofredo Contreras (godofredoc): were you getting the error when downloading? or when extracting?
+[5:08 PM]Greg Spencer (gspencergoog): After extracting the zip file.
+[5:08 PM]Greg Spencer (gspencergoog): It quarantined the gen_snapshot.exe file.
+[5:10 PM]Godofredo Contreras (godofredoc): new behavior with downloads?
+[5:11 PM]Godofredo Contreras (godofredoc): after downloading and extracting I get a blue window with message "Microsoft defender smartscreen prevented an unrecognized app from starting"
+[5:12 PM]Godofredo Contreras (godofredoc): more info -> App: gen_snapshot.exe publisher: unknown publisher
+[5:12 PM]Godofredo Contreras (godofredoc): with the option run anyway and don't run
+[5:13 PM]Godofredo Contreras (godofredoc): I wonder if they started forcing | will start enforcing app signing
+[5:15 PM]Godofredo Contreras (godofredoc): do you know how the flutter tool downloads binaries in win?
+[5:16 PM]Godofredo Contreras (godofredoc): @Hixie https://luci-milo.appspot.com/raw/build/logs.chromium.org/flutter/led/godofredoc_google.com/9d161b36a3996876610f0a49660b9e0fd37f7e43881c33f17aa9fa0f5ec277f8/+/build.proto, I'll validate hashes once the build is complete
+[5:31 PM]Greg Spencer (gspencergoog): It also might vary according to the system configuration. Mine is a stock Windows 11 install, not a corp machine.
+[5:34 PM]Godofredo Contreras (godofredoc): mine is a win 10 with stock windows
+[5:40 PM]Godofredo Contreras (godofredoc): Confirmed our builds are not replicable, sha for the test file in GCS 873d80acf1855733ce11a5b569859b6bc803ee38035cfb3491c0e3748544a48e and the one generated from a rebuild using the same build configs 57573123fff2713032b31cd8d99e30e79c0452516a54388c7aa237b8da1890b4
+[5:41 PM]Hixie: that could mean the first one was bad or, more likely, that we just haven't managed to get replicable builds yet, right?
+[5:45 PM]Godofredo Contreras (godofredoc): I used a build from a couple of hours ago for the validation, the two builds are correct
+[5:46 PM]Godofredo Contreras (godofredoc): is just that we may use some compilation/linker flags that impacts replicability or maybe we are using timestamps somewhere in the build system
+[5:46 PM]Godofredo Contreras (godofredoc): I haven't validate it yet the logs for the artifact, but let me do that
+[5:49 PM]Hixie: does the new version also trigger windows defender?
+[5:51 PM]Godofredo Contreras (godofredoc): In my windows machine it consistently blocks the execution on any binaries downloaded from the internet, until I explicitly allow them to run
+[6:09 PM]Godofredo Contreras (godofredoc): AI: document how to audit GCS logs
+[6:21 PM]Godofredo Contreras (godofredoc): There is a single log: event=storage.objects.create
+[6:21 PM]Godofredo Contreras (godofredoc): timestamp: "2023-03-24T22:19:48.210794479Z"
+[6:22 PM]Godofredo Contreras (godofredoc): auth: "flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
+[6:31 PM]Godofredo Contreras (godofredoc): ok, rewinding everything to use the right data
+[6:32 PM]Godofredo Contreras (godofredoc): Stable - 3.7.7 was https://github.com/flutter/flutter/commit/2ad6cd72c040113b47ee9055e722606a490ef0da
+[6:32 PM]Godofredo Contreras (godofredoc): which is using engine 1837b5be5f0f1376a1ccf383950e83a80177fb4e
+[6:33 PM]Godofredo Contreras (godofredoc): The artifact to validate is https://storage.googleapis.com/flutter_infra_release/flutter/1837b5be5f0f1376a1ccf383950e83a80177fb4e/android-x64-release/windows-x64.zip
+[6:40 PM]Godofredo Contreras (godofredoc): Single log, create object event, timestamp: "2023-03-08T06:05:16.234063683Z" by flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
+[6:42 PM]Godofredo Contreras (godofredoc): which correlates with the information in the builder https://ci.chromium.org/p/flutter/builders/prod/Windows%20Host%20Engine/20852
+[6:44 PM]Godofredo Contreras (godofredoc): the end time of the build is 2023-03-08T06:16:58Z
+[6:45 PM]Godofredo Contreras (godofredoc): Defender is not finding any issues with the file on my Win 10 machine
+[8:45 PM]Hixie: so at this point we're not able to reproduce the problem, basically?
+[10:34 AM]Greg Spencer (gspencergoog): When I download the new artifact, it has the same sha256sum as the one I downloaded from the original build with this issue. Unpacking the zip file still doesn't trigger any quarantine.
+[10:34 AM]Greg Spencer (gspencergoog): As I reported in the bug, MS also found no issue with the contents of the zip file.
+[10:34 AM]Greg Spencer (gspencergoog):
+Image
+[10:35 AM]Greg Spencer (gspencergoog): (both the automated "No malware detected" and the analyst "Not malware" determination)
+[10:40 AM]Greg Spencer (gspencergoog): Unless someone can come up with a reproduction case, I think all we can do now is probably close the incident.
+[10:45 AM]Hixie: agreed. thanks greg and everyone else who worked on this.
+[10:45 AM]Hixie: i've closed the issue.
+[10:46 AM]Greg Spencer (gspencergoog): No problem!
+[10:47 AM]Godofredo Contreras (godofredoc): One thing that I'd like to get feedback is how can we do better in this situation? some thoughts:
+[10:48 AM]Godofredo Contreras (godofredoc): a) Get non corp win machines for the security team.
+[10:48 AM]Godofredo Contreras (godofredoc): b) Document the process to audit an artifact, including how to get the right SHAs for a given release version
+[10:49 AM]Godofredo Contreras (godofredoc): c) [medium/long term] start working on replicable builds
+[10:49 AM]Hixie: do we want to write a mini postmortem about it?
+[10:49 AM]Greg Spencer (gspencergoog): I think that seems like a good idea.
+[10:50 AM]Godofredo Contreras (godofredoc): Yes, that will be helpful. In a real threat scenario we won't have the luxury of figuring out things with the research step spanning during multiple hours
+[10:51 AM]Greg Spencer (gspencergoog): Agreed.
+[10:52 AM]Godofredo Contreras (godofredoc): Also forgot d) Sign windows binaries
+[10:52 AM]Greg Spencer (gspencergoog): In this particular case, signing the binaries would have let us narrow where we were looking.
+[10:53 AM]Greg Spencer (gspencergoog): And in the end, you seem to have produced an artifact with the same sha256.
+[10:54 AM]Godofredo Contreras (godofredoc): no, I used a different commit and uploaded to an experimental location, the hashes were different
+[10:55 AM]Greg Spencer (gspencergoog): Oh? Well the one you posted above with "The artifact to validate:" had the same sha256 as the original artifact that triggered the quarantine.
+[10:55 AM]Greg Spencer (gspencergoog): This one: https://storage.googleapis.com/flutter_infra_release/flutter/1837b5be5f0f1376a1ccf383950e83a80177fb4e/android-x64-release/windows-x64.zip
+[10:56 AM]Greg Spencer (gspencergoog): The commit hashes might have been different, but the artifact wasn't.
+[10:56 AM]Godofredo Contreras (godofredoc): aaaah ok, yeah I downloaded that file and validated locally extracting and running defender on my win machine
+[10:56 AM]Greg Spencer (gspencergoog): Okay, so did I test the right thing?
+[10:57 AM]Godofredo Contreras (godofredoc): let me double check, I validated both 3.7.7 and 3.7.8
+[10:57 AM]Greg Spencer (gspencergoog): Because this was the original artifact we found the problem in: https://storage.googleapis.com/flutter_infra_release/flutter/685fbc6f4d9db8026c56ee1a177bb10cc09f884b/android-x64-release/windows-x64.zip
+[10:59 AM]Godofredo Contreras (godofredoc): 3.7.8 hash is 9aa7816315095c86410527932918c718cb35e7d6
+[10:59 AM]Greg Spencer (gspencergoog): That's a sha1 from the windows-64.zip, right?
+[10:59 AM]Godofredo Contreras (godofredoc): 3.7.7 has is 1837b5be5f0f1376a1ccf383950e83a80177fb4e
+[11:00 AM]Godofredo Contreras (godofredoc): that's the commit hash for the engine artifacts
+[11:00 AM]Greg Spencer (gspencergoog): Ahh, OK.
+[11:02 AM]Greg Spencer (gspencergoog): Git makes a new hash for each commit even if the content doesn't change, so those would have to be different. I thought you had posted the link to a newly built version of the same artifact. If that's not what that was, then what was it?
+[11:35 AM]Hixie: https://docs.google.com/document/d/1g5LyqB4uezd-5xNYMwlTBbWTntHhyjLCBYI_ZInX-R0/edit?usp=sharing postmortem doc (currently just the template) - this is a markdown file for putting on the wiki
+[11:35 AM]Hixie: (right now everyone has edit access so don't share that link outside the team)
+[11:39 AM]Godofredo Contreras (godofredoc): @Greg Spencer (gspencergoog) this is the build I used for validating if the builds are replicable https://luci-milo.appspot.com/raw/build/logs.chromium.org/flutter/led/godofredoc_google.com/9d161b36a3996876610f0a49660b9e0fd37f7e43881c33f17aa9fa0f5ec277f8/+/build.proto
+[11:41 AM]Godofredo Contreras (godofredoc): I compared some of the artifacts in that build(experimental) with the ones in the release bucket
+[11:42 AM]Godofredo Contreras (godofredoc): e.g. https://storage.cloud.google.com/flutter_infra_release/flutter/experimental/8cb080365fb189a1e5d1e33a991518f2422e319b/windows-x64-debug/windows-x64-flutter.zip vs https://storage.cloud.google.com/flutter_infra_release/flutter/8cb080365fb189a1e5d1e33a991518f2422e319b/windows-x64-debug/windows-x64-flutter.zip
+[11:54 AM]Greg Spencer (gspencergoog): Yes, those aren't even the same size (by several hundred K), so they definitely are different artifacts.
+[11:59 AM]Greg Spencer (gspencergoog): So I see why you want to work on making reproducible builds.
+```
diff --git a/docs/unsorted_wiki/Postmortem-flutter.dev-outage-on-August-26-2023.md b/docs/unsorted_wiki/Postmortem-flutter.dev-outage-on-August-26-2023.md
new file mode 100644
index 0000000..498100a
--- /dev/null
+++ b/docs/unsorted_wiki/Postmortem-flutter.dev-outage-on-August-26-2023.md
@@ -0,0 +1,86 @@
+Status: final<br>
+Owners: @Hixie
+
+## Summary
+
+Description: flutter.dev was offline for 80% of users for a period of several hours.<br>
+Component: www.flutter.dev web site<br>
+Date/time: 2023-08-26 21:14 PDT<br>
+Duration: 15 hours 40 minutes<br>
+User impact: Potential new users, anyone trying to visit flutter.dev
+
+## Timeline (all times in PST/PDT)
+
+At some point in 2023, a change in Google Groups caused the flutter.dev security@, conduct@, and press@ aliases to stop working. This issue was temporarily worked around by changing public documentation to give Hixie's personal e-mail address. The task of determining a more permanent solution was considered low priority.
+
+### 2023-08-25
+
+15:27 - Hixie and tvolkert submit a change to the DNS configuration to change the MX records in order to enable Google Workspace Google groups on the flutter.dev domain, enabling security@, conduct@, and press@ aliases to be reactivated, unaware that an error in the new configuration would add four A records and four AAAA records for flutter.dev providing incorrect IP addresses. (Internal ID 560528920.)<br>
+21:14 - DNS configuration changes take effect. 80% of IPs served for flutter.dev fail to serve correctly. **<START OF OUTAGE>**<br>
+21:20 - Monitoring system sends first e-mail, incorrectly reporting docs.flutter.dev is down.<br>
+21:27 - Monitoring system sends second e-mail, reporting flutter.dev is down.<br>
+21:42 - A user tweets concern: https://twitter.com/macoshita/status/1695295520351359040?s=20<br>
+23:54 - The first dubious security vulnerability ("the javascript on your website is accessible") since the MX record update is received at security@flutter.dev.
+
+### 2023-08-26
+
+04:24 - @Abitofevrything on Discord pings @Hixie to inform them of the outage.<br>
+04:27 - @Hixie sees and acknowledges the message.<br>
+05:07 - jonasfj and Hixie submit a fix to the DNS configuration.<br>
+10:07 - Another user tweets concern: https://twitter.com/its_me_mahmud/status/1695483187936555397?s=20 (in the brief resulting thread, another user confirms the outage, while the original poster expresses confusion that the site works on some machines but not others)<br>
+12:55 - DNS configuration changes take effect. **<END OF OUTAGE>**
+
+## Data
+From monitoring data (highlighted line is the moving average of successful pings):
+
+
+From analytics (the outage is visible at the bottom right):
+
+
+## Impact
+
+Four fifths of users were unable to learn about Flutter from flutter.dev during the outage. Traffic numbers recovered immediately when the DNS issue was fixed.
+
+The outage seems to have slightly reduced traffic to docs.flutter.dev.
+
+We don't have long-term impact data yet.
+
+## Root causes
+
+The DNS configuration change introduced an import of a configuration file for Google Workspace domains that itself imported two files: one to add MX records, and one to add IP addresses for web hosting. However, since flutter.dev is not hosted using Google Workspace, the additional IP addresses for web hosting returned error pages.
+
+## Lessons learned
+
+### What worked
+
+The DNS server did exactly what it was told to do.
+
+Our team has improved work-life balance significantly in the past year.
+
+The MX record change worked as intended.
+
+### Where we got lucky
+
+Hixie checked his messages just prior to going to sleep, and once aware of the problem, was able to find a solution in a few minutes. Also, Hixie's questionable sleep habits meant he was awake at the time of the message.
+
+The outage happened during one of our off-peak days.
+
+### What didn't work
+
+Monitoring detected the issue but one e-mailed one person, who was not working at the time. The issue went undetected by humans for seven hours and ten minutes.
+
+It took about 25 minutes for Hixie to find someone to review the PR, because everyone was either sleeping or enjoying their weekend.
+
+The DNS changes took hours to take effect.
+
+## Follow-up
+
+The monitoring system should notify more people. Ideally, it would ping Discord directly. Ideally it would not be limited to Googlers. (filed https://github.com/flutter/flutter/issues/133509)
+
+The monitoring system for docs.flutter.dev is incorrectly configured to check docs.flutter.io, which redirects to flutter.dev. (fixed by adding a separate monitoring entry for docs.flutter.dev and api.flutter.dev)
+
+It would be useful to have a channel for getting hold of team members in a hurry. (added an @emergency role on Discord which has notifications enabled)
+
+The current setup requires a Google employee Flutter team member to approve DNS changes. We should expand this to Dart team members as well since that would increase the number of people in different time zones. (added Dart team members to the OWNERS file)
+
+We could have a policy of not landing DNS changes on a Friday, since that would reduce the difficulty in getting hold of someone. On the other hand, the outage happening on a weekend greatly diminished the impact. These factors may cancel each other out.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Postmortems-and-Retrospectives.md b/docs/unsorted_wiki/Postmortems-and-Retrospectives.md
new file mode 100644
index 0000000..a6b7de8
--- /dev/null
+++ b/docs/unsorted_wiki/Postmortems-and-Retrospectives.md
@@ -0,0 +1,19 @@
+This page lists incidents for which we have written retrospectives and postmortems.
+
+## Postmortems
+
+When adding a new incident, start from the [[postmortem template]].
+
+* [[Postmortem: Build Breakage on 2016-11-08]]
+* [[Postmortem: Beta 1 Release]]
+* [[Postmortem: AndroidX plugin migration]]
+* [[Postmortem: Widespread Gradle failures on Flutter v1.12.13 hotfix.5]]
+* [Postmortem: Flutter/Dart Incorrect Version July 2020](https://docs.google.com/document/d/1TeCpj-T0HAp7DcY2ag-q5iX218TeOHNcW5fUusaum0c/edit)
+* [Postmortem: Flutter Gold Summer 2020 Outages](https://docs.google.com/document/d/1cZi84iWFJa9l7TIhSZEnhZlg7bBBIoJLjzx-uLUSLzI/edit?usp=sharing)
+* [Postmortem: Pub.dev outage 2021-03-24](https://docs.google.com/document/d/1hBVi6_1FXoY1hG9zgKFUkqreP7UsnaF4EGspIJh0E2g/edit?hl=en)
+* [[Postmortem: Windows Defender alert on 2023-03-26]]
+* [[Postmortem: flutter.dev outage on August 26 2023]]
+
+## Retrospectives
+
+* [[Retrospective: Flutter 2.8 Stable Release]] 16 December 2021
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Project-teams.md b/docs/unsorted_wiki/Project-teams.md
new file mode 100644
index 0000000..cde2126
--- /dev/null
+++ b/docs/unsorted_wiki/Project-teams.md
@@ -0,0 +1,70 @@
+The Flutter project has many teams, including, but not limited to:
+
+* Design languages, covering:
+
+ * The material library ([flutter/flutter packages/flutter/lib/src/material](https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material); label ["f: material design"](https://github.com/flutter/flutter/labels/f%3A%20material%20design))
+
+ * The cupertino library ([flutter/flutter packages/flutter/lib/src/cupertino](https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/cupertino); label ["f: cupertino"](https://github.com/flutter/flutter/labels/f%3A%20cupertino))
+
+* The Flutter framework (code in [flutter/flutter packages/flutter/lib/src/widgets](https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/widgets), [...rendering/](https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/rendering), [...painting/](https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/painting), etc; label ["framework"](https://github.com/flutter/flutter/labels/framework))
+
+* The Flutter command line tool ([flutter/flutter packages/flutter_tools](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/), label ["tool"](https://github.com/flutter/flutter/labels/tool))
+
+* Ecosystem ([flutter/plugins](https://github.com/flutter/plugins), [flutter/packages](https://github.com/flutter/packages), [the plugin infrastructure in flutter/flutter](https://github.com/flutter/flutter/tree/master/packages/flutter/lib/src/services); labels ["plugins"](https://github.com/flutter/flutter/labels/plugins), and ["packages"](https://github.com/flutter/flutter/labels/packages))
+
+* The Engine ([flutter/engine](https://github.com/flutter/engine) and [flutter/buildroot](https://github.com/flutter/buildroot/); label ["engine"](https://github.com/flutter/flutter/labels/engine))
+
+* Various platform-specific teams including iOS, Android, Windows, Linux, and macOS (some code in flutter/flutter and flutter/engine); labels ["platform-android"](https://github.com/flutter/flutter/labels/platform-android), ["platform-ios"](https://github.com/flutter/flutter/labels/platform-ios), etc).
+
+* Desktop-specific features (some code in flutter/flutter and flutter/engine, ["a: desktop"](https://github.com/flutter/flutter/labels/a%3A%20desktop))
+
+* Web (some code in flutter/flutter and flutter/engine, label ["platform-web"](https://github.com/flutter/flutter/labels/platform-web))
+
+* Developer experience (e.g. [the devtools package](https://github.com/flutter/devtools/))
+
+* User Experience Research
+
+* Developer Relations (e.g. [the samples repo](https://github.com/flutter/samples/), [docs.flutter.dev](https://docs.flutter.dev/))
+
+* Infrastructure (mainly [flutter/cocoon](https://github.com/flutter/cocoon) and [flutter/flutter dev/devicelab](https://github.com/flutter/flutter/tree/master/dev), label ["team: infra"](https://github.com/flutter/flutter/labels/team%3A%20infra))
+
+There are also specific cross-cutting areas of work that may have their own subteam and that affect multiple subteams (e.g. accessibility, performance, etc).
+
+We also work closely with other projects, such as [Dart](https://dart.dev) and [Skia](https://skia.org), and with many [customers](https://github.com/flutter/flutter/wiki/Issue-hygiene#customers).
+
+## Responsibilities
+
+Subteams are responsible for reviewing PRs in their area, triaging issues, and scheduling work.
+How subteams organize themselves is not defined by this document. This document does not attempt to impose a process, merely a set of responsibilities.
+
+See the [[Roadmap]] and [[What should I work on?]] pages for details on how to prioritize work.
+
+### Reviewing PRs
+
+Please review PRs in your area (based on label and/or repositories). The goal is to have a prompt (less than one week) turnaround for all PRs. Please have goals around handling of PRs with the relevant label and/or in the relevant repository. Please don't leave lingering stale PRs open. All PRs should be actively being worked on. If nobody has the time to work on a PR, it should be closed; the relevant issue can have the ["has partial patch"](https://github.com/flutter/flutter/labels/has%20partial%20patch) label applied.
+
+### Triage
+
+Please triage issues with your label on a regular basis. You may do this in whatever manner you prefer (on your phone while in line for lunch, as a team exercise in a dedicated meeting room, by having some sort of team rotation, whatever).
+
+You must cover these bug lists in particular: https://github.com/flutter/flutter/wiki/Triage#area-focused-triage
+
+* Assign bugs that you are working on or that you have committed to work on.
+
+* Unassign bugs you are not working on and have no specific scheduled plans to work on.
+
+* Make sure that assigned bugs have a month-based milestone (see section below).
+
+See our page on managing issues: https://github.com/flutter/flutter/wiki/Issue-hygiene
+
+Keep an eye out for bugs that should block releases, update the bad builds page accordingly: https://github.com/flutter/flutter/wiki/Bad-Builds
+
+### Be conservative when scheduling
+
+Customers always assume things will be done sooner than you promise, and there are always going to be emergencies, so you need slack in your schedule.
+
+You will be more effective, more popular, and your morale will be higher, if you focus on a small set of things and really knock those out of the park, than if you try to do a large number of things and only do a little bit for each, so aim to underpromise and overdeliver.
+
+This may mean your OKRs are more optimistic than what you report as your scheduled timeline. With OKRs we generally try to hit 67% of the plan. With the roadmap we want to hit 150%.
+
+(OKRs are how some team members plan their work, notably it is used by Google engineers.)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Quality-Assurance.md b/docs/unsorted_wiki/Quality-Assurance.md
new file mode 100644
index 0000000..8f87ae4
--- /dev/null
+++ b/docs/unsorted_wiki/Quality-Assurance.md
@@ -0,0 +1,29 @@
+With each beta we need to test that there are no regressions. We have lots of automated tests, but sometimes the thing that breaks is something we hadn't thought to test (or haven't figured out how to test) and so human testing is important!
+
+## When to test betas
+
+We announce betas on our Discord (see the [[Chat]] page for the invite link), in the #releases channel, about once a month.
+
+## How to get a beta build
+
+When a beta build is announced, switch to the beta channel:
+
+> `flutter channel beta && flutter upgrade`
+
+If you get a `git` error, then you probably have a contributor checkout of Flutter. Use git instead:
+
+> `git fetch upstream/beta && git checkout beta`
+
+Either way, check that everything is as you expect:
+
+> `flutter --version`
+
+It should specify the version number that you are testing.
+
+## How to test a beta build
+
+This is the easiest part: just use it! Test it on your projects, try running demos, try doing things you depend on normally.
+
+Tell others who are testing the beta branch what you're doing in #quality-assurance on Discord!
+
+In time, we will collect some specific things to try out here.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Reduce-Flutter-engine-size-with-MLGO.md b/docs/unsorted_wiki/Reduce-Flutter-engine-size-with-MLGO.md
new file mode 100644
index 0000000..4668329
--- /dev/null
+++ b/docs/unsorted_wiki/Reduce-Flutter-engine-size-with-MLGO.md
@@ -0,0 +1,233 @@
+Mobile apps are very sensitive to their download sizes as every increase in KB
+may result in a user number decrease. Flutter engine (`libflutter.so`) has to be
+included in every Flutter app and it has a size of several MBs. So we'll try to
+reduce its size by using [MLGO][MLGO]. It's different from the previous Flutter
+attempt of reducing sizes as MLGO does not require any code or dependency
+removals.
+
+Reducing engine size with MLGO needs to 1) train a model once, 2) apply that
+model to compile the Flutter engine. Note that model training does not need to
+happen too frequently - the model should 'hold up' to code changes over
+weeks/months. On Ubuntu, do the following:
+
+- **Follow the [Setting-up-the-Engine-development-environment][engine setup]**.
+ To check if this step is successful, try [compiling for Android][compile
+ android]. For size comparisons, we recommend using the release Android build
+ `./flutter/tools/gn --android --runtime-mode=release --no-goma`. (Option
+ `--no-goma` is needed if you're not a Googler, or if you're using a custom
+ Clang as we'll do later with MLGO.)
+- **Set up [MLGO] LLVM**. (The steps are adapted from [MLGO demo][MLGO demo].)
+ 1. Prerequisites: `sudo apt-get install cmake ninja-build lld`.
+ 2. Create a root directory for everything MLGO related `mkdir ~/mlgo &&
+ export MLGO_DIR=~/mlgo`
+ 3. Clone MLGO repo
+ `cd $MLGO_DIR && git clone https://github.com/google/ml-compiler-opt.git`
+ 4. Tensorflow dependencies
+ ```bash
+ cd $MLGO_DIR
+ sudo apt-get install python3-pip
+ python3 -m pip install --upgrade pip
+ python3 -m pip install --user -r ml-compiler-opt/requirements.txt
+
+ TF_PIP=$(python3 -m pip show tensorflow | grep Location | cut -d ' ' -f 2)
+
+ export TENSORFLOW_AOT_PATH="${TF_PIP}/tensorflow"
+
+ mkdir $MLGO_DIR/tensorflow
+ export TENSORFLOW_C_LIB_PATH=$MLGO_DIR/tensorflow
+
+ wget --quiet https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.15.0.tar.gz
+
+ tar xfz libtensorflow-cpu-linux-x86_64-1.15.0.tar.gz -C "${TENSORFLOW_C_LIB_PATH}"
+ ```
+ 5. Clone llvm-project
+ ```bash
+ cd $MLGO_DIR && git clone https://github.com/llvm/llvm-project.git
+ export LLVM_SRCDIR=$MLGO_DIR/llvm-project
+ export LLVM_INSTALLDIR=$MLGO_DIR/llvm-install
+ ```
+ 6. Build LLVM
+ ```bash
+ cd ${LLVM_SRCDIR}
+ mkdir build
+ cd build
+ cmake -G Ninja \
+ -DLLVM_ENABLE_LTO=OFF \
+ -DCMAKE_INSTALL_PREFIX= \
+ -DTENSORFLOW_C_LIB_PATH=${TENSORFLOW_C_LIB_PATH} \
+ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=On \
+ -C ${LLVM_SRCDIR}/clang/cmake/caches/Fuchsia-stage2.cmake \
+ ${LLVM_SRCDIR}/llvm
+
+ ninja distribution
+ DESTDIR=${LLVM_INSTALLDIR} ninja install-distribution-stripped
+ ```
+- **Build Flutter engine for MLGO training**
+ ```bash
+ # Set your engine dir appropriately if it's not in the default location
+ export ENGINE_DIR=~/flutter/engine/src
+ cd $ENGINE_DIR
+
+ sed -i \
+ 's/cflags += lto_flags/cflags += lto_flags + ["-Xclang", "-fembed-bitcode=all"]/' \
+ build/config/compiler/BUILD.gn
+
+ sed -i \
+ "s/prefix = rebase_path(\"\/\/buildtools\/\$host_dir\/clang\/bin\", root_build_dir)/prefix = \"${LLVM_INSTALLDIR//\//\\/}\/bin\"/" \
+ build/toolchain/android/BUILD.gn
+
+ ./flutter/tools/gn --android --runtime-mode=release --no-goma --no-lto
+ ninja -C out/android_release
+ ```
+- **Train the model**
+ ```bash
+ export CORPUS=$MLGO_DIR/corpus
+ cd $MLGO_DIR/ml-compiler-opt
+ python3 compiler_opt/tools/extract_ir.py \
+ --cmd_filter="^-Oz$" \
+ --input=$ENGINE_DIR/out/compile_commands.json \
+ --input_type=json \
+ --llvm_objcopy_path=$LLVM_INSTALLDIR/bin/llvm-objcopy \
+ --output_dir=$CORPUS
+
+ export DEFAULT_TRACE=$MLGO_DIR/default_trace
+ export WARMSTART_OUTPUT_DIR=$MLGO_DIR/warmstart
+ export OUTPUT_DIR=$MLGO_DIR/model
+
+ rm -rf $DEFAULT_TRACE && \
+ PYTHONPATH=$PYTHONPATH:. python3 \
+ compiler_opt/tools/generate_default_trace.py \
+ --data_path=$CORPUS \
+ --output_path=$DEFAULT_TRACE \
+ --compile_task=inlining \
+ --clang_path=$LLVM_INSTALLDIR/bin/clang \
+ --llvm_size_path=$LLVM_INSTALLDIR/bin/llvm-size \
+ --sampling_rate=0.2
+
+ rm -rf $WARMSTART_OUTPUT_DIR && \
+ PYTHONPATH=$PYTHONPATH:. python3 \
+ compiler_opt/rl/train_bc.py \
+ --root_dir=$WARMSTART_OUTPUT_DIR \
+ --data_path=$DEFAULT_TRACE \
+ --gin_files=compiler_opt/rl/inlining/gin_configs/behavioral_cloning_nn_agent.gin
+
+ # The following will take about half a day.
+ rm -rf $OUTPUT_DIR && \
+ PYTHONPATH=$PYTHONPATH:. python3 \
+ compiler_opt/rl/train_locally.py \
+ --root_dir=$OUTPUT_DIR \
+ --data_path=$CORPUS \
+ --clang_path=$LLVM_INSTALLDIR/bin/clang \
+ --llvm_size_path=$LLVM_INSTALLDIR/bin/llvm-size \
+ --num_modules=100 \
+ --gin_files=compiler_opt/rl/inlining/gin_configs/ppo_nn_agent.gin \
+ --gin_bindings=train_eval.warmstart_policy_dir=\"$WARMSTART_OUTPUT_DIR/saved_policy\"
+ ```
+- **Build LLVM with the trained model**
+ ```bash
+ cd $LLVM_SRCDIR
+ rm -rf llvm/lib/Analysis/models/inliner/*
+ cp -rf $OUTPUT_DIR/saved_policy/* llvm/lib/Analysis/models/inliner/
+
+ mkdir build-release
+ cd build-release
+ cmake -G Ninja \
+ -DLLVM_ENABLE_LTO=OFF \
+ -DCMAKE_INSTALL_PREFIX= \
+ -DTENSORFLOW_AOT_PATH=${TENSORFLOW_AOT_PATH} \
+ -C ${LLVM_SRCDIR}/clang/cmake/caches/Fuchsia-stage2.cmake \
+ ${LLVM_SRCDIR}/llvm
+
+ export LLVM_INSTALLDIR_RELEASE=$LLVM_INSTALLDIR-release
+ ninja distribution
+ DESTDIR=${LLVM_INSTALLDIR_RELEASE} ninja install-distribution-stripped
+ ```
+- **Build Flutter engine using LLVM with the trained model**
+ ```bash
+ cd $ENGINE_DIR
+ git stash # Undo previous changes for model training
+
+ sed -i \
+ 's/cflags += lto_flags/cflags += lto_flags + ["-mllvm", "-enable-ml-inliner=release"]/' \
+ build/config/compiler/BUILD.gn
+
+ sed -i \
+ "s/prefix = rebase_path(\"\/\/buildtools\/\$host_dir\/clang\/bin\", root_build_dir)/prefix = \"${LLVM_INSTALLDIR_RELEASE//\//\\/}\/bin\"/" \
+ build/toolchain/android/BUILD.gn
+
+ ./flutter/tools/gn --android --runtime-mode=release --no-goma --no-lto
+ ninja -C out/android_release libflutter.so
+ ```
+- **Compare**. To compare the engine size with or without MLGO, one can add or
+ remove the `["-mllvm", "-enable-ml-inliner=release"]` flags in
+ `build/config/compiler/BUILD.gn`, compile the engine, and check the size of
+ `out/android_release/lib.stripped/libflutter.so`. As end-users will download
+ zipped engine, we also recommend comparing its zipped size.
+ ```bash
+ export ENGINE_LIB_DIR=$ENGINE_DIR/out/android_release/lib.stripped
+
+ cd $ENGINE_DIR
+ ./flutter/tools/gn --android --runtime-mode=release --no-goma --no-lto
+ ninja -C out/android_release libflutter.so
+ cd $ENGINE_LIB_DIR
+ mv libflutter.so libflutter.ml_nolto.so
+ zip libflutter.ml_nolto.so.zip libflutter.ml_nolto.so
+
+ cd $ENGINE_DIR
+ ./flutter/tools/gn --android --runtime-mode=release --no-goma
+ ninja -C out/android_release libflutter.so
+ cd $ENGINE_LIB_DIR
+ mv libflutter.so libflutter.ml_lto.so
+ zip libflutter.ml_lto.so.zip libflutter.ml_lto.so
+
+ # Remove the ML flags to disable ML.
+ cd $ENGINE_DIR
+ sed -i \
+ 's/cflags += lto_flags + \["-mllvm", "-enable-ml-inliner=release"\]/cflags += lto_flags/' \
+ build/config/compiler/BUILD.gn
+
+ cd $ENGINE_DIR
+ ./flutter/tools/gn --android --runtime-mode=release --no-goma --no-lto
+ ninja -C out/android_release libflutter.so
+ cd $ENGINE_LIB_DIR
+ mv libflutter.so libflutter.noml_nolto.so
+ zip libflutter.noml_nolto.so.zip libflutter.noml_nolto.so
+
+ cd $ENGINE_DIR
+ ./flutter/tools/gn --android --runtime-mode=release --no-goma
+ ninja -C out/android_release libflutter.so
+ cd $ENGINE_LIB_DIR
+ mv libflutter.so libflutter.noml_lto.so
+ zip libflutter.noml_lto.so.zip libflutter.noml_lto.so
+
+ ls -l
+ ```
+
+ Here's the table of size comparisons for engine version b9ecd8a.
+
+ | Flutter engine size comparison | ML_LTO | ML_NOLTO | NOML_LTO | NOML_NOLTO |
+ | --- | --- | --- | --- | --- |
+ | unzipped size (bytes) | 6270960 | 6338580 | 6312012 | 6577684 |
+ | zipped size (bytes) | 3586091 | **3577604** | 3606484 | 3689468 |
+ | unzipped size change over NOML_LTO | -0.65% | 0.4% | 0 | 4.21% |
+ | zipped size change over NOML_LTO | -0.57% | **-0.80%** | 0 | 2.3% |
+ | unzipped size change over NOML_NOLTO | -4.66% | -3.64% | -4.04% | 0 |
+ | zipped size change over NOML_NOLTO | -2.80% | -3.03% | -2.25% | 0 |
+
+## Conclusion
+
+As shown in the table above, for the zipped size, the winner here is the
+ML_NOLTO version which is even smaller than the ML_LTO version. It has a 0.8%
+reduction over our previous art of NOML_LTO.
+
+The ML_LTO version is not very good because currently the model can only be
+trained without LTO. [MLGO][MLGO] is planning to allow ThinLTO in their
+training. Hopefully, it will help achieve the MLGO's normal reduction of 3%-5%
+(e.g., ML_NOLTO vs NOML_NOLTO) when the training and final build are in the same
+condition.
+
+
+[MLGO]: https://github.com/google/ml-compiler-opt
+[engine setup]: https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment
+[compile android]: https://github.com/flutter/flutter/wiki/Compiling-the-engine#compiling-for-android-from-macos-or-linux
+[MLGO demo]: https://github.com/google/ml-compiler-opt/blob/main/docs/demo/demo.md
diff --git a/docs/unsorted_wiki/Reduce-shader-compilation-jank-using-SkSL-warm-up.md b/docs/unsorted_wiki/Reduce-shader-compilation-jank-using-SkSL-warm-up.md
new file mode 100644
index 0000000..3f000c7
--- /dev/null
+++ b/docs/unsorted_wiki/Reduce-shader-compilation-jank-using-SkSL-warm-up.md
@@ -0,0 +1 @@
+This page has moved to [Reduce shader compilation jank](https://flutter.dev/docs/perf/rendering/shader) on flutter.dev.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Reducing-Test-Flakiness.md b/docs/unsorted_wiki/Reducing-Test-Flakiness.md
new file mode 100644
index 0000000..1ee34d7
--- /dev/null
+++ b/docs/unsorted_wiki/Reducing-Test-Flakiness.md
@@ -0,0 +1,109 @@
+Flakiness issue has caused a large portion of the [Flutter tree](https://flutter-dashboard.appspot.com/#/build) redness, and below workflow will be enforced to reduce flaky issues. The framework post-submit DeviceLab tests will be focused on in the beginning, and the logic will be extended to other host only tests in the future.
+
+From [Flutter tree dashboard](https://flutter-dashboard.appspot.com/#/build), a flake is identified as a box with an exclamation icon. There are two types that will result in same flaky box.
+* Multiple reruns on the same commit and same task (earlier run fails, but the last run succeeds). For this case, check logs by clicking different build runs.
+
+[[/images/task_flake_multiple_builds.png|width=300px]]
+
+* A single run on the same commit and same task, but multiple reruns from test runner. For this case, check logs by clicking `stdout` of the test step: it shows data about failed or succeeded runs in the end ([example](https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8841146512187805536/+/u/run_build_aar_module_test/stdout)). See https://github.com/flutter/flutter/wiki/Understanding-a-LUCI-build-failure for how to locate the test step and `stdout`.
+
+[[/images/task_flake_test_runner.png|width=300px]]
+
+# Preventing flaky tests
+## [Adding a new DeviceLab test](https://github.com/flutter/flutter/tree/master/dev/devicelab#writing-tests)
+DeviceLab tests are located under [`/dev/devicelab/bin/tasks`](https://github.com/flutter/flutter/tree/master/dev/devicelab/bin/tasks). If you plan to add a new DeviceLab test, please follow
+* Create a PR to add test files
+ * Make sure an ownership entry is created for the test in [TESTOWNERS](https://github.com/flutter/flutter/blob/master/TESTOWNERS) file
+* Enable the test in staging pool first
+ * Use `bringup: true` in .ci.yaml
+ * Monitor the test execution in the [flutter dashboard](https://flutter-dashboard.appspot.com/#/build)
+* If no flakiness issue pops up, then enable the test in the prod env.
+ * Switch `bringup` to `true`.
+
+# Detecting flaky tests
+On a weekly basis, [an automation script](https://github.com/flutter/cocoon/blob/main/app_dart/lib/src/request_handlers/file_flaky_issue_and_pr.dart) will scan through test execution statistics over the past 15 days and identify top flaky ones
+* If there are any test builders whose Flaky Ratio >= 2%
+ * Create a tracking bug if not existing in the [bug pool](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+project%3Aflutter%2Fflutter%2F189+label%3A%22team%3A+flakes%22).
+ * The sub-team TL will be assigned by default for further triage/re-assign.
+ * P0 will be labeled
+ * If it is not a shard test, the script marks the tests as flaky by updating the entry in [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml).
+ * Add a `# TODO(username): github issue url` above the `bringup: true` line
+
+If an issue is closed, there will be a grace period of 15 days before the automation script refile the issue if the same flakiness persists.
+
+# Triaging flaky tests
+Figuring out how and why a set of tests is failing can be tricky. Here are a few tips to help kickstart the process.
+
+## Use the generated ticket
+The [auto-generated ticket](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+author%3Afluttergithubbot+label%3A%22severe%3A+flake%22) will provide links to:
+
+* An example of recent flakes on the same commit with a link to its Luci build page if available
+* A list of flaky builds with links to their Luci build page
+* A link to the recent test runs on the flutter dashboard
+
+All of these pieces of information are helpful for further narrowing down the issue.
+
+## Identify infrastructure issues
+Things not directly related to the tests being run can be difficult to determine from the stdout logs. Things like timeouts are easier to determine using the `execution details` rather than `test_stdout`. From the Luci build page:
+
+* The failing step should have a red icon with an exclamation point and be expanded
+* Click on the `execution details` link
+* At the bottom of these logs, look for non-zero exit codes
+ * If you find a non-zero exit code, reach out on the [infrastructure discord channel](https://discord.com/channels/608014603317936148/608021351567065092) for further guidance
+
+Some other common infra issues:
+* Device not found: [`adb: device 'ZY223CXXGL' not found`](https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8777723365016202673/+/u/run_flutter_gallery__transition_perf_with_semantics/test_stdout)
+* [Device disappeared](https://github.com/flutter/flutter/issues/120802) in the middle of test
+* Firebase test flakes due to [firebase regression](https://github.com/flutter/flutter/issues/124217)
+* [Polluted xcode cache](https://github.com/flutter/flutter/issues/118328)
+* [Transient network issue](https://github.com/flutter/flutter/issues/99007)
+
+## Identify failing tests
+Sometimes, the reported error is not immediately obvious as to what test has failed. In these cases, digging into the `test_stdout` for clues can be helpful. From the Luci build page:
+
+* The failing step should have a red icon with an exclamation point and be expanded, e.g. step [`run flutter_view_ios__start_up`](https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20flutter_view_ios__start_up/6939/overview).
+* Click on the `test_stdout` link
+ * [Example 1](https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8798110684145503985/+/u/run_flutter_view_ios__start_up/test_stdout)
+ * Search for "ERROR:" in the logs (don't skip the ":")
+ * There will be a "RUNNING:" above any "ERROR:"s that are found, between the preceding "RUNNING:" and the "ERROR:" there are a few different things that could point to a test failure:
+ * Keep an eye out for "Failed assertion:" which points to specific failures in dart/flutter tests
+ * For non-dart/flutter tests, the output between "RUNNING:" and "ERROR:" can vary greatly, but is usually shorter and should provide some guidance as to what the failure was and how to address it
+ * [Example 2](https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8778092604637310577/+/u/run_test.dart_for_web_tests_shard_and_subshard_2/test_stdout)
+ * Search for "[E]" for shard tests flaking on a unit test
+
+## Identifying a pattern
+Flakes, by their nature, are inconsistent. Determining a pattern can be very helpful in figuring out what causes the issue, and may help in identifying a fix or workaround. The most useful tool for this is the flutter dashboard link provided by the ticket under "Recent test runs" which will filter to just the relevant flaky test set. E.g. [Linux_android flutter_gallery__transition_perf_with_semantics](https://flutter-dashboard.appspot.com/#/build?taskFilter=Linux_android+flutter_gallery__transition_perf_with_semantics)
+
+### Verify repeating failures
+Flakes are reported on the set of tests run, not specific test failures. This can mean that the issue raising us above our 2% threshold is actually more than one issue. This is pretty rare, but does happen on occasion. There's no need to waste a lot of time verifying that _every_ failure is the same, but taking some time to verify _some_ of the failures can save time in the long run. The list of "Flaky builds:" on the automated ticket is very useful for this, and you can often find additional flaky builds in the flutter dashboard.
+
+### Find a first instance
+Flakes can be under the 2% threshold for a long time and slowly build up from various small increases in flakiness. Other times they can have a specific cause that started in an obvious location. The latter are much easier to resolve, so it's a good idea to check for a root cause. In the Flutter dashboard:
+
+* Scroll down to load more builds
+* Scroll down until you have a long string of green builds (say, a full screen or two)
+ * This is a heuristic, so it may not _truly_ be the first instance, but it works well for triaging
+* Scroll back up to the first red build or green build with an exclamation point
+* Clicking on the profile picture next to the failed/flaky build pops up a link to the commit where this failure occurred
+ * See if the commit directly affects any of the tests that are failing by adding randomness, new asserts
+ * Keep an eye out for rolls that might affect the tests that are failing as well
+* Compare the first instance of the flake with the previous successful run (see "Compare against successful runs" below for tips!)
+
+### Compare against successful runs
+Sometimes it can be easier to identify patterns of what's different between test runs than it is to identify a reason for the failure just from the failing runs. After you've identified what's failing, if you can't figure out what's causing the test to fail, keep an eye out for these common patterns:
+
+* Do the tests fail when they're run in a certain order?
+ * Our test sets' order is randomized, so sometimes interaction between tests can cause issues that only come up occasionally
+ * If you notice that the failing builds fail tests in a certain order, also validate that the successful builds do not fail in that same order
+* Do the tests tend to flake at certain times?
+ * If the test isn't using something like DateTime.now(), then this may be a coincidence, but it's a good thing to check if you're stumped
+ * If the test flakes the first build on a VM each day, it is likely due to the daily fresh provisioning of the bots.
+* Do the tests flake on same bot/device?
+ * If yes, it is most likely due to hardware issues, and can be routed to infra team for help.
+
+# Fixing flaky tests
+The TL will help triage, reassign, and attempt to fix the flakiness.
+
+If the test was marked flaky in CI and then fixed, the test can be re-enabled after being validated for 50 consecutive runs without flakiness issues (task without exclamation point in flutter build dashboard and task not failed due to the same flaky failure). This can be done by updating the test entry in [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml) to remove the `bringup: true` entry for that target.
+
+If not fixable, the test will be removed from the flutter build dashboard or deleted from CI completely depending on specific cases.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Release-Notes---Changes-in-1.2.1.md b/docs/unsorted_wiki/Release-Notes---Changes-in-1.2.1.md
new file mode 100644
index 0000000..5c956eb
--- /dev/null
+++ b/docs/unsorted_wiki/Release-Notes---Changes-in-1.2.1.md
@@ -0,0 +1,720 @@
+The following issues were addressed between 1.0.0 and 1.2.1:
+
+## In the framework and engine (this also includes Dart and Skia rolls, which are not broken out here.)
+
+| Label | Number of Issues & Issue Links |
+| --- | --- |
+| framework | 87 issues with this label|
+| | [(flutter/flutter#25788) Add Robert Penner’s easing functions](https://github.com/flutter/flutter/pull/25788) |
+| | [(flutter/flutter#25984) use RRect to draw avatar check on chip](https://github.com/flutter/flutter/pull/25984) |
+| | [(flutter/flutter#23424) Teach drag start behaviors to DragGestureRecognizer](https://github.com/flutter/flutter/pull/23424) |
+| | [(flutter/flutter#26209) Revert "Teach drag start behaviors to DragGestureRecognizer (#23424)"](https://github.com/flutter/flutter/pull/26209) |
+| | [(flutter/flutter#26199) Fix tristate checkbox false to null transition, test ALL transitions](https://github.com/flutter/flutter/pull/26199) |
+| | [(flutter/flutter#25790) Clarify doc for AnimatedContainer](https://github.com/flutter/flutter/pull/25790) |
+| | [(flutter/flutter#23860) Clearing pendingImages when the cache is cleared or evicted.](https://github.com/flutter/flutter/pull/23860) |
+| | [(flutter/flutter#26021) Fix SliverAppBar title opacity and test all cases](https://github.com/flutter/flutter/pull/26021) |
+| | [(flutter/flutter#26101) Fix a floating snapping SliverAppBar crash](https://github.com/flutter/flutter/pull/26101) |
+| | [(flutter/flutter#24779) Skip formatters if text has not changed](https://github.com/flutter/flutter/pull/24779) |
+| | [(flutter/flutter#26089) Explain that BoxDecoration doesn't do clip.](https://github.com/flutter/flutter/pull/26089) |
+| | [(flutter/flutter#26088) Fix typos introduced with the TextField.onTap PR, udpated debugFillProperties](https://github.com/flutter/flutter/pull/26088) |
+| | [(flutter/flutter#26042) Update material spec references in BottomSheet et al., Scaffold](https://github.com/flutter/flutter/pull/26042) |
+| | [(flutter/flutter#25994) Simplify ImageStream(Completer).removeListener](https://github.com/flutter/flutter/pull/25994) |
+| | [(flutter/flutter#25980) Ensure all errors thrown by image providers can be caught by developers.](https://github.com/flutter/flutter/pull/25980) |
+| | [(flutter/flutter#25977) Add didSendFirstFrameEvent service extension.](https://github.com/flutter/flutter/pull/25977) |
+| | [(flutter/flutter#25992) Add docs to TextStyle for fontFamilyFallback/Custom font fallback](https://github.com/flutter/flutter/pull/25992) |
+| | [(flutter/flutter#25159) fix #25143 Successive calls to `precacheImage()` throw an exception](https://github.com/flutter/flutter/pull/25159) |
+| | [(flutter/flutter#23118) Setting icon color to first ListTile in ExpansionTile. Fixes #23053](https://github.com/flutter/flutter/pull/23118) |
+| | [(flutter/flutter#25799) Make LicensePage respect the notch](https://github.com/flutter/flutter/pull/25799) |
+| | [(flutter/flutter#7318) ListItem should call out that it's intentionally fixed height](https://github.com/flutter/flutter/issues/7318) |
+| | [(flutter/flutter#25792) Actively reject UiKitView gestures.](https://github.com/flutter/flutter/pull/25792) |
+| | [(flutter/flutter#25055) Include cursor in textfield intrinsic width measurement](https://github.com/flutter/flutter/pull/25055) |
+| | [(flutter/flutter#24736) [H] Provide some more locations for the FAB.](https://github.com/flutter/flutter/pull/24736) |
+| | [(flutter/flutter#24511) [H] Undeprecate BigInteger support, but document what it actually does.](https://github.com/flutter/flutter/pull/24511) |
+| | [(flutter/flutter#24816) [H] ClipPath.shape and related fixes](https://github.com/flutter/flutter/pull/24816) |
+| | [(flutter/flutter#24848) [H] Handle errors in `compute()` by propagating them to the Future.](https://github.com/flutter/flutter/pull/24848) |
+| | [(flutter/flutter#25718) Fix merge conflict.](https://github.com/flutter/flutter/pull/25718) |
+| | [(flutter/flutter#24643) [H] Some minor tweaks to InputDecoration (mainly docs).](https://github.com/flutter/flutter/pull/24643) |
+| | [(flutter/flutter#25585) Expose font fallback API in TextStyle, Roll engine 54a3577c0139..215ca1560088 (8 commits)](https://github.com/flutter/flutter/pull/25585) |
+| | [(flutter/flutter#25604) no period after an alone reference in see also section](https://github.com/flutter/flutter/pull/25604) |
+| | [(flutter/flutter#24457) Revise Android and iOS gestures on Material TextField](https://github.com/flutter/flutter/pull/24457) |
+| | [(flutter/flutter#25594) Switch over to the new name for compilation trace native function](https://github.com/flutter/flutter/pull/25594) |
+| | [(flutter/flutter#25584) Fix material reference in CupertinoPicker doc](https://github.com/flutter/flutter/pull/25584) |
+| | [(flutter/flutter#25593) Let CupertinoTabScaffold handle keyboard insets too](https://github.com/flutter/flutter/pull/25593) |
+| | [(flutter/flutter#25229) Right aligned backspace bug](https://github.com/flutter/flutter/pull/25229) |
+| | [(flutter/flutter#25573) Update DayPicker,DatePicker doc "see also" sections](https://github.com/flutter/flutter/pull/25573) |
+| | [(flutter/flutter#24554) Adds force press gesture detector and recognizer](https://github.com/flutter/flutter/pull/24554) |
+| | [(flutter/flutter#25574) Use full textspan tree instead of top level textspan](https://github.com/flutter/flutter/pull/25574) |
+| | [(flutter/flutter#25339) [Material] Theme-able TextStyles for AlertDialog](https://github.com/flutter/flutter/pull/25339) |
+| | [(flutter/flutter#23759) Adds CupertinoTheme](https://github.com/flutter/flutter/pull/23759) |
+| | [(flutter/flutter#25477) TransitionRoute.canTransitionFrom,To() doc update](https://github.com/flutter/flutter/pull/25477) |
+| | [(flutter/flutter#25237) Fix typo](https://github.com/flutter/flutter/pull/25237) |
+| | [(flutter/flutter#24797) Iterate through potential grapheme cluster lengths in text painter](https://github.com/flutter/flutter/pull/24797) |
+| | [(flutter/flutter#25345) assert(elevation >= 0.0) and doc clarifications](https://github.com/flutter/flutter/pull/25345) |
+| | [(flutter/flutter#24993) Add InputDecoration alignLabelWithHint parameter](https://github.com/flutter/flutter/pull/24993) |
+| | [(flutter/flutter#25473) TextField.onChanged() doc update](https://github.com/flutter/flutter/pull/25473) |
+| | [(flutter/flutter#25474) fix some formatting issues](https://github.com/flutter/flutter/pull/25474) |
+| | [(flutter/flutter#25381) Add cull opacity perf test to device lab](https://github.com/flutter/flutter/pull/25381) |
+| | [(flutter/flutter#25342) Revert "Revert "obscureText and enableInteractiveSelection defaults""](https://github.com/flutter/flutter/pull/25342) |
+| | [(flutter/flutter#23919) Allow detection of taps on TabBar](https://github.com/flutter/flutter/pull/23919) |
+| | [(flutter/flutter#24527) obscureText and enableInteractiveSelection defaults](https://github.com/flutter/flutter/pull/24527) |
+| | [(flutter/flutter#25335) Revert "obscureText and enableInteractiveSelection defaults"](https://github.com/flutter/flutter/pull/25335) |
+| | [(flutter/flutter#25394) Update localizations](https://github.com/flutter/flutter/pull/25394) |
+| | [(flutter/flutter#25239) Call mark* methods before attaching child](https://github.com/flutter/flutter/pull/25239) |
+| | [(flutter/flutter#25395) Reland "Call mark* methods before attaching child (#25239)"](https://github.com/flutter/flutter/pull/25395) |
+| | [(flutter/flutter#25301) Flutter tool support for automatic saving of JIT compilation trace](https://github.com/flutter/flutter/pull/25301) |
+| | [(flutter/flutter#24932) Fixed Typography null factory constructor](https://github.com/flutter/flutter/pull/24932) |
+| | [(flutter/flutter#25384) Adds support for floating cursor](https://github.com/flutter/flutter/pull/25384) |
+| | [(flutter/flutter#24999) Remove TextField.noMaxLength, use maxLength = -1 instead](https://github.com/flutter/flutter/pull/24999) |
+| | [(flutter/flutter#25390) Revert "drop/restore focus when app becomes invisible/visible"](https://github.com/flutter/flutter/pull/25390) |
+| | [(flutter/flutter#25228) IntrinsicWidth stepWidth or stepHeight == 0.0](https://github.com/flutter/flutter/pull/25228) |
+| | [(flutter/flutter#24744) drop/restore focus when app becomes invisible/visible](https://github.com/flutter/flutter/pull/24744) |
+| | [(flutter/flutter#25382) Revert "Call mark* methods before attaching child (#25239)"](https://github.com/flutter/flutter/pull/25382) |
+| | [(flutter/flutter#24761) Adds support for floating cursor](https://github.com/flutter/flutter/pull/24761) |
+| | [(flutter/flutter#25352) Revert "Adds support for floating cursor"](https://github.com/flutter/flutter/pull/25352) |
+| | [(flutter/flutter#24449) Text field style merge](https://github.com/flutter/flutter/pull/24449) |
+| | [(flutter/flutter#24169) [Material] Theme-able elevation on dialogs.](https://github.com/flutter/flutter/pull/24169) |
+| | [(flutter/flutter#24587) Validate style in TextField](https://github.com/flutter/flutter/pull/24587) |
+| | [(flutter/flutter#24930) Run flutter tests through mini test engine when run directly (flutter run -t test_file)](https://github.com/flutter/flutter/pull/24930) |
+| | [(flutter/flutter#24976) Support TextField multi-line hint text #20941](https://github.com/flutter/flutter/pull/24976) |
+| | [(flutter/flutter#25183) Add navigatorKey to CupertinoTabView](https://github.com/flutter/flutter/pull/25183) |
+| | [(flutter/flutter#25051) Do not fade out text for pinned & floating AppBar](https://github.com/flutter/flutter/pull/25051) |
+| | [(flutter/flutter#24892) Handle a TabBarView special case: last tab deleted before animation ends](https://github.com/flutter/flutter/pull/24892) |
+| | [(flutter/flutter#25217) Fixed Spelling.](https://github.com/flutter/flutter/pull/25217) |
+| | [(flutter/flutter#24635) TextFormField cursor params](https://github.com/flutter/flutter/pull/24635) |
+| | [(flutter/flutter#25168) Fixed an InheritedWidget code sample typo](https://github.com/flutter/flutter/pull/25168) |
+| | [(flutter/flutter#25046) Add a check for build methods that return context.widget](https://github.com/flutter/flutter/pull/25046) |
+| | [(flutter/flutter#25048) Don't crash if pinned & floating AppBar has less than minExtent remainingPaintExtent](https://github.com/flutter/flutter/pull/25048) |
+| | [(flutter/flutter#24942) Fix debugPrint(null) to not crash](https://github.com/flutter/flutter/pull/24942) |
+| | [(flutter/flutter#24881) Remove offstage wording from KeepAlive](https://github.com/flutter/flutter/pull/24881) |
+| | [(flutter/flutter#24941) Update Switch doc: disabled state](https://github.com/flutter/flutter/pull/24941) |
+| | [(flutter/flutter#25120) Replace deprecated link (to design-principles page) in comment](https://github.com/flutter/flutter/pull/25120) |
+| | [(flutter/flutter#25096) Change network image URL in doc](https://github.com/flutter/flutter/pull/25096) |
+| | [(flutter/flutter#24862) Fix semantics compiler for offstage children](https://github.com/flutter/flutter/pull/24862) |
+| | [(flutter/flutter#25091) Add animations to SliverAppBar doc](https://github.com/flutter/flutter/pull/25091) |
+| | [(flutter/flutter#25003) Fix typo in documentation](https://github.com/flutter/flutter/pull/25003) |
+| tool | 49 issues with this label |
+| | [(flutter/flutter#26249) Revert "Replace netls and netaddr with dev_finder"](https://github.com/flutter/flutter/pull/26249) |
+| | [(flutter/flutter#26090) Replace netls and netaddr with dev_finder](https://github.com/flutter/flutter/pull/26090) |
+| | [(flutter/flutter#26235) rev the min dart sdk dep in the templates to 2.1.0](https://github.com/flutter/flutter/pull/26235) |
+| | [(flutter/flutter#26201) Prevent calls to view.uiIsolate.flutterExit on devices which do not support it](https://github.com/flutter/flutter/pull/26201) |
+| | [(flutter/flutter#26107) Better error messages for flutter tool --dynamic flag.](https://github.com/flutter/flutter/pull/26107) |
+| | [(flutter/flutter#26104) Put correct VM snapshot in APK when using cached engine](https://github.com/flutter/flutter/pull/26104) |
+| | [(flutter/flutter#26039) Report hot reload statistics.](https://github.com/flutter/flutter/pull/26039) |
+| | [(flutter/flutter#26084) Improve message when saving compilation training data](https://github.com/flutter/flutter/pull/26084) |
+| | [(flutter/flutter#25863) Friendlier messages when using dynamic patching](https://github.com/flutter/flutter/pull/25863) |
+| | [(flutter/flutter#25872) Optimize cocoapods logic in flutter doctor.](https://github.com/flutter/flutter/pull/25872) |
+| | [(flutter/flutter#7314) Flutter crash on startup (metabug)](https://github.com/flutter/flutter/issues/7314) |
+| | [(flutter/flutter#7313) Will want some way to validate cache files](https://github.com/flutter/flutter/issues/7313) |
+| | [(flutter/flutter#7310) Don't time out during debugging](https://github.com/flutter/flutter/issues/7310) |
+| | [(flutter/flutter#25796) Allow dynamic patches without a patch number.](https://github.com/flutter/flutter/pull/25796) |
+| | [(flutter/flutter#25586) Report devfs stats](https://github.com/flutter/flutter/pull/25586) |
+| | [(flutter/flutter#25645) Friendlier flags for Dart compilation training.](https://github.com/flutter/flutter/pull/25645) |
+| | [(flutter/flutter#25479) Depend on the goldens repo through git.](https://github.com/flutter/flutter/pull/25479) |
+| | [(flutter/flutter#25238) [OR] Update links for China help](https://github.com/flutter/flutter/pull/25238) |
+| | [(flutter/flutter#24440) Adding support for android app bundle - Issue #17829](https://github.com/flutter/flutter/pull/24440) |
+| | [(flutter/flutter#23531) [O] Remove many timeouts.](https://github.com/flutter/flutter/pull/23531) |
+| | [(flutter/flutter#25646) Revert "[O] Remove many timeouts."](https://github.com/flutter/flutter/pull/25646) |
+| | [(flutter/flutter#25631) Default baseline build options](https://github.com/flutter/flutter/pull/25631) |
+| | [(flutter/flutter#25595) Don't parse APK unless explicitly requested](https://github.com/flutter/flutter/pull/25595) |
+| | [(flutter/flutter#25576) Flutter tool support for building dynamic patches on Android](https://github.com/flutter/flutter/pull/25576) |
+| | [(flutter/flutter#24580) Remove code signing special casing for Googlers round 2](https://github.com/flutter/flutter/pull/24580) |
+| | [(flutter/flutter#23889) Flutter doctor error message lookup](https://github.com/flutter/flutter/pull/23889) |
+| | [(flutter/flutter#25520) Fix flutter tool to actually honor --build-number/--build-name flags](https://github.com/flutter/flutter/pull/25520) |
+| | [(flutter/flutter#25472) Read correct cached VM snapshot in dynamic mode (PRODUCT vs RELEASE)](https://github.com/flutter/flutter/pull/25472) |
+| | [(flutter/flutter#25484) Fix gradle local.properties tests that were never excersized](https://github.com/flutter/flutter/pull/25484) |
+| | [(flutter/flutter#25512) Fix failed assert when running `flutter test` with `--start-paused`](https://github.com/flutter/flutter/pull/25512) |
+| | [(flutter/flutter#25440) don't warn for non-matching device discoverers](https://github.com/flutter/flutter/pull/25440) |
+| | [(flutter/flutter#25470) Support Java 1.8](https://github.com/flutter/flutter/pull/25470) |
+| | [(flutter/flutter#25443) fix the daemon device.getDevices call](https://github.com/flutter/flutter/pull/25443) |
+| | [(flutter/flutter#25332) [fuchsia] Get Dart VM service ports from The Hub](https://github.com/flutter/flutter/pull/25332) |
+| | [(flutter/flutter#25221) Support ANDROID_SDK_ROOT in addition to ANDROID_HOME](https://github.com/flutter/flutter/pull/25221) |
+| | [(flutter/flutter#25301) Flutter tool support for automatic saving of JIT compilation trace](https://github.com/flutter/flutter/pull/25301) |
+| | [(flutter/flutter#25344) Add fuchsia devices to daemon command](https://github.com/flutter/flutter/pull/25344) |
+| | [(flutter/flutter#25303) Add ipv6 and observatory port support to the attach command](https://github.com/flutter/flutter/pull/25303) |
+| | [(flutter/flutter#25288) Revert "Add ipv6 and observatory port support to the attach command."](https://github.com/flutter/flutter/pull/25288) |
+| | [(flutter/flutter#25269) Make doctor output consistent between VS Code/IntelliJ/Android Studio when plugins are missing](https://github.com/flutter/flutter/pull/25269) |
+| | [(flutter/flutter#24537) Add ipv6 and observatory port support to the attach command.](https://github.com/flutter/flutter/pull/24537) |
+| | [(flutter/flutter#24515) Add some a basic debug stepping tests](https://github.com/flutter/flutter/pull/24515) |
+| | [(flutter/flutter#25240) Revert "Ensure that cache dirs and files have appropriate permissions"](https://github.com/flutter/flutter/pull/25240) |
+| | [(flutter/flutter#24953) Fuchsia multiple devices and target](https://github.com/flutter/flutter/pull/24953) |
+| | [(flutter/flutter#25154) Don't require the AVD folder to exist in order to run `flutter emulators`](https://github.com/flutter/flutter/pull/25154) |
+| | [(flutter/flutter#25058) ensure lastBuildTimestamp is set before early return](https://github.com/flutter/flutter/pull/25058) |
+| | [(flutter/flutter#24632) Include error message in crash reports](https://github.com/flutter/flutter/pull/24632) |
+| | [(flutter/flutter#24669) Ensure that cache dirs and files have appropriate permissions](https://github.com/flutter/flutter/pull/24669) |
+| | [(flutter/flutter#24878) Add a flutter-attach entry point for fuchsia](https://github.com/flutter/flutter/pull/24878) |
+| f: material design | 38 issues with this label |
+| | [(flutter/flutter#25984) use RRect to draw avatar check on chip](https://github.com/flutter/flutter/pull/25984) |
+| | [(flutter/flutter#23424) Teach drag start behaviors to DragGestureRecognizer](https://github.com/flutter/flutter/pull/23424) |
+| | [(flutter/flutter#26209) Revert "Teach drag start behaviors to DragGestureRecognizer (#23424)"](https://github.com/flutter/flutter/pull/26209) |
+| | [(flutter/flutter#26199) Fix tristate checkbox false to null transition, test ALL transitions](https://github.com/flutter/flutter/pull/26199) |
+| | [(flutter/flutter#26021) Fix SliverAppBar title opacity and test all cases](https://github.com/flutter/flutter/pull/26021) |
+| | [(flutter/flutter#26101) Fix a floating snapping SliverAppBar crash](https://github.com/flutter/flutter/pull/26101) |
+| | [(flutter/flutter#26088) Fix typos introduced with the TextField.onTap PR, udpated debugFillProperties](https://github.com/flutter/flutter/pull/26088) |
+| | [(flutter/flutter#26042) Update material spec references in BottomSheet et al., Scaffold](https://github.com/flutter/flutter/pull/26042) |
+| | [(flutter/flutter#23118) Setting icon color to first ListTile in ExpansionTile. Fixes #23053](https://github.com/flutter/flutter/pull/23118) |
+| | [(flutter/flutter#25799) Make LicensePage respect the notch](https://github.com/flutter/flutter/pull/25799) |
+| | [(flutter/flutter#7318) ListItem should call out that it's intentionally fixed height](https://github.com/flutter/flutter/issues/7318) |
+| | [(flutter/flutter#24736) [H] Provide some more locations for the FAB.](https://github.com/flutter/flutter/pull/24736) |
+| | [(flutter/flutter#24816) [H] ClipPath.shape and related fixes](https://github.com/flutter/flutter/pull/24816) |
+| | [(flutter/flutter#25718) Fix merge conflict.](https://github.com/flutter/flutter/pull/25718) |
+| | [(flutter/flutter#24643) [H] Some minor tweaks to InputDecoration (mainly docs).](https://github.com/flutter/flutter/pull/24643) |
+| | [(flutter/flutter#25585) Expose font fallback API in TextStyle, Roll engine 54a3577c0139..215ca1560088 (8 commits)](https://github.com/flutter/flutter/pull/25585) |
+| | [(flutter/flutter#24457) Revise Android and iOS gestures on Material TextField](https://github.com/flutter/flutter/pull/24457) |
+| | [(flutter/flutter#25573) Update DayPicker,DatePicker doc "see also" sections](https://github.com/flutter/flutter/pull/25573) |
+| | [(flutter/flutter#25339) [Material] Theme-able TextStyles for AlertDialog](https://github.com/flutter/flutter/pull/25339) |
+| | [(flutter/flutter#23759) Adds CupertinoTheme](https://github.com/flutter/flutter/pull/23759) |
+| | [(flutter/flutter#25345) assert(elevation >= 0.0) and doc clarifications](https://github.com/flutter/flutter/pull/25345) |
+| | [(flutter/flutter#24993) Add InputDecoration alignLabelWithHint parameter](https://github.com/flutter/flutter/pull/24993) |
+| | [(flutter/flutter#25342) Revert "Revert "obscureText and enableInteractiveSelection defaults""](https://github.com/flutter/flutter/pull/25342) |
+| | [(flutter/flutter#23919) Allow detection of taps on TabBar](https://github.com/flutter/flutter/pull/23919) |
+| | [(flutter/flutter#24932) Fixed Typography null factory constructor](https://github.com/flutter/flutter/pull/24932) |
+| | [(flutter/flutter#25384) Adds support for floating cursor](https://github.com/flutter/flutter/pull/25384) |
+| | [(flutter/flutter#24999) Remove TextField.noMaxLength, use maxLength = -1 instead](https://github.com/flutter/flutter/pull/24999) |
+| | [(flutter/flutter#25352) Revert "Adds support for floating cursor"](https://github.com/flutter/flutter/pull/25352) |
+| | [(flutter/flutter#24449) Text field style merge](https://github.com/flutter/flutter/pull/24449) |
+| | [(flutter/flutter#24169) [Material] Theme-able elevation on dialogs.](https://github.com/flutter/flutter/pull/24169) |
+| | [(flutter/flutter#24587) Validate style in TextField](https://github.com/flutter/flutter/pull/24587) |
+| | [(flutter/flutter#24976) Support TextField multi-line hint text #20941](https://github.com/flutter/flutter/pull/24976) |
+| | [(flutter/flutter#25051) Do not fade out text for pinned & floating AppBar](https://github.com/flutter/flutter/pull/25051) |
+| | [(flutter/flutter#24892) Handle a TabBarView special case: last tab deleted before animation ends](https://github.com/flutter/flutter/pull/24892) |
+| | [(flutter/flutter#24635) TextFormField cursor params](https://github.com/flutter/flutter/pull/24635) |
+| | [(flutter/flutter#24941) Update Switch doc: disabled state](https://github.com/flutter/flutter/pull/24941) |
+| | [(flutter/flutter#25120) Replace deprecated link (to design-principles page) in comment](https://github.com/flutter/flutter/pull/25120) |
+| | [(flutter/flutter#25091) Add animations to SliverAppBar doc](https://github.com/flutter/flutter/pull/25091) |
+| team | 31 issues with this label |
+| | [(flutter/flutter#26153) Remove the cc @Hixie from no-response template](https://github.com/flutter/flutter/pull/26153) |
+| | [(flutter/flutter#25515) Write snippets index file when generating docs](https://github.com/flutter/flutter/pull/25515) |
+| | [(flutter/flutter#25579) fix doc-comment snippets](https://github.com/flutter/flutter/pull/25579) |
+| | [(flutter/flutter#25922) update lint list](https://github.com/flutter/flutter/pull/25922) |
+| | [(flutter/flutter#26031) Clean gallery about page post-1.0](https://github.com/flutter/flutter/pull/26031) |
+| | [(flutter/flutter#26030) Turn clipping on for Card Demo](https://github.com/flutter/flutter/pull/26030) |
+| | [(flutter/flutter#26041) Update dartdoc to 0.27.0](https://github.com/flutter/flutter/pull/26041) |
+| | [(flutter/flutter#26024) Workaround the Gradle crash due to non ASCII characters.](https://github.com/flutter/flutter/pull/26024) |
+| | [(flutter/flutter#25514) fix typo](https://github.com/flutter/flutter/pull/25514) |
+| | [(flutter/flutter#25995) Address code review comment.](https://github.com/flutter/flutter/pull/25995) |
+| | [(flutter/flutter#26015) [fuchsia] Fix flutter_gallery BUILD.gn](https://github.com/flutter/flutter/pull/26015) |
+| | [(flutter/flutter#25817) fix flutter run in dev/manual_tests](https://github.com/flutter/flutter/pull/25817) |
+| | [(flutter/flutter#25857) Mark flutter_gallery__back_button_memory as flaky.](https://github.com/flutter/flutter/pull/25857) |
+| | [(flutter/flutter#25854) Fix analyzer "prefer const" warning.](https://github.com/flutter/flutter/pull/25854) |
+| | [(flutter/flutter#25798) remove early-stage from Gallery's About screen](https://github.com/flutter/flutter/pull/25798) |
+| | [(flutter/flutter#25674) Updated Shrine demo](https://github.com/flutter/flutter/pull/25674) |
+| | [(flutter/flutter#25642) Revert dependency upgrade to see if it helps with build times and APK size](https://github.com/flutter/flutter/pull/25642) |
+| | [(flutter/flutter#23531) [O] Remove many timeouts.](https://github.com/flutter/flutter/pull/23531) |
+| | [(flutter/flutter#25582) Add missing dependency to fix the build](https://github.com/flutter/flutter/pull/25582) |
+| | [(flutter/flutter#25569) Reland: Update examples to match the new version of generated build.gradle (#25483)](https://github.com/flutter/flutter/pull/25569) |
+| | [(flutter/flutter#25521) fix indentation in doc comments](https://github.com/flutter/flutter/pull/25521) |
+| | [(flutter/flutter#25568) Fix the build](https://github.com/flutter/flutter/pull/25568) |
+| | [(flutter/flutter#25563) Revert "Update examples to match the new version of generated build.gradle (#25483)"](https://github.com/flutter/flutter/pull/25563) |
+| | [(flutter/flutter#25513) make "See also" sections uniform](https://github.com/flutter/flutter/pull/25513) |
+| | [(flutter/flutter#25474) fix some formatting issues](https://github.com/flutter/flutter/pull/25474) |
+| | [(flutter/flutter#25184) Add imports section to sample code templates, and more docs.](https://github.com/flutter/flutter/pull/25184) |
+| | [(flutter/flutter#7227) Figure out why license script didn't pick up the license for the Ahem font](https://github.com/flutter/flutter/issues/7227) |
+| | [(flutter/flutter#25416) try disabling flutter run test](https://github.com/flutter/flutter/pull/25416) |
+| | [(flutter/flutter#25243) Allow snippets tool to be run from arbitrary CWDs](https://github.com/flutter/flutter/pull/25243) |
+| | [(flutter/flutter#25178) Adds favicon to Dash/Zeal docset, adds OpenSearch metadata.](https://github.com/flutter/flutter/pull/25178) |
+| | [(flutter/flutter#24890) Remove deprecated lint "prefer_bool_in_asserts".](https://github.com/flutter/flutter/pull/24890) |
+| a: text input | 18 issues with this label |
+| | [(flutter/flutter#23424) Teach drag start behaviors to DragGestureRecognizer](https://github.com/flutter/flutter/pull/23424) |
+| | [(flutter/flutter#26209) Revert "Teach drag start behaviors to DragGestureRecognizer (#23424)"](https://github.com/flutter/flutter/pull/26209) |
+| | [(flutter/flutter#24779) Skip formatters if text has not changed](https://github.com/flutter/flutter/pull/24779) |
+| | [(flutter/flutter#25055) Include cursor in textfield intrinsic width measurement](https://github.com/flutter/flutter/pull/25055) |
+| | [(flutter/flutter#24457) Revise Android and iOS gestures on Material TextField](https://github.com/flutter/flutter/pull/24457) |
+| | [(flutter/flutter#25229) Right aligned backspace bug](https://github.com/flutter/flutter/pull/25229) |
+| | [(flutter/flutter#25237) Fix typo](https://github.com/flutter/flutter/pull/25237) |
+| | [(flutter/flutter#24797) Iterate through potential grapheme cluster lengths in text painter](https://github.com/flutter/flutter/pull/24797) |
+| | [(flutter/flutter#25473) TextField.onChanged() doc update](https://github.com/flutter/flutter/pull/25473) |
+| | [(flutter/flutter#25342) Revert "Revert "obscureText and enableInteractiveSelection defaults""](https://github.com/flutter/flutter/pull/25342) |
+| | [(flutter/flutter#24527) obscureText and enableInteractiveSelection defaults](https://github.com/flutter/flutter/pull/24527) |
+| | [(flutter/flutter#25335) Revert "obscureText and enableInteractiveSelection defaults"](https://github.com/flutter/flutter/pull/25335) |
+| | [(flutter/flutter#25384) Adds support for floating cursor](https://github.com/flutter/flutter/pull/25384) |
+| | [(flutter/flutter#25390) Revert "drop/restore focus when app becomes invisible/visible"](https://github.com/flutter/flutter/pull/25390) |
+| | [(flutter/flutter#24744) drop/restore focus when app becomes invisible/visible](https://github.com/flutter/flutter/pull/24744) |
+| | [(flutter/flutter#24761) Adds support for floating cursor](https://github.com/flutter/flutter/pull/24761) |
+| | [(flutter/flutter#25352) Revert "Adds support for floating cursor"](https://github.com/flutter/flutter/pull/25352) |
+| | [(flutter/flutter#24635) TextFormField cursor params](https://github.com/flutter/flutter/pull/24635) |
+| d: api docs | 17 issues with this label |
+| | [(flutter/flutter#25515) Write snippets index file when generating docs](https://github.com/flutter/flutter/pull/25515) |
+| | [(flutter/flutter#25790) Clarify doc for AnimatedContainer](https://github.com/flutter/flutter/pull/25790) |
+| | [(flutter/flutter#26089) Explain that BoxDecoration doesn't do clip.](https://github.com/flutter/flutter/pull/26089) |
+| | [(flutter/flutter#26042) Update material spec references in BottomSheet et al., Scaffold](https://github.com/flutter/flutter/pull/26042) |
+| | [(flutter/flutter#26041) Update dartdoc to 0.27.0](https://github.com/flutter/flutter/pull/26041) |
+| | [(flutter/flutter#25992) Add docs to TextStyle for fontFamilyFallback/Custom font fallback](https://github.com/flutter/flutter/pull/25992) |
+| | [(flutter/flutter#25604) no period after an alone reference in see also section](https://github.com/flutter/flutter/pull/25604) |
+| | [(flutter/flutter#25584) Fix material reference in CupertinoPicker doc](https://github.com/flutter/flutter/pull/25584) |
+| | [(flutter/flutter#25573) Update DayPicker,DatePicker doc "see also" sections](https://github.com/flutter/flutter/pull/25573) |
+| | [(flutter/flutter#25477) TransitionRoute.canTransitionFrom,To() doc update](https://github.com/flutter/flutter/pull/25477) |
+| | [(flutter/flutter#25237) Fix typo](https://github.com/flutter/flutter/pull/25237) |
+| | [(flutter/flutter#25473) TextField.onChanged() doc update](https://github.com/flutter/flutter/pull/25473) |
+| | [(flutter/flutter#25243) Allow snippets tool to be run from arbitrary CWDs](https://github.com/flutter/flutter/pull/25243) |
+| | [(flutter/flutter#25120) Replace deprecated link (to design-principles page) in comment](https://github.com/flutter/flutter/pull/25120) |
+| | [(flutter/flutter#25096) Change network image URL in doc](https://github.com/flutter/flutter/pull/25096) |
+| | [(flutter/flutter#25091) Add animations to SliverAppBar doc](https://github.com/flutter/flutter/pull/25091) |
+| | [(flutter/flutter#25003) Fix typo in documentation](https://github.com/flutter/flutter/pull/25003) |
+| a: tests | 15 issues with this label |
+| | [(flutter/flutter#25888) Extract TestBorder into a utility file](https://github.com/flutter/flutter/pull/25888) |
+| | [(flutter/flutter#25817) fix flutter run in dev/manual_tests](https://github.com/flutter/flutter/pull/25817) |
+| | [(flutter/flutter#25857) Mark flutter_gallery__back_button_memory as flaky.](https://github.com/flutter/flutter/pull/25857) |
+| | [(flutter/flutter#25674) Updated Shrine demo](https://github.com/flutter/flutter/pull/25674) |
+| | [(flutter/flutter#25678) Pin the goldens repo to a specific commit in the android_views test.](https://github.com/flutter/flutter/pull/25678) |
+| | [(flutter/flutter#25479) Depend on the goldens repo through git.](https://github.com/flutter/flutter/pull/25479) |
+| | [(flutter/flutter#23531) [O] Remove many timeouts.](https://github.com/flutter/flutter/pull/23531) |
+| | [(flutter/flutter#25646) Revert "[O] Remove many timeouts."](https://github.com/flutter/flutter/pull/25646) |
+| | [(flutter/flutter#25568) Fix the build](https://github.com/flutter/flutter/pull/25568) |
+| | [(flutter/flutter#25489) Video demo instrumentation](https://github.com/flutter/flutter/pull/25489) |
+| | [(flutter/flutter#25381) Add cull opacity perf test to device lab](https://github.com/flutter/flutter/pull/25381) |
+| | [(flutter/flutter#25482) Mark flaky tests as such](https://github.com/flutter/flutter/pull/25482) |
+| | [(flutter/flutter#25305) Use stderr instead of stdout to contain errors in flutter attach test](https://github.com/flutter/flutter/pull/25305) |
+| | [(flutter/flutter#25380) Revert "Use stderr instead of stdout to contain errors in flutter attach test"](https://github.com/flutter/flutter/pull/25380) |
+| | [(flutter/flutter#24930) Run flutter tests through mini test engine when run directly (flutter run -t test_file)](https://github.com/flutter/flutter/pull/24930) |
+| team: gallery | 13 issues with this label |
+| | [(flutter/flutter#26209) Revert "Teach drag start behaviors to DragGestureRecognizer (#23424)"](https://github.com/flutter/flutter/pull/26209) |
+| | [(flutter/flutter#26031) Clean gallery about page post-1.0](https://github.com/flutter/flutter/pull/26031) |
+| | [(flutter/flutter#26030) Turn clipping on for Card Demo](https://github.com/flutter/flutter/pull/26030) |
+| | [(flutter/flutter#26015) [fuchsia] Fix flutter_gallery BUILD.gn](https://github.com/flutter/flutter/pull/26015) |
+| | [(flutter/flutter#25857) Mark flutter_gallery__back_button_memory as flaky.](https://github.com/flutter/flutter/pull/25857) |
+| | [(flutter/flutter#25798) remove early-stage from Gallery's About screen](https://github.com/flutter/flutter/pull/25798) |
+| | [(flutter/flutter#25674) Updated Shrine demo](https://github.com/flutter/flutter/pull/25674) |
+| | [(flutter/flutter#25642) Revert dependency upgrade to see if it helps with build times and APK size](https://github.com/flutter/flutter/pull/25642) |
+| | [(flutter/flutter#25582) Add missing dependency to fix the build](https://github.com/flutter/flutter/pull/25582) |
+| | [(flutter/flutter#25563) Revert "Update examples to match the new version of generated build.gradle (#25483)"](https://github.com/flutter/flutter/pull/25563) |
+| | [(flutter/flutter#23759) Adds CupertinoTheme](https://github.com/flutter/flutter/pull/23759) |
+| | [(flutter/flutter#25489) Video demo instrumentation](https://github.com/flutter/flutter/pull/25489) |
+| | [(flutter/flutter#25186) Temporarily add back filtered bintray ExoPlayer repository](https://github.com/flutter/flutter/pull/25186) |
+| f: cupertino | 10 issues with this label |
+| | [(flutter/flutter#23424) Teach drag start behaviors to DragGestureRecognizer](https://github.com/flutter/flutter/pull/23424) |
+| | [(flutter/flutter#26209) Revert "Teach drag start behaviors to DragGestureRecognizer (#23424)"](https://github.com/flutter/flutter/pull/26209) |
+| | [(flutter/flutter#24457) Revise Android and iOS gestures on Material TextField](https://github.com/flutter/flutter/pull/24457) |
+| | [(flutter/flutter#25584) Fix material reference in CupertinoPicker doc](https://github.com/flutter/flutter/pull/25584) |
+| | [(flutter/flutter#25593) Let CupertinoTabScaffold handle keyboard insets too](https://github.com/flutter/flutter/pull/25593) |
+| | [(flutter/flutter#23759) Adds CupertinoTheme](https://github.com/flutter/flutter/pull/23759) |
+| | [(flutter/flutter#25474) fix some formatting issues](https://github.com/flutter/flutter/pull/25474) |
+| | [(flutter/flutter#25384) Adds support for floating cursor](https://github.com/flutter/flutter/pull/25384) |
+| | [(flutter/flutter#25352) Revert "Adds support for floating cursor"](https://github.com/flutter/flutter/pull/25352) |
+| | [(flutter/flutter#25183) Add navigatorKey to CupertinoTabView](https://github.com/flutter/flutter/pull/25183) |
+| t: gradle | 9 issues with this label |
+| | [(flutter/flutter#25796) Allow dynamic patches without a patch number.](https://github.com/flutter/flutter/pull/25796) |
+| | [(flutter/flutter#24440) Adding support for android app bundle - Issue #17829](https://github.com/flutter/flutter/pull/24440) |
+| | [(flutter/flutter#23531) [O] Remove many timeouts.](https://github.com/flutter/flutter/pull/23531) |
+| | [(flutter/flutter#25576) Flutter tool support for building dynamic patches on Android](https://github.com/flutter/flutter/pull/25576) |
+| | [(flutter/flutter#25569) Reland: Update examples to match the new version of generated build.gradle (#25483)](https://github.com/flutter/flutter/pull/25569) |
+| | [(flutter/flutter#25563) Revert "Update examples to match the new version of generated build.gradle (#25483)"](https://github.com/flutter/flutter/pull/25563) |
+| | [(flutter/flutter#25520) Fix flutter tool to actually honor --build-number/--build-name flags](https://github.com/flutter/flutter/pull/25520) |
+| | [(flutter/flutter#25484) Fix gradle local.properties tests that were never excersized](https://github.com/flutter/flutter/pull/25484) |
+| | [(flutter/flutter#25470) Support Java 1.8](https://github.com/flutter/flutter/pull/25470) |
+| d: examples | 6 issues with this label |
+| | [(flutter/flutter#23424) Teach drag start behaviors to DragGestureRecognizer](https://github.com/flutter/flutter/pull/23424) |
+| | [(flutter/flutter#26209) Revert "Teach drag start behaviors to DragGestureRecognizer (#23424)"](https://github.com/flutter/flutter/pull/26209) |
+| | [(flutter/flutter#25483) Update examples to match the new version of generated build.gradle](https://github.com/flutter/flutter/pull/25483) |
+| | [(flutter/flutter#25569) Reland: Update examples to match the new version of generated build.gradle (#25483)](https://github.com/flutter/flutter/pull/25569) |
+| | [(flutter/flutter#25563) Revert "Update examples to match the new version of generated build.gradle (#25483)"](https://github.com/flutter/flutter/pull/25563) |
+| | [(flutter/flutter#25300) Remove uses-material-design from hello_world example](https://github.com/flutter/flutter/pull/25300) |
+| ▣ platform-android | 5 issues with this label |
+| | [(flutter/flutter#7315) Android Emulator does not show box shadows](https://github.com/flutter/flutter/issues/7315) |
+| | [(flutter/flutter#24440) Adding support for android app bundle - Issue #17829](https://github.com/flutter/flutter/pull/24440) |
+| | [(flutter/flutter#25221) Support ANDROID_SDK_ROOT in addition to ANDROID_HOME](https://github.com/flutter/flutter/pull/25221) |
+| | [(flutter/flutter#25154) Don't require the AVD folder to exist in order to run `flutter emulators`](https://github.com/flutter/flutter/pull/25154) |
+| f: gestures | 4 issues with this label |
+| | [(flutter/flutter#23424) Teach drag start behaviors to DragGestureRecognizer](https://github.com/flutter/flutter/pull/23424) |
+| | [(flutter/flutter#26209) Revert "Teach drag start behaviors to DragGestureRecognizer (#23424)"](https://github.com/flutter/flutter/pull/26209) |
+| | [(flutter/flutter#25792) Actively reject UiKitView gestures.](https://github.com/flutter/flutter/pull/25792) |
+| | [(flutter/flutter#24554) Adds force press gesture detector and recognizer](https://github.com/flutter/flutter/pull/24554) |
+| ○ platform-fuchsia | 4 issues with this label |
+| | [(flutter/flutter#26249) Revert "Replace netls and netaddr with dev_finder"](https://github.com/flutter/flutter/pull/26249) |
+| | [(flutter/flutter#26090) Replace netls and netaddr with dev_finder](https://github.com/flutter/flutter/pull/26090) |
+| | [(flutter/flutter#26201) Prevent calls to view.uiIsolate.flutterExit on devices which do not support it](https://github.com/flutter/flutter/pull/26201) |
+| | [(flutter/flutter#25332) [fuchsia] Get Dart VM service ports from The Hub](https://github.com/flutter/flutter/pull/25332) |
+| a: animation | 3 issues with this label |
+| | [(flutter/flutter#25788) Add Robert Penner’s easing functions](https://github.com/flutter/flutter/pull/25788) |
+| | [(flutter/flutter#25790) Clarify doc for AnimatedContainer](https://github.com/flutter/flutter/pull/25790) |
+| | [(flutter/flutter#25474) fix some formatting issues](https://github.com/flutter/flutter/pull/25474) |
+| t: hot reload | 3 issues with this label |
+| | [(flutter/flutter#26039) Report hot reload statistics.](https://github.com/flutter/flutter/pull/26039) |
+| | [(flutter/flutter#7314) Flutter crash on startup (metabug)](https://github.com/flutter/flutter/issues/7314) |
+| | [(flutter/flutter#7307) Sending SIGUSR1 and pressing 'R' simultaneously locks up the flutter tool](https://github.com/flutter/flutter/issues/7307) |
+| a: typography | 2 issues with this label |
+| | [(flutter/flutter#25585) Expose font fallback API in TextStyle, Roll engine 54a3577c0139..215ca1560088 (8 commits)](https://github.com/flutter/flutter/pull/25585) |
+| | [(flutter/flutter#24797) Iterate through potential grapheme cluster lengths in text painter](https://github.com/flutter/flutter/pull/24797) |
+| customer: fuchsia | 2 issues with this label |
+| | [(flutter/flutter#25344) Add fuchsia devices to daemon command](https://github.com/flutter/flutter/pull/25344) |
+| | [(flutter/flutter#24953) Fuchsia multiple devices and target](https://github.com/flutter/flutter/pull/24953) |
+| d: website - content | 2 issues with this labe |
+| | [(flutter/flutter#7317) flutter/website uses a very old version of jekyll (2.4.0) which is incompatible with Ruby 2.4](https://github.com/flutter/flutter/issues/7317) |
+| | [(flutter/flutter#7306) Broken links on website](https://github.com/flutter/flutter/issues/7306) |
+| e: device-specific | 2 issues with this label |
+| | [(flutter/flutter#7315) Android Emulator does not show box shadows](https://github.com/flutter/flutter/issues/7315) |
+| engine | 2 issues with this label |
+| | [(flutter/flutter#7227) Figure out why license script didn't pick up the license for the Ahem font](https://github.com/flutter/flutter/issues/7227) |
+| f: date/time picker | 2 issues with this label |
+| | [(flutter/flutter#23424) Teach drag start behaviors to DragGestureRecognizer](https://github.com/flutter/flutter/pull/23424) |
+| | [(flutter/flutter#25573) Update DayPicker,DatePicker doc "see also" sections](https://github.com/flutter/flutter/pull/25573) |
+| f: scrolling | 2 issues with this label |
+| | [(flutter/flutter#23424) Teach drag start behaviors to DragGestureRecognizer](https://github.com/flutter/flutter/pull/23424) |
+| | [(flutter/flutter#26209) Revert "Teach drag start behaviors to DragGestureRecognizer (#23424)"](https://github.com/flutter/flutter/pull/26209) |
+| severe: crash | 1 issue with this label |
+| | [(flutter/flutter#7314) Flutter crash on startup (metabug)](https://github.com/flutter/flutter/issues/7314) |
+| t: flutter doctor | 2 issues with this label |
+| | [(flutter/flutter#23889) Flutter doctor error message lookup](https://github.com/flutter/flutter/pull/23889) |
+| | [(flutter/flutter#25269) Make doctor output consistent between VS Code/IntelliJ/Android Studio when plugins are missing](https://github.com/flutter/flutter/pull/25269) |
+| waiting for tree to go green | 2 issues with this label |
+| | [(flutter/flutter#25159) fix #25143 Successive calls to `precacheImage()` throw an exception](https://github.com/flutter/flutter/pull/25159) |
+| | [(flutter/flutter#25872) Optimize cocoapods logic in flutter doctor.](https://github.com/flutter/flutter/pull/25872) |
+| ⌺ platform-ios | 2 issues with this label |
+| | [(flutter/flutter#25872) Optimize cocoapods logic in flutter doctor.](https://github.com/flutter/flutter/pull/25872) |
+| | [(flutter/flutter#24580) Remove code signing special casing for Googlers round 2](https://github.com/flutter/flutter/pull/24580) |
+| a: debugging | 1 issue with this label |
+| | [(flutter/flutter#24515) Add some a basic debug stepping tests](https://github.com/flutter/flutter/pull/24515) |
+| a: internationalization | 1 issue with this label |
+| | [(flutter/flutter#25394) Update localizations](https://github.com/flutter/flutter/pull/25394) |
+| a: platform-views | 1 issue with this label |
+| | [(flutter/flutter#25792) Actively reject UiKitView gestures.](https://github.com/flutter/flutter/pull/25792) |
+| a:bug | 1 issue with this label |
+| | [(gradle/gradle#3117) Gradle Build daemon crashes if the environment variables contain non-ASCII characters](https://github.com/gradle/gradle/issues/3117) |
+| cla: no | 1 issue with this label |
+| | [(flutter/flutter#24440) Adding support for android app bundle - Issue #17829](https://github.com/flutter/flutter/pull/24440) |
+| customer: dream (g3) | 1 issue with this label |
+| | [(flutter/flutter#24537) Add ipv6 and observatory port support to the attach command.](https://github.com/flutter/flutter/pull/24537) |
+| customer: gold | 1 issue with this label |
+| | [(flutter/flutter#25872) Optimize cocoapods logic in flutter doctor.](https://github.com/flutter/flutter/pull/25872) |
+| dependency: skia | 1 issue with this label |
+| | [(flutter/flutter#7315) Android Emulator does not show box shadows](https://github.com/flutter/flutter/issues/7315) |
+| f: routes | 1 issue with this label |
+| | [(flutter/flutter#25477) TransitionRoute.canTransitionFrom,To() doc update](https://github.com/flutter/flutter/pull/25477) |
+| from:contributor | 1 issue with this label |
+| | [(gradle/gradle#3117) Gradle Build daemon crashes if the environment variables contain non-ASCII characters](https://github.com/gradle/gradle/issues/3117) |
+| p: framework | 1 issue with this label |
+| | [(flutter/flutter#7312) Support Swift in ios template project](https://github.com/flutter/flutter/issues/7312) |
+| p: tooling | 1 issue with this label |
+| | [(flutter/flutter#7312) Support Swift in ios template project](https://github.com/flutter/flutter/issues/7312) |
+| plugin | 1 issue with this label |
+| | [(flutter/flutter#7312) Support Swift in ios template project](https://github.com/flutter/flutter/issues/7312) |
+| severe: API break | 1 issue with this label |
+| | [(flutter/flutter#7318) ListItem should call out that it's intentionally fixed height](https://github.com/flutter/flutter/issues/7318) |
+| severe: performance | 1 issue with this label |
+| | [(flutter/flutter#25381) Add cull opacity perf test to device lab](https://github.com/flutter/flutter/pull/25381) |
+| t: flutter driver | 1 issue with this label |
+| | [(flutter/flutter#25646) Revert "[O] Remove many timeouts."](https://github.com/flutter/flutter/pull/25646) |
+
+## In the plugins repository
+The following issues were addressed in 426 commits.
+
+| PR | Summary |
+|---|---|
+| [flutter/plugins#691](https://github.com/flutter/plugins/pull/691) | Fix cloud functions podspec. |
+| [flutter/plugins#956](https://github.com/flutter/plugins/pull/956) | Make the description for webview_flutter longer. |
+| [flutter/plugins#949](https://github.com/flutter/plugins/pull/949) | Fixes: 'webview_flutter/WebviewFlutterPlugin.h' file not found |
+| [flutter/plugins#375](https://github.com/flutter/plugins/pull/375) | add a dynamic get method to shared_preferences |
+| [flutter/plugins#946](https://github.com/flutter/plugins/pull/946) | [google_maps_flutter] Relax Flutter version requirement to 0.11.9 |
+| [flutter/plugins#945](https://github.com/flutter/plugins/pull/945) | Bump maps plugin version. |
+| [flutter/plugins#381](https://github.com/flutter/plugins/pull/381) | Make video plugin ready for republication |
+| [flutter/plugins#942](https://github.com/flutter/plugins/pull/942) | Camera uses the device orientation on Android |
+| [flutter/plugins#943](https://github.com/flutter/plugins/pull/943) | Keep a reference to the plugin registrar in `FLTGoogleMapController`. |
+| [flutter/plugins#940](https://github.com/flutter/plugins/pull/940) | Set a minimal Flutter version for the webview plugin. |
+| [flutter/plugins#939](https://github.com/flutter/plugins/pull/939) | Bump google_maps_flutter's version to 0.0.3. |
+| [flutter/plugins#938](https://github.com/flutter/plugins/pull/938) | Bring back the google_maps_flutter pub badge. |
+| [flutter/plugins#937](https://github.com/flutter/plugins/pull/937) | Don't export dart:async by the Google Maps plugin. |
+| [flutter/plugins#935](https://github.com/flutter/plugins/pull/935) | Remove unused map id fields. |
+| [flutter/plugins#382](https://github.com/flutter/plugins/pull/382) | Camera: Improve ressource cleanup on Android |
+| [flutter/plugins#933](https://github.com/flutter/plugins/pull/933) | Update the IAP README |
+| [flutter/plugins#932](https://github.com/flutter/plugins/pull/932) | Bump google_maps_flutter version to 0.0.2 (pre release). |
+| [flutter/plugins#928](https://github.com/flutter/plugins/pull/928) | Introduce credentials to firebase_auth |
+| [flutter/plugins#384](https://github.com/flutter/plugins/pull/384) | Camera: Avoid capture double result |
+| [flutter/plugins#924](https://github.com/flutter/plugins/pull/924) | Adding closeWebView feature to url_launcher |
+| [flutter/plugins#925](https://github.com/flutter/plugins/pull/925) | Delete reference to the pub plugin |
+| [flutter/plugins#385](https://github.com/flutter/plugins/pull/385) | Enable swift apps depending on plugins with static dependencies |
+| [flutter/plugins#922](https://github.com/flutter/plugins/pull/922) | [android_alarm_manager] bump firebase_auth dependencies |
+| [flutter/plugins#920](https://github.com/flutter/plugins/pull/920) | Update Google Maps Plugin README. |
+| [flutter/plugins#775](https://github.com/flutter/plugins/pull/775) | Fixes error handling in firebase_auth on Android and iOS |
+| [flutter/plugins#915](https://github.com/flutter/plugins/pull/915) | Set all gradle-wrapper versions to 4.10.2 |
+| [flutter/plugins#921](https://github.com/flutter/plugins/pull/921) | Use context() instead of activity() |
+| [flutter/plugins#919](https://github.com/flutter/plugins/pull/919) | docs: Improves READMEs styles |
+| [flutter/plugins#916](https://github.com/flutter/plugins/pull/916) | Upgrade Android Gradle Plugin to 3.2.1 |
+| [flutter/plugins#914](https://github.com/flutter/plugins/pull/914) | [webview_flutter] Don't static import classes. |
+| [flutter/plugins#913](https://github.com/flutter/plugins/pull/913) | reformat FirebaseAuthPlugin.m |
+| [flutter/plugins#912](https://github.com/flutter/plugins/pull/912) | Update firebase_auth version for release |
+| [flutter/plugins#907](https://github.com/flutter/plugins/pull/907) | [firebase_auth] Adding support for reauthenticate. |
+| [flutter/plugins#908](https://github.com/flutter/plugins/pull/908) | [video_player] ExoPlayer 2.9.1, Android 9, Demo fixes |
+| [flutter/plugins#911](https://github.com/flutter/plugins/pull/911) | Shuffle text selection TODOs. |
+| [flutter/plugins#910](https://github.com/flutter/plugins/pull/910) | Don't depend on the Android support library in google_maps_flutter. |
+| [flutter/plugins#898](https://github.com/flutter/plugins/pull/898) | Adding My Location parameter to the Google Maps plugin |
+| [flutter/plugins#393](https://github.com/flutter/plugins/pull/393) | Fix Dart 2 type error in share plugin |
+| [flutter/plugins#906](https://github.com/flutter/plugins/pull/906) | Update location_background |
+| [flutter/plugins#903](https://github.com/flutter/plugins/pull/903) | [firebase_auth] adding return to verifyPhoneNumber |
+| [flutter/plugins#899](https://github.com/flutter/plugins/pull/899) | Fix null language code and no detected text bug |
+| [flutter/plugins#875](https://github.com/flutter/plugins/pull/875) | [firebase_messaging] adding support for deleteInstanceId and setAutoInitEnabled |
+| [flutter/plugins#872](https://github.com/flutter/plugins/pull/872) | Fix crash when repeating detection |
+| [flutter/plugins#891](https://github.com/flutter/plugins/pull/891) | Increase play-services-auth dependency |
+| [flutter/plugins#880](https://github.com/flutter/plugins/pull/880) | Update docs/example for AdMob |
+| [flutter/plugins#394](https://github.com/flutter/plugins/pull/394) | Fix Dart 2 type error in package_info |
+| [flutter/plugins#395](https://github.com/flutter/plugins/pull/395) | Fix Dart 2 type error in local_auth |
+| [flutter/plugins#890](https://github.com/flutter/plugins/pull/890) | Initial iOS implementation for webview_flutter. |
+| [flutter/plugins#888](https://github.com/flutter/plugins/pull/888) | [firebase_analytics] Allow setUserID input to be null |
+| [flutter/plugins#396](https://github.com/flutter/plugins/pull/396) | Fix Dart 2 type errors in device_info |
+| [flutter/plugins#780](https://github.com/flutter/plugins/pull/780) | Set iOS deployment target to 8.0, fixes compilation errors |
+| [flutter/plugins#777](https://github.com/flutter/plugins/pull/777) | Resolved compiler warnings in CloudFirestorePlugin.m |
+| [flutter/plugins#859](https://github.com/flutter/plugins/pull/859) | Change google-services.json and GoogleService-Info.plist of example |
+| [flutter/plugins#399](https://github.com/flutter/plugins/pull/399) | Fix Dart 2 type errors in firebase plugins |
+| [flutter/plugins#862](https://github.com/flutter/plugins/pull/862) | Surpress unchecked warnings |
+| [flutter/plugins#889](https://github.com/flutter/plugins/pull/889) | Run cleartoken task in background |
+| [flutter/plugins#400](https://github.com/flutter/plugins/pull/400) | Fix Dart 2 type errors in cloud_firestore |
+| [flutter/plugins#783](https://github.com/flutter/plugins/pull/783) | Allow quick_actions to register more than once |
+| [flutter/plugins#882](https://github.com/flutter/plugins/pull/882) | Only update state for the registrar's activity |
+| [flutter/plugins#401](https://github.com/flutter/plugins/pull/401) | Fix Dart 2 type errors in firebase_admob |
+| [flutter/plugins#881](https://github.com/flutter/plugins/pull/881) | Update gradle dependencies. |
+| [flutter/plugins#865](https://github.com/flutter/plugins/pull/865) | Bump firebase_auth version |
+| [flutter/plugins#867](https://github.com/flutter/plugins/pull/867) | Make FirebaseApp final/private and change way to get auth instance |
+| [flutter/plugins#877](https://github.com/flutter/plugins/pull/877) | Camera version bump for #689 |
+| [flutter/plugins#689](https://github.com/flutter/plugins/pull/689) | Fix preview and video size with satisfying conditions of multiple outputs. |
+| [flutter/plugins#785](https://github.com/flutter/plugins/pull/785) | Update example with interactable link |
+| [flutter/plugins#824](https://github.com/flutter/plugins/pull/824) | Use METHOD value instead of SIGN_UP_METHOD |
+| [flutter/plugins#869](https://github.com/flutter/plugins/pull/869) | [firebase_messaging] changing getToken to rely on platform's getToken (2) |
+| [flutter/plugins#868](https://github.com/flutter/plugins/pull/868) | Rev version |
+| [flutter/plugins#873](https://github.com/flutter/plugins/pull/873) | Get rid of unneeded Firebase import |
+| [flutter/plugins#781](https://github.com/flutter/plugins/pull/781) | FirebaseAuth multi app support |
+| [flutter/plugins#858](https://github.com/flutter/plugins/pull/858) | enable lint prefer_void_to_null |
+| [flutter/plugins#773](https://github.com/flutter/plugins/pull/773) | Fix a crash in the snapshot callback |
+| [flutter/plugins#404](https://github.com/flutter/plugins/pull/404) | Exposing GoogleSignIn Delegate as an interface |
+| [flutter/plugins#765](https://github.com/flutter/plugins/pull/765) | Timestamps firestore |
+| [flutter/plugins#407](https://github.com/flutter/plugins/pull/407) | Fix url_launcher for iOS <10 |
+| [flutter/plugins#759](https://github.com/flutter/plugins/pull/759) | Correct usage of StreamBuilder |
+| [flutter/plugins#857](https://github.com/flutter/plugins/pull/857) | Use exoplayer's prefered API for MediaSources |
+| [flutter/plugins#813](https://github.com/flutter/plugins/pull/813) | video_player: Fixed null exception when file has no width or height. |
+| [flutter/plugins#853](https://github.com/flutter/plugins/pull/853) | Change android invites dependency to dynamic links |
+| [flutter/plugins#408](https://github.com/flutter/plugins/pull/408) | Fix new formatting errors |
+| [flutter/plugins#818](https://github.com/flutter/plugins/pull/818) | remove unnecessary new from samples |
+| [flutter/plugins#828](https://github.com/flutter/plugins/pull/828) | Reformat the marker id getter comment. |
+| [flutter/plugins#845](https://github.com/flutter/plugins/pull/845) | Add biometry type detection to local_auth plugin |
+| [flutter/plugins#843](https://github.com/flutter/plugins/pull/843) | Add clearMarkers() functionality to GoogleMapController |
+| [flutter/plugins#406](https://github.com/flutter/plugins/pull/406) | Firestore: Allow null document snapshot data when document does not exist |
+| [flutter/plugins#414](https://github.com/flutter/plugins/pull/414) | Remove Gradle artifacts from repo |
+| [flutter/plugins#847](https://github.com/flutter/plugins/pull/847) | Bump firebase_performance Android dependencies to latest. |
+| [flutter/plugins#840](https://github.com/flutter/plugins/pull/840) | Bump firebase_dynamic_links Android dependencies |
+| [flutter/plugins#841](https://github.com/flutter/plugins/pull/841) | bump firebase_messaging android dependencies to latest |
+| [flutter/plugins#412](https://github.com/flutter/plugins/pull/412) | Set SDK constraints to match Flutter beta |
+| [flutter/plugins#774](https://github.com/flutter/plugins/pull/774) | Update firebase_ml_vision for latest Firebase MLKit API |
+| [flutter/plugins#417](https://github.com/flutter/plugins/pull/417) | Fix Dart 2 runtime error in the camera plugin |
+| [flutter/plugins#835](https://github.com/flutter/plugins/pull/835) | Bump firebase_admob Android dependencies to latest |
+| [flutter/plugins#834](https://github.com/flutter/plugins/pull/834) | Bump firebase_storage Android dependencies to latest |
+| [flutter/plugins#420](https://github.com/flutter/plugins/pull/420) | Fixed deprecation warnings |
+| [flutter/plugins#829](https://github.com/flutter/plugins/pull/829) | bump cloud_firestore android dependencies |
+| [flutter/plugins#830](https://github.com/flutter/plugins/pull/830) | Bump android dependencies to latest |
+| [flutter/plugins#825](https://github.com/flutter/plugins/pull/825) | fix CI |
+| [flutter/plugins#786](https://github.com/flutter/plugins/pull/786) | Added getter for Marker ID in maps package |
+| [flutter/plugins#821](https://github.com/flutter/plugins/pull/821) | Bump firebase_core Android dependencies to latest |
+| [flutter/plugins#419](https://github.com/flutter/plugins/pull/419) | Fix a Dart 2 runtime cast failure in firebase_database test |
+| [flutter/plugins#697](https://github.com/flutter/plugins/pull/697) | adding support auth link for Twitter |
+| [flutter/plugins#812](https://github.com/flutter/plugins/pull/812) | Set http version to be compatible with flutter_test |
+| [flutter/plugins#639](https://github.com/flutter/plugins/pull/639) | Added android device id to android device info |
+| [flutter/plugins#810](https://github.com/flutter/plugins/pull/810) | Set http version to be compatible with flutter_test |
+| [flutter/plugins#811](https://github.com/flutter/plugins/pull/811) | Add page names for firebaseopensource.com |
+| [flutter/plugins#425](https://github.com/flutter/plugins/pull/425) | Fix Dart 2 type error and deprecation |
+| [flutter/plugins#808](https://github.com/flutter/plugins/pull/808) | Bump version for #795 |
+| [flutter/plugins#422](https://github.com/flutter/plugins/pull/422) | Incremental Build Script |
+| [flutter/plugins#805](https://github.com/flutter/plugins/pull/805) | Handle user cancel when signing in |
+| [flutter/plugins#802](https://github.com/flutter/plugins/pull/802) | Bump camera version |
+| [flutter/plugins#796](https://github.com/flutter/plugins/pull/796) | add option to enable javascript in android webview |
+| [flutter/plugins#804](https://github.com/flutter/plugins/pull/804) | Allow latest version for MLVision on ios |
+| [flutter/plugins#410](https://github.com/flutter/plugins/pull/410) | add fetchProvidersForEmail wrapper |
+| [flutter/plugins#800](https://github.com/flutter/plugins/pull/800) | Move SystemChrome update to platform side |
+| [flutter/plugins#799](https://github.com/flutter/plugins/pull/799) | Add ability to clear auth cache on Android |
+| [flutter/plugins#678](https://github.com/flutter/plugins/pull/678) | Add updatePassword functionality to firebase_auth plugin. |
+| [flutter/plugins#798](https://github.com/flutter/plugins/pull/798) | Ban string values which clash with special prefixes |
+| [flutter/plugins#797](https://github.com/flutter/plugins/pull/797) | use WidgetsBindingObserver as a mixin |
+| [flutter/plugins#427](https://github.com/flutter/plugins/pull/427) | bump minor version and add changelog entry |
+| [flutter/plugins#771](https://github.com/flutter/plugins/pull/771) | Add support for handling UserRecoverableAuthException |
+| [flutter/plugins#701](https://github.com/flutter/plugins/pull/701) | Enable lint unnecessary_new |
+| [flutter/plugins#779](https://github.com/flutter/plugins/pull/779) | Mark textureId as @visibleForTesting. |
+| [flutter/plugins#769](https://github.com/flutter/plugins/pull/769) | Update VideoPlayer widget when the attached controller changes |
+| [flutter/plugins#402](https://github.com/flutter/plugins/pull/402) | AdSizes for AdMob banner ads |
+| [flutter/plugins#755](https://github.com/flutter/plugins/pull/755) | Add a gestureRecognizers parameter to GoogleMap. |
+| [flutter/plugins#753](https://github.com/flutter/plugins/pull/753) | Add an initialUrl and a javaScriptMode parameters to WebView |
+| [flutter/plugins#767](https://github.com/flutter/plugins/pull/767) | Rebuild VideoPlayer once VideoPlayerController finishes initialization. |
+| [flutter/plugins#732](https://github.com/flutter/plugins/pull/732) | Update Text Recognition for android to 17.0.0 |
+| [flutter/plugins#764](https://github.com/flutter/plugins/pull/764) | Bump firebase_auth version number |
+| [flutter/plugins#733](https://github.com/flutter/plugins/pull/733) | Update ios MLKit Text Recognition to '5.6.0' |
+| [flutter/plugins#762](https://github.com/flutter/plugins/pull/762) | Removed Google Guava dependency from firebase_auth. |
+| [flutter/plugins#760](https://github.com/flutter/plugins/pull/760) | Firestore FieldValues and persistence |
+| [flutter/plugins#428](https://github.com/flutter/plugins/pull/428) | Updated to 0.5.0 |
+| [flutter/plugins#685](https://github.com/flutter/plugins/pull/685) | Adding getWifiName to connectivity plugin |
+| [flutter/plugins#672](https://github.com/flutter/plugins/pull/672) | Firebase Messaging: fix Android notification body and title not sent to Flutter |
+| [flutter/plugins#650](https://github.com/flutter/plugins/pull/650) | listener on MobileAd shouldn't be final |
+| [flutter/plugins#531](https://github.com/flutter/plugins/pull/531) | Add monitoring and management to uploads |
+| [flutter/plugins#754](https://github.com/flutter/plugins/pull/754) | cloud_functions readme: Fix Dart source formatting |
+| [flutter/plugins#752](https://github.com/flutter/plugins/pull/752) | Initial (Android only) implementation of a WebView widget. |
+| [flutter/plugins#954](https://github.com/flutter/plugins/pull/954) | add new plugins reference to README.md |
+| [flutter/plugins#430](https://github.com/flutter/plugins/pull/430) | [AndroidAlarmManager] Update README.md |
+| [flutter/plugins#431](https://github.com/flutter/plugins/pull/431) | Cut a new firebase_database version with dart2 runtime cast fix |
+| [flutter/plugins#749](https://github.com/flutter/plugins/pull/749) | Add support for firebaseopensource.com |
+| [flutter/plugins#748](https://github.com/flutter/plugins/pull/748) | Use api to allow support-v4 version resolution. |
+| [flutter/plugins#432](https://github.com/flutter/plugins/pull/432) | Fix Dart 2 type error |
+| [flutter/plugins#746](https://github.com/flutter/plugins/pull/746) | Plugin template for webview_flutter |
+| [flutter/plugins#745](https://github.com/flutter/plugins/pull/745) | Fix Java lint warnings in google maps plugin |
+| [flutter/plugins#744](https://github.com/flutter/plugins/pull/744) | Remove iOS instructions from the maps plugin readme. |
+| [flutter/plugins#686](https://github.com/flutter/plugins/pull/686) | [image_picker] White line after resize - fixed by adding floor() |
+| [flutter/plugins#434](https://github.com/flutter/plugins/pull/434) | Fix Dart 2 runtime type error in msg handler |
+| [flutter/plugins#715](https://github.com/flutter/plugins/pull/715) | Improve image_picker android dependencies |
+| [flutter/plugins#665](https://github.com/flutter/plugins/pull/665) | Remove a wrong assertion. |
+| [flutter/plugins#739](https://github.com/flutter/plugins/pull/739) | Release VideoPlayer resources when FlutterView is gone |
+| [flutter/plugins#740](https://github.com/flutter/plugins/pull/740) | Updated README with examples |
+| [flutter/plugins#638](https://github.com/flutter/plugins/pull/638) | Adds nonPersonalizedAds option to MobileAdTargetingInfo for firebase_admob |
+| [flutter/plugins#429](https://github.com/flutter/plugins/pull/429) | Extend StandardMessageCodec for Cloud Firestore |
+| [flutter/plugins#699](https://github.com/flutter/plugins/pull/699) | _dynamicLink variable was cleared after user get dynamicLink (iOS) |
+| [flutter/plugins#710](https://github.com/flutter/plugins/pull/710) | Fixed type error for firebase_auth photoUrl on iOS |
+| [flutter/plugins#736](https://github.com/flutter/plugins/pull/736) | Fix typo in Application.java url |
+| [flutter/plugins#722](https://github.com/flutter/plugins/pull/722) | Add go to settings action in androidIntent plugin. |
+| [flutter/plugins#737](https://github.com/flutter/plugins/pull/737) | upgraded com.google.firebase:firebase-messaging to v17.3.0 in order t… |
+| [flutter/plugins#707](https://github.com/flutter/plugins/pull/707) | Add example query to Firestore documentation |
+| [flutter/plugins#361](https://github.com/flutter/plugins/pull/361) | Batch support for Firestore |
+| [flutter/plugins#725](https://github.com/flutter/plugins/pull/725) | Set MLVision pod version to avoid breaking changes |
+| [flutter/plugins#438](https://github.com/flutter/plugins/pull/438) | Bump version for re-publication |
+| [flutter/plugins#708](https://github.com/flutter/plugins/pull/708) | Fix cloud_functions README typo |
+| [flutter/plugins#439](https://github.com/flutter/plugins/pull/439) | Fix Dart 2 runtime type errors |
+| [flutter/plugins#443](https://github.com/flutter/plugins/pull/443) | Secure fetchProvidersForEmail (no providers) |
+| [flutter/plugins#713](https://github.com/flutter/plugins/pull/713) | [android_alarm_manager] Prep for version update |
+| [flutter/plugins#656](https://github.com/flutter/plugins/pull/656) | Added iOS location plugin to showcase background execution APIs |
+| [flutter/plugins#642](https://github.com/flutter/plugins/pull/642) | Updated `android_alarm_manager` to work after engine refactor. |
+| [flutter/plugins#698](https://github.com/flutter/plugins/pull/698) | Enable lint unnecessary_statements. Codebase is compliant. |
+| [flutter/plugins#702](https://github.com/flutter/plugins/pull/702) | fix missing_return warnings |
+| [flutter/plugins#696](https://github.com/flutter/plugins/pull/696) | enable lint prefer_equal_for_default_values |
+| [flutter/plugins#445](https://github.com/flutter/plugins/pull/445) | [Image Picker] Import foundation for the @required annotations |
+| [flutter/plugins#694](https://github.com/flutter/plugins/pull/694) | Fix incomplete README for FirebaseAuth |
+| [flutter/plugins#447](https://github.com/flutter/plugins/pull/447) | Remove yourcompany.com from cloud_firestore |
+| [flutter/plugins#452](https://github.com/flutter/plugins/pull/452) | Hide Firestore codec class and move each class into separate files |
+| [flutter/plugins#629](https://github.com/flutter/plugins/pull/629) | Update docs to reflect field paths separated by '.' |
+| [flutter/plugins#673](https://github.com/flutter/plugins/pull/673) | Update barcode detector to handle options |
+| [flutter/plugins#677](https://github.com/flutter/plugins/pull/677) | Android and iOS BarcodeDetector options |
+| [flutter/plugins#684](https://github.com/flutter/plugins/pull/684) | Adding support for FirebaseUser.delete() |
+| [flutter/plugins#668](https://github.com/flutter/plugins/pull/668) | Android and iOS implementations of LabelDetector |
+| [flutter/plugins#683](https://github.com/flutter/plugins/pull/683) | Adding support to setLanguageCode to FirebaseAuth |
+| [flutter/plugins#617](https://github.com/flutter/plugins/pull/617) | Add high resolution iOS photo capture for file |
+| [flutter/plugins#681](https://github.com/flutter/plugins/pull/681) | Fix formatting |
+| [flutter/plugins#675](https://github.com/flutter/plugins/pull/675) | Bump Firebase Android dependencies |
+| [flutter/plugins#669](https://github.com/flutter/plugins/pull/669) | Update README with new detectors |
+| [flutter/plugins#670](https://github.com/flutter/plugins/pull/670) | Fix auto phone auth |
+| [flutter/plugins#661](https://github.com/flutter/plugins/pull/661) | Android and iOS FaceDetector |
+| [flutter/plugins#667](https://github.com/flutter/plugins/pull/667) | Fix plugin formatting |
+| [flutter/plugins#666](https://github.com/flutter/plugins/pull/666) | bump firebase_auth version |
+| [flutter/plugins#606](https://github.com/flutter/plugins/pull/606) | Add phone auth |
+| [flutter/plugins#662](https://github.com/flutter/plugins/pull/662) | Dart side of label detector |
+| [flutter/plugins#454](https://github.com/flutter/plugins/pull/454) | Fix behavior of constructor for named FirebaseApps |
+| [flutter/plugins#649](https://github.com/flutter/plugins/pull/649) | Dart side of face detector |
+| [flutter/plugins#455](https://github.com/flutter/plugins/pull/455) | Fix FirebaseApp projectID on iOS |
+| [flutter/plugins#646](https://github.com/flutter/plugins/pull/646) | Add barcode detector for ML Vision |
+| [flutter/plugins#456](https://github.com/flutter/plugins/pull/456) | Bump Flutter SDK requirement |
+| [flutter/plugins#444](https://github.com/flutter/plugins/pull/444) | Don't fail an incremental build if can't find a merge base |
+| [flutter/plugins#453](https://github.com/flutter/plugins/pull/453) | [Image Picker] - Use native Android APIs for taking images with camera and remove unneeded 3rd party dependency |
+| [flutter/plugins#620](https://github.com/flutter/plugins/pull/620) | Fixed bug in handleStopListeningAuthState method |
+| [flutter/plugins#437](https://github.com/flutter/plugins/pull/437) | Enable playing video from local asset. |
+| [flutter/plugins#462](https://github.com/flutter/plugins/pull/462) | Play video from file descriptor |
+| [flutter/plugins#635](https://github.com/flutter/plugins/pull/635) | Configured macOS builds on Cirrus CI |
+| [flutter/plugins#634](https://github.com/flutter/plugins/pull/634) | Fixed typo REVERSED_CLIENT_ID |
+| [flutter/plugins#613](https://github.com/flutter/plugins/pull/613) | video_player: autodetect video source format |
+| [flutter/plugins#624](https://github.com/flutter/plugins/pull/624) | video_player: Allow audio playback in silent mode |
+| [flutter/plugins#622](https://github.com/flutter/plugins/pull/622) | video_player: frame accurate seekTo on iOS |
+| [flutter/plugins#596](https://github.com/flutter/plugins/pull/596) | Add receiving dynamic link capability to Firebase Dynamic Links Plugin |
+| [flutter/plugins#633](https://github.com/flutter/plugins/pull/633) | image_picker record video iOS needed setup README update |
+| [flutter/plugins#636](https://github.com/flutter/plugins/pull/636) | Added comments explaining the time it take to see results |
+| [flutter/plugins#632](https://github.com/flutter/plugins/pull/632) | Add cloud_functions to README |
+| [flutter/plugins#623](https://github.com/flutter/plugins/pull/623) | Shard plugins for example app builds |
+| [flutter/plugins#627](https://github.com/flutter/plugins/pull/627) | Setup ios text detector |
+| [flutter/plugins#464](https://github.com/flutter/plugins/pull/464) | rename the analysis options file |
+| [flutter/plugins#630](https://github.com/flutter/plugins/pull/630) | Fix CI breakage |
+| [flutter/plugins#465](https://github.com/flutter/plugins/pull/465) | Fix firebase_database dependencies |
+| [flutter/plugins#625](https://github.com/flutter/plugins/pull/625) | add didReceiveRegistrationToken to firebase_messaging on ios |
+| [flutter/plugins#621](https://github.com/flutter/plugins/pull/621) | Make sensors package Dart 2 compliant. |
+| [flutter/plugins#612](https://github.com/flutter/plugins/pull/612) | video_player: iOS add missing observer removals |
+| [flutter/plugins#614](https://github.com/flutter/plugins/pull/614) | Setup dart side of local MLVision text detection |
+| [flutter/plugins#618](https://github.com/flutter/plugins/pull/618) | Add camera plugin to readme |
+| [flutter/plugins#615](https://github.com/flutter/plugins/pull/615) | Ensure we fail if we cannot close file |
+| [flutter/plugins#513](https://github.com/flutter/plugins/pull/513) | use temp image file in cacheDir to allow picking from remote resources |
+| [flutter/plugins#463](https://github.com/flutter/plugins/pull/463) | Add map camera control API |
+| [flutter/plugins#575](https://github.com/flutter/plugins/pull/575) | Add test for Remote Config setDefaults |
+| [flutter/plugins#609](https://github.com/flutter/plugins/pull/609) | Initial 'flutter create' for Firebase ML Vision plugin |
+| [flutter/plugins#610](https://github.com/flutter/plugins/pull/610) | Update metadata for republish |
+| [flutter/plugins#600](https://github.com/flutter/plugins/pull/600) | image_picker fixes: file suffix, permissions redirect, video resize |
+| [flutter/plugins#467](https://github.com/flutter/plugins/pull/467) | Added getAll for debugging purposes |
+| [flutter/plugins#602](https://github.com/flutter/plugins/pull/602) | Hotfix - iOS Sharing |
+| [flutter/plugins#468](https://github.com/flutter/plugins/pull/468) | Make shared preferences ready for publication |
+| [flutter/plugins#477](https://github.com/flutter/plugins/pull/477) | Fix macOS build |
+| [flutter/plugins#597](https://github.com/flutter/plugins/pull/597) | video_player: use exoplayer for better video compatibility |
+| [flutter/plugins#594](https://github.com/flutter/plugins/pull/594) | Add Infowindow tapped handler; also rev. google play services to 15.+… |
+| [flutter/plugins#471](https://github.com/flutter/plugins/pull/471) | Readme.md should use gender enum constants |
+| [flutter/plugins#457](https://github.com/flutter/plugins/pull/457) | Add download url support to Firebase Storage plugin |
+| [flutter/plugins#599](https://github.com/flutter/plugins/pull/599) | Fixed dynamic link dartdoc generation |
+| [flutter/plugins#601](https://github.com/flutter/plugins/pull/601) | Add static_framework to Google Maps pod |
+| [flutter/plugins#598](https://github.com/flutter/plugins/pull/598) | Fixed incorrect homepage link in pubspec. |
+| [flutter/plugins#589](https://github.com/flutter/plugins/pull/589) | Upgrade Gradle dependencies to match Android Studio 3.1.2 |
+| [flutter/plugins#459](https://github.com/flutter/plugins/pull/459) | Add unit test for firebase_list |
+| [flutter/plugins#563](https://github.com/flutter/plugins/pull/563) | Firebase dynamic links |
+| [flutter/plugins#474](https://github.com/flutter/plugins/pull/474) | Bump Flutter SDK constraint |
+| [flutter/plugins#590](https://github.com/flutter/plugins/pull/590) | Fix test for sync-async semantics |
+| [flutter/plugins#479](https://github.com/flutter/plugins/pull/479) | Add id getter to Firestore CollectionReference and move path getter to CollectionReference |
+| [flutter/plugins#588](https://github.com/flutter/plugins/pull/588) | Consolidate .gitignore, remove Podfile |
+| [flutter/plugins#583](https://github.com/flutter/plugins/pull/583) | Add video player buffering status |
+| [flutter/plugins#577](https://github.com/flutter/plugins/pull/577) | Performance metrics |
+| [flutter/plugins#585](https://github.com/flutter/plugins/pull/585) | Update .gitignore to new `dart_tool` pub cache |
+| [flutter/plugins#586](https://github.com/flutter/plugins/pull/586) | Update README.md |
+| [flutter/plugins#581](https://github.com/flutter/plugins/pull/581) | Firebase Messaging : On Android, when the Activity is killed, the onLaunch is never using the correct Intent |
+| [flutter/plugins#580](https://github.com/flutter/plugins/pull/580) | Add stub for In-app purchase plugin |
+| [flutter/plugins#579](https://github.com/flutter/plugins/pull/579) | Document Google OAuth scopes |
+| [flutter/plugins#537](https://github.com/flutter/plugins/pull/537) | Release several FlutterFire plugins as 1.0 |
+| [flutter/plugins#458](https://github.com/flutter/plugins/pull/458) | Camera plugin first working version (IOS and Android). |
+| [flutter/plugins#509](https://github.com/flutter/plugins/pull/509) | Add gravity-independent-accelerometer support to sensors. |
+| [flutter/plugins#576](https://github.com/flutter/plugins/pull/576) | google_maps_flutter: Remove listeners on State.dispose |
+| [flutter/plugins#573](https://github.com/flutter/plugins/pull/573) | Added App name data to package_info |
+| [flutter/plugins#574](https://github.com/flutter/plugins/pull/574) | Remove useless code that was causing a crash |
+| [flutter/plugins#555](https://github.com/flutter/plugins/pull/555) | Await RemoteConfig#setDefaults and README fix |
+| [flutter/plugins#478](https://github.com/flutter/plugins/pull/478) | Support for firebase_core interoperating with native code that configures Firebase apps. |
+| [flutter/plugins#466](https://github.com/flutter/plugins/pull/466) | Prevent crash on share on iPads, add ability to specify popover origin |
+| [flutter/plugins#567](https://github.com/flutter/plugins/pull/567) | Fixed a bug that may not be initialized after video started on iOS |
+| [flutter/plugins#482](https://github.com/flutter/plugins/pull/482) | Fix firebase_core project id on Android. |
+| [flutter/plugins#556](https://github.com/flutter/plugins/pull/556) | Support custom metadata |
+| [flutter/plugins#571](https://github.com/flutter/plugins/pull/571) | Update metadata for republication |
+| [flutter/plugins#570](https://github.com/flutter/plugins/pull/570) | Update metadata for republish |
+| [flutter/plugins#558](https://github.com/flutter/plugins/pull/558) | Adding null-safe handling for Transaction.get in cloud_firestore |
+| [flutter/plugins#561](https://github.com/flutter/plugins/pull/561) | New with 0.7 |
+| [flutter/plugins#569](https://github.com/flutter/plugins/pull/569) | Fix for iOS Firebase API changes |
+| [flutter/plugins#481](https://github.com/flutter/plugins/pull/481) | Add marker API |
+| [flutter/plugins#559](https://github.com/flutter/plugins/pull/559) | upgrade cocoapods on travis |
+| [flutter/plugins#557](https://github.com/flutter/plugins/pull/557) | Fix for 2 bugs in the Video Player plugin |
+| [flutter/plugins#560](https://github.com/flutter/plugins/pull/560) | Don't do reentrant message channel calls. |
+| [flutter/plugins#542](https://github.com/flutter/plugins/pull/542) | Add signinWithTwitter |
+| [flutter/plugins#476](https://github.com/flutter/plugins/pull/476) | Multiple app support for cloud_firestore |
+| [flutter/plugins#550](https://github.com/flutter/plugins/pull/550) | Split files into library structure. |
+| [flutter/plugins#552](https://github.com/flutter/plugins/pull/552) | Add missing await to for transaction in Firestore README |
+| [flutter/plugins#551](https://github.com/flutter/plugins/pull/551) | Update Remote Config plugin |
+| [flutter/plugins#376](https://github.com/flutter/plugins/pull/376) | Support for Query.getDocuments |
+| [flutter/plugins#485](https://github.com/flutter/plugins/pull/485) | Add required argument to Firebase admob readme |
+| [flutter/plugins#545](https://github.com/flutter/plugins/pull/545) | API documentation and cleanup |
+| [flutter/plugins#546](https://github.com/flutter/plugins/pull/546) | Add firebase_remote_config to the README.md and FlutterFire.md |
+| [flutter/plugins#548](https://github.com/flutter/plugins/pull/548) | Update firebase storage version and changelog |
+| [flutter/plugins#532](https://github.com/flutter/plugins/pull/532) | Add timeout properties to FirebaseStorage |
+| [flutter/plugins#442](https://github.com/flutter/plugins/pull/442) | Add Firestore transaction example |
+| [flutter/plugins#536](https://github.com/flutter/plugins/pull/536) | Breaking changes to signature of snapshots and setData in cloud_firestore |
+| [flutter/plugins#533](https://github.com/flutter/plugins/pull/533) | Add support to reload firebase user |
+| [flutter/plugins#473](https://github.com/flutter/plugins/pull/473) | Add Blob support to cloud_firestore |
+| [flutter/plugins#492](https://github.com/flutter/plugins/pull/492) | Add ui configuration api |
+| [flutter/plugins#493](https://github.com/flutter/plugins/pull/493) | Add constructor VideoPlayerController.file() |
+| [flutter/plugins#530](https://github.com/flutter/plugins/pull/530) | Add test for Facebook link |
+| [flutter/plugins#529](https://github.com/flutter/plugins/pull/529) | Add send verification mail |
+| [flutter/plugins#527](https://github.com/flutter/plugins/pull/527) | Add link with facebook credential |
+| [flutter/plugins#524](https://github.com/flutter/plugins/pull/524) | Support FirebaseStorage with custom Firebase app |
+| [flutter/plugins#498](https://github.com/flutter/plugins/pull/498) | Updated plugin channel names to 'plugins.flutter.io/<plugin>' |
+| [flutter/plugins#495](https://github.com/flutter/plugins/pull/495) | Firestore readme fix |
+| [flutter/plugins#496](https://github.com/flutter/plugins/pull/496) | Video player fix for looping value on ios |
+| [flutter/plugins#521](https://github.com/flutter/plugins/pull/521) | Run java tests on Travis and Cirrus CI |
+| [flutter/plugins#517](https://github.com/flutter/plugins/pull/517) | Remove Gradle artifacts from repo |
+| [flutter/plugins#499](https://github.com/flutter/plugins/pull/499) | AdMob Readme Enhancement |
+| [flutter/plugins#511](https://github.com/flutter/plugins/pull/511) | Add ability to create games sign in |
+| [flutter/plugins#461](https://github.com/flutter/plugins/pull/461) | [Image Picker] Add tests to Android implementation of ImagePickerDelegate |
+| [flutter/plugins#502](https://github.com/flutter/plugins/pull/502) | Add some support for StorageMetadata. |
+| [flutter/plugins#514](https://github.com/flutter/plugins/pull/514) | Fix Dart2 Types |
+| [flutter/plugins#516](https://github.com/flutter/plugins/pull/516) | Add flutter_test dev dependency |
+| [flutter/plugins#512](https://github.com/flutter/plugins/pull/512) | Support StorageReference#writeToFile |
+| [flutter/plugins#515](https://github.com/flutter/plugins/pull/515) | Add environment to Remote Config plugin pubspec |
+| [flutter/plugins#391](https://github.com/flutter/plugins/pull/391) | Add Firebase Remote Config support |
+| [flutter/plugins#510](https://github.com/flutter/plugins/pull/510) | Add more getters to StorageReference |
+| [flutter/plugins#505](https://github.com/flutter/plugins/pull/505) | [Image Picker] - Add contract tests for Android implementation |
+| [flutter/plugins#506](https://github.com/flutter/plugins/pull/506) | Add support for putData on StorageReference |
+| [flutter/plugins#504](https://github.com/flutter/plugins/pull/504) | Allow null value for startAt, endAt and equalTo database queries on Android |
+| [flutter/plugins#503](https://github.com/flutter/plugins/pull/503) | Add support for updateMetadata |
+| [flutter/plugins#538](https://github.com/flutter/plugins/pull/538) | Graduate admob plugin to beta |
diff --git a/docs/unsorted_wiki/Release-Notes---Flutter-1.2.1.md b/docs/unsorted_wiki/Release-Notes---Flutter-1.2.1.md
new file mode 100644
index 0000000..8f94a93
--- /dev/null
+++ b/docs/unsorted_wiki/Release-Notes---Flutter-1.2.1.md
@@ -0,0 +1,2 @@
+This page has moved [here](https://flutter.dev/docs/development/tools/sdk/release-notes/release-notes-1.2.1).
+See also [[Release Notes - Changes in 1.2.1]].
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Release-Notes-Flutter-1.5.4.md b/docs/unsorted_wiki/Release-Notes-Flutter-1.5.4.md
new file mode 100644
index 0000000..958a06e
--- /dev/null
+++ b/docs/unsorted_wiki/Release-Notes-Flutter-1.5.4.md
@@ -0,0 +1 @@
+This page has moved [here](https://flutter.dev/docs/development/tools/sdk/release-notes/release-notes-1.5.4).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Release-Notes-Flutter-1.7.8.md b/docs/unsorted_wiki/Release-Notes-Flutter-1.7.8.md
new file mode 100644
index 0000000..9e522fe
--- /dev/null
+++ b/docs/unsorted_wiki/Release-Notes-Flutter-1.7.8.md
@@ -0,0 +1 @@
+This page has moved [here](https://flutter.dev/docs/development/tools/sdk/release-notes/release-notes-1.7.8).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Release-Notes-Flutter-1.9.1.md b/docs/unsorted_wiki/Release-Notes-Flutter-1.9.1.md
new file mode 100644
index 0000000..b99a822
--- /dev/null
+++ b/docs/unsorted_wiki/Release-Notes-Flutter-1.9.1.md
@@ -0,0 +1,3 @@
+This page has moved [here](https://flutter.dev/docs/development/tools/sdk/release-notes/release-notes-1.9.1).
+
+_See also: [[State of Catalina Support]]_
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Release-process.md b/docs/unsorted_wiki/Release-process.md
new file mode 100644
index 0000000..1df3f0e
--- /dev/null
+++ b/docs/unsorted_wiki/Release-process.md
@@ -0,0 +1,81 @@
+# Release Process
+
+This page documents the processes involved with creating new Flutter releases. If you're interested in learning more about why certain branch points are chosen, or how releases are built, continue reading. If you're looking for the current release info, see the appendix at the bottom.
+
+## Creating new branches
+
+Flutter's has [a list of candidate branches](https://github.com/flutter/flutter/branches/all?query=flutter-), following the format of `flutter-X.Y-candidate.Z`. These are created whenever Flutter is rolled into Google's internal systems. For Googlers, see go/flutter-life-of-a-pr. Generally, these branches are created every few days, and stabilized so they don't break Google tests (such as reverting commits with breakages).
+
+## Selecting a candidate branch
+
+At the start of every month, Flutter aims to ship a new beta to users. We prefer picking the most recent candidate branches for betas, but there are some things we check for:
+1. Dart version is ok to ship.
+
+ A. Verify the version has been rolled and verified in Google's internal codebase
+
+ B. Dart team is ok with shipping this release
+
+2. No risky changes (such as large scale changes being in progress on the branch)
+3. Timing makes sense
+ A. For betas that will be promoted to stable, announcements are sent to contributors about the cutoff date. A beta may be held to ensure the cut off date has had a branch point
+
+## Conducting releases
+
+[Conductor](https://github.com/flutter/flutter/tree/master/dev/conductor) is a release tool written in Dart to drive Flutter releases. It's the source of truth for what's needed to ship a release. Generally, it can promote candidate branches to betas, betas to stable, and hotfix releases. It handles the nuances of git, such as pushes, cherrypicks, and tagging, and the complexities of Flutter, such as rolling and release infra.
+
+A Flutter release is very similar to what would be seen on the master branch, with some exceptions:
+1. Ensure all builds and tests are green
+2. Mac engine binaries are codesigned with a flutter.dev account
+3. [Versions are tagged](https://github.com/flutter/flutter/tags)
+
+ A. Stable follows the format of `X.Y.Z`
+
+ B. Beta follows the format of `X.Y.Z-M.N.pre`, where M=number of candidate branches since last beta, and N=number of hotfixes since branching
+
+4. Engine artifacts are packaged and published to flutter.dev
+5. api.flutter.dev is updated with the latest docs
+
+### Release Process
+
+Prework: Ensure Flutter's release infrastructure is branched for the current version.
+
+1. Apply any Dart cherry-picks to the Dart branch
+2. Roll Dart into [flutter/engine](https://github.com/flutter/engine)
+3. Apply any engine cherry-picks
+4. Verify all engine builds are green
+5. Sign engine binaries
+6. Roll engine in [flutter/flutter](https://github.com/flutter/flutter)
+7. Apply any framework CPs
+8. Verify all framework tests are green
+9. Push release to the beta or stable branch, and tag it
+
+ A. This then triggers our packaging builders to update the website
+
+### Hot-fixing releases
+
+[Cherry-pick requests are triaged](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22cp%3A+review%22), and determined if they need a hot-fix. Features are not permitted to be hot-fixed into a release. Approved CP requests are then included in the weekly hot-fix.
+
+Hot-fixes follow the same release process.
+
+## FAQ
+
+### What is packaging?
+
+Packaging is the process of creating an offline zip that includes everything needed to run flutter. Generally, it's a git checkout with `flutter precache` run.
+
+### What version strategy does Flutter use?
+
+Flutter does not use semver. Generally, our increments happen based on time intervals. Z is incremented whenever we ship a weekly hotfix.
+
+### Why do releases require a force push?
+
+Since `stable` and `beta` are branches, new Y releases require a force push. This is due to us not merging the release branch back into main.
+
+## See also
+
+- [[Cherrypicks|Flutter Cherrypick Process]]
+- [[Quality Assurance]]
+- [[Release channels|Flutter build release channels]]
+- [[Release versioning]]
+- [SDK Releases](https://docs.flutter.dev/development/tools/sdk/releases?tab=linux)
+- [[Where's my Commit?]]
diff --git a/docs/unsorted_wiki/Release-versioning.md b/docs/unsorted_wiki/Release-versioning.md
new file mode 100644
index 0000000..242ea25
--- /dev/null
+++ b/docs/unsorted_wiki/Release-versioning.md
@@ -0,0 +1,25 @@
+### Stable (example: 3.3.0)
+Flutter releases are identified by a modified [CalVer](https://calver.org/) scheme.
+
+X: Major - Incremented when the product team decides there are features impactful enough to increment this value.
+
+Y: Minor - Incremented on a monthly basis.
+- Example: Flutter 3.0.0 shipped May 2022, meaning an August 2022 release would put the Flutter version at 3.3.0 as it is 3 months after the last stable release.
+
+Z: Patch - Incremented whenever a hotfix is applied to the current stable release.
+### Beta (example: 3.3.0-5.0.pre)
+X: Major - Same as above
+
+Y: Minor - Same as above
+
+Z: Reserved - This number is always 0.
+
+M: Branch Identifier - When bringing the repository into Google3, we ensure that commits do not break tests. Once testing is complete and changes have been brought in to Google3, we create a branch based on the current snapshot that has passed all tests. These snapshots are named flutter-X.Y-candidate.M
+
+N: Patch - Incremented whenever a hotfix is applied to the beta release.
+
+Pre: pre-release - Identifies the release as a beta.
+
+### Tagging Releases
+Each release is tagged during the release process. These tags are a snapshot of the repository at a specific commit. Tagged releases can be found [here](https://github.com/flutter/flutter/tags).
+Example: Flutter 3.3.0 is tagged as [3.3.0](https://github.com/flutter/flutter/releases/tag/3.0.0) aliasing commit [ee4e09c](https://github.com/flutter/flutter/commit/ee4e09cce01d6f2d7f4baebd247fde02e5008851).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Releasing-a-Plugin-or-Package.md b/docs/unsorted_wiki/Releasing-a-Plugin-or-Package.md
new file mode 100644
index 0000000..84fae92
--- /dev/null
+++ b/docs/unsorted_wiki/Releasing-a-Plugin-or-Package.md
@@ -0,0 +1,70 @@
+Any PR that changes a package's version (which should be most PRs) should be published
+to pub.dev.
+
+_See also: [[Package migration to 1.0.0]]_
+
+## Automatic release
+
+The packages in flutter/packages are automatically released with a Github Action workflow named [“release”](https://github.com/flutter/packages/blob/main/.github/workflows/release.yml). If a commit on master branch contains version updates to one or more packages, the “release” CI will publish the new versions to pub.dev and push the release tag to GitHub. The “release” CI passes if
+1. the release process is successful, or
+2. there are no version updates in the commit, or
+3. the new versions have already been published.
+
+If you are a Flutter team member at Google and you need access to the publisher account, please see b/191674407.
+
+The “release” CI only runs on post-submit, and waits until all the other CI jobs have passed before starting. Like any other CI job, The “release” CI blocks future PRs if failed.
+
+_Note: the “release” CI does not automatically publish the `flutter_plugin_tools` package._
+
+### New packages
+
+When a new package is released for the first time, it will be owned by the publisher account rather than the flutter.dev verified publisher. Someone with access (see above) needs to log into pub.dev with the publisher account and transfer the package to the verified publisher using the package's Admin tab.
+
+### What if the “release” CI failed?
+
+If it is a flake (for example, network issue), a Flutter team member can simply run the CI again. For more complicated cases, a Flutter team member can also manually release the packages, then re-run the CI to pass.
+
+The most common source of failure of the `release` task is that another test failed; if that is due to flake, you will need to first re-run the failing test task, then once it's green re-run `release`.
+
+## Manual release (only when necessary)
+
+If something has gone wrong that prevents auto-publishing—most commonly, an out-of-band breakage that caused post-submit tests to fail for reasons unrelated to the PR that should have been published—a Flutter team member can publish manually. (An alternative to publishing manually is to revert and re-land the relevant PR; this is especially worth considering for PRs that affect many plugins.)
+
+Some things to keep in mind before publishing the release:
+
+- Is the post-submit CI for that commit green? Or if not (due to OOB breakage), is a subsequent post-submit green without having changed anything related to the plugin? Always check the post-submit CI before publishing.
+- [Publishing is
+ forever.](https://dart.dev/tools/pub/publishing#publishing-is-forever)
+ Hopefully any bugs or breaking in changes in this PR have already been caught
+ in PR review, but now's a second chance to revert before anything goes live.
+- "Don't deploy on a Friday." Consider carefully whether or not it's worth
+ immediately publishing an update before a stretch of time where you're going
+ to be unavailable. There may be bugs with the release or questions about it
+ from people that immediately adopt it, and uncovering and resolving those
+ support issues will take more time if you're unavailable.
+
+To release a package:
+1. `git checkout <commit_hash_to_publish>`. This should be the commit of the
+ PR you are publishing unless there's a very, **very** good reason you are using
+ a different version.
+1. Ensure that `git status` is clean, and that there are no extra files in
+ your local repository (e.g., via `git clean -xfd`).
+1. Use the [`publish` command from
+ `flutter_plugin_tools`](https://github.com/flutter/packages/blob/main/script/tool/README.md).
+ This command checks that you've done the step above, publishes the new version to pub.dev,
+ and tags the commit in the format of `<package_name>-v<package_version>` then pushes
+ it to the upstream repository.
+
+### Fully manual backup option
+
+If for some reason you can't use `flutter_plugin_tools` in step 3, you can publish manually:
+ 1. Push the package update to [pub.dev](https://pub.dev) using `dart pub publish`.
+ 2. Tag the commit with `git tag` in the format of `<package_name>-v<package_version>`
+ 3. Push the tag to the upstream master branch with `git push upstream <tagname>`.
+
+## Recovering from a bad release
+
+Sometimes, despite our best efforts, breakage is found only after a package is published. Unlike flutter/engine or flutter/flutter a breaking PR that has been published **cannot be directly reverted**, since that would revert to an earlier, also-already-published version, which cannot be published. To fix published breakage:
+1. Land a fix as a new version. This can either be a revert with version and CHANGELOG updates, or a fix-forward, depending on the situation.
+2. **Optional**: If the release was within the last seven days, anyone in the 'flutter.dev' publisher group can retract the bad version, using the Admin tab on the package's pub.dev page. This step is especially useful if the problem was related to a bad Flutter or Dart version constraint (i.e., the package relies on functionality from a new version of Flutter or Dart, but doesn't set that minimum), to ensure that package clients on that old version don't still resolve to the broken version even once a new version with the constraint fixed is released. It can also be useful an immediate-term step while the fixed version is being rolled out, to prevent more people from being broken while the fix is prepared.
+ * If a package is retracted, this should if at all possible be in conjunction with releasing a fixed version, not instead, to make it easy for already-broken users to get to a fixed state.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Resolving-common-build-failures.md b/docs/unsorted_wiki/Resolving-common-build-failures.md
new file mode 100644
index 0000000..6825f65
--- /dev/null
+++ b/docs/unsorted_wiki/Resolving-common-build-failures.md
@@ -0,0 +1,42 @@
+# Why does my build fail?
+
+Flutter utilizes native build systems on Android and iOS.
+As these systems evolve and introduce additional features on their own pace, developers sometimes need to re-adjust the configuration to prevent build failures.
+
+This page collects such errors and the standard procedure to work around them.
+
+## Android
+
+Android builds are handled by the Gradle tool, which is configured using .gradle files.
+Android Apps themselves are packaged, compiled & optimized by a variety of tools - all being orchestrated by the Android Gradle Plugin (AGP).
+
+Usually, Android Studio and AGP are aligned in their versions. Android Studio also contains a few assistants to smoothen the upgrade process for existing projects.
+
+### Quick Fix (suitable for most build errors)
+
+- Open Android Studio
+- Use the File Menu, then "Check for Updates" & retrieve the latest version if necessary
+- After the upgrade, use the File Menu and open the "android/build.gradle" or "example/android/build.gradle" file directly. Android Studio will then import the Android portion of the project and will offer you to upgrade the Gradle plugin and the Gradle wrapper
+- If you develop a plugin, you need to manually check `android/build.gradle` and `example/android/build.gradle` afterwards and ensure they are referring to the same AGP version
+
+### Minimum supported Gradle version is 5.4.1. Current version is 4.10.2.
+
+In this example, the Gradle plugin upgrade was stopped mid-way and the build can not continue.
+
+To fix it, open `android/gradle/wrapper/gradle-wrapper.properties` (`example/android/gradle/wrapper/gradle-wrapper.properties` if you develop a plugin) and replace the version in there with the required version.
+
+### The Android Gradle plugin only supports Kotlin Gradle Plugin 1.3.10 or higher
+
+With the steps above, only AGP and the wrapper got upgraded. The Kotlin compiler infrastructure is a secondary dependency which is also dependent on certain AGP/Gradle versions.
+To resolve it:
+ - Scan your build.gradle files for a placeholder like `ext.kotlin_version = '1.2.71'` and replace it with the latest Kotlin version (or the version named in the error message).
+ - Android Studio can recommend the latest version, if you open the build.gradle file in it
+ - New Kotlin versions introduce language & syntax optimizations; it is therefore recommended to use Android Studio again and open the native part of the App (see above) and let it run a full compilation, including a clean operation. Android Studio will report build failures and suggestions to optimize your code.
+
+### Gradle task assembleDebug failed with exit code 1
+
+If `assembleDebug` or `assembleRelease` failed but no error message can be seen, you are likely on a older Flutter version (`<= 1.9.1.hotfix4`) which may suppress the root cause of the error.
+
+This problem can be solved in two ways:
+ - Please try a more recent channel, like `beta` or `dev` and restart the compilation. It may still fail, but the error will now be printed
+ - Open the `$FLUTTER_ROOT/packages/flutter_tools/gradle/flutter.gradle` file in your local installation and comment the line which reads `gradle.useLogger(new FlutterEventLogger())`, then retry your build
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Retrospective-Flutter-2.8-Stable-Release.md b/docs/unsorted_wiki/Retrospective-Flutter-2.8-Stable-Release.md
new file mode 100644
index 0000000..2f3cb20
--- /dev/null
+++ b/docs/unsorted_wiki/Retrospective-Flutter-2.8-Stable-Release.md
@@ -0,0 +1,89 @@
+# Flutter 2.8 Stable Retrospective
+Date: 16 December 2021
+
+Facilitator: Kevin Chisholm
+## Attendees
+1. Nuritzi Sanchez
+1. Alexander Thomas
+1. Godofredo Contreras
+1. Vijay Menon
+1. Devon Carew
+1. Ian Hickson
+1. Devon Carew
+1. Todd Volkert
+1. Khyati Mehta
+1. Eric Seidel
+1. Christopher Fujino
+1. Andrew Brogdon
+1. Kevin Chisholm
+
+
+## Retrospective Guidelines
+### Blameless
+Focus on the actions and behaviors, not the people. Our retrospectives should be a safe place to reflect on what we can do to improve as a team.
+### Inclusive
+All input is valuable, we should never make someone feel as if their thoughts and contributions are not valued.
+### Actionable
+Work toward defining the issues that can be actioned on to be more successful in the future.
+## Retrospective Items
+### What went well
+* We released a quality SDK on the expected date.
+ * No P0 issues to hotfix.
+* Our infrastructure and test owners responded rapidly to the chat allowing us to address issues.
+* The social team was proactive in keeping customers informed.
+* Were able to delay blog post and docs.
+ * Got them out in time after the release was available.
+### Challenges
+* We did not properly take into account how long the release would take.
+* We had no process to separate the build from the release.
+* Documentation is lacking / not prescriptive enough to accurately describe the entire process.
+ * Release documentation. We have a lot of documentation, but it’s not consolidated into a single source of truth with handoffs and DRIs (directly responsible individuals)
+ * A lot of this release seemed based on undocumented institutional knowledge.
+ * Didn’t find info about dot releases and cherrypicking. Not written down anywhere.
+* We incorrectly tagged the Dart commit.
+* We did not have the Dart commit hash posted in the release engineering doc.
+* Missed deadline by 8 hours.
+ * PM team had to do extra work and expend their social capital.
+* We need documentation for the binary signing process.
+ * We may not have benefited from publishing the Dart SDK release earlier. We had the Dart stable hash on Friday, but did not properly communicate it to the release engineer. As soon as the Dart hash exists, Flutter and Dart release processes are independent, so if we had published it on Monday or Tuesday it wouldn’t have helped.
+ * Right now we start betas on a certain day and then stable have to be shipped on a certain day. We may need to rethink this and standardize.
+* Fixes were needed to the stable bots (they were not the same as commit-bots/beta bots).
+ * Java version was wrong.
+ * Properties used to select the correct versions of artifacts were missing.
+Xcode/Mac/iOS were force updated in between the beta to stable time window
+ * Web Engine Framework, Framework sdk tests in the engine failed because they used the master version of framework with old version of engine.
+ * Branch configurations were updated after landing the PR causing multiple purples and several manual retries.
+
+### How can we improve [30 Minutes]
+* Build Flutter in advance.
+ * Should have been done the day before and pushed the morning of.
+ * Do most of the build and release process in advance; on the day-of, do the tagging / packaging work (<1 hr, and a predictable process).
+ * How early we can release may be determined by what bugs we need to hotfix.
+ * Docs need to be updated after the branch push
+ * What is the delta between the master and stable branch?
+ * ~6 days
+* Create a solid release playbook on the wiki to be followed.
+ * Should be clear enough that two interns (meaning, two inexperienced people new to the team who have the appropriate permissions) should be able to make a release without supervision while everyone else is on vacation. (It has to be two because you need two people to authorize a release).
+ * https://github.com/flutter/flutter/wiki/Release-process should be (or point to) that process doc; other pages on the wiki should be up to date also.
+* Align beta and stable release processes.
+* Practice release dry runs.
+ * Have people who have never followed the steps before practice the steps, to find where the documentation is missing important details.
+* Run retrospectives after every beta and stable release.
+* Improve testing infrastructure.
+* Better define owners.
+* Improve communication.
+* Cherry pick owners were not notified of the release times.
+ * Were not able to resolve issues.
+### Action Items
+
+| Status | Action Item | Owner |
+|--------|-------------|-------|
+| In Progress | Create a single source of truth release playbook unifying the Flutter and Dart release processes | Kevin |
+| In Progress | Rethink timing of releases | Kevin |
+| In Progress | Identify release calendars and make sure they are easily accessible to everyone who needs to see them | Kevin |
+| In Progress | Conduct retrospectives after every release | Kevin |
+| In Progress | Create a release rotation for beta releases | Godofredo |
+| In Progress | Create meeting for Dart / Flutter EngProd teams and TPM team on release weeks | Kevin |
+| In Progress | Clean up and consolidate release documentation | TPM |
+| In Progress | Successfully produce at least 2 betas before our Feb stable to verify that we will be without issues for the Feb stable | Devon / Kevin |
+| In Progress | Consider the milestone flow on github | Ian / Kevin |
diff --git a/docs/unsorted_wiki/Roadmap.md b/docs/unsorted_wiki/Roadmap.md
new file mode 100644
index 0000000..cd98e7c
--- /dev/null
+++ b/docs/unsorted_wiki/Roadmap.md
@@ -0,0 +1,79 @@
+In the interest of transparency, we want to share high-level details of our roadmap, so that others can see our priorities and make plans based off the work we are doing.
+
+Our plans will evolve over time based on customer feedback and new market opportunities. We use our quarterly surveys and feedback on GitHub issues to prioritize work. The list here shouldn't be viewed either as exhaustive, nor a promise that we will complete all this work. If you have feedback about what you think we should be working on, we encourage you to get in touch (e.g. by [filing an issue](https://github.com/flutter/flutter/issues/new/choose), or using the "thumbs-up" emoji reaction on an issue's first comment). Flutter is an open source project, we invite contributions both towards the themes presented below and in other areas.
+
+_If you are a contributor or team of contributors with long-term plans for [contributing to Flutter](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md), and would like your planned efforts reflected in the roadmap, please reach out to Hixie (ian@hixie.ch)._
+
+# 2024
+
+This roadmap is aspirational; it represents some of what our most active contributors to Flutter and Dart have told us they plan to work on this year. It is in general difficult to make any guarantees about engineering work, and it is all the more so for an open source project with hundreds of contributors.
+
+## Core framework & engine
+
+We continue to focus on quality and performance with Impeller. We plan on completing the iOS migration to Impeller by removing the Skia backend on iOS. On Android we expect that Impeller will support Vulkan and OpenGLES; in the near term, we will also have an opt-out to use Skia instead. Additionally, we would like to improve Impeller testing infrastructure to reduce regressions in production.
+
+For the core framework we expect to complete the effort to fully support Material 3. We're also investigating options to generalize the core framework to better support the adaptations needed to meet design expectations on Apple devices, such as app bars and tab bars.
+
+Work is also expected to continue on [blankcanvas](https://docs.google.com/document/d/1rS_RO2DQ_d4_roc3taAB6vXFjv7-9hJP7pyZ9NhPOdA/edit?resourcekey=0-VBzTPoqLwsruo0j9dokuOg).
+
+## Mobile (Android and iOS) platforms
+
+In 2023 we started an initiative to support multiple Flutter views — in 2024 our plan is to extend this support to Android and iOS. We're also working on improving the performance and test coverage/testability of platform views.
+
+We'll continue to modernize iOS offerings by enabling/supporting latest Apple standards, such as the [privacy manifests](https://github.com/flutter/flutter/issues/143232) and [Swift Package Manager](https://github.com/flutter/flutter/issues/33850). We'll also investigate needed support for future Android releases.
+
+On Android we'll look into supporting Kotlin in Android build files.
+
+Interop is important to interface with native code from Dart. We expect to complete the work to support [invoking Objective C](https://dart.dev/interop/objective-c-interop) code directly from Dart, and we'll investigate support to invoke Swift code directly. Likewise for Android, we'll continue work on the support to [call into Java and Android](https://dart.dev/interop/java-interop). We'll also look into better support for calling APIs that might only be invoked on the main OS/platform thread.
+
+We're seeing an increasing trend that larger Flutter apps often start as hybrid apps (an app that contains both Flutter code and some Android/iOS platform code/UI). We'll look into how we can better support this, both in terms of performance/overhead and developer ergonomics.
+
+## Web platform
+
+We'll continue to focus on performance and quality, including investigating reducing the overall application size, better use of multi-threading, supporting platform views, improving app load times, making CanvasKit the default renderer, improving text input, and investigating options for supporting [SEO for Flutter web](https://github.com/flutter/flutter/issues/46789).
+
+We expect to complete the effort to compile Dart to WasmGC, and with that support [Wasm compilation of Flutter web apps](https://docs.flutter.dev/platform-integration/web/wasm). This also includes a [new JS interop](https://github.com/dart-lang/sdk/issues/35084) mechanism for Dart that supports both JS and Wasm compilation.
+
+We also plan to resume work to support [hot reload on the web](https://github.com/flutter/flutter/issues/53041).
+
+## Desktop platforms
+
+While we expect the majority of our time to be spent on mobile and web platforms (as discussed above), we are still planning some advancements on desktop platforms:
+
+* We're hoping to make progress on supporting platform views [on macOS](https://github.com/flutter/flutter/issues/41722) and [Windows](https://github.com/flutter/flutter/issues/31713), and with that enable support for things like webview.
+* On Linux, our focus will be on GTK4 support and accessibility.
+* On all platforms we will continue our work on supporting multiple views from one Dart isolate, with the eventual goal of supporting multiple windows rendering from one widget tree.
+
+## Ecosystem
+
+We're planning on collaborating with AI frameworks to support a new era of AI powered Flutter apps.
+
+We are not planning on expanding the set of [flutter.dev plugins](https://pub.dev/publishers/flutter.dev/packages) we maintain, but will rather focus on raising the quality of the existing plugins, and resolving core feature gaps (for example, investigating an updated [shared_preferences](https://pub.dev/packages/shared_preferences) API that better supports use of isolates and to add-to-app use case). We'll also support community initiatives like [Flutter Favorites](https://pub.dev/packages?q=is%3Aflutter-favorite).
+
+We'll also continue to add support for building casual games with Flutter, as a joint effort with the [Flame](https://flame-engine.org/) community.
+
+## Tooling and AI
+
+We hope to integrate with AI solutions to offer AI assistance for core programming tasks.
+
+We'll also continue to collaborate with Google's [IDX team](https://developers.google.com/idx), and explore integration with design tools.
+
+## Programming language
+
+The Dart team expects to complete the assessment of the viability of supporting [macros](https://github.com/dart-lang/language/issues/1482) in Dart, and in 2024 either ship the first phases of supporting them, or if we discover unmitigable architectural issues, abandon the effort. Key use cases for macros include serialization/deserialization, data classes, and general extensibility.
+
+We'll investigate a number of more incremental language features, such as syntax changes to reduce verbosity (for example, [primary constructors](https://github.com/dart-lang/language/issues/2364) and [import syntax shorthand](https://github.com/dart-lang/language/issues/649)), and better support for statically checked variance.
+
+Finally, we'll look into re-use of Dart business logic in more places, and more pluggability/extensibility for Dart (for example, in DevTools and Analyzer).
+
+## Releases
+
+We plan to have four stable releases and 12 beta releases during 2024, similar to 2023.
+
+## Non-goals
+
+We're still not planning on investing in built-in support for [code push or hot updates](https://github.com/flutter/flutter/issues/14330). For code push, our friends at [shorebird.dev](https://shorebird.dev/) may have offerings of interest. For UI push (also known as server-driven UI), we recommend the [rfw](https://pub.dev/packages/rfw) package.
+
+***
+
+_We maintain an [archive of roadmaps from previous years](https://github.com/flutter/flutter/wiki/%5BArchive%5D-Old-Roadmaps) in a separate page._
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Rolling-Dart.md b/docs/unsorted_wiki/Rolling-Dart.md
new file mode 100644
index 0000000..2b3758f
--- /dev/null
+++ b/docs/unsorted_wiki/Rolling-Dart.md
@@ -0,0 +1,109 @@
+Flutter is a series of connected repositories. Within each repository there are files (normally named `DEPS`) which determine which version of the other repositories the repository currently works with.
+
+The three relevant repositories for this document are:
+
+- Flutter. This is the top half of the Flutter project: [flutter/flutter on GitHub](https://github.com/flutter/flutter)
+- Engine. This is the Flutter Engine, the lower half of the Flutter project: [flutter/engine on GitHub](https://github.com/flutter/engine)
+- Dart SDK. This is the language used for big parts of Flutter: [dart-lang/sdk on GitHub](https://github.com/dart-lang/sdk)
+
+This document describes how to update the version of the Dart SDK that the Engine uses, and then update the version of the Engine that Flutter uses, so that Flutter gets the latest Dart.
+
+The Flutter repo does not use a `DEPS` file and `gclient` for its dependencies. Instead, the Flutter Engine version is in `flutter/bin/internal/engine.version`.
+
+## Dart Autoroller
+
+Dart is now automatically rolled into the Flutter engine repository on a regular basis. See [Autorollers](https://github.com/flutter/flutter/wiki/Autorollers) for more information.
+
+## Using dart_roll_helper.py to roll the version of Dart used by the engine
+
+The `dart_roll_helper.py` script automates a large number of the Dart SDK roll steps, including:
+
+- Updating the Dart revision in DEPS
+- Updating the Dart dependencies in DEPS
+- Syncing dependencies with `gclient sync`
+- Generating GN files for relevant engine configurations
+- Building relevant engine configurations
+- Running tests in 'example/flutter_gallery' and 'packages/flutter'
+- Launching flutter_gallery in release and debug mode
+- Running license.sh and updating license files in
+ 'flutter/ci/licenses_golden'
+- Generating a commit with relevant Dart SDK commit logs (optional)
+
+The following environment variables can be set instead of being passed as
+arguments:
+
+- `$FLUTTER_HOME`: the absolute path to the 'flutter' directory
+- `$ENGINE_HOME`: the absolute path to the 'engine/src' directory
+- `$DART_SDK_HOME`: the absolute path to the root of a Dart SDK project
+
+These paths are required for the tool to work.
+
+Ensure your repository is in a clean state, as `gclient sync` may delete files.
+
+To do a roll, run the following command (if the environment variables described above are not set, `--REPO-home` flags should be provided for each repository):
+
+```console
+python $ENGINE_HOME/tools/dart/dart_roll_helper.py --create-commit $TARGET_SDK_HASH
+```
+
+If the script completes without errors, move on to step 10 in the next section to complete the roll.
+
+## Manually rolling the version of Dart used by the engine
+
+1. Set up your Engine and Flutter environments by following the instructions described in the pages
+ linked to from [our contributing guide](https://github.com/flutter/engine/blob/master/CONTRIBUTING.md).
+2. Build the engine according to the instructions on the [[Compiling the engine]] page.
+3. Select a target Dart revision, typically use the [latest revision](https://github.com/dart-lang/sdk/commits/master). Check that the tests for that revision have all passed (all green) on the [Dart buildbot](https://ci.chromium.org/p/flutter/g/engine/console) and the [Internal Dart Flutter buildbot](https://ci.chromium.org/p/dart/g/flutter/console).
+4. Create a PR (see [[Tree hygiene]]) that updates `dart_revision` in [DEPS](https://github.com/flutter/engine/blob/master/DEPS) to your selected revision. Invoke `gclient sync` in the src directory to ensure versions corresponding to the DEPS file are synched up.
+5. Update all Dart-dependent DEPS entries using `engine/src/tools/dart/create_updated_flutter_deps.py` script. In case script complains that dart dependency was removed, remove entry from flutter DEPS file manually. If the list of library source files or patch files is modified, update the file [libraries.yaml](https://github.com/flutter/engine/blob/master/lib/snapshot/libraries.yaml) and regenerate the corresponding json file.
+6. Invoke `gclient sync` in the src directory to ensure versions corresponding to the DEPS file are synched up
+7. Build the debug, profile, and release versions of the engine, following the normal [[Compiling the engine]] instructions. You will need to build the host versions of the engine too. Here is a script with the build commands:
+
+```bash
+#!/bin/bash -e
+
+set -ex
+
+cd ~/engine/src
+flutter/tools/gn --goma --runtime-mode=debug
+flutter/tools/gn --goma --runtime-mode=profile
+flutter/tools/gn --goma --runtime-mode=release
+flutter/tools/gn --goma --android --runtime-mode=debug
+flutter/tools/gn --goma --android --runtime-mode=profile
+flutter/tools/gn --goma --android --runtime-mode=release
+cd out
+find . -mindepth 1 -maxdepth 1 -type d | xargs -n 1 sh -c 'ninja -C $0 -j1000 || exit 255'
+```
+
+7. Test the engine version you just built against the top of tree flutter/flutter version using the `--local-engine` and `--local-engine-host` options (see [[The flutter tool]]) against the Flutter Gallery app.
+
+```bash
+cd $FLUTTER_HOME/examples/flutter_gallery
+flutter run --release --local-engine=android_release --local-engine-host=host_release
+flutter run --local-engine=android_debug_unopt --local-engine-host=host_debug_unopt
+flutter test --local-engine=host_debug --local-engine-host=host_debug
+```
+
+In the debug version of flutter, run flutter_gallery and do a hot-reload and hot-restart of the app and ensure they both work.
+
+```bash
+cd $FLUTTER_HOME/packages/flutter
+flutter test --local-engine=host_debug --local-engine-host=host_debug
+```
+
+> See [Running a Flutter app with a local engine](https://github.com/flutter/flutter/wiki/Debugging-the-engine#running-a-flutter-app-with-a-local-engine) for more information.
+
+8. Make sure your path contains `engine/src/third_party/dart/tools/sdks/dart-sdk/bin`, run the script `flutter/ci/licenses.sh` in the src directory, update `flutter/ci/licenses_golden/licenses_third_party` by copying `out/license_script_output/licenses_third_party` into it. Include this change in your pull request.
+ **If any licenses changed, make sure to also update the actual `LICENSE` file.**
+
+9. It is useful to include the output of `git log --oneline <old revision>...<new revision>` (executed in the Dart SDK repository) in the commit message.
+
+10. `git push origin <your_roll_branch_name>`
+
+11. Get a code review of the pull request done, check to make sure the [flutter engine build bot](https://build.chromium.org/p/client.flutter/console) is green and merge the pull request.
+
+12. Wait for the [flutter engine build bot](https://ci.chromium.org/p/flutter/g/engine/console) to build your change and go green.
+
+13. Once the bot cycles green, the [[Autorollers]] will roll the engine into the flutter/flutter repo. When this happens, monitor the flutter [build bots](https://flutter-dashboard.appspot.com/build.html). If there is a failure, revert the Dart roll in flutter/engine, debug the problem and fix it or file a P0 issue against Dart. Please monitor the [flutter benchmarks dashboard](https://flutter-dashboard.appspot.com/benchmarks.html) and if any regressions are noticed please file P0 issues for all regressions **and revert the Dart roll**. The next roll is blocked until these issues/regressions are fixed.
+
+14. When you are done please update the spread sheet at [http://go/dart-flutter-rolls](http://go/dart-flutter-rolls) with the git hash of the Dart revision that was rolled into the flutter engine. This hash will be used for rolling Dart into Google's internal code repository and would be picked as a potential candidate for a dev release. Also make sure you send an email to the next person on the list and make sure the person acknowledges picking up the roll baton.
diff --git a/docs/unsorted_wiki/Running-Flutter-Driver-tests-with-Web.md b/docs/unsorted_wiki/Running-Flutter-Driver-tests-with-Web.md
new file mode 100644
index 0000000..0be539a
--- /dev/null
+++ b/docs/unsorted_wiki/Running-Flutter-Driver-tests-with-Web.md
@@ -0,0 +1,108 @@
+In the last months Flutter Driver tests has been enabled for most browsers.
+
+This document explains the steps that should be followed before running the tests, how to run the tests, example usages and handy tools that can be used.
+
+## Preparing the driver
+
+The first step of using Flutter Driver tests for Flutter Web testing is to install(prepare) the driver for the target browser.
+
+### Using Chrome
+
+For Chrome Desktop browsers:
+
+- Check the version of Chrome.
+- Download the Chrome driver for that version from [driver downloads](https://chromedriver.chromium.org/downloads).
+- Start the driver on port 4444. `chromedriver --port=4444`
+
+Chrome on Android browser tests can be run both on device and on the emulator.
+
+- Both for using a real device and emulator, make sure that Android platform tools are installed
+- For using an emulator, follow the [instructions](https://developer.android.com/studio/run/managing-avds) for creating and managing one.
+- For real device tests check the devices Chrome's version. Please note that the Chrome installed on the emulator will probably have a different version than the host machine. Check the emulator's Chrome's version.
+- Download the driver [driver downloads](https://chromedriver.chromium.org/downloads).
+- Start the adb server: `adb start-server` you can later kill with `adb kill-server`
+- For the web port you are planning to use for Flutter driver tests, let's say 8080 for example:
+ - Test the browser has access to a server running on localhost:8080
+ - One can utilize adb for this purpose. For more [details](https://developer.android.com/studio/command-line/adb).
+ - Another alternative is using Chrome Remote devices from browser page `chrome://inspect/devices#devices`. For more details on useful links: [remote debugging webviews](https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews), [remote debugging android devices](https://developers.google.com/web/tools/chrome-devtools/remote-debugging)
+- Start the Chrome driver on port 4444. `chromedriver --port=4444`
+
+### Using Safari
+
+Like Safari browser Safari driver also comes installed on the macOS devices. For using Safari on macOS steps are easy:
+
+- Use the [instructions](https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari) to enable safari driver.
+- start safari driver on port 4444 `./usr/bin/safaridriver --port=4444`
+
+IOS Safari can be run on a simulator. Simulators are part of Xcode, more [details](https://developer.apple.com/documentation/xcode). After making sure your macOS have simulators, follow the steps above to start the Safari driver. Unlike Android the Desktop Safari version and simulator version is the same.
+
+### Using Firefox
+
+- Check the version of Firefox.
+- Download the Gecko driver for that version from [the releases](https://github.com/mozilla/geckodriver/releases).
+- Add the Firefox driver to your path.
+
+Note that this section is experimental, at this point we don't have automated tests running on Firefox.
+
+### Using Edge
+
+More information can be found on Edge Drivers on [developer site](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/). Edge driver should also be added to the path after installation.
+
+Note that this section is experimental, at this point we don't have automated tests running on Edge.
+
+## Running Flutter Driver tests
+
+The command for running the driver tests:
+
+```
+flutter drive --target=test_driver/[driver_test].dart -d web-server --release --browser-name=chrome --web-port=8080
+```
+
+Let's go over the different arguments that can be used:
+
+- Use one of the six browsers for `--browser-name` parameter: chrome, safari, ios-safari, android-chrome, firefox, edge.
+- Use `--local-engine=host_debug_unopt --local-engine-host=host_debug_unopt` for running tests with a local engine.
+- Use `--release` or `--profile` mode for running the tests. Debug mode will be supported soon.
+- Change the `--webport` as needed, don't forget to change remote debugging settings for Android Chrome.
+- Use `--no-android-emulator` for using Android with real devices.
+
+## Web Installers Repo
+
+Web installers is a new Flutter project [repository](https://github.com/flutter/web_installers) where we are planning to add utilities for launching, downloading browsers/drivers.
+
+Currently it can be used for downloading/running Chrome Driver:
+
+```
+dart lib/web_driver_installer.dart chromedriver --driver-version="78.0.3904.105"
+```
+
+Or for running the Safari driver:
+
+```
+dart lib/web_driver_installer.dart safaridriver
+```
+
+For more details use the [documentation](https://github.com/flutter/web_installers/tree/master/packages/web_drivers).
+
+## Examples From Flutter Project
+
+We already use Flutter Driver in many different places in Flutter Project. We have a smoke test running as a [Cirrus CI task](https://github.com/flutter/flutter/blob/master/.cirrus.yml#L291) in Flutter repo, which is also a great example for showing web_installers + flutter drive usage.
+
+```
+script:
+ - flutter config --enable-web
+ - git clone https://github.com/flutter/web_installers.git
+ - cd web_installers/packages/web_drivers/
+ - pub get
+ - dart lib/web_driver_installer.dart &
+ - sleep 20
+ - chromedriver/chromedriver --port=4444 &
+ - sleep 5
+ - cd ../../../examples/hello_world/
+ - flutter drive --target=test_driver/smoke_web_engine.dart -d web-server --profile --browser-name=chrome
+```
+
+Other example usages:
+
+- e2e tests under flutter/packages repo. ([PR](https://github.com/flutter/plugins/pull/2554))
+- web engine integration tests under engine repo. ([PR](https://github.com/flutter/engine/pull/16930))
diff --git a/docs/unsorted_wiki/Running-and-writing-tests.md b/docs/unsorted_wiki/Running-and-writing-tests.md
new file mode 100644
index 0000000..57f9224
--- /dev/null
+++ b/docs/unsorted_wiki/Running-and-writing-tests.md
@@ -0,0 +1,125 @@
+## For the framework
+
+Dart tests are written using the `flutter_test` package's API,
+named with the suffix `_test.dart`, and placed inside the
+`test/` subdirectory of the package under test.
+
+We support several kinds of tests:
+
+- Unit tests, e.g. using [`flutter_test`](https://api.flutter.dev/flutter/flutter_test/flutter_test-library.html). See below.
+
+- Unit tests that use golden-file testing, comparing pixels.
+ See [[Writing a golden-file test for package:flutter]].
+
+- End-to-end tests, e.g. using [`flutter_driver`](https://api.flutter.dev/flutter/flutter_driver/flutter_driver-library.html) and our [device lab](https://github.com/flutter/flutter/blob/master/dev/devicelab/README.md).
+
+Our bots run on our [test and build infrastructure](https://github.com/flutter/flutter/blob/master/dev/bots/README.md).
+
+## Running unit tests
+
+Flutter tests use the `flutter_test` package ([source](https://github.com/flutter/flutter/tree/master/packages/flutter_test), [API documentation](https://api.flutter.dev/flutter/flutter_test/flutter_test-library.html)),
+which provides flutter-specific extensions on top of the [Dart `test` package](https://pub.dartlang.org/packages/test).
+
+To automatically find all files named `*_test.dart` inside a package's `test/` subdirectory, and
+run them inside the headless flutter shell as a test, use the `flutter test` command, e.g:
+
+- `cd examples/hello_world`
+- `flutter test`
+
+Individual tests can also be run directly, e.g.: `flutter test lib/my_app_test.dart`
+
+You can view these tests on a device by running them directly using `flutter run`.
+For tests inside the `packages/flutter` directory, you will need to copy them to
+(or symlink to them from) the `test/` directory of an actual app (e.g. the flutter
+gallery), since the `flutter` package itself is not set up to execute as an
+application (which is necessary to use `flutter run` with a test).
+
+Unit tests run with `flutter test` run inside a headless flutter shell on your workstation,
+you won't see any UI. You can use `print` to generate console output or you can interact
+with the Dart VM via the Dart Observatory at [http://localhost:8181/](http://localhost:8181/).
+
+To debug tests in Observatory, use the `--start-paused` option to start the test in a
+paused state and wait for connection from a debugger. This option lets you set breakpoints
+before the test runs.
+
+To run analysis and all the tests for the entire Flutter repository, the same way that Cirrus
+runs them, run `dart dev/bots/test.dart` and `dart --enable-asserts dev/bots/analyze.dart`.
+
+If you've built your own flutter engine (see [[Setting up the Engine development environment]]), you
+can pass `--local-engine` to change what flutter shell `flutter test` uses. For example,
+if you built an engine in the `out/host_debug_unopt` directory, you can use:
+
+```
+flutter test \
+ --local-engine=host_debug_unopt \
+ --local-engine-host=host_debug_unopt
+```
+
+to run the tests in the locally built engine. Note that in this case you need to specify `host_debug_unopt`
+as both arguments.
+
+To learn how to see how well tested the codebase is, see [[Test coverage for package:flutter]].
+
+_See also: [[Flutter Test Fonts]]_
+
+## Running device lab tests locally
+
+Flutter runs a number of end-to-end tests in a device lab. The Flutter repo contains code for bootstrapping and executing these tests, in addition to the tests themselves.
+
+The code that runs the device lab end-to-end tests can be found here:
+
+```
+dev/devicelab
+```
+
+The tests that run in the device lab can be found here:
+
+```
+dev/integration_tests
+```
+
+When a device lab test fails, it is important to be able to run the test locally to verify the problem and intended solution. To execute a device lab test locally, do the following:
+
+1. Navigate in your terminal to the `dev/devicelab` directory.
+1. Ensure that a physical device, simulator, or emulator is connected.
+1. Ensure that the current locale is en_US by executing the command: `export LANG=en_US.UTF-8`.
+1. Execute the command: `../../bin/dart bin/run.dart -t [task_name]` where `[task_name]` is replaced by the name of the task you want to run as defined within `.ci.yaml`.
+
+### Device lab tests with a local engine
+
+Sometimes a device lab test fails due to engine changes that you've made. In these cases, you'd like to run the impacted device lab tests locally with your local version of the engine. To do this, pass the appropriate flags to `run.dart`:
+
+```shell
+../../bin/dart bin/run.dart \
+ --local-engine-src-path=[path_to_src] \
+ --local-engine=[engine_build_for_your_device] \
+ --local-engine-host=[host_engine_build_for_your_device] \
+ -t [task_name]
+```
+
+If your local Flutter engine is in the same directory as your `flutter/` directory then you can omit the `--local-engine-src-path` parameter because it will be resolved automatically:
+
+```
+../../bin/dart bin/run.dart \
+ --local-engine=[engine_build_for_your_device] \
+ --local-engine-host=[host_engine_build_for_your_device] \
+ -t [task_name]
+```
+
+The following is an example of what running the local engine command might look like:
+
+```
+../../bin/dart bin/run.dart \
+ --local-engine-src-path=/Users/myname/flutter/engine/src \
+ --local-engine=android_debug_unopt_x86 \
+ --local-engine-host=host_debug_unopt_x86 \
+ -t external_ui_integration_test
+```
+
+The above command would use the local Flutter engine located at `/Users/myname/flutter/engine` to execute the `external_ui_integration_test` test on an Android emulator, which is why the `android_debug_unopt_x86` version of the engine is used.
+
+Note that some tests may require `profile` mode instead of `debug` mode when running with local engine. Make sure to pass in the correct local engine. See [Compiling the engine](https://github.com/flutter/flutter/wiki/Compiling-the-engine) for more details.
+
+## For the engine
+
+See the [[Testing the engine]] wiki.
diff --git a/docs/unsorted_wiki/Running-examples.md b/docs/unsorted_wiki/Running-examples.md
new file mode 100644
index 0000000..e21dec1
--- /dev/null
+++ b/docs/unsorted_wiki/Running-examples.md
@@ -0,0 +1,12 @@
+To run an example, switch to that example's directory, and use `flutter run`.
+Make sure you have an emulator running, or a device connected over USB and
+debugging enabled on that device.
+
+ * `cd examples/hello_world`
+ * `flutter run`
+
+You can also specify a particular Dart file to run if you want to run an example
+that doesn't have a `lib/main.dart` file using the `-t` command-line option. For
+example, to run the `widgets/spinning_square.dart` example in the [examples/layers](https://github.com/flutter/flutter/tree/master/examples/layers)
+directory on a connected Android device, from that directory you would run:
+`flutter run -t widgets/spinning_square.dart`
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Security.md b/docs/unsorted_wiki/Security.md
new file mode 100644
index 0000000..7eaf996
--- /dev/null
+++ b/docs/unsorted_wiki/Security.md
@@ -0,0 +1,23 @@
+## Best Practices
+
+### Runtime assertions
+
+Unopt builds use [FML_DCHECK](https://cs.opensource.google/flutter/engine/+/master:fml/logging.h;l=86?q=FML_DCHECK&ss=flutter%2Fengine) to enable assertion checks across the engine repository. Assertions on dependencies like Dart VM or Skia are not enabled because local and CI builds would be extremely slow.
+Unopt builds are not published or consumed by the flutter/flutter CI to run integration tests or benchmarks.
+
+### Sanitizers
+
+[flutter/engine](https://github.com/flutter/engine) supports thread, address, memory, undefined behavior and leak sanitizers. Sanitizers are not enabled by default but they can be enabled on local builds following the [sanitizers with the flutter engine](https://github.com/flutter/flutter/wiki/Using-Sanitizers-with-the-Flutter-Engine) instructions.
+
+### Builds with sanitizers, and tests with assertions enabled
+
+[flutter/engine](https://github.com/flutter/engine) runs automated builds with sanitizers and testing with assertions. Testing with assertions is enabled in all the supported platforms and sanitizers are enabled only on the Linux platform.
+Sanitizer builds:
+
+* [Linux unopt](https://ci.chromium.org/p/flutter/builders/prod/Linux%20Unopt)
+
+Tests with assertions enabled:
+
+* [Linux unopt](https://ci.chromium.org/p/flutter/builders/prod/Linux%20Unopt)
+* [Mac unopt](https://ci.chromium.org/p/flutter/builders/prod/Linux%20mac_unopt)
+* [Windows unopt](https://ci.chromium.org/p/flutter/builders/prod/Windows%20Unopt)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Setting-up-MoltenVK-on-macOS-for-Impeller.md b/docs/unsorted_wiki/Setting-up-MoltenVK-on-macOS-for-Impeller.md
new file mode 100644
index 0000000..2c0231e
--- /dev/null
+++ b/docs/unsorted_wiki/Setting-up-MoltenVK-on-macOS-for-Impeller.md
@@ -0,0 +1,7 @@
+- Get the MoltenVK SDK from https://vulkan.lunarg.com/sdk/home#mac.
+- Make sure to check off `System Global Installation`:
+<img width="855" alt="image" src="https://user-images.githubusercontent.com/8620741/236010259-ae68283a-0a9e-4f85-9513-bc6ba199c351.png">
+
+- When running `flutter/tools/gn`, add the `--impeller-enable-vulkan` flag, e.g. `./flutter/tools/gn --impeller-enable-vulkan --unopt --mac-cpu arm64`
+
+You should now be able to build and run the Vulkan host tests, e.g. `out/host_debug_unopt_arm64/impeller_unittests --gtest_filter="*Vulkan*"`.
diff --git a/docs/unsorted_wiki/Setting-up-the-Engine-development-environment.md b/docs/unsorted_wiki/Setting-up-the-Engine-development-environment.md
new file mode 100644
index 0000000..88f45d6
--- /dev/null
+++ b/docs/unsorted_wiki/Setting-up-the-Engine-development-environment.md
@@ -0,0 +1,176 @@
+_If you've already built the engine and have the configuration set up but merely need a refresher on
+actually compiling the code, see [[Compiling the engine]]._
+
+_If you are checking these instructions to refresh your memory and your fork of the engine is stale,
+make sure to merge up to HEAD before doing a `gclient sync`._
+
+# Getting dependencies
+
+Make sure you have the following dependencies available:
+
+ * A Linux, macOS, or Windows host
+ * Linux supports cross-compiling artifacts for Android and Fuchsia, but not iOS.
+ * macOS supports cross-compiling artifacts for Android and iOS.
+ * Windows doesn't support cross-compiling artifacts for any of Android, Fuchsia, or iOS.
+ * `git` (used for source version control).
+ * An ssh client (used to authenticate with GitHub).
+ * `python3` (used by many of our tools, including `gclient`).
+ * **Chromium's
+ [depot_tools](https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up)** (Which includes gclient)
+ * Add the `depot_tools` directory to the *front* of your `PATH`.
+ * On macOS and Linux: `curl` and `unzip` (used by `gclient sync`).
+ * On Linux: The `pkg-config` package.
+ * On Windows:
+ - Visual Studio 2017 or later (required for non-Googlers only).
+ - [Windows 10 SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) (required for non-Googlers only). Be sure to install the "Debugging Tools for Windows" feature.
+ * On macOS:
+ - Install the latest Xcode.
+ - On Apple Silicon arm64 Macs, install the Rosetta translation environment by running `softwareupdate --install-rosetta`.
+ - Install Oracle's Java JDK, version 1.8 or later.
+
+You do not need to install [Dart](https://www.dartlang.org/downloads/linux.html).
+A Dart toolchain is automatically downloaded as part of the "Getting the source"
+step. Similarly for the Android SDK, it is downloaded by the `gclient sync` step below.
+
+## Getting the source
+
+Run the following steps to set up your environment:
+
+> [!IMPORTANT]
+> Non-Googler Windows users should set the following environment variables to point
+> `depot_tools` to their Visual Studio installation directory:
+> * `DEPOT_TOOLS_WIN_TOOLCHAIN=0`
+> * `GYP_MSVS_OVERRIDE_PATH=C:\Program Files\Microsoft Visual Studio\2022\Community`
+> * Use the path of your installation.
+
+Create a new directory to hold the source code and move into it. Here, we are using the "engine" directory.
+```sh
+mkdir engine; cd engine;
+```
+
+> [!IMPORTANT]
+> On Windows, the following must be run as an Administrator due to [a known issue](https://github.com/flutter/flutter/issues/94580).
+
+Fetch the Flutter engine sources. This may take a while on a slow connection. Do **not** interrupt this process. Otherwise, a partial checkout cannot be resumed and you'll have to delete all the files including the hidden files in the engine directory and start over.
+```sh
+fetch flutter
+```
+The [Flutter Engine](https://github.com/flutter/engine) repository resides at `src/flutter`. The convention is to refer to this repository as `upstream`.
+
+```sh
+git -C src/flutter remote rename origin upstream
+```
+
+Optionally, if you are working with a fork of the engine, add that as a Git remote.
+
+```sh
+git -C src/flutter remote add origin <your_git_fork_location>
+```
+
+The "Engine Tool" called `et` is useful when working with the engine. It is located in the `flutter/bin` directory in the source checkout. Add this to your `$PATH` in your `.rc`.
+
+### Additional Steps for Web Engine
+
+Amend the generated `.gclient` file in the root of the source directory to add the following:
+```
+solutions = [
+ {
+ # Same as above...
+ "custom_vars": {
+ "download_emsdk": True,
+ },
+ },
+]
+```
+
+Now, run
+
+```sh
+gclient sync
+```
+
+## Next steps:
+
+ * [[Compiling the engine]] explains how to actually get builds, now that you have the code.
+ * [[The flutter tool]] has a section explaining how to use custom engine builds.
+ * [[Signing commits]], to configure your environment to securely sign your commits.
+
+## Editor autocomplete support
+
+### Xcode [Objective-C++]
+
+On Mac, you can simply use Xcode (e.g., `open out/host_debug_unopt/products.xcodeproj`).
+
+### VSCode with C/C++ Intellisense [C/C++]
+
+VSCode can provide some IDE features using the [C/C++ extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools). It will provide basic support on install without needing any additional configuration. There will probably be some issues, like header not found errors and incorrect jump to definitions.
+
+Intellisense can also use our `compile_commands.json` for more robust functionality. Either symlink `src/out/compile_commands.json` to the project root at `src` or provide an absolute path to it in the `c_cpp_properties.json` config file. See ["compile commands" in the c_cpp_properties.json reference](https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference). This will likely resolve the basic issues mentioned above.
+
+For example, in `src/.vscode/settings.json`:
+
+```json
+{
+ "clangd.path": "buildtools/mac-arm64/clang/bin/clangd",
+ "clangd.arguments": [
+ "--compile-commands-dir=out/host_debug_unopt_arm64"
+ ],
+ "clang-format.executable": "buildtools/mac-arm64/clang/bin/clang-format"
+}
+```
+
+... which is built with:
+
+```shell
+# M1 Mac (host_debug_unopt_arm64)
+./tools/gn --unopt --mac-cpu arm64 --enable-impeller-vulkan --enable-impeller-opengles --enable-unittests
+```
+
+For adding IDE support to the Java code in the engine with VSCode, see ["Using VSCode as an IDE for the Android Embedding"](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment#using-vscode-as-an-ide-for-the-android-embedding-java).
+
+### Zed Editor
+
+[Zed](https://zed.dev/) can be used to edit C++ code in the Engine. To enable analysis and auto-completion, symlink `src/out/compile_commands.json` to the project root at `src`.
+
+### cquery/ccls (multiple editors) [C/C++/Objective-C++]
+
+Alternatively, [cquery](https://github.com/cquery-project/cquery) and a derivative [ccls](https://github.com/MaskRay/ccls) are highly scalable C/C++/Objective-C language server that supports IDE features like go-to-definition, call hierarchy, autocomplete, find reference etc that works reasonably well with our engine repo.
+
+They(https://github.com/cquery-project/cquery/wiki/Editor-configuration) [supports](https://github.com/MaskRay/ccls/wiki/Editor-Configuration) editors like VSCode, emacs, vim etc.
+
+To set up:
+1. Install cquery
+ 1. `brew install cquery` or `brew install ccls` on osx; or
+ 1. [Build from source](https://github.com/cquery-project/cquery/wiki/Getting-started)
+1. Generate compile_commands.json which our GN tool already does such as via `src/flutter/tools/gn --ios --unoptimized`
+1. Install an editor extension such as [VSCode-cquery](https://marketplace.visualstudio.com/items?itemName=cquery-project.cquery) or [vscode-ccls](https://marketplace.visualstudio.com/items?itemName=ccls-project.ccls)
+ 1. VSCode-query and vscode-ccls requires the compile_commands.json to be at the project root. Copy or symlink `src/out/compile_commands.json` to `src/` or `src/flutter` depending on which folder you want to open.
+ 1. Follow [Setting up the extension](https://github.com/cquery-project/cquery/wiki/Visual-Studio-Code#setting-up-the-extension) to configure VSCode-query.
+
+
+
+### Using VSCode as an IDE for the Android Embedding [Java]
+
+1. Install the extensions vscjava.vscode-java-pack (Extension Pack for Java) and vscjava.vscode-java-dependency (Project Manager for Java).
+
+1. Right click on the `shell/platform/android` folder in the engine source and click on `Add Folder to Java Source Path`. This creates an anonymous workspace and turns those files from ["syntax mode"](https://code.visualstudio.com/docs/java/java-project#_syntax-mode) to "compile mode". At this point, you should see a lot of errors since none of the external imports are found.
+
+1. Find the "Java Dependencies" pane in your Explorer view. Use the "Explorer: Focus on Java Dependencies View" command if hidden.
+
+1. Refresh the view and find the "flutter_*" project. There should be a "_/shell/platform/android" source folder there.
+
+1. In the "Referenced Libraries" sibling node, click the + button, navigate to `engine/src/third_party/android_embedding_dependencies` and add the entire folder. This is the equivalent of adding
+ ```
+ "java.project.referencedLibraries": [
+ "{path to engine}/src/third_party/android_embedding_dependencies/lib/**/*.jar"
+ ]
+ ```
+ to your VSCode's settings.json for your user or for your workspace.
+
+1. If you previously had a `shell/platform/android/.classpath`, delete it.
+
+## VSCode Additional Useful Configuration
+
+1. Create [snippets](https://code.visualstudio.com/docs/editor/userdefinedsnippets) for header files with [this configuration](https://github.com/chromium/chromium/blob/master/tools/vscode/settings.json5). This will let you use `hdr` keyboard macro to create the boiler plate header code. Also consider some of [these settings](https://github.com/chromium/chromium/blob/master/tools/vscode/settings.json5) and [more tips](https://chromium.googlesource.com/chromium/src/+show/lkgr/docs/vscode.md).
+
+2. To format GN files on save, [consider using this extension](https://marketplace.visualstudio.com/items?itemName=persidskiy.vscode-gnformat).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Setting-up-the-Framework-development-environment.md b/docs/unsorted_wiki/Setting-up-the-Framework-development-environment.md
new file mode 100644
index 0000000..95990e3
--- /dev/null
+++ b/docs/unsorted_wiki/Setting-up-the-Framework-development-environment.md
@@ -0,0 +1,64 @@
+## Preqrequisites
+
+ * Linux, Mac OS X, or Windows
+
+ * `git` (used for source version control)
+
+ * An IDE, such as [Android Studio with the Flutter plugin](https://docs.flutter.dev/development/tools/android-studio) or [VS Code](https://docs.flutter.dev/development/tools/vs-code)
+
+ * Android platform tools
+ - Mac: `brew install --cask android-platform-tools`
+ - Linux: `sudo apt-get install android-tools-adb`
+
+ Verify that `adb` is in your [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) (that `which adb` prints sensible output).
+
+ If you're
+ [also working on the Flutter engine](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment),
+ you can use the copy of the Android platform tools in
+ `.../engine/src/third_party/android_tools/sdk/platform-tools`.
+
+ * Python (used by some of our tools)
+
+## Set up your environment
+
+1. Clone the flutter/flutter repo using either SSH or HTTPS (SSH is recommended, but requires a working [SSH key](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-ssh) on your GitHub account):
+ - SSH: `git clone git@github.com:flutter/flutter.git`
+ - HTTPS: `git clone https://github.com/flutter/flutter.git`
+
+1. Change into the directory of the cloned repository and rename the origin remote to upstream:
+ 1. `cd flutter`
+ 1. `git remote rename origin upstream`
+
+1. [Fork the flutter/flutter repo](https://github.com/flutter/flutter/fork) into your own GitHub account.
+
+1. Add your fork as the origin remote to your local clone either using SSH or HTTPS (SSH is recommended, but requires a working [SSH key](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-ssh) on your GitHub account) by replacing ████████ with your GitHub account name:
+ - SSH: `git remote add origin git@github.com:████████/flutter.git`
+ - HTTPS: `git remote add origin https://github.com/████████/flutter.git`
+
+1. Verify the upstream and origin repository you've specified for your clone.
+ - `git remote -v`
+
+1. Add the repo's `bin` directory to your [PATH](https://en.wikipedia.org/wiki/PATH_(variable)): e.g. on UNIX, using `export PATH="$PATH:$HOME/<path to flutter repository>/bin"`
+
+ - If you already have a Flutter installation you will either need to remove it from your PATH, or use a full path whenever you are running `flutter` in this repository. If you have version solving errors when trying to run examples below, you are running a version of Flutter other than the one checked out here.
+
+1. `flutter update-packages`
+
+ This will recursively fetch all the Dart packages that
+ Flutter depends on. If version solving failed, try `git fetch upstream` to update Flutter versions before `flutter update-packages`.
+
+
+> **Tip**
+> If you plan on using IntelliJ as your IDE, then also run
+> `flutter ide-config --overwrite` to create all of the IntelliJ configuration
+> files so you can open the main flutter directory as a project and run examples
+> from within the IDE.
+
+
+Next steps:
+
+ * [[Running examples]], to see if your setup works.
+ * [[The flutter tool]], to learn about how the `flutter` command line tool works.
+ * [[Style guide for Flutter repo]], to learn how to write code for Flutter.
+ * [[Tree hygiene]], to learn about how to submit patches.
+ * [[Signing commits]], to configure your environment to securely sign your commits.
diff --git a/docs/unsorted_wiki/Setting-up-the-Packages-development-environment.md b/docs/unsorted_wiki/Setting-up-the-Packages-development-environment.md
new file mode 100644
index 0000000..a223ecb
--- /dev/null
+++ b/docs/unsorted_wiki/Setting-up-the-Packages-development-environment.md
@@ -0,0 +1,37 @@
+## Things you will need
+
+ * A working [Flutter](https://flutter.dev/docs/get-started/install) installation.
+ * git (used for source version control).
+ * An ssh client (used to authenticate with GitHub).
+
+## Getting the code and configuring your repository
+
+ * Ensure all the dependencies described in the previous section are installed.
+ * Fork `https://github.com/flutter/packages` into your own GitHub account. If
+ you already have a fork, and are now installing a development environment on
+ a new machine, make sure you've updated your fork so that you don't use stale
+ configuration options from long ago.
+ * If you haven't configured your machine with an SSH key that's known to github, then
+ follow [GitHub's directions](https://help.github.com/articles/generating-ssh-keys/)
+ to generate an SSH key.
+ * `git clone git@github.com:<your_name_here>/packages.git`
+ * `cd packages`
+ * `git remote add upstream git@github.com:flutter/packages.git` (So that you
+ fetch from the master repository, not your clone, when running `git fetch`
+ et al.)
+
+## Setting up tools
+
+### Repository tools
+
+There are scripts for many common tasks (testing, formatting, etc.) that will likely be useful in preparing a PR.
+See [the tools README](https://github.com/flutter/packages/blob/main/script/tool/README.md) for more details.
+
+You will need to [set up the tools](https://github.com/flutter/packages/blob/main/script/tool/README.md#getting-started)
+before using them for the first time.
+
+### Android tooling
+
+The repository is configured to treat warnings as errors in most cases; on Android that includes enforcing many Java and Android lint options. Not all of these are configured to show up by default in Android Studio, so if you are working on Android plugin implementations consider [enabling all of the Android lint options in Android Studio](https://developer.android.com/studio/write/lint#cis) (by checking the box by Android > Lint).
+
+There are warnings that show up in Android Studio that are not enforced in CI, so it's not always necessary to fix every warning. You can check if warnings you see need to be addressed by running the `lint-android` repository tool command. (In general, we encourage fixing warnings that show up in Android Studio even when they are not enforced; the IDE has an extra linting options that unfortunately aren't accessible via CI. If you aren't sure if a specific unenforced warning needs to be addressed, please ask your reviewer.)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Setting-up-the-Plugins-development-environment.md b/docs/unsorted_wiki/Setting-up-the-Plugins-development-environment.md
new file mode 100644
index 0000000..55f999b
--- /dev/null
+++ b/docs/unsorted_wiki/Setting-up-the-Plugins-development-environment.md
@@ -0,0 +1 @@
+The flutter/plugins repository is no longer in use. See [Setting up the Packages development environment](https://github.com/flutter/flutter/wiki/Setting-up-the-Packages-development-environment) instead.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Signing-commits.md b/docs/unsorted_wiki/Signing-commits.md
new file mode 100644
index 0000000..5c845b6
--- /dev/null
+++ b/docs/unsorted_wiki/Signing-commits.md
@@ -0,0 +1,48 @@
+Flutter repositories require that your commits are signed (as of Nov 17, 2021, this is not enabled in all repos, but it's best to be prepared). To get started follow the GitHub instructions in [Signing Commits][1].
+
+## Troubleshooting
+
+### `GIT_TRACE=1`
+
+If a `git` command fails with a complaint about `gpg`, run the same command again with `GIT_TRACE=1`. For example, if the failing command is:
+
+```
+git commit -S -m 'some message'
+```
+
+Run this instead:
+
+```
+GIT_TRACE=1 git commit -S -m 'some message'
+```
+
+With tracing enabled `git` will provide more information about the failure.
+
+### fatal: failed to write commit object
+
+If you see the following output from `git commit -S`:
+
+```
+error: gpg failed to sign the data
+fatal: failed to write commit object
+```
+
+This error may indicate that your GPG name, comment, and email do not match those of `git`. To fix this issue, add `user.signingkey` to your git configuration referring to the GPG key by its hash rather than by name. To find out the GPG key hash run:
+
+```
+gpg --list-secret-keys --keyid-format=long
+```
+
+In the list of keys printed to the console find the one you want to use (the one you registered with GitHub) and copy its hash from the line that begins with `sec`. For example, the key hash in the following line is `XYZ`:
+
+```
+sec rsa4096/XYZ 20201-11-16
+```
+
+To add it to your git configuration run:
+
+```
+git config --global user.signingkey XYZ
+```
+
+[1]: https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
diff --git a/docs/unsorted_wiki/Style-guide-for-Flutter-repo.asciidoc b/docs/unsorted_wiki/Style-guide-for-Flutter-repo.asciidoc
new file mode 100644
index 0000000..30af4cc
--- /dev/null
+++ b/docs/unsorted_wiki/Style-guide-for-Flutter-repo.asciidoc
@@ -0,0 +1,1936 @@
+:toc: macro
+:toc-title:
+:toclevels: 99
+
+⚠️✏️ Changes to the style guide should be announced to the team in the https://discord.com/channels/608014603317936148/608116355836805126[#announcements] channel on https://github.com/flutter/flutter/wiki/Chat[Discord].
+
+Summary
+-------
+
+Optimize for readability. Write detailed documentation.
+Make error messages useful.
+Never use timeouts or timers.
+Avoid `is`, `print`, `part of`, `extension` and `_`.
+
+Introduction
+------------
+
+This document contains some high-level philosophy and policy decisions for the Flutter
+project, and a description of specific style issues for some parts of the codebase.
+
+The style portion describes the preferred style for code written as part of the Flutter
+project (the framework itself and all our sample code). Flutter application developers
+are welcome to follow this style as well, but this is by no means required. Flutter
+will work regardless of what style is used to author applications that use it.
+
+The engine repository uses https://github.com/flutter/engine/blob/master/CONTRIBUTING.md#style[other style guides for non-Dart code]. The language-neutral sections in this document still apply to engine code, however.
+
+Table of Contents
+-----------------
+
+toc::[]
+
+Overview
+--------
+
+This document describes our approach to designing and programming Flutter,
+from high-level architectural principles all the way to indentation rules.
+These are our norms, written down so that we can easily convey our shared
+understanding with new team members.
+
+The primary goal of these style guidelines is to improve code readability so
+that everyone, whether reading the code for the first time or
+maintaining it for years, can quickly determine what the code does.
+Secondary goals are to design systems that are simple, to increase the
+likelihood of catching bugs quickly, and avoiding arguments when there are
+disagreements over subjective matters.
+
+For anything not covered by this document, check the
+https://www.dartlang.org/guides/language/effective-dart/[Dart style guide]
+for more advice. That document is focused primarily on Dart-specific
+conventions, while this document is more about Flutter conventions.
+
+In some cases (for example, line wrapping around `if` statements) the
+Dart style guide differs from the Flutter guide. For Flutter project code,
+the Flutter guide governs. The differences are a result of slightly different
+priorities. The Flutter guide is designed for making code highly readable
+even to people who have never seen the code before and are new to Dart, as
+the Flutter framework code will be read millions of times more than it is written.
+The Dart guide, on the other hand, is designed to provide a more balanced approach
+that assumes that the writing of the code will be a bigger proportion of the
+interactions with the code, and that the reader is more experienced with Dart.
+(The `dart format` tool uses the Dart guide, so we do not use it in the
+flutter/flutter and flutter/engine repositories. However, we do recommend its
+use in general.)
+
+### A word on designing APIs
+
+Designing an API is an art. Like all forms of art, one learns by practicing. The best way to get good at designing APIs is to spend a decade or more designing them, while working closely with people who are using your APIs. Ideally, one would first do this in very controlled situations, with small numbers of developers using one's APIs, before graduating to writing APIs that will be used by hundreds of thousands or even millions of developers.
+
+In the absence of one's own experience, one can attempt to rely on the experience of others. The biggest problem with this is that sometimes explaining why an API isn't optimal is a very difficult and subtle task, and sometimes the reasoning doesn't sound convincing unless you already have a lot of experience designing them.
+
+Because of this, and contrary to almost any other situation in engineering, when you are receiving feedback about API design from an experienced API designer, they will sometimes seem unhappy without quite being able to articulate why. When this happens, seriously consider that your API should be scrapped and a new solution found.
+
+This requires a different and equally important skill when designing APIs: not getting attached to one's creations. One should try many wildly different APIs, and then attempt to write code that uses those APIs, to see how they work. Throw away APIs that feel frustrating, that lead to buggy code, or that other people don't like. If it isn't elegant, it's usually better to try again than to forge ahead.
+
+An API is for life, not just for the one PR you are working on.
+
+
+Philosophy
+----------
+
+### Lazy programming
+
+Write what you need and no more, but when you write it, do it right.
+
+Avoid implementing features you don't need. You can't design a feature
+without knowing what the constraints are. Implementing features "for
+completeness" results in unused code that is expensive to maintain,
+learn about, document, test, etc.
+
+When you do implement a feature, implement it the right way. Avoid
+workarounds. Workarounds merely kick the problem further down the
+road, but at a higher cost: someone will have to relearn the problem,
+figure out the workaround and how to dismantle it (and all the places
+that now use it), _and_ implement the feature. It's much better to
+take longer to fix a problem properly, than to be the one who fixes
+everything quickly but in a way that will require cleaning up later.
+
+You may hear team members say "embrace the http://www.catb.org/jargon/html/Y/yak-shaving.html[yak
+shave]!". This is
+an encouragement to https://www.youtube.com/watch?v=AbSehcT19u0[take on the larger effort necessary] to perform a
+proper fix for a problem rather than just applying a band-aid.
+
+
+### Write Test, Find Bug
+
+When you fix a bug, first write a test that fails, then fix the bug
+and verify the test passes.
+
+When you implement a new feature, write tests for it. (See also: https://github.com/flutter/flutter/wiki/Running-and-writing-tests[Running and writing tests], and the section on writing tests below.)
+
+Check the code coverage
+to make sure every line of your new code is tested. See also: https://github.com/flutter/flutter/wiki/Test-coverage-for-package%3Aflutter[Test coverage for package:flutter].
+
+If something isn't tested, it is very likely to regress or to get "optimized away".
+If you want your code to remain in the codebase, you should make sure to test it.
+
+Don't submit code with the promise to "write tests later". Just take the
+time to write the tests properly and completely in the first place.
+
+
+### Avoid duplicating state
+
+There should be no objects that represent live state that reflect
+some state from another source, since they are expensive to maintain.
+(The Web's `HTMLCollection` object is an example of such an object.)
+In other words, **keep only one source of truth**, and **don't replicate
+live state**.
+
+
+### Getters feel faster than methods
+
+Property getters should be efficient (e.g. just returning a cached
+value, or an O(1) table lookup). If an operation is inefficient, it
+should be a method instead. (Looking at the Web again: we would have
+`document.getForms()`, not `document.forms`, since it walks the entire tree).
+
+Similarly, a getter that returns a Future should not kick-off the work
+represented by the future, since getters appear idempotent and side-effect free.
+Instead, the work should be started from a method or constructor, and the
+getter should just return the preexisting Future.
+
+
+### No synchronous slow work
+
+There should be no APIs that require synchronously completing an
+expensive operation (e.g. computing a full app layout outside of the
+layout phase). Expensive work should be asynchronous.
+
+
+### Layers
+
+We use a layered framework design, where each layer addresses a
+narrowly scoped problem and is then used by the next layer to solve
+a bigger problem. This is true both at a high level (widgets relies
+on rendering relies on painting) and at the level of individual
+classes and methods (e.g. `Text` uses `RichText` and `DefaultTextStyle`).
+
+Convenience APIs belong at the layer above the one they are simplifying.
+
+
+### Avoid interleaving multiple concepts together
+
+Each API should be self-contained and should not know about other features.
+Interleaving concepts leads to _complexity_.
+
+For example:
+
+- Many Widgets take a `child`. Widgets should be entirely agnostic about the type
+of that child. Don't use `is` or similar checks to act differently based on the
+type of the child.
+
+- Render objects each solve a single problem. Rather than having a render object
+handle both clipping and opacity, we have one render object for clipping, and one
+for opacity.
+
+- In general, prefer immutable objects over mutable data. Immutable objects can
+be passed around safely without any risk that a downstream consumer will change
+the data. (Sometimes, in Flutter, we pretend that some objects are immutable even
+when they technically are not: for example, widget child lists are often technically
+implemented by mutable `List` instances, but the framework will never modify them
+and in fact cannot handle the user modifying them.) Immutable data also turns out
+to make animations much simpler through _lerping_.
+
+
+### Avoid secret (or global) state
+
+A function should operate only on its arguments and, if it is an instance
+method, data stored on its object. This makes the code significantly easier
+to understand.
+
+For example, when reading this code:
+
+```dart
+// ... imports something that defines foo and bar ...
+
+void main() {
+ foo(1);
+ bar(2);
+}
+```
+
+...the reader should be confident that nothing in the call to `foo` could affect anything in the
+call to `bar`.
+
+This usually means structuring APIs so that they either take all relevant inputs as arguments, or so
+that they are based on objects that are created with the relevant input, and can then be called to
+operate on those inputs.
+
+This significantly aids in making code testable and in making code understandable and debuggable.
+When code operates on secret global state, it's much harder to reason about.
+
+
+### Prefer general APIs, but use dedicated APIs where there is a reason
+
+For example, having dedicated APIs for performance reasons is fine. If one
+specific operation, say clipping a rounded rectangle, is expensive
+using the general API but could be implemented more efficiently
+using a dedicated API, then that is where we would create a dedicated API.
+
+
+### Avoid the lowest common denominator
+
+It is common for SDKs that target multiple platforms (or meta-platforms that
+themselves run on multiple platforms, like the Web) to provide APIs that
+work on all their target platforms. Unfortunately, this usually means that
+features that are unique to one platform or another are unavailable.
+
+For Flutter, we want to avoid this by explicitly aiming to be the best way
+to develop for each platform individually. Our ability to be used cross-
+platform is secondary to our ability to be used on each platform. For example,
+https://master-api.flutter.dev/flutter/services/TextInputAction-class.html[TextInputAction]
+has values that only make sense on some platforms. Similarly, our platform
+channel mechanism is designed to allow separate extensions to be created on
+each platform.
+
+
+### Avoid APIs that encourage bad practices
+
+For example, don't provide APIs that walk entire trees, or that encourage
+O(N^2) algorithms, or that encourage sequential long-lived operations where
+the operations could be run concurrently.
+
+In particular:
+
+ - String manipulation to generate data or code that will subsequently
+ be interpreted or parsed is a bad practice as it leads to code
+ injection vulnerabilities.
+
+ - If an operation is expensive, that expense should be represented
+ in the API (e.g. by returning a `Future` or a `Stream`). Avoid
+ providing APIs that hide the expense of tasks.
+
+
+### Avoid exposing API cliffs
+
+Convenience APIs that wrap some aspect of a service from one environment
+for exposure in another environment (for example, exposing an Android API
+in Dart), should expose/wrap the complete API, so that there's no cognitive cliff
+when interacting with that service (where you are fine using the exposed
+API up to a point, but beyond that have to learn all about the underlying
+service).
+
+
+### Avoid exposing API oceans
+
+APIs that wrap underlying services but prevent the underlying API from
+being directly accessed (e.g. how `dart:ui` exposes Skia) should carefully
+expose only the best parts of the underlying API. This may require refactoring
+features so that they are more usable. It may mean avoiding exposing
+convenience features that abstract over expensive operations unless there's a
+distinct performance gain from doing so. A smaller API surface is easier
+to understand.
+
+For example, this is why `dart:ui` doesn't expose `Path.fromSVG()`: we checked,
+and it is just as fast to do that work directly in Dart, so there is no benefit
+to exposing it. That way, we avoid the costs (bigger API surfaces are more
+expensive to maintain, document, and test, and put a compatibility burden on
+the underlying API).
+
+
+### Avoid heuristics and magic
+
+Predictable APIs that the developer feels gives them control are generally preferred
+over APIs that mostly do the right thing but don't give the developer any way to adjust
+the results.
+
+Predictability is reassuring.
+
+
+### Solve real problems by literally solving a real problem
+
+Where possible, especially for new features, you should partner with a real
+customer who wants that feature and is willing to help you test it. Only by
+actually using a feature in the real world can we truly be confident that a
+feature is ready for prime time.
+
+Listen to their feedback, too. If your first customer is saying that your
+feature doesn't actually solve their use case completely, don't dismiss their
+concerns as esoteric. Often, what seems like the problem when you start a
+project turns out to be a trivial concern compared to the real issues faced
+by real developers.
+
+
+### Get early feedback when designing new APIs
+
+If you're designing a new API or a new feature, consider https://github.com/flutter/flutter/wiki/Chat#design-documents[writing a design doc].
+Then, get feedback from the relevant people, e.g. send it to `flutter-dev` or
+post it on the https://github.com/flutter/flutter/wiki/Chat#existing-channels[relevant chat channel].
+
+
+### Start designing APIs from the closest point to the developer
+
+When we create a new feature that requires a change to the entire stack, it's tempting to design the lowest-level API first, since that's the closest to the "interesting" code (the "business end" of the feature, where we actually do the work). However, that then forces the higher level APIs to be designed against the lower-level API, which may or may not be a good fit, and eventually the top-level API, which developers will primarily be using, may be forced to be a tortured and twisted mess (either in implementation or in terms of the exposed API). It may even be that the final API doesn't fit how people think about the problem or solve their actual issues, but instead merely exposes the lowest-level feature almost verbatim.
+
+Instead, always design the top-level API first. Consider what the most ergonomic API would be at the level that most developers will be interacting with it. Then, once that API is cleanly designed and usability-tested, build the lower levels so that the higher level can be layered atop.
+
+Concretely, this means designing the API at the `material` or `widgets` layer first, then the API in the `rendering`, `scheduler`, or `services` layer, then the relevant binding, then the `dart:ui` API or the message channel protocol, then the internal engine API or the plugin API. (The details may vary from case to case.)
+
+
+### Only log actionable messages to the console
+
+If the logs contain messages that the user can safely ignore, then they will do so, and eventually their logs
+will be so chatty and verbose that they will miss the critical messages. Therefore, only log actual errors and
+actionable warnings (warnings that can always be dealt with and fixed).
+
+Never log "informational" messages by default. It is possible that it may be useful to have messages on certain topics while debugging those topics. To deal with that, have debug flags you can enable that enable extra logging for particular topics. For example, setting `debugPrintLayouts` to true enables logging of layouts.
+
+This also applies to our unopt builds. It's annoying for other people on the team to have to wade through messages that aren't directly relevant to their work. Rely on feature flags, not verbosity levels, when deciding
+to output messages. The one exception to this is reporting useful milestones; for example, the `flutter` tool in
+verbose mode (`-v`) reports meaningful steps that it is executing because those are almost always useful.
+
+
+### Error messages should be useful
+
+Every time you find the need to report an error (e.g. throwing an exception in the framework, handling some bad state in the engine, reporting a syntax error in the Dart compiler, etc), consider how you can make this the most useful and helpful error message ever.
+
+Put yourself in the shoes of whoever sees that error message. Why did they see it? What can we do to help them? They are at a crossroads, having seen your error message: they can either get frustrated and hate Flutter, or they can feel thankful that the error helped them resolve an actual issue. **Every error message is an opportunity to make someone love our product.**
+
+### Template values should set developers up for success
+
+Template defaults should focus on providing the best developer experience. Templates should help developers understand the code, be easy to run now and support in the future. Help developers by picking dependencies that are broadly used and/or broadly supported and by leaving https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#leave-breadcrumbs-in-the-comments[comments that are helpful].
+
+See flutter create's templates for an example.
+
+Policies
+--------
+
+This section defines some policies that we have decided to honor. In the absence of a very specific policy in this section, the general philosophies in the section above are controlling.
+
+### Plugin compatibility
+
+We guarantee that a plugin published with a version equal to or greater than 1.0.0 will require no more recent a version of Flutter than the latest stable release at the time that the plugin was released. (Plugins may support older versions too, but that is not guaranteed.)
+
+### Workarounds
+
+We are willing to implement temporary (one week or less) workarounds (e.g. `//ignore` hacks) if it helps a high profile developer or prolific contributor with a painful transition. Please contact @Hixie (ian@hixie.ch) if you need to make use of this option.
+
+### Avoid abandonware
+
+Code that is no longer maintained should be deleted or archived in some way that clearly indicates
+that it is no longer maintained.
+
+For example, we delete rather than commenting out code. Commented-out code will bitrot too fast to be
+useful, and will confuse people maintaining the code.
+
+Similarly, all our repositories should have an owner that does regular triage of incoming issues and PRs,
+and fixes known issues. Repositories where nobody is doing triage at least monthly, preferably more often,
+should be deleted, hidden, or otherwise archived.
+
+### Widget libraries follow the latest OEM behavior
+
+For our material and cupertino libraries, we generally implement the latest behavior unless doing so
+would be a seriously disruptive breaking change. For example, we use the latest stylings for iOS
+switch controls, but when Material Design introduced a whole new type of button, we created a new
+widget for that rather than updating the existing buttons to have the new style.
+
+### Code that is not copyrighted "The Flutter Authors"
+
+All code in all Flutter repositories must be contributed by developers who have signed https://cla.developers.google.com/[the Google CLA], and must be licensed using our normal BSD license with a copyright referencing "The Flutter Authors", except if it is "third party code".
+
+"Third party code" that is not part of a Dart package must be in a subdirectory of a `third_party` directory at the root of the relevant repository, and the subdirectory in question must contain a `LICENSE` file that details the license covering that code and a `README` describing the provenance of that code.
+
+"Third party code" that is part of a Dart package and is not Dart code must be in a subdirectory of a `third_party` directory at the root of the package, and the subdirectory in question must contain a `LICENSE` file that details the license covering that code and a `README` describing the provenance of that code. The license must then also be duplicated into the package's `LICENSE` file using the syntax described in the https://master-api.flutter.dev/flutter/foundation/LicenseRegistry-class.html[LicenseRegistry] API docs.
+
+"Third party code" that is part of a Dart package and is Dart code must be in a subdirectory of the package's `lib/src/third_party` directory, and the subdirectory in question must contain a `LICENSE` file that details the license covering that code and a `README` describing the provenance of that code. The license must then also be duplicated into the package's `LICENSE` file using the syntax described in the https://master-api.flutter.dev/flutter/foundation/LicenseRegistry-class.html[LicenseRegistry] API docs.
+
+All licenses included in this manner must have been reviewed and determined to be legally acceptable licenses.
+
+All such "third party code" must either be a fork for which we take full responsibility, or there must be an automated rolling mechanism that keeps the code up to date when the upstream source changes.
+
+In general it is _strongly_ recommended that we avoid any such code unless strictly necessary. In particular, we aim for all code in the flutter/flutter repository to be https://github.com/flutter/flutter/wiki/Why-we-have-a-separate-engine-repo#licensing?[single-licensed], which is why it does not contain any "third party code" at all.
+
+
+Documentation (dartdocs, javadocs, etc)
+---------------------------------------
+
+We use "dartdoc" for our Dart documentation, and similar technologies for the documentation
+of our APIs in other languages, such as ObjectiveC and Java. All public members in Flutter
+libraries should have a documentation.
+
+In general, follow the
+https://www.dartlang.org/effective-dart/documentation/#doc-comments[Dart documentation guide]
+except where that would contradict this page.
+
+### Answer your own questions straight away
+
+When working on Flutter, if you find yourself asking a question about
+our systems, please place whatever answer you subsequently discover
+into the documentation in the same place where you first looked for
+the answer. That way, the documentation will consist of answers to real
+questions, where people would look to find them. Do this right away;
+it's fine if your otherwise-unrelated PR has a bunch of documentation
+fixes in it to answer questions you had while you were working on your PR.
+
+We try to avoid reliance on "oral tradition". It should be possible
+for anyone to begin contributing without having had to learn all the
+secrets from existing team members. To that end, all processes should
+be documented (typically on the wiki), code should be self-explanatory
+or commented, and conventions should be written down, e.g. in our style
+guide.
+
+There is one exception: it's better to _not_ document something in our API
+docs than to document it poorly. This is because if you don't document it,
+it still appears on our list of things to document. Feel free to remove
+documentation that violates our rules below (especially the next one),
+so as to make it reappear on the list.
+
+
+### Avoid useless documentation
+
+If someone could have written the same documentation without knowing
+anything about the class other than its name, then it's useless.
+
+Avoid checking in such documentation, because it is no better than no
+documentation but will prevent us from noticing that the identifier is
+not actually documented.
+
+Example (from http://docs.flutter.io/flutter/material/CircleAvatar-class.html[`CircleAvatar`]):
+
+```dart
+// BAD:
+
+/// The background color.
+final Color backgroundColor;
+
+/// Half the diameter of the circle.
+final double radius;
+
+
+// GOOD:
+
+/// The color with which to fill the circle.
+///
+/// Changing the background color will cause the avatar to animate to the new color.
+final Color backgroundColor;
+
+/// The size of the avatar.
+///
+/// Changing the radius will cause the avatar to animate to the new size.
+final double radius;
+```
+
+### Writing prompts for good documentation
+
+If you are having trouble coming up with useful documentation, here are some prompts that might help you write more detailed prose:
+
+ * If someone is looking at this documentation, it means that they have a question which they couldn't answer by guesswork or by looking at the code. What could that question be? Try to answer all questions you can come up with.
+
+ * If you were telling someone about this property, what might they want to know that they couldn't guess? For example, are there edge cases that aren't intuitive?
+
+ * Consider the type of the property or arguments. Are there cases that are outside the normal range that should be discussed? e.g. negative numbers, non-integer values, transparent colors, empty arrays, infinities, NaN, null? Discuss any that are non-trivial.
+
+ * Does this member interact with any others? For example, can it only be non-null if another is null? Will this member only have any effect if another has a particular range of values? Will this member affect whether another member has any effect, or what effect another member has?
+
+ * Does this member have a similar name or purpose to another, such that we should point to that one, and from that one to this one? Use the `See also:` pattern.
+
+ * Are there timing considerations? Any potential race conditions?
+
+ * Are there lifecycle considerations? For example, who owns the object that this property is set to? Who should `dispose()` it, if that's relevant?
+
+ * What is the contract for this property/method? Can it be called at any time? Are there limits on what values are valid? If it's a `final` property set from a constructor, does the constructor have any limits on what the property can be set to? If this is a constructor, are any of the arguments not nullable?
+
+ * If there are `Future` values involved, what are the guarantees around those? Consider whether they can complete with an error, whether they can never complete at all, what happens if the underlying operation is canceled, and so forth.
+
+
+### Introduce terms as if every piece of documentation is the first the reader has ever seen
+
+It's easy to assume that the reader has some basic knowledge of Dart or Flutter when writing API documentation.
+
+Unfortunately, the reality is that everyone starts knowing nothing, and we do not control where they will begin their journey.
+
+For this reason, avoid using terms without first defining them, unless you are linking to more fundamental documentation that defines that term without reference to the API you are documenting.
+
+For example, a fancy widget in the Material library can refer to the `StatefulWidget` documentation and assume that the reader either knows about the `StatefulWidget` class, or can learn about it by following the link and then later returning to the documentation for the fancy widget. However, the documentation for the `StatefulWidget` class should avoid assuming that the reader knows what a `State` class is, and should avoid defering to it for its definition, because `State` could is likely to defer back to `StatefulWidget` and the reader would be stuck in a loop unable to grasp the basic principles. This is the documentation equivalent of a bootstrapping problem.
+
+Another way to express this is that API documentation should follow a similar layering philosophy as code. The goal of documentation is not just to act as a refresher for experts, but to act as a tutorial for new developers.
+
+
+### Avoid empty prose
+
+It's easy to use more words than necessary. Avoid doing so
+where possible, even if the result is somewhat terse.
+
+```dart
+// BAD:
+
+/// Note: It is important to be aware of the fact that in the
+/// absence of an explicit value, this property defaults to 2.
+
+// GOOD:
+
+/// Defaults to 2.
+```
+
+In particular, avoid saying "Note:", or starting a sentence with "Note that". It adds nothing.
+
+
+### Leave breadcrumbs in the comments
+
+This is especially important for documentation at the level of classes.
+
+If a class is constructed using a builder of some sort, or can be
+obtained via some mechanism other than merely calling the constructor,
+then include this information in the documentation for the class.
+
+If a class is typically used by passing it to a particular API, then
+include that information in the class documentation also.
+
+If a method is the main mechanism used to obtain a particular object,
+or is the main way to consume a particular object, then mention that
+in the method's description.
+
+Typedefs should mention at least one place where the signature is used.
+
+These rules result in a chain of breadcrumbs that a reader can follow
+to get from any class or method that they might think is relevant to
+their task all the way up to the class or method they actually need.
+
+Example:
+
+```dart
+// GOOD:
+
+/// An object representing a sequence of recorded graphical operations.
+///
+/// To create a [Picture], use a [PictureRecorder].
+///
+/// A [Picture] can be placed in a [Scene] using a [SceneBuilder], via
+/// the [SceneBuilder.addPicture] method. A [Picture] can also be
+/// drawn into a [Canvas], using the [Canvas.drawPicture] method.
+abstract class Picture ...
+```
+
+You can also use "See also" links, is in:
+
+```dart
+/// See also:
+///
+/// * [FooBar], which is another way to peel oranges.
+/// * [Baz], which quuxes the wibble.
+```
+
+Each line should end with a period. Prefer "which..." rather than parentheticals on such lines.
+There should be a blank line between "See also:" and the first item in the bulleted list.
+
+
+### Refactor the code when the documentation would be incomprehensible
+
+If writing the documentation proves to be difficult because the API is
+convoluted, then rewrite the API rather than trying to document it.
+
+
+### Canonical terminology
+
+The documentation should use consistent terminology:
+
+ * _method_ - a member of a class that is a non-anonymous closure
+ * _function_ - a callable non-anonymous closure that isn't a member of a class
+ * _parameter_ - a variable defined in a closure signature and possibly used in the closure body.
+ * _argument_ - the value passed to a closure when calling it.
+
+Prefer the term "call" to the term "invoke" when talking about jumping to a closure.
+
+Prefer the term "member variable" to the term "instance variable" when talking about variables associated with a specific object.
+
+Typedef dartdocs should usually start with the phrase "Signature for...".
+
+
+### Use correct grammar
+
+Avoid starting a sentence with a lowercase letter.
+
+```dart
+// BAD
+
+/// [foo] must not be null.
+
+// GOOD
+
+/// The [foo] argument must not be null.
+```
+
+Similarly, end all sentences with a period.
+
+
+### Use the passive voice; recommend, do not require; never say things are simple
+
+Never use "you" or "we". Avoid the imperative voice. Avoid value judgements.
+
+Rather than telling someone to do something, use "Consider", as in "`To obtain the foo, consider using [bar].`".
+
+In general, you don't know who is reading the documentation or why. Someone could have inherited a terrible codebase and be reading our documentation to find out how to fix it; by saying "you should not do X" or "avoid Y" or "if you want Z", you will put the reader in a defensive state of mind when they find code that contradicts the documentation (after all, they inherited this codebase, who are we to say that they're doing it wrong, it's not their fault).
+
+For similar reasons, never use the word "simply", or say that the reader need "just" do something, or otherwise imply that the task is easy.
+By definition, if they are looking at the documentation, they are not finding it easy.
+
+
+### Provide sample code
+
+Sample code helps developers learn your API quickly. Writing sample code also helps you think through how your API is going to be used by app developers.
+
+Sample code should go in a documentation comment that typically begins with `/// {@tool dartpad}`, and ends with `/// {@end-tool}`, with the example source and corresponding tests placed in a file under https://github.com/flutter/flutter/blob/master/examples/api[the API examples directory]. This will then be checked by automated tools, and formatted for display on the API documentation web site https://api.flutter.dev[api.flutter.dev]. For details on how to write sample code, see https://github.com/flutter/flutter/blob/master/examples/api/README.md#authoring[the API example documentation].
+
+#### Provide full application samples.
+
+Our UX research has shown that developers prefer to see examples that are in the context of an entire app. So, whenever it makes sense, provide an example that can be presented as part of an entire application instead of just a snippet that uses the `{@tool snippet}` or ```dart ... ``` indicators.
+
+An application sample can be created using the `{@tool dartpad}` ... `{@end-tool}` or `{@tool sample}` ... `{@end-tool}` dartdoc indicators. See https://github.com/flutter/flutter/blob/master/examples/api/README.md#authoring[here] for more details about writing these kinds of examples.
+
+Dartpad examples (those using the dartdoc `{@tool dartpad}` indicator) will be presented on the https://api.flutter.dev[API documentation website] as an in-page executable and editable example. This allows developers to interact with the example right there on the page, and is the preferred form of example. Here is https://api.flutter.dev/flutter/widgets/AnimatedSwitcher-class.html#widgets.AnimatedSwitcher.1[one such example].
+
+For examples that don't make sense in a web page (for example, code that interacts with a particular platform feature), application examples (using the dartdoc `{@tool sample}` indicator) are preferred, and will be presented on the API documentation website along with information about how to instantiate the example as an application that can be run.
+
+Supported IDEs viewing the Flutter source code using the Flutter plugin also offer the option of creating a new project with either kind of example.
+
+### Provide illustrations, diagrams or screenshots
+
+For any widget that draws pixels on the screen, showing how it looks like in its API doc helps developers decide if the widget is useful and learn how to customize it. All illustrations should be easily reproducible, e.g. by running a Flutter app or a script.
+
+Examples:
+
+* A diagram for the AppBar widget
+
+image::https://flutter.github.io/assets-for-api-docs/assets/material/app_bar.png[]
+
+
+* A screenshot for the Card widget
+
+image::https://user-images.githubusercontent.com/348942/28338544-2c3681b8-6bbe-11e7-967d-fcd7c830bf53.png[]
+
+When creating diagrams, make sure to provide alternative text https://html.spec.whatwg.org/multipage/images.html#alt[as described in the HTML specification].
+
+
+### Link to Widget of the Week videos
+
+Link to a widget's Flutter Widget of the Week video if it has one:
+
+```dart
+/// {@youtube 560 315 https://www.youtube.com/watch?v=<id>}
+```
+
+The first two arguments are the video's width and height. These should be `560` and `315` respectively.
+
+
+### Clearly mark deprecated APIs
+
+We have conventions around deprecation. See the https://github.com/flutter/flutter/wiki/Tree-hygiene#deprecation[Tree Hygiene] page for more details.
+
+
+### Use `///` for public-quality private documentation
+
+In general, private code can and should also be documented. If that documentation is of good enough
+quality that we could include it verbatim when making the class public (i.e. it satisfies all the
+style guidelines above), then you can use `///` for those docs, even though they're private.
+
+Documentation of private APIs that is not of sufficient quality should only use `//`. That way, if
+we ever make the corresponding class public, those documentation comments will be flagged as missing,
+and we will know to examine them more carefully.
+
+Feel free to be conservative in what you consider "sufficient quality". It's ok to use `//` even if
+you have multiple paragraphs of documentation; that's a sign that we should carefully rereview the
+documentation when making the code public.
+
+### Dartdoc templates and macros
+
+Dartdoc supports creating templates that can be reused in other parts of the code. They are defined
+like so:
+
+```dart
+/// {@template <id>}
+/// ...
+/// {@endtemplate}
+```
+
+and used via:
+
+```dart
+/// {@macro <id>}
+```
+
+The `<id>` should be a unique identifier that is of the form `flutter.library.Class.member[.optionalDescription]`.
+
+For example:
+
+```
+// GOOD:
+/// {@template flutter.rendering.Layer.findAnnotations.aboutAnnotations}
+/// Annotations are great!
+/// {@endtemplate
+
+// BAD:
+/// {@template the_stuff!}
+/// This is some great stuff!
+/// {@endtemplate}
+```
+
+The `optionalDescription` component of the identifier is only necessary if there is more than one
+template defined in one Dartdoc block. If a symbol is not part of a library, or not part of a class, then
+just omit those parts from the ID.
+
+### Dartdoc-specific requirements
+
+The first paragraph of any dartdoc section must be a short self-contained sentence that explains the purpose
+and meaning of the item being documented. Subsequent paragraphs then must elaborate. Avoid having the first paragraph have multiple sentences. (This is because the first paragraph gets extracted and used in tables of
+contents, etc, and so has to be able to stand alone and not take up a lot of room.)
+
+When referencing a parameter, use backticks. However, when referencing a parameter that also corresponds to a property, use square brackets instead. (This contradicts the Dart style guide, which says to use square brackets for both. We do this because of https://github.com/dart-lang/dartdoc/issues/1486[dartdoc issue 1486]. Currently, there's no way to unambiguously reference a parameter. We want to avoid cases where a parameter that happens to be named the same as a property despite having no relationship to that property gets linked to the property.)
+
+```dart
+// GOOD
+
+ /// Creates a foobar, which allows a baz to quux the bar.
+ ///
+ /// The [bar] argument must not be null.
+ ///
+ /// The `baz` argument must be greater than zero.
+ Foo({ this.bar, int baz }) : assert(bar != null), assert(baz > 0);
+```
+
+Avoid using terms like "above" or "below" to reference one dartdoc section from another. Dartdoc sections are often shown alone on a Web page, the full context of the class is not present.
+
+
+Coding patterns and catching bugs early
+---------------------------------------
+
+### Use asserts liberally to detect contract violations and verify invariants
+
+`assert()` allows us to be diligent about correctness without paying a
+performance penalty in release mode, because Dart only evaluates asserts in
+debug mode.
+
+It should be used to verify contracts and invariants are being met as we expect.
+Asserts do not _enforce_ contracts, since they do not run at all in release builds.
+They should be used in cases where it should be impossible for the condition
+to be false without there being a bug somewhere in the code.
+
+The following example is from `box.dart`:
+
+```dart
+abstract class RenderBox extends RenderObject {
+ // ...
+
+ double getDistanceToBaseline(TextBaseline baseline, {bool onlyReal: false}) {
+ // simple asserts:
+ assert(!needsLayout);
+ assert(!_debugDoingBaseline);
+ // more complicated asserts:
+ assert(() {
+ final RenderObject parent = this.parent;
+ if (owner.debugDoingLayout)
+ return (RenderObject.debugActiveLayout == parent) &&
+ parent.debugDoingThisLayout;
+ if (owner.debugDoingPaint)
+ return ((RenderObject.debugActivePaint == parent) &&
+ parent.debugDoingThisPaint) ||
+ ((RenderObject.debugActivePaint == this) && debugDoingThisPaint);
+ assert(parent == this.parent);
+ return false;
+ });
+ // ...
+ return 0.0;
+ }
+
+ // ...
+}
+```
+
+### Prefer specialized functions, methods and constructors
+
+Use the most relevant constructor or method, when there are multiple
+options.
+
+Example:
+
+```dart
+// BAD:
+const EdgeInsets.TRBL(0.0, 8.0, 0.0, 8.0);
+
+// GOOD:
+const EdgeInsets.symmetric(horizontal: 8.0);
+```
+
+
+### Minimize the visibility scope of constants
+
+Prefer using a local const or a static const in a relevant class than using a
+global constant.
+
+As a general rule, when you have a lot of constants, wrap them in a
+class. For examples of this, see
+https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/colors.dart[lib/src/material/colors.dart].
+
+
+### Avoid using `if` chains or `?:` or `==` with enum values
+
+Use `switch` with no `default` case if you are examining an enum, since the analyzer will warn you if you missed any of the values when you use `switch`. The `default` case should be avoided so that the analyzer will complain if a value is missing. Unused values can be grouped together with a single `break` or `return` as appropriate.
+
+Avoid using `if` chains, `? ... : ...`, or, in general, any expressions involving enums.
+
+
+### Avoid using `var` and `dynamic`
+
+All variables and arguments are typed; avoid `dynamic` or `Object` in
+any case where you could figure out the actual type. Always specialize
+generic types where possible. Explicitly type all list and map
+literals. Give types to all parameters, even in closures and even if you
+don't use the parameter.
+
+This achieves two purposes: it verifies that the type that the compiler
+would infer matches the type you expect, and it makes the code self-documenting
+in the case where the type is not obvious (e.g. when calling anything other
+than a constructor).
+
+Always avoid `var` and `dynamic`. If the type is unknown, prefer using
+`Object` (or `Object?`) and casting, as using `dynamic` disables all
+static checking.
+
+
+### Avoid using `library` and `part of`.
+
+Prefer that each library be self-contained. Only name a `library` if you are documenting it (see the
+documentation section).
+
+We avoid using `part of` because that feature makes it very hard to reason about how private a private
+really is, and tends to encourage "spaghetti" code (where distant components refer to each other) rather
+than "lasagna" code (where each section of the code is cleanly layered and separable).
+
+
+### Avoid using `extension`.
+
+Extension methods are confusing to document and discover. To an end developer,
+they appear no different than the built in API of the class, and discovering
+the documentation and implementation of an extension is more challenging than
+for class members.
+
+Prefer instead adding methods directly to relevant classes. If that is not
+possible, create a method that clearly identifies what object(s) it works with
+and is part of.
+
+(A rare exception can be made for extensions that provide temporary workarounds
+when deprecating features. In those cases, however, the extensions and all their
+members must be deprecated in the PR that adds them, and they must be removed
+in accordance with our deprecation policy.)
+
+
+### Avoid using `FutureOr<T>`
+
+The `FutureOr` type is a Dart-internal type used to explain certain aspects of the `Future` API. In public APIs, avoid the temptation to create APIs that are both synchronous and asynchronous by returning this type, as it usually only results in the API being more confusing and less type safe.
+
+In certain extreme cases where the API absolutely needs to be asynchronous but a synchronous "escape hatch" is needed for performance, consider using `SynchronousFuture` (but be aware that this still suffers from many of the same risks of making the API only subtle and complicated). This is used, for example, when loading images in the Flutter framework.
+
+You may use `FutureOr` to accept a callback that may or may not return a `Future`.
+
+
+### Avoid using `Expando`
+
+Generally speaking, `Expando` objects are a sign of an architectural problem. Carefully consider whether your usage is actually necessary. When your classes have clear documented ownership rules, there is usually a better solution.
+
+Expando objects tend to invite code that is hard to understand because one cannot simply follow references to find all the dependencies.
+
+
+### Avoid using `@visibleForTesting`
+
+The https://api.flutter.dev/flutter/meta/visibleForTesting-constant.html[`@visibleForTesting`] annotation marks a public API so that developers that have not disabled the `invalid_use_of_visible_for_testing_member` analyzer error get a warning when they use this API outside of a `test` directory.
+
+This means that the API has to be treated as being public (nothing prevents a developer from using the API even in non-test code), meaning it must be designed to be a public API, it must be documented, it must be tested, etc. At which point, there's really no reason not to just make it a public API. If anything, the use of `@visibleForTesting` becomes merely a crutch to convince ourselves that it's ok that we're making something public that we should really not have made public.
+
+So rather than rely on `@visibleForTesting`, consider designing your APIs so that they are directly testable using the public API, without exposing any sensitive internals.
+
+(One exception is combining `@visibleForTesting` with `@protected`. The `@protected` annotation marks a member as one that is intended for subclasses, so it is already a public API and considered as such. The `@visibleForTesting` annotation in that case merely enables the member to be called directly in tests without having to create a fake subclass and without having to add `//ignore` pragmas.)
+
+
+### Never check if a port is available before using it, never add timeouts, and other race conditions.
+
+If you look for an available port, then try to open it, it's extremely likely that several times a week some other code will open that port between your check and when you open the port, and that will cause a failure.
+
+> Instead, have the code that opens the port pick an available port and return it, rather than being given a (supposedly) available port.
+
+If you have a timeout, then it's very likely that several times a week some other code will happen to run while your timeout is running, and your "really conservative" timeout will trigger even though it would have worked fine if the timeout was one second longer, and that will cause a failure.
+
+> Instead, have the code that would time out just display a message saying that things are unexpectedly taking a long time, so that someone interactively using the tool can see that something is fishy, but an automated system won't be affected.
+
+Race conditions like this are the primary cause of flaky tests, which waste everyone's time.
+
+Similarly, avoid delays or sleeps that are intended to coincide with how long something takes. You may think that waiting two seconds is fine because it normally takes 10ms, but several times a week your 10ms task will actually take 2045ms and your test will fail because waiting two seconds wasn't long enough.
+
+> Instead, wait for a triggering event.
+
+
+### Avoid mysterious and magical numbers that lack a clear derivation
+
+Numbers in tests and elsewhere should be clearly understandable. When the provenance of a number is not obvious,
+consider either leaving the expression or adding a clear comment (bonus points for leaving a diagram).
+
+```dart
+// BAD
+expect(rect.left, 4.24264068712);
+
+// GOOD
+expect(rect.left, 3.0 * math.sqrt(2));
+```
+
+
+### Have good hygiene when using temporary directories
+
+Give the directory a unique name that starts with `flutter_` and ends with a period (followed by the autogenerated random string).
+
+For consistency, name the `Directory` object that points to the temporary directory `tempDir`, and create it with `createTempSync` unless you need to do it asynchronously (e.g. to show progress while it's being created).
+
+Always clean up the directory when it is no longer needed. In tests, use the `tryToDelete` convenience function to delete the directory. (We use `tryToDelete` because on Windows it's common to get "access denied" errors when deleting temporary directories. We have no idea why; if you can figure it out then that could simplify a lot of code!)
+
+
+### Perform dirty checks in setters
+
+Dirty checks are processes to determine whether a changed values have been synchronized with the rest of the app.
+
+When defining mutable properties that mark a class dirty when set, use
+the following pattern:
+
+```dart
+/// Documentation here (don't wait for a later commit).
+TheType get theProperty => _theProperty;
+TheType _theProperty;
+void set theProperty(TheType value) {
+ assert(value != null);
+ if (_theProperty == value)
+ return;
+ _theProperty = value;
+ markNeedsWhatever(); // the method to mark the object dirty
+}
+```
+
+The argument is called 'value' for ease of copy-and-paste reuse of
+this pattern. If for some reason you don't want to use 'value', use
+'newProperty' (where 'Property' is the property name).
+
+Start the method with any asserts you need to validate the value.
+
+Don't do anything _else_ in setters, other than marking the object as dirty and updating internal state.
+Getters and setters should not have significant side-effects. For example, setting a property whose value
+is a callback should not result in that callback being invoked. Setting a property whose value is an object
+of some sort should not result in any of that object's methods being called.
+
+
+### Common boilerplates for `operator ==` and `hashCode`
+
+We have many classes that override `operator ==` and `hashCode` ("value classes"). To keep the code consistent,
+we use the following style for these methods:
+
+```dart
+ @override
+ bool operator ==(Object other) {
+ if (other.runtimeType != runtimeType) {
+ return false;
+ }
+ return other is Foo
+ && other.bar == bar
+ && other.baz == baz
+ && other.quux == quux;
+ }
+
+ @override
+ int get hashCode => Object.hash(bar, baz, quux);
+```
+
+For objects with a lot of properties, consider adding the following at the top of the `operator ==`:
+
+```dart
+ if (identical(other, this)) {
+ return true;
+ }
+```
+
+(We don't yet use this _exact_ style everywhere, so feel free to update code you come across that isn't yet using it.)
+
+In general, consider carefully whether overriding `operator ==` is a good idea. It can be expensive, especially
+if the properties it compares are themselves comparable with a custom `operator ==`. If you do override equality,
+you should use `@immutable` on the class hierarchy in question.
+
+
+### Override `toString`
+
+Use `https://api.flutter.dev/flutter/foundation/Diagnosticable-mixin.html[Diagnosticable]` (rather than directly overriding `toString`) on all but the most trivial classes. That allows us to inspect the object from https://pub.dartlang.org/packages/devtools[devtools] and IDEs.
+
+For trivial classes, override `toString` as follows, to aid in debugging:
+
+```dart
+ @override
+ String toString() => '${objectRuntimeType(this, 'NameOfObject')}($bar, $baz, $quux)';
+```
+
+...but even then, consider using `Diagnosticable` instead. Avoid using `$runtimeType`, since it adds a non-trivial cost even in release and profile mode. The `objectRuntimeType` method handles this for you, falling back to a supplied constant string when asserts are disabled.
+
+
+### Be explicit about `dispose()` and the object lifecycle
+
+Even though Dart is garbage collected, having a defined object lifecycle and explicit ownership model (describing in the API documentation who is allowed to mutate the object, for instance) is important to avoid subtle bugs and confusing designs.
+
+If your class has a clear "end of life", for example, provide a `dispose()` method to clean up references such as listeners that would otherwise prevent some objects from getting garbage collected. For example, consider a widget that has a subscription on a global broadcast stream (that might have other listeners). That subscription will keep the widget from getting garbage collected until the stream itself goes away (which, for a global stream, might never happen).
+
+In general, pretending that Dart does not have garbage collection is likely to lead to less confusing and buggy code, because it forces you to think about the implications of object ownership and lifecycles.
+
+
+### Test APIs belong in the test frameworks
+
+Mechanisms that exist for test purposes do not belong in the core libraries, they belong in test harnesses. This keeps the cost of the main library down in production and avoids the risk that people might abuse test APIs.
+
+
+### Immutable classes should not have hidden state
+
+Immutable classes (those with `const` constructors) should not have hidden state. For example, they should not use private statics or Expandos. If they are stateful, then they should not be `const`.
+
+
+### Avoid `sync*`/`async*`
+
+Using generator functions (`sync*`/`async*`) can be a powerful improvement when callers will
+actually lazily evaluate the iterable and each iteration is expensive _or_ there are a very
+large number of iterations.
+
+It should not be used in place of building and returning a `List`, particularly for trivial methods
+that only yield a small number of members or when callers will evaluate the whole collection
+anyway. It should also be avoided in very large functions.
+
+It incurs runtime overhead in maintaining and using an iterator, and space overhead for the compiler
+to actually desugar the generator into something that uses an iterator class.
+
+Writing tests
+-------------
+
+### Make each test entirely self-contained
+
+Embrace code duplication in tests. It makes it easier to make new tests by copying and pasting them and
+tweaking a few things.
+
+Avoid using `setUp`, `tearDown`, and similar features, as well as test-global variables or other state
+shared between tests. They make writing tests easier but make maintaining them, debugging them, and
+refactoring code much harder. (These are commonly used in Flutter's codebase today, but that is almost
+always a mistake. When you are editing a file that uses those features, aim to reduce the number of
+tests using them while you're there.)
+
+Specifically, we are trying to avoid shared state, which could persist across tests, and non-local
+side-effects, which would prevent being able to move a test to another file without breaking the test.
+(It's fine to factor out code into functions that are called by tests, so long as the functions don't
+have side-effects that might change how other tests run.)
+
+
+### Prefer more test files, avoid long test files
+
+Avoid adding tests to files that already have more than one or two hundred lines of code. It's easier
+to understand a test file when it has only a few related tests, rather than when it has an entire test
+suite. (It also makes developing the tests faster because you can run the test file faster.)
+
+
+### Avoid using `pumpAndSettle`
+
+As per the API docs for https://main-api.flutter.dev/flutter/flutter_test/WidgetController/pumpAndSettle.html[pumpAndSettle], prefer using explicit https://main-api.flutter.dev/flutter/flutter_test/WidgetController/pump.html[`pump`] calls rather than `pumpAndSettle`.
+
+Using `pumpAndSettle`, especially without checking its return value, makes it very easy for bugs to sneak in where we trigger animations across multiple frames instead of immediately. It is almost always the case that a call to `pumpAndSettle` is more strictly correctly written as two `pump` calls, one to trigger the animations and one (with a duration) to jump to the point after the animations.
+
+
+Naming
+------
+
+### Begin global constant names with prefix "k"
+
+Examples:
+
+```dart
+const double kParagraphSpacing = 1.5;
+const String kSaveButtonTitle = 'Save';
+```
+
+However, where possible avoid global constants. Rather than `kDefaultButtonColor`, consider `Button.defaultColor`. If necessary, consider creating a class with a private constructor to hold relevant constants.
+
+
+### Avoid abbreviations
+
+Unless the abbreviation is more recognizable than the expansion (e.g. XML, HTTP, JSON), expand abbrevations
+when selecting a name for an identifier. In general, avoid one-character names unless one character is idiomatic
+(for example, prefer `index` over `i`, but prefer `x` over `horizontalPosition`).
+
+
+### Avoid anonymous parameter names
+
+Provide full type information and names even for parameters that are otherwise unused. This makes it easier for
+people reading the code to tell what is actually going on (e.g. what is being ignored). For example:
+
+```dart
+ onTapDown: (TapDownDetails details) { print('hello!'); }, // GOOD
+ onTapUp: (_) { print('good bye'); }, // BAD
+```
+
+
+### Naming rules for typedefs and function variables
+
+When naming callbacks, use `FooCallback` for the typedef, `onFoo` for
+the callback argument or property, and `handleFoo` for the method
+that is called. If `Foo` is a verb, prefer the present tense to the
+past tense (e.g. `onTap` instead of `onTapped`).
+
+If you have a callback with arguments but you want to ignore the
+arguments, give the type and names of the arguments anyway. That way,
+if someone copies and pastes your code, they will not have to look up
+what the arguments are.
+
+Never call a method `onFoo`. If a property is called `onFoo` it must be
+a function type. (For all values of "Foo".)
+
+Prefer using `typedef`s to declare callbacks. Typedefs benefit from having
+documentation on the type itself and make it easier to read and find
+common callsites for the signature.
+
+### Spell words in identifiers and comments correctly
+
+Our primary source of truth for spelling is the
+https://material.google.com/[Material Design Specification].
+Our secondary source of truth is dictionaries.
+
+Avoid "cute" spellings. For example, 'colors', not 'colorz'.
+
+Prefer US English spellings. For example, 'colorize', not 'colourise', and 'canceled', not 'cancelled'.
+
+Prefer compound words over "cute" spellings to avoid conflicts with reserved words. For example, 'classIdentifier', not 'klass'.
+
+
+### Capitalize identifiers consistent with their spelling
+
+In general, we use https://dart.dev/guides/language/effective-dart/style#identifiers[Dart's recommendations]'s for naming identifiers. Please consider the following additional guidelines:
+
+If a word is correctly spelled (according to our sources of truth as described in the previous section) as a single word, then it should not have any inner capitalization or spaces.
+
+For examples, prefer `toolbar`, `scrollbar`, but `appBar` ('app bar' in documentation), `tabBar` ('tab bar' in documentation).
+
+Similarly, prefer `offstage` rather than `offStage`.
+
+Avoid using class names with `iOS` when possible. The capitalization of `iOS` is supposed to be exactly that, but that doesn't work well with camelCase and even less with UpperCamelCase; use alternatives like "Cupertino" or "UIKit" instead when possible. If you really really must use "iOS" in an identifier, capitalize it to `IOS`. Whether or not https://dart.dev/guides/language/effective-dart/style#do-capitalize-acronyms-and-abbreviations-longer-than-two-letters-like-words[the two-letter exception] applies to "iOS" is debatable, but `IOS` is consistent with Dart APIs, and the alternatives (`IOs`, `Ios`) are even more jarring. (Previous versions of this guide incorrectly indicated that `Ios` was the correct capitalization when necessary; this form should not be used in new code.)
+
+
+### Avoid double negatives in APIs
+
+Name your boolean variables in positive ways, such as "enabled" or "visible", even if the default value is true.
+
+This is because, when you have a property or argument named "disabled" or "hidden", it leads to code such as `input.disabled = false` or `widget.hidden = false` when you're trying to enable or show the widget, which is very confusing.
+
+
+### Prefer naming the argument to a setter `value`
+
+Unless this would cause other problems, use `value` for the name of a setter's argument. This makes it easier to copy/paste the setter later.
+
+
+### Qualify variables and methods used only for debugging
+
+If you have variables or methods (or even classes!) that are only used in debug mode,
+prefix their names with `debug` or `_debug` (or, for classes, `_Debug`).
+
+Do not use debugging variables or methods (or classes) in production code.
+
+
+### Avoid naming undocumented libraries
+
+In other words, do not use the `library` keyword, unless it is a
+documented top-level library intended to be imported by users.
+
+### Avoid "new/old" modifiers in code
+
+The definition of "New" changes as code grows and time passes. If the code
+needed a replacement version the odds of needing another replacement in the
+future is higher. Instead find a name that represents the idea being being used
+or replaced.
+
+
+Comments
+--------
+
+### Avoid checking in comments that ask questions
+
+Find the answers to the questions, or describe the confusion, including
+references to where you found answers.
+
+If commenting on a workaround due to a bug, also leave a link to the issue and
+a TODO to clean it up when the bug is fixed.
+
+Example:
+
+```dart
+// BAD:
+
+// What should this be?
+
+// This is a workaround.
+
+
+// GOOD:
+
+// According to this specification, this should be 2.0, but according to that
+// specification, it should be 3.0. We split the difference and went with
+// 2.5, because we didn't know what else to do.
+
+// TODO(username): Converting color to RGB because class Color doesn't support
+// hex yet. See http://link/to/a/bug/123
+```
+
+TODOs should include the string TODO in all caps, followed by the GitHub username of
+the person with the best _context_ about the problem referenced by the TODO in
+parenthesis. A TODO is not a commitment that the person referenced will fix the
+problem, it is intended to be the person with enough context to explain the problem.
+Thus, when you create a TODO, it is almost always your username that is given.
+
+Including an issue link in a TODO description is required.
+
+_(See also https://github.com/flutter/flutter/issues/37519[#37519],
+which tracks a proposal to change the syntax of TODOs to not include usernames.)_
+
+### Comment all `// ignores`
+
+Sometimes, it is necessary to write code that the analyzer is unhappy with.
+
+If you find yourself in this situation, consider how you got there. Is the analyzer actually correct but you
+don't want to admit it? Think about how you could refactor your code so that the analyzer is happy. If such a
+refactor would make the code better, do it. (It might be a lot of work... embrace the yak shave.)
+
+If you are really really sure that you have no choice but to silence the analyzer, use `// ignore: `. The ignore
+directive should be on the same line as the analyzer warning.
+
+If the ignore is temporary (e.g. a workaround for a bug in the compiler or analyzer, or a workaround for some known problem in Flutter that you cannot fix), then add a link to the relevant bug, as follows:
+
+```dart
+ foo(); // ignore: lint_code, https://link.to.bug/goes/here
+```
+
+If the ignore directive is permanent, e.g. because one of our lints has some unavoidable false positives and in this case violating the lint is definitely better than all other options, then add a comment explaining why:
+
+```dart
+ foo(); // ignore: lint_code, sadly there is no choice but to do
+ // this because we need to twiddle the quux and the bar is zorgle.
+```
+
+### Comment all test skips
+
+On very rare occasions it may be necessary to skip a test. To do that, use the `skip` argument.
+Any time you use the `skip` argument, file an issue describing why it is skipped and
+include a link to that issue in the code.
+
+
+### Comment empty closures to `setState`
+
+Generally the closure passed to `setState` should include all the code that changes the state. Sometimes this is not possible because the state changed elsewhere and the `setState` is called in response. In those cases, include a comment in the `setState` closure that explains what the state is that changed.
+
+```dart
+ setState(() { /* The animation ticked. We use the animation's value in the build method. */ });
+```
+
+
+Formatting
+----------
+
+These guidelines have no technical effect, but they are still important purely
+for consistency and readability reasons.
+
+We do not yet use `dartfmt` (except in flutter/packages).
+Flutter code tends to use patterns that
+the standard Dart formatter does not handle well. We are
+https://github.com/flutter/flutter/issues/2025[working with Dart team] to make `dartfmt` aware of these patterns.
+
+
+### In defense of the extra work that hand-formatting entails
+
+Flutter code might eventually be read by hundreds of thousands of people each day.
+Code that is easier to read and understand saves these people time. Saving each
+person even a second each day translates into hours or even _days_ of saved time
+each day. The extra time spent by people contributing to Flutter directly translates
+into real savings for our developers, which translates to real benefits to our end
+users as our developers learn the framework faster.
+
+
+### Constructors come first in a class
+
+The default (unnamed) constructor should come first, then the named
+constructors. They should come before anything else (including, e.g., constants or static methods).
+
+This helps readers determine whether the class has a default implied constructor or not at a glance. If it was possible for a constructor to be anywhere in the class, then the reader would have to examine every line of the class to determine whether or not there was an implicit constructor or not.
+
+
+### Order other class members in a way that makes sense
+
+The methods, properties, and other members of a class should be in an order that
+will help readers understand how the class works.
+
+If there's a clear lifecycle, then the order in which methods get invoked would be useful, for example an `initState` method coming before `dispose`. This helps readers because the code is in chronological order, so
+they can see variables get initialized before they are used, for instance. Fields should come before the methods that manipulate them, if they are specific to a particular group of methods.
+
+> For example, RenderObject groups all the layout fields and layout
+> methods together, then all the paint fields and paint methods, because layout
+> happens before paint.
+
+If no particular order is obvious, then the following order is suggested, with blank lines between each one:
+
+1. Constructors, with the default constructor first.
+2. Constants of the same type as the class.
+3. Static methods that return the same type as the class.
+4. Final fields that are set from the constructor.
+5. Other static methods.
+6. Static properties and constants.
+7. Members for mutable properties, without new lines separating the members of a property, each property in the order:
+ - getter
+ - private field
+ - setter
+8. Read-only properties (other than `hashCode`).
+9. Operators (other than `==`).
+10. Methods (other than `toString` and `build`).
+11. The `build` method, for `Widget` and `State` classes.
+12. `operator ==`, `hashCode`, `toString`, and diagnostics-related methods, in that order.
+
+Be consistent in the order of members. If a constructor lists multiple
+fields, then those fields should be declared in the same order, and
+any code that operates on all of them should operate on them in the
+same order (unless the order matters).
+
+
+### Constructor syntax
+
+If you call `super()` in your initializer list, put a space between the
+constructor arguments' closing parenthesis and the colon. If there's
+other things in the initializer list, align the `super()` call with the
+other arguments. Don't call `super` if you have no arguments to pass up
+to the superclass.
+
+```dart
+// one-line constructor example
+abstract class Foo extends StatelessWidget {
+ Foo(this.bar, { Key key, this.child }) : super(key: key);
+ final int bar;
+ final Widget child;
+ // ...
+}
+
+// fully expanded constructor example
+abstract class Foo extends StatelessWidget {
+ Foo(
+ this.bar, {
+ Key key,
+ Widget childWidget,
+ }) : child = childWidget,
+ super(
+ key: key,
+ );
+ final int bar;
+ final Widget child;
+ // ...
+}
+```
+
+
+### Prefer a maximum line length of 80 characters
+
+Aim for a maximum line length of roughly 80 characters, but prefer going over if breaking the
+line would make it less readable, or if it would make the line less consistent
+with other nearby lines. Prefer avoiding line breaks after assignment operators.
+
+```dart
+// BAD (breaks after assignment operator and still goes over 80 chars)
+final int a = 1;
+final int b = 2;
+final int c =
+ a.very.very.very.very.very.long.expression.that.returns.three.eventually().but.is.very.long();
+final int d = 4;
+final int e = 5;
+
+// BETTER (consistent lines, not much longer than the earlier example)
+final int a = 1;
+final int b = 2;
+final int c = a.very.very.very.very.very.long.expression.that.returns.three.eventually().but.is.very.long();
+final int d = 4;
+final int e = 5;
+```
+
+```dart
+// BAD (breaks after assignment operator)
+final List<FooBarBaz> _members =
+ <FooBarBaz>[const Quux(), const Qaax(), const Qeex()];
+
+// BETTER (only slightly goes over 80 chars)
+final List<FooBarBaz> _members = <FooBarBaz>[const Quux(), const Qaax(), const Qeex()];
+
+// BETTER STILL (fits in 80 chars)
+final List<FooBarBaz> _members = <FooBarBaz>[
+ const Quux(),
+ const Qaax(),
+ const Qeex(),
+];
+```
+
+
+### Indent multi-line argument and parameter lists by 2 characters
+
+When breaking an argument list into multiple lines, indent the
+arguments two characters from the previous line.
+
+Example:
+
+```dart
+Foo f = Foo(
+ bar: 1.0,
+ quux: 2.0,
+);
+```
+
+When breaking a parameter list into multiple lines, do the same.
+
+
+### If you have a newline after some opening punctuation, match it on the closing punctuation.
+
+And vice versa.
+
+Example:
+
+```dart
+// BAD:
+ foo(
+ bar, baz);
+ foo(
+ bar,
+ baz);
+ foo(bar,
+ baz
+ );
+
+// GOOD:
+ foo(bar, baz);
+ foo(
+ bar,
+ baz,
+ );
+ foo(bar,
+ baz);
+```
+
+### Use a trailing comma for arguments, parameters, and list items, but only if they each have their own line.
+
+Example:
+```dart
+List<int> myList = [
+ 1,
+ 2,
+];
+myList = <int>[3, 4];
+
+foo1(
+ bar,
+ baz,
+);
+foo2(bar, baz);
+```
+
+Whether to put things all on one line or whether to have one line per item is an aesthetic choice. We prefer whatever ends up being most readable. Typically this means that when everything would fit on one line, put it all on one line, otherwise, split it one item to a line.
+
+However, there are exceptions. For example, if there are six back-to-back lists and all but one of them need multiple lines, then one would not want to have the single case that does fit on one line use a different style than the others.
+
+```dart
+ // BAD (because the second list is unnecessarily and confusingly different than the others):
+ List<FooBarBaz> myLongList1 = <FooBarBaz>[
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ ];
+ List<Quux> myLongList2 = <Quux>[ Quux(1), Quux(2) ];
+ List<FooBarBaz> myLongList3 = <FooBarBaz>[
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ ];
+
+ // GOOD (code is easy to scan):
+ List<FooBarBaz> myLongList1 = <FooBarBaz>[
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ ];
+ List<Quux> myLongList2 = <Quux>[
+ Quux(1),
+ Quux(2),
+ ];
+ List<FooBarBaz> myLongList3 = <FooBarBaz>[
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ FooBarBaz(one: firstArgument, two: secondArgument, three: thirdArgument),
+ ];
+```
+
+### Prefer single quotes for strings
+
+Use double quotes for nested strings or (optionally) for strings that contain single quotes.
+For all other strings, use single quotes.
+
+Example:
+
+```dart
+print('Hello ${name.split(" ")[0]}');
+```
+
+
+### Consider using `=>` for short functions and methods
+
+But only use `=>` when everything, including the function declaration, fits
+on a single line.
+
+Example:
+
+```dart
+// BAD:
+String capitalize(String s) =>
+ '${s[0].toUpperCase()}${s.substring(1)}';
+
+// GOOD:
+String capitalize(String s) => '${s[0].toUpperCase()}${s.substring(1)}';
+
+String capitalize(String s) {
+ return '${s[0].toUpperCase()}${s.substring(1)}';
+}
+```
+
+### Use `=>` for inline callbacks that just return literals or switch expressions
+
+If your code is passing an inline closure that merely returns a list or
+map literal, or a switch expression, or is merely calling another function,
+then if the argument is on its own line, then rather than using braces and a
+return` statement, you can instead use the `=>` form. When doing this, the
+closing `]`, `}`, or `)` bracket will line up with the argument name, for
+named arguments, or the `(` of the argument list, for positional arguments.
+
+For example:
+
+```dart
+ // GOOD, but slightly more verbose than necessary since it doesn't use =>
+ @override
+ Widget build(BuildContext context) {
+ return PopupMenuButton<String>(
+ onSelected: (String value) { print('Selected: $value'); },
+ itemBuilder: (BuildContext context) {
+ return <PopupMenuItem<String>>[
+ PopupMenuItem<String>(
+ value: 'Friends',
+ child: MenuItemWithIcon(Icons.people, 'Friends', '5 new')
+ ),
+ PopupMenuItem<String>(
+ value: 'Events',
+ child: MenuItemWithIcon(Icons.event, 'Events', '12 upcoming')
+ ),
+ ];
+ }
+ );
+ }
+
+ // GOOD, does use =>, slightly briefer
+ @override
+ Widget build(BuildContext context) {
+ return PopupMenuButton<String>(
+ onSelected: (String value) { print('Selected: $value'); },
+ itemBuilder: (BuildContext context) => <PopupMenuItem<String>>[
+ PopupMenuItem<String>(
+ value: 'Friends',
+ child: MenuItemWithIcon(Icons.people, 'Friends', '5 new')
+ ),
+ PopupMenuItem<String>(
+ value: 'Events',
+ child: MenuItemWithIcon(Icons.event, 'Events', '12 upcoming')
+ ),
+ ]
+ );
+ }
+```
+
+The important part is that the closing punctuation lines up with the start
+of the line that has the opening punctuation, so that you can easily determine
+what's going on by just scanning the indentation on the left edge.
+
+
+### Prefer single line for short collection-if and collection-for
+
+If the code fits in a single line don't split it.
+
+For example:
+
+```dart
+// BAD
+final List<String> args = <String>[
+ 'test',
+ if (useFlutterTestFormatter) '-rjson'
+ else '-rcompact',
+ '-j1',
+ if (!hasColor)
+ '--no-color',
+ for (final String opt in others)
+ opt,
+];
+
+// GOOD
+final List<String> args = <String>[
+ 'test',
+ if (useFlutterTestFormatter) '-rjson' else '-rcompact',
+ '-j1',
+ if (!hasColor) '--no-color',
+ for (final String opt in others) opt,
+];
+```
+
+Otherwise indent with 2 spaces
+
+```dart
+// GOOD
+final List<String> args = <String>[
+ 'test',
+ if (useFlutterTestFormatter)
+ '-rjson.very.very.very.very.very.very.very.very.long'
+ else
+ '-rcompact.very.very.very.very.very.very.very.very.long',
+ '-j1',
+ if (!hasColor)
+ '--no-color.very.very.very.very.very.very.very.very.long',
+ for (final String opt in others)
+ methodVeryVeryVeryVeryVeryVeryVeryVeryVeryLong(opt),
+];
+```
+
+### Put spread inside collection-if or collection-for on the same line
+
+Spreads inside collection-if or collection-for are used to insert several elements. It's easier to read to have spread on the line of `if`, `else`, or `for`.
+
+```dart
+// BAD
+final List<String> args = <String>[
+ 'test',
+ if (condA)
+ ...<String>[
+ 'b',
+ 'c',
+ ]
+ else
+ '-rcompact',
+ for (final String opt in others)
+ ...<String>[
+ m1(opt),
+ m2(opt),
+ ],
+];
+
+// GOOD
+final List<String> args = <String>[
+ 'test',
+ if (condA) ...<String>[
+ 'b',
+ 'c',
+ ] else
+ '-rcompact',
+ for (final String opt in others) ...<String>[
+ m1(opt),
+ m2(opt),
+ ],
+];
+```
+
+
+### Use braces for long functions and methods
+
+Use a block (with braces) when a body would wrap onto more than one line (as opposed to using `=>`; the cases where you can use `=>` are discussed in the previous two guidelines).
+
+
+### Separate the 'if' expression from its statement
+
+(This is enforced by the `always_put_control_body_on_new_line` and `curly_braces_in_flow_control_structures` lints.)
+
+Don't put the statement part of an 'if' statement on the same line as
+the expression, even if it is short. (Doing so makes it unobvious that
+there is relevant code there. This is especially important for early
+returns.)
+
+Example:
+
+```dart
+// BAD:
+if (notReady) return;
+
+// GOOD:
+// Use this style for code that is expected to be publicly read by developers
+if (notReady) {
+ return;
+}
+```
+
+If the body is more than one line, or if there is an `else` clause, wrap the body in braces:
+
+```dart
+// BAD:
+if (foo)
+ bar(
+ 'baz',
+ );
+
+// BAD:
+if (foo)
+ bar();
+else
+ baz();
+
+// GOOD:
+if (foo) {
+ bar(
+ 'baz',
+ );
+}
+
+// GOOD:
+if (foo) {
+ bar();
+} else {
+ baz();
+}
+```
+
+We require bodies to make it very clear where the bodies belong.
+
+### Align expressions
+
+Where possible, subexpressions on different lines should be aligned, to make the structure of the expression easier. When doing this with a `return` statement chaining `||` or `&&` operators, consider putting the operators on the left hand side instead of the right hand side.
+
+```dart
+// BAD:
+if (foo.foo.foo + bar.bar.bar * baz - foo.foo.foo * 2 +
+ bar.bar.bar * 2 * baz > foo.foo.foo) {
+ // ...
+}
+
+// GOOD (notice how it makes it obvious that this code can be simplified):
+if (foo.foo.foo + bar.bar.bar * baz -
+ foo.foo.foo * 2 + bar.bar.bar * 2 * baz > foo.foo.foo) {
+ // ...
+}
+// After simplification, it fits on one line anyway:
+if (bar.bar.bar * 3 * baz > foo.foo.foo * 2) {
+ // ...
+}
+```
+
+```dart
+// BAD:
+return foo.x == x &&
+ foo.y == y &&
+ foo.z == z;
+
+// GOOD:
+return foo.x == x &&
+ foo.y == y &&
+ foo.z == z;
+
+// ALSO GOOD:
+return foo.x == x
+ && foo.y == y
+ && foo.z == z;
+```
+
+### Prefer `+=` over `++`
+
+We generally slightly prefer `+=` over `++`.
+
+In some languages/compilers postfix `++` is an antipattern because of performance reasons, and so it's easier to just avoid it in general.
+
+Because of the former, some people will use the prefix `++`, but this leads to statements that lead with punctuation, which is aesthetically displeasing.
+
+In general, mutating variables as part of larger expressions leads to confusion about the order of operations, and entwines the increment with another calculation.
+
+Using `++` does not make it obvious that the underlying variable is actually being mutated, whereas `+=` more clearly does (it's an assignment with an `=` sign).
+
+Finally, `+=` is more convenient when changing the increment to a number other than 1.
+
+### Use double literals for double constants
+
+To make it clearer when something is a double or an integer, even if the number is a round number, include a decimal point in double literals. For example, if a function `foo` takes a double, write `foo(1.0)` rather than `foo(1)` because the latter makes it look like the function takes an integer.
+
+
+Conventions
+-----------
+
+### Expectations around potential crashes in the engine
+
+The engine should never crash in an uncontrolled fashion.
+
+In unopt mode, the engine C++ code should have asserts that check for contract violations.
+
+In opt debug mode, the `dart:ui` code should have asserts that check for contract violations. These asserts should have messages that are detailed and useful, if they are not self-explanatory.
+
+In opt release mode, the exact behavior can be arbitrary so long as it is defined and non-vulnerable for every input. For example, a contract violation could be checked in Dart, with an exception thrown for invalid data; but equally valid would be for the C++ code to return early when faced with invalid data. The idea is to optimize for speed in the case where the data is valid.
+
+For practical purposes we don't currently check for out-of-memory errors. Ideally we would.
+
+
+### Features we expect every widget to implement
+
+Now that the Flutter framework is mature, we expect every new widget to implement all of the following:
+
+- full accessibility, so that on both Android and iOS the widget works with the native accessibility tools.
+- full localization with default translations for all our default languages.
+- full support for both right-to-left and left-to-right layouts, driven by the ambient Directionality.
+- full support for text scaling up to at least 3.0x.
+- documentation for every member; see the section above for writing prompts to write documentation.
+- good performance even when used with large amounts of user data.
+- a complete lifecycle contract with no resource leaks (documented, if it differs from usual widgets).
+- tests for all the above as well as all the unique functionality of the widget itself.
+
+It's the job of the programmer to provide these before submitting a PR.
+
+It's the job of the reviewer to check that all these are present when reviewing a PR.
+
+
+### Use of streams in Flutter framework code
+
+In general we avoid the use of `Stream` classes in Flutter framework code (and `dart:ui`). Streams in general are fine and we encourage people to use them. However, they have some disadvantages and we prefer to keep them out of the framework for this reason. For example:
+
+* Streams have a heavy API. For example, they can be synchronous or asynchronous, broadcast or single-client, and they can be paused and resumed. It is non-trivial to determine the right semantics for a particular stream when it will be used in all the ways framework code could be used, and it is non-trivial to fully implement the semantics correctly.
+
+* Streams don't have a "current value" accessor, which makes them difficult to use in `build` methods.
+
+* The APIs for manipulating streams are non-trivial (e.g. transformers).
+
+We generally prefer `Listenable` subclasses (e.g. `ValueNotifier` or `ChangeNotifier`).
+
+In the specific case of exposing a value from `dart:ui` via a callback, we expect the bindings in the framework to register a single listener and then provide a mechanism to fan the notification to multiple listeners. Sometimes this is a rather involved process (e.g. the `SchedulerBinding` exists almost entirely for the purpose of doing this for `onBeginFrame`/`onDrawFrame`, and the `GesturesBinding` exists exclusively for the purpose of doing this for pointer events). Sometimes it's simpler (e.g. propagating changes to life cycle events).
+
+
+Packages
+--------
+
+### Structure
+
+As per normal Dart conventions, a package should have a single import
+that reexports all of its API.
+
+> For example,
+> https://github.com/flutter/flutter/blob/master/packages/flutter/lib/rendering.dart[rendering.dart]
+> exports all of lib/src/rendering/*.dart
+
+If a package uses, as part of its exposed API, types that it imports
+from a lower layer, it should reexport those types.
+
+> For example,
+> https://github.com/flutter/flutter/blob/master/packages/flutter/lib/material.dart[material.dart]
+> reexports everything from
+> https://github.com/flutter/flutter/blob/master/packages/flutter/lib/widgets.dart[widgets.dart].
+> Similarly, the latter
+> https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/widgets/basic.dart[reexports]
+> many types from
+> https://github.com/flutter/flutter/blob/master/packages/flutter/lib/rendering.dart[rendering.dart],
+> such as `BoxConstraints`, that it uses in its API. On the other
+> hand, it does not reexport, say, `RenderProxyBox`, since that is not
+> part of the widgets API.
+
+Flutter packages should not have "private" APIs other than those that are
+prefixed with underscores. Every file in a Flutter package should be exported.
+("Private" files can still be imported so they are still actually public APIs;
+by not exporting them explicitly we are tricking ourselves into thinking of
+them as private APIs which may lead to poor design.)
+
+When developing new features in Flutter packages, one should follow the philosophy:
+
+> Only expose the APIs that are necessities to the features.
+
+Since the private classes in dart language are file-bound, this may often result in
+large file sizes. In Flutter, this is considered to be more preferable than creating
+multiple smaller files but exposing intermediate classes that are not needed to use
+the features.
+
+
+### Import conventions
+
+Under lib/src, for in-folder import use relative import. For cross-folder import,
+import the entire package with absolute import.
+
+When importing the `rendering.dart` library into higher level libraries,
+if you are creating new
+`RenderObject` subclasses, import the entire library. If you are only
+referencing specific `RenderObject` subclasses, then import the
+`rendering.dart` library with a `show` keyword explicitly listing the
+types you are importing. This latter approach is generally good for
+documenting why exactly you are importing particularly libraries and
+can be used more generally when importing large libraries for very
+narrow purposes.
+
+By convention, `dart:ui` is imported using `import 'dart:ui' show
+...;` for common APIs (this isn't usually necessary because a lower
+level will have done it for you), and as `import 'dart:ui' as ui show
+...;` for low-level APIs, in both cases listing all the identifiers
+being imported. See
+https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/painting/basic_types.dart[basic_types.dart]
+in the `painting` package for details of which identifiers we import
+which way. Other packages are usually imported undecorated unless they
+have a convention of their own (e.g. `path` is imported `as path`).
+
+The `dart:math` library is always imported `as math`.
+
+### Deciding where to put code
+
+As a general rule, if a feature is entirely self-contained (not requiring low-level integration into the Flutter framework) and is not something with universal appeal, we would encourage that that feature be provided as a package.
+
+We try to be very conservative with what we put in the core framework, because there's a high cost to having anything there. We have to commit to supporting it for years to come, we have to document it, test it, create samples, we have to consider everyone's varied desires which they may have as they use the feature, we have to fix bugs. If there's design problems, we may not find out for a long time but then once we do we then have to figure out how to fix them without breaking people, or we have to migrate all our existing widgets to the new architecture, etc.
+
+Basically, code is expensive. So before we take it, if possible, we like to see if we can prove the code's value. By creating a package, we can see if people use the feature, how they like it, whether it would be useful for the framework, etc, without having to take on the costs.
+
+We have two main kinds of packages that are maintained by the Flutter team, both of which live in https://github.com/flutter/packages[flutter/packages]:
+
+1. Regular packages, which are pure Dart. Packages can also be written and maintained by people outside the Flutter team.
+
+2. Plugin packages, which provide access to platform features and therefore include native code (such as Java or Objective-C) as well as Dart.
+
+You can also consider making an independent package. Packages are published to https://pub.dartlang.org/[pub].
+
+Often once we have made a package we find that that is actually sufficient to solve the problem that the code sets out to solve, and there ends up being no need to bring it into the framework at all.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Supporting-legacy-platforms.md b/docs/unsorted_wiki/Supporting-legacy-platforms.md
new file mode 100644
index 0000000..632a656
--- /dev/null
+++ b/docs/unsorted_wiki/Supporting-legacy-platforms.md
@@ -0,0 +1,28 @@
+## Building ARMv7 (iOS) & armeabi v7a (Android) with Xcode10
+
+In Xcode10, the i386 architecture is deprecated for macOS, so building the Flutter engine for armv7/armeabi-v7a fails. Specifically, libraries like CoreFoundation contain only code for the x86_64 architecture.
+
+
+
+
+
+To address this, get the MacOS 10.13 SDK from Xcode 9.x from [Apple](https://developer.apple.com/download/more/), and extract the SDK components from the `.xip` file. Uncompress the SDK into `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs` and name the SDK `MacOSX10.13.sdk`:
+
+
+
+To check if the logic is fine, run command below:
+
+```bash
+python your-flutter-engine-path/engine/src/build/mac/find_sdk.py 10.12
+```
+
+When `find_sdk.py` return 10.13, the ninja build will succeed for gen_snapshot (i386), Flutter.framework (ARMv7) and libflutter.so (armeabi-v7a).
+
+## Build Flutter engine for 32bit iOS simulator on modern Mac(x86_64)
+
+To build the Flutter engine for iOS simulator on a modern Mac(x86_64), the gn command will generate a `target_cpu` value with x64. Henceforth, the Flutter.framework and gen_snapshot will be x86_64.
+However, sometimes you may want to develop Flutter on a 32bit simulator(like iPhone5), you will need both Flutter.framework and gen_snapshot to be i386.
+
+Follow instruction below to change the default behavior in gn command:
+1. Edit your-flutter-engine-path/engine/src/flutter/tools/gn
+
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Test-coverage-for-package-flutter.md b/docs/unsorted_wiki/Test-coverage-for-package-flutter.md
new file mode 100644
index 0000000..c1df392
--- /dev/null
+++ b/docs/unsorted_wiki/Test-coverage-for-package-flutter.md
@@ -0,0 +1,50 @@
+## How to view test coverage
+
+When you run `flutter update-packages`, we download the latest coverage data for `package:flutter` to `packages/flutter/coverage/lcov.info`. This data isn't synchronized to your git revision, so expect discrepancies between your git repo and the coverage file. Usually, this version skew isn't too harmful, but it's valuable to be aware that it might exist.
+
+⚠️ Currently, the latest test coverage data is stale by a few years because of [flutter#81803](https://github.com/flutter/flutter/issues/81803). You will need to [recompute this data manually](#how-recompute-test-coverage-slowly) to view test coverage.
+
+### Visual Studio Code
+
+Here is how to show test coverage information in Visual Studio Code:
+
+1. Install the [Coverage Gutters](https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters) extension.
+2. Open a `dart` file in `packages/flutter/lib/src`. You should see green and red highlights next to line numbers in the gutter. The green lines mean this line was executed in a test. The red line means that this line is a candidate for execution but was not executed in a test. The status bar at the bottom should also report the current file's code coverage percentage.
+
+If you run into issues, check for errors in the `Output` pane under the `coverage-gutters` output stream.
+
+### Atom
+
+Here is how to show test coverage information in Atom:
+
+1. Install the [lcov-info](https://atom.io/packages/lcov-info) package. This package has a few quirks to its UI, but it generally seems to work.
+
+2. Open `packages/flutter` in Atom. The lcov-info plugin only seems to work if you open `packages/flutter` directly (as opposed to opening one of its parent directories).
+
+3. Open a `dart` file in the `lib/src` directory. For some reason, you need to have a Dart file open in order to activate the lcov-info plugin.
+
+4. Activate the lcov-info package using the `Packages > Lcov Info > Toggle` menu command.
+
+5. At this point, you should see green and red highlighted lines in `dart` files (hopefully more green than red) as well as a scrollable list of the coverage percentages for each file in `package:flutter`. The green lines mean this line was executed in a test. The red line means that this line is a candidate for execution but was not executed in a test. Lines that are highlighted are not considered candidates for execution. Some of the non-highlighted lines are a bit surprising (e.g., return statements or constant declarations), but they appear to be correct.
+
+### Emacs
+
+If you use Emacs, you can use the `coverlay` package. Use `coverlay-load-file` to specify the `.../packages/flutter/coverage/lcov.info` file, configure `coverlay:base-path` to point to the `.../packages/flutter`, and configure other aspects of the `coverlay` package as you desire.
+
+### Coveralls
+
+The easiest way to see our overall test coverage used to be using the [Flutter page on Coveralls](https://coveralls.io/github/flutter/flutter?branch=master). The graph at the top is supposed to be updated with green commit to the master branch. Unfortunately, Coveralls has been broken for Flutter for a long time and no progress has been made to resolve [the issue](https://github.com/lemurheavy/coveralls-public/issues/1103).
+
+## How to recompute test coverage quickly
+
+If you're using a Linux machine, you can see the updated coverage after adding a test quickly using the `--merge-coverage` option to `flutter test`. For example, suppose you added a test case to `test/material/dialog_test.dart`. You can run `flutter test --merge-coverage test/material/dialog_test.dart` to run just that one test and merge the coverage data into your view. In Atom, to get lcov-info to see the new data, sometimes you need to change tabs. In Emacs, to see new data, press `C-c C-l g`.
+
+Merging coverage works by combining the `packages/flutter/coverage/lcov.base.info` coverage data, which `flutter update-packages` downloaded from the cloud, with the coverage data from that one test run. The combined data is written back into `packages/flutter/coverage/lcov.info`, where it is picked up by the lcov-info plugin.
+
+Each time you run `--merge-coverage`, the tool goes back to the original `lcov.base.info` data before adding the current run. If you want to see the change in coverage when changing more than one test file, you'll need to pass all the test file names explicitly on the command line.
+
+## How recompute test coverage slowly
+
+If you want to recompute coverage data from scratch, you can use the `--coverage` flag. For example, `cd packages/flutter && flutter test --coverage`.
+
+The `lcov.base.info` file is generated automatically by bots and recomputing from scratch is unnecessary. It is fetched when you run `flutter update-packages`.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Testing-Android-Changes-in-the-Devicelab-on-an-Emulator.md b/docs/unsorted_wiki/Testing-Android-Changes-in-the-Devicelab-on-an-Emulator.md
new file mode 100644
index 0000000..9efb4e6
--- /dev/null
+++ b/docs/unsorted_wiki/Testing-Android-Changes-in-the-Devicelab-on-an-Emulator.md
@@ -0,0 +1,59 @@
+## Testing on Emulators in the Devicelab
+While the Devicelab is typically for testing on Devices we have added support so that developers can now test Android changes via the LUCI recipes on an Android Emulator.
+
+You can specify a new test via the .ci.yaml file in the repository. This allows the infra framework to run the test automatically with minimal work from the developer.
+
+### Adding a Brand New Target
+Adding a new Devicelab Android Emulator test for Android feature changes requires the following steps:
+
+Starting with the finished target yaml definition:
+
+```
+- name: Linux_android android_defines_test
+ recipe: devicelab/devicelab_drone
+ presubmit: true
+ timeout: 60
+ dimensions: {
+ kvm: “1”,
+ cores: “8”,
+ Machine_name: “n1-standard-8”
+ }
+ properties:
+ device_type: “none”
+ task_name: android_defines_test
+ use_emulator: “true”
+ dependencies: >-
+ [
+ {"dependency": "android_virtual_device", "version": "31"}
+ ]
+ tags: >
+ ["devicelab", “linux”]
+ timeout: 300
+```
+
+1. The `name` of the target consists of the platform which can be either `Linux` or `Linux_Android`. It is better to pick `Linux_Android` since it will provide you more of the needed dependencies.
+2. The `recipe` is always `devicelab/devicelab_drone`. This is the recipe that will launch the emulator and drive the test.
+3. `presubmit` can be `true` or `false`. To run the test in any PR that is opened you should set this to `true`. This is the best approach to catch bugs before they are mirrored to google3.
+4. `timeout` is an integer value.
+5. `dimensions` is needed to tell the LUCI framework that we need to run this test on a machine that supports nested virtualization and should be set as shown.
+6. `properties`:
+
+ a. `device_type` must be set to `none` so that we use a machine without an attached android phone. This will cause problems if not set.
+
+ b. `task_name` is the name to apply to the task.
+
+ c. `use_emulator` is the flag to tell the test recipe that we need to create an Emulator for this test.
+
+ d. `dependencies` can be used to override the `android_virtual_device` api version.
+
+ e. `tags` should be set to `devicelab` and `linux`
+
+ f. `timeout` the timeout here is for the time to give the test to run before killing it.
+
+### Updating an Existing Target
+If you want to update an existing target you will only need to add the following changes:
+1. add a `dimensions` field as described above.
+2. Set the `device_type: "none"`.
+3. Add `use_emulator: "true"` flag in properties. Note this is not a boolean but must be a string.
+4. Add a dependency for the android emulator version to the properties. If there are no dependencies add it as shown above.
+5. Remove any tags that specify android. These are for benchmark tests and having them in will cause some of the device checks to fail.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Testing-presubmit-Engine-PRs-with-the-Flutter-framework.md b/docs/unsorted_wiki/Testing-presubmit-Engine-PRs-with-the-Flutter-framework.md
new file mode 100644
index 0000000..999a111
--- /dev/null
+++ b/docs/unsorted_wiki/Testing-presubmit-Engine-PRs-with-the-Flutter-framework.md
@@ -0,0 +1,48 @@
+# Running Framework presubmit tests on Engine PRs
+
+This documentation describes how to run flutter/flutter presubmit checks on flutter/engine PRs before submitting them.
+
+# Overview
+
+1. Wait for all presubmit checks on your flutter/engine PR to be green.
+2. Determine the commit hash for your flutter/engine PR.
+3. Create and upload a flutter/flutter PR, (OR run tests locally).
+4. Wait for flutter/flutter presubmits/tests to run ☕.
+
+Step (1) is the usual flutter/engine workflow.
+
+# 2. The commit hash
+
+1. Go to the "Commits" tab in the GitHub UI for you Engine PR.
+1. Click the button to copy the most recent commit hash to your clipboard.
+
+<img width="1128" alt="Screenshot 2023-08-04 at 12 54 55 PM" src="https://github.com/flutter/flutter/assets/6343103/491be0dd-e29b-4057-a077-3a28d3beec9e">
+
+# 3. Create and upload a flutter/flutter PR.
+
+Edit your flutter/flutter checkout as follows:
+
+1. `bin/internal/engine.version` should be edited to contain the commit hash from (2).
+1. `bin/internal/engine.realm` should be edited to contain the string `flutter_archives_v2`.
+
+To run flutter/flutter presubmits on CI, you can accomplish these two edits directly in the GitHub editor UI, if desired. Otherwise, upload a flutter/flutter PR with these changes.
+
+You can also build apps, and run tests locally at this point.
+
+# 4. Wait for flutter/flutter presubmits to run ☕.
+
+The flutter/flutter presubmit checks will run. There will be at least two failures:
+1. A Flutter CLI test will ensure that a PR with a non-empty `engine.realm` file will fail a presubmit check.
+1. The `fuchsia_precache` test will fail because Fuchsia artifacts are not uploaded from Engine presubmit runs.
+
+Any other failures are possibly due to the changes to flutter/engine, so deflake and examine them carefully.
+
+# 5. Devicelab tests
+
+A subset of devicelab tests are available for optionally running in presubmit on flutter/flutter PRs. They are the tests listed in the flutter/flutter [.ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml) file that are prefixed with `Linux_android`, `Mac_android`, and `Mac_ios`.
+
+To run one of these tests, remove the line `presubmit: false` from the `.ci.yaml` file under the test you'd like to run. For an example, see the PR [here](https://github.com/flutter/flutter/pull/135254).
+
+<img width="1117" alt="Screenshot 2023-09-21 at 3 19 51 PM" src="https://github.com/flutter/flutter/assets/6343103/9d234e82-1d6e-430b-a08e-d70bb9267462">
+
+This will trigger the devicelab test to run. The test will show up in the list of presubmit checks, and you can click through to the [LUCI page](https://ci.chromium.org/ui/p/flutter/builders/try/Linux_android%20new_gallery__transition_perf/2/overview) to see the results.
diff --git a/docs/unsorted_wiki/Testing-the-engine.md b/docs/unsorted_wiki/Testing-the-engine.md
new file mode 100644
index 0000000..4dd58fd
--- /dev/null
+++ b/docs/unsorted_wiki/Testing-the-engine.md
@@ -0,0 +1,350 @@
+## Testing the engine
+
+Pull requests submitted to the [engine repository](https://github.com/flutter/engine)
+should be tested to prevent functional regressions.
+
+This guide describes how to write and run various types of tests in the engine.
+
+## C++ - core engine
+
+If you edit `.cc` files in https://github.com/flutter/engine/tree/main,
+you're working on the core, portable Flutter engine.
+
+### Unit tests
+
+C++ unit tests are co-located with their header and source files. For instance,
+`fml/file.h` and `fml/file.cc` have a `fml/file_unittest.cc` in the same
+directory. When editing C++ files, look for its `_unittest.cc` sibling or create
+one if there isn't one present.
+
+The engine repo has a unified build system to build C, C++, Objective-C,
+Objective-C++, and Java files using [GN](https://gn.googlesource.com/gn/) and
+[Ninja](https://ninja-build.org/). Individual `_unittest.cc` files are
+referenced by the `BUILD.gn` build rule located in the folder or in an ancestor
+folder.
+
+You can run the C++ unit tests with:
+
+```
+testing/run_tests.py --type=engine
+```
+
+from the `flutter` directory, after building the engine variant to test
+(by default `host_debug_unopt`). To use a different variant (e.g. if you use
+an Apple Silicon Mac), run:
+
+```
+testing/run_tests.py --type=engine --variant=host_debug_unopt_arm64
+```
+
+Behind the scenes, those tests in the same directory are built together as a
+testonly executable when you build the engine variant. The `run_tests.py` script
+executes them one by one.
+
+C++ unit tests are executed during pre-submit on our CI system when submitting
+PRs to the `flutter/engine` repository.
+
+#### Google Tests
+
+C++ unit tests in the core engine uses the [Google Test](https://google.github.io/googletest/primer.html)
+C++ testing framework to facilitate C++ test discovery, assertions, etc.
+
+Since the engine is portable, these unit tests are compiled and run directly
+on and for your host machine architecture.
+
+It's best practice to test only one real production class per test and create
+mocks for all other dependencies.
+
+## Java - Android embedding
+
+If you edit `.java` files in the https://github.com/flutter/engine/tree/main/shell/platform/android
+directory, you're working on the Android embedding which connects the core C++
+engine to the Android SDK APIs and runtime.
+
+### Robolectric JUnit tests
+
+For testing logic within a class at a unit level, create or add to a JUnit test.
+
+Existing Java unit tests are located at https://github.com/flutter/engine/tree/main/shell/platform/android/test
+and follow the Java package directory structure. Files in the `shell/platform/android/io/flutter/`
+package tree can have a parallel file in the `shell/platform/android/test/io/flutter/`
+package tree. Files in matching directories are considered [package visible](https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html)
+as is the case in standard Java.
+
+When editing production files in `shell/platform/android/io/flutter/`,
+the easiest step to add tests is to look for a matching `...Test.java` file in
+`shell/platform/android/test/io/flutter/`.
+
+See the [Java unit test README](https://github.com/flutter/engine/blob/main/shell/platform/android/test/README.md)
+for details.
+
+The engine repo has a unified build system to build C, C++, Objective-C,
+Objective-C++, and Java files using [GN](https://gn.googlesource.com/gn/) and
+[Ninja](https://ninja-build.org/). Because it doesn't use the more common
+Gradle build system (which can't build C++ for instance), the tests and its
+dependencies can't be directly built and run inside Android Studio like a
+standard Android project.
+
+Instead, the engine provides the script:
+
+```
+testing/run_tests.py --type=java
+```
+
+to easily build and run the JUnit tests.
+
+This script only has a limited amount of smartness. If you've never built the engine before, it'll build the test and classes under test with a reasonable default configuration. If you've built the engine before, it'll re-build the engine with the same GN flags. You may want to double check your GN flags (https://github.com/flutter/flutter/wiki/Compiling-the-engine#compiling-for-android-from-macos-or-linux) if you haven't built the engine for a while.
+
+Behind the scenes, it invokes GN and Ninja to build a single .jar file
+containing the test runner and dependencies. Then it uses the system `java`
+runtime to execute the .jar. JDK v8 must be set as your `$JAVA_HOME` to run
+the Robolectric tests.
+
+See [[Setting-up-the-Engine-development-environment#using-vscode-as-an-ide-for-the-android-embedding-java]]
+for tips on setting up Java code completion and syntax highlighting in Visual
+Studio when working on the engine and tests.
+
+JUnit tests are executed during pre-submit on our CI system when submitting
+PRs to the `flutter/engine` repository.
+
+#### Robolectric
+
+[Robolectric](http://robolectric.org/) is a standard Android testing library to
+mock the Android runtime. It allows tests to be executed on a lightweight Java
+JVM without booting a heavy Android runtime in an emulator. This allows for
+rapid test iterations and allows our tests to run better on CI systems.
+
+All engine JUnit tests are Robolectric tests. This means all `android.*` imports
+are mocked by Robolectric. If you need to modify how Android components (such as
+an [android.view.View](https://developer.android.com/reference/android/view/View.html)
+or an [android.app.Activity](https://developer.android.com/reference/android/app/Activity.html))
+behave in the test, see other tests for examples or see docs at
+http://robolectric.org/ on how to interact with shadows.
+
+#### Mockito
+
+[Mockito](https://site.mockito.org/) is also a standard Android testing library
+used to mock non-Android dependencies needed to construct and test interactions
+with your your under-test production class.
+
+It's best practice to test only one real production class per test and
+mock all other dependencies with mockito.
+
+The Mockito library is an available test dependency when writing Robolectric
+tests.
+
+### Component integration tests
+
+Component tests test the interaction of multiple embedding Java classes together
+but they don't test all production classes end-to-end. In the Android embedding
+case, we test groups of Java classes by their function in `...ComponentTest.java`
+files that are also in the `shell/platform/android/test/io/flutter/`
+directory. C++ engine parts via JNI are not tested here.
+
+Component tests are also Robolectric JUnit tests and are invoked together with
+unit tests when running:
+
+```
+testing/run_tests.py --type=java
+```
+
+JUnit component tests are executed during pre-submit on our CI system when
+submitting PRs to the `flutter/engine` repository.
+
+### End-to-end tests
+
+End-to-end tests exercise the entire Android embedding with the C++ engine on
+a real Android runtime in an emulator. It's an integration test ensuring that
+the engine as a whole on Android is functioning correctly.
+
+The project containing the Android end-to-end engine test is at
+https://github.com/flutter/engine/tree/main/testing/scenario_app/android.
+
+This test project is build similarly to a normal Flutter app. The Dart code is
+compiled into AOT and the Android part is compiled via Gradle with a dependency
+on the prebuilt local engine. The built app then installed and executed on an
+emulator.
+
+Unlike a normal Flutter app, the Flutter framework on the Dart side is a
+lightweight fake at https://github.com/flutter/engine/tree/main/testing/scenario_app/lib
+that implements some of the basic functionalities of `dart:ui` Window rather
+than using the real Flutter framework at `flutter/flutter`.
+
+The end-to-end test can be executed by running:
+
+```
+testing/scenario_app/run_android_tests.sh
+```
+
+Additional end-to-end instrumented tests can be added to https://github.com/flutter/engine/tree/main/testing/scenario_app/android/app/src/androidTest/java/dev/flutter/scenarios.
+
+If supporting logic is needed for the test case, it can be added to the
+Android app under-test in https://github.com/flutter/engine/tree/main/testing/scenario_app/android/app/src/main/java/dev/flutter/scenarios
+or to the fake Flutter framework under-test in https://github.com/flutter/engine/tree/main/testing/scenario_app/lib.
+
+As best practice, favor adding unit tests if possible since instrumented tests
+are, by nature, non-hermetic, slow and flaky.
+
+End-to-end tests on Android are run on presubmit for flutter/engine PRs.
+
+## Objective-C - iOS embedding
+
+If you edit `.h` or `.mm` files in the https://github.com/flutter/engine/tree/main/shell/platform/darwin/ios
+directory, you're working on the iOS embedding which connects the core C++
+engine to the iOS SDK APIs and runtime.
+
+### XCTest unit tests
+
+For testing logic within a class in isolation, create or add to a XCTestCase.
+
+The iOS unit testing infrastructure is split in 2 different locations. The
+`...Test.mm` files in https://github.com/flutter/engine/tree/main/shell/platform/darwin/ios
+contain the unit tests themselves. The
+https://github.com/flutter/engine/tree/main/testing/ios/IosUnitTests directory
+contains an Xcode container project to execute the test.
+
+See the [iOS unit test README](https://github.com/flutter/engine/blob/main/testing/ios/IosUnitTests/README.md)
+for details on adding new test files.
+
+The engine repo has a unified build system to build C, C++, Objective-C,
+Objective-C++, and Java files using [GN](https://gn.googlesource.com/gn/) and
+[Ninja](https://ninja-build.org/). Since GN and Ninja has to build the C++
+dependencies that the Objective-C classes reference, the tests aren't built by
+the Xcode project in https://github.com/flutter/engine/tree/main/testing/ios/IosUnitTests.
+
+Instead, the engine provides the script:
+
+```
+testing/run_tests.py --type=objc
+```
+
+to easily build and run the XCTests.
+
+- Add the `--ios-variant ios_debug_sim_unopt_arm64` argument when using an arm64 Mac simulator (built with `--simulator-cpu=arm64`).
+
+This script only has a limited amount of smartness. If you've never built the engine before, it'll build the test and classes under test with a reasonable default configuration. If you've built the engine before, it'll re-build the engine with the same GN flags. You may want to double check your GN flags (https://github.com/flutter/flutter/wiki/Compiling-the-engine#compiling-for-ios-from-macos) if you haven't built the engine for a while.
+
+Behind the scenes, it invokes GN and Ninja to build the tests and dependencies
+into a single `.dylib`. Then it uses Xcode and the Xcode project at
+`testing/ios/IosUnitTests` to import and execute the XCTests in the `.dylib`.
+
+If you get an `AssertionError: libios_test_flutter.dylib doesn't exist` error, you may need to manually run the ninja command that is printed to the terminal. e.g. `ninja -C $FLUTTER_ENGINE/out/ios_debug_sim_unopt_arm64 ios_test_flutter`
+
+See [[Setting-up-the-Engine-development-environment#editor-autocomplete-support]]
+for tips on setting up C/C++/Objective-C code completion and syntax highlighting
+when working on the engine and tests.
+
+To debug the XCTests, you can open the Xcode project at `testing/ios/IosUnitTests/IosUnitTests.xcodeproj`
+and run the tests (such as via ⌘U). Note you cannot modify the test source and
+build the tests in Xcode for reasons mentioned above. If you modify the test,
+you need to run `testing/run_tests.py` again.
+
+XCTests are executed during pre-submit on our CI system when submitting PRs to
+the `flutter/engine` repository.
+
+#### XCTest
+
+[XCTest](https://developer.apple.com/documentation/xctest) is the standard way
+of creating unit tests in Xcode projects. Since iOS has x86 simulators and
+since we can build x86 engines, we can execute the XCTests directly on macOS
+in a headless simulator using the real iOS SDK.
+
+#### OCMock
+
+[OCMock](https://ocmock.org) is a standard iOS testing library used to mock
+dependencies needed to construct and test interactions with your under-test
+production class.
+
+It's best practice to test only one real production class per test and
+mock all other dependencies with OCMock.
+
+The OCMock library is available as a test dependency when writing XCTests for
+the engine.
+
+### End-to-end tests
+
+End-to-end tests exercise the entire iOS embedding with the C++ engine on
+a headless iOS simulator. It's an integration test ensuring that
+the engine as a whole on iOS is functioning correctly.
+
+The project containing the iOS end-to-end engine test is at
+https://github.com/flutter/engine/tree/main/testing/scenario_app/ios.
+
+This test project is build similarly to a normal debug Flutter app. The Dart
+code is bundled in JIT mode and is brought into Xcode with a `.framework`
+dependency on the prebuilt local engine. It's then installed and executed on a
+simulator via Xcode.
+
+Unlike a normal Flutter app, the Flutter framework on the Dart side is a
+lightweight fake at https://github.com/flutter/engine/tree/main/testing/scenario_app/lib
+that implements some of the basic functionalities of `dart:ui` Window rather
+than using the real Flutter framework at `flutter/flutter`.
+
+The end-to-end test can be executed by running:
+
+```
+testing/scenario_app/run_ios_tests.sh
+```
+
+Additional end-to-end instrumented tests can be added to https://github.com/flutter/engine/tree/main/testing/scenario_app/ios/Scenarios/ScenariosTests.
+
+If supporting logic is needed for the test case, it can be added to the
+Android app under-test in https://github.com/flutter/engine/tree/main/testing/scenario_app/ios/Scenarios/Scenarios
+or to the fake Flutter framework under-test in https://github.com/flutter/engine/tree/main/testing/scenario_app/lib.
+
+As best practice, favor adding unit tests if possible since end-to-end tests
+are, by nature, non-hermetic, slow and flaky.
+
+End-to-end tests on iOS are executed during pre-submit on our CI system when
+submitting PRs to the `flutter/engine` repository.
+
+## Dart - dart:ui
+
+If you edit `.dart` files in https://github.com/flutter/engine/tree/main/lib/ui,
+you're working on the 'dart:ui' package which is the interface between
+the C++ engine and the Dart Flutter framework.
+
+### Unit tests
+
+Dart classes in https://github.com/flutter/engine/tree/main/lib/ui have matching
+unit tests at https://github.com/flutter/engine/tree/main/testing/dart.
+
+When editing production files in the 'dart:ui' package, add to or create a
+test file in `testing/dart`.
+
+To run the Dart unit tests, use the script:
+
+```
+testing/run_tests.py --type=dart
+```
+
+Behind the scenes, it invokes the engine repo's unified [GN](https://gn.googlesource.com/gn/)
+and [Ninja](https://ninja-build.org/) build systems to use a version of the Dart
+SDK specified in the `DEPS` file to create a `sky_engine` Dart package. Then it
+compiles and runs each `_test.dart` file under `testing/dart`.
+
+To debug the test, open `src/out/ios_debug_sim_unopt/scenario_app/Scenarios.xcodeproj` in
+Xcode and hit CMD+U.
+
+Dart unit tests are executed during pre-submit on our CI system when submitting
+PRs to the `flutter/engine` repository.
+
+_See also: [[Flutter Test Fonts]]_
+
+### Framework tests
+
+Dart tests in the `flutter/flutter` framework repo are also executed on top of
+the `dart:ui` package and underlying engine.
+
+These tests are executed during pre-submit on our CI system when
+submitting PRs to the `flutter/engine` repository.
+
+Assuming your `flutter` and `engine` working directories are siblings, you can run the framework tests locally using the following command from the root of your `flutter` repository:
+
+```bash
+(cd packages/flutter; ../../bin/flutter test --local-engine=host_debug_unopt --local-engine-host=host_debug_unopt)
+```
+
+## Web engine
+
+Web tests are run via the `felt` command. More details can be found in [lib/web_ui/README.md](https://github.com/flutter/engine/blob/main/lib/web_ui/README.md#hacking-on-the-web-engine).
diff --git a/docs/unsorted_wiki/Texture-Layer-Hybrid-Composition.md b/docs/unsorted_wiki/Texture-Layer-Hybrid-Composition.md
new file mode 100644
index 0000000..b811862
--- /dev/null
+++ b/docs/unsorted_wiki/Texture-Layer-Hybrid-Composition.md
@@ -0,0 +1,20 @@
+_See also: [[Hybrid Composition|Hybrid Composition#Android]]_
+
+# Background
+
+Texture Layer Hybrid Composition (TLHC) is one of several modes for displaying platform views on Android. See [Android Platform Views](https://github.com/flutter/flutter/wiki/Android-Platform-Views) for an overview of modes.
+
+It was introduced in Flutter 3.0 to combine the best aspects of Virtual Display and Hybrid Composition while addressing their most significant issues. While it was originally intended to replace both, it turned out to have some limitations that prevented serving as a complete replacement, so is now a third option.
+
+# Approach
+
+TLHC uses a [custom `FrameLayout`](https://github.com/flutter/engine/blob/7025645c52bfaeb1cc67be5ca842b65772c89c8e/shell/platform/android/io/flutter/plugin/platform/PlatformViewWrapper.java#L35-L46), which is placed in the native view hierarchy as normal, but [redirects drawing](https://github.com/flutter/engine/blob/7025645c52bfaeb1cc67be5ca842b65772c89c8e/shell/platform/android/io/flutter/plugin/platform/PlatformViewWrapper.java#L299-L309) to a canvas that backs a Flutter [`Texture`](https://api.flutter.dev/flutter/widgets/Texture-class.html) in order to compose with the rest of the Flutter UI as normal (without the layering and threading complexities of Hybrid Composition).
+
+# Limitations
+
+- Because of the APIs involved, this requires SDK level 23 or later, so does not support quite as far back as Virtual Display (SDK 20+) or Hybrid Composition (SDK 19+).
+- [Android `SurfaceView`s](https://developer.android.com/reference/android/view/SurfaceView) bypass the normal drawing mechanism of Android views, so are not redirected as expected. Instead, they draw as if the redirect did not happen, which generally causes them to draw over all Flutter content.
+ - To mitigate this, platform views attempt to automatically fall back to another mode when a `SurfaceView` is present. However, this currently [only works if the `SurfaceView` is present when the platform view is created](https://github.com/flutter/flutter/issues/109690).
+- [Android `TextureView`s](https://developer.android.com/reference/android/view/TextureView) do not always show updates correctly. This is [still under investigation](https://github.com/flutter/flutter/issues/103686), and for now affected plugins are best off using another mode.
+
+To see all known issues specific to this mode, search for the [`tlhc-only` label](https://github.com/flutter/flutter/labels/tlhc-only).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/The-Engine-architecture.md b/docs/unsorted_wiki/The-Engine-architecture.md
new file mode 100644
index 0000000..8406779
--- /dev/null
+++ b/docs/unsorted_wiki/The-Engine-architecture.md
@@ -0,0 +1,149 @@
+Flutter combines [a Dart framework](https://github.com/flutter/flutter) with a high-performance [engine](https://github.com/flutter/engine).
+
+The Flutter Engine is a portable runtime for high-quality cross-platform applications. It implements Flutter's core libraries, including animation and graphics, file and network I/O, accessibility support, plugin architecture, and a Dart runtime and toolchain for developing, compiling, and running Flutter applications.
+
+## Anatomy of a Flutter app
+
+The following diagram gives an overview of the pieces that make up a regular Flutter app generated by `flutter create`. It shows where the Flutter Engine sits in this stack, highlights API boundaries, and identifies the repositories where the individual pieces live. The legend below clarifies some of the terminology commonly used to describe the pieces of a Flutter app.
+
+<img src="https://raw.githubusercontent.com/flutter/engine/main/docs/app_anatomy.svg?sanitize=true" alt="Flutter Architecture Diagram" width="40%"/>
+
+#### Dart App
+* Composes widgets into the desired UI.
+* Implements business logic.
+* Owned by app developer.
+
+#### Framework ([source code](https://github.com/flutter/flutter/tree/master/packages/flutter/lib))
+* Provides higher-level API to build high-quality apps (e.g. widgets, hit-testing, gesture detection, accessibility, text input, etc.).
+* Composites the app's widget tree into a scene.
+
+#### Engine ([source code](https://github.com/flutter/engine/tree/main/shell/common))
+* Responsible for rasterizing composited scenes.
+* Provides low-level implementation of Flutter's core APIs (e.g. graphics, text layout, Dart runtime, etc.).
+* Exposes its functionality via its **dart:ui API** to the framework.
+* Integrates with a specific platform via the Engine's **Embedder API**.
+
+#### Embedder ([source code](https://github.com/flutter/engine/tree/main/shell/platform))
+* Coordinates with the underlying operating system for access to services like rendering surfaces, accessibility, and input.
+* Manages the event loop.
+* Exposes **platform-specific API** to integrate the Embedder into apps.
+
+#### Runner
+* Composes the pieces exposed by the platform-specific API of the Embedder into an app package runnable on the target platform.
+* Part of app template generated by `flutter create`, owned by app developer.
+
+## Architecture overview
+
+Flutter's engine takes core technologies, Skia, a 2D graphics rendering library, and Dart, a VM for a garbage-collected object-oriented language, and hosts them in a shell. Different platforms have different shells, for example we have shells for [Android](https://github.com/flutter/engine/tree/main/shell/platform/android) and [iOS](https://github.com/flutter/engine/tree/main/shell/platform/darwin). We also have an [embedder API](https://github.com/flutter/engine/tree/main/shell/platform/embedder) which allows Flutter's engine to be used as a library (see [[Custom Flutter Engine Embedders]]).
+
+The shells implement platform-specific code such as communicating with IMEs (on-screen keyboards) and the system's application lifecycle events.
+
+The Dart VM implements the normal Dart core libraries, plus an additional library called `dart:ui` to provide low-level access to Skia features and the shell. The shells can also communicate directly to Dart code via [Platform Channels](https://flutter.io/platform-channels/) which bypass the engine.
+
+
+
+
+## Threading
+
+### Overview
+
+The Flutter engine does not create or manage its own threads. Instead, it is the responsibility of the embedder to create and manage threads (and their message loops) for the Flutter engine. The embedder gives the Flutter engine task runners for the threads it manages. In addition to the threads managed by the embedder for the engine, the Dart VM also has its own thread pool. Neither the Flutter engine or the embedder have any access to the threads in this pool.
+
+### Task Runner Configuration
+
+The Flutter engine requires the embedder to give it references to 4 task runners. The engine does not care if the references are to the same task runner, or, if multiple task runners are serviced on the same thread. For optimum performance, the embedder should create a dedicated thread per task runner. Though the engine does not care about the threads the task runners are serviced on, it does expect that the threading configuration remain stable for the entire lifetime of the engine. That is, once the embedder decides to service a task runner on a particular thread, it should execute tasks for that task runner only on that one thread (till the engine is torn down).
+
+The main task runners are:
+* Platform Task Runner
+* UI Task Runner
+* Raster Task Runner
+* IO Task Runner
+
+### Platform Task Runner
+
+This is the task runner for the thread the embedder considers as its main thread. For example, this is typically the [Android Main Thread](https://developer.android.com/guide/components/processes-and-threads.html) or the [Main Thread](https://developer.apple.com/documentation/foundation/nsthread/1412704-ismainthread?language=objc) referenced by Foundation on Apple platforms.
+
+Any significance assigned to the thread for this task runner is entirely assigned by the embedder. The Flutter engine assigns no special meaning to this thread. In fact, multiple Flutter engines can be launched with platform task runners based on different threads. This is how the Flutter Content Handler in Fuchsia works. A new Flutter engine is created in the process for each Flutter application and a new platform thread is created for each engine.
+
+Interacting with the Flutter engine in any way must happen on the platform thread. Interacting with the engine on any other thread will trip assertions in unoptimized builds and is not thread safe in release builds. There are numerous components in the Flutter engine that are not thread safe. Once the Flutter engine is setup and running, the embedder does not have to post tasks to any of the task runners used to configure the engine as long as all accesses to the embedder API are made on the platform thread.
+
+In addition to being the thread on which the embedder interacts with the engine after it is launched, this task runner also executes any pending platform messages. This is handy because accessing most platform APIs is only safe on the platform’s main thread. Plugins don’t have to rethread their calls to the main thread. If plugins manage their own worker threads, it is their responsibility to queue responses back onto the platform thread before they can be submitted back to the engine for processing by Dart code. The rule of always interacting with the engine on the platform thread holds here.
+
+Even though blocking the platform thread for inordinate amounts of time will not block the Flutter rendering pipeline, platforms do impose restrictions on expensive operations on this thread. So it is advised that any expensive work in response to platform messages be performed on separate worker threads (unrelated to the four threads discussed above) before having the responses queued back on the the platform thread for submission to the engine. Not doing so may result in platform-specific watchdogs terminating the application. Embeddings such as Android and iOS also uses the platform thread to pipe through user input events. A blocked platform thread can also cause gestures to be dropped.
+
+### UI Task Runner
+
+The UI task runner is where the engine executes all Dart code for the root isolate. The root isolate is a special isolate that has the necessary bindings for Flutter to function. This isolate runs the application's main Dart code. Bindings are set up on this isolate by the engine to schedule and submit frames. For each frame that Flutter has to render:
+
+* The root isolate has to tell the engine that a frame needs to be rendered.
+* The engine will ask the platform that it should be notified on the next vsync.
+* The platform waits for the next vsync.
+* On vsync, the engine will wake up the Dart code and [perform the following](https://api.flutter.dev/flutter/widgets/WidgetsBinding/drawFrame.html):
+ * Update animation interpolators.
+ * Rebuild the widgets in the application in a build phase.
+ * Lay out the newly constructed and widgets and paint them into a tree of layers that are immediately submitted to the engine. Nothing is actually rasterized here; only a description of what needs to be painted is constructed as part of the paint phase.
+ * Construct or update a tree of nodes containing semantic information about widgets on screen. This is used to update platform specific accessibility components.
+
+Apart from building frames for the engine to eventually render, the root isolate also executes all responses for platform plugin messages, timers, microtasks and asynchronous I/O (from sockets, file handles, etc.).
+
+Since the UI thread constructs the layer tree that determines what the engine will eventually paint onto the screen, it is the source of truth for everything on the screen. Consequently, performing long synchronous operations on this thread will cause jank in Flutter applications (a few milliseconds is enough to miss the next frame!). Long operations can typically only be caused by Dart code since the engine will not schedule any native code tasks on this task runner. Because of this, this task runner (or thread) is typically referred to as the Dart thread. It is possible for the embedder to post tasks onto this task runner. This may cause jank in Flutter and embedders are advised not to do this and instead assign a dedicated thread for this task runner.
+
+If it is unavoidable for Dart code to perform expensive work, it is advised that this code be moved into a separate [Dart isolate](https://api.flutter.dev/flutter/dart-isolate/dart-isolate-library.html) (e.g. using the [`compute`](https://api.flutter.dev/flutter/foundation/compute-constant.html) method). Dart code executing on a non-root isolate executes on a thread from a Dart VM managed thread pool. This cannot cause jank in a Flutter application. Terminating the root isolate will also terminate all isolates spawned by that root isolate. Also, non-root isolates are incapable of scheduling frames and do not have bindings that the Flutter framework depends on. Due to this, you cannot interact with the Flutter framework in any meaningful way on the secondary isolate. Use secondary isolates for tasks that require heavy computation.
+
+### Raster Task Runner
+
+The raster task runner executes tasks that need to access the rasterizer (usually backed by GPU) on the device. The layer tree created by the Dart code on the UI task runner is client-rendering-API agnostic. That is, the same layer tree can be used to render a frame using OpenGL, Vulkan, software or really any other backend configured for Skia. Components on the GPU task runner take the layer tree and construct the appropriate draw commands. The raster task runner components are also responsible for setting up all the GPU resources for a particular frame. This includes talking to the platform to set up the framebuffer, managing surface lifecycle, and ensuring that textures and buffers for a particular frame are fully prepared.
+
+Depending on how long it takes for the layer tree to be processed and the device to finish displaying the frame, the various components of the raster task runner may delay scheduling of further frames on the UI thread. Typically, the UI and raster task runners are on different threads. In such cases, the raster thread can be in the process of submitting a frame to the GPU while the UI thread is already preparing the next frame. The pipelining mechanism makes sure that the UI thread does not schedule too much work for the rasterizer.
+
+Since the raster task runner components can introduce frame scheduling delays on the UI thread, performing too much work on the raster thread will cause jank in Flutter applications. Typically, there is no opportunity for the user to perform custom tasks on this task runner because neither platform code nor Dart code can access this task runner. However, it is still possible for the embedder to schedule tasks on this thread. For this reason, it is recommended that embedders provide a dedicated thread for the raster task runner per engine instance.
+
+### IO Task Runner
+
+All the task runners mentioned so far have pretty strong restrictions on the kinds of operations that can be performed on this. Blocking the platform task runner for an inordinate amount of time may trigger the platform's watchdog, and blocking either the UI or raster task runners will cause jank in Flutter applications. However, there are tasks necessary for the raster thread that require doing some very expensive work. This expensive work is performed on the IO task runner.
+
+The main function of the IO task runner is reading compressed images from an asset store and making sure these images are ready for rendering on the raster task runner. To make sure a texture is ready for rendering, it first has to be read as a blob of compressed data (typically PNG, JPEG, etc.) from an asset store, decompressed into a GPU friendly format and uploaded to the GPU. These operations are expensive and will cause jank if performed on the raster task runner. Since only the raster task runner can access the GPU, the IO task runner components set up a special context that is in the same sharegroup as the main raster task runner context. This happens very early during engine setup and is also the reason there is a single task runner for IO tasks. In reality, the reading of the compressed bytes and decompression can happen on a thread pool. The IO task runner is special because access to the context is only safe from a specific thread. The only way to get a resource like [`ui.Image`](https://docs.flutter.io/flutter/dart-ui/instantiateImageCodec.html) is via an async call; this allows the framework to talk to the IO runner so that it can asynchronously perform all the texture operations mentioned. The image can then be immediately used in a frame without the raster thread having to do expensive work.
+
+There is no way for user code to access this thread either via Dart or native plugins. Even the embedder is free to schedule tasks on this thread that are fairly expensive. This won’t cause jank in Flutter applications but may delay having the futures images and other resources be resolved in a timely manner. Even so, it is recommended that custom embedders set up a dedicated thread for this task runner.
+
+### Current Platform Specific Threading Configurations
+
+As mentioned, the engine can support multiple threading configurations, the configurations currently used by the supported platforms are:
+
+#### iOS
+
+A dedicated thread is created for the UI, raster and IO task runners per engine instance. All engine instances share the same platform thread and task runner.
+
+#### Android
+
+A dedicated thread is created for the UI, raster and IO task runners per engine instance. All engine instances share the same platform thread and task runner.
+
+#### Fuchsia
+
+A dedicated thread is created for the UI, raster, IO and Platform task runners per engine instance.
+
+#### macOS
+
+A dedicated thread is created for the UI, raster and IO task runners per engine instance. All engine instances share the same platform thread and task runner.
+
+#### Windows
+
+A dedicated thread is created for the UI, raster and IO task runners per engine instance. All engine instances share the same platform thread and task runner.
+
+#### Linux
+
+A dedicated thread is created for the UI and IO task runners per engine instance. The platform thread and the raster thread are the same thread. All engine instances share the same platform thread and task runner.
+
+
+#### Flutter Tester (used by `flutter test`)
+
+The same main thread is used for the UI, raster, IO and Platform task runners for the single instance engine supported in the process.
+
+
+## Text rendering
+
+Our text rendering stack is as follows:
+
+- A minikin derivative we call libtxt (font selection, bidi, line breaking).
+- HarfBuzz (glyph selection, shaping).
+- Skia (rendering/GPU back-end), which uses FreeType for font rendering on Android and Fuchsia, and CoreGraphics for font rendering on iOS.
diff --git a/docs/unsorted_wiki/The-Framework-architecture.md b/docs/unsorted_wiki/The-Framework-architecture.md
new file mode 100644
index 0000000..8f74a6e
--- /dev/null
+++ b/docs/unsorted_wiki/The-Framework-architecture.md
@@ -0,0 +1,6 @@
+The following documents and videos describe the Flutter framework's architecture:
+
+* [Technical Overview (on flutter.dev)](https://flutter.dev/docs/resources/technical-overview)
+* [Inside Flutter (on flutter.dev)](https://flutter.dev/docs/resources/inside-flutter)
+* [The Mahogany Staircase - Flutter's Layered Design (on YouTube)](https://www.youtube.com/watch?v=dkyY9WCGMi0)
+* [Flutter's Rendering Pipeline (on YouTube)](https://www.youtube.com/watch?v=UUfXWzp0-DU)
diff --git a/docs/unsorted_wiki/The-flutter-run-variants.md b/docs/unsorted_wiki/The-flutter-run-variants.md
new file mode 100644
index 0000000..b5b0a41
--- /dev/null
+++ b/docs/unsorted_wiki/The-flutter-run-variants.md
@@ -0,0 +1,12 @@
+We aspire to reach a state where `flutter run` has the following modes:
+
+- `flutter run`: builds a debug version of the app and starts it in "hot reload" mode, then shows the console UI to manipulate the running instance.
+- `flutter run --no-hot`: builds a debug version of the app and starts it directly, then shows the console UI to manipulate the running instance.
+- `flutter run --profile`: builds a profile version of the app and starts it directly, then shows the console UI to manipulate the running instance.
+- `flutter run --release`: builds a release version of the app and starts it directly, then shows the console UI to manipulate the running instance.
+
+Adding `--machine` in any of the situations above spawns a [flutter daemon](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/doc/daemon.md#flutter-run---machine) which:
+* changes the output to JSON so that it can be more easily consumed by IDEs, and
+* allows the use of JSON commands to interact with the running application (e.g. stopping the application).
+
+All of the commands above launch a Flutter application and do not return until that Flutter application exits. Adding `--no-resident` in any of the situations causes the command to return immediately after the application has been launched rather than waiting until the application exits.
diff --git a/docs/unsorted_wiki/The-flutter-tool.md b/docs/unsorted_wiki/The-flutter-tool.md
new file mode 100644
index 0000000..9667fab
--- /dev/null
+++ b/docs/unsorted_wiki/The-flutter-tool.md
@@ -0,0 +1,215 @@
+The `flutter` command-line tool is how developers (or IDEs on behalf of developers) interact
+with Flutter.
+
+`flutter --help` lists the developer-facing commands that `flutter` supports.
+
+`flutter --help --verbose` lists _all_ the commands that `flutter` supports, in particular, it also lists the
+features that are of use to Flutter contributors.
+
+These include:
+
+- `flutter update-packages`, which downloads all the Dart dependencies for all
+ Dart packages in the Flutter repository.
+- `flutter analyze --flutter-repo`, as described on [[Using the Dart analyzer]].
+
+When contributing to Flutter, use `git pull --rebase` or `git rebase upstream/main`
+rather than `flutter upgrade`.
+
+The `flutter` tool itself is built when you run `flutter` for the first time and each time
+you run `git pull --rebase` (or `flutter upgrade`, or anything that changes the current commit).
+
+## Documentation
+
+The rest of this document assumes that `flutter` and `dart` on your path resolve
+to the scripts inside [`/path/to/flutter/bin`](https://github.com/flutter/flutter/tree/master/bin). If either `flutter` or `dart`
+on your path resolves to another binary, you should either prepend the Flutter SDK
+`bin` dir to the _front_ of your `$PATH`, or ensure each invocation uses the path
+to the Flutter SDK controlled `flutter` and `dart` binaries.
+
+Markdown documentation can be found for some commands in [flutter/packages/flutter_tools/doc/](https://github.com/flutter/flutter/tree/master/packages/flutter_tools/doc).
+
+## Analysis
+
+To run dart analysis on the Flutter tool codebase, run:
+
+```shell
+cd flutter/packages/flutter_tools
+dart analyze .
+```
+
+Note, if relying on in editor analysis and you check out a new Flutter SDK commit,
+you may need to restart your editor so that a new analyzer instance is started from
+the new Dart version.
+
+On CI, some additional ad hoc tests are run in the `Linux analyze` CI build. To verify
+a failing `Linux analyze` build when Dart analysis is passing locally, you can run
+the full script that CI runs:
+
+```shell
+dart --enable-asserts dev/bots/analyze.dart
+```
+
+## Making changes to the `flutter` tool
+
+If you want to alter and re-test the tool's behavior itself, locally commit your tool change
+in git and the tool will be rebuilt from Dart sources in `packages/flutter_tools` the next
+time you run `flutter`. Alternatively, delete the `bin/cache/flutter_tools.snapshot` file.
+Doing so will force a rebuild of the tool from your local sources the next time you run `flutter`.
+This step is not required if you are launching `flutter_tools.dart` (either by running or testing) from an IDE.
+
+The `flutter_tools` tests run inside the Dart command line VM rather than in the
+flutter shell. To run the tests, run:
+
+```shell
+dart test test_file_or_directory_path
+```
+
+or
+
+```shell
+flutter test test_file_or_directory_path
+```
+
+To run or debug the tests in IDE, make sure `FLUTTER_ROOT` directory is setup.
+For example, in Android Studio, select the configuration for the test, click "Edit Configurations...",
+under "Environment Variables" section, enter `FLUTTER_ROOT=directory_to_your_flutter_framework_repo`.
+
+The pre-built flutter tool runs in release mode with the observatory off by default.
+To enable debugging mode and the observatory on the `flutter` tool, uncomment the
+`FLUTTER_TOOL_ARGS` line in the `bin/flutter` shell script.
+
+## Debugging the `flutter` command-line tool in VS Code
+
+The following `launch.json` config will allow you to debug the Flutter tool:
+
+```json
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "flutter_tools",
+ "request": "launch",
+ "type": "dart",
+ "program": "${workspaceFolder}/bin/flutter_tools.dart",
+ "env": {
+ "FLUTTER_ROOT": "${workspaceFolder}/../../"
+ },
+ "args": ["doctor", "-v"]
+ }
+ ]
+}
+```
+
+Note that:
+
+1. The current workspace directory is assumed to be the [root of the flutter_tools package](https://github.com/flutter/flutter/tree/master/packages/flutter_tools).
+2. Update `args` to be whatever arguments you want passed to the tool (i.e. which sub-command you want to debug).
+3. To debug the `flutter` command-line tool while running a `flutter` project, add `cwd` to the configuration with the path of the project.
+
+```
+"configurations": [
+ {
+ "name": "flutter_tools",
+ ...
+ "cwd": "/path/to/flutter/project",
+ }
+]
+```
+
+Also, ensure `flutter_tools (flutter)` is selected on the Debug tab.
+
+
+
+With this configured, set a breakpoint(s) inline in a source file, and start debugging from the menu with Run -> Start Debugging.
+
+For more on debugging, including detailed information on `launch.json`, in VS Code refer to the VS Code [documentation](https://code.visualstudio.com/docs/editor/debugging).
+
+## Debugging the `flutter` command-line tool in Android Studio
+
+Developers are expected to be able to run `flutter` commands without needing in-depth knowledge of the tool. However, there are some cases in which you may find it useful to debug `flutter` commands, especially when it's difficult to reproduce your issue.
+
+The `flutter` command is just a wrapper and it will finally run `$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot` generated by flutter_tools package.
+
+That's to say, you can debug `flutter` command as a Dart Command Line App.
+Let's take `flutter doctor -vv` as an example. You can debug it following the steps below:
+
+a. Open the flutter_tools package in Android Studio
+
+b. Create a new Dart Command Line App by `Add Configurations` and configure it as below:
+
+
+The Dart file refers to bin/flutter_tools.dart where the main function is located. Program arguments refers to the arguments for flutter command, it's passed to main method directly. Working directory is which flutter project you want to run the flutter command, and is not always necessary.
+
+c. The dart sdk is used to run the bin/flutter_tools.dart and expected to configure as below:
+
+
+d. If you make some changes to the flutter_tools package, you may need to do as 'Making changes to the `flutter` tool' says above because flutter command might be triggered implicitly by gradle, etc.
+
+Though those steps given above are under Android Studio, the logic also works for other IDEs.
+
+## Adding, removing, or making changes to Dart dependencies
+
+Once you've edited a `pubspec.yaml` file in the Flutter repository to change a package's dependencies,
+run `flutter update-packages --force-upgrade` to resynchronize all the `pubspec.yaml` files.
+This does a full cross-package version solve for the entire repository.
+
+If you need to pin a particular version, edit the table at the top of the `update_packages.dart` file.
+
+## Using a locally-built engine with the `flutter` tool
+
+To allow the tool to be used with a locally-built engine, the `flutter` tool accepts two
+global parameters: `local-engine-src-path`, which specifies the path to your engine repository,
+and `local-engine`, which specifies which build of the engine to use.
+
+**Important:** before building your local engine, you should ensure that your engine feature branch is based on the
+same upstream version of the engine that the Flutter SDK/flutter tool has pinned. You can find the engine version
+that the Flutter SDK has pinned at `flutter/bin/internal/engine.version`.
+
+A typical invocation would be: `--local-engine-src-path /path/to/engine/src --local-engine=android_debug_unopt --local-engine-host=host_debug_unopt`.
+
+If your engine is in a directory called `engine` that is a peer to the framework repository's `flutter` directory, then you can omit `--local-engine-src-path` and only specify `--local-engine`.
+
+You can also set the environment variable `$FLUTTER_ENGINE` instead of specifying `--local-engine-src-path`.
+
+The `--local-engine` should specify the build of the engine to use, e.g. a profile build for Android, a debug build for Android, or whatever. It must match the other arguments provided to the tool, e.g. don't use the `android_debug_unopt` build when you specify `--release`, since the Debug build expects to compile and run Dart code in a JIT environment, while `--release` implies a Release build which uses AOT compilation.
+
+<!-- TODO(matanl): https://github.com/flutter/flutter/issues/132245, update this. -->
+
+> ⚠️ **WARNING**: As of [#132245](https://github.com/flutter/flutter/issues/132245), `--local-engine-host` will be mandatory.
+>
+> If you're currently relying on the host engine being implicitly defined, you will need to update your workflow to explicitly specify the host engine.
+> For example, if you're currently running `flutter run --local-engine=android_debug_unopt`, you will need to run `flutter run --local-engine=android_debug_unopt --local-engine-host=host_debug_unopt` instead.
+
+If you've modified the public API of `dart:ui` in your local build of the engine
+and you need to be able to analyze the framework code with the new API,
+you will need to add a `dependency_overrides` section pointing to your
+modified `package:sky_engine` to the
+`pubspec.yaml` for the flutter app you're using the custom engine
+with. A typical example would be:
+
+```yaml
+dependency_overrides:
+ sky_engine:
+ path: /path/to/flutter/engine/out/host_debug/gen/dart-pkg/sky_engine
+```
+
+Replace `host_debug` with the actual build that you want to use (similar to `--local-engine`, but typically
+a host build rather than a device build).
+
+If you do this, you can omit `--local-engine-src-path` and not bother to set `$FLUTTER_ENGINE`, as
+the `flutter` tool will use these paths to determine the engine also! The tool tries really hard to
+figure out where your local build of the engine is if you specify `--local-engine`.
+
+Similar to the [dwds debugging workflow](https://github.com/dart-lang/webdev/blob/master/dwds/CONTRIBUTING.md#with-flutter-tools-recommended), the Flutter tool can also be debugged with DevTools by invoking the tool with `flutter/bin/dart --observe flutter/packages/flutter_tools/bin/flutter_tools.dart` and then using the **first** DevTools URL that is printed to the console.
+
+## Adding dependencies to the Flutter Tool
+
+Each dependency we add to Flutter and the Flutter Tool makes the repo more difficult to update and requires additional work from our clients to update.
+
+Only packages which are developed by the Dart and/or Flutter teams should be permitted into the Flutter Tool. Any third party packages that are currently in use are exempt for historical reasons, but their versions must be pinned in [update_packages.dart](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/commands/update_packages.dart#L23) . These packages should only be updated after a human review of the new version. If a Dart and/or Flutter team package depends transitively on an un-maintained or unknown package, we should work with the owners to remove or replace that transitive dependency.
+
+Instead of adding a new package, ask yourself the following questions:
+
+- Does the functionality already exist in the SDK or an already depended on package?
+- Could I develop the same functionality myself in a few hours of work?
+- Is the package actively developed and maintained by a trusted party?
diff --git a/docs/unsorted_wiki/Tree-hygiene.md b/docs/unsorted_wiki/Tree-hygiene.md
new file mode 100644
index 0000000..f2100a7
--- /dev/null
+++ b/docs/unsorted_wiki/Tree-hygiene.md
@@ -0,0 +1,481 @@
+## tl;dr
+
+- Regressions should be [reverted first](https://github.com/flutter/flutter/wiki/Landing-Changes-With-Autosubmit) and questions asked later. Bringing the tree to green is higher priority.
+- A breaking change is one that breaks the tests in the flutter/tests repo, and those need a migration guide.
+- Expect that a new patch will be reviewed within two weeks, unless it is fixing a P0 bug in which case it should be reviewed the same day. If it has not been reviewed in that timeframe, reach out on [[Chat]]. Remember that reviewers are human beings with additional professional and personal responsibilities.
+
+## Introduction
+
+This page covers how to land a PR and other aspects of writing code for
+Flutter other than the actual writing of the code. For guidance on
+designing APIs, documenting, and formatting your code, see the
+[[Style guide for Flutter repo]] document.
+
+## Overview
+
+The general process for submitting code to a Flutter repository is as follows:
+
+1. Fork the repository on GitHub (see the
+ [contributing guide](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md)
+ for advice on doing this and in general setting up your development environment).
+
+2. If there is not already an issue covering the work you are interested in doing,
+ then file a new bug to describe the issue you are addressing. Having an issue means
+ that if we have to revert the PR, we can reopen the issue and not lose track of the
+ fact that the work didn't fully land. Similarly if someone works on a PR then stops
+ before it can land, having an issue means we have somewhere to point to the code when
+ we close the PR without landing it, so other people can take it over.
+
+3. Discuss your design on the issue. See [[Design Documents]] for advice.
+ You may find it useful to create a Google Doc to
+ solicit feedback (use the template at [flutter.dev/go/template](https://flutter.dev/go/template)).
+ You may wish to e-mail the mailing list, or discuss the topic
+ on our [[Chat]] channels. The more buy-in you get from the rest of the
+ team (especially the relevant leads), the easier the rest of the process will be.
+ You can put the label "proposal" on your issue to indicate that you have a design
+ up for discussion in the issue.
+
+4. If the work you are doing affects our privacy surface, such as modifying how
+ we collect analytics, crash logs, or the like, then please reach out to a Googler
+ to discuss your changes (you'll want to start a Google Doc to
+ solicit feedback, use the template at [flutter.dev/go/template](https://flutter.dev/go/template)),
+ who will be happy to loop in one of our engineers who explicitly focus on privacy issues
+ so that they're able to give feedback on the work you plan to do.
+
+5. Create a branch off of `main` (or if the repository has not yet switched to
+ having a `main` branch, from `master`) on your GitHub fork of the repository, and implement
+ your change. Make sure it is tested (see the next section for details).
+
+ You must follow the guidelines described in the [[Style guide for Flutter repo]].
+ Files must not have trailing spaces.
+ For the engine repository, C, C++, and Objective-C code should be formatted with
+ `clang-format` before submission (use `buildtools/<OS>/clang/bin/clang-format
+ --style=file -i`).
+
+6. Submit this branch as a PR to the relevant Flutter repository.
+ _(See also: [[Signing commits]])_
+
+7. Get your code reviewed (see below). You should probably reach out to the relevant
+ expert(s) for the areas you touched and ask them to review your PR directly.
+ GitHub sometimes recommends specific reviewers; if you're not sure who to ask,
+ that's probably a good place to start.
+
+8. Make sure your PR passes all the pre-commit tests. Consider running some of the
+ post-commit tests locally (see the
+ [devicelab](https://github.com/flutter/flutter/blob/master/dev/devicelab/README.md)
+ directory). If any tests break, especially the `customer_testing` tests, please
+ see the breaking change policy section below for details on how to proceed.
+
+ The `luci-flutter` test isn't checking your PR, it's letting you know
+ whether the tree itself is passing the tests right now (including post-
+ commit tests).
+
+ **If the trees or dashboards are showing any regressions, only fixes
+ that improve the situation are allowed to go in.**
+
+9. Once everything is green and you have an LGTM from the owners of the code you are affecting (or someone to whom they
+ have delegated), and an LGTM from any other contributor who left comments, add the "autosubmit" label if you're in the flutter-hackers github group. A bot will land the patch when it feels like it. If you're not in the flutter-hackers group a reviewer will add the label for you.
+
+10. Watch the post-commit tests on the [dashboard](https://dashboard.flutter.dev/#/build) to make sure everything passes. If anything
+ goes wrong, revert your patch and study the problem. You should aim to be the one to revert your patch. You will be racing everyone
+ else on the team who will also be trying to revert your patch. (See below for guidance on reverting PRs.)
+
+_See also: [[What should I work on?]]_
+
+## Tests
+
+Every change in the flutter/engine, flutter/flutter, and flutter/packages repos must be tested, except for PRs that:
+
+* only remove code (no modified or added lines) to remove a feature or remove dead code. (Removing code to fix a bug still needs a test.)
+* only affect comments (including documentation).
+* only affect code inside the `.github` directory, `.cirrus.yml` or `.ci.yaml` config files.
+* only affect `.md` files.
+* are generated by automated bots (rollers).
+* have an _explicit_ exemption (a message from a member of `@test-exemption-reviewer` on Discord starting with `test-exempt:`).
+<!-- update https://github.com/flutter/cocoon/blob/main/app_dart/lib/src/service/config.dart if you change who is on the list -->
+
+**In the repositories listed above, a bot will comment on your PR if you need an explicit exemption.** Do not land a PR that has had such a message from the bot unless it has an explicit exemption! The message tells you how to ask for an exemption. Please follow those instructions.
+
+**If the PR is in a repository that is not listed above, meaning is not supported by the bot, then it is the responsibility of the pull request reviewer to make sure that tests have been added to support the code change.**
+
+In particular, the following kinds of PRs are *not* automatically exempt and require an explicit comment even though the answer may be obvious: refactors with no semantic change (e.g. null safety migrations), configuration changes in the aforementioned repos, changes to analysis (fixing lints, turning on lints), changes to test infrastructure, manual dependency rolls, fixes to existing tests, cosmetic fixes to unpublished example apps.
+
+If a reviewer says a PR should have a test, then it needs a test regardless of the exemptions above.
+
+PRs adding data-driven fixes require tests that fall under the test_fixes directory, but are not yet recognized by the bot as being tested.
+
+Consider using the code coverage tools to check that all your new code is covered by tests (see [[Test coverage for package:flutter]]).
+
+Feel free to update the bot's logic to catch more cases that should be automatically exempt (it's in the cocoon repo).
+
+## Using git
+
+Assuming your environment has been configured according to the instructions in
+[[Setting up the Engine development environment]],
+[[Setting up the Framework development environment]], or
+[[Setting up the Packages development environment]],
+follow these steps to start working on a patch:
+
+ * `git fetch upstream`
+ * `git checkout upstream/main -b name_of_your_branch`
+ * `flutter update-packages`
+ * Hack away.
+ * `git commit -a -m "<your informative commit message>"`
+ * `git push origin name_of_your_branch`
+
+GitHub provides you with a link for submitting the pull request in the message output by `git push`.
+
+Because `git pull` will often miss tags that are used to define the release of the flutter tool, it is recommended to use `git fetch` typically to avoid version mismatches when running `flutter update-packages`.
+
+Use `git fetch upstream; git rebase upstream/main; git push origin your_branch_name` to update your PRs, rather than using merge, because that way our tooling will recognize your PR as being up to date. (Otherwise it'll try testing against the tests at the time you originally branched.) Also, **be wary of force pushing to your PR branch** if you are dealing with golden image tests; see [[gold troubleshooting instructions|Writing-a-golden-file-test-for-package:flutter#troubleshooting]].
+
+Please make sure all your patches have detailed commit messages explaining what the problem was and
+what the solution is.
+
+You must complete the
+[Contributor License Agreement](https://cla.developers.google.com/clas).
+You can do this online, and it only takes a minute.
+
+
+## Getting a code review
+
+Every PR must be code-reviewed before check-in, including things like
+rolling a dependency. Getting a review means that a regular Flutter
+contributor (someone with commit access; see [[contributor access]] for details) has "approved" the PR in the
+GitHub UI. We call this "getting an LGTM" ("looks good to me").
+
+If you are not yourself someone with commit access, then a second person
+with commit access must also review and approve your PR. This ensures that
+two people with commit access (trusted contributors) agree on every commit.
+
+### Why
+
+Code review serves many critical purposes. There's the obvious
+purpose: catching errors. Even the most experienced engineers
+frequently make errors that are caught by code review. But there are
+also many other benefits of code reviews:
+
+ * It spreads knowledge among the team. Since every line of code will
+ have been read by two people, it's more likely that once you move
+ on, someone else will understand the code.
+
+ * It keeps you honest. Knowing that someone will be reading your
+ code, you are less tempted to cut corners and more motivated to
+ write code you are proud of.
+
+ * It exposes you to different modes of thinking. Your code reviewer
+ has probably not thought about the problem in the same way you
+ have, and so may have a fresh perspective and may find you a better
+ way to solve the problem.
+
+We recommend you consider
+[these suggestions](https://testing.googleblog.com/2017/06/code-health-too-many-comments-on-your.html)
+for addressing code review comments on your PR.
+
+### When
+
+If you're working on a big patch, don't hesitate to get reviews early,
+before you're ready to check code in. Also, don't hesitate to ask for
+multiple people to review your code, and don't hesitate to provide unsolicited
+comments on other people's PRs (although approvals in the GitHub UI
+should be reserved for those with contributor access). The more
+reviews the better.
+
+If nobody reviews your PR within two weeks, you can ask for
+a review via our [[Chat]] channels. Start by asking in #hackers,
+saying what your patch does and providing a link.
+
+### Who
+
+PRs are assigned reviewers weekly. The precise process varies by team but tends to be combined with issue [[triage]].
+
+Code should be reviewed by the owner (tech lead) of the area(s) of the codebase that you are changing,
+or someone to whom they have delegated that authority.
+If anyone else leaves comments, please also wait for their approval (LGTM) before landing code.
+
+If nobody has reviewed your code after a week, then reach out on our [[Chat]] channels.
+The `#hackers-new` channel is a good place to ask for help if you're a new contributor.
+
+_For PRs affecting the `material` and `cupertino` libraries, team members are expected to seek reviewers directly;
+they will not be assigned during PR triage._
+
+### How
+
+Code review status is managed via GitHub's approval system. PRs should
+not be merged unless one or more contributors with commit access (at
+least one of which should be very familiar with the code in question)
+have approved the PR in the GitHub UI.
+
+Reviewers should carefully read the code and make sure they understand
+it. A reviewer should check the code for both high level concerns,
+such as whether the approach is reasonable and whether the code's structure makes sense, as well as
+lower-level issues like how readable the code is and adherence to the
+[Flutter style guide](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo).
+Use [these best practices](https://mtlynch.io/human-code-reviews-1/)
+when reviewing code and providing comments.
+
+As a reviewer, you are the last line of defense.
+
+0. Did the author sign the CLA? If not, ask them to do so and don't look at the code.
+1. Take a step back. What problem is the PR trying to solve? Is it a real problem?
+2. What other solutions could we consider? What could we do to make this even better?
+3. Is it the best API? See our [philosophy](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#philosophy) section. Look for state duplication, synchronous slow work, complecting, global state, overly-specific APIs, API cliffs and API oceans, API design in a vacuum (without a customer). If these terms don't make sense, read the style guide again. :-)
+4. Is it the best implementation? Again, see our [style guide](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#coding-patterns-and-catching-bugs-early), in particular its section on good coding patterns. Are there hacks? Are we taking on more technical debt? Think of ways in which the code could break.
+5. Is it testable? Is it tested? **All code must be tested.** Are there asserts? Encourage liberal use of assertions.
+6. Look for mistakes in indenting the code and other trivial formatting problems.
+7. Is new code licensed correctly?
+8. Is the documentation thorough and useful? Look for useless documentation, empty prose, and breadcrumbs. See the [documentation section](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#documentation-dartdocs-javadocs-etc) of our style guide for what that means.
+9. Check for good grammar in API docs and comments. Check that identifiers are named according to our conventions.
+
+Once you are satisfied with the contribution, and _only_ once you are satisfied,
+use the GitHub "Approval" mechanism (an "LGTM" comment is not sufficient).
+If you feel like you are being worn down, hand the review to someone else. Consider
+our [conflict resolution](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md#conflict-resolution)
+policy if you feel like you are being forced to agree to something you don't like.
+
+Reviewers should not give an LGTM unless the patch has tests that verify
+all the affected code, or unless a test would make no sense. If you
+review a patch, you are sharing the responsibility for the patch with
+its author. You should only give an LGTM if you would feel confident
+answering questions about the code.
+
+In general, reviewers should favor approving a PR once it is in a state where it definitely improves the overall code health of the system being worked on, even if the PR isn't perfect. Reviewers should also provide positive feedback throughout the process, to offset the impact of the stream of critiques that is code review.
+
+Reviewers should always feel free to leave comments expressing that something could be better, but if it's not very important, prefix it with something like "Shouldn't block this PR but: " to let the author know that it's just a point of polish that they could choose to ignore in the current PR (these should be documented in TODO comments with a tracking issue).
+
+If you are not a regular Flutter contributor (someone with commit access),
+we very much welcome your reviews on code contributions in the form of comments
+on the code, but please refrain from approving or LGTM'ing changes, as it
+confuses PR authors, who may think your approval is authoritative and merge
+the PR prematurely.
+
+When commenting on a PR, keep in mind the following mantra:
+
+* Be polite and grateful. Graceful professionalism.
+* Explain what is happening. Explain why it is happening.
+* Provide next steps. Set expectations.
+
+It's better to close a PR than to leave it in limbo.
+
+_See also: [How to review a Flutter PR](https://docs.google.com/presentation/d/1apKVLEAEqxINby49JhLWSLI-CMH0nxCcnrf90nW4cts/edit?usp=sharing) presentation_
+
+### What (to do when the patch is abandoned)
+
+Sometimes the contributor is unable to finish the work of landing the patch. In that case, if the PR has promise, we may close it but mention it on the relevant issue so that other interested parties can pick it up. Such issues are given the label [`has partial patch`](https://github.com/flutter/flutter/labels/has%20partial%20patch).
+
+## Landing a patch
+
+Once you have submitted your patch and received your LGTM, if you do not have commit access to
+the repository yet, then wait for one of the project maintainers to submit it for you.
+
+If you do have access, add the "autosubmit" label. A bot will land the PR for you.
+
+
+### Squashing commits
+
+When you squash commits, by default, GitHub will concatenate all your commit messages to form a unified commit message. This often yields an overly verbose commit message with many unhelpful entries (e.g. "fix typo"). Please double-check (and hand-edit if necessary) your commit message before merging such that the message contains a helpful description of the overall change.
+
+
+## Tree breakage (regressions in functionality)
+
+If a check-in has caused a regression on the main branch (sometimes "master") for any of the flutter repositories,
+revert (roll back) the check-in (even if it isn't yours). Do not attempt to forward-fix post-submit test failures.
+
+There is no shame in making mistakes! Reverts happen all the time and are a normal part of engineering.
+
+To revert a PR, just add the `revert` label to it. _For more details, see [[Landing Changes With Autosubmit]]._
+
+
+### Avoid "Revert "Revert "Revert "Revert "Fix foo"""" commit messages
+
+Please limit yourself to one "Revert" per commit message, otherwise we won't
+have any idea what is actually landing. Is it putting us back to where we were before?
+Is it adding new code? Is it a controversial new feature that actually caused
+a regression before but is now fixed (we hope)?
+
+Only use "Revert" if you are actually returning us to a known-good state.
+
+Also avoid using "Reland" in the commit message.
+When you later revert the revert, just land the PR afresh with the original commit message,
+possibly updated with the information since collected, and include a link
+to the original PR and to the revert PR so that people can follow the breadcrumbs later.
+
+
+## Regressions in performance
+
+After each check-in, please monitor the [performance dashboards](https://flutter-dashboard.appspot.com/).
+
+If you see a regression (any of the charts increasing after your commit), please
+follow these steps:
+
+* Comment on the PR acknowledging the regression.
+* If the regression is expected and is a desirable trade-off (e.g. disk size
+increased slightly in exchange for a significant improvement in speed), then
+rebaseline the relevant benchmarks (log in, then click the magnifying glass
+at the top right of each chart, then click the button to auto rebaseline and
+commit).
+* If the regression is not expected, and may be a problem in your PR, revert
+your PR and investigate.
+* If the regression is not expected, and is quite severe, revert your PR and
+investigate.
+* If the regression is not expected, and is not severe, and is definitely not
+a problem in your PR (e.g. you changed a comment and the analyzer performance
+got worse, or you deleted a README and the rasterizer slowed down), then file
+a bug, labeled with the "regression", "performance", `P0` labels, and either
+investigate or delegate to someone to investigate. The investigation should be
+considered a high priority. It is your responsibility to make sure that the
+cause is understood within a few days.
+
+Performance regressions are not a problem so long as they are promptly dealt with.
+Therefore, Flutter considers all unexpected performance regressions to be `P0` until
+we have it under control (e.g. we know what caused it and either have a fix under
+way or have determined it is an acceptable trade-off).
+
+### Performance regressions caused by auto-roller commits
+
+Although reverting a normal commit that caused performance regressions is the default
+behavior, reverting an [auto-roller](https://github.com/flutter/flutter/wiki/Autorollers)
+(e.g., an engine-roller commit like https://github.com/flutter/flutter/commit/fdcb57b69eff2162e9aead6dec0f8058788e7608)
+commit could cause some complications:
+
+1. The auto-roller commit usually include multiple commits of the source repo (e.g., engine-roller
+commit includes multiple commits of https://github.com/flutter/engine). This can be applied
+recursively as the engine-roller commit includes a dart-roller commit, or a skia-roller commit.
+Therefore, a roller commit could actually include a ton of leaf-level commits, which makes it
+really hard to triage which leaf commit actually caused the regression.
+
+2. The auto-roller will try to roll again as soon as possible that will reland any changes reverted
+by a Flutter commit revert. So in order to keep the revert effective, one has to either
+(1) pause the auto-roller, or (2) revert the leaf commit in the source repo.
+
+3. If the auto-roller is paused for a long time (say 1 day), the source repo will accumulate many
+commits. That makes the next roll very hard to manage: it's difficult to triage a build failure
+or a new performance regression caused by the next roll, since that roll will include all the commits
+in the paused period.
+
+Therefore, reverting a roller commit or pausing the auto-roller is
+*NOT* the default action if it causes a performance regression.
+The default action should be to file an issue with labels "performance", "regression", and `P0`
+immediately, and start investigating which leaf-commit caused the regression. Once the leaf-commit
+is identified, check if it's an expected trade-off. If so, remove the `P0` label and try to see
+if there's any way to mitigate the regression. If not, revert the leaf commit in the source repo
+and let the auto-roller apply that revert. Once the revert is rolled into Flutter, close the issue.
+
+## Handling interdependent/multi-repo changes
+
+If you're working on a feature that requires changes in both the [framework](https://github.com/flutter/flutter) and [engine](https://github.com/flutter/flutter) repos, you'll need to make 2 separate PRs. In such situation CI on the framework PR may fail because it depends on engine code that is not (yet) on engine repo's main branch. In such situation, you need to land the changes in the engine first, wait for them to roll into the framework's main branch, and then rebase your framework PR.
+
+## Handling breaking changes
+
+In general, we want to avoid making changes to Flutter, our plugins, or our packages, that force developers using Flutter to change their code in order to upgrade to new versions of Flutter. See [our compatibility policy](https://flutter.dev/docs/resources/compatibility).
+
+Sometimes, however, doing this is necessary for the greater good. We want our APIs to be
+intuitive; if being backwards-compatible requires making an API into something that we would
+never have designed that way unless forced to by circumstances, then we should instead break
+the API and make it good.
+
+The process for making breaking changes is as follows:
+
+### 1. Determine if your change is a breaking change
+
+Implement the change you wish to see and run the existing tests against your new code (without having changed the tests first). Changes that break (i.e. require changes to) one or more of the contributed tests are considered "breaking changes".
+
+The "contributed tests" are:
+
+* Those in the [`customer_testing`](https://github.com/flutter/tests) shard on `flutter/flutter` PRs.
+* Additional test suites that we have been allowed to run but that are not public. (Notably, Google allows us to run several tens of thousands of [[proprietary tests|Understanding Google Testing]] on each commit.)
+
+There are no exemptions to this policy, because these tests run in our CI and breaking them will close the tree.
+
+In cases where these tests pass but we can nonetheless imagine reasonable scenarios where developers would be affected negatively, by courtesy, once the change has landed, engineers are encouraged to announce the changes by sending an e-mail to [flutter-announce@](https://groups.google.com/g/flutter-announce), a message to the `#announcements` channel on our [[Chat]], and tagging the relevant issues with the [**c: API break** label](https://github.com/flutter/flutter/labels/c%3A%20API%20break) (such that they will be included in our release notes). However, we do not consider these breaking changes. (One reason to do this would be if we see our own tests being significantly affected, even if no contributed test actually fails.)
+
+### 2. Evaluate the breaking change
+
+If your change counts as a breaking change, seriously consider whether it is truly necessary and beneficial. Consider writing a [[design document|Design Documents]]. Discuss it with your code reviewer. Raise it in [[Chat]].
+
+### 3. Prepare your change.
+
+If you decide your change is valuable enough to deploy, adjust your PR so that it introduces the new functionality, API, behavior change, etc, in an opt-in fashion, thus avoiding the immediate breakage.
+
+_For example, rather than replacing a widget with another, introduce the new widget and discourage use of the old one. Rather than changing the order in which a certain argument is processed, provide a flag that selects which order the arguments will be processed in._
+
+When changing the semantics of an API with a temporary opt-in, a three-phase change is needed (adding the new API and opt-in, then removing the old API, then removing the opt-in.)
+
+If possible, avoid four-phase deprecations (adding a new API with a temporary name and deprecating an old API, removing the old API, changing the new API to the old name and deprecating the temporary name, and finally removing the temporary name), because they involve a lot of churn and will irritate our developers.
+
+Stage your change and the documentation for your change. Typically this will be two or more PRs, plus PRs to fix the tests that were broken (see step 1), as well as writing a migration guide as a PR to the Website repository.
+
+If possible, include flutter fixes to aid users in migration. Whether or not the change is supported by flutter fix should be included in the migration guide. To learn about authoring fixes, see [Data driven Fixes](https://github.com/flutter/flutter/wiki/Data-driven-Fixes).
+
+**Use our [breaking change migration guide template](https://github.com/flutter/website/blob/main/src/release/breaking-changes/template.md)** (follow all the instructions in the comments) to create the migration guide that describes the change. Do not land the migration guide at this time. You will need to update it before you land it in the last step.
+
+### 4. Land your change.
+
+Once you are ready, have received feedback, iterated on your design and your migration guide, land your initial change and start migrating clients. *Do not yet land the migration guide.* Once all the clients are migrated, land your final change. (You may have several iterations here if you have a multiphase roll-out.)
+
+During this process, each individual PR does not break any tests, so it should not block any autorollers.
+
+
+### 5. Document the change, including clear documentation for migrating code, with samples, and clear rationales for each change
+
+Once everything has landed:
+
+* update your migration guide based on your experience migrating everyone,
+* update the timeline on the guide, and push it to [the flutter.dev Web site](https://flutter.dev/docs/release/breaking-changes) (don't forget to update the [index](https://github.com/flutter/website/blob/main/src/release/breaking-changes/index.md) of that directory as well),
+* e-mail a copy to [flutter-announce@](https://groups.google.com/g/flutter-announce),
+* notify the `#announcements` channel on our [[Chat]], and
+* add the [**c: API break** label](https://github.com/flutter/flutter/labels/c%3A%20API%20break) to the relevant issues, so they get listed in the upcoming Release notes.
+
+### Deprecations
+
+Old APIs can be marked as deprecated as part of this process. Deprecation is not a way to avoid making a breaking change; you should consider deprecating an API to be equivalent to removing it, as some of our customers (and we ourselves) consider using a deprecated API to be anathema (triggering a build failure).
+
+The syntax for deprecations must match the following pattern:
+
+```dart
+@Deprecated(
+ 'Call prepareFrame followed by owner.requestVisualUpdate() instead. '
+ 'This will enable an improvement to performance in a future version of Flutter. '
+ 'This feature was deprecated after v2.9.0-0.1.pre.'
+)
+```
+
+In other words:
+
+```dart
+@Deprecated(
+ '[description of how to migrate] '
+ '[brief motivation for why we are breaking the API] '
+ 'This feature was deprecated after [beta version at time of deprecation].'
+)
+```
+
+Using this standard form ensures that we can write a script to detect all deprecated APIs and remove them. We have a test that verifies that this syntax is followed.
+
+To determine the latest beta version, see <https://flutter.dev/docs/development/tools/sdk/releases>.
+
+When adding a deprecation notice to the framework, a flutter fix should be included with your change. This helps users migrate to the new API as easily as possible. To learn more about authoring fixes, see [Data driven Fixes](https://github.com/flutter/flutter/wiki/Data-driven-Fixes). If a fix cannot be written for the new API, please file an issue in https://github.com/dart-lang/sdk and link to it in your change.
+
+When deprecating features, be aware that *you* will not by default be informed when the Flutter code itself uses the deprecated feature (there is a `deprecated_member_use_from_same_package: ignore` line in the root `analysis_options.yaml` file). To find places where the old feature is used, rename its declaration and see where the compiler complains. (You can't just comment out the "ignore" in the `analysis_options.yaml` file because it's hiding hundreds of other warnings...)
+
+Deprecations are removed in a consistent "first-in-first-out" fashion. The lifetime for a Flutter deprecation is 1 year after reaching the stable channel, or after 4 stable releases, whichever is longer. Deprecations are still subject to the policy described on the [breaking changes page](https://flutter.dev/docs/release/breaking-changes) of the website. Where possible, prepare the dart fix tools and write appropriate migrations guides.
+
+This policy is currently enforced for `package:flutter`, `package:flutter_driver`, and `package:flutter_test`.
+
+## Skipped Tests
+
+Tests can be skipped using the `skip` parameter of `test()`, `group()` and `testWidgets()`. However, they should be kept to a minimum and only done for the following two reasons.
+
+The first is if there is a test that is flaky, we can mark is as *temporarily* skipped to keep the tree green while a fix for it is developed. For these types of skips you need to file a tracking issue so we can ensure there is follow up to remove the skip. This tracking issue should be tagged with the `skip-test` label. Then in a comment on the same line as the parameter, include a link to this issue:
+
+```dart
+ skip: true, // https://github.com/flutter/flutter/issues/XXXXX
+```
+
+The other reason to use the skip parameter is to mark a test that by design doesn't make sense to test under a specific condition. An example would be a test that only tests a feature available on a specific platform or environment. For these cases, include a comment on the same line as the skip parameter with the text `[intended]` and a short description of why the skip is needed:
+
+```dart
+ skip: isBrowser, // [intended] There are no default transitions to test on the web.
+```
+
+If the analyzer script sees a skip without a comment containing either an issue link or an `[intended]` tag, it will report and error and fail the check.
diff --git a/docs/unsorted_wiki/Triage.md b/docs/unsorted_wiki/Triage.md
new file mode 100644
index 0000000..f8e81cf
--- /dev/null
+++ b/docs/unsorted_wiki/Triage.md
@@ -0,0 +1,330 @@
+# Primary issue triage process
+
+The process of triaging new incoming bugs consiists of processing the list of [issues without team-* labels, with no assignees, and not labeled `will need additional triage`](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+no%3Aassignee+-label%3A%22will+need+additional+triage%22+-label%3Ateam-release%2Cteam-codelabs%2Cteam-ecosystem%2Cteam-infra%2Cteam-engine%2Cteam-framework%2Cteam-news%2Cteam-ios%2Cteam-tool%2Cteam-web%2Cteam-desktop%2Cteam-design%2Cteam-android%2Cteam-go_router%2Cteam-games%2Cteam-text-input+) as described in this section, so as to make that list empty.
+
+_See also: [[Issue triage reports]]_
+
+### General
+
+To triage an issue, first look at the bug report, and try to understand what the described problem is. Edit the original comment to remove boilerplate that the bug reporter didn't remove. Edit the original comment to add backticks (\`\`\`) around blocks of stack traces, code, the output of shell scripts like `flutter doctor`, etc. Ensure that the title is a meaningful summary of the issue. These changes make the bug much easier to manage.
+
+If their report is **unclear**, doesn't give sufficient steps to reproduce, or is otherwise lacking in sufficient detail for us to act on it, add a polite comment asking for additional information, add the `waiting for customer response` label, then skip the remaining steps.
+
+If the bug is **still unclear** -- we have previously asked for more detail, and the bug reporter has had a chance to provide additional feedback, but has not been able to do so in a way that makes the bug actionable -- either apologize for us not being able to fix it and then close the bug, or add the `waiting for customer response` label, depending on your confidence that the reporter will be able to eventually provide sufficient detail. Then, skip the remaining steps. It is fine to be aggressive in closing bugs where the issue is not clear, because we have plenty of other issues where the bug _is_ clear and there's really no value to us in having low-quality bugs open in our bug database.
+
+If the issue describes something that you know for a fact has been **fixed** since the bug report was filed, add a cheerful comment saying so, close the issue, and skip the remaining steps.
+
+If the bug is **clear enough** for us to act on it, continue with the following steps. To reach this step, the bug should be actionable, with clear steps to reproduce the problem. We have enough bugs filed that we will not run out of work any time soon; therefore, it is reasonable to be quite aggressive in establishing if a bug is sufficiently clear.
+
+#### Artifacts
+
+Ideally every issue would have a sample app that demonstrated the problem.
+
+Performance bugs should have timeline traces.
+
+Crashes should have crash logs with a Flutter version so that the [flutter-symbolizer-bot](https://github.com/flutter-symbolizer-bot) can do its work (see also [[Crashes]]).
+
+#### What makes an issue actionable
+
+An _actionable_ issue is one for which it is easy to determine if a particular PR means the issue can be closed or not. Issues whose descriptions are vague, or that express a general malaise or general desire, issues that specify a failure mode but no steps to reproduce the problem, and other issues where the nature of the problem is not clear and where it would be difficult to determine if any particular change could actually fix the problem, should be closed.
+
+One example of an unactionable issue is one with such vaguely described symptoms that lots of people claim to have the same problem even when their described situations differ in mutually exclusive ways.
+
+As a project with literally thousands of open issues, we are not lacking in feedback. Time that would be spent trying to understand an unclear issue could be more effectively spent on a bug with a clear description. Unactionable bugs are simply not valuable enough to keep around when we have many actionable bugs already. Indeed, given how such issues are likely to affect search results, confuse new users filing issues, or attract hostile comments due to remaining open for a long time, they may literally have a negative value to the project.
+
+#### Unactionable bugs with unusual symptoms
+
+As discussed above, if a filed issue is unactionable due to vagueness or a lack of steps to reproduce, it should be closed, because we're never going to get to it if we don't know what the problem is given that we have many, _many_ other bugs that we _can_ make progress on today.
+
+In the specific case of a bug with unclear steps to reproduce but very specific symptoms, we like to leave the issue open so that other people having the same problem can congregate together and maybe together we can figure out the underlying cause. This only applies to issues that have very specific symptoms like a specific and unusual crash signature, a specific and unusual error message, or other unusual and recognizable symptoms, and where some effort was made on the part of the bug reporter to determine the cause (even if that effort was ultimately futile).
+
+### Duplicates
+
+If you recognize that this bug is a duplicate of an existing bug, add a reference to that bug in a comment, then close the bug. Skip the remaining steps. As you triage more and more bugs you will become more and more familiar with the existing bugs and so you will get better and better at marking duplicates in this way.
+
+When closing the duplicate bug, the github issue tracker does not copy the list of people being notified on the closed bug into the original bug. This can matter, especially when asking on the original bug for things like reproduction steps. Consider cc'ing the author of the duplicate issue into the original issue, especially if we're still trying to determine reproduction steps for the issue.
+
+### Requests for help (documentation issues)
+
+If the bug report is a question, then it probably belongs in Stack Overflow or on our #help channel or some other forum for getting help. However, if it appears that the reporter did try to read our documentation to find the answer, and failed, or, if you look in our documentation and find it is inadequate here, then please consider it a documentation bug (and update the summary accordingly).
+
+If you are confident our official documentation (on flutter.dev or api.flutter.dev) fully answers their question, then provide a link to the relevant page and close the issue, being very polite and asking them to reopen if the documentation is not sufficiently clear for them.
+
+### Labels
+
+**General rule: The more labels an issue has, the better!** _See also: [List of labels](https://github.com/flutter/flutter/labels)_
+
+Some labels are used to track the flow of issues from the time they're filed until they're assigned to a specific team for execution. You should use these to track the state of an issue through your first-level triage process. These are:
+
+ * `in triage`: You are presently looking at an issue and trying to determine what other labels you should give it.
+ * `assigned for triage`: The issue is assigned to a domain expert for further triage.
+ * `has reproducible steps`: The issue has a reproducible case or test, Flutter doctor output, and usable stack traces if appropriate. It is actionable in the sense that it can be routed to a domain team for action.
+ * `needs repro info`: We need more reproduction steps in order to be able to act on this issue.
+ * `workaround available`: A workaround is available to overcome the issue until it is properly addressed. Read more about [providing workarounds](https://github.com/flutter/flutter/wiki/Issue-hygiene#comments-providing-workarounds).
+ * `will need additional triage`: Assign this if you don't know how to route it to a team.
+
+**To complete the triage of an issue, add one (and only one) `team-*` label**. Team labels differ from the similar category names (such as `engine` or `framework`) in that the category labels indicate what part(s) of the codebase an issue affects, while `team-*` labels indicate the team that owns that work. Most issues will have both, and they won't always match.
+
+In general the flow chart for team assignment is as follows, stopping as soon as the first `team-` label is assigned:
+
+- If it's about the flutter/news_toolkit repository, add `team-news`.
+- If it's about a codelab, add `team-codelab`.
+- If it's about the release process or tooling (e.g., `conductor`), add `team-release`.
+- If it's about the Flutter team's CI or infrastructure, add `team-infra`.
+- If it's about Impeller, add `team-engine`.
+- If it's about Cupertino or Material Design, add `team-design`.
+- If it's about text fields or other user-facing text input issues, add `team-text-input`.
+ - If it's specific to a single platform, also add that platform's fyi label.
+- If it's specific to a single platform, add that platform's team (`team-android`, `team-desktop`, `team-ios`, or `team-web`).
+ - If the issue is about a first-party package, also add `fyi-ecosystem`.
+- If it's about one of our games templates, add `team-games`.
+- If it's about the Flutter engine, add `team-engine`.
+- If it's about the Flutter framework, add `team-framework`.
+- If it's about the Flutter tool, add `team-tool`.
+- If it's about a first-party package:
+ - If it's about `go_router` or `go_router_builder`, add `team-go_router`.
+ - Otherwise, add `team-ecosystem`.
+- If none of the above apply, add `will need additional triage`.
+
+_It is expected that some bugs will end up being re-assigned to a different team during secondary triage. If there are specific categories of issues where this always happens, the flow chart above should be updated accordingly, but having it happen occasionally is just the process working as expected; in some cases only the engineers working on an issue will know how the work is divided among teams._
+
+Bugs relating to the developer tools should be moved to the `flutter/devtools` repo, unless it looks like the first step is a change to the core parts of Flutter (in which case it should receive the `d: devtools` label as well as the pertinent labels for where the work should occur). Issues tagged with `d: devtools` or moved to the `flutter/devtools` repo will be triaged as described by [flutter/devtools/wiki/Triage](https://github.com/flutter/devtools/wiki/Triage).
+
+Bugs relating to the IntelliJ IDEs should be moved to the `flutter/flutter-intellij` repo, unless it looks like the first step is a change to the core parts of Flutter (in which case it should receive the `d: intellij` label as well as the pertinent labels for where the work should occur).
+Issues tagged with `d: intellij` will be reviewed by the Flutter IntelliJ team as described by [flutter/flutter-intellij/wiki/Triaging](https://github.com/flutter/flutter-intellij/wiki/Triaging).
+
+Bugs relating to the website should be moved to the `flutter/website` repo.
+
+#### Additional labels
+
+Once the main labels above are added, consider what additional labels could be added, in particular:
+
+Add any of the applicable "c: *" labels; typically only one will apply but sometimes `c: regression` will apply in conjunction with one of the others.
+
+Add any of the applicable "a: *" labels. There are many, it's worth browsing the list to get an idea of which ones might apply.
+
+### Additional comments
+
+If you have something to say regarding the bug, for example if you happen to notice what the problem is, or if you have some insight based on having seen many other bugs over time, feel free to add a comment to that effect. Your experience is valuable and may help both the reporter and the rest of the Flutter team.
+
+# Triage process for teams
+
+We intend for each area of the product to go through the following triage regularly:
+
+* Look at open bugs and determine what needs to be worked on.
+* Look at open PRs and review them.
+
+It is recommended to do these in separate dedicated meetings. For teams with multiple areas of focus (e.g. design languages), it's recommended that each area of focus have its own meeting.
+
+## Team issue triage process
+
+Each team has a label, for example `team-engine` is the engine team's label. Each issue gets assigned to a team during primary triage. In addition, each team has a "triaged" label (e.g. `triaged-engine`) and an "FYI" label (e.g. `fyi-engine`).
+
+Each team has an **incoming issue list**, the issues assigned to that team (team-foo), or marked for the attention of that team (fyi-foo), that the team has not yet triaged (triaged-foo). See below for links to those issue lists for each team.
+
+Each issue in this list should be examined, cleaned up (see next section), and either:
+- closed, with a comment saying why (e.g. is a duplicate, is not actionable, is invalid). The [`r:`](https://github.com/flutter/flutter/labels?q=r%3A) labels may be of use when closing an issue.
+- given a [priority](https://github.com/flutter/flutter/wiki/Issue-hygiene#priorities), and tagged with the team's corresponding `triaged-*` label. This marks the issue as triaged. If the priority is P3 and the reporter has expressed that the issue is important to them, it will help the reporter feel welcome if a comment is added expressing empathy for their plight and explaining why it is not something we consider important.
+- sent to another team, by removing the current `team-*` label and adding another one. A comment should be added explaining the action.
+- sent back to primary triage, by removing the `team-*` label but not adding another one. A comment should be added explaining the action.
+- escalated to critical triage, by adding the `will need additional triage` label. A comment should be added explaining the action.
+
+In addition, each team should look at their **P0 list**, and ensure that progress is being made on each one. Every P0 issue should have an update posted at least once a week.
+
+Teams may also look at other lists (e.g. checking over previously-triaged regression issues, checking all P1 issues, checking assigned issues, etc), as appropriate.
+
+To flag an issue for attention by another team, the `fyi-*` label for that team can be set on the label. This does not assign the issue to that team, it just adds it to their triage queue.
+
+### Checklist for cleaning up issues
+
+When looking at an issue, perform the following cleanup steps:
+
+* Correct any typos and inaccuracies in the summary.
+* Correct the set of labels applied.
+* Hide low quality comments.
+
+Restrict the time you spend diagnosing each issue during triage. You don’t have to fix the issue! 30 seconds for P0 and 10~15 seconds for the others is reasonable! (Plus whatever time it takes to update the issue.)
+
+<details>
+<summary>JS script to open all PRs or issues on a GitHub page</summary>
+
+```js
+// This script is intended to be run in chrome devtools console
+// during triage to open PRs and Issues faster.
+
+// Before the script can be run you need to enable popups in Chrome
+// 1. On your computer, open Chrome Chrome.
+// 2. At the top right, click More More and then Settings.
+// 3. Click Privacy and security and then Site Settings.
+// 4. Click Pop-ups and redirects.
+// 5. Choose the option you want as your default setting.
+//
+// https://support.google.com/chrome/answer/95472?hl=en&co=GENIE.Platform%3DDesktop
+
+const plural = window.location.toString().split('?')[0];
+const singular = plural.substring(0, plural.length-1);
+const suffix = singular.includes("issue") ? "s" : "";
+const re = new RegExp("^" + singular + suffix + "/\\d+$");
+
+var urls = document.getElementsByTagName('a');
+
+var targets = []
+for (url in urls) {
+ var link = urls[url].href;
+ if(link == undefined) continue;
+ if(link.match(re) == null) continue;
+ if(targets.includes(link)) continue;
+ targets.push(link);
+}
+
+targets.forEach((target) => window.open(target));
+```
+
+</details>
+
+## PR triage process
+
+Teams should also go through all PRs in their area (ideally in a separate meeting). PRs can apply to multiple areas, and different teams have different methods of organizing code, so there is no uniform guidance for this process. However, in general:
+
+1. Check that PRs have an assigned reviewer.
+2. Check that the assigned reviewers have left comments; if not, contact them to remind them.
+3. Check that any questions on the PR from the contributor have been answered.
+
+For more guidance on reviewing PRs, see [Tree Hygiene](https://github.com/flutter/flutter/wiki/Tree-hygiene#how).
+
+## Links for teams
+
+### Android platform team (`team-android`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-android%2Cfyi-android+-label%3Atriaged-android+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-android+label%3AP0+sort%3Aupdated-asc)
+- [P1, No Assignee list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-android+label%3Ap1+no%3Aassignee+sort%3Aupdated-asc)
+- PRs: [Engine](https://github.com/flutter/engine/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Aplatform-android+-label%3A%22Work+in+progress+%28WIP%29%22+sort%3Aupdated-asc), [Framework/Tool](https://github.com/flutter/flutter/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Aplatform-android+-label%3A%22work+in+progress%3B+do+not+review%22+sort%3Aupdated-asc+), [Plugins \(non-dependabot\)](https://github.com/flutter/packages/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Aplatform-android+sort%3Aupdated-asc+-author%3Aapp%2Fdependabot+), [Plugins \(dependabot\)](https://github.com/flutter/packages/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Aplatform-android+sort%3Aupdated-asc+author%3Aapp%2Fdependabot+)
+
+### Codelabs team (`team-codelabs`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-codelabs%2Cfyi-codelabs+-label%3Atriaged-codelabs+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-codelabs+label%3AP0+sort%3Aupdated-asc)
+
+### Design Languages team (`team-design`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-design%2Cfyi-design+-label%3Atriaged-design+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc+-label%3A%22waiting+for+customer+response%22+)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-design+label%3AP0+sort%3Aupdated-asc)
+- [Design Languages PRs](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+label%3A%22f%3A+material+design%22%2C%22f%3A+cupertino%22+sort%3Aupdated-asc)
+
+### Desktop platforms team (`team-desktop`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-desktop%2Cfyi-desktop+-label%3Atriaged-desktop+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-desktop+label%3AP0+sort%3Aupdated-asc)
+- [Desktop PRs on the engine](https://github.com/flutter/engine/pulls?q=is%3Aopen+is%3Apr+label%3A%22affects%3A+desktop%22+sort%3Aupdated-asc)
+- [Desktop PRs on the framework](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+label%3A%22a%3A+desktop%22+sort%3Aupdated-asc)
+
+### Ecosystem team (`team-ecosystem`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-ecosystem%2Cfyi-ecosystem+-label%3Atriaged-ecosystem+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-ecosystem+label%3AP0+sort%3Aupdated-asc)
+- [PR list](https://github.com/flutter/packages/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+-label%3A%22p%3A+go_router%22+-label%3A%22p%3A+go_router_builder%22)
+
+In addition, consider these issues that fall under another team's triage, but are things the ecosystem team might want to be aware of:
+ * [`a: plugins` issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22a%3A+plugins%22+-label%3Ateam-ecosystem+-label%3Atriaged-ecosystem)
+ * [`package` issues](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Apackage+-label%3Ateam-ecosystem+-label%3Atriaged-ecosystem+-label%3Ateam-go_router+sort%3Acreated-desc+)
+ * [Package regressions](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+-label%3Ateam-go_router+label%3Apackage+label%3A%22c%3A+regression%22+sort%3Acreated-desc)
+
+
+### Engine team (`team-engine`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-engine%2Cfyi-engine+-label%3Atriaged-engine+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-engine+label%3AP0+sort%3Aupdated-asc)
+- [Buildroot PRs](https://github.com/flutter/buildroot/pulls)
+- [Approved PRs that have not yet landed](https://github.com/flutter/engine/pulls?q=is%3Aopen+is%3Apr+draft%3Afalse+-label%3A%22Work+in+progress+%28WIP%29%22+review%3Aapproved+NOT+%22Roll+Skia%22+-label%3Aplatform-web+sort%3Acreated-asc)
+- [PRs awaiting review](https://github.com/flutter/engine/pulls?q=is%3Aopen+is%3Apr+draft%3Afalse+-label%3A%22Work+in+progress+%28WIP%29%22+-label%3A%22waiting+for+tree+to+go+green%22+-label%3A%22platform-web%22+-review%3Aapproved+-label%3A%22waiting+for+customer+response%22+NOT+%22Roll+Skia%22+NOT+%22Roll+Dart%22+NOT+%22Roll+Fuchsia%22+sort%3Aupdated-asc++-label%3A%22platform-web%22+)
+- [Draft PRs](https://github.com/flutter/engine/pulls?q=is%3Aopen+is%3Apr+label%3A%22Work+in+progress+%28WIP%29%22+-label%3A%22waiting+for+tree+to+go+green%22+-label%3A%22platform-web%22+-review%3Aapproved+-label%3A%22waiting+for+customer+response%22+NOT+%22Roll+Skia%22+sort%3Aupdated-asc++-label%3A%22platform-web%22+)
+
+### Framework team (`team-framework`)
+
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-framework+label%3AP0+sort%3Aupdated-asc)
+- [PR list](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+label%3Aframework+-label%3A%22f%3A+material+design%22+-label%3A%22f%3A+cupertino%22+sort%3Acreated-desc+draft%3Afalse)
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-framework%2Cfyi-framework+-label%3Atriaged-framework+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc+-label%3A%22waiting+for+customer+response%22+)
+
+### Games team (`team-games`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-games%2Cfyi-games+-label%3Atriaged-games+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-games+label%3AP0+sort%3Aupdated-asc)
+- [PRs awaiting review](https://github.com/flutter/games/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc)
+
+### Go Router team (`team-go_router`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-go_router%2Cfyi-go_router+-label%3Atriaged-go_router+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-go_router+label%3AP0+sort%3Aupdated-asc)
+- [Package PRs](https://github.com/flutter/packages/pulls?q=is%3Apr+is%3Aopen+label%3A%22p%3A+go_router%22%2C%22p%3A+go_router_builder%22)
+
+### Infrastructure team (`team-infra`)
+
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-infra+label%3AP0+sort%3Aupdated-asc)
+- [Cocoon PRs](https://github.com/flutter/cocoon/pulls)
+- [GoB CLs](https://flutter-review.googlesource.com/q/status:open+-is:wip)
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-infra%2Cfyi-infra+-label%3Atriaged-infra+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [Latest updated issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-infra%2Cfyi-infra+sort%3Aupdated-desc)
+
+### iOS platform team (`team-ios`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-ios%2Cfyi-ios+-label%3Atriaged-ios+no%3Aassignee+-label%3A%22will+need+additional+triage%22+-label%3A%22waiting+for+customer+response%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-ios+label%3AP0+sort%3Aupdated-asc)
+
+Apple's https://developer.apple.com/news should be periodically checked for updates that might affect us.
+
+PRs are reviewed weekly across the framework, packages, and engine repositories:
+
+* [iOS Framework PRs](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+label%3Aplatform-ios+sort%3Acreated-asc+-is%3Adraft)
+* [iOS Plugins PRs](https://github.com/flutter/packages/pulls?q=is%3Aopen+is%3Apr+label%3Aplatform-ios+draft%3Afalse+sort%3Aupdated-asc)
+* [iOS Engine PRs](https://github.com/flutter/engine/pulls?q=is%3Aopen+is%3Apr+label%3Aplatform-ios+sort%3Acreated-asc+-is%3Adraft)
+
+### News Toolkit team (`team-news`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-news%2Cfyi-news+-label%3Atriaged-news+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-news+label%3AP0+sort%3Aupdated-asc)
+
+### Release team (`team-release`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-release%2Cfyi-release+-label%3Atriaged-release+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-release+label%3AP0+sort%3Aupdated-asc)
+
+### Text Input team (`team-text-input`)
+
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22a%3A+text+input%22%2Cteam-text-input%2Cfyi-text-input+sort%3Aupdated-asc+label%3AP0+)
+- [PR list](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+sort%3Acreated-desc+draft%3Afalse+label%3A%22a%3A+text+input%22%2Cteam-text-input%2Cfyi-text-input+)
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22a%3A+text+input%22%2Cteam-text-input%2Cfyi-text-input+no%3Aassignee+-label%3A%22triaged-design%22+-label%3A%22triaged-framework%22+-label%3A%22triaged-desktop%22+-label%3A%22triaged-android%22+-label%3A%22triaged-ios%22+-label%3A%22triaged-web%22+-label%3A%22triaged-ecosystem%22+-label%3A%22triaged-engine%22+-label%3A%22triaged-tool%22+-label%3A%22triaged-text-input%22+-project%3Aflutter%2F111+)
+
+### Flutter Tool team (`team-tool`)
+
+- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-tool%2Cfyi-tool+-label%3Atriaged-tool+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc)
+- [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-tool+label%3AP0+sort%3Aupdated-asc)
+- [PR list](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+label%3Atool+sort%3Aupdated-asc+-is%3Adraft)
+
+### Web platform team (`team-web`)
+
+- See the [Flutter Web Triage](https://github.com/flutter/flutter/wiki/Flutter-Web-Triage) page.
+
+## Adding a new team
+
+To add a team:
+
+* Create the `team-*`, `triaged-*`, and `fyi-*` labels with the same colors as other teams' labels.
+* Add the team to the list of teams in the triage bot ([the `GitHubSettings.teams` set](https://github.com/flutter/cocoon/blob/main/triage_bot/lib/engine.dart#L50)) and tell Hixie so he can restart the bot.
+* Add the team to the list of excluded labels in the link at the top of this page.
+* Add a section above with the incoming issue list and P0 issue list.
+
+# Critical triage
+
+Each week we have a "critical triage" meeting where we check how things are going, to make sure nothing falls through the cracks. (It's not really "critical", the name is historical.)
+
+During these meetings, we go through the following lists:
+
+* [P0](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3AP0+sort%3Aupdated-asc): all bugs should be assigned, and progress should be happening actively. There should be an update within the last week. If no progress is happening and owner cannot work on it immediately (e.g. they're on vacation, they're busy with their day job, family reasons, etc), find a new owner.
+* [Bugs flagged for additional triage](https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc+no%3Aassignee): figure out what should be done with the bug, then remove the `will need additional triage` label.
+* [flutter-pub-roller-bot](https://github.com/flutter/flutter/pulls/flutter-pub-roller-bot): check that the pub auto roller is chugging along.
+* [The stale PRs](https://github.com/pulls?q=is%3Aopen+is%3Apr+archived%3Afalse+user%3Aflutter+sort%3Aupdated-asc): examine the 25 least-recently updated PRs, if the least recently updated one was updated more than 2 months ago.
+
+## Self test issue
+
+The automation that supports our triage processes will periodically file an issue with every team's label on it. After a couple of weeks, it then adds the `will need additional triage` label to send it to the attention of the "critical triage" meeting, at which point we discover how well the triage processes are going, and which teams are not following the process completely, or are understaffed for the volume of issues they are dealing with.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Understanding-Google-Testing.md b/docs/unsorted_wiki/Understanding-Google-Testing.md
new file mode 100644
index 0000000..c248151
--- /dev/null
+++ b/docs/unsorted_wiki/Understanding-Google-Testing.md
@@ -0,0 +1,45 @@
+"Google testing" is the test suite that Google runs to test a flutter pull request against their internal code base. This check shows up as one of the many check runs at the bottom of a open pull request.
+
+
+
+## Validation Pipeline (60 minutes total)
+
+1. Triggering google testing (<1 minute)
+
+ Google testing starts once an approval from a Flutter hacker is given. For Googlers, the check is run immediately. Google testing is triggered on GitHub webhooks, and uses a 30 minute cron job to backfill when webhooks are dropped.
+
+2. Running google testing (30 minutes)
+
+ A subset of tests have been selected to run on presubmit as our smoke test suite. This gives quick, high coverage for PRs without running everything.
+
+3. Propagating results back to Github (30 minutes)
+
+ Once Google Testing finishes, it takes up to 1 hour for the results to be propagated back to Github. Once the result is available on Github, it will show "Google Testing" as either "success" or "failure".
+
+## Common issues
+
+### There's goldens failures on my PR, but those are expected
+
+If a Googler has verified the goldens are expected, the Googler can update internally the check to passing. This will indicate that we should accept the scubas. However, once merged, this will go through a second round of review as our smoke test suite only runs a subset of the codebase.
+
+### My PR got reverted due to it breaking Google, but the check never ran on presubmit!
+
+As of January 2024, Google testing is using webhooks to power most of the validation. In the rare case this happens, please file a bug and add "team-google-testing" as the label to it so we can see what went wrong.
+
+### My PR has an infra error
+
+Use the GitHub check run UI to rerun. If it goes from failing -> passing, it will be marked as a flake. The team that owns Google testing monitors the flake rate, and is working to get it under <1%.
+
+If the issue is not a flake, a Googler is necessary to investigate the infra error. As of Feb 2024, the most common infra error is related to race conditions when creating the internal CL for testing.
+
+#### What if the failure is expected or unrelated to my change?
+
+Googlers can go to http://frob and override the results.
+
+## Where can I get help?
+
+GitHub issues with the label "team-google-testing" are triaged weekly.
+
+For Googlers, you can use go/file-frob-bug for issues where confidential information is needed for debugging.
+
+For live questions, you can ask in [#hackers-infra](https://discord.com/channels/608014603317936148/608021351567065092).
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Understanding-Packages-tests.md b/docs/unsorted_wiki/Understanding-Packages-tests.md
new file mode 100644
index 0000000..d708bbf
--- /dev/null
+++ b/docs/unsorted_wiki/Understanding-Packages-tests.md
@@ -0,0 +1,168 @@
+The flutter/packages repository has a variety of tests; while many are relatively self-explanatory (for instance, a failure in `dart_unit_tests` in presubmit can be debugged simply by running the failing Dart unit tests locally), others are less straightforward to understand. This page covers test structure and details for the repository, and how to investigate failures.
+
+# Structure
+
+## Tooling
+
+Almost every test run by CI is run via the [repository tooling](https://github.com/flutter/packages/tree/main/script/tool). In general, the CI configuration for a task is a minimal wrapper around one (or, rarely, more than one) repository tool command. This has several benefits:
+- It makes it easy to run almost any failing CI task locally, using the same command.
+- It makes transitioning between different CI systems relatively straightforward.
+
+CI often runs commands via the `script/tool_runner.sh` script. This is just a thin wrapper that passes arguments that are commonly used for CI (such as `--packages-for-branch`, which makes CI behave differently depending on the branch being run) but are unlikely to be useful when running locally. To run a failing test locally, substitute [`dart run script/tool/bin/flutter_plugin_tools.dart`](https://github.com/flutter/packages/tree/main/script/tool#getting-started) for `script/tool_runner.sh`.
+
+## Infrastructure
+
+flutter/packages uses the same LUCI infrastructure as most of the rest of Flutter. The main exception is the `release` step, which uses GitHub Actions.
+
+### LUCI
+
+This is the CI system used by flutter/flutter and flutter/engine. For information about LUCI results pages, see [[Understanding a LUCI build failure]].
+
+#### Results
+
+Results for LUCI runs are available on [the Packages dashboard](https://flutter-dashboard.appspot.com/#/build?repo=packages&branch=main).
+
+#### Configuration
+
+LUCI tasks are configured in `.ci.yaml`, and files in `.ci/`. To find the commands corresponding to a given failing target and task, look in `.ci.yaml` for `name: your-target-name-here`, find the YAML file listed in the `target_file` entry, and look in `.ci/targets/that_yaml_file_name.yaml`. Each task will be an entry in that file, which runs `script` (a file relative to the repository root, usually either `script/tool_runner.sh` or in `.ci/scripts/`), optionally with given `args`.
+
+### GitHub Actions
+
+#### Results
+
+GitHub Actions results only show up [in the GitHub UI](https://github.com/flutter/packages/commits/main/packages): click a check mark (passed), red X (failed) or yellow circle (running) for the list of tasks.
+
+#### Configuration
+
+GitHub Actions tasks are configured in `.github/workflows/`.
+
+## Test matrix
+
+The overall testing structure for flutter/packages is:
+- Most tests are run on only one host platform: Linux when possible, or the relevant platform if necessary (e.g., Windows target tests must run on Windows hosts, and iOS and macOS tests must run on macOS hosts).
+- Most tests are run with both Flutter `master` and Flutter `stable` (see [discussion of supported platforms](https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#supported-flutter-versions) for more details).
+ - Since in practice `stable`-only failures are very rare, CI is currently configured to only run `stable` in post-submit to reduce CI time and costs.
+- Architecture coverage is as-needed; we generally don't duplicate tests across architectures. For plugins, where architecture is most likely to be an issue, we try to run:
+ - the majority of the tests (`*_platform_tests`) on the most popular architecture, and
+ - `build_all_packages` on the other.
+
+ This gives us build coverage on both architectures.
+
+## Exclusions
+
+Many test commands in the repository tooling are configured to make having no tests of that type an error, to avoid cases where packages are misconfigured such that we aren't running tests that we think they are (or that an important category of tests is just forgotten). In cases where a missing test is intentional, you can add it to the relevant [exclusion file](https://github.com/flutter/packages/tree/main/script/configs), which are files that are passed to the relevant CI runs.
+
+Exclusions **must** include explanatory comments, and in cases where they are not intended to be permanent, a link to an issue tracking its removal.
+
+# Specific tests
+
+In addition to Dart unit tests, Dart integration tests, and for plugins the various kinds of [native plugin tests](https://github.com/flutter/flutter/wiki/Plugin-Tests), there are a number of tests that check for repository best practices or to catch problems that have affected packages in the past. As a rule of thumb, any time we find a bug or mistake only *after* publishing a package, we try to add a check for that in CI to prevent similar issues in the future.
+
+Below are descriptions of many of the less self-evident CI tests, and common solution to failures. Anyone adding new tests is encouraged to document them here.
+
+- **`submit-queue`**: This only shows in PRs (presubmit), and reflects the current state of the tree: if it is red, the tree is currently closed to commits (which can mean either that the tree is red, or that a recently landed PR is still running post-submit tests), and if it is green the tree is open. This has **no relation** to the PR itself, and as a PR author you do not need to do anything about it; Flutter team members monitor the state of the tree, and will handle failures.
+ - There is a known issue that sometimes causes the status of this check to be stale; the causes is unknown. If this happens (i.e., the check in red but the tree state as described in the Infrastructure section above is actually green), you an either update your PR by merging in the latest `main` to force updates, or you can reach out to a Flutter team member (in a comment on the PR, or in Discord) to override the incorrect check.
+- **`*_platform_tests`**: This runs each package's integration tests on the given target platform, as well as any [native plugin tests](https://github.com/flutter/flutter/wiki/Plugin-Tests) for that platform. This can also include native-language-specific analysis or lint checks.
+- **`analyze`**: The initial `analyze` step is a straightforward Dart `analyze` run, but the `pathified_analyze` step is more complicated; it is intended to find issues that will cause out-of-band breakage in our own repository when the change being tested is published (most commonly with federated plugins). It does this by finding all packages that have non-breaking-version changes in the PR, and then rewriting all references to those packages in the repository to be `path:` dependencies, then re-running analysis.
+
+ A failure here does not necessarily mean that the PR is wrong; because we use very strict analysis options, changes that are not considered breaking by Dart semver conventions can break our CI. Common sources of failures here include:
+ - Accidentally making a breaking change without making a major version change to the plugin.
+ - **Solution**: Fix the versioning.
+ - Deprecating something that is still in use by another package within the repository.
+ - **Solution**: Suppress the warnings with `// ignore: deprecated_member_use` annotations in the other packages using that method, [with a comment](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#comment-all--ignores) linking to the issue that tracks updating it. Once it lands, do a follow-up PR to update the calls and remove the `ignore`s.
+ - Adding a new enum value. We generally do not consider this breaking, but use your judgement and discuss with your reviewer; consider whether it is likely that clients have critical logic that depends on exhaustively handling all enum values, and what the effects are likely to be for those use cases if a new value is added.
+ - **Solution**: If it's not treated as breaking, then temporary disable that analyzer warning while adding the value:
+ * In the PR that adds the value, suppress the warnings with `// ignore: exhaustive_cases` annotations, [with a comment](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#comment-all--ignores) linking to the issue that tracks updating it.
+ * In the follow-up PR that picks up the new enum value and uses it, remove the `ignore`.
+- **`legacy_version_analyze`**: Runs `analyze` with older versions of Flutter than the current `stable` on any package that claims to support them; see [the supported version policy](https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#supported-flutter-versions) for details.
+ - **Solution**: Unless you have a specific need to keep support for the old version (unlikely), just update the Flutter constraint in `pubspec.yaml` to exclude the failing version(s) of Flutter.
+- **`analyze_downgraded`**: Runs `analyze` after running a `pub downgrade`, to ensure that minimum constraints are correct (e.g., that you don't add usage of an API from version `x.1` of a dependency that is specified as `^x.0` in `pubspec.yaml`).
+ - **Solution**: Update the relevant constraint to the version that introduced the new APIs.
+- **`*_build_all_packages`**: Builds all packages into the same application, to ensure that there are no conflicts between dependencies, as we generally want clients to be able to use the latest versions of any of our packages in the same project.
+ - **Solutions**:
+ - If possible, fix the conflict. E.g., if you update a dependency of one package to a new major version, do the same in other packages using that same dependency.
+ - Otherwise, temporarily add the necessary package(s) to the `exclude_all_packages_app.yaml` exclusion file (see discussion of exclusion files above).
+- **`repo_checks`**: Enforces various best practices (formatting, style, common mistakes, etc.). In most cases, the error messages should give clear and actionable explanations of what is wrong and how to fix it. Some general notes on specific steps:
+ - **`license_script`**: All code files must have the repository copyright/license block at the top. In most cases a failure here just means you forgot to add the license to a new file.
+ - **`federated_safety_script`**: Changing interdependent sub-packages of a federated plugin in the same PR can mask serious issues, such as undesired breaking changes in platform APIs. See the documentation on [changing federated plugins](https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#changing-federated-plugins) for next steps.
+
+# Out-of-band failures
+
+The flutter/packages repository is more prone to out-of-band failures—persistent failures that do not originate with a PR within the repository—than flutter/engine and flutter/flutter. These are more difficult to debug than most failures since the source may not be obvious, and can be difficult to resolve since there's not necessarily anything that can be reverted to fix them. This page collects information on sources of these failures to help debug and resolve them.
+
+This section doesn't cover flakes. While these failures are easily confused with flakes at first, they can be distinguished by being persistent across retries, as well as showing up in in-progress PRs.
+
+## Infrastructure
+
+This category covers anything that is a function of the CI infrastructure itself: services, machines, etc. It occurs across all repositories, but instances may be specific to one repository.
+
+### LUCI
+
+LUCI tasks are run on Flutter-infrastructure-managed VMs, using an [out-of-repo recipe](https://flutter.googlesource.com/recipes/+/main/recipes/packages/packages.py). Since LUCI images are changed by infrastructure team rollouts, and recipes are out-of-repo, almost any LUCI change is out of band. Potential failure sources include:
+- Images changes.
+- Recipe changes (very uncommon now that the recipe is generic).
+
+#### Distinguishing features
+- May affect all of the LUCI tests.
+- Image changes generally result in builds not proceeding at all due to missing dependencies.
+- Recipe changes generally cause setup failures or failure to start the test.
+
+#### Distinguishing features
+- Usually easy to identify since failures are generally before the tests even run.
+
+#### Investigation & resolution tips
+- File an [infrastructure ticket](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue).
+- Check the recipe file for recent changes.
+
+### Firebase Test Lab (Also known as: "FTL")
+
+Integration tests on Android are run in real devices through the Firebase Test Lab infrastructure by [the `firebase-test-lab` command in the repository tooling](https://github.com/flutter/packages/blob/main/script/tool/lib/src/firebase_test_lab_command.dart). From time to time, the Firebase Test Lab will change what devices are available for testing, and tests will start timing out.
+
+#### Distinguishing features
+- `firebase_test_lab` task starts timing out. The output is normally just: `Timed out!` ([Example](https://github.com/flutter/plugins/runs/3930255308).)
+ - These timeouts will start as "flake" tests, and get progressively worse, until no amount of "retries" helps them pass (as devices are phased out / less available).
+ - `firebase_test_lab` timing out is almost always related to this. Either because of devices becoming unavailable, or by a temporary lack of resource availability.
+
+#### Investigation & resolution tips
+- Check the [Deprecation List](https://firebase.google.com/docs/test-lab/android/available-testing-devices#deprecated_devices) in the Firebase documentation, and see if it affects any of the devices [used by the script](https://github.com/flutter/packages/blob/1598ccd896653cbe40b7401fb0eafd890e784b39/.ci/targets/android_device_tests.yaml#L14).
+- Pick another device that is more available and update the script. See a [sample PR](https://github.com/flutter/plugins/pull/4436).
+ - It is likely that `flutter/engine` and `flutter/flutter` have had the same problem. Use the same devices picked by them.
+
+## Publishing
+
+There are some interdependencies between packages in the repository (notably federated plugins, but a few other cases as well, such as examples of one package that depend on another package). Inter-package dependencies are only tested with published versions ([#52115](https://github.com/flutter/flutter/issues/52115)), so publishing a package can potentially break other packages.
+
+#### Distinguishing features
+- Timing will correspond to a package being published. (With autorelease, this will be shortly after the version-updating PR lands, unless something goes wrong.)
+- May have a clear reference to the published package in the failure.
+ - This is not guaranteed; e.g., Android plugin Gradle changes can have transitive effects on example apps that depend on those packages.
+
+#### Investigation & resolution tips
+- Pinning a specific dependency version can confirm or eliminate this as a source of errors.
+ - This should generally **not** be used as a mitigation; this category of error is often a failure that will affect clients of the package as well.
+
+## External build dependencies
+
+On platforms where the plugin system includes a dependency management system, there are build-time dependencies on external servers (e.g., Maven for Android, Cocoapods for iOS and macOS). Potential failure sources include:
+- Temporary server outages.
+- Removal of a package.
+
+#### Distinguishing features
+- The logs will be very clear that fetching a dependency failed.
+ - The only challenge in identifying them quickly is that they look the same as transient server or network issue flakes, which are much more common.
+
+#### Investigation & resolution tips
+- Check for reports of outages on the relevant servers.
+- Check whether the entire server is failing, or only fetching a specific package is failing.
+- Server-level outages are usually short-lived and just have to be waited out; i.e., they are persistent for a matter of hours before the server issue is resolved.
+- Package issues may require repository changes. E.g., for Maven, switching to another server that has the package, or to another version of the package that is still available.
+
+## `pub`
+
+The `publish` command periodically enables new checks. Rarely, such a check will be enabled after presubmits for a PR have run, but before it's submitted.
+
+#### Distinguishing features
+- Either the `publish` validation step or the `release` step will fail with a clear error message from the `publish` command.
+
+#### Investigation & resolution tips
+- These are usually straightforward to resolve by fixing the newly-flagged issue.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Understanding-a-LUCI-build-failure.md b/docs/unsorted_wiki/Understanding-a-LUCI-build-failure.md
new file mode 100644
index 0000000..bca6f9f
--- /dev/null
+++ b/docs/unsorted_wiki/Understanding-a-LUCI-build-failure.md
@@ -0,0 +1,49 @@
+Most tests have been running in Flutter CI [LUCI](https://github.com/flutter/flutter/tree/master/dev/bots#luci-layered-universal-continuous-integration) for multiple flutter repositories, including [post-submit framework](https://flutter-dashboard.appspot.com/#/build), [pre-submit framework](https://ci.chromium.org/p/flutter/g/framework-try/builders), etc. This page uses framework as an example, and talks about what to do when a LUCI build failure happens.
+
+## Build dashboards
+* [Flutter build dashboard](https://flutter-dashboard.appspot.com/#/build)
+* [LUCI Milo dashboard](https://ci.chromium.org/p/flutter)
+## Infra Failure
+An infra failure comes with network connection issues, hardware outage, recipe breakage, cipd dependency issues, etc. It shows up as a purple box in the dashboards:
+
+* Framework post-submit build dashboard: [[/images/luci_post_submit_infra_failure.png|alt="two green squares, a red square, and three green squares"]]
+* Framework pre-submit build console: [[/images/luci_pre_submit_infra_failure.png|alt="two green rectangles, a red rectangle, and two more green rectangles"]]
+
+### Overview of an infra failure build
+An example build: [Linux color_filter_and_fade_perf__e2e_summary](https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20color_filter_and_fade_perf__e2e_summary/1563/overview)
+
+<img src="https://raw.githubusercontent.com/wiki/flutter/flutter/images/luci_infra_failure_overview.png" align="center" height="450" width="800"/>
+
+* (i) Link to the historical build list of this builder
+* (ii) A quick glimpse of the infra failure
+* (iii) The step list of this builder, defined by the recipe on the right
+* (iv) The real failed step causing the build failure
+* (v) Check `stdout` for detailed log
+### What to do
+1. Check if the infra failure has happened on earlier builds by clicking (i)
+2. Check if issue already exists in the [infra bug pool](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22team%3A+infra%22)
+3. If not, file [an infra bug](https://github.com/flutter/flutter/issues/new?assignees=&labels=team%3A+infra&template=6_infrastructure.md&title=)
+4. If this is a blocking failure, please add Projects [`Infra Ticket Queue`](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue). The infra gardener will scan through the queue frequently.
+5. If you want to get an immediate help, please ask in the discord `hackers-infra` channel
+6. If this is an infra flake, and a retry is needed
+ * For pre-submit test, click `Re-run` in the [check run page](https://github.com/flutter/flutter/pull/83894/checks?check_run_id=2738146673). [[/images/luci_pre_submit_rerun.png|alt=""]]
+ * Limited to `flutter-hackers` group.
+ * Ask a team member to re-run in [[Chat]] channel `#hackers-infra` if you don't have access.
+ * For post-submit test, login to [framework build dashboard](https://flutter-dashboard.appspot.com/#/build), click the task box, and click `RERUN`. [[/images/luci_post_submit_rerun.png|alt=""]]
+ * Limited to Googlers currently due to some technical limitations of our infrastructure.
+ * Ask a Googler to re-run in [[Chat]] channel `#hackers-infra`.
+
+## Test Failure
+A test failure shows up as a red box in the dashboards:
+
+* Framework post-submit build dashboard: [[/images/luci_post_submit_test_failure.png|alt="three green squares, a purple square, and four green squares"]]
+* Framework pre-submit build console: [[/images/luci_pre_submit_test_failure.png|alt="three green squares, a purple square, and four green squares"]]
+### Overview of a test failure build
+Please refer to the above example of the infra failure.
+### What to do
+1. Check if it happens in earlier builds/commits via (i)
+2. Debug based on the error message (ii) and detailed log (v) to see if a real test failure caused by code changes.
+3. Check if the issue already exists in the [issues list](https://github.com/flutter/flutter/issues)
+4. Check if a flaky bug has been filed in [the flaky issues list](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22c%3A+flake%22)
+5. File a new bug if needed
+6. If a rerun is needed, please refer to step 6 in the above infra failure session.
diff --git a/docs/unsorted_wiki/Updating-Material-Design-Fonts-&-Icons.md b/docs/unsorted_wiki/Updating-Material-Design-Fonts-&-Icons.md
new file mode 100644
index 0000000..660ec5b
--- /dev/null
+++ b/docs/unsorted_wiki/Updating-Material-Design-Fonts-&-Icons.md
@@ -0,0 +1,5 @@
+The process to update the framework's Material fonts (currently, Roboto) and [icons](https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/icons.dart) has been largely simplified and automated. See [go/effortless-flutter-font-updates](http://go/effortless-flutter-font-updates) (Google-only, sorry). The steps used prior to automation are available in this page's history.
+
+If you notice an issue with fonts or icons (e.g. a missing icon), please file an [issue](https://github.com/flutter/flutter/issues/new/choose). Consider starting the issue title with `[Fonts]` or `[Icons]` to make it stand out.
+
+_(This page is referenced by comments in the Flutter codebase.)_
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Updating-Packages-repo-for-a-stable-release.md b/docs/unsorted_wiki/Updating-Packages-repo-for-a-stable-release.md
new file mode 100644
index 0000000..aa02684
--- /dev/null
+++ b/docs/unsorted_wiki/Updating-Packages-repo-for-a-stable-release.md
@@ -0,0 +1,27 @@
+This page describes the process of updating flutter/packages after a stable Flutter release. Hotfix releases don't require any changes, since the auto-roller will update the [pinned stable version](https://github.com/flutter/packages/blob/main/.ci/flutter_stable.version), but full stable releases (roughly once per quarter) require manual updates to the repository:
+* [The stable pin](https://github.com/flutter/packages/blob/main/.ci/flutter_stable.version) needs to be updated. The autoroller will open a PR, but because it includes a separate commit for every Flutter commit since the last stable, it will overwhelm the CLA check and it will fail. Either the CLA check can be overridden (which is safe since the source repo enforces the CLA), or a new manual PR can be made that updates the hash.
+* The [Flutter Dart version mapping](https://github.com/flutter/packages/blob/b4985e25fe0763ece3cfd7af58e0e8c9b9f04fc4/script/tool/lib/src/common/core.dart#L59-L71) needs to be updated. The [Flutter SDK releases page](https://docs.flutter.dev/release/archive) is a useful reference.
+ * In addition to adding the new release, add the last bugfix version of the previous stable, for the next step.
+* The [N-1 and N-2 legacy analysis tests](https://github.com/flutter/packages/blob/b4985e25fe0763ece3cfd7af58e0e8c9b9f04fc4/.ci.yaml#L223-L237) need to be updated. We generally use the latest bugfix versions for these tests.
+* The [minimum allowed Flutter version](https://github.com/flutter/packages/blob/b4985e25fe0763ece3cfd7af58e0e8c9b9f04fc4/.ci/targets/repo_checks.yaml#L19) for the repo needs to be updated to the N-2 version. (We generally use .0 here, not the latest hotfix, under the assumption that there are not going to be analysis-breaking changes in a hotfix.)
+ * This should ideally be done in the same PR as the previous step, since that is the point at which we no longer have any coverage of the previous minimum version.
+* All packages need to be updated to that minimum version. This can be trivially done with the repo tooling. E.g.:
+
+ `dart run script/tool/bin/flutter_plugin_tools.dart update-min-sdk --flutter-min=3.7.0`
+
+ * Per [repo policy](https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#version), we do not version-bump these changes, so the associated `update-release-info` command should use `--version=next`. A convenient way to run the `update-release-info` command on only the necessary packages is to make the `update-min-sdk` run its own commit, then use `--base-branch HEAD^ --run-on-changed-packages` to target only the packages changed in that commit.
+ * This must be done in the same PR as the previous step, or CI will fail.
+* The [release action](https://github.com/flutter/packages/blob/e7d812cefce083fa09762d25cd42303737d05b9f/.github/workflows/release.yml#L34) should be updated to use the new stable.
+
+Many of these steps can be done separately, but they can also be done in combined PRs (as few as one). As an example, 3.13 was done in two PRs: [#4370](https://github.com/flutter/packages/pull/4730) and [#4371](https://github.com/flutter/packages/pull/4731).
+
+### Issue Updates
+
+Sweep all [`p: waiting for stable update` issues](https://github.com/flutter/flutter/labels/p%3A%20waiting%20for%20stable%20update), and update those that are now unblocked to indicate that they can now be addressed (removing the label).
+
+For any that are about deprecated API usage, upgrade them to `P1`, and either find an owner for them or remove the owning team's `triaged-*` label, leaving a comment that the deprecated API usage needs to be removed ASAP to minimize future disruption to package clients.
+ * The motivation for treating these as P1 is that many clients do not update their packages (in particular, their transitive dependencies) frequently, so the further in advance of the eventual API *removal* the publishing of an update is, the fewer clients will have build errors on future updates of Flutter.
+
+### PR Updates
+
+Similarly sweep all [`p: waiting for stable update` PRs](https://github.com/flutter/packages/labels/waiting%20for%20stable%20update) and comment and remove labels as necessary.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Updating-dependencies-in-Flutter.md b/docs/unsorted_wiki/Updating-dependencies-in-Flutter.md
new file mode 100644
index 0000000..db94995
--- /dev/null
+++ b/docs/unsorted_wiki/Updating-dependencies-in-Flutter.md
@@ -0,0 +1,21 @@
+Instead of manually updating dependencies in a `pubspec.yaml` file, use the [`update-packages`](packages/flutter_tools/lib/src/commands/update_packages.dart) CLI tool:
+
+## To update all dependencies:
+
+`flutter update-packages --force-upgrade`
+
+## To pin a dependency:
+
+Sometimes you need to prevent a dependency from being updated when you run `flutter update-packages --force-upgrade`.
+
+In that case, first pin the dependency in [`kManuallyPinnedDependencies`](https://github.com/flutter/flutter/blob/5bd34ef541575eddae6aaa82fc76a59ae7e464c3/packages/flutter_tools/lib/src/update_packages_pins.dart#L17) and a include a comment with a link to an issue to unpin the dependency.
+
+You can then re-run `flutter update-packages --force-upgrade`.
+
+## To update a single dependency for cherrypicks:
+
+Sometimes you need to update a single dependency as a [cherrypick to a release candidate branch](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process).
+
+In that case, you can run:
+
+`flutter update-packages --cherry-pick-package=[pub package name] --cherry-pick-version='[pub package version]'`
diff --git "a/docs/unsorted_wiki/Upgrading-Engine\047s-Android-API-version.md" "b/docs/unsorted_wiki/Upgrading-Engine\047s-Android-API-version.md"
new file mode 100644
index 0000000..4d2e7c2
--- /dev/null
+++ "b/docs/unsorted_wiki/Upgrading-Engine\047s-Android-API-version.md"
@@ -0,0 +1,42 @@
+When new Android versions become available, the following steps should be taken in order to fully support the new API version in the Flutter Engine. These steps only change the Engine to build against and target the new API and does not guarantee everything works with the changes in the new android API.
+
+## Buildroot:
+
+build/config/android/config.gni: Edit default_android_sdk_version and default_android_sdk_build_tools_version
+
+## SDK and other dependencies:
+
+Flutter now includes a script to download, package, and upload the Android SDK to CIPD. These CIPD packages are then used as dependencies by the Flutter engine and recipes so that there is a stable archived version of the Android SDK to depend on. The script is located in the Flutter engine repo under `tools/android-sdk/create_cipd_packages.sh`.
+
+Edit `tools/android-sdk/packages.txt` to refer to the updated versions you want. The format for each line in packages.txt is `<package_name>:<subdirectory_to_upload>`. Typically, each <package_name> should be updated to the latest available version which can be found with the `sdkmanager --list --include_obsolete`. `sdkmanager` can be found in your `commandline-tools` package of the android sdk.
+
+The script must be run on a Linux or Mac host. Run:
+
+ `$ ./tools/android-sdk/create_cipd_packages.sh <new_version_tag> <path_to_your_local_android_sdk>`
+
+This script will download and re-upload the entire SDK, so it may take a long time to complete. `cmdline-tools` should be installed in your local sdk as the script uses `sdkmanager`. Once the CIPD packages are finished uploading, you can update the sdk version tag used in `.ci.yaml`, `DEPS`, and elsewhere.
+
+It is no longer recommended to upload CIPD android sdk packages manually, but if it must be done, run the following commands to zip and upload each package to CIPD:
+
+ `$ cipd create -in <your-android-dir>/Android/sdk/<some_package> -name flutter/android/sdk/<some_package> -tag version:<new-version-tag>`
+
+Typically, `<your-android-dir>` is in your home directory under `~/Library/Android`. The `<new-version-tag>` is what you will use to specify the new package you uploaded in the Flutter engine DEPS file.
+
+## Engine:
+
+* DEPS: Roll buildroot hash
+* DEPS: Change the version parameter under `flutter/android/sdk/all/${{platform}}` to the newly uploaded CIPD version tag. Eg, `'version': 'version:30r2'`
+* Change any references to the old SDK version to the latest in build.gradle across the repo.
+* In `tools/javadoc/gen_javadoc.py`, bump the reference to `android-XX` in `classpath` to the latest version.
+* In `tools/cipd/android_embedding_bundle/build.gradle`, bump `compileSdkVersion XX` to the latest version.
+* In `shell/platform/android/test_runner/build.gradle`, bump `compileSdkVersion XX` to the latest version.
+* In all android projects in `testing`, upgrade the `compileSdkVersion` and `targetSdkVersion` in `android/app/build.gradle`.
+
+## Flutter LUCI Recipes:
+
+Scenario tests recipes/engine/scenarios.py: Update the CIPD hash to the latest version that contains the configuration for the Android Virtual Device (AVD) desired `generic_android<API#>.textpb` and change the script to use the new textpb config and change the API number in the logs. The CIPD package for the AVD launcher can be found at https://chrome-infra-packages.appspot.com/p/chromium/tools/android/avd/+/ and updating the packages uploaded there is tracked in https://bugs.chromium.org/p/chromium/issues/detail?id=1112429#c7
+
+## Framework, examples and samples
+
+* Templates in tooling: Change `targetSdkVersion` in various `build.gradle.tmpl` files to use the new API version
+* Examples, samples, gallery, etc: Change `targetSdkVersion` in `android/app/build.gradle` for each project to the new API version.
diff --git a/docs/unsorted_wiki/Upgrading-Flutter-projects-from-using-PlatformMessages-to-using-channels.md b/docs/unsorted_wiki/Upgrading-Flutter-projects-from-using-PlatformMessages-to-using-channels.md
new file mode 100644
index 0000000..df9eba3
--- /dev/null
+++ b/docs/unsorted_wiki/Upgrading-Flutter-projects-from-using-PlatformMessages-to-using-channels.md
@@ -0,0 +1,158 @@
+(This wiki page applies to people migrating code written before March 2017. It is unlikely to still be relevant.)
+
+# Introduction
+Prior to pull requests [flutter/flutter#8837](https://github.com/flutter/flutter/pull/8837) and [flutter/engine#3482](https://github.com/flutter/engine/pull/3482), both merged on March 17 2017, communication between Flutter app components written in Dart and host platform app components written for Android or iOS was accomplished by sending and receiving string/JSON messages using methods defined in the following types:
+
+* `PlatformMessages` (Dart)
+* `FlutterView` (Android)
+* `FlutterViewController` (iOS)
+
+These methods have been removed, leaving only methods for sending unencoded binary messages. A new channel concept has been introduced in their place:
+
+* [`PlatformMessageChannel`](https://docs.flutter.io/flutter/services/PlatformMessageChannel-class.html), [`PlatformMethodChannel`](https://docs.flutter.io/flutter/services/PlatformMethodChannel-class.html) (Dart)
+* `FlutterMessageChannel`, `FlutterMethodChannel` (Android, iOS)
+
+The main goals of the new API are to achieve
+
+* higher-level communication: asynchronous method calls and event streams
+* less boilerplate and redundancy
+* a more symmetric API across Dart, Android, and iOS
+
+The following sections detail how to port code written against the old API.
+
+# Flutter side
+
+With the new API you define in one place the name and type of the channel you need:
+
+ var fooChannel = new PlatformMessageChannel<String>('foo', const StringCodec());
+ var barChannel = new PlatformMethodChannel('bar', const JSONMethodCodec());
+
+There are four codecs to choose from: binary, string, JSON, and standard. The standard codec employs efficient binary serialization of JSON-like values, supporting also buffers as leaf values (e.g. Dart `TypedData`, Java primitive arrays, Cocoa `NSData`).
+
+Once you have a channel, you can use it in multiple places without repeating the information needed for its creation.
+
+## Sending messages to platform
+
+Replace code like this
+
+ String reply = await PlatformMessages.sendString('foo', myString);
+
+with code like this
+
+ String reply = await fooChannel.send(myString);
+
+## Receiving messages from platform
+
+Replace code like this
+
+ PlatformMessages.setStringMessageHandler('foo', (String message) async {
+ // do something, then
+ return reply;
+ });
+
+with code like this
+
+ fooChannel.setMessageHandler((String message) async {
+ // do something, then
+ return reply;
+ });
+
+## Invoking platform methods
+
+Replace code like this
+
+ var arguments = { 'argA': 'hello', 'argB': 42 };
+ var message = {
+ 'method': 'someMethod',
+ 'args': <Map<String, dynamic>>[arguments],
+ };
+ dynamic reply = await PlatformMessages.sendJSON('bar', message);
+ // what about errors?
+
+or this
+
+ var arguments = { 'argA': 'hello', 'argB': 42 };
+ dynamic reply = await PlatformMessages.invokeMethod(
+ 'bar',
+ 'someMethod',
+ <Map<String, dynamic>>[arguments],
+ );
+ // what about errors?
+
+with code like this
+
+ try {
+ dynamic result = await barChannel.invokeMethod(
+ 'someMethod',
+ { 'argA': 'hello', 'argB': 42 },
+ );
+ // use result
+ } on PlatformException catch(e) {
+ // handle error
+ }
+
+## Receiving method calls from platform code
+
+Replace code like this
+
+ PlatformMessages.setJSONMessageHandler('bar', (dynamic methodCall) async {
+ String method = methodCall['method'];
+ List arguments = methodCall['args'];
+ // handle call then
+ return result;
+ // but what about errors?
+ });
+
+with code like this
+
+ barChannel.setMethodCallHandler((MethodCall call) async {
+ String method = call.method;
+ dynamic arguments = call.arguments;
+ // handle call then
+ return result;
+ // or
+ throw new PlatformException(errorCode, anErrorMessage, someDetails);
+ });
+
+See [platform_channel](https://github.com/flutter/flutter/blob/master/examples/platform_channel/lib/main.dart) for an example.
+
+## Android side
+
+Similar to Flutter side, using `FlutterMessageChannel` and `FlutterMethodChannel` from `io.flutter.plugin.common`.
+
+ FlutterView view = ...
+ FlutterMessageChannel<String> fooChannel =
+ new FlutterMessageChannel<>(view, "foo", StringCodec.INSTANCE);
+
+ fooChannel.send(myString);
+
+ // or if you need to handle a reply:
+
+ fooChannel.send(myString, new ReplyHandler<String>() {
+ public void onReply(String reply) {
+ // do something with reply
+ }
+ });
+
+[API documentation](https://docs.flutter.io/javadoc/). See [platform_channel](https://github.com/flutter/flutter/blob/master/examples/platform_channel/android/app/src/main/java/com/example/platformchannel/MainActivity.java) for another example.
+
+## iOS side
+
+Similar to Flutter side, using `FlutterMessageChannel` and `FlutterMethodChannel` from `FlutterChannels.h`.
+
+ FlutterViewController controller = ...
+ FlutterMessageChannel* fooChannel =
+ [FlutterMessageChannel messageChannelWithName:@"foo"
+ binaryMessenger:controller
+ codec:[FlutterStringCodec sharedInstance]];
+
+ [fooChannel sendMessage:myString];
+
+ // or if you need to handle a reply:
+
+ [fooChannel sendMessage:myString replyHandler:^(id reply) {
+ // do something with (NSString*)reply
+ }];
+
+
+[API documentation](https://github.com/flutter/engine/blob/master/shell/platform/darwin/ios/framework/Headers). See [platform_channel](https://github.com/flutter/flutter/blob/master/examples/platform_channel/ios/Runner/AppDelegate.m) for another example.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Upgrading-Flutter-projects-to-Gradle-4.1-and-Android-Studio-Gradle-plugin-3.0.1.md b/docs/unsorted_wiki/Upgrading-Flutter-projects-to-Gradle-4.1-and-Android-Studio-Gradle-plugin-3.0.1.md
new file mode 100644
index 0000000..22e1159
--- /dev/null
+++ b/docs/unsorted_wiki/Upgrading-Flutter-projects-to-Gradle-4.1-and-Android-Studio-Gradle-plugin-3.0.1.md
@@ -0,0 +1,136 @@
+(This wiki page applies to people migrating code written before December 2017. It is unlikely to still be relevant.)
+
+## Introduction
+
+Prior to [#13492](https://github.com/flutter/flutter/pull/13492) (merged on 2017-12-13), Flutter tooling created projects whose Android part used Gradle 3.3 and the Android Studio Gradle plugin version 2.3.3.
+
+After #13492, Flutter tooling creates projects based on Gradle 4.1 and the Android Studio Gradle plugin version 3.0.1.
+
+This page describes how you can manually upgrade your Flutter projects from the old mode to the new one. This may be needed to consume new-mode Flutter plugins.
+
+Where in doubt, please consult https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html.
+
+## Upgrading a Flutter app project
+
+1. In `android/gradle/wrapper/gradle-wrapper.properties`, replace `3.3` with `4.1` in the last line.
+1. In `android/build.gradle`, replace
+ ```gradle
+ repositories {
+ jcenter()
+ maven {
+ url "https://maven.google.com"
+ }
+ }
+ ```
+ by
+ ```gradle
+ repositories {
+ google()
+ jcenter()
+ }
+ ```
+ twice.
+
+ Also replace
+ ```gradle
+ dependencies {
+ classpath 'com.android.tools.build:gradle:2.3.3'
+ }
+ ```
+ by
+ ```gradle
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.0.1'
+ }
+ ```
+
+ Finally, replace
+ ```gradle
+ subprojects {
+ project.buildDir = "${rootProject.buildDir}/${project.name}"
+ project.evaluationDependsOn(':app')
+ }
+ ```
+ by
+ ```gradle
+ subprojects {
+ project.buildDir = "${rootProject.buildDir}/${project.name}"
+ }
+ subprojects {
+ project.evaluationDependsOn(':app')
+ }
+ ```
+ This change prevents a "Gradle build failed to produce an Android package" error message when your app
+ depends on plugins whose name comes before "app" in lexicographic order.
+1. In `android/app/build.gradle`, replace version `25` by `27` and `25.0.3` by `27.0.3` (three places total).
+
+ If you are using a version of Flutter from before [#13558](https://github.com/flutter/flutter/pull/13558),
+ add the following to the `android`,`buildTypes` section:
+
+ ```yaml
+ profile {
+ matchingFallbacks = ['debug', 'release']
+ }
+ ```
+
+ Replace configurations named `compile` by `api` (or `implementation`) and `provided` by
+ `compileOnly` in the `dependencies` section. You may also want to update dependencies with newer
+ versions as applicable. In the default project templates generated by Flutter tooling we have replaced
+ ```gradle
+ dependencies {
+ androidTestCompile 'com.android.support:support-annotations:25.4.0'
+ androidTestCompile 'com.android.support.test:runner:0.5'
+ androidTestCompile 'com.android.support.test:rules:0.5'
+ }
+ ```
+ by
+ ```gradle
+ dependencies {
+ testImplementation 'junit:junit:4.12'
+ androidTestImplementation 'com.android.support.test:runner:1.0.1'
+ androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
+ }
+ ```
+ loosely following the lead of Android Studio.
+
+## Upgrading a Flutter plugin project
+
+1. Upgrade the `example/` Flutter app project as indicated above.
+1. Remove the Gradle wrapper files and folder (`gradlew`, `gradlew.bat`, `gradle/`) from the top-level
+ `android` folder, if present. The Gradle wrapper is used by the `example` app only, and it should
+ already contain these files.
+1. In `android/build.gradle`, replace
+ ```gradle
+ repositories {
+ jcenter()
+ maven {
+ url "https://maven.google.com"
+ }
+ }
+ ```
+ by
+ ```gradle
+ repositories {
+ google()
+ jcenter()
+ }
+ ```
+ twice.
+
+ Also replace
+ ```gradle
+ dependencies {
+ classpath 'com.android.tools.build:gradle:2.3.3'
+ }
+ ```
+ by
+ ```gradle
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.0.1'
+ }
+ ```
+
+ Replace version `25` by `27` and `25.0.3` by `27.0.3`.
+
+ Lastly, replace configurations named `compile` by `api` (or `implementation`) and `provided` by `compileOnly`
+ in any custom `dependencies` section.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Upgrading-Flutter-projects-to-build-with-gradle.md b/docs/unsorted_wiki/Upgrading-Flutter-projects-to-build-with-gradle.md
new file mode 100644
index 0000000..e93a789
--- /dev/null
+++ b/docs/unsorted_wiki/Upgrading-Flutter-projects-to-build-with-gradle.md
@@ -0,0 +1,97 @@
+(This wiki page applies to people migrating code written before February 2017. It is unlikely to still be relevant. The `flutter` tool directs people to this page when a non-Gradle project is detected.)
+
+## Introduction
+
+Prior to [Pull Request 7902](https://github.com/flutter/flutter/pull/7902) -- which was merged to master on February 6th 2017 -- we used a custom build process when building for Android. We now build for Android using the same standard 'gradle-based' build process that Android Studio project uses. This makes it easier to edit the native Android code; after the upgrade you can open the `android` folder in Android Studio, and it will know how to build the project, and will allow you to add java code.
+
+If you have a project that was created prior to this date, please follow these steps to switch to building with gradle. This is required as we will be removing the custom build support shortly.
+
+*Note*: These steps apply to projects created with `flutter create` prior to February 6th 2017. If your project was based on a copy of `/examples/hello_services/`, then you just need to synchronize the contents of [`/android/build.gradle`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/templates/create/android.tmpl/build.gradle) and [`/android/app/build.gradle`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/templates/create/android.tmpl/app/build.gradle).
+
+## Upgrading an existing project
+
+The steps below use `<existing-app-dir>` as a placeholder for the directory containing your existing app, e.g. `~/dev/flutter/awesomeapp`.
+
+### Step 0: Ensure flutter is up to date
+
+Make sure you flutter SDK is up to date. You need a recent (March 1st, 2017 later) SDK from the master branch of https://github.com/flutter/flutter.
+
+You can upgrade by running `flutter upgrade` in a terminal.
+
+### Step 1: Create a new project with the new template
+
+```
+flutter create <appname>
+mv <appname>/lib <appname>/lib.template
+```
+
+### Step 2: Merge over your Flutter UI code
+
+Main Dart UI code:
+```
+cp -r <existing-app-dir>/lib <appname>/
+```
+
+If `<existing-app-dir>/assets` exists:
+```
+cp -r <existing-app-dir>/assets <appname>/
+```
+
+
+
+### Step 3: Synchronize AndroidManifest.xml
+
+**Note:** This step is only required if you made any changes to<br>`<existing-app-dir>android/AndroidManifest.xml`
+
+If that is the case, apply those changes to the new manifest,<br> `<appname>/android/app/src/main/AndroidManifest.xml`
+
+### Step 4: Synchronize pubspec.yaml
+
+**Note:** This step is only required if you made any changes to<br>`<existing-app-dir>/pubspec.yaml`
+
+If that is the case, apply those changes to the new manifest,<br>`<appname>/pubspec.yaml`
+
+### Step 5: Move icon resources, and other resources as applicable
+
+**Note:** This step is only required if your app has custom launcher icons.
+
+```
+cp -r <existing-app-dir>/android/res <appname>android/app/src/main/
+```
+
+Repeat this for any other resources you may have.
+
+### Step 6: Move over iOS code if applicable
+
+**Note:** This step is only required if your app has any custom iOS code.
+
+```
+mv <appname>/ios <appname>/ios.template
+cp -r <existing-app-dir>/ios/ <appname>
+```
+
+### Step 7: Validate you can build, and clean-up
+
+When you are done, the structure of your `android` folder should match that of a new flutter project created with `flutter create` using a recent framework.
+
+Validate that you can build for both Android and iOS. *Note*: The first build will take a little longer (as it will download and then cache a few gradle files).
+
+```
+cd <appname>
+flutter build apk
+flutter build ios
+```
+
+Finally, once you are sure everything is working as intended, consider removing the `.template` folders.
+
+## Working with the project after upgrading
+
+You can still build with `flutter build apk` and run with `flutter run`.
+
+In addition, you can edit and build from Android Studio:
+
+1. Start Android Studio
+1. Invoke File > Open...
+1. Select the `android` folder inside your <newapp> folder, and press OK
+1. Press the Run button, or use the Run > Run menu item to build and run the app
+1. Edit java code by locating the .java file in the file tree on the right hand side.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Upgrading-from-3.10.6-to-3.10.7.md b/docs/unsorted_wiki/Upgrading-from-3.10.6-to-3.10.7.md
new file mode 100644
index 0000000..20b70e6
--- /dev/null
+++ b/docs/unsorted_wiki/Upgrading-from-3.10.6-to-3.10.7.md
@@ -0,0 +1,7 @@
+Because of the serious performance regression that was introduced with iOS 16.6 ([#131319](https://github.com/flutter/flutter/issues/131319)), a one-time special hotfix was made for the older release 3.10.6 even though a newer stable release was available ([3.13.0](https://docs.flutter.dev/release/archive)). While it is recommended that most users upgrade to the newest release on their current channel via `flutter upgrade`, for users who cannot upgrade their Flutter version for other reasons, can issue the following terminal commands in their Flutter SDK checkout:
+
+```
+git fetch --tags
+git checkout 3.10.7
+flutter --version
+```
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Upgrading-pre-1.12-Android-projects.md b/docs/unsorted_wiki/Upgrading-pre-1.12-Android-projects.md
new file mode 100644
index 0000000..831ed87
--- /dev/null
+++ b/docs/unsorted_wiki/Upgrading-pre-1.12-Android-projects.md
@@ -0,0 +1,263 @@
+_If you `flutter create`d your project prior to version 1.12, this may apply to your project_
+
+# Background
+
+In order to better support the execution environments of adding Flutter to an existing project, the old Android platform-side wrappers hosting the Flutter runtime at [`io.flutter.app.FlutterActivity`](https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/app/FlutterActivity.java) and their associated classes are now deprecated. New wrappers at [`io.flutter.embedding.android.FlutterActivity`](https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/embedding/android/FlutterActivity.java) and associated classes now replace them.
+
+Those classes better support real world scenarios where the FlutterActivity isn't the first and only Android Activity in an application.
+
+# Motivation
+
+Your existing full-Flutter projects aren't immediately affected and will continue to work as before for the foreseeable future.
+
+However, the new Android wrappers also introduce a new set of Android plugin development APIs. Plugins developed exclusively on the new plugins API will not work on older pre-1.12 Android projects. Building a pre-1.12 Android project that uses plugins created after 1.12 will yield a build-time error unless the plugin developer explicitly opted to create a second backward compatible implementation.
+
+Add-to-app was not officially supported on the old Android APIs. If you followed the experimental instructions in the wiki for add-to-app prior to 1.12, you should follow the migration steps under the [add-to-app section](#add-to-app-migration) below.
+
+# Full-Flutter app migration
+
+_This guide assumes you haven't manually modified your Android host project for your Flutter project. If you did, consult the add-to-app migration guide below._
+
+If you opt to migrate your standard `flutter create`d project, follow the following steps:
+
+**1a.** If you don't have any of your own added code to `android/app/src/main/java/[your/package/name]/MainActivity.java` - remove the body of your `MainActivity.java` and change the `FlutterActivity` import. The new `FlutterActivity` no longer requires manually registering your plugins. It will now perform the registration automatically when the underlaying `FlutterEngine` is created.
+
+ ```diff
+ // MainActivity.java
+ -import android.os.Bundle;
+ -import io.flutter.app.FlutterActivity;
+ +import io.flutter.embedding.android.FlutterActivity;
+ -import io.flutter.plugins.GeneratedPluginRegistrant;
+
+ public class MainActivity extends FlutterActivity {
+ - @Override
+ - protected void onCreate(Bundle savedInstanceState) {
+ - super.onCreate(savedInstanceState);
+ - GeneratedPluginRegistrant.registerWith(this);
+ - }
+ }
+ ```
+
+ ```diff
+ // MainActivity.kt
+ -import android.os.Bundle
+ -import io.flutter.app.FlutterActivity
+ +import io.flutter.embedding.android.FlutterActivity
+ -import io.flutter.plugins.GeneratedPluginRegistrant
+
+ class MainActivity: FlutterActivity() {
+ - override fun onCreate(savedInstanceState: Bundle?) {
+ - super.onCreate(savedInstanceState)
+ - GeneratedPluginRegistrant.registerWith(this)
+ - }
+ }
+ ```
+
+ Since the body of the `MainActivity` is now empty, you can also optionally delete the `MainActivity.java/kt` file if you'd like. If you do, you need to change your `AndroidManifest.xml`'s reference to `.MainActivity` to `io.flutter.embedding.android.FlutterActivity`.
+
+**1b.** If you had existing custom platform channel handling code in your `MainActivity.java`, below is an example of the change you can make to adopt the new embedding API:
+
+ ```diff
+ -import io.flutter.app.FlutterActivity;
+ -import io.flutter.plugin.common.MethodCall;
+ +import androidx.annotation.NonNull;
+ +import io.flutter.embedding.android.FlutterActivity;
+ +import io.flutter.embedding.engine.FlutterEngine;
+ import io.flutter.plugin.common.MethodChannel;
+ -import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
+ -import io.flutter.plugin.common.MethodChannel.Result;
+ +import io.flutter.plugins.GeneratedPluginRegistrant;
+
+ public class MainActivity extends FlutterActivity {
+ private static final String CHANNEL = "samples.flutter.dev/battery";
+ -
+ - @Override
+ - public void onCreate(Bundle savedInstanceState) {
+ -
+ - super.onCreate(savedInstanceState);
+ - GeneratedPluginRegistrant.registerWith(this);
+ -
+ - new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
+ - new MethodCallHandler() {
+ - @Override
+ - public void onMethodCall(MethodCall call, Result result) {
+ - // Your existing code
+ - }
+ - });
+ - }
+ +
+ + @Override
+ + public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
+ + GeneratedPluginRegistrant.registerWith(flutterEngine);
+ + new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
+ + .setMethodCallHandler(
+ + (call, result) -> {
+ + // Your existing code
+ + }
+ + );
+ + }
+ }
+ ```
+
+ In other words, move the channel registration part of the code in your `onCreate` into the `configureFlutterEngine` override of the FlutterActivity subclass and use `flutterEngine.getDartExecutor().getBinaryMessenger()` as the binary messenger rather than `getFlutterView()`.
+
+**2.** Open `android/app/src/main/AndroidManifest.xml`.
+
+**3.** Replace the reference to `FlutterApplication` in the application tag with `${applicationName}`.
+
+Previous configuration:
+```xml
+<application
+ android:name="io.flutter.app.FlutterApplication"
+ >
+ <!-- code omitted -->
+</application>
+```
+
+New configuration:
+```xml
+<application
+ android:name="${applicationName}"
+ >
+ <!-- code omitted -->
+</application>
+```
+
+**4.** Update splash screen behavior (if splash behavior is desired).
+
+Remove all `<meta-data>` tags with key `android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"`.
+
+Add a launch theme to `styles.xml` that configures the desired launch screen as a background `Drawable`:
+```xml
+<!-- You can name this style whatever you'd like -->
+<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
+ <item name="android:windowBackground">@drawable/[your_launch_drawable_here]</item>
+</style>
+```
+
+If you created your Flutter project with `flutter create` then you likely already have a `LaunchTheme` defined, along with a drawable called `launch_background`. You can re-use that configuration and adjust it as desired.
+
+Add a normal theme that to `styles.xml` that should replace the launch screen when the Android process is fully initialized:
+```xml
+<!-- You can name this style whatever you'd like -->
+<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
+ <item name="android:windowBackground">@drawable/[your_normal_background_drawable]</item>
+</style>
+```
+
+The "normal theme" draws the background behind your Flutter experience. That background is typically seen for a brief moment just before the first Flutter frame renders. The "normal theme" also controls Android's status bar and navigation bar visual properties for the duration of your Flutter experience.
+
+Configure `MainActivity` to start with your launch theme and then shift to your normal theme. Also specify that you want your launch screen to continue being displayed until Flutter renders its first frame:
+```xml
+<activity android:name=".MainActivity"
+ android:theme="@style/LaunchTheme"
+ // some code omitted
+ >
+ <!-- Specify that the launch screen should continue being displayed -->
+ <!-- until Flutter renders its first frame. -->
+ <meta-data
+ android:name="io.flutter.embedding.android.SplashScreenDrawable"
+ android:resource="@drawable/launch_background" />
+
+ <!-- Theme to apply as soon as Flutter begins rendering frames -->
+ <meta-data
+ android:name="io.flutter.embedding.android.NormalTheme"
+ android:resource="@style/NormalTheme"
+ />
+
+ <!-- some code omitted -->
+</activity>
+```
+
+
+**5.** Add a new `<meta-data>` tag under `<application>`.
+```xml
+<meta-data
+ android:name="flutterEmbedding"
+ android:value="2" />
+```
+
+Once you make this declaration in your AndroidManifest and also use plugins, the new GeneratedPluginRegistrants created by the Flutter tools during build will now be able to also use plugins that uses the new Android embedding (which registers the plugins against a `FlutterEngine` instead of a `PluginRegistry.Registrar`).
+
+Your app should still build as normal (such as via `flutter build apk`) but you're now using the new Android classes.
+
+# Add-to-app migration
+
+This section details how to take add-to-app scenarios that were built using Flutter's experimental embedding, and transition that code to Flutter's new stable embedding.
+
+## Same steps as full-Flutter
+
+Some instructions from the "Full-Flutter app migration" section above still apply. Follow the above steps for:
+
+3. Remove the reference to `FlutterApplication` from the application tag.
+5. Update splash screen behavior (if splash behavior is desired).
+6. Add a new `<meta-data>` tag under `<application>`.
+
+## Changes specific to add-to-app
+
+If you invoke `FlutterMain.startInitialization(...)` or `FlutterMain.ensureInitializationComplete(...)` anywhere in your code, you should remove those calls. Flutter now initializes itself at the appropriate time.
+
+### Migrating FlutterActivity Uses
+
+Add-to-app scenarios often involve modifications to subclasses of `FlutterActivity`. For example, such a scenario might introduce new `MethodChannel`s, a custom `FlutterEngine` instance, custom splash screen behavior, or other behaviors that require overriding existing methods. Therefore, whereas full-Flutter apps can delete their `MainActivity` and replace it with a standard `FlutterActivity`, you will need to retain your subclass so that you can keep your behavior overrides.
+
+If your add-to-app use-cases do not modify behavior within `FlutterActivity`, you should delete your subclasses and replace them with standard `FlutterActivity`s as described in the previous section.
+
+If your add-to-app use-cases do require modifying behavior within `FlutterActivity`, you need to migrate your code from the old `io.flutter.app.FlutterActivity` to the new `io.flutter.embedding.android.FlutterActivity`.
+
+From:
+```java
+package [your.package.name];
+
+import android.os.Bundle;
+import io.flutter.app.FlutterActivity;
+import io.flutter.plugins.GeneratedPluginRegistrant;
+
+public class MainActivity extends FlutterActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
+ }
+
+ // ...some amount of custom code for your app is here.
+}
+```
+
+To:
+```java
+package [your.package.name];
+
+import io.flutter.embedding.android.FlutterActivity;
+
+public class MainActivity extends FlutterActivity {
+ // You do not need to override onCreate() in order to invoke
+ // GeneratedPluginRegistrant. Flutter now does that on your behalf.
+
+ // ...retain whatever custom code you had from before (if any).
+}
+```
+
+Some apps may have required pre-warming a Flutter experience. It is now recommended that all add-to-app use-cases pre-warm Flutter experiences to achieve optimal visual performance when initially rendering a Flutter UI. Please refer to the [Use a cached FlutterEngine](https://docs.flutter.dev/development/add-to-app/android/add-flutter-screen#step-3-optional-use-a-cached-flutterengine) to update your code for pre-warming Flutter.
+
+Your `FlutterActivity` subclass is now up to date with the new, stable Android embedding.
+
+### Migrating FlutterFragment uses
+
+The experimental embedding provides a class called `io.flutter.facade.FlutterFragment`, along with other classes in the `io.flutter.facade` package. The entire `io.flutter.facade` package is deprecated and you should not use any classes in that package.
+
+The experimental `io.flutter.facade.FlutterFragment` has been replaced by `io.flutter.embedding.android.FlutterFragment`, which was designed for a much broader set of use-cases than the original `FlutterFragment`.
+
+If you are instantiating a `io.flutter.facade.FlutterFragment` via `Flutter.createFragment(...)`, you should delete any such calls and instantiate the new `io.flutter.embedding.android.FlutterFragment` via one of the following factory methods:
+
+ * `FlutterFragment.createDefault()`
+ * `FlutterFragment.withNewEngine()`
+ * `FlutterFragment.withCachedEngine(...)`
+
+The use of these factory methods are discussed in depth in website guides at http://flutter.dev.
+
+### Migrating FlutterView uses
+
+The deprecated `io.flutter.facade.Flutter` class has a factory method called `createView(...)`. This method is deprecated, along with all other code in the `io.flutter.facade` package.
+
+Flutter does not currently provide convenient APIs for utilizing Flutter at the `View` level, so the use of a `FlutterView` should be avoided, if possible. However, it is technically feasible to display a `FlutterView`, if required. Be sure to use `io.flutter.embedding.android.FlutterView` instead of `io.flutter.view.FlutterView`. You can instantiate the new `FlutterView` just like any other Android `View`. Then, follow instructions in the associated Javadocs to display Flutter via a `FlutterView`.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/User-documentation-index.md b/docs/unsorted_wiki/User-documentation-index.md
new file mode 100644
index 0000000..d1c5c04
--- /dev/null
+++ b/docs/unsorted_wiki/User-documentation-index.md
@@ -0,0 +1,88 @@
+<!-- Don't add user documentation to the wiki. User documentation belongs on the web site. -->
+<!-- We only have these pages for historical reasons. -->
+
+Flutter's user-facing documentation should all be on the Flutter web site and the API documentation site:
+
+- https://docs.flutter.dev/
+ - [Release notes](https://flutter.dev/docs/development/tools/sdk/release-notes)
+- https://api.flutter.dev/
+
+Historically, experimental documentation was sometimes first written on this wiki and later moved to the web site. This is
+now discouraged but some of the content created in this way still exists and is listed below.
+
+_Contributors: please consider moving this content to the web site or deleting it if it is no longer applicable!_
+
+## Old documentation
+
+## General
+
+<!-- don't add things here; if you have a new feature, it should be documented on the web site not the wiki -->
+- [Apple Silicon support](https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon)
+- [[Bad Builds]]
+- [[Binding to native code via FFI]] (moved to website)
+- [[Code generation in Flutter]]
+- [[Codelabs]]
+- [[Data-driven Fixes]]
+- [[Desktop shells]]
+- [[Deferred Components]]
+- [[Flutter CLI crash reporting]]
+- [Flutter CLI custom embedder support](https://github.com/flutter/flutter/wiki/Using-custom-embedders-with-the-Flutter-CLI)
+- [[Flutter Test Fonts]]
+- [[Game development with Flutter]]
+- [[Hybrid Composition]]
+- [[IntelliJ - Flutter Setup Tips and Tricks]]
+- [JIT release builds](https://github.com/flutter/flutter/wiki/JIT-Release-Modes)
+- [[Making animated GIFs of Flutter apps]]
+- [[Multi-device debugging in VS Code]]
+- [Null safety package migration status](https://github.com/dart-lang/sdk/wiki/Null-safety-migration-status)
+- [[Obfuscating Dart Code]]
+- [[Reduce shader compilation jank using SkSL warm up]] (moved to website)
+- [[Upgrading Flutter projects from using PlatformMessages to using channels]]
+- [[Writing Effective Tests]]
+
+### Android
+<!-- don't add things here; user documentation belongs on the web site not the wiki -->
+- [Android Fast Start](https://github.com/flutter/flutter/wiki/Fast-Start)
+- [[Android Platform Views]]
+- [[Experimental: Add Flutter Activity]] (moved to website)
+- [[Experimental: Add Flutter Fragment]]
+- [[Experimental: Add Flutter Fragment ViewPager]]
+- [[Experimental: Add Flutter View]]
+- [[Experimental: Create Flutter Plugin]] (moved to website)
+- [[Experimental: Launch Flutter with non main entrypoint]]
+- [[Experimental: Reuse FlutterEngine across screens]]
+- [[Experimental: Use old plugins with new embedding]]
+- [[How Flutter apps are compiled with Gradle for Android]]
+- [[Hybrid Composition|Hybrid Composition#Android]]
+- [Multidex](https://github.com/flutter/flutter/wiki/Android-Multidex-support)
+- [[Texture Layer Hybrid Composition]]
+- [[Upgrading Flutter projects to build with gradle]]
+- [[Upgrading Flutter projects to Gradle 4.1 and Android Studio Gradle plugin 3.0.1]]
+- [[Upgrading pre 1.12 Android projects]]
+
+### iOS
+<!-- don't add things here; user documentation belongs on the web site not the wiki -->
+- [[Creating an iOS Bitcode enabled app]]
+- [[Hybrid Composition|Hybrid Composition#iOS]]
+- [[Hybrid Composition iOS]]
+- [[PID leak in iOS development workflow]]
+- [[State of Catalina Support]] in Flutter 1.9.
+- [[Upgrading Flutter added to existing iOS Xcode project]]
+
+### Web
+<!-- don't add things here; user documentation belongs on the web site not the wiki -->
+- [[Debugging issues on the Web]]
+- [[Running Flutter Driver tests with Web]]
+- [[Upgrading from package:flutter_web to the Flutter SDK]]
+
+### Release notes
+<!-- don't add things here; user documentation belongs on the web site not the wiki -->
+- [[Hotfixes to the Stable Channel]]
+- [[Release Notes - Changes in 1.2.1]]
+- [[Release Notes - Flutter 1.2.1]]
+- [[Commits Between 1.2.1 and 1.5.4]]
+- [[Release Notes Flutter 1.5.4]]
+- [[PRs addressed between 1.5.4 and 1.7.8]]
+- [[Release Notes Flutter 1.7.8]]
+- [[PRs merged between 1.7.8 and 1.9.1]]
+- [[Release Notes Flutter 1.9.1]]
diff --git a/docs/unsorted_wiki/Using-Sanitizers-with-the-Flutter-Engine.md b/docs/unsorted_wiki/Using-Sanitizers-with-the-Flutter-Engine.md
new file mode 100644
index 0000000..9540d12d
--- /dev/null
+++ b/docs/unsorted_wiki/Using-Sanitizers-with-the-Flutter-Engine.md
@@ -0,0 +1,125 @@
+
+All Flutter Engine builds can now enable a combination of the following sanitizers. The different sanitizers are used to isolate specific classes of construction issues.
+
+* **Thread Sanitizer**: Detects data races.
+* **Address Sanitizer**: Detects memory errors like use-after-free, buffer overflows...
+* **Memory Sanitizer**: Detects reads on uninitialized memory.
+* **Undefined Behavior Sanitizer**: Detects undefined behavior.
+* **Leak Sanitizer**: Detects memory leaks.
+
+While the buildroot is wired up to attempt sanitizer enabled builds for all targets, not all target architectures, host platform and sanitizer combinations are supported. Support for each sanitizer also varies greatly with each toolchain version. For this reason, and due to general constraints in available build/test infrastructure, these sanitizers are not enabled by default on presubmits or build-bots. It is best to work backwards from a problem and choose a sanitizer that has the best shot of isolating the same.
+
+
+## General Usage Guidelines
+
+Most sanitizer enabled variants will either fail to build at all or fail when running specific unit-test targets. These failures are either because there are false positives that have not been annotated correctly or genuine issues in either the Flutter Engine or Dart VM. However, it is possible to discover further issues without fixing them all. This is done by selectively suppressing known issues. The suppressions and other sanitizer options have to be specified as environment options. These options can be specified in one shot by invoking the following in the current shell:
+
+
+```
+source ./flutter/testing/sanitizer_suppressions.sh
+```
+
+
+This should enable relevant options for all known sanitizers and also print the files containing suppressions for each sanitizer.
+
+Sample output:
+
+
+```
+Using Thread Sanitizer suppressions in ./flutter/testing/tsan_suppressions.txt
+Using Leak Sanitizer suppressions in ./flutter/testing/lsan_suppressions.txt
+```
+
+
+You can run the specific unit-test binaries in the terminal and all sanitizer options and suppressions will take hold.
+
+If an issue is raised that is not previously known, a suppression may be added and a bug filed to track the same. Instructions on how to add suppressions for the specific sanitizer are specific at the top of the relevant suppressions file.
+
+Make sure to add suppression that are as detailed as possible. Adding suppressions that are too broad may suppress errors from issues that are actually new and untracked. If you find that the issue you expect is not caught by the sanitizer, make sure to check the list of suppressions to see if any of the suppressed issues look relevant. If so, you might need to selectively disable suppressions:
+
+
+```
+-----------------------------------------------------
+Suppressions used:
+ count bytes template
+ 1 120 class_createInstance
+ 5 80 MakeSkSurfaceFromBackingStore
+ 3 128 _dispatch_once_callout
+-----------------------------------------------------
+```
+
+
+Support for sanitizer enabled builds using Goma is spotty. Disable Goma for more reliable builds till these issues are addressed.
+
+All sanitizer caught issues are tagged with the <code>[sanitizer](https://github.com/flutter/flutter/labels/sanitizer)</code> label.
+
+
+## Leak Sanitizer
+
+A tool used to detect memory leaks. Official documentation is at [https://clang.llvm.org/docs/LeakSanitizer.html](https://clang.llvm.org/docs/LeakSanitizer.html). Enable using the `--lsan` GN flag on any target. For best results, use this with unoptimized build variants. The buildroot is configured to use the ideal arguments in this mode. Full documentation on how to add suppressions to this file is at [https://github.com/google/sanitizers/wiki/AddressSanitizerLeakSanitizer#suppressions](https://github.com/google/sanitizers/wiki/AddressSanitizerLeakSanitizer#suppressions). This tool can be used either in standalone mode or in conjunction with Address Sanitizer.
+
+
+```
+$ ./flutter/tools/gn --runtime-mode debug --lsan --unoptimized --no-goma
+$ autoninja -C out/host_debug_unopt
+$ source ./flutter/testing/sanitizer_suppressions.sh
+$ ./out/host_debug_unopt/embedder_unittests
+```
+
+
+## Address Sanitizer
+
+Address sanitizer detects memory errors. Official documentation is at [https://github.com/google/sanitizers/wiki/AddressSanitizer](https://github.com/google/sanitizers/wiki/AddressSanitizer). Enable using the `--asan` flag. Enabling address sanitizer also implicitly enables
+Leak Sanitizer. The `./flutter/testing/sanitizer_suppressions.sh` script enables leak sanitization in Address Sanitizer builds.
+
+
+```
+$ ./flutter/tools/gn --runtime-mode debug --asan --unoptimized --no-goma
+$ autoninja -C out/host_debug_unopt
+$ source ./flutter/testing/sanitizer_suppressions.sh
+$ ./out/host_debug_unopt/embedder_unittests
+```
+
+
+Address sanitizer has [spotty support on aarch64](https://github.com/google/sanitizers/wiki/AddressSanitizer#introduction) targets. Use it on x64 target for best results.
+
+
+## Undefined Behavior Sanitizer
+
+Catches undefined behavior. Official documentation at [https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html). Enable using the `--ubsan` flag. The `sanitizer_suppressions.sh` file will specify a suppressions files. [Classes of errors](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#id4) can be disabled at runtime.
+
+
+```
+$ ./flutter/tools/gn --runtime-mode debug --ubsan --unoptimized --no-goma
+$ autoninja -C out/host_debug_unopt
+$ source ./flutter/testing/sanitizer_suppressions.sh
+$ ./out/host_debug_unopt/embedder_unittests
+```
+
+
+
+## Thread Sanitizer
+
+Catches data races. Official documentation at [https://clang.llvm.org/docs/ThreadSanitizer.html](https://clang.llvm.org/docs/ThreadSanitizer.html).
+
+
+```
+$ ./flutter/tools/gn --runtime-mode debug --tsan --unoptimized --no-goma
+$ autoninja -C out/host_debug_unopt
+$ source ./flutter/testing/sanitizer_suppressions.sh
+$ ./out/host_debug_unopt/embedder_unittests
+```
+
+
+
+## Memory Sanitizer
+
+Detects reads of uninitialized memory. This sanitizer is only available on Linux. Enable using the `--msan` flag.
+
+
+```
+$ ./flutter/tools/gn --runtime-mode debug --msan --unoptimized --no-goma
+$ autoninja -C out/host_debug_unopt
+$ source ./flutter/testing/sanitizer_suppressions.sh
+$ ./out/host_debug_unopt/embedder_unittests
+```
diff --git a/docs/unsorted_wiki/Using-custom-embedders-with-the-Flutter-CLI.md b/docs/unsorted_wiki/Using-custom-embedders-with-the-Flutter-CLI.md
new file mode 100644
index 0000000..55c661c
--- /dev/null
+++ b/docs/unsorted_wiki/Using-custom-embedders-with-the-Flutter-CLI.md
@@ -0,0 +1,66 @@
+## Making the Flutter CLI work with custom or third-party embedders
+
+The experimental "custom device" feature of the Flutter CLI allows you to make custom or third-party embedders such as [flutter-pi](https://github.com/ardera/flutter-pi) or the [sony embedder](https://github.com/sony/flutter-embedded-linux) work with the Flutter CLI and use features such as hot-reload, hot-restart, debugging and DevTools. Profile/release mode and plugins are not supported right now.
+
+Currently, `custom-devices` support is only available in the master channel.
+
+### Enabling custom-devices for your Flutter SDK
+
+Enabling the feature is as simple as `flutter config --enable-custom-devices`.
+
+### The custom devices config file
+
+After that, a config file will have been created. Its path should be printed out when you run `flutter custom-devices`.
+
+The config file contains all the configured custom devices. To see documentation for all the config options, open the file in VS Code. The file has a JSON schema so in any editor supporting JSON schemas (currently only VS Code) you'll get autocompletion, documentation, examples and so on.
+
+### Configuring your custom device
+
+If your device is reachable via ssh, you can add it to the config with a guided setup using `flutter custom-devices add`.
+
+The setup really is self-explanatory, but for example for my Raspberry Pi, the setup looks like this:
+```
+hannes@pop-os:~/devel$ flutter custom-devices add
+Please enter the id you want to device to have. Must contain only alphanumeric
+or underscore characters. (example: pi)
+pi
+Please enter the label of the device, which is a slightly more verbose name for
+the device. (example: Raspberry Pi)
+Raspberry Pi
+SDK name and version (example: Raspberry Pi 4 Model B+)
+Raspberry Pi 4 Model B+
+Should the device be enabled? [Y/n] (empty for default)
+
+Please enter the hostname or IPv4/v6 address of the device. (example:
+raspberrypi)
+hpi4
+Please enter the username used for ssh-ing into the remote device. (example: pi,
+empty for no username)
+
+Please enter the command executed on the remote device for starting the app.
+"/tmp/${appName}" is the path to the asset bundle. (example: flutter-pi
+/tmp/${appName})
+flutter-pi /tmp/${appName}
+Should the device use port forwarding? Using port forwarding is the default
+because it works in all cases, however if your remote device has a static IP
+address and you have a way of specifying the "--observatory-host=<ip>" engine
+option, you might prefer not using port forwarding. [Y/n] (empty for default)
+
+Enter the command executed on the remote device for taking a screenshot.
+(example: fbgrab /tmp/screenshot.png && cat /tmp/screenshot.png | base64 | tr -d
+' \n\t', empty for no screenshotting support)
+
+Would you like to add the custom device to the config now? [Y/n] (empty for
+default)
+
+Successfully added custom device to config file at
+"/home/hannes/.config/flutter/custom_devices.json".
+```
+
+If your device is a little more complicated to setup, for example if your device is the one the flutter SDK is running on, you can configure it by editing the config file directly. (As mentioned above, I heavily recommend VS Code for that)
+
+### That's it
+
+After that, the device is configured and if you run `flutter devices`, it should show your custom device there (if it is reachable).
+
+You should be able to run apps on your device using `flutter run -d devicename` or using your IDE.
diff --git "a/docs/unsorted_wiki/Using-the-Dart-Development-Service-\050DDS\051-and-Flutter-DevTools-with-a-custom-Flutter-Engine-Embedding.md" "b/docs/unsorted_wiki/Using-the-Dart-Development-Service-\050DDS\051-and-Flutter-DevTools-with-a-custom-Flutter-Engine-Embedding.md"
new file mode 100644
index 0000000..1f6177c
--- /dev/null
+++ "b/docs/unsorted_wiki/Using-the-Dart-Development-Service-\050DDS\051-and-Flutter-DevTools-with-a-custom-Flutter-Engine-Embedding.md"
@@ -0,0 +1,61 @@
+When attempting to connect to the VM service URI output by the Flutter engine in the context of a custom embedder, users may encounter the following error:
+
+`This VM does not have a registered Dart Development Service (DDS) instance and is not currently serving Dart DevTools.`
+
+This happens when a Flutter application is launched without using the `flutter` CLI tool, which typically is responsible for starting a Dart Development Service (DDS) instance. DDS is middleware for the Dart VM Service that provides additional functionality like log and event history, and can be configured to serve the DevTools developer tooling suite.
+
+Developers working on custom embeddings of the Flutter engine can start a DDS instance in one of two ways:
+
+1) Using the `dart development-service` command shipped with the Dart SDK (**recommended**).
+2) Starting a Flutter DevTools instance using the `dart devtools` shipped with the Dart SDK, providing the VM service URI as an argument (e.g., `dart devtools http://localhost:8181`).
+
+## Using `dart development-service`
+
+DDS can be started using the `dart development-service` command. As of writing, the command has the following interface allowing for configuration of the service:
+
+```
+Start Dart's development service.
+
+Usage: dart [vm-options] development-service [arguments]
+-h, --help Print this usage information.
+ --vm-service-uri=<uri> (mandatory) The VM service URI DDS will connect to.
+ --bind-address=<address> The address DDS should bind to.
+ (defaults to "localhost")
+ --bind-port=<port> The port DDS should be served on.
+ (defaults to "0")
+ --[no-]disable-service-auth-codes Disables authentication codes.
+ --[no-]serve-devtools If provided, DDS will serve DevTools. If not specified, "--devtools-server-address" is ignored.
+ --devtools-server-address Redirect to an existing DevTools server. Ignored if "--serve-devtools" is not specified.
+ --[no-]enable-service-port-fallback Bind to a random port if DDS fails to bind to the provided port.
+ --cached-user-tags A set of UserTag names used to determine which CPU samples are cached by DDS.
+ --google3-workspace-root Sets the Google3 workspace root used for google3:// URI resolution.
+
+Run "dart help" to see global options.
+```
+
+The `--vm-service-uri` option is required and specifies the URI of the Dart VM service served by the Flutter engine. If provided, the `--serve-devtools` flag will result in the DevTools instance shipped with the Dart SDK from DDS's HTTP server.
+
+Running the command will result in JSON encoded connection information being output to `stdout`:
+
+```bash
+$ dart development-service --vm-service-uri=http://127.0.0.1:59113/BBPoXnZUWFU=/ --serve-devtools
+{"state":"started","ddsUri":"http://127.0.0.1:59123/tbrR0DzW2j8=/","devToolsUri":"http://127.0.0.1:59123/tbrR0DzW2j8=/devtools?uri=ws://127.0.0.1:59123/tbrR0DzW2j8=/ws","dtd":{"uri":"ws://127.0.0.1:59122/R1LbdlhtkUygRWNA"}}
+```
+
+Once DDS has started, all VM service requests should be made through the URI provided by DDS instead of the original VM service URI. In the context of the standalone Dart VM (i.e., `dart`) and the `flutter` tool, the original VM service URI is hidden and the DDS URI is advertised as the Dart VM service URI to reduce the likelihood of developers accidentally connecting to the VM service directly. Direct connections to a VM service with an active DDS instance attached will be rejected.
+
+The DDS instance will automatically shutdown when the target application is closed, requiring no manual lifecycle management.
+
+## Using `dart devtools`
+
+Developers are also able to start DevTools using the `dart devtools` command. By providing the VM service URI as a positional parameter, the served DevTools instance will automatically connect to the provided target application. However, before connecting directly to the VM service URI, the command first checks that the provided VM service URI points to a DDS instance. If it doesn't, the command will start DDS, print the DDS URI to console, and then launch a DevTools instance that connects to the DDS instance directly instead of to the provided VM service URI.
+
+```bash
+$ dart devtools http://127.0.0.1:59251/2LS6f3Kb2JI=/
+Started the Dart Development Service (DDS) at http://127.0.0.1:59260/38XeuQpIHRE=/
+Serving DevTools at http://127.0.0.1:9101.
+
+ Hit ctrl-c to terminate the server.
+```
+
+As with the `dart development-service` command, the lifecycle of DDS is tied directly to the lifecycle of the application it's connected to. However, using the `dart devtools` command does not cause DevTools to be served by DDS, meaning that DevTools will not be available if the `dart devtools` process is killed, even though DDS will remain attached to the target application.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Using-the-Dart-analyzer.md b/docs/unsorted_wiki/Using-the-Dart-analyzer.md
new file mode 100644
index 0000000..44ac328
--- /dev/null
+++ b/docs/unsorted_wiki/Using-the-Dart-analyzer.md
@@ -0,0 +1,23 @@
+When editing Flutter code, it's important to check the code with the
+analyzer.
+
+If your IDE supports doing this automatically (e.g. using Android Studio with the Flutter plugin),
+then that is the easiest solution.
+
+Alternatively, you can use the `flutter analyze --flutter-repo` tool on the console. When using the
+console, you will want to manually run `flutter update-packages` each time you update your tree, so
+that the `pubspec.yaml` files are processed to obtain all the dependencies for every package in the
+repository. If you don't do this, you may get bogus error messages about core classes like `Offset`
+from `dart:ui`. This is because `flutter analyze` does not automatically attempt to update dependencies,
+since doing so can take a long time and is only necessary when the tree has been updated.
+
+For a one-off, use `flutter analyze --flutter-repo`.
+
+For continuous analysis, use `flutter analyze --flutter-repo --watch`.
+
+If you omit the `--flutter-repo` option you may end up in a confusing state because that will
+assume you want to check a single package and the flutter repository has several packages.
+
+You can use the `--write` argument with `--watch` to cause each update to write all the results to a file
+in ASCII. This can be used e.g. with Emacs' `compile` mode to quickly dump all the latest analysis results
+into the compilation buffer so that they are recognized as error messages that Emacs can jump to.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Values.md b/docs/unsorted_wiki/Values.md
new file mode 100644
index 0000000..a83c4d0
--- /dev/null
+++ b/docs/unsorted_wiki/Values.md
@@ -0,0 +1,95 @@
+# Flutter's core values
+
+## 🏗️ Build the best way to develop user interfaces.
+
+This tells us what we are creating. It helps narrow our focus.
+
+The best way to develop user interfaces is a _productive_ way of developing.
+
+The best way to develop user interfaces creates _beautiful_ applications.
+
+The best way to develop user interfaces creates _fast_ applications.
+
+The best way to develop user interfaces enables developers to create applications _fast_.
+
+The best way to develop user interfaces is _extensible_, so that we are not a barrier to developers.
+
+
+## 🔎 Focus on the user and all else will follow.
+
+Our user is the developer. Our developer's user is the end user of the application written with Flutter.
+
+Our first priority is to our developer's user, the end user. Our second priority is to our user, the developer.
+
+Caring about the end user means having high quality support for accessibility, top performance, stability, high fidelity and compatibility with the user's platform, supporting low-end devices, and so forth.
+
+Caring about the developer means creating a joyful and productive development experience with quick iteration cycles, creating usable, simple, reliable, predictable APIs, giving the developer full access to the underlying platform, and so forth.
+
+We respect our users, whoever they are.
+
+Another way to phrase this is "Build a thing people want".
+
+## 📖 Openness
+
+Flutter is an open source project, in the full senses of the word: we are open to ideas, we are open to contributions, our code and our roadmap are open, our priorities are open. Transparency leads to a higher quality product. While the most active part of our team is currently primarily formed of employees from Google, we are growing and welcome anyone to join the team; at this point, the majority of people with commit access are not part of Google's Flutter team. Flutter's stewardship is managed by a team at Google.
+
+
+## 💫 Maintaining quality
+
+A mediocre product cannot be the best way to develop user interfaces, so we must build processes around maintaining high levels of quality.
+
+This manifests in various ways. One is that we are feature-driven, not date-driven: we do not plan work based on deadlines. We may sometimes host events where we announce new features, but these events will announce features that have become available, rather than the features becoming available in order to be announced. This means sometimes a feature we intended to announce will slip and not be announced, but we prefer this to announcing a rushed feature.
+
+We may sometimes gate features behind flags until we are confident of their quality.
+
+
+## 🤣 Have fun doing it
+
+Last, but definitely not least, we want to make sure that our work environment is pleasant for everyone involved. Your health and the health of your family and friends is more important than Flutter. Our community [is welcoming](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md). We don't know everything; all of us can make mistakes.
+
+We want team members to feel empowered to make changes to the code and to our processes.
+
+We encourage a bias towards action. It's better to try something and be wrong, than to plan forever and never execute.
+
+# Support
+
+When we think about whether we claim to "support" something, e.g. whether Flutter supports Windows 7, we use the following frame of reference. We document [which platforms we consider to fall into each category](https://docs.flutter.dev/reference/supported-platforms) on flutter.dev.
+
+### Areas of support
+
+We distinguish several categories along which one can describe a level of support:
+
+* Supporting for deployment (we support a platform for deployment if you can run release builds of applications on that platform).
+* Supporting for _development_ (we support a platform for development if you can run debug builds of applications on that platform, connect them to a debugger, hot reload, view logs, and so forth; we support a plugin for development if it can be stepped through in a debugger).
+* Supporting for _hosting_ development (we support a platform for hosting development if it is one on which you can compile a Flutter application; we support an IDE for hosting development if it has a Flutter plugin).
+* Supporting for Flutter development (we support a platform for Flutter development if one can contribute to Flutter itself from that platform).
+
+The list of supported platforms on flutter.dev is describing the platforms supported for deployment.
+
+### Levels of support
+
+For each area, we consider the level to which we provide support:
+
+0. We will literally help you with your code if things don't work. This is very rare. (See also "[top-tier customers](https://github.com/flutter/flutter/wiki/Issue-hygiene#customers)".)
+
+1. We will make a best effort to ensure that well written code works (e.g. we have testing on that platform). This is a common level for target platforms that have reached a label of "stable" (e.g. Android, iOS) on devices that are widely available (e.g. 64bit ARM). This corresponds to the "Supported Google-tested platforms" category on the list of supported platforms.
+
+2. We will not go out of our way to prevent code from working, but if it works it's because of luck and our best intentions rather than a coordinated effort (e.g. we do no testing on that platform). This is a common level of support for less commonly-used devices. For example, we do minimal testing of 32bit iOS devices. This corresponds to the "Best effort platforms tested by the community" category on the list of supported platforms.
+
+3. We will pay no attention to whether code works, but we will accept patches that are easy to reason about. This is a common level of support for the many esoteric embedded platforms that we have no way to even manually test. For example, if you have your own SoC and are running Flutter, we want you to succeed but we don't have any way to ensure it keeps working. At this level, we would not accept what we consider "risky" PRs, or PRs that involve significant refactorings. If you are willing to provide reliable CI support for your platform, we are more than happy to work with you to move that platform to level 2 (at which point more invasive PRs become viable).
+
+4. We won't accept patches. This is the appropriate response for features and platforms that are wildly outside our roadmap. For example, maintaining a Rust port of the framework is not something the Flutter project would accept patches for. This corresponds to the "Unsupported platforms" category on the list of supported platforms.
+
+
+***
+
+💙
+
+***
+
+_See also:_
+
+* [Code of Conduct](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md)
+* [Contributor Guide](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md)
+* [Flutter's Culture of Inclusivity](https://flutter.dev/culture)
+* [Flutter culture and how to preserve it](https://medium.com/flutter/flutter-culture-and-how-to-preserve-it-436b4ed1031d)
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Virtual-Display.md b/docs/unsorted_wiki/Virtual-Display.md
new file mode 100644
index 0000000..5c0f09b
--- /dev/null
+++ b/docs/unsorted_wiki/Virtual-Display.md
@@ -0,0 +1,228 @@
+# Background
+
+Virtual Display is one of several modes for displaying platform views on Android. See [[Android Platform Views]] for an overview of modes.
+
+# The approach
+
+`AndroidView` widgets need to be composited within the Flutter UI and
+interleaved between Flutter widgets. However the entire Flutter UI is
+rendered to a single texture.
+
+In order to solve this problem, Flutter inflates and renders `AndroidView`
+widgets inside of
+[VirtualDisplays](https://developer.android.com/reference/android/hardware/display/VirtualDisplay#summary)
+instead of attempting to add it to the Android View hierarchy alongside
+Flutter's texture directly. The `VirtualDisplay` renders its output to a raw
+graphical buffer (accessed through
+[`getSurface()`](https://developer.android.com/reference/android/hardware/display/VirtualDisplay#getSurface())),
+and not to any actual real display(s) of the device. This allows Flutter to
+graphically interleave the Android View inside of its own Flutter widget tree
+by taking the texture from the `VirtualDisplay` output and treating it as a
+texture associated with any other Flutter widget in its internal hierarchy.
+Then the `VirtualDisplay's` `Surface` output is composited with the rest of
+the Flutter widget hierarchy and rendered as part of Flutter's larger texture
+output on Android.
+
+# Associated problems and workarounds
+
+While this approach unblocks the core problem with embedding Android views in
+a Flutter UI visually, the `VirtualDisplay` choice causes a long tail of issues
+that we've needed to work around.
+
+The heart of the problem with this approach is that the Android View inside of
+the `VirtualDisplay` is, as far as Android is concerned, inside of its own View
+hierarchy in a completely invisible
+[Display](https://developer.android.com/reference/android/view/Display.html) and
+completely unconnected and unrelated to the View hierarchy that contains the
+Flutter texture output.
+
+Much of the internal functionality to Android depends on walking the View
+hierarchy and querying information about the given View in its current hierarchy
+and window in order to function. Since the information for the embedded view is
+"wrong" here this internal functionality tends to break down. In addition to
+that this logic can change based on Android version, so we've needed to case
+some of our logic based on the runtime version of the OS.
+
+Some of our issues with this approach and extended workarounds are described
+below.
+
+To see all known issues specific to this mode, search for the [`vd-only` label](https://github.com/flutter/flutter/labels/vd-only).
+
+## Touch events
+
+By default touch events would not work with PlatformViews. The Android View is
+inflated inside of a `VirtualDisplay`. Whenever the user taps what they _see_ as
+the Android View on their primary display, they're "really" tapping the part of
+Flutter's texture output that we're rendering to look like the actual Android
+View. The touch event created by their input is getting sent straight to
+Flutter's View, not to the Android View they're actually trying to tap on.
+
+### The workaround
+
+- We detect whether or not the touch from the user should collide with the
+ `AndroidView` Flutter widget using [hit testing logic within the Flutter
+ Framework](https://github.com/flutter/flutter/blob/068fa84/packages/flutter/lib/src/rendering/platform_view.dart#L774).
+- When the touch is a hit, we [dispatch a message to the Android engine
+ embedding containing the details of the touch
+ event](https://github.com/flutter/flutter/blob/068fa84/packages/flutter/lib/src/rendering/platform_view.dart#L595).
+- [Within the Android
+ embedding](https://github.com/flutter/engine/blob/5b952f286fc070e99cf192775fa5c9dfe858b692/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java#L194),
+ we convert the coordinates of this event from the ones describing the touch
+ inside of the larger Flutter texture to ones that would match the real Android
+ View inside of its `VirtualDisplay`. We then create a new `MotionEvent`
+ describing the touch and forward it to the real Android View inside of its
+ `VirtualDisplay`.
+
+### Limitations
+
+- We're dispatching the new `MotionEvent` directly to the known Android View
+ embedded by the user. In cases where the View spawns other Views this dispatch
+ may be sent to the wrong place.
+- We're synthesizing a new `MotionEvent` based on the information handed to us
+ by the Flutter framework. It's possible that there's data being lost and not
+ totally carried over to our new `MotionEvent`, or some other general problem
+ with synthesizing `MotionEvent`s.
+
+## Accessibility
+
+### Background
+
+Explaining our problems with accessbility (or "a11y") requires a brief detour
+into explaining a11y itself on Android, and how a11y typically works on Flutter.
+
+Android itself builds up a tree of a11y nodes for each Android View rendered to
+the screen. Each a11y node contains semantic information about what information
+is represented by a UI element: for example, whether it's a button, and what the
+text on button is. Typically the OS builds this information itself by directly
+walking the View hierarchy. A11y services on the device then use this tree of
+a11y nodes to deliver the semantic information in an accessible way to the user,
+by example drawing highlights over interactable UI elements and reading the
+semantic information described by the UI aloud to the user. Users can then use
+a11y services to interact with a UI, for example by using it to activate the
+button without needing to press once directly on where the button is graphically
+rendering on screen.
+
+Some UIs, like Flutter and WebViews, don't have a tree of Android Views to
+describe their UIs. For these Android has a concept of a "virtual" a11y node
+hierarchy. Instead of walking the View hierarchy, Android Views may implement
+an
+[AccessibilityNodeProvider](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeProvider)
+that returns a tree of a11y nodes to describe whatever is being rendered
+within its own View subtree. The Flutter Android embedding uses this concept to
+generate an a11y node tree that matches the
+[`Semantics`](https://api.flutter.dev/flutter/widgets/Semantics-class.html)
+tree created by the Flutter framework.
+
+### The problem
+
+Theoretically we should have been able to attach the a11y tree from the
+embedded Android View to our `AccessibilityNodeProvider` in Flutter, but in
+reality we've found that any attempts to do so directly fail. The reality of
+the situation appears to be that a11y code in Android frequently relies on
+the View hierarchy for state management and querying extra information, so
+attempting to parent the child’s hierarchy from the embedded view to our
+virtual hierarchy fails to really correctly associate the underlying view
+hierarchy in a functional way for a11y. In other words, reparenting the a11y
+node trees only "fixes" the a11y node tree itself, but there are still multiple
+places where Android a11y code relies on being able to query the "real" view
+hierarchy for required info and ends up failing with bugs in our reparented
+case.
+
+### The workaround
+
+- Create a mirror copy of the Android View's a11y nodes as a subtree within [the
+ Flutter Android
+ embedding](https://github.com/flutter/engine/blob/5b952f286fc070e99cf192775fa5c9dfe858b692/shell/platform/android/io/flutter/view/AccessibilityViewEmbedder.java).
+ This mirror copy consists of virtual nodes and is part of the larger virtual
+ a11y node tree created by [Flutter's
+ `AccessibilityNodeProvider`](https://github.com/flutter/engine/blob/5b952f286fc070e99cf192775fa5c9dfe858b692/shell/platform/android/io/flutter/view/AccessibilityBridge.java#L64).
+- (P and above only): blacklisted APIs and reflection are usually used to create
+ a mirror copy of the Android View's a11y nodes. The critical private
+ information are the node IDs of the parent and children of the a11y hierarchy,
+ which we need to construct our mirror correctly but which are private data to
+ the nodes. On newer Android versions [we read the data we need from the
+ serialized binary form of the
+ node](https://github.com/flutter/engine/blob/5b952f286fc070e99cf192775fa5c9dfe858b692/shell/platform/android/io/flutter/view/AccessibilityViewEmbedder.java#L546)
+ instead.
+- [We forward all events sent to mirror a11y nodes to the "real" a11y nodes in
+ the Android View's subtree as
+ well](https://github.com/flutter/engine/blob/5b952f286fc070e99cf192775fa5c9dfe858b692/shell/platform/android/io/flutter/view/AccessibilityViewEmbedder.java#L268).
+ This forwarding involves translating any coordinates on the event, similar to
+ forwarding touch events. This means users can use a11y services to still
+ interact with the embedded Android UI.
+
+### Limitations
+
+- Only pre-existing virtual hierarchies can be duplicated and mirrored to our
+ own virtual subtree in this way. That means that embedded views like WebView
+ are accessible through this mechanism, but things like `Button` are not.
+- The use of reflection and serialization to read private a11y node data in
+ order to make an accurate mirror tree is extremely fragile. This could
+ easily be broken by Android in a future release.
+
+Tracked in
+[flutter/flutter#19418](https://github.com/flutter/flutter/issues/19418). Better
+support for reparenting a11y hierarchies is also an [Android SDK issue](https://issuetracker.google.com/issues/138442751).
+
+## Text input
+
+Normally the embedded Android view wouldn’t be able to get any text input
+because it's inside of a `VirtualDisplay` that is always reported as being
+unfocused. Android doesn't offer any APIs to dynamically set or change the focus
+of a `Window`. The focused `Window` for a Flutter app would normally be the one
+actually holding the "real" Flutter texture and UI, and directly visible to the
+user. `InputConnections` (how text is entered in Android) to unfocused Views are
+normally discarded.
+
+### Workaround
+
+- We override
+ [checkInputConnectionProxy](https://github.com/flutter/engine/blob/036ddbb0ee6858ae532df82a2747aa93faee4487/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java#L376)
+ so that Android treats the Flutter View as a proxy for the Input Method Editor
+ (IME) when it tries to talk to the embedded Android View. Basically, Android
+ asks the Flutter View for an `InputConnection` when the embedded Android View
+ wants one.
+- Q changed the `InputMethodManager` (IMM) to be instantiated per `Window`
+ instead of being a global singleton. So our naive attempt at setting up a
+ proxy no longer worked on Q. To work around this further we [created a
+ subclass of `Context` that returned the same `IMM` as the Flutter View instead
+ of the real `IMM` for the window when `getSystemService` is
+ queried](https://github.com/flutter/engine/blob/44f24bd/shell/platform/android/io/flutter/plugin/platform/SingleViewPresentation.java#L257).
+ This means whenever Android tries to use the `IMM` in our `VirtualDisplay` it
+ still sees and uses the `IMM` from the real display that has been set to use
+ the Flutter View as a proxy.
+- When the Flutter Android embedding is asked for an `InputConnection`, it
+ checks to see if an embedded Android View is "really" the target of the input.
+ If so it [internally goes to the embedded Android View, gets the
+ `InputConnection` from
+ there](https://github.com/flutter/engine/blob/036ddbb0ee6858ae532df82a2747aa93faee4487/shell/platform/android/io/flutter/plugin/editing/TextInputPlugin.java#L206),
+ and returns it to Android as if the embedded Android View's `InputConnection`
+ is its own.
+- Android sees that the Flutter view is focused and available, so it takes the
+ `InputConnection` that's ultimately from the embedded Android View and uses it
+ successfully.
+
+### In embedded WebViews
+
+WebViews running on Android versions pre N have additional complications because
+they have their own internal logic for creating and setting up input connections
+that don't completely defer to Android. Within the `flutter_webview` plugin
+we've also needed to add extra workarounds in order to enable text input there.
+
+- [Set a proxy view that listens for input connections on the same thread as
+ WebView.](https://github.com/flutter/packages/blob/27f3de3/packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/InputAwareWebView.java#L113).
+ Without this WebView would internally consume all `InputConnection` calls
+ without the Flutter View proxy ever being notified.
+- [Within the proxy thread, refer back to the Flutter View for input
+ creation.](https://github.com/flutter/packages/blob/27f3de3e1e6ed1c0f2cd23b0d1477ff3f0955aaa/packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/ThreadedInputConnectionProxyAdapterView.java#L67).
+- [Reset the input connection back to the Flutter thread when the WebView is
+ unfocused](https://github.com/flutter/packages/blob/27f3de3/packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/InputAwareWebView.java#L128).
+ This prevents the text input from being "stuck" inside of the WebView.
+
+### Limitations
+
+- In general this depends on internal Android behavior and is brittle. The Q
+ workaround was a surprise for us as we were broken by what was supposed to be
+ an internal Android refactoring.
+- Some text functionality is still broken. For example the "Copy" and "Share"
+ dialogue is currently not usable.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/What-should-I-work-on.md b/docs/unsorted_wiki/What-should-I-work-on.md
new file mode 100644
index 0000000..4c0a9bb
--- /dev/null
+++ b/docs/unsorted_wiki/What-should-I-work-on.md
@@ -0,0 +1,27 @@
+This page attempts to be a one-stop shop for figuring out what the most important thing to work on is, so that team members (contributors) can determine the more effective way to improve Flutter.
+
+1. Build breakage. Check the [dashboard](https://flutter-dashboard.appspot.com/build.html).
+1. [P0 issues](https://github.com/flutter/flutter/labels/P0) (e.g. serious regressions).
+1. Mentoring promising new contributors.
+1. [Code review of open PRs](https://github.com/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+archived%3Afalse+user%3Aflutter+).
+1. [P1 issues](https://github.com/flutter/flutter/labels/P1), including:
+ 1. [Flaky tests](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22team%3A+flakes%22+sort%3Aupdated-asc).
+ 1. Performance regressions. Check the [dashboard](https://flutter-dashboard.appspot.com/benchmarks.html) for new unreported regressions and see GitHub for the list of [reported performance regressions](https://github.com/flutter/flutter/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22c%3A+performance%22+label%3A%22c%3A+regression%22+).
+ 1. [Other regressions](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22c%3A+regression%22).
+ 1. Reducing technical debt. (For example, increasing [our test coverage](https://github.com/flutter/flutter/wiki/Test-coverage-for-package%3Aflutter) by [writing new tests](https://github.com/flutter/flutter/wiki/Running-and-writing-tests), or fixing TODOs.)
+1. [P2 issues](https://github.com/flutter/flutter/labels/P1), which correspond to the remaining areas of our [[roadmap]], such as:
+ * Bugs marked as [annoyances](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22a%3A+annoyance%22+sort%3Areactions-%2B1-desc).
+ * Bugs labeled as issues of [quality](https://github.com/flutter/flutter/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3A%22a%3A+quality%22+sort%3Areactions-%2B1-desc+).
+ * Bugs with the [crash](https://github.com/flutter/flutter/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3A%22c%3A+crash%22+sort%3Areactions-%2B1-desc+) label.
+1. [Issues sorted by thumbs-up](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc). Focus on bugs in existing code and avoid adding new code.
+1. Everything else. Consider [this advice](https://ln.hixie.ch/?start=1674863881&count=1) when prioritizing bugs.
+
+Bugs in other bug systems should be tracked with bugs in GitHub. OKRs should be reflected in the items listed above. For example, OKRs should reflect what the roadmap covers, expected customer blockers, and so forth. Work that is unique to a particular quarter would be represented by a filed bug with a milestone and assignee.
+
+During [[triage]], bugs should be prioritized according to the [P0-P3 labels](https://github.com/flutter/flutter/wiki/Issue-hygiene#priorities) so as to fit the order described above.
+
+Sometimes, items in the list above escalate. For example, a bug might get filed as a P2 issue, then be recognized as a critical regression and upgraded to P0.
+
+See also:
+
+ * [[Issue Hygiene]], in particular the section on prioritization.
\ No newline at end of file
diff --git "a/docs/unsorted_wiki/Where\047s-my-commit.md" "b/docs/unsorted_wiki/Where\047s-my-commit.md"
new file mode 100644
index 0000000..d22c546
--- /dev/null
+++ "b/docs/unsorted_wiki/Where\047s-my-commit.md"
@@ -0,0 +1,123 @@
+## Overview
+
+Frequently, issues will be fixed in repositories other than `flutter/flutter`. When this happens, it's common to want to know when the fix will be available in the framework.
+
+Other times, issues will be root-caused to a particular commit, and it's common to want to know which Flutter versions are afflicted by the issue.
+
+This page outlines the current process for determining that information.
+
+## Process
+
+### Finding the Dart SDK commit contained in Engine commit X
+
+To find out which Dart SDK sha is contained in a particular commit of the Flutter engine:
+
+1. Let the engine commit be _ENGINE_COMMIT_
+
+1. Navigate to https://github.com/flutter/engine/blob/${ENGINE_COMMIT}/DEPS#L51 and search for the value corresponding to the _'dart_revision'_ key.
+
+***
+
+### Finding the versions that contain Framework commit X
+
+To find the published Flutter versions that contain any given commit in `flutter/flutter`:
+
+1. Navigate to the page for that commit. You can do this by either:
+ - clicking on the merged commit on a PR page
+
+ <img width="583" alt="merge commit message" src="https://user-images.githubusercontent.com/6655696/224098265-dd368be5-ae2c-4cb0-a30c-efc8c0503d6f.png">
+
+ - clicking on the commit from https://github.com/flutter/flutter/commits
+ - constructing the URL manually: the URL format is `https://github.com/flutter/flutter/commit/<sha>`.
+
+1. Look in the lower left corner of the commit description box for a list of version tags. For example:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63279347-ace5d000-c25d-11e9-89a6-f2bd37359e8e.png" alt="Versions" width="65%;" />
+
+ The list of versions here is comprehensive (it lists every individual version that contains the commit).
+
+ If there are no versions listed there, it means that this commit has not yet been published and exists only on master.
+ (We [no longer publish to the dev channel](https://medium.com/flutter/whats-new-in-flutter-2-8-d085b763d181#34c4), so this is
+ quite common if there has not been a beta released recently.)
+
+ If there are too many version tags to display cleanly, GitHub hides them behind an ellipsis. For example:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63285807-73b45c80-c26b-11e9-9e6f-6e21a09cfe85.png" alt="Too many version tags get hidden" width="65%;" />
+
+ Clicking on that ellipsis will expand the list out to show all version tags that contain the commit. For example:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63285936-b413da80-c26b-11e9-9cc9-0d2754100a2e.png" alt="See all the version tags" width="65%;" />
+
+***
+
+### Finding the Framework commit that contains Engine commit X
+
+To find out when a given engine change rolled into the framework:
+
+1. Find the engine PR that corresponds to your desired commit. For example, for commit [7292d47](https://github.com/flutter/engine/commit/7292d47e615aff38180c8a4c1e65091325b6aae7), the corresponding PR is [flutter/engine#11206](https://github.com/flutter/engine/pull/11206).
+
+ If the commit in question does not have a corresponding PR (most commonly seen with Dart rolls), then use the newest commit _before_ your desired engine commit that has a corresponding PR as a proxy.
+
+ Once you've identified an engine PR, navigate to that PR.
+
+1. Somewhere in the comment stream for the PR (usually at or near the bottom), there will be a cross-referenced "_Roll engine <commit>..<commit>_" link with a "Merged" badge to the right of it. For example:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63278598-6a6fc380-c25c-11e9-84e7-097bc0bc3fbe.png" alt="The commit at which it rolled into the framework" width="65%;" />
+
+ That was the PR in which this engine commit merged into the framework. Click on that link.
+
+1. Near the bottom of the comment stream for the framework PR will be a line that says:
+
+ "_<user> merged commit <commit>_"
+
+ Usually, the user will be "_engine-flutter-autoroll_". Click on the commit sha to navigate to the commit.
+
+1. The full commit sha is contained in the URL. It's also listed on the page:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63279082-39dc5980-c25d-11e9-9c95-bc6ed1fd5082.png" alt="The commit sha" width="65%;" />
+
+1. To find the published Flutter versions that contain this commit, follow the process above for "Finding the versions that contain Framework commit X".
+
+***
+
+### Finding the Engine commit that contains Dart SDK commit X
+
+To find out when a given Dart SDK change rolled into the engine:
+
+1. If you're starting from the Dart review CL (e.g. https://dart-review.googlesource.com/c/sdk/+/113126), wait until the CL has merged. You can see the status of a CL in the upper left corner of the page. For example:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63281687-15cf4700-c262-11e9-8ed7-32cff0797fd5.png" alt="Merged CL" width="65%;" />
+
+1. The merged badge then hyperlinks to the commit where it was merged. The text says "_Merged as <commit>_", and the commit sha is a hyperlink. Click on that link.
+
+1. The commit page gives you the full sha of the Dart SDK commit. For example:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63281947-a4dc5f00-c262-11e9-86b3-3435525d82b1.png" alt="Dart SDK commit sha" width="65%;" />
+
+1. Note the time (and the timezone!) that the commit landed. For example:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63282366-832fa780-c263-11e9-8413-5f6707bd2c76.png" alt="Commit timestamp" width="65%;" />
+
+1. Navigate to https://github.com/flutter/engine/commits, and look for commits that landed shortly after the timestamp in question, where the commit description is "_Roll src/third_party/dart ..._". These commits are "Dart SDK roll" commits.
+
+ For each commit, GitHub says "_<author> committed <time reference>_" (e.g. "_skia-flutter-autoroll committed 8 hours ago_"). If you hover over the time reference, a tooltip shows you the exact commit time.
+
+ **Important**: be sure to adjust for timezones when comparing times between the Dart SDK commit and the time when the engine commits landed.
+
+1. Once you've found a candidate commit, click on the hyperlink of the commit description to go to the commit details page. The full commit description will list what Dart SDK comitts were contained in the roll. For example:
+
+ <img src="https://user-images.githubusercontent.com/15253456/63283634-9ee87d00-c266-11e9-8960-3424cd2e8de1.png" alt="Commits contained in the Dart SDK roll" width="65%;" />
+
+1. Keep searching newer Dart SDK roll commits until you find the roll that contains your desired Dart SDK commit. This roll commit is the engine commit that contains your Dart SDK change.
+
+1. To find out when this engine commit landed in the framework, follow the process above for "Finding the Framework commit that contains Engine commit X".
+
+***
+
+### Finding the Skia commit that contains Dart SDK commit X
+
+To find out when a given Skia commit rolled into the engine, follow the same process as above for "Finding the Engine commit that contains Dart SDK commit X", with the following differences:
+
+1. The review CLs will have URLs of the form `https://skia-review.googlesource.com/c/skia/+/<cl_number>` instead of `https://dart-review.googlesource.com/c/sdk/+/<cl_number>`.
+
+1. The roll commits will start with "_Roll src/third_party/skia ..._" instead of "_Roll src/third_party/dart ..._".
diff --git a/docs/unsorted_wiki/Why-we-have-a-separate-engine-repo.md b/docs/unsorted_wiki/Why-we-have-a-separate-engine-repo.md
new file mode 100644
index 0000000..c773ca2
--- /dev/null
+++ b/docs/unsorted_wiki/Why-we-have-a-separate-engine-repo.md
@@ -0,0 +1,33 @@
+The Flutter project is split into a number of repositories, and we sometimes get asked why we don't use a monorepo.
+
+## Separate products
+
+There are several reasons. The core reason is that each repo is a separate product.
+
+The engine repository is where we build the library that executes Dart code. It defines an API used to embed Flutter in applications, and an API for Dart code to interact with the library. This is a standalone product that can be used on its own, in principle (though doing so would require creating a whole framework in Dart).
+
+The flutter repository is where we build our framework that wraps the engine's APIs and makes them easy to use. This library is intentionally optional when using Flutter; it could be entirely replaced without affecting the engine.
+
+There's also the [packages](https://github.com/flutter/packages) repo is where we put the packages we ship to pub, each of which are also separate products.
+
+## Clean separation
+
+These different products each have APIs to talk to each other. It's important to keep the APIs clean. Any time you put code inside a repository such that the friction for communicating between them is lowered, you run the very real risk that accidental dependencies will be introduced between the two APIs. Keeping the repositories separate helps prevent that kind of intermingling.
+
+## Licensing
+
+We intentionally keep the flutter/flutter repository separate from the others because it is single-licensed, unlike our other repositories.
+
+## Repository size
+
+Since flutter/flutter is the main repository downloaded by developers, we want to keep it relatively small. This means, for example, that it cannot contain binaries or third-party packages.
+
+A full checkout of the flutter/engine repository takes >10gb of local space. Additional artifacts for builds of various platforms and release modes can easily take 10s of gigabytes more space.
+
+## Approachability
+
+Since flutter/flutter is the main repository for new contributors, we want to keep it approachable, which means minimizing the amount of complexity present in the repo itself.
+
+## Rolls
+
+The flutter/flutter repository depends on binaries built from the flutter/engine repo. If the two repositories were merged, we'd either have a confusing situation where part of the repository would depend on binaries built from an older commit of the same repository, or we'd require that developers on the repo build the binaries locally. Both are more confusing than the current setup.
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Workarounds-for-common-issues.asciidoc b/docs/unsorted_wiki/Workarounds-for-common-issues.asciidoc
new file mode 100644
index 0000000..1dbad12
--- /dev/null
+++ b/docs/unsorted_wiki/Workarounds-for-common-issues.asciidoc
@@ -0,0 +1,204 @@
+////
+Enable icons for admonitions
+From https://gist.github.com/dcode/0cfbf2699a1fe9b46ff04c41721dda74#admonitions
+////
+ifdef::env-github[]
+:tip-caption: :bulb:
+:note-caption: :information_source:
+:important-caption: :heavy_exclamation_mark:
+:caution-caption: :fire:
+:warning-caption: :warning:
+endif::[]
+
+
+:toc:
+:toc-placement!:
+
+Common issues Flutter developers might run into and recipes how to fix or work around.
+
+toc::[]
+
+= Flutter Recipes
+
+== Flutter installation
+
+=== Flutter installation corrupted
+
+The Flutter install directory is in an inconsistent state and that causes all kinds of troubles.
+
+==== Symptoms
+
+// TODO
+
+==== Causes
+
+Unclear
+
+==== Ways to fix
+
+- Run the following commands in the Flutter install directory:
+[source,sh]
+----
+git clean -xfd
+git stash save --keep-index
+git stash drop
+git pull
+flutter doctor
+----
+
+[CAUTION]
+====
+The `git stash drop` command drops customizations you might have made to the Flutter installation.
+====
+
+==== Related information
+- https://github.com/flutter/flutter/issues/25220
+- https://github.com/flutter/flutter/issues/1963
+
+== Flutter project files
+
+=== Generated project files outdated
+
+==== Symptoms
+// TODO
+
+==== Causes
+
+When a project is created with `flutter create foo` several files in the `ios/` and `android/` sub-directories are created.
+
+Newer Flutter versions might generate these files a bit differently and projects created with older Flutter versions might cause issues.
+
+==== Ways to fix
+
+- Delete the `ios/` and `android/` directories and run `flutter create .` to re-generate these directories.
+
+[CAUTION]
+====
+Custom changes will be lost and need to be re-applied.
+This is easiest if the project is committed to a version control system like Git.
+====
+
+
+==== Related information
+- https://github.com/flutter/flutter/issues/14974
+- https://github.com/flutter/flutter/issues/12573
+- https://github.com/flutter/flutter/issues/12983
+- https://github.com/flutter/flutter/issues/9827
+
+
+== Pub dependencies
+
+=== Corrupted cache
+
+Especially with plugin packages it was seen several times that the package in the pub cache was corrupted.
+
+==== Symptoms
+Usually syntax errors at build time about code in dependencies.
+
+==== Causes
+
+Unknown.
+IDEs or editors used by developers might not prevent editing plugin files and when they navigate into plugin code they might accidentally modify the code.
+
+==== Ways to fix
+
+- Run `pub cache repair`
+This might take quite some time and re-downloads every package in the cache, even outdated versions that might not be used anymore by any project on disk.
+
+- Delete `~/.pub-cache/hosted` and/or `~/.pub-cache/git` (for Git dependencies).
+This requires to run `flutter packages get` in all active projects on your machine afterwards.
+
+- Delete a specific package or package version.
+Look up the exact path in cache for a specific package in the `.packages` file of your project.
+For example for `firebase_auth`
+```
+firebase_auth:file:///Users/someuser/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.6.6/lib/
+```
+To fix this package delete `///Users/someuser/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.6.6/` (`lib/` removed) and run `flutter packages get`.
+
+==== Related information
+- https://www.dartlang.org/tools/pub/cmd/pub-cache
+- https://www.dartlang.org/tools/pub/environment-variables
+
+== Proxy
+
+=== Flutter commands can not access the Internet
+
+In a network where the Internet can only be reached through a proxy and Flutter commands fail.
+
+==== Symtoms
+
+// TODO
+
+==== Causes
+
+Proxy setting incomplete or invalid.
+
+==== Ways to fix
+
+- See https://github.com/flutter/flutter/wiki/Using-Flutter-in-China
+
+==== Related information
+(none yet)
+
+=== Hot-reload not working
+
+When a proxy is configured hot-reload does often not work.
+
+==== Symptoms
+
+// TODO
+
+==== Causes
+
+Proxy setting incomplete or invalid.
+Localhost is redirected to the proxy.
+
+==== Ways to fix
+
+- Set environment variable `NO_PROXY=127.0.0.1`
+
+==== Related information
+
+- https://github.com/flutter/flutter/issues/24854
+- https://github.com/flutter/flutter/issues/16875#issuecomment-384758566
+- https://stackoverflow.com/questions/9546324/adding-directory-to-path-environment-variable-in-windows[Adding directory to PATH Environment Variable in Windows]
+- https://stackoverflow.com/questions/19287379/how-do-i-add-to-the-windows-path-variable-using-setx-having-weird-problems[How do I add to the Windows PATH variable using setx? Having weird problems]
+
+
+= Empty Template for new recipes
+
+Copy from the following line down
+
+== Topic name
+
+=== Issue title
+
+Issue description
+
+==== Symptoms
+Explain seen symptoms
+
+==== Causes
+
+Explain what causes this issue
+
+==== Ways to fix
+
+- Do this, do that as well
+
+==== Related information
+- https://example.com/some_link.html
+
+
+= AsciiDoc Recipes
+
+==== AsciiDoc Syntax Quick Reference
+
+- https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/
+
+==== GitHub Flavored AsciiDoc
+
+Some workarounds for common issues with AsciiDoc on GitHub
+
+- https://gist.github.com/dcode/0cfbf2699a1fe9b46ff04c41721dda74
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Writing-Effective-Tests.md b/docs/unsorted_wiki/Writing-Effective-Tests.md
new file mode 100644
index 0000000..fdfd26a
--- /dev/null
+++ b/docs/unsorted_wiki/Writing-Effective-Tests.md
@@ -0,0 +1,230 @@
+Tests are a critical framework tool for stability and education. Tests fulfill the following roles:
+
+* Automatically protect against regressions
+* Define an executable specification that engrains original intent
+* Educate other developers about why and how to use an API
+
+To facilitate the above roles, there are some practices to keep in mind when writing tests:
+
+## Name tests based on the behavior being tested
+
+It is common to find tests that are simply named after the object under test rather than the behavior under test. For example, a developer might find tests that look like the following:
+
+```dart
+// Bad test name
+test('ListView', () {...});
+
+// Bad test name
+test('RenderViewport', () {...});
+
+// etc.
+```
+
+The above test names do not communicate anything useful to the developer reading the tests. The developer probably already knows which object is being tested, so these names are no better than an empty string. Instead, each test should succinctly declare the behavior under test and/or the expected results:
+
+```dart
+// Better test name
+test('Shrink-wrapped ListView resizes to match its content height', () {...});
+
+// Better test name
+test('RenderViewport applies its offset to all child Slivers', () {...});
+
+// etc.
+```
+
+## One behavior per test
+
+It is common to find single tests that exercise multiple behaviors:
+
+```dart
+// Single test that tests multiple behaviors
+test('SliverGeometry', () {
+ expect(const SliverGeometry().debugAssertIsValid(), isTrue);
+ expect(() {
+ const SliverGeometry(layoutExtent: 10.0, paintExtent: 9.0).debugAssertIsValid();
+ }, throwsFlutterError);
+ expect(() {
+ const SliverGeometry(paintExtent: 9.0, maxPaintExtent: 8.0).debugAssertIsValid();
+ }, throwsFlutterError);
+});
+```
+
+Don't test multiple behaviors in a single test. When multiple behaviors exist within a test then reported test failures become misleading. Is one thing broken, or many things? Is one method broken, or multiple methods, or are entire object interactions broken? When multiple behaviors exist in a single test then a broken test requires a developer to carefully analyze the code within the test just to get a feel for the magnitude of the bug. Add to this fact that the name of the test probably does not explain everything the test is doing, because the test is doing multiple things. Instead, include exactly one behavior per test:
+
+```dart
+test('SliverGeometry with no arguments is valid', () {
+ expect(const SliverGeometry().debugAssertIsValid(), isTrue);
+});
+
+test('SliverGeometry throws error when layoutExtent exceeds paintExtent', () {
+ expect(() {
+ const SliverGeometry(layoutExtent: 10.0, paintExtent: 9.0).debugAssertIsValid();
+ }, throwsFlutterError);
+});
+
+test('SliverGeometry throws error when maxPaintExtent is less than paintExtent', () {
+ expect(() {
+ const SliverGeometry(paintExtent: 9.0, maxPaintExtent: 8.0).debugAssertIsValid();
+ }, throwsFlutterError);
+});
+```
+
+What constitutes a single behavior? The answer to that question can vary. In most circumstances, only a single method should be invoked on the object under test, and it should be invoked only one time. However, that heuristic is not always correct. There can be cases where multiple method calls represent a singular behavior and a single set of expectations. Developers should use their discretion in this regard. That said, a higher number of shorter tests will tend to be a safer bet than a smaller number of longer tests.
+
+## Only include relevant details in a test
+
+Tests often involve some amount of setup before the behavior-under-test can be executed. Some of these setup details are critical to the behavior-under-test, but many of these details are completely irrelevant.
+
+Including irrelevant details in a test can only confuse the issue in the mind of the developer reading the test. The developer may become confused about which parts are relevant to him/her, and which are not. In such a scenario, the developer is likely to copy and paste the entire test without fully understanding what the code is doing, which is a recipe for disaster in a production app.
+
+```dart
+// Notice how much of the widget setup has nothing to do with the behavior-under-test...
+testWidgets('Title Section is empty, Button section is not empty.', (WidgetTester tester) async {
+ const double textScaleFactor = 1.0;
+ final ScrollController scrollController = new ScrollController(keepScrollOffset: true);
+ await tester.pumpWidget(
+ new MaterialApp(home: new Material(
+ child: new Center(
+ child: new Builder(builder: (BuildContext context) {
+ return new RaisedButton(
+ onPressed: () {
+ showDialog<Null>(
+ context: context,
+ builder: (BuildContext context) {
+ return new MediaQuery(
+ data: MediaQuery.of(context).copyWith(textScaleFactor: textScaleFactor),
+ child: new CupertinoAlertDialog(
+ actions: const <Widget>[
+ const CupertinoDialogAction(
+ child: const Text('One'),
+ ),
+ const CupertinoDialogAction(
+ child: const Text('Two'),
+ ),
+ ],
+ actionScrollController: scrollController,
+ ),
+ );
+ },
+ );
+ },
+ child: const Text('Go'),
+ );
+ }),
+ ),
+ )),
+ );
+
+ await tester.tap(find.text('Go'));
+
+ await tester.pump();
+ await tester.pump(const Duration(seconds: 1));
+
+ // Check that the title/message section is not displayed
+ expect(scrollController.offset, 0.0);
+ expect(tester.getTopLeft(find.widgetWithText(CupertinoDialogAction, 'One')).dy, equals(283.5));
+
+ // Check that the button's vertical size is the same.
+ expect(tester.getSize(find.widgetWithText(CupertinoDialogAction, 'One')).height,
+ equals(tester.getSize(find.widgetWithText(CupertinoDialogAction, 'Two')).height));
+});
+```
+
+Strive to write tests that only communicate details that are relevant to the behavior-under-test. This can be accomplished by extracting unrelated setup into other methods that are clearly named by their purpose:
+
+```dart
+// Now the unrelated details are factored out...
+testWidgets('Title Section is empty, Button section is not empty.', (WidgetTester tester) async {
+ final ScrollController scrollController = new ScrollController(keepScrollOffset: true);
+ await _launchDialog(
+ dialog: CupertinoAlertDialog(
+ actions: const <Widget>[
+ const CupertinoDialogAction(
+ child: const Text('One'),
+ ),
+ const CupertinoDialogAction(
+ child: const Text('Two'),
+ ),
+ ],
+ actionScrollController: scrollController,
+ ),
+ );
+
+ // Check that the title/message section is not displayed
+ expect(scrollController.offset, 0.0);
+ expect(tester.getTopLeft(find.widgetWithText(CupertinoDialogAction, 'One')).dy, equals(283.5));
+
+ // Check that the button's vertical size is the same.
+ expect(tester.getSize(find.widgetWithText(CupertinoDialogAction, 'One')).height,
+ equals(tester.getSize(find.widgetWithText(CupertinoDialogAction, 'Two')).height));
+});
+```
+
+## Optimize tests for comprehension
+
+To illustrate the way that a small adjustment can make a test much more comprehensible to another developer, consider this test from above:
+
+```dart
+testWidgets('Title Section is empty, Button section is not empty.', (WidgetTester tester) async {
+ final ScrollController scrollController = new ScrollController(keepScrollOffset: true);
+ await _launchDialog(
+ dialog: CupertinoAlertDialog(
+ actions: const <Widget>[
+ const CupertinoDialogAction(
+ child: const Text('One'),
+ ),
+ const CupertinoDialogAction(
+ child: const Text('Two'),
+ ),
+ ],
+ actionScrollController: scrollController,
+ ),
+ );
+
+ // Check that the title/message section is not displayed
+ expect(scrollController.offset, 0.0);
+ expect(tester.getTopLeft(find.widgetWithText(CupertinoDialogAction, 'One')).dy, equals(283.5));
+
+ // Check that the button's vertical size is the same.
+ expect(tester.getSize(find.widgetWithText(CupertinoDialogAction, 'One')).height,
+ equals(tester.getSize(find.widgetWithText(CupertinoDialogAction, 'Two')).height));
+});
+```
+
+This test was presented as an improvement because it factored out unrelated details. But we can make this test better by slightly adjusting how we decompose the individual lines in the test:
+
+```dart
+testWidgets('Title Section is empty, Button section is not empty.', (WidgetTester tester) async {
+ final ScrollController scrollController = new ScrollController(keepScrollOffset: true);
+
+ final Widget dialog = CupertinoAlertDialog(
+ actions: const <Widget>[
+ const CupertinoDialogAction(
+ child: const Text('One'),
+ ),
+ const CupertinoDialogAction(
+ child: const Text('Two'),
+ ),
+ ],
+ actionScrollController: scrollController,
+ );
+
+ await _launchDialog(dialog);
+
+ // Check that the title/message section is not displayed
+ expect(scrollController.offset, 0.0);
+ expect(tester.getTopLeft(find.widgetWithText(CupertinoDialogAction, 'One')).dy, equals(283.5));
+
+ // Check that the button's vertical size is the same.
+ expect(tester.getSize(find.widgetWithText(CupertinoDialogAction, 'One')).height,
+ equals(tester.getSize(find.widgetWithText(CupertinoDialogAction, 'Two')).height));
+});
+```
+
+By extracting the declaration of the `CupertinoAlertDialog` into its own statement, we have clearly disambiguated between the dialog we're here to test vs. the action of launching the dialog for testing purposes.
+
+When writing tests, think about the developer who will read this test 6 months from now and ask if there is anything you can do to help that developer comprehend what the test is doing, and why.
+
+# See also
+
+- [[Flutter Test Fonts]]
\ No newline at end of file
diff --git a/docs/unsorted_wiki/Writing-a-golden-file-test-for-package-flutter.md b/docs/unsorted_wiki/Writing-a-golden-file-test-for-package-flutter.md
new file mode 100644
index 0000000..54aa24e
--- /dev/null
+++ b/docs/unsorted_wiki/Writing-a-golden-file-test-for-package-flutter.md
@@ -0,0 +1,123 @@
+_(This page is referenced by comments in the Flutter codebase.)_
+
+**If you want to learn how to write a golden test for your package, see [the `matchesGoldenFile` API docs](https://api.flutter.dev/flutter/flutter_test/matchesGoldenFile.html).** This wiki page describes the special process specifically for the Flutter team itself.
+
+Golden file tests for `package:flutter` use [Flutter Gold](https://flutter-gold.skia.org/?query=source_type%3Dflutter) for baseline and version management of golden files. This allows for golden file testing on Linux, Windows, MacOS and Web, which accounts for the occasional subtle rendering differences between these platforms.
+
+## Index
+- [Known Issues](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter#known-issues)
+- [Build Breakage](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter#build-breakage)
+- [Creating a New Golden File Test](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package%3Aflutter#creating-a-new-golden-file-test)
+- [Updating a Golden File Test](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package%3Aflutter#updating-a-golden-file-test
+)
+- [Flutter Gold Login](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package%3Aflutter#flutter-gold-login
+)
+- [`flutter-gold` Check](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter#flutter-gold-check)
+- [`reduced-test-set` tag](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter#reduced-test-set-tag)
+- [Troubleshooting](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter#troubleshooting)
+
+
+## Known Issues
+
+### Negative Images
+
+https://github.com/flutter/flutter/issues/145043
+
+If an image is marked `negative` the flutter-gold check will not catch it in presubmit testing. Images should not be marked negative, as the system relies on the `untriaged` and `approved` states. If a negative image is produced in postsubmit, testing will fail and the change can be reverted so the image can be addressed.
+If you would like to instantly invalidate all prior renderings, changing the name of the golden file test will accomplish this. Gold already has a process to 'forget' images after they have changed, but does so over time.
+
+## Build Breakage
+
+If the Flutter build is broken due to a golden file test failure, this typically means an image change has landed without being triaged. Golden file images should be triaged in pre-submit before a change lands (as described in the steps below). If this process is not followed, a test with an unapproved golden file image will fail in post-submit testing. This will present in the following error message:
+
+```
+ Skia Gold received an unapproved image in post-submit
+ testing. Golden file images in flutter/flutter are triaged
+ in pre-submit during code review for the given PR.
+
+ Visit https://flutter-gold.skia.org/ to view and approve
+ the image(s), or revert the associated change. For more
+ information, visit the wiki:
+ https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter
+```
+
+To resolve, visit the [Flutter Gold dashboard](https://flutter-gold.skia.org/) to view the batch of images in question. If they are intended changes, approve them by clicking the checkmark, and re-run the failing test to resolve. If the image changes are not intended, revert the associated change.
+
+Notice, Gold may wrongly attribute blame for image changes on the dashboard. Post-submit testing for flutter/flutter is not executed in the order that commits land. Commits are tested by order of the most recent change. If older commits have not completed testing yet, Gold may assign blame incorrectly until all image results have been processed for pending commits.
+
+## Creating a New Golden File Test
+
+Write your test as a normal test, using `testWidgets` and `await tester.pumpWidget` and so on.
+
+Put a `RepaintBoundary` widget around the part of the subtree that you want to verify. If you don't, the output will be a 2400x1800 image, since the tests by default use an 800x600 viewport with a device pixel ratio of 3.0. If you would like to further control the image size, put a `SizedBox` around your `RepaintBoundary` to set constraints.
+
+Add an expectation along the following lines:
+
+```dart
+ await expectLater(
+ find.byType(RepaintBoundary),
+ matchesGoldenFile('test_name.subtest.subfile.png'),
+ );
+```
+
+The argument to `matchesGoldenFile` is the filename for the screen shot. The part up to the first dot should exactly match the test filename (e.g. if your test is `widgets/foo_bar_test.dart`, use `foo_bar`). The `subtest` part should be unique to this `testWidgets` entry, and the part after that should be unique within the `testWidgets` entry. This allows each file to have multiple `testWidgets` tests each with their own namespace for the images, and then allows for disambiguation within each test in case there are multiple screen shots per test.
+
+Golden tests may be executed locally on Linux, MacOS, and Windows platforms. All reference images can be found at [Flutter Gold baselines](https://flutter-gold.skia.org/list?fdiffmax=-1&fref=false&frgbamax=255&frgbamin=0&head=true&include=false&limit=50&master=false&match=name&metric=combined&neg=false&new_clstore=true&offset=0&pos=true&query=source_type%3Dflutter&sort=desc&unt=true). Some tests may have multiple golden masters for a given test, to account for rendering differences across platforms. The parameter set for each image is listed in each image digest to differentiate renderings.
+
+Once you have written your test, run `flutter test --update-goldens test/foo/bar_test.dart` in the `flutter` package directory (where the filename is the relative path to your new test). This will update the images in `bin/cache/pkg/skia_goldens/packages/flutter/test/`; the directories below that will match the hierarchy of the directories in the `test` directory of the `flutter` package. Verify that the images are what you expect; update your test and repeat this step until you are happy with the image.
+
+When running `flutter test` locally without the `--update-goldens` flag, your test will pass, as it does not yet have a baseline for comparison on the [Flutter Gold](https://flutter-gold.skia.org/?query=source_type%3Dflutter) dashboard. The test will be recognized as new, and provide output for validation.
+
+When you are happy with your image, you are ready to submit your PR for review. The reviewer should also verify your golden image(s), so make sure to include the golden(s) in your PR description.
+
+New test results will be compiled into a tryjob on the Flutter Gold dashboard, under [ChangeLists](https://flutter-gold.skia.org/changelists). There you will see your pull request and the associated golden files that were generated. Gold will also leave a comment on your pull request linking to your image results.
+
+New tests can be triaged from these tryjobs, which will cause the pending `flutter-gold` check to pass. Review the tryjob and the images that were generated, making sure they look as expected. Currently, we generate images for Linux, Mac, Windows, and Web platforms. It is common for there to be slight differences between them. Click the checkmark to approve the change, completing triage.
+
+And that’s it! Your new golden file(s) will be checked in as the baseline(s) for your new test(s), and your PR will be ready to merge. :tada:
+
+## Updating a Golden File Test
+
+If renderings change, then the golden baseline in [Flutter Gold](https://flutter-gold.skia.org/?query=source_type%3Dflutter) will need to be updated.
+
+When developing your change, local testing will produce a failure along with visual diff output. This visual diff will be generated using the golden baseline from [Flutter Gold](https://flutter-gold.skia.org/?query=source_type%3Dflutter) that matches the current paramset of your testing environment (currently based on platform). This allows for quick iterations and validation of your change. Locally, this test will not pass until the new baseline has been checked in.
+
+When you are happy with your golden change, you are ready to submit your PR for review. The reviewer should also verify your golden image(s), so make sure to include the golden changes you have made in your PR description. Changes to tests will be compiled into a tryjob on the Flutter Gold dashboard, under [ChangeLists](https://flutter-gold.skia.org/changelists). There you will see your pull request and the associated golden files that were generated, as well as the visual differences between the pre-existing baselines. Gold will also leave a comment on your pull request linking to your image results.
+
+The updated tests can be triaged from these tryjobs, which will cause the pending `flutter-gold` check to pass. Review the tryjob and the images that were generated, making sure they look as expected. Currently, we generate images for Linux, Mac, Windows and Web platforms. It is common for there to be slight differences between them. Click the checkmark to approve the change, completing triage.
+
+And that’s it! Your new golden file(s) will be checked in as the baseline(s) for your new test(s), and your PR will be ready to merge. :tada:
+
+
+## Flutter Gold Login
+
+Triage permission is currently restricted to members of *flutter-hackers*. For more information, see [Contributor Access](https://github.com/flutter/flutter/wiki/Contributor-access).
+Once you have been added as an authorized user for Flutter Gold, you can log in through the [homepage of the Flutter Gold dashboard](https://flutter-gold.skia.org/) and proceed to triage your image results under [Changelists](https://flutter-gold.skia.org/changelists).
+
+## `flutter gold` Check
+
+The `flutter-gold` check is applied to pull requests in flutter/flutter that execute golden file tests and are ready for review.
+
+As golden file tests are run across multiple test shards, this check waits for all other tests to complete before checking to see if Gold received new images. While awaiting test completion, and in the event there are image changes, the `flutter-gold` check will hold a pending state. This is primarily due to how the auto-roller used by flutter/engine works (context: https://github.com/flutter/flutter/issues/48744).
+
+If there are no image changes, the `flutter-gold` check will go green. If image changes were detected, a comment on your pull request will notify and provide a direct link to the images. Upon triaging, or approving, the images, the `flutter-gold` check will go green within five minutes.
+
+## `reduced test set` tag
+
+On some CI platforms in pre-submit, hermetic tests suites are not executed in order to conserve resources and expedite testing of other changes. To ensure that a golden file image is available for every platform, test files with golden tests are tagged with `reduced-test-set`. This marks them for execution in these conservative test environments. Currently, framework tests on Mac and Windows platforms execute these reduced test sets. The analyzer will alert you if the tag is omitted from the test file. The tag should be formatted as such at the top of the file:
+
+```dart
+@Tags(<String>['reduced-test-set'])
+```
+
+For more context, see [flutter.dev/go/reduce-ci-tests](https://flutter.dev/go/reduce-ci-tests).
+
+## Troubleshooting
+
+* Trouble: the `flutter-gold` is stuck at pending status while all other checks are successful (if they are not, see [flutter-gold check](#flutter-gold-check)).
+ * Solution: this may be a side-effect of force-pushed commits (`git push -f`) and a known Skia Gold issue (https://issues.skia.org/issues/40044676), typically after a rebase. If this happens, try rebasing or pushing an empty commit without force pushing. This side-effect is flaky.
+* Trouble: the `flutter-gold` check posted a message saying "Golden file changes have been found..." but the triage page is empty.
+ * Solution: this may be another side-effect of force-pushed commits (see above), but may also be a side-effect of untriaged goldens from already submitted PRs. Try rebasing again, or reach out in #hackers-infra on the Discord.
+
+## Additional Resources
+- [Gold APIs used by the Flutter Framework](https://docs.google.com/document/d/1H3CDqT7zBUt4Je2HPQpleYA-drwj2oy0mdPlSdf2d4A/edit?usp=sharing)
\ No newline at end of file
diff --git "a/docs/unsorted_wiki/\133Archive\135-Old-Roadmaps.md" "b/docs/unsorted_wiki/\133Archive\135-Old-Roadmaps.md"
new file mode 100644
index 0000000..5c50765
--- /dev/null
+++ "b/docs/unsorted_wiki/\133Archive\135-Old-Roadmaps.md"
@@ -0,0 +1,201 @@
+This page contains old annual roadmaps, which are provided for historical context.
+
+# 2023
+
+This roadmap is aspirational; it represents some of what our most active contributors to Flutter have told us they plan to work on this year. It is in general difficult to make any guarantees about engineering work, and it is all the more so for an open source project with hundreds of contributors.
+
+_Our [Flutter Forward keynote](https://flutter.dev/events/flutter-forward) demoed some of these future plans!_
+
+## Technical debt and team velocity
+
+As always, the most important work we can do is increasing the overall velocity of the project. This includes reducing technical debt like flaky tests, but it also means improving our processes to help new people join the team and be productive faster. To this end, we will be starting a regular meeting for team members where velocity issues can be raised, documented, and addressed. Meetings are announced to team members on our Discord using the Discord Events feature.
+
+Depending on the economic and epidemiological climates, we may also organize a summit to bring the team together.
+
+We also plan to spend some time this year going through our issue backlog, closing issues that are obsolete or not actionable, and prioritizing the remaining issues.
+
+## Performance
+
+Our top priority for Flutter improvements this year is performance.
+
+We want to completely [remove shader compiler jank](https://github.com/orgs/flutter/projects/21), first on iOS and then on Android and desktop.
+
+For web, we are working on [supporting Wasm as a target](https://github.com/flutter/flutter/issues/41062), and have plans to investigate the use of [multi-threaded rendering](https://github.com/flutter/flutter/issues/114243), reduce the download size for a basic Flutter application, and improve the performance of custom shaders.
+
+For our VM-based backends, we are looking to make [improvements to our memory allocation strategy](https://github.com/dart-lang/sdk/issues/47574) to improve responsiveness and app startup performance.
+
+## Quality
+
+Accessibility is critical to Flutter applications, and we will continue to invest heavily in making it easy for Flutter applications to be accessible, improving the quality of our accessibility support on all our platforms. Similarly, it is important to us to continue to improve our documentation. In both cases, the improvements are largely expected to be in the form of bug fixes and small patches, rather than large projects that are easy to describe on a roadmap, but that does not make them any less important.
+
+We will also continue to implement features needed for full fidelity on each platform, especially the fast-moving Android and iOS. For example, we expect to make significant progress on our Cupertino widget set this year, bringing it up to date and growing the number of supported widgets, and we plan to implement support for [Android's predictive back gesture](https://github.com/flutter/flutter/issues/109513) and [Android handwriting input](https://github.com/flutter/flutter/issues/115607). We also plan to port the [camera plugin](https://github.com/flutter/packages/tree/main/packages/camera) to Android's latest CameraX APIs.
+
+## Security
+
+We will continue to work on [SLSA compliance](https://slsa.dev/) (supply chain integrity), with a goal to reach SLSA-3 for our main repositories this year, with an eye to continue to SLSA-4 next year. We also want to extend our tooling to enable Flutter package and application developers to achieve the same level of security.
+
+## Features
+
+We do expect to spend some time on a few new features. These are generally driven by one of three motivations: popularity (we look at how many "thumbs-up" reactions an issue has received to help prioritize efforts), parity and portability (once one platform supports a feature, we feel it is important to make it work everywhere), and supporting some other effort (e.g. a new feature that can enable further performance improvements).
+
+The most notable features we expect to implement this year are:
+
+* [Custom asset transformers](https://github.com/flutter/flutter/issues/101077), because they enable some performance improvements.
+* [Efficient 2D scrolling widgets](https://github.com/orgs/flutter/projects/32) (e.g. [tables](https://github.com/flutter/flutter/issues/87370) and [trees](https://github.com/flutter/flutter/issues/114299)), to improve the performance of applications with this kind of interface.
+* [Multiple windows](https://github.com/flutter/flutter/issues/30701), especially for desktop platforms, because this is a very highly requested feature.
+* Platform Views on [macOS](https://github.com/flutter/flutter/issues/41722) and [Windows](https://github.com/flutter/flutter/issues/108486), by popular demand.
+* [Drag and drop](https://github.com/flutter/flutter/issues/30719), also by popular demand.
+* [Wireless debugging on iOS](https://github.com/flutter/flutter/issues/15072), our second-most-requested feature.
+* [Custom "flutter create" templates](https://github.com/flutter/flutter/issues/77104), which makes it much easier for third-parties (e.g. [the Flame engine](https://flame-engine.org/)) to bootstrap developers.
+* Supporting [element embedding](https://github.com/flutter/flutter/issues/118481) (see also [#32329](https://github.com/flutter/flutter/issues/32329)), which allows Flutter content to be added to any standard web <div>, by popular demand.
+
+## Research
+
+A lot of developers have expressed an interest in creating applications that integrate closely with the look and feel of their target platform, while supporting multiple platforms, without having to reimplement their interface multiple times. We want to study whether some form of adaptive layout would be able to address these needs, starting with Android vs iOS.
+
+With our new graphics backend comes the opportunity for new features, and one in particular that we are interested in studying more closely is the integration of 3D into Flutter scenes. We expect to begin experiments with 3D this year. Similarly, we believe our new graphics backend may enable improvements to the low-level dart:ui API, and new shader features.
+
+Relatedly, we are investigating implementing [wide color gamut support](https://github.com/flutter/flutter/issues/55092) (probably starting with iOS), as it is a highly requested feature.
+
+We are also actively investigating migrating from ICU4C to ICU4X (the new [Rust-based ICU backend](https://github.com/unicode-org/icu4x)), which will require research into how to embed Rust into our build pipeline across all our platforms, how to share Rust code between our engine and Dart FFI packages, and how to perform tree-shaking for binary code used in such packages.
+
+Finally, we expect to spend some time investigating how to update Flutter to take advantage of new features coming from Dart this year, such as updating our APIs to make use of records and patterns, updating our toolchain to support RISC-V, or making use of new FFI features for plugins.
+
+## Releases
+
+We plan to have four stable releases and 12 beta releases during 2023. In 2023 we will probably move to announcing new features when they reach the beta channel rather than waiting for them to be on the stable release channel. In general we encourage people looking for a faster update cycle to use the beta channel.
+
+## Non-goals
+
+We unfortunately have had to shelve our current efforts to implement hot reload on web, as our web compiler experts are all working on Wasm production support. We also have no plans currently to implement [code push](https://github.com/flutter/flutter/issues/14330#issuecomment-1279484739), built-in support for wearables ([Apple Watch](https://github.com/flutter/flutter/issues/28901#issuecomment-1385926218), [Android Wear](https://github.com/flutter/flutter/issues/2057)) or [automotive integrations](https://github.com/flutter/flutter/issues/26801#issuecomment-1013565542), built-in support for [SEO on web](https://github.com/flutter/flutter/issues/46789#issuecomment-1007835929), or [installation via homebrew](https://github.com/flutter/flutter/issues/14050#issuecomment-1012647917). (Some of these have excellent packages available though.)
+
+In general we prioritize [issues with the most thumbs-up reactions on GitHub](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc), and the astute among you may notice that the list of non-goals includes a number of these highest-rated issues. Unfortunately, we have discovered a pattern that we did not expect, though it is obvious in retrospect: when we address all the highest-ranked issues except for those that are technically infeasible or intractable for whatever reason, the result is that the highest-ranked issues that are left are _all_ issues that are infeasible or somehow intractable.
+
+_See also: [[Popular issues]], which discusses each of the top 10 issues._
+
+
+# 2022
+
+_You may also be interested in [Google's discussion of its strategy for Flutter in 2022](https://medium.com/flutter/flutter-in-2022-strategy-and-roadmap-8c5eaf7c4275)._
+
+## Areas of Focus
+
+### Developer experience
+
+The area where we will spend most of our focus is the developer experience. It is our intent to create an SDK that developers love. This will manifest in a myriad of different areas, for example creating widgets or plugins that solve common scenarios, cleaning up existing APIs, introducing new APIs to simplify frequently-seen patterns, improving error messages, evolving our developer tools and IDE plugins, creating new lints, fixing bugs in the framework and engine, improving API documentation, creating more useful samples, hot reload on the web, and improving stack traces in Dart-to-JS scenarios.
+
+### Desktop
+
+In 2022 we plan to bring our desktop support to the stable channel. We plan on focusing on testing and announcing one platform at a time, as they become ready, starting with [Windows](https://github.com/flutter/flutter/projects/209), then [Linux](https://github.com/flutter/flutter/projects/216), and [macOS](https://github.com/flutter/flutter/projects/215). A significant part of this effort is expanding our regression test suite to give us the confidence that enables us to expand on these efforts without breaking existing code.
+
+### Web
+
+Regarding Flutter for web in particular, we plan to work on improving performance, plugin quality, accessibility, and consistency across browsers. We also intend to make it much easier to embed Flutter applications inside other, non-Flutter, HTML pages.
+
+### Framework and engine
+
+We will update the Material library to [support Material 3](https://github.com/flutter/flutter/issues/91605). This is primarily motivated by our goal to improve fidelity with Android, though it is not limited to that platform.
+We intend to implement cross-widget text selection. This is motivated by our goal of achieving good fidelity with the web platform, though again it is not limited to the web.
+
+We intend to improve the text editing experience on various platforms, for example improving our fidelity with desktop text editing conventions and our integration with iPadOS handwriting recognition.
+
+For desktop and web we will provide a solution for menus (context menus and menu bars), including integration with the host OS (which is particularly relevant for macOS).
+
+Finally, also motivated by desktop though again not limited just to that platform, we intend to experiment with supporting rendering to multiple windows from a single Isolate.
+
+### Dart
+
+We plan to continue to evolve the language at a deliberately slow but steady pace. We expect to introduce one major feature in 2022 (probably static metaprogramming; we will make decisions based on our confidence that the feature will improve the language), as well as some minor language improvements, probably including improving the import syntax for packages.
+
+We also plan to expand Dart's compilation toolchain to support compiling to Wasm, contingent on the timely standardisation of WasmGC.
+
+### Jank
+
+[In 2021](https://docs.google.com/presentation/d/1QbNm5Z4JyZLd6czVEL3jlgeR7R_ENgXlnm64n2Z40ss/edit) we resolved a number of issues around jank, but our conclusion was that we needed to entirely rethink how we used shaders. As a result, we have been rewriting our graphics backend. In 2022, we intend to migrate Flutter on iOS to this new architecture, and then, based on our experience with this, begin work on porting this solution to other platforms. In addition, we will also implement other performance improvements and performance introspection features, such as those which our new [DisplayList](https://github.com/flutter/flutter/issues/85737) system has made possible.
+
+## Planned deprecations
+
+We plan to [drop support for 32bit iOS](https://flutter.dev/go/rfc-32-bit-ios-support) in 2022.
+
+## Infrastructure
+
+In 2022 we will increase our investment in supply chain security, with the intent to eventually bring our infrastructure in line with the requirements described in [SLSA level 4](https://slsa.dev/spec/).
+
+***
+
+# 2021
+
+## Areas of Focus
+
+### Null safety
+
+We will be introducing [Dart's sound null safety](https://dart.dev/null-safety) to Flutter, and shepherding the migration of the plugin and package ecosystem to null safety, including migrating the packages and plugins directly maintained by the Flutter team.
+
+As part of this we plan to provide a migration tool, samples, and documentation to aid migration of existing code.
+
+### Android and iOS
+
+We are continuing to address [jank-on-startup performance issues](https://github.com/flutter/flutter/projects/188).
+
+We will work on supporting incremental downloads of assets and code from the stores (subject to each platform's limitations), allowing the initial download of applications to be much smaller than the full download, with data fetched on demand.
+
+We will also seek to improve the performance and ergonomics, and reduce the overhead, of embedding Flutter in existing applications on Android and iOS.
+
+In addition, as usual, we plan to add support for new features of the iOS and Android operating systems.
+
+### Web and Desktop
+
+Our goal for 2021 is to deliver production-quality support for Web, macOS, Windows and Linux, in addition to iOS and Android, enabling developers to create apps across six separate platforms using the same SDK.
+
+For Web specifically, our focus will be on fidelity and performance, rather than new features, as we drive to prove that Flutter can provide a high quality experience on the Web.
+
+For desktop, in addition to ensuring a quality experience, we will also be completing our work on the accessibility layer, and adding support for showing multiple independent windows.
+
+### Improving the developer experience
+
+We will continue to focus on removing friction points. One area of research will be around reducing the boilerplate needed to achieve common goals in Flutter. We will also build on our investment in migration tooling for null safety to investigate the possibility of creating tooling that enables us to make breaking changes easier for developers to manage, which would enable us to make some long-desired improvements to our APIs that we have so far avoided due to their breaking nature.
+
+### Ecosystem
+
+In 2021, we will continue to work with the community on the Flutter-team-supported plugins. The goal will be to bring the pre-release plugins up to production quality and maintain them at that level by being increasingly responsive to issues and PRs.
+We also plan specifically to make significant improvements to the WebView plugin.
+
+### Quality
+
+We will have efforts around improving Flutter’s memory usage, application download size overhead, runtime performance, battery usage, and jank, based on experiences with real Flutter-based applications. These may take the form of engine or framework fixes, as well as documentation or videos describing best practices. We also intend to improve our tooling to help debug issues around memory usage.
+
+In addition, we will continue to address bug reports. In 2020, we [resolved](https://github.com/issues?q=is%3Aissue+closed%3A2020+is%3Aclosed+user%3Aflutter) over 17,000 issues during the year, and our goal is to have at least that level of impact in 2021.
+
+### New features
+
+While in 2020 we primarily focused on fixing bugs, in 2021 we plan to also add significant new features. Some are listed above. We also intend to make improvements to our table widgets and introduce some tree widgets, with support for large numbers of columns, rows and/or tree levels, and column- or row-spanning cells.
+
+## Release Channels and Cadence
+
+Flutter offers three “channels” from which developers can receive updates: master, beta and stable, with increasing levels of stability and confidence of quality but longer lead times for changes to propagate. We plan to release one beta build each month, typically near the start of the month, and about four stable releases throughout the year. We recommend that you use the stable channel for apps released to end-users. For more details on our release process, see the [Flutter build release channels](https://github.com/flutter/flutter/wiki/Flutter-build-release-channels) wiki page.
+
+We used to also have a _dev_ channel which represented a level of stability between master and beta. At the end of 2021, we retired this channel; it is no longer updated.
+
+***
+
+# 2020
+
+## Areas of focus
+
+### Web and Desktop
+
+At our Flutter Interact event in December 2019, we announced that our support for Web had progressed to beta-level quality. We intend to continue this work with the goal of having Web be supported as an equal peer to Android and iOS. We hope to similarly continue our work in making Flutter the best way to create desktop applications.
+
+Our goal for this year is that you should be able to run `flutter create; flutter run` and have your application run on Web browsers, macOS, Windows, Android, Fuchsia, and iOS, with support for hot reload, plugins, testing, and release mode builds. We intend to ensure that our Material Design widget library works well on all these platforms.
+
+_We don't intend to provide desktop-equivalents of the Cupertino widget library in 2020._
+
+### Quality
+
+Our other main goal is to improve Flutter's quality, fixing bugs and addressing a few of the most-highly requested features. This covers a wide range of areas but we have a particular focus on our Cupertino library and iOS fidelity, our support for the long tail of Android devices, and the development experience.
+
+We intend to deliver on long-anticipated features such as our router refactor, instance state saving and restoring, and an improved internationalization workflow.
+
+In general in 2020 we intend to primarily focus on fixing bugs rather than adding new features.
+
+_We mainly use the "Thumbs-Up" emoji reactions on the first comment of an issue to determine its importance. See the [Issue hygiene](https://github.com/flutter/flutter/wiki/Issue-hygiene) wiki page for more details on our prioritization strategy._
diff --git a/docs/unsorted_wiki/postmortem-template.md b/docs/unsorted_wiki/postmortem-template.md
new file mode 100644
index 0000000..4db10c4
--- /dev/null
+++ b/docs/unsorted_wiki/postmortem-template.md
@@ -0,0 +1,73 @@
+# Flutter postmortem: {Incident Title}
+
+Status: {draft|final}<br>
+Owners: {who drove the incident resolution}
+
+## Summary
+
+Description: {brief description of symptoms and root cause}<br>
+Component: {affected area}<br>
+Date/time: {YYYY-MM-DD HH:MM}<br>
+Duration: {time from initial breakage to final resolution}<br>
+User impact: {who was affected by the incident}
+
+## Timeline (all times in PST/PDT)
+
+### 1900-01-01
+
+14:44 - something happened<br>
+14:45 - next thing happened **<START OF OUTAGE>**
+
+### 1900-01-02
+
+09:12 - another thing happened **<END OF OUTAGE>**
+
+## Impact
+
+{summarize the problems that the outage caused}
+
+## Root causes
+
+{without blame, describe the root cause of the outage}
+
+## Lessons learned
+
+### What worked
+
+{list things where things worked as expected in a positive manner}
+
+### Where we got lucky
+
+{list things that mitigated this incident but not because of our foresight}
+
+### What didn't work
+
+{list things that failed, with github issues from the action items section}
+
+## Action items
+
+{each item here should have an owner}
+
+### Prevention
+
+{link to github issues for things that would have prevented this failure from happening in the first place, such as input validation, pinning dependencies, etc}
+
+### Detection
+
+{link to github issues for things that would have detected this failure before it became An Incident, such as better testing, monitoring, etc}
+
+### Mitigation
+
+{link to github issues for things that would have made this failure less serious, such as graceful degradation, better exception handling, etc}
+
+### Process
+
+{link to github issues for things that would have helped us resolve this failure faster, such as documented processes and protocols, etc}
+
+### Fixes
+
+{link to github issues or PRs/commits for the actual fixes that were necessary to resolve this incident}
+
+## Appendix
+
+{any other useful information, such as relevant chat logs}
\ No newline at end of file