Flutter 3.22.0 release notes

This page has release notes for 3.22.0. For information about subsequent bug-fix releases, see our CHANGELOG.

Flutter

#

Framework

#
  • Disable test shuffling in widget_tester_leaks_test.dart by @zanderso in 141110
  • Fix spell check throws when text contains regex reserved characters by @bleroux in 140384
  • Remove conditions that depend on order. by @polina-c in 141183
  • Upgrade leak_tracker. by @polina-c in 141153
  • Update RouteObserver example and fix an error thrown by @TahaTesser in 141166
  • Introduce new Form validation method by @SharbelOkzan in 135578
  • Reapply "Dynamic view sizing" (#140165) by @goderbauer in 140918
  • Correctly handle null case in ProcessText.queryTextActions by @kevmoo in 141205
  • TextStyle: In copyWith, stop ignoring debugLabel when receiver has none by @chrisbobbe in 141141
  • NestedScrollView's outer scrollable jumping with BouncingScrollPhysics due to double precision errors by @Michal-MK in 138319
  • Improve testing for leak tracking. by @polina-c in 140553
  • Fix mechanism to pass flag for leak tracking. by @polina-c in 141226
  • Call onPopInvoked when pages API is used by @justinmc in 141221
  • Add covariants to reduce subclass casts in 2D APIs by @Piinks in 141318
  • Fix a leak. by @polina-c in 141312
  • Add dart fix support to flutter_driver by @Piinks in 141300
  • Add impeller key to skia gold client, Turn on a framework test shard that will run unit tests with --enable-impeller by @jonahwilliams in 141341
  • Fix ListWheelScrollView in an AnimatedContainer with zero height throw an error by @TahaTesser in 141372
  • Fix typo by @QuncCccccc in 141426
  • unpin web_socket_channel and roll pub packages by @christopherfujino in 141424
  • Added newline at end of .gitignore files by @OutdatedGuy in 141270
  • BoxPainter should dispatch creation and disposal events. by @ksokolovskyi in 141526
  • Reverts "BoxPainter should dispatch creation and disposal events." by @auto-submit in 141545
  • Reference GitHub issue in TODO comment by @bartekpacia in 141582
  • Allow selection in composing region by @LongCatIsLooong in 140516
  • TrainHoppingAnimation should dispatch creation and disposal events. by @ksokolovskyi in 141635
  • [web] prepare for 49786 by @yjbanov in https://github.com/flutter/flutter/pull/141700
  • [web] prepare layers_test.dart for 49786 by @yjbanov in https://github.com/flutter/flutter/pull/141731
  • Enable native compilation for windows-arm64 by @pbo-linaro in 137618
  • ScaleGestureRecognizer pointerCount=2 for trackpad gestures by @moffatman in 140745
  • Reverts "Enable native compilation for windows-arm64 " by @auto-submit in 141809
  • enable more tests in web mode by @yjbanov in 141791
  • Tiny fix inaccurate documentations about bindings by @fzyzcjy in 140282
  • Revert "Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal (#140101)" by @Hixie in 141814
  • Mark defaultTargetPlatform as constant for non-debug non-web builds. by @sstrickl in 141105
  • Add documentation which explains that debugPrint also logs in release mode by @ueman in 141595
  • Remove unneeded expectation in test by @gspencergoog in 141822
  • Do not hang on test failures of tests within flutter_tools by @matanlurey in 141821
  • Remove duplicate code as suggested by natebosch. by @matanlurey in 141988
  • Floating cursor docs by @justinmc in 133002
  • Enable contextMenuBuilder in the absence of selectionControls by @Hixie in 141810
  • Add a comment about how to test flutter_goldens by @Hixie in 141902
  • Remove unused clipBehavior from OverflowBar by @goderbauer in 141976
  • Merge flutter_goldens_client into flutter_goldens by @Hixie in 141900
  • Ignore a leak. by @polina-c in 141737
  • Refactor external_uiexternal_textures by @matanlurey in 142062
  • Upgrade leak_tracker. by @polina-c in 142162
  • PopScope example improvements by @justinmc in 142163
  • Implementing switch expressions in the cupertino/ directory by @nate-thegrate in 141591
  • fix Ink not updating on TextField newline by @NobodyForNothing in 140700
  • Enable native compilation for windows-arm64 by @pbo-linaro in 141930
  • Instrument ImageInfo. by @polina-c in 141411
  • Start renaming by adding a new bringup: true as an Android emulator. by @matanlurey in 142257
  • Fix not disposed ImageInfo in tests. by @polina-c in 142287
  • Add runWidget to bootstrap a widget tree without a default View by @goderbauer in 141484
  • Reverts "Add runWidget to bootstrap a widget tree without a default View" by @auto-submit in 142339
  • Remove duplicate global declaration of UserMessages by @andrewkolos in 142281
  • Fix assertion failure when reordering two dimensional children by @Amir-P in 141504
  • Relands "Add runWidget to bootstrap a widget tree without a default View" by @goderbauer in 142344
  • Update Android minSdkVersion to 21 by @zanderso in 142267
  • Opt out test from leak tracking. by @polina-c in 142417
  • Fix SliverMainAxisGroup geometry cacheExtent by @Piinks in 142482
  • Reset framesEnabled to default value at the end of each test by @aizatazhar in 141844
  • use PDI to end the isolated scope for RLI by @kseino in 141345
  • "System back gesture" explanation by @justinmc in 142254
  • Fix ParentDataWidget crash for multi view scenarios by @goderbauer in 142486
  • Unpin test by @christopherfujino in 141427
  • fix CupertinoTabView's Android back button handling with PopScope by @sstasi95 in 141604
  • Fix leaks in tests. by @polina-c in 142677
  • Write Tests for API Example of form.0.dart by @piedcipher in 142635
  • Avoid depending on files from build_system/targets other than from top level entrypoints in flutter_tools. by @chingjun in 142760
  • Support navigation during a Cupertino back gesture by @justinmc in 142248
  • Fix CupertinoTextSelectionToolbar clipping by @luccasclezar in 138195
  • Update TextSelectionOverlay by @justinmc in 142463
  • Update gradle lockfiles template by @bartekpacia in 140115
  • Reverts "Update gradle lockfiles template" by @auto-submit in 142889
  • Grey out non-selectable days in CupertinoDatePicker by @ShaunByrne-UniSA in 136181
  • Fix CupertinoPageScaffold resizeToAvoidBottomInset by @moffatman in 142776
  • Make destructiveRed a CupertinoDynamicColor by @paldepind in 141364
  • [Windows] Fix signed/unsigned int comparison by @cbracken in 142341
  • Update _goldens_io.dart to generate failure images during a size mism… by @bramp in 142177
  • Instrument CurvedAnimation. by @polina-c in 143007
  • Dispose precached image info by @dnfield in 143017
  • Handle transitions to AppLifecycleState.detached in lifecycle state generation by @maRci002 in 142523
  • Add indexInParent to SemanticsNode debug information by @goderbauer in 142826
  • Add the number of mismatched pixels to golden tests output by @ValentinVignal in 142975
  • Add a test for the isAvailableForEnvironment logic by @Hixie in 142251
  • Restore log dumps for gradle OOM crashes, and set a value for MaxMetaspaceSize by @gmackall in 143085
  • Reland "Update gradle lockfiles template (#140115)" by @bartekpacia in 143081
  • Cross-link SliverFixedExtentList/SliverPrototypeExtentList/SliverVariedExtentList by @goderbauer in 143184
  • Layout animated GIFs only once by @goderbauer in 143188
  • Migrate integration_test plugin to Gradle Kotlin DSL by @bartekpacia in 142008
  • Set plugin template minimum iOS version to 12.0 by @jmagman in 143167
  • Add position data to OnDragEnd callback by @whiskeyPeak in 140378
  • Fix: performance improvement on golden test comparison by @krispypen in 142913
  • Upgrade leak_tracker. by @polina-c in 143236
  • Fix text painter longest line resizing logic for TextWidthBasis.longestLine by @LongCatIsLooong in 143024
  • Update integration_test iOS FTL README script to remove targeted version by @jmagman in 143248
  • Add documentation for best practices for StreamBuilder like FutureBuilder by @ValentinVignal in 143295
  • [web] Move JS interop to extension types by @kevmoo in 143274
  • Revert "Migrate integration_test plugin to Gradle Kotlin DSL (#142008)" by @camsim99 in 143329
  • Implementing switch expressions in widgets/ by @nate-thegrate in 143293
  • Update dependencies in integration test by @reidbaker in 143111
  • Have FocusManager respond to app lifecycle state changes by @nate-thegrate in 142930
  • [devicelab] retain first frame data in certain integration tests. by @jonahwilliams in 143419
  • Format all kotlin according to ktlint by @gmackall in 143390
  • Add more documentation for TextEditingController default constructor by @bleroux in 143452
  • Fix and test SemanticsController.simulatedAccessibilityTraversal by @Piinks in 143386
  • Reverts "Fix and test SemanticsController.simulatedAccessibilityTraversal (#143386)" by @auto-submit in 143523
  • Reland simulatedAccessibilityTraversal fix by @Piinks in 143527
  • Fix minor spelling error by @jawscout in 143541
  • Fix SemanticsFinder for multi-view by @goderbauer in 143485
  • Fix implementation imports outside of lib by @goderbauer in 143594
  • [framework] Skip 5 failing framework tests. by @jonahwilliams in 143618
  • [Impeller] skip perspective transformed text goldens. by @jonahwilliams in 143623
  • [Impeller] skip selectable text goldens for instability. by @jonahwilliams in 143627
  • ShowCaretOnScreen is correctly scheduled within a SliverMainAxisGroup by @yiiim in 141671
  • Fixed the issue of incorrect item position when prototypeItem is set in SliverReorderableList. by @yiiim in 142880
  • Small fixes in TextEditingController docs by @gnprice in 143717
  • Handle FormatException from SkiaGoldClient by @zanderso in 143755
  • Explain when and why to use CrossAxisAlignment.baseline by @gnprice in 143632
  • [gold] Always provide host ABI to gold config by @jonahwilliams in 143621
  • Change ItemExtentBuilder's return value nullable by @xu-baolin in 142428
  • Implement _suspendedNode fix by @nate-thegrate in 143556
  • Fix initialization of time in repeat on AnimationController by @paldepind in 142887
  • Deprecate redundant itemExtent in RenderSliverFixedExtentBoxAdaptor methods by @Piinks in 143412
  • Disable color filter sepia test for Impeller. by @jonahwilliams in 143861
  • Re-use methods to calculate leading and trailing garbage in RenderSliverMultiBoxAdaptor by @Piinks in 143884
  • Support using lightweight Flutter Engines to run tests by @derekxu16 in 141726
  • Fix documentation typo in basic.dart by @gruner in 143887
  • Add missing TextPainter.strutStyle to paragraph style by @LongCatIsLooong in 143771
  • Use inlining annotations on important methods for all targets by @mkustermann in 143923
  • Remove deprecated FlutterDriver.enableAccessibility by @Piinks in 143979
  • Remove deprecated MediaQuery.boldTextOverride by @goderbauer in 143960
  • Remove deprecated TimelineSummary.writeSummaryToFile by @Piinks in 143983
  • Remove deprecated AnimatedListItemBuilder, AnimatedListRemovedItemBuilder by @goderbauer in 143974
  • Remove deprecated KeepAliveHandle.release by @LongCatIsLooong in 143961
  • Remove deprecated InteractiveViewer.alignPanAxis by @LongCatIsLooong in 142500
  • disable debug banner in m3 page test apps. by @jonahwilliams in 143857
  • Render the warm up frame in a proper rendering process by @dkwingsmt in 143290
  • Implementing switch expressions in rendering/ by @nate-thegrate in 143812
  • Allow Listenable.merge() to use any iterable by @nate-thegrate in 143675
  • Move debugShowWidgetInspectorOverride by @polina-c in 144029
  • Remove strut migration flag from TextPainter by @LongCatIsLooong in 144242
  • Cache FocusNode.enclosingScope, clean up descendantsAreFocusable by @LongCatIsLooong in 144207
  • Remove deprecated CupertinoContextMenu.previewBuilder by @LongCatIsLooong in 143990
  • Clean up lint ignores by @eliasyishak in 144229
  • fix: unexpected chinese punctuation by @ufolux in 143678
  • Use const route for notAnnounced. by @polina-c in 144050
  • Reverts "Cache FocusNode.enclosingScope, clean up descendantsAreFocusable (#144207)" by @auto-submit in 144292
  • Remove irrelevant comment in TextPainter by @tgucio in 144308
  • Disable flaky golden file test by @Piinks in 144351
  • ReportTiming callback should record the sendFrameToEngine when it was scheduled by @dkwingsmt in 144212
  • Reland "Cache FocusNode.enclosingScope, clean up descendantsAreFocusable (#144207)" by @LongCatIsLooong in 144330
  • Use robolectric/AndroidJUnit4 for integration test tests by @dnfield in 144348
  • Docs on the interaction between Shortcuts and text input by @justinmc in 144328
  • [flutter_tools] Update external link in Android manifest template by @bleroux in 144302
  • Add FocusNode.focusabilityListenable by @LongCatIsLooong in 144280
  • Add stateful reordering test for TwoDimensionalViewport by @Amir-P in 142375
  • [Windows] Update keyboard modifiers link by @loic-sharma in 144426
  • Fix Small Typo in Skia_Client Doc Comment by @piedcipher in 144490
  • Fix text color for default CupertinoContextMenuAction by @bleroux in 144542
  • Remove unnecessary (and the only) RenderObject.markParentNeedsLayout override by @LongCatIsLooong in 144466
  • Disable super flakey impeller test. by @jonahwilliams in 144573
  • Updated the TextButton image button example artwork by @HansMuller in 144583
  • Restorable CupertinoTextFormFieldRow by @bleroux in 144541
  • Updated the smiley TextButton example again by @HansMuller in 144630
  • Fill in SliverConstraints fields missing from ==, hashCode, toString by @gnprice in 143661
  • [Impeller] measure GPU memory usage. by @jonahwilliams in 144575
  • Fix code sample failing in smoke test by @goderbauer in 144709
  • Use wasm-compatible conditional import in timeline.dart, avoid emitting timeline events in SchedulerBinding by @mkustermann in 144682
  • Fix memory leak in editable_gesture_test.dart by @ValentinVignal in 144691
  • [flutter_test] Use defaultTargetPlatform for key events simulation by @bleroux in 143579
  • Rename isAvailableForEnvironment to isForEnvironment by @Hixie in 143176
  • Reverts "Rename isAvailableForEnvironment to isForEnvironment (#143176)" by @auto-submit in 144855
  • Upgrade vm_service. by @polina-c in 144845
  • Rename isAvailableForEnvironment to isForEnvironment (#143176) by @Hixie in 144858
  • Skip test temporarily until headingLevel is added in engine (issue 41… by @victorgalo in 135077
  • Fail tests on exceptions raised after test completed by @goderbauer in 144706
  • Reverts "Fail tests on exceptions raised after test completed (#144706)" by @auto-submit in 144970
  • Add platform check to FocusManager app lifecycle listener by @nate-thegrate in 144718
  • Write unit tests for API Examples of checkbox.0, checkbox.1 by @Moelfarri in 144888
  • Reland "Fail tests on exceptions raised after test completed (#144706)" by @goderbauer in 144980
  • Manually roll pub packages by @gmackall in 145005
  • Update gold validator to check for regression in flutter-gold check by @Piinks in 145008
  • Add a microbenchmark for text intrinsic height layout by @LongCatIsLooong in 145007
  • Reverts "Add a microbenchmark for text intrinsic height layout (#145007)" by @auto-submit in 145029
  • Reland "Add a microbenchmark for text intrinsic height layout (#145007)" by @LongCatIsLooong in 145037
  • [New feature]Introduce iOS multi-touch drag behavior by @xu-baolin in 141355
  • Set cacheExtent for SliverFillRemaining widget by @vashworth in 143612
  • Fix Cupertino Context Menu Container to Remove White Corners by @dhikshith12 in 144883
  • Revert "Add FocusNode.focusabilityListenable (#144280)" since the feature is no longer needed by @LongCatIsLooong in 145102
  • RenderViewport max layout cycles should depend on number of slivers by @knopp in 144104
  • Asserts if a TextPainter gets disposed more than once by @LongCatIsLooong in 145124
  • Platform view devicelab ad banner scroll list real ads by @hellohuanlin in 144745
  • Reverts "Platform view devicelab ad banner scroll list real ads (#144745)" by @auto-submit in 145189
  • Reland: "Platform view devicelab ad banner scroll list real ads" by @hellohuanlin in 145224
  • Reverts "Reland: "Platform view devicelab ad banner scroll list real ads" (#145224)" by @auto-submit in 145228
  • Use a separate TextPainter for intrinsics calculation in RenderEditable and RenderParagraph by @LongCatIsLooong in 144577
  • Platform view devicelab ad banner scroll list real ads by @jmagman in 145239
  • Factor out use of "print" in flutter_goldens by @Hixie in 144846
  • Activate shortcuts based on NumLock state by @bleroux in 145146
  • Roll pub packages by @flutter-pub-roller-bot in 145476
  • Add WidgetsApp.debugShowWidgetInspectorOverride again (deprecated) by @passsy in 145334
  • flutter test --wasm support by @eyebrowsoffire in 145347
  • Clarify AutomaticKeepAliveClientMixin semantics in build method by @Hixie in 145297
  • Fix nullability of getFullHeightForCaret by @goderbauer in 145554
  • Add some cross references in the docs, move an example to a dartpad example by @gspencergoog in 145571
  • Adds numpad navigation shortcuts for Linux by @bleroux in 145464
  • 2DScrollView - Fix drag when one axis does not have enough content by @Piinks in 145566
  • Fix skipping golden comparator for CI environments by @Piinks in 145619
  • [web][docs] Improve HtmlElementView widget docs. by @ditman in 145192
  • Fix typo in hitTest docs by @ksokolovskyi in 145677
  • Memory leaks clean up 1 by @ksokolovskyi in 145691
  • TwoDimensionalChildDelegate should dispatch creation and disposal events by @ksokolovskyi in 145684
  • Update semantics.dart by @eltociear in 145683
  • Add a --print-dtd flag to print the DTD address served by DevTools server by @kenzieschmoll in 144272
  • Fix memory leak in Overlay.wrap. by @ksokolovskyi in 145744
  • Memory leaks clean up 2 by @ksokolovskyi in 145757
  • [web] Add BackgroundIsolateBinaryMessenger.ensureInitialized to web. by @ditman in 145786
  • Add viewId to TextInputConfiguration by @mdebbar in 145708

Material

#
  • [docs] Add document content related to chip shape by @asci-00 in 140015
  • Update chip_test.dart tests for Material 3 by @TahaTesser in 140964
  • Update Chips and ChipTheme tests and for Material 3 by @TahaTesser in 141022
  • [Android] Add custom system-wide text selection toolbar buttons for SelectableRegion by @bleroux in 141103
  • resolved the issue of indeterminate CircularProgressIndicator.adaptive on Darwin by @nikkivirtuoso in 140947
  • Fix or except leaks. by @polina-c in 141081
  • Expose 'enable' property to allow the user to disable the SearchBar by @Macacoazul01 in 137388
  • Fix FlexibleSpaceBar centered title position and title color by @TahaTesser in 140883
  • Adds support for StepStyle visual property bundle to the Step widget by @Mairramer in 140825
  • Remove hack from PageView. by @polina-c in 141138
  • Reverts "Remove hack from PageView." by @auto-submit in 141479
  • Fixed a lot of typos by @anisalibegic in 141431
  • Private disposables should dispatch creation and disposal events. by @ksokolovskyi in 141535
  • Fix #141061: Add 'color' property to DrawerButton and EndDrawerButton by @imp-sike in 141159
  • Ignore or fix leaks. by @polina-c in 141468
  • Fixed few typos by @anisalibegic in 141543
  • Fix Tooltip show delay when mouse moves to one Tooltip from another by @LongCatIsLooong in 141656
  • Add headerHeight for SearchAnchor by @QuncCccccc in 141223
  • Fix: TextField can inherit errorStyle from InputDecorationTheme. by @Renzo-Olivares in 141227
  • Deprecate M2 curves by @guidezpl in 134417
  • Reland "Remove hack from PageView." by @polina-c in 141533
  • Update margin between label and icon in Tab to better reflect Material specs by @davidmartos96 in 140698
  • Move the requestKeyboard up to the widgets layer by @Hixie in 141655
  • Make pumpWidget's arguments named by @goderbauer in 141728
  • Add showDragHandle to showBottomSheet by @QuncCccccc in 141754
  • SearchAnchor search view clear button only shows up when text input is not empty by @QuncCccccc in 141755
  • Fix "Delete" tooltip is shown disabled on chips with onDeleted callback by @TahaTesser in 141770
  • Remove more textScaleFactor references by @LongCatIsLooong in 141816
  • Update ToggleButtons, ExpansionPanel, and ExpandIcon tests for Material 3 by @TahaTesser in 141868
  • Fix shape and collapsedShape isn't applied to ExpansionTile's splash ink by @TahaTesser in 141777
  • [web] - Fix broken TextField in semantics mode when it's a sibling of Navigator by @htoor3 in 138446
  • Fix RangeSlider throws a null-check error after clearSemantics is called by @TahaTesser in 141965
  • Revert "Remove hack from PageView." by @Jasguerrero in 141977
  • Add Share button to the SelectableRegion toolbar on Android by @bleroux in 141447
  • Add tooltip for the clear button on SearchAnchor's search view by @QuncCccccc in 141804
  • Update material banner maxScaleFactor to meet GAR requirement by @hangyujin in 142015
  • Don't change the height of the Textfield's labelStyle when it focused. by @yiiim in 141943
  • Revert "[web] - Fix broken TextField in semantics mode when it's a sibling of Navigator" by @Jasguerrero in 142129
  • Fixes #138773, port autocomplete to OverlayPortal by @LongCatIsLooong in 140285
  • Revise tooltip theme docs, including more cross-references by @gnprice in 137316
  • Update navigationBar label's maxScaleFactor to meet GAR requirement by @hangyujin in 141998
  • Reland "Remove hack from PageView." by @polina-c in 142172
  • Fix text selection edge scrolling when inside a horizontal scrollable by @Renzo-Olivares in 140250
  • Fix incorrect zh-cn translation for Look Up Label in selection controls by @LouiseHsu in 142158
  • Fix SegmentedButton default size and default tappable size by @QuncCccccc in 142243
  • Remove textScaleFactor references from flutter/flutter by @LongCatIsLooong in 142271
  • Remove suspicious constant from input decorator layout by @LongCatIsLooong in 142342
  • Implementing switch expressions in foundation/ and material/ by @nate-thegrate in 142279
  • Add SingleChildScrollView for NavigationRail by @mbfakourii in 137415
  • Fix InputDecorationTheme copyWith fallback for iconColor by @goderbauer in 142462
  • Feat: TextField can scroll when disabled by @bryanoli in 140922
  • onNavigationNotification for *App.router by @justinmc in 142190
  • Organize leak tracking TODOs. by @polina-c in 142460
  • Fix: selection handles do not inherit color from local Theme widget by @Renzo-Olivares in 142476
  • Style correctness improvements for toStrings and related fixes by @Hixie in 142485
  • M3 - Fix Chip icon and label colors by @davidmartos96 in 140573
  • Add DropdownMenu.focusNode by @Hixie in 142516
  • Split out AppBar/SliverAppBar material tests by @Piinks in 142560
  • Fix null operator error when tapping on 'MenuItemButton' by @SelaseKay in 142230
  • Fix unresponsive mouse tooltip by @LongCatIsLooong in 142282
  • Mark test that leaks image. by @polina-c in 142539
  • Fix showDialog docs by @gspencergoog in 142458
  • Added ButtonStyle.foregroundBuilder and ButtonStyle.backgroundBuilder by @HansMuller in 141818
  • Fix token usages on Regular Chip and Action Chip by @davidmartos96 in 141701
  • Convert button .icon and .tonalIcon constructors to take nullable icons. by @gspencergoog in 142644
  • Introduce tone-based surfaces and accent color add-ons - Part 1 by @QuncCccccc in 142654
  • Reverts "Added ButtonStyle.foregroundBuilder and ButtonStyle.backgroundBuilder" by @auto-submit in 142748
  • Implement switch expressions in lib/src/material/ by @nate-thegrate in 142634
  • Reland: Added ButtonStyle.foregroundBuilder and ButtonStyle.backgroundBuilder by @HansMuller in 142762
  • fix AppBar docs for backgroundColor & foregroundColor by @BiskupMaik in 142430
  • TextField context menu should fade on scroll on mobile devices by @Renzo-Olivares in 138313
  • Add AnimationStyle to showSnackBar by @TahaTesser in 142825
  • Material 3 - Tab indicator stretch animation by @davidmartos96 in 141954
  • Reverts "Add AnimationStyle to showSnackBar" by @auto-submit in 143001
  • Activate InkSparkle on CanvasKit by @bleroux in 138545
  • Reverts "Activate InkSparkle on CanvasKit" by @auto-submit in 143036
  • [reland] Add AnimationStyle to showSnackBar by @TahaTesser in 143052
  • Fix M3 text field height + initial step for input decorator M3 test migration by @bleroux in 142981
  • Revert "Add SingleChildScrollView for NavigationRail" by @goderbauer in 143097
  • Various improvements to text-editing-related documentation. by @Hixie in 142561
  • Fixed cursor blinking during selection. by @yiiim in 141380
  • Add a unit test for NavigationRail by @QuncCccccc in 143108
  • Correct menu position when menu is constrained by @QuncCccccc in 143121
  • barrierColor property in DialogTheme by @davidmartos96 in 142490
  • Implementing switch expressions in lib/src/material/ by @nate-thegrate in 142793
  • Introduce iconAlignment for the buttons with icon by @piedcipher in 137348
  • Fix dual focus issue in CheckboxListTile, RadioListTile and SwitchListTile by @niteshsh4rma in 143213
  • Badge class doc typo - missing [ by @EnduringBeta in 143318
  • Fix insetPadding parameter nullability for dialogs by @TahaTesser in 143305
  • Pass-Through inputFormatters in DropdownMenu by @piedcipher in 143250
  • Fix InputDecorators suffix and prefix widgets are tappable when hidden by @TahaTesser in 143308
  • Fix chips constructor docs for callbacks by @TahaTesser in 143361
  • Introduce avatarBoxConstraints & deleteIconBoxConstraints for the chips by @TahaTesser in 143302
  • [a11y] Add isEnabled semantics flag to text field by @hangyujin in 143334
  • Improve some scrollbar error messages by @loic-sharma in 143279
  • InputDecorator M3 test migration step2 by @bleroux in 143369
  • The initial/selected item on popup menu should always be visible by @QuncCccccc in 143118
  • cleanup now-irrelevant ignores for deprecated_member_use by @goderbauer in 143403
  • [a11y] Fix date picker cannot focus on the edit field by @hangyujin in 143117
  • Reverts "[a11y] Fix date picker cannot focus on the edit field (#143117)" by @auto-submit in 143493
  • Reverts "[a11y] Add isEnabled semantics flag to text field (#143334)" by @auto-submit in 143494
  • [devicelab] introduce new old gallery. by @jonahwilliams in 143486
  • Update DataTable docs for disabled DataRow ink well by @TahaTesser in 143450
  • Update MaterialStatesController docs for calling setState in a listener by @TahaTesser in 143453
  • Implementing switch expressions [refactoring flutter/lib/src/] by @nate-thegrate in 143496
  • Added Missing Field Name in Doc Comment in SnackBarThemeData by @piedcipher in 143588
  • Don't paint the cursor for an invalid selection by @LongCatIsLooong in 143533
  • Update InputDecoration.contentPadding documentation by @bleroux in 143519
  • InputDecorator M3 tests migration - Step3 by @bleroux in 143520
  • Introduce tone-based surfaces and accent color add-ons - Part 2 by @QuncCccccc in 138521
  • Clean leaks. by @polina-c in 142818
  • Changing TextPainter.getOffsetForCaret implementation to remove the logarithmic search by @LongCatIsLooong in 143281
  • Implementing switch expressions: everything in flutter/lib/src/ by @nate-thegrate in 143634
  • Avoid applying partial dartfixes on CI by @LongCatIsLooong in 143551
  • Reverts "Changing TextPainter.getOffsetForCaret implementation to remove the logarithmic search (#143281)" by @auto-submit in 143801
  • Disable debug banner to stabilize impeller goldens. by @jonahwilliams in 143794
  • more fixes to unstable impeller goldens. by @jonahwilliams in 143811
  • Add timeSelectorSeparatorColor and timeSelectorSeparatorTextStyle for Material 3 Time Picker by @TahaTesser in 143739
  • CalendarDatePicker doesn't announce selected date on desktop by @TahaTesser in 143583
  • Update hourMinuteTextStyle defaults for Material 3 Time Picker by @TahaTesser in 143749
  • Add CurvedAnimation disposals in some widgets by @ksokolovskyi in 143790
  • Add CloseButtonTooltip to the 'X' button on a SnackBar by @dsanagustin in 143934
  • Revert "Introduce tone-based surfaces and accent color add-ons - Part 2" by @QuncCccccc in 143973
  • Implementing null-aware operators throughout the repository by @nate-thegrate in 143804
  • Relands "Changing TextPainter.getOffsetForCaret implementation to remove the logarithmic search (#143281)" (reverted in #143801) by @LongCatIsLooong in 143954
  • Fix Scrollbar.thickness property is ignored when the Scrollbar is hovered by @TahaTesser in 144012
  • Reland - Introduce tone-based surfaces and accent color add-ons - Part 2 by @QuncCccccc in 144001
  • Reverts "Reland - Introduce tone-based surfaces and accent color add-ons - Part 2 (#144001)" by @auto-submit in 144262
  • Reland [a11y] Add isEnabled semantics flag to text field by @hangyujin in 143601
  • Remove bottomAppBarColor from ThemeData by @QuncCccccc in 144080
  • Add tabs_utils.dart class by @TahaTesser in 143937
  • Reland "Reland - Introduce tone-based surfaces and accent color add-ons - Part 2" by @QuncCccccc in 144273
  • Mention SelectionArea in SelectableText docs by @justinmc in 143784
  • Remove toggleableActiveColor from ThemeData by @QuncCccccc in 144178
  • Remove deprecated backgroundColor from ThemeData by @QuncCccccc in 144079
  • Reland [a11y] Fix date picker cannot focus on the edit field by @hangyujin in 144198
  • Remove master from API docs by @goderbauer in 144425
  • Horizontally expand text selection toolbar buttons in overflow menu by @bleroux in 144391
  • InputDecorator M3 tests migration - Step4 - Hint tests by @bleroux in 144169
  • Fix chips use square delete button InkWell shape instead of circular by @TahaTesser in 144319
  • Fix CalendarDatePicker day selection shape and overlay by @TahaTesser in 144317
  • Fix showDateRangePicker is missing dartpad tag and cleanup by @TahaTesser in 144475
  • Doc fix for DropdownButtonFormField.value by @QuncCccccc in 144427
  • Add missing parameter to TableBorder.symmetric, and improve class constructors by @nate-thegrate in 144279
  • Revert "_DefaultTabControllerState should dispose all created TabContoller instances. (#136608)" by @goderbauer in 144579
  • Add regression test for TabBar crash by @goderbauer in 144627
  • Adds missing style to PopupMenuButton by @piedcipher in 143392
  • Remove deprecated errorColor from ThemeData by @QuncCccccc in 144078
  • [flutter_test] Change KeyEventSimulator default transit mode by @bleroux in 143847
  • Fixed -> DropdownMenu throws exception when it is in any scrollable l… by @faisalansari0367 in 140566
  • Update documentation of AlertDialog's default TextStyle for Material 3 by @Nenuphar12 in 144697
  • Fixes the transition builder changing the Cupertino transition on Android. by @MitchellGoodwin in 134790
  • Replace dead links by @percival888 in 144827
  • Fix multiple calls to Slider's onChanged. by @yiiim in 143680
  • Refactoring if chains into switch statements by @nate-thegrate in 144905
  • Make TabController communicating creation in constructor. by @polina-c in 144912
  • add missing awaits by @goderbauer in 144978
  • InputDecorator M3 tests migration - Step5 - Helper/Counter/Error by @bleroux in 144932
  • Remove showTrackOnHover from Scrollbar and ScrollbarTheme by @QuncCccccc in 144180
  • Turning if chains into shorter switch statements by @nate-thegrate in 144977
  • [Impeller] remove unstable debug checked banner for zoom test. by @jonahwilliams in 145097
  • Fix TextField helper top padding on M3 by @bleroux in 145087
  • [framework] fix incorrect chinese localizations for Search Web and Share in selection controls by @LouiseHsu in 144857
  • Reverts "Fix TextField helper top padding on M3 (#145087)" by @auto-submit in 145168
  • Remove autofocus from the a11y_assessments app by @yjbanov in 145117
  • Implementing switch expressions in flutter/test/ by @nate-thegrate in 144580
  • Roll pub packages manually by @loic-sharma in 145170
  • Update a11y for SliverAppBar by @hangyujin in 144437
  • Introduce Split curve by @guidezpl in 143130
  • Update inherited_theme_test.dart, ink_paint_test.dart, ink_splash_test.dart, opacity_test.dart for Material 3 by @TahaTesser in 144013
  • InputDecorator M3 tests migration - Step6 - constraints by @bleroux in 145213
  • Introduce methods for computing the baseline location of a RenderBox without affecting the current layout by @LongCatIsLooong in 144655
  • Fix for issue 140372 by @prasadsunny1 in 144947
  • chore: fix some comments by @goodmost in 145397
  • Widget state properties by @MitchellGoodwin in 142151
  • Add a minTileHeight to ListTile widget so its height can be customized to less than the default height. by @hangyujin in 145244
  • Add helper widget parameter to InputDecoration by @VatsalBhesaniya in 145157
  • Fix BorderSide.none requiring explicit transparent color for UnderlineInputBorder by @bernaferrari in 145329
  • Replace RenderBox.compute* with RenderBox.get* and add @visibleForOverriding by @LongCatIsLooong in 145503
  • Intensive if chain refactoring by @nate-thegrate in 145194
  • Leak clean up. by @polina-c in 144803
  • Add AnimationStyle to showBottomSheet and showModalBottomSheet by @TahaTesser in 145536
  • [Fix]: Searchbar doesn't lose focus when tapped outside by @Sahil-kachhap in 145232
  • Fix vertical Stepper draws connector on the last step by @TahaTesser in 145703
  • Fix SearchAnchor triggers unnecessary suggestions builder calls by @TahaTesser in 143443
  • Fix ExpansionTile Expanded/Collapsed announcement is interrupted by VoiceOver by @TahaTesser in 143936
  • Fix disabled DropdownMenu doesn't defer the mouse cursor by @TahaTesser in 145686
  • Correct typo: "Free" to "Three" in comments by @dwzrlp in 145689
  • Update localization files. by @godofredoc in 145780
  • Predictive back support for routes by @maRci002 in 141373
  • Remove deprecated TextTheme members by @Renzo-Olivares in 139255
  • Update TabBar and TabBar.secondary to use indicator height/color M3 tokens by @TahaTesser in 145753

iOS

#
  • Native assets: roll deps by @dcharkes in 141684
  • Revert "Native assets: roll deps" by @Jasguerrero in 141748
  • Native assets: package in framework on iOS and MacOS by @dcharkes in 140907
  • Reapply "Native assets: roll deps" (#141748) by @dcharkes in 141864
  • Support wireless debugging for iOS 12 or earlier by @jaeyoi in 141439
  • [flutter_tools] add debugging to ios/core_devices.dart by @christopherfujino in 142187
  • Upload DerivedData logs in CI by @vashworth in 142643
  • Reverts "Move native assets to isolated/ directory" by @auto-submit in 143027
  • Remove force Xcode debug workflow by @vashworth in 144185
  • Print warning and exit when iOS device is unpaired by @jmagman in 144551
  • Fixed race condition in PollingDeviceDiscovery. by @chingjun in 145506

Android

#
  • hello_world app: migrate to Gradle Kotlin DSL by @bartekpacia in 141541

Windows

#
  • Add check for Bank of Brazil security module to Windows Flutter Doctor validators by @yaakovschectman in 141135

Tooling

#
  • Native assets support for Android Add2app by @dcharkes in 140802
  • Replace deprecated exists in podhelper.rb by @stuartmorgan in 141169
  • Unpin package:vm_service by @derekxu16 in 141279
  • [flutter_tools] fix flutter create -t skeleton by @christopherfujino in 141233
  • [Tool][Impeller] Make impellerc produce Vulkan and GLES shaders for Android. by @dnfield in 140976
  • make asset_test.dart tests not dependent on context by @andrewkolos in 141331
  • Add support for Gradle Kotlin DSL by @bartekpacia in 140744
  • When Impeller is enabled for flutter tester choose correct shader target. by @jonahwilliams in 141391
  • Expose versionCode and versionName from local.properties in FlutterExtension by @bartekpacia in 141417
  • [deep link] Update a gradle task to add flag check and intent filter check to the AppLinkSettings by @hangyujin in 141231
  • FlutterExtension: make fields non-static by @bartekpacia in 141463
  • Solve the problem that <Flutter/Flutter.h> cannot be imported when a pod transitive depends on Flutter by @intspt in 125610
  • Sort Swift imports in templates by @jmagman in 141487
  • migrate {min,target,compile}SdkVersion to {min,target,compile}Sdk by @bartekpacia in 141537
  • Delete redundant settings.ext.flutterSdkPath by @bartekpacia in 141509
  • handle rc versions of gradle in version compare by @reidbaker in 141612
  • [flutter_tools] Fix analyze size on arm64 by @christopherfujino in 141317
  • Fix the --empty flag to not try working with non-app templates by @gspencergoog in 141632
  • Make test file systems/platforms used in asset_bundle_test.dart less dependent on the host platform by @andrewkolos in 141657
  • Catch UnsupportedError thrown when user provides an asset directory path containing invalid characters by @andrewkolos in 141214
  • Fix gradle lints No semantic change should be present. by @reidbaker in 141692
  • Roll engine to 9a6c64de8a4694cef59a338cd33ac1a9e7d23d9d by @zanderso in 141870
  • Use Integer instead of int in map in flutter.groovy by @reidbaker in 141895
  • Adjust the position of require File.expand_path by @LinXunFeng in 141521
  • [flutter_tools] update analyze_once_test.dart to be null-safe by @christopherfujino in 141790
  • refactor: Rename filterPluginsByPlatform, cleanup Platform Strings by @Gustl22 in 141780
  • Reverts "hello_world app: migrate to Gradle Kotlin DSL" by @auto-submit in 142018
  • Allow overriding the native assets yaml file in the resident runner. by @chingjun in 142016
  • [flutter_tools] fix language_version_test and enable shuffle by @christopherfujino in 142009
  • consolidate AssetBundle::entries and AssetBundle::entryKinds into a new type, AssetBundleEntry by @andrewkolos in 142029
  • Add abifilters to our gradle templates by @gmackall in 135529
  • [ci] Adds test for web hot restart with const App. by @ditman in 141824
  • provide command to FakeCommand::onRun by @andrewkolos in 142206
  • Don't show legacy welcome message when analytics are disabled by @sigurdm in 140956
  • flutter.groovy: update for Gradle Kotlin DSL compatibility by @bartekpacia in 142144
  • Move iOS content validation devicelab test into tool integration test by @jmagman in 142272
  • Roll deps from dart-lang/native in templates by @dcharkes in 142322
  • [flutter_tools] remove await runZonedGuarded() in tests by @christopherfujino in 142336
  • refactor asset bundle code to not depend on the global Cache.flutterRoot by @andrewkolos in 142277
  • Add no-shuffle to language_version_test.dart by @zanderso in 142378
  • Catch file system exceptions when trying to parse user-provided asset file paths by @andrewkolos in 142214
  • Revert "Reland: "Fix how Gradle resolves Android plugin" (#137115)" by @camsim99 in 142464
  • Show Mac Designed For iPad in 'flutter devices' by @LouiseHsu in 141718
  • Refactor ShaderTarget to not explicitly mention impeller or Skia by @dnfield in 141460
  • improve error message when --base-href argument does not start with / by @andrewkolos in 142667
  • Wasm/JS Dual Compile with the flutter tool by @eyebrowsoffire in 141396
  • Reland "Add support for Gradle Kotlin DSL (#140744)" by @bartekpacia in 142752
  • Fixed test in language_version_test.dart that failed when shuffling, … by @Swiftaxe in 142904
  • Update AGP version validation code to support KGP and kotlin build files. by @mossmana in 142357
  • Move native assets to isolated/ directory by @dcharkes in 142709
  • Copy the flutter version JSON file into the simulated Flutter SDK used by update_packages by @jason-simmons in 143035
  • Remove redundant rootDirectoryPath parameter in DevFS::update by @andrewkolos in 143034
  • Fix inputs and outputs for WebReleaseBundle by @eyebrowsoffire in 143023
  • Enforce a policy on supported Gradle, Java, AGP, and KGP versions by @gmackall in 142000
  • Reverts "Enforce a policy on supported Gradle, Java, AGP, and KGP versions" by @auto-submit in 143114
  • Improve build output for all platforms by @guidezpl in 128236
  • Reverts "Improve build output for all platforms" by @auto-submit in 143125
  • Pass along web renderer into debugging options in the test command. by @eyebrowsoffire in 143128
  • Reland "Move native assets to isolated/ directory" by @dcharkes in 143055
  • [flutter_tool] Retry a gradle build on connection timeout by @zanderso in 143084
  • Revert Dual Web Compile changes by @eyebrowsoffire in 143175
  • [Re-land] Enforce a policy on supported Gradle, Java, AGP, and KGP versions by @gmackall in 143132
  • Set default flutter source directory for gradle builds by @Gustl22 in 142934
  • Revert "[Re-land] Enforce a policy on supported Gradle, Java, AGP, and KGP versions" by @reidbaker in 143314
  • [Re-re-land] Enforce a policy on supported Gradle, Java, AGP, and KGP versions by @gmackall in 143341
  • Remove message about pub cache that is not actionable by @matanlurey in 143357
  • refactor: remove implicit globals dependencies in writeBundle by @andrewkolos in 143343
  • Dual compile reland by @eyebrowsoffire in 143262
  • Fix AssetsEntry::equals by @andrewkolos in 143355
  • Use dart compile wasm for wasm compilations by @mkustermann in 143298
  • [tools] Add column header for emulators information by @Anas35 in 142853
  • Roll native_assets_builder to 0.5.0 by @dcharkes in 143472
  • Modify plugin_ffi and package_ffi template by @HosseinYousefi in 143376
  • Disentangle and align flutter build web --wasm flags by @mkustermann in 143517
  • Reverts "Disentangle and align flutter build web --wasm flags (#143517)" by @auto-submit in 143547
  • [flutter_tool] [dap] Forward Flutter progress events to DAP client by @DanTup in 142524
  • Android Gradle file templates: make it easier to convert them to Kotlin DSL in the future by @bartekpacia in 142146
  • Reland "Disentangle and align flutter build web --wasm flags (#143517)" by @mkustermann in 143549
  • rebuild the asset bundle if a file has been modified between flutter test runs by @andrewkolos in 143569
  • add parsing of assets transformer declarations in pubspec.yaml by @andrewkolos in 143557
  • Implement lineTerminator in MemoryStdout Fake by @brianquinlan in 143608
  • Add an override annotation to the lineTerminator setter in the MemoryStdout fake class by @jason-simmons in 143646
  • Reland (2): "Fix how Gradle resolves Android plugin" by @Gustl22 in 142498
  • instead of exiting the tool, print a warning when using --flavor with an incompatible device by @andrewkolos in 143735
  • [flutter_tools] enable wasm compile on beta channel by @kevmoo in 143779
  • Add aab as alias for appbundle by @reidbaker in 143855
  • Fixed Small Typo in Emulators Test Name by @piedcipher in 143578
  • Enable asset transformation for flutter build for iOS, Android, Windows, MacOS, Linux, and web (also flutter run without hot reload support) by @andrewkolos in 143815
  • allow optional direct injection of Config instance into DevFS by @andrewkolos in 144002
  • Adding support for DDC modules when running Flutter Web in debug mode by @Markzipan in 141423
  • Update copyDirectory to allow links to not be followed by @vashworth in 144040
  • refactor: Differentiate pubspec and resolution errors for plugins by @Gustl22 in 142035
  • [flutter_tools] Fix missing stack trace from daemon by @jiahaog in 144113
  • Add FlutterMacOS.xcframework artifact by @vashworth in 143244
  • [web] Make flutter web profile builds always keep wasm symbols by @mkustermann in 144130
  • Reverts "Add FlutterMacOS.xcframework artifact (#143244)" by @auto-submit in 144253
  • 🛡️ Guard Flutter Android app by disallow task affinity by default by @AlexV525 in 144018
  • [flutter_tools] Catch rpc error in render frame with raster stats by @christopherfujino in 144190
  • Reland "Add FlutterMacOS.xcframework artifact (#143244)" by @vashworth in 144275
  • Fix a crash in remote device daemon. by @chingjun in 144358
  • Make daemon server work on ipv6-only machines. by @chingjun in 144359
  • Fix build mode not propagated in android native asset build by @knopp in 144550
  • Do not shorten native assets framework names by @knopp in 144568
  • remove unused firstBuildTime parameter in DevFS::update by @andrewkolos in 144576
  • Enable asset transformation feature in hot reload workflow (excluding Web) by @andrewkolos in 144161
  • Fix embedding FlutterMacOS.framework for macOS add2app via cocoapods by @vashworth in 144248
  • Update android templates to use target sdk 34 by @gmackall in 144641
  • make DevFSContent descendants immutable by @andrewkolos in 144664
  • Fix frameworks added to bundle multiple times instead of lipo by @knopp in 144688
  • [flutter_tools] add custom tool analysis to analyze.dart, lint Future.catchError by @christopherfujino in 140122
  • refactor: Remove throwOnPluginPubspecError flag for plugin validation by @Gustl22 in 144214
  • Enable asset transformation for flutter run -d <browser> and flutter test by @andrewkolos in 144734
  • Remove toString() overrides in dart:ui/package:flutter in profile/release mode on wasm/vm targets by @mkustermann in 144763
  • Copy over source maps from dart2js target when they are enabled. by @eyebrowsoffire in 144832
  • Expose build mode in environment of asset transformer processes by @andrewkolos in 144752
  • Reverts "Expose build mode in environment of asset transformer processes (#144752)" by @auto-submit in 144957
  • Update integration tests regexes. by @godofredoc in 144847
  • Flutter Web Bootstrapping Improvements by @eyebrowsoffire in 144434
  • Update proxied devices to handle connection interface and diagnostics. by @chingjun in 145061
  • Reland #128236 "Improve build output for all platforms" by @guidezpl in 143166
  • Reverts "Reland #128236 "Improve build output for all platforms" (#143166)" by @auto-submit in 145261
  • Roll pub packages + update DAP tests by @DanTup in 145349
  • Fix remote DDS in proxied devices. by @chingjun in 145346
  • Reland #128236 "Improve build output for all platforms" by @guidezpl in 145376
  • Reverts "Reland #128236 "Improve build output for all platforms" (#145376)" by @auto-submit in 145487
  • Remove embedding v1 code in framework by @gmackall in 144726
  • Eliminate more window singleton usages by @goderbauer in 145560
  • Reland #128236 "Improve build output for all platforms" by @guidezpl in 145495
  • make hot reload reflect changes to asset transformer configurations by @andrewkolos in 144660
  • [deps] Bump native assets dependencies by @dcharkes in 145612
  • [flutter_tools] Enable WebAssembly compilation everywhere, remove feature flag by @kevmoo in 145562
  • Be tolerant of backticks around directory name in pub output. by @eyebrowsoffire in 145768
  • Roll pub packages and regenerate gradle lockfiles by @christopherfujino in 145727

Documentation

#
  • bind missing add icon in platform_view example by @TJRoger in 132028
  • [iOS] Fix naming in platform_view example by @cbracken in 144247

Other Changes

#
  • Shift mac Pixel 7 Pro tests to prod by @zanderso in 141142
  • Bump github/codeql-action from 3.22.11 to 3.23.0 by @dependabot in 141132
  • Run tests on iOS 16 or iOS 17 by @vashworth in 141178
  • [ci.yaml] Do not run packaging test on presubmit by @CaseyHillers in 141192
  • Add environment variable to leak tracking bots. by @polina-c in 141137
  • Collapse pubspec.lock by default by @stuartmorgan in 141282
  • Run iOS staging tests with Xcode 15.2 by @vashworth in 141392
  • Reverts "Run iOS staging tests with Xcode 15.2" by @auto-submit in 141412
  • Add osx_sdk context for mac builds. by @godofredoc in 141422
  • Increase delay for checking integration_ui_keyboard_resize test success by @camsim99 in 141301
  • Do not reset framework checkout before running customer tests by @whesse in 141013
  • Revert "Reverts "Run iOS staging tests with Xcode 15.2"" by @QuncCccccc in 141420
  • Bump actions/upload-artifact from 4.0.0 to 4.1.0 by @dependabot in 141480
  • Add contexts to mac_ios targets. by @godofredoc in 141494
  • Update TESTOWNERS iskakaushik -> dnfield by @dnfield in 141649
  • Reverts "Roll Flutter Engine from d4b6b7ec8e48 to 021a5ff5eae6 (5 revisions)" by @auto-submit in 141659
  • Revert "Roll Flutter Engine from 73a2de5da53f to c7e328518bc0 (5 revisions)" by @jonahwilliams in 141691
  • Label "flutter_localizations" PRs with "framework" by @goderbauer in 141654
  • Update tests to Xcode 15 by @vashworth in 141706
  • Run build tests on both x64 and arm64. by @godofredoc in 141206
  • Bump github/codeql-action from 3.23.0 to 3.23.1 by @dependabot in 141715
  • Remove non-needed bot and increase time out for leak_tracking. by @polina-c in 141712
  • Move mac pixel 7 pro test to presubmit: false by @zanderso in 141747
  • [github actions] Fix token issue on actions/checkout package by @XilaiZhang in 141652
  • Run flutter_gallery_ios__start_up test on Mac-14 in staging by @vashworth in 141795
  • Update labeler.yml by @goderbauer in 141697
  • Bump actions/upload-artifact from 4.1.0 to 4.2.0 by @dependabot in 141803
  • Run framework_tests_misc in arm64 and x64. by @godofredoc in 141797
  • Add mac_x64_ios configuration. by @godofredoc in 141828
  • Run module_test_ios on arm and x64 by @godofredoc in 141815
  • Add RadioListItem use-case to a11y_assessments by @yjbanov in 140984
  • Relax the warning of unavailable tokens in gen_defaults when a default value is provided by @davidmartos96 in 140872
  • Bump actions/upload-artifact from 4.2.0 to 4.3.0 by @dependabot in 142075
  • [github actions] FINALLY fix the mysterious token error in github actions by @XilaiZhang in 142058
  • Run some tests explicitly in both arm and x64. by @godofredoc in 141910
  • Reverts "Refactor external_uiexternal_textures" by @auto-submit in 142173
  • Migrate android views to devicelab. by @godofredoc in 142081
  • Refactor external_ui without making any name changes (I think) by @matanlurey in 142192
  • Migrate android_view to linux_android_emu platform. by @godofredoc in 142184
  • Rename integration_tests/external_ui but do not touch anything else... by @matanlurey in 142238
  • Reverts "Rename integration_tests/external_ui but do not touch anything else..." by @auto-submit in 142265
  • Reverts "Reverts "Rename integration_tests/external_ui but do not touch anything else..."" by @auto-submit in 142268
  • Bump codecov/codecov-action from 3.1.4 to 3.1.5 by @dependabot in 142259
  • Run a few mac tests only on arm. by @godofredoc in 142188
  • Reverts "Roll Flutter Engine from 4b145d041560 to 44f26274bfbe (6 revisions)" by @auto-submit in 142274
  • Update name for android_defines_test. by @godofredoc in 142273
  • Reverts "Roll Flutter Engine from 525bd7dcf7f3 to 65d1291c3add (1 revision)" by @auto-submit in 142332
  • Redistribute iOS TESTOWNERS by @jmagman in 142315
  • Only use iOS 17 physical devices in staging tests by @vashworth in 142323
  • Bump github/codeql-action from 3.23.1 to 3.23.2 by @dependabot in 142345
  • Limit fuchsia_precache in presubmit to engine rolls by @jmagman in 142333
  • Reverts "Roll Flutter Engine from 2687ddb2655c to 2adad88a39f4 (4 revisions)" by @auto-submit in 142366
  • [Windows Arm64] Run plugin test post-submit by @loic-sharma in 141987
  • Using initExpensiveAndroidView for Android Hybrid Composition Mode by @0xZOne in 142399
  • Revert "Roll Flutter Engine from 0e586d1c28c8 to f02a4a80a77e (3 revisions)" by @jonahwilliams in 142533
  • Bump codecov/codecov-action from 3.1.5 to 3.1.6 by @dependabot in 142553
  • Be less verbose in CI for customer_testing, and revert old timeout hack by @Hixie in 139611
  • Bump peter-evans/create-pull-request from 5.0.2 to 6.0.0 by @dependabot in 142650
  • [Impeller] opt vulkan tests into GPU tracing. by @jonahwilliams in 142649
  • Add no-shuffle tag to gen_defaults_test.dart by @zanderso in 142717
  • Really disable shuffling for gen_defaults tests by @zanderso in 142721
  • Remove outdated arm64_armv7 check by @jmagman in 142737
  • Remove verbose-system-logs on iOS perf tests by @jmagman in 142739
  • Remove unused deprecated autoroll mirror-remote flag by @jmagman in 142738
  • Fix gen_defaults test randomness by @davidmartos96 in 142743
  • Test codesigning xcframeworks in artifacts by @jmagman in 142666
  • Make leak_tracking bots sticked to the left even if bot thinks they are non-flacky. by @polina-c in 142744
  • [github actions] ping actor of workflow on cherry pick pr creation by @XilaiZhang in 142676
  • Use proto name for emulator version and show cipd package version by @ricardoamador in 142262
  • Allow all iOS tests to use either iOS 16 or 17 by @vashworth in 142714
  • Add a link the different possible Android virtual device configs by @ricardoamador in 142765
  • Bump codecov/codecov-action from 3.1.6 to 4.0.1 by @dependabot in 142838
  • Bump github/codeql-action from 3.23.2 to 3.24.0 by @dependabot in 142839
  • Move Mac_build_test flutter_gallery__transition_perf_e2e_ios to staging by @vashworth in 142918
  • Run examples_smoke_test on Linux by @jmagman in 142736
  • Bump actions/upload-artifact from 4.3.0 to 4.3.1 by @dependabot in 142944
  • Reverts "Roll Flutter Engine from 808886312e2b to 07cdaab7f531 (18 revisions)" by @auto-submit in 143025
  • Mark Windows_android hot_mode_dev_cycle_win__benchmark as no longer flaky by @andrewkolos in 143016
  • Run Mac x64 build tests in postsubmit only by @jmagman in 142334
  • Make generate_gradle_lockfiles also write the gradle wrapper file by @gmackall in 142329
  • Remove unused devicelab task gradle_non_android_plugin_test by @jmagman in 142742
  • Move Mac_build_test flutter_gallery__transition_perf_e2e_ios out of staging by @vashworth in 142987
  • Remove Cirrus check for web test concurrency by @jmagman in 143046
  • Highlight the links to the release branches more prominently in the CP issue template by @zanderso in 143000
  • Enable the whole logcat log by @keyonghan in 143119
  • Move Windows arm64 tests to bringup true by @zanderso in 143272
  • Remove unnecessary 'debugLabel: null'. by @scheglov in 143253
  • Reverts "Roll Flutter Engine from 1c3ecee77350 to a19077503a0c (8 revisions) (#143322)" by @auto-submit in 143338
  • Allow deprecated members from the Dart SDK and Flutter Engine to roll in by @matanlurey in 143347
  • Bump github/codeql-action from 3.24.0 to 3.24.1 by @dependabot in 143395
  • Rename external_ui to external_textures. by @matanlurey in 143406
  • Disable deprecation warnings for mega_gallery by @goderbauer in 143466
  • Remove certs installation from win_arm builds. by @godofredoc in 143487
  • Remove certs dependency. by @godofredoc in 143495
  • Swap the tasks that have been running fine for a while. by @matanlurey in 143544
  • Bump github/codeql-action from 3.24.1 to 3.24.3 by @dependabot in 143546
  • [devicelab] migrate new gallery benchmarks to local copy. by @jonahwilliams in 143545
  • Remove bringup from win arm64 builds. by @godofredoc in 143548
  • [devicelab] retain prior events for flutter gallery. by @jonahwilliams in 143554
  • Manual roll Flutter Engine from 15a358bbaf71 to edb2745e9834 by @jason-simmons in 143555
  • Manual roll Flutter Engine from edb2745e9834 to bc4dd534a0fa by @jason-simmons in 143559
  • Manual roll Flutter Engine from bc4dd534a0fa to d3c71d78f8ef by @jason-simmons in 143561
  • Manual roll Flutter Engine from d3c71d78f8ef to b7103bc8b3743 by @jason-simmons in 143563
  • Manual roll Flutter Engine from b7103bc8b374 to 7de84271eb65 by @jason-simmons in 143564
  • Manual roll Packages from c56c12dd51ef to 0af905d779d5 by @jason-simmons in 143651
  • Delete local.properties that shouldn't have been pushed by @gmackall in 143774
  • Add UI Benchmarks by @bernaferrari in 143542
  • Reverts "Add UI Benchmarks (#143542)" by @auto-submit in 143798
  • [Impeller] Make impeller goldens test blocking. by @jonahwilliams in 143864
  • Reverts "[Impeller] Make impeller goldens test blocking. (#143864)" by @auto-submit in 143896
  • Update PR template for dart fix by @Piinks in 143879
  • Reland Add UI Benchmarks (#143542) by @bernaferrari in 143799
  • Reverts "Reland Add UI Benchmarks (#143542) (#143799)" by @auto-submit in 143946
  • Shift Moto G4 staging tests to A02s by @zanderso in 143957
  • Bump github/codeql-action from 3.24.3 to 3.24.4 by @dependabot in 143971
  • Revert engine back to 06448ee8165f4ff6579ef9510ac69322eda896ac by @goderbauer in 143986
  • Remove unused drone_dimension field by @keyonghan in 143984
  • Retry button tap in [FlutterUITests testFlutterViewWarm] by @vashworth in 143967
  • Run tests on iOS 17 exclusively by @vashworth in 144022
  • Re-enable Impeller goldens blocking. by @jonahwilliams in 144023
  • Bump codecov/codecov-action from 4.0.1 to 4.0.2 by @dependabot in 144060
  • Bump github/codeql-action from 3.24.4 to 3.24.5 by @dependabot in 144059
  • Revert "Re-enable Impeller goldens blocking. (#144023)" by @jason-simmons in 144115
  • Mark firebase_release_smoke_test as bringup: true by @keyonghan in 144186
  • Re-enable Impeller goldens blocking. by @jonahwilliams in 144210
  • Mark two other firebase targets as bringup: true by @keyonghan in 144234
  • Manual roll Flutter Engine 0bc21ea7bc92 to fe7ea6d9c34f by @zanderso in 144283
  • Manual roll Flutter Engine fe7ea6d9c34f to 5e0d9ba35dd5 by @zanderso in 144285
  • Manual roll Flutter Engine 5e0d9ba35dd5 to 2461280c38b7 by @zanderso in 144288
  • Manual roll Flutter Engine 2461280c38b7 to c79117b706e9 by @zanderso in 144290
  • Manual roll Flutter Engine c79117b706e9 to 64a375de9c8f by @zanderso in 144293
  • Manual roll Flutter Engine 64a375de9c8f to 8acc96d405d0 by @zanderso in 144296
  • Manual roll Flutter Engine 8acc96d405d0 to 91898e397261 by @zanderso in 144316
  • Bump peter-evans/create-pull-request from 6.0.0 to 6.0.1 by @dependabot in 144344
  • Use dartpad's main channel for master/main docs by @goderbauer in 144329
  • Bump dartdocs to 8.0.6 by @goderbauer in 144413
  • [devicelab] fix motog4 tests and update comment. by @jonahwilliams in 144410
  • Reverts "Use dartpad's main channel for master/main docs (#144329)" by @auto-submit in 144429
  • Always use local CanvasKit/Skwasm in benchmarks for better hermeticity. by @eyebrowsoffire in 144423
  • Reland "Use dartpad's main channel for master/main docs (#144329)" by @goderbauer in 144431
  • Bump github/codeql-action from 3.24.5 to 3.24.6 by @dependabot in 144424
  • Enable missing-code-block-language by @goderbauer in 144443
  • [github actions] rewrite cherry pick template by @XilaiZhang in 144065
  • Bump codecov/codecov-action from 4.0.2 to 4.1.0 by @dependabot in 144174
  • Bring back firebase tests to prod by @keyonghan in 144703
  • Run macOS test on dev/integration_tests/ui by @jmagman in 142735
  • Mark Mac_arm64_ios module_test_ios bringup: true by @zanderso in 144861
  • Fix typing to unblock pub roll by @goderbauer in 144968
  • Revert "Remove unused drone_dimension field" by @godofredoc in 145024
  • Bump github/codeql-action from 3.24.6 to 3.24.7 by @dependabot in 145033
  • Bump peter-evans/create-pull-request from 6.0.1 to 6.0.2 by @dependabot in 145034
  • Bump actions/checkout from 4.1.1 to 4.1.2 by @dependabot in 145032
  • Mark Mac_arm64_ios module_test_ios not flaky by @jmagman in 145044
  • Reduce Windows_arm64 plugin_test_windows test timeout by @loic-sharma in 145110
  • Run gradle_plugin_*_apk_test on presubmit on flutter_tool changes. by @eyebrowsoffire in 142090
  • Renaming the virtual device Nexus5 name to Nexus5.gce_x86 by @yusuf-goog in 145225
  • Add --no-dds to Mac_arm64_ios version of hot_mode_dev_cycle_ios__benchmark by @vashworth in 145335
  • Switch hot_mode_dev_cycle_linux__benchmark to run in postsubmit by @ricardoamador in 145343
  • Bump github/codeql-action from 3.24.7 to 3.24.8 by @dependabot in 145358
  • Roll pub packages by @flutter-pub-roller-bot in 145509
  • Reverts "Roll pub packages (#145509)" by @auto-submit in 145550
  • Add a --no-gradle-generation mode to the generate_gradle_lockfiles.dart script by @gmackall in 145568
  • Disable flaky text_editing_integration tests temporarily. by @eyebrowsoffire in 145629
  • Add workaround for bug adding unicode strings to test reports. by @godofredoc in 145607
  • Bump github/codeql-action from 3.24.8 to 3.24.9 by @dependabot in 145627
  • Turn off randomization for leak detection bots. by @polina-c in 145624
  • Update links in analysis_options.yaml by @goderbauer in 145706
  • Refactor add_to_app_life_cycle_tests by @sealesj in 145546
  • Bump codecov/codecov-action from 4.1.0 to 4.1.1 by @dependabot in 145787
  • Refactor web long running tests by @sealesj in 145776
  • Reverts "Roll Flutter Engine from 922c7b133bc2 to b3516c4c5683 (1 revision) (#145879)" by @auto-submit in 145900
  • Reverts "Roll Flutter Engine from c602abdbae16 to 922c7b133bc2 (7 revisions) (#145877)" by @auto-submit in 145901
  • Refactor skp_generator_tests by @sealesj in 145871
  • [flutter_releases] Flutter beta 3.22.0-0.0.pre Framework Cherrypicks by @itsjustkevin in 146239

New Contributors

#
  • @asci-00 made their first contribution in 140015
  • @nikkivirtuoso made their first contribution in 140947
  • @SharbelOkzan made their first contribution in 135578
  • @OutdatedGuy made their first contribution in 141270
  • @imp-sike made their first contribution in 141159
  • @jaeyoi made their first contribution in 141439
  • @mbfakourii made their first contribution in 137415
  • @aizatazhar made their first contribution in 141844
  • @SelaseKay made their first contribution in 142230
  • @sstasi95 made their first contribution in 141604
  • @BiskupMaik made their first contribution in 142430
  • @ShaunByrne-UniSA made their first contribution in 136181
  • @bramp made their first contribution in 142177
  • @maRci002 made their first contribution in 142523
  • @krispypen made their first contribution in 142913
  • @niteshsh4rma made their first contribution in 143213
  • @HosseinYousefi made their first contribution in 143376
  • @jawscout made their first contribution in 143541
  • @gruner made their first contribution in 143887
  • @dsanagustin made their first contribution in 143934
  • @Markzipan made their first contribution in 141423
  • @TJRoger made their first contribution in 132028
  • @ufolux made their first contribution in 143678
  • @Nenuphar12 made their first contribution in 144697
  • @percival888 made their first contribution in 144827
  • @victorgalo made their first contribution in 135077
  • @Moelfarri made their first contribution in 144888
  • @dhikshith12 made their first contribution in 144883
  • @goodmost made their first contribution in 145397
  • @VatsalBhesaniya made their first contribution in 145157
  • @Sahil-kachhap made their first contribution in 145232
  • @eltociear made their first contribution in 145683
  • @dwzrlp made their first contribution in 145689

Full Changelog: https://github.com/flutter/flutter/compare/3.19.0...3.22.0-0.1.pre

Engine

#

Impeller

#
  • [Impeller] new blur: chop off blur extremities by @gaaclarke in 49574
  • [Flutter GPU] Shader bundle improvements: Uniform structs & member offset reflection, GLES metadata, separate from runtime stage. by @bdero in 49485
  • [Impeller] Start and end a frame in the RenderTargetCache for each rendering of an entity in the playgrounds by @jason-simmons in 49576
  • [Impeller] Document mip bias. by @bdero in 49602
  • [Flutter GPU] Track HostBuffer emplacements by offset. by @bdero in 49618
  • [Impeller] made sure to scale the blur radius by the effect transform by @gaaclarke in 49645
  • [Impeller] have Hostbuffer write directly to block allocated device buffers. by @jonahwilliams in 49505
  • [Impeller] Make the shaders loaded by the GLES playground consistent with other playgrounds by @jason-simmons in 49684
  • Reverts "[Impeller] have Hostbuffer write directly to block allocated device buffers." by @auto-submit in 49688
  • [Impeller] reland: write directly to device buffer. by @jonahwilliams in 49691
  • [Impeller] Vulkan runtime effects/fragment program API by @dnfield in 49543
  • Try to get GLES tests running... by @dnfield in 49701
  • [Impeller] Add DrawLine/DrawOval/ClipOval operations to the canvas recorder by @jason-simmons in 49697
  • [Impeller] dont accidentally copy shared ptr. by @jonahwilliams in 49731
  • [Impeller] Begin migrating to RenderPass command recording API. by @jonahwilliams in 49480
  • [Impeller] remove Buffer type and associated abstractions. by @jonahwilliams in 49702
  • [Impeller] finish migration to new render pass API. by @jonahwilliams in 49740
  • [Impeller] Descriptor pool incremental allocation. by @jonahwilliams in 49686
  • [Impeller] move TrackedObjectsVK to separate file. by @jonahwilliams in 49773
  • [Impeller]: new blur - adds mips for backdrop filters by @gaaclarke in 49607
  • [Impeller] Properly size struct emplacements for Vulkan Runtime Effects by @dnfield in 49768
  • [Impeller] fixed nested save layer mipmap counts by @gaaclarke in 49778
  • [Impeller] Fix hot reload for shaders on Impeller by @dnfield in 49739
  • Truncate thread names on Linux to the maximum allowed length by @jason-simmons in 49781
  • Fix typo by @dnfield in 49725
  • [Flutter GPU] Fix playground shader paths. by @bdero in 49790
  • [Flutter GPU] Run unittests on CI and fix HostBuffer. by @bdero in 49789
  • [Impeller] remove shared_ptr copy/release in main rendering loop. by @jonahwilliams in 49801
  • [Impeller] Encode directly to command buffer for Vulkan. by @jonahwilliams in 49780
  • [Impeller] Add an API for sampling strictly within the bounds of the source rect in DrawImageRect by @jason-simmons in 49696
  • Reland "[Windows] Move to FlutterCompositor for rendering" by @loic-sharma in 49726
  • [Impeller] Fix a race between SwapchainImplVK::Present and WaitForFence by @jason-simmons in 49777
  • [Impeller] generate mipmaps for imagefilters by @gaaclarke in 49794
  • Reverts "[Impeller] Encode directly to command buffer for Vulkan." by @auto-submit in 49818
  • [Impeller] Switch from transient stencil-only to depth+stencil buffer. by @bdero in 47987
  • Flutter GPU: Add GpuContext.createHostBuffer by @bdero in 49822
  • Reverts "[Impeller] Switch from transient stencil-only to depth+stencil buffer." by @auto-submit in 49832
  • [Impeller] disabled misleading vulkan golden image tests by @gaaclarke in 49836
  • Reland: [Impeller] Turned on new blur. (#48472) by @gaaclarke in 49642
  • [Impeller] remove shared_ptr copies during text contents rendering. by @jonahwilliams in 49837
  • Delete trace event from DeviceBufferVK by @dnfield in 49854
  • [Impeller] Eliminate some shared_ptr copying from EntityPass::Render by @dnfield in 49855
  • [Impeller] switch Rect fields to LTRB implementation by @flar in 49816
  • [Impeller] Documentation for SurfaceContextVK by @dnfield in 49882
  • Reland: Encode directly to command buffer. by @jonahwilliams in 49821
  • [Impeller] adds vulkan golden images by @gaaclarke in 49849
  • [Impeller] null check vertex buffer. by @jonahwilliams in 49915
  • [Impeller] use string view for labels in more places to defer allocatons. by @jonahwilliams in 49905
  • [Impeller] Encode directly to command buffer for Metal. by @jonahwilliams in 49785
  • [Impeller] Add golden for Image ColorSource effect transform. by @bdero in 49930
  • [Impeller] Reland: Switch from transient stencil-only to depth+stencil buffer. by @bdero in 49838
  • [Impeller] fixed CanRenderClippedRuntimeEffects for vulkan by @gaaclarke in 49912
  • [Impeller] Create the golden test screenshotter after setting the Vulkan ICD environment variable by @jason-simmons in 49948
  • [Impeller] remove frame counter that was unused in Vulkan allocator. by @jonahwilliams in 49913
  • [Impeller] fixed colorspace for metal screenshots by @gaaclarke in 49941
  • [Impeller] dont emulate command buffers for compute on Metal/Vulkan. by @jonahwilliams in 49922
  • [Impeller] turned on validation errors for one golden image test by @gaaclarke in 49955
  • [Impeller] Fix runtime effect pipeline depth/stencil. by @bdero in 49953
  • [Impeller] fix validation error for playground texture upload. by @jonahwilliams in 49957
  • Geometry Wars: Documentation Edition by @matanlurey in 49910
  • Fix a typo in geometry.cc#ComputeUVGeometryForRect. by @matanlurey in 49986
  • [Impeller] use const std::unique_ptr ref for Sampler type. by @jonahwilliams in 49974
  • [Impeller] Share vulkan playground across goldens by @gaaclarke in 49981
  • [Impeller] allow non-square corner radii for fast blurs by @flar in 49994
  • [Impeller] round up subpass coverage when it is close to (and smaller) than root pass size. by @jonahwilliams in 49925
  • [Impeller] turned on vulkan validation for all but one golden test by @gaaclarke in 50045
  • Revert "[Impeller] round up subpass coverage when it is close to (and smaller) than root pass size." by @jonahwilliams in 50041
  • [Impeller] write vertices geometry data to host buffer. by @jonahwilliams in 49741
  • [Impeller] Do not emit metadata for structs that are not part of the shader's interface by @jason-simmons in 50029
  • [Impeller] Fix mipmap generation for Vulkan render target textures. by @jonahwilliams in 49848
  • Optimizations for TLHC frame rate and jank by @johnmccutchan in 50033
  • winding order from tesellator.h to formats.h by @nikkivirtuoso in 49865
  • Add include suggested by clang-tidy by @dnfield in 49898
  • [Impeller] Fix advanced blend alpha issue, improve blend goldens. by @bdero in 50035
  • Finish landing missing/incorrect header guards across flutter/engine by @matanlurey in 50069
  • [Impeller] add compute pass API for memory barriers, re-enable for Vulkan. by @jonahwilliams in 49946
  • [Android] Cache GPU resources using HardwareBuffer's id as key by @jonahwilliams in 50028
  • [Impeller] add missing barrier to compute tessellator. by @jonahwilliams in 50108
  • Cache Impeller paths in the DisplayList to amortize conversion by @flar in 50076
  • [Impeller] Fix alpha management issues for advanced blends. by @bdero in 50070
  • Enable _Float16 "half-float" Functionality Only When Available. by @johnoneil in 49851
  • [Impeller] Add interface for submitting multiple command buffers at once. by @jonahwilliams in 50139
  • Reverts "[Impeller] Add interface for submitting multiple command buffers at once." by @auto-submit in 50174
  • [Impeller] added mipmaps to subpasses directly on a draw call by @gaaclarke in 50157
  • [Impeller] Reland: add interface for submitting multiple command buffers at once. by @jonahwilliams in 50180
  • [Impeller] implemented golden image tests for opengles by @gaaclarke in 50146
  • [Impeller] Implement framebuffer-fetch via subpasses in Vulkan without extensions. by @chinmaygarde in 50154
  • [Impeller] make GPU tracing off by default. by @jonahwilliams in 50215
  • [Impeller] size vk swapchain to window size. by @jonahwilliams in 50205
  • [Impeller] Clear the GPUTracerVK in_frame flag when ending a frame even if the tracer is disabled by @jason-simmons in 50228
  • [Impeller] Assign incremental clip depth to all entities. by @bdero in 49828
  • Moves impeller/golden_tests_harvester to tools/golden_tests_harvester by @zanderso in 50211
  • [Impeller] remove drawPicture from Aiks Canvas. by @jonahwilliams in 50242
  • [Impeller] new blur: round downsample to power of two by @gaaclarke in 50245
  • [Impeller] Replace stencil pipeline ops with enum. by @bdero in 50231
  • [Impeller] Delete unnecessary special casing for Vulkan in framebuffer fetch. by @chinmaygarde in 50251
  • [Impeller] Remove unused define. by @chinmaygarde in 50250
  • [Impeller] updated todos from opengles golden work by @gaaclarke in 50218
  • [Impeller] blur: removed ability to request out of bounds mip_counts by @gaaclarke in 50290
  • [Impeller] Allow playgrounds to use SwiftShader via a flag. by @chinmaygarde in 50298
  • [Impeller] Wire up Angle use to a command line flag and enable it by default on macOS. by @chinmaygarde in 50304
  • [Impeller] new blur: clamp downsample scalar to 1/16 by @gaaclarke in 50262
  • [Impeller] In advanced blends, unpremultiply and apply src_input_alpha only if there is no foreground color by @jason-simmons in 50260
  • [Impeller] Fix blown stack due to always out of date window dimensions on high-dpi devices. by @chinmaygarde in 50307
  • [Impeller] fix flake in compute unittests. by @jonahwilliams in 50308
  • Delete fml::ThreadLocalUniquePtr. by @chinmaygarde in 50310
  • [Impeller] moved blur aiks tests to their own file by @gaaclarke in 50356
  • [Impeller] blur: hold on to 1/8 downsample until the kernel overflows by @gaaclarke in 50363
  • [Impeller] Do not skip the GLES render pass if the command list is empty by @jason-simmons in 50381
  • [Impeller] Cache RenderPass/Framebuffer objects on the resolve texture sources. by @jonahwilliams in 50142
  • [Impeller] Specify if Angle or SwiftShader is being used in the title. by @chinmaygarde in 50376
  • [Impeller] Fix pipeline attachment layout in CanRenderToTexture. by @bdero in 50413
  • [Impeller] Always pop clips on restore. by @bdero in 50419
  • [Impeller] Initialize the stencil reference value. by @chinmaygarde in 50373
  • [Impeller] move path out of PathBuilder in TakePath. by @jonahwilliams in 50444
  • [Impeller] blur: drop eighth downsample barrier by @gaaclarke in 50405
  • [Impeller] remove extra buffer usage in compute. by @jonahwilliams in 50415
  • [Impeller] Vulkan: Don't fail initialization if stencil-only textures aren't supported. by @bdero in 50455
  • [Impeller] Delete the archivist framework. by @chinmaygarde in 50474
  • [Impeller] Move impeller/image to impeller/playground/image by @dnfield in 50480
  • [Impeller] Remove the Vulkan queue submit thread and always present Vulkan images on the raster thread by @jason-simmons in 50484
  • [Impeller] improve performance of polyline and stroke generation by reducing allocation and lambda usage. by @jonahwilliams in 50379
  • [Impeller] cleaned up StrokePathGeometry and removed runtime polymorphism by @gaaclarke in 50506
  • [Impeller] Call vkQueuePresentKHR through the ContextVK's synchronized graphics queue wrapper by @jason-simmons in 50509
  • [Impeller] Remove the unused Vulkan queue submit task runner by @jason-simmons in 50511
  • [Impeller] deleted the old blur by @gaaclarke in 50470
  • [Impeller] force render pass construction on all backends to ensure image layout is transitioned/render pass state setup. by @jonahwilliams in 50539
  • Roll vulkan-deps to 014f44e134a1de387791bffacc32ff9d8db71176 by @jason-simmons in 50515
  • [Impeller] Remove references to moved impeller/image from README. by @chinmaygarde in 50513
  • [Impeller] Don't suppress outdated validation error. by @chinmaygarde in 50568
  • Move Linux impeller_unittests to linux_unopt by @zanderso in 50558
  • [Impeller] CommandPoolVK recycles command buffers too. by @jonahwilliams in 50468
  • [Impeller] cleaned up and removed golden test exceptions by @gaaclarke in 50572
  • [Impeller] replaced playground macros with functions by @gaaclarke in 50602
  • Update embedder support for Impeller/OpenGL to load some missing shaders and configure a depth attachment by @jason-simmons in 50416
  • [Impeller] remove denylist entry. by @jonahwilliams in 50605
  • [Impeller] Turn on golden tests that use the ImGui widgets functions by @gaaclarke in 50606
  • [Impeller] fix cmd buffer recycling bug in test. by @jonahwilliams in 50615
  • [Impeller] add benchmarks for the stroke geometry entity code by @flar in 50616
  • [Impeller] Migrate all ColorSourceContents to use a shared rendering routine. by @bdero in 50261
  • [Impeller] Conditionally use A8 or R8 format glyph atlas based on capabilities. by @jonahwilliams in 50534
  • Add a comment explaining the lifecycle of tls_command_pool_map. by @matanlurey in 50623
  • [Impeller] consolidate transforms in PositionUVWriter by @flar in 50635
  • [iOS] Ensure FlutterMetalLayer has correct backpressure. by @jonahwilliams in 50486
  • Provide a matrix inverse shim for GLES 2.0. by @johnoneil in 50545
  • [Impeller] Updated benchmarks by @gaaclarke in 50694
  • [Impeller] Add an error message when failing to write golden screenshot. by @bdero in 50698
  • [Impeller] use fewer threads for shader bootstrap workers on low core machines. by @jonahwilliams in 50726
  • [Impeller] Assign subpass depth on restore rather than creation. by @bdero in 50626
  • [Impeller] add additional setup method that caches more pipelines, warms internal shader code by @jonahwilliams in 50521
  • [Impeller] Fix golden flake due to rand use. by @bdero in 50743
  • [Impeller] Run stroke benchmarks on unclosed paths by @flar in 50765
  • [Impeller] add missing std::move in setup depth stencil. by @jonahwilliams in 50750
  • [Impeller] Apply Entity depth in filter shaders that may render directly to an EntityPass. by @bdero in 50742
  • [Impeller] Remove non-Flutter fill types from impeller::Path. by @bdero in 50814
  • [Impeller] Add GeometryResult enum with StC modes. by @bdero in 50816
  • [Impeller] force bootstrap render pass. by @jonahwilliams in 50749
  • Use 'et format' in CI. Check formatting of all files in CI by @zanderso in 50810
  • [Impeller] cache onscreen render targets. by @jonahwilliams in 50751
  • [Impeller] applied the lerp hack to blur (roughly 2x speedup?) by @gaaclarke in 50790
  • Shift some deps to //flutter/third_party by @zanderso in 50830
  • [Impeller] Add StC color source/clip behavior + constexpr flag for enabling StC. by @bdero in 50817
  • Reverts "[Impeller] cache onscreen render targets. (#50751)" by @auto-submit in 50871
  • [Impeller] Add stroke benchmarks that create UVs with no transform by @flar in 50847
  • [Impeller] moved the kernel size assert to a more appropriate location. by @gaaclarke in 50880
  • [Impeller] Make StC work for Position+UV buffers. by @bdero in 50900
  • [Impeller] Compute UV coordinates lazily in PositionUVWriter by @flar in 50879
  • [Impeller] Fix a race that can abort the process if the Vulkan context is destroyed while pipeline creation tasks are pending by @jason-simmons in 50883
  • [Impeller] disble render pass caches. by @jonahwilliams in 50976
  • Run engine unit tests on mac host_debug_unopt_arm64 by @zanderso in 50327
  • [Impeller] Fix a misspelling and name mismatch in a shader test fixture by @jason-simmons in 50983
  • [Impeller] various StC fixes for GPU -> CPU readback plus BufferBindingGLES error by @jonahwilliams in 50951
  • Move vulkan-deps to //flutter/third_party/vulkan-deps by @jason-simmons in 51013
  • [Impeller] Fix GL depth state. by @bdero in 51040
  • [Impeller] fix render pass depth descriptor. by @jonahwilliams in 51031
  • [Impeller] Mark subpass framebuffer fetch tests as unsupported on GLES by @jason-simmons in 50982
  • [Impeller] Cache entire render target and not just allocations. by @jonahwilliams in 50990
  • Prefix flutter in flutter_vma.h import by @CaseyHillers in 51065
  • [Impeller] test removal of submit batching. by @jonahwilliams in 51094
  • [Impeller] remove warning about device transient depth+stencil. by @jonahwilliams in 51033
  • [Impeller] use specific format for bootstrap texture. by @jonahwilliams in 51082
  • [Impeller] Fix leak of rectangle packer in typographer tests by @jason-simmons in 51113
  • [Impeller] Fix vertex counts in some display list tests by @jason-simmons in 51111
  • [Impeller] Fix string search in CompilerTest.SkSLTextureLookUpOrderOfOperations by @jason-simmons in 51109
  • [Impeller] ASAN/LSAN fixes for the mock Vulkan implementation by @jason-simmons in 51115
  • [Impeller] implements blur styles inner and outer by @gaaclarke in 51018
  • Support gtest-parallel when running Impeller unit tests by @jason-simmons in 51079
  • [Impeller] Fix the clip replay mechanism. by @bdero in 51173
  • [Impeller] Fix string comparison in MockGLES.CanInitialize test by @jason-simmons in 51181
  • [Impeller] Enable depth buffer clipping & Stencil-then-Cover path rendering. by @bdero in 50856
  • [Impeller] Turn off StC. by @bdero in 51191
  • Folds concurrent job calculation into tools/gn by @zanderso in 51193
  • [Impeller] Implement YUV texture import and sampling for video player frames. by @chinmaygarde in 50730
  • [Impeller] Fix convex triangulation winding bug for multi-contour paths. by @bdero in 51198
  • [Impeller] Enable depth buffer clipping & Stencil-then-Cover path rendering. by @bdero in 51209
  • [Impeller] implement blur style solid by @gaaclarke in 50892
  • Reverts "[Impeller] Enable depth buffer clipping & Stencil-then-Cover path rendering. (#51209)" by @auto-submit in 51217
  • [Impeller] Fix path winding when bridging from contours with an odd number of points. by @bdero in 51218
  • [Impeller] Enable depth buffer clipping & Stencil-then-Cover path rendering. by @bdero in 51219
  • [Impeller] disable blending in gaussian intermediate steps. by @jonahwilliams in 51118
  • [Impeller] Create a new render target with the specified attachment configs when reusing cached render target textures by @jason-simmons in 51208
  • [Impeller] Apply padding for alignment when doing HostBuffer::Emplace with a callback by @jason-simmons in 51221
  • [Impeller] Append fewer redundant points when bridging triangle strips between contours. by @bdero in 51232
  • [Impeller] fold memory check into allocator_vk by @jonahwilliams in 51187
  • [Flutter GPU] Move method tests to flutter_tester. by @bdero in 51223
  • Reverts "[Impeller] fold memory check into allocator_vk (#51187)" by @auto-submit in 51243
  • Reverts "[Impeller] disable blending in gaussian intermediate steps. (#51118)" by @auto-submit in 51244
  • Move Abseil from src to flutter third_party dir by @cbracken in 51245
  • [Impeller] add a per-frame trace event for heap usage on Vulkan. by @jonahwilliams in 51246
  • [Impeller] Record restore clips in the replay mechanism when StC is enabled. by @bdero in 51259
  • [Impeller] Fix a buffer overrun in ImpellerC reflector resource offsets by @jason-simmons in 51108
  • Move ANGLE to flutter/third_party by @cbracken in 51270
  • [Impeller] moved tests to aiks_blur_unittests, added warning by @gaaclarke in 51274
  • [Impeller] Add mask blur style support to the RRect blur fast path. by @bdero in 51250
  • Migrate vulkan_memory_allocator to flutter/third_party by @cbracken in 51275
  • [Impeller] More efficient usage of transient onscreen attachments. by @jonahwilliams in 51206
  • [Impeller] Add the KHR prefix to existing swapchain utilities. by @chinmaygarde in 51295
  • [Impeller] implement mask blur for textures by @gaaclarke in 51183
  • [Impeller] Make DeviceHolder follow convention for backend specific utilities. by @chinmaygarde in 51300
  • [Impeller] Use the AHB prefix for utils that work with Android Hardware Buffers. by @chinmaygarde in 51298
  • Disambiguate conditional expressions by @jiahaog in 51285
  • [Impeller] implements blur styles for gradients by @gaaclarke in 51264
  • [Impeller] Fix shader depth assignment & glyph atlas transform. by @bdero in 51343
  • [Impeller] Add utility for type safe masks. by @chinmaygarde in 51361
  • [Impeller] Make masks type safe. by @chinmaygarde in 51369
  • [Impeller] attempt to get validation errors from CI unittests. by @jonahwilliams in 51341
  • [Impeller] added missing golden test for DrawScaledTextWithPerspectiveSaveLayer by @gaaclarke in 51368
  • [Impeller] fix heap selection process for YUV textures. by @jonahwilliams in 51262
  • [Impeller] cleanup and test vk image usage flags. by @jonahwilliams in 51301
  • Remove --enable-impeller-{backend} flags (always True). by @matanlurey in 51402
  • [Impeller] started asserting golden test runner has fatal impeller validations by @gaaclarke in 51357
  • [Impeller] revert round out. by @jonahwilliams in 51395
  • [Impeller] revert glyph atlas texture recycling. by @jonahwilliams in 51428
  • [DisplayList] Pre-Compute saveLayer bounds in DLBuilder by @flar in 50935
  • [Impeller] A toolkit for managed handles to Android NDK vended objects. by @chinmaygarde in 51334
  • Reverts "[Impeller] A toolkit for managed handles to Android NDK vended objects. (#51334)" by @auto-submit in 51457
  • Re-land "[Impeller] A toolkit for managed handles to Android NDK vended objects." by @chinmaygarde in 51460
  • Minor markup tweaks in render_frame_capture.md by @Hixie in 51480
  • [Impeller] make sure to render TiledTextureContents if the geometry doesn't fit in the texture's bounds. by @gaaclarke in 51393
  • [Impeller] revert vestiges of submit batching. by @jonahwilliams in 51450
  • Add details to renderdoc_frame_capture.md by @Hixie in 51483
  • A native Android unit-testing harness. by @chinmaygarde in 51479
  • [Impeller] Allow identifying device driver and vendor information. by @chinmaygarde in 51498
  • More renderdoc_frame_capture.md updates by @Hixie in 51499
  • [Impeller] add test that demonstrates that VVL failures are fatal. by @jonahwilliams in 51525
  • [Impeller] Check for empty sizes when creating render targets in RenderTargetCache by @jason-simmons in 51597
  • [Impeller] fix unbalanced restores. by @jonahwilliams in 51648
  • [Impeller] Refactor clip stack into separate testable class. by @jonahwilliams in 51656
  • [Impeller] revert usage of foreground blend optimization. by @jonahwilliams in 51679
  • [Impeller] Simplify calculation of Matrix::GetMaxBasisXY() by @flar in 51664
  • [Impeller] Do not apply mask filters to a DrawPaint cover geometry by @jason-simmons in 51670
  • [Impeller] use screen space coordinates for dithering. by @jonahwilliams in 51668
  • [Impeller] Transform geometry to safe depth ranges instead of forcing discrete depth values. by @bdero in 51673
  • [Impeller] fix remaining Validation errors. by @jonahwilliams in 51692
  • [Impeller] Use the scissor to limit all draws by clip coverage. by @bdero in 51698
  • Reverts "[Impeller] Use the scissor to limit all draws by clip coverage. (#51698)" by @auto-submit in 51728
  • [Impeller] use optimal depth attachment, remove useless barrier. by @jonahwilliams in 51723
  • [Impeller] render empty filled paths without crashing. by @jonahwilliams in 51713
  • [Impeller] adds a plus advanced blend for f16 pixel formats by @gaaclarke in 51589
  • [Impeller] Reland: Use the scissor to limit all draws by clip coverage. by @bdero in 51731
  • [Impeller] correct multisample resolve/store configuration for Vulkan. by @jonahwilliams in 51740
  • Reverts "[Impeller] adds a plus advanced blend for f16 pixel formats (#51589)" by @auto-submit in 51741

Android

#
  • Resize the RenderTarget before creating and passing its Surface to the VirtualDisplay by @johnmccutchan in 49619
  • Simplify PlatformViewRenderTarget interface by @johnmccutchan in 49639
  • Make shell/platform/android IDE-friendly, and add documentation by @matanlurey in 49612
  • Follow various best practices in FlutterRenderer by @matanlurey in 49651
  • Add SurfaceTextureSurfaceProducer by @matanlurey in 49653
  • [Android] Reset IME state in TextInputPlugin.clearTextInputClient by @bleroux in 49829
  • [Android] Fix KeyEmbedderResponder throws a NullPointerException by @bleroux in 49860
  • Change how OpenGL textures are flipped in the Android embedder. by @matanlurey in 49938
  • Do not double-increment nextId when using createSurfaceProducer with SurfaceTextures by @matanlurey in 50011
  • [Impeller] call shutdown method in Android context. by @jonahwilliams in 49992
  • Fix android new engine in group by @eitanliu in 49659
  • Reverts "Optimizations for TLHC frame rate and jank" by @auto-submit in 50062
  • Reland Optimizations for TLHC frame rate and jank by @johnmccutchan in 50065
  • Use clamp sampling mode in external texture. by @jonahwilliams in 50063
  • Avoid sizing ImageReaderSurfaceProducer smaller than 1x1 by @matanlurey in 50066
  • Fix Shell::Screenshot for Impeller by @dnfield in 50072
  • Reverts "[Android] Cache GPU resources using HardwareBuffer's id as key" by @auto-submit in 50114
  • Manually revert TLHC optimizations, holding on to width/height changes. by @matanlurey in 50144
  • Re-Re-land Manually revert TLHC optimizations by @johnmccutchan in 50155
  • Revert: "Change how OpenGL textures are flipped in the Android embedder" by @matanlurey in 50158
  • [Android] Reland: recycle hardware buffer textures. by @jonahwilliams in 50122
  • Revert "Close connection on keyboard close (#41500)" by @MeandNi in 49366
  • Provide a more helpful error message in the case of UnsatisfiedLinkError by @johnmccutchan in 50247
  • [Android] Fix TextInputType.none for devices with physical keyboard by @bartcone in 49980
  • Update NDK to version 26 by @zanderso in 48254
  • Fix Android scenario_app to actually run and block on CI by @matanlurey in 50414
  • [Impeller] Log non-default graphics backend usages, use IMPORTANT rather than ERROR by @dnfield in 50448
  • Sever the //flutter/vulkan dependency in Flutter in the Android embedder. by @chinmaygarde in 50472
  • Clean up additional NDK helper related code by @dnfield in 50518
  • Refactor NDK helpers some more, add methods for SurfaceControl/Transaction, tests by @dnfield in 50540
  • Make Android Studio depend on the android_embedding_dependencies by @gmackall in 50612
  • Fix github md "Note" and "Tip" blocks in Android shell README by @gmackall in 50664
  • [Android] Minor refactor: Remove redundant methods. by @0xZOne in 50647
  • Use a GN variable (dart_src) to reference the location of the Dart checkout. by @chinmaygarde in 50624
  • [Android] Remove the unnecessary parent interface. by @0xZOne in 50677
  • Implement the render_to_surface flag in GPUSurfaceGLImpeller by @jason-simmons in 50669
  • Disallow files additional named GeneratedPluginRegistrant.java. by @matanlurey in 50796
  • Hook ImageReaderSurfaceProducer to the onTrimMemory listener interface by @johnmccutchan in 50792
  • Remove WindowManager reflection in SingleViewPresentation.java by @gmackall in 49996
  • Tweak verbose log messages in ImageReaderSurfaceProducer by @johnmccutchan in 50831
  • Make Android Studio be able to run android embedding unit tests out of the box by @gmackall in 50840
  • Reverts "Remove WindowManager reflection in SingleViewPresentation.java (#49996)" by @auto-submit in 50873
  • Remove timeouts from CountdownLatch.await in tests by @dnfield in 50930
  • Shift //third_party/icu to //flutter/third_party by @zanderso in 50924
  • Avoid reloading font collection for spawned engines with compatible asset managers by @dnfield in 50897
  • Update Surface reference after resizing render target in VirtualDisplay based platform views by @johnmccutchan in 50971
  • Add flutter prefix to import by @jiahaog in 51042
  • Bump everything to Android 21 by @dnfield in 51032
  • [Android] update fallback and rendering state to combine impeller + android backend. by @jonahwilliams in 51008
  • Revert "Bump everything to Android 21" by @dnfield in 51056
  • Test the SurfaceTextureSurfaceProducer-branch in the Android scenario_app by @matanlurey in 51061
  • [Impeller] switch fallback default from ImpellerVulkan to SkiaOpenGLES by @jonahwilliams in 51071
  • Reapply "Bump everything to Android 21" (#51056) by @dnfield in 51070
  • Add instructions for getting code coverage in Android Studio by @gmackall in 51105
  • Guard against API 22 by @dnfield in 51167
  • [Re-land] Remove WindowManager reflection in SingleViewPresentation.java by @gmackall in 50890
  • Use io.flutter.Build.API_LEVELS rather than android.os.Build.VERSION_CODES by @dnfield in 51171
  • Explicitly list Android embedding dependency jars in GN by @zanderso in 51303
  • Bump Robolectric to 4.11.1 by @utzcoz in 51310
  • Disable cleaning up ImageReaders in memory pressure callback by @johnmccutchan in 51391
  • Add missing license blocks. by @chinmaygarde in 51496
  • Add more logging for UnsatisfiedLinkError by @gmackall in 51534
  • Add even more logging for UnsatisfiedLinkError by @gmackall in 51554
  • Upgrade to gradle 8.3 by @gmackall in 51422
  • [Android] Fix the issue of blank or frozen pages in shared engine scenarios by @0xZOne in 50947
  • Revert "Disable cleaning up ImageReaders in memory pressure callback" by @zanderso in 51665
  • Platform channel for predictive back in route transitions on android by @maRci002 in 49093
  • Make EmbedderExternalViewEmbedder present to the correct view by @dkwingsmt in 51719

iOS

#
  • Remove iOS 12 availability checks by @jmagman in 49771
  • [macOS] Fix: Memory sanitizer violated when encoding indirect strings by @dkwingsmt in 49995
  • Log FlutterJSONMessageCodec decode errors before asserting by @jmagman in 50163
  • visiblePassword uses ASCII keyboard on iOS by @LongCatIsLooong in 50293
  • Fix iOS password autofill prompt dismissal causes layout to resize by @TahaTesser in 50364
  • [ios] Fix memory leak in ChildClippingView by @0xZOne in 50389
  • Revert "Fix iOS password autofill prompt dismissal causes layout to resize (#50364)" by @TahaTesser in 50760
  • iPad keyboard cut/copy/paste buttons by @justinmc in 50923
  • Support accessibility back gesture to pop route from view controller by @jmagman in 51241
  • Migrate use of deprecated GrDirectContext::MakeMetal by @kjlubick in 51537
  • Move //buildtools to //flutter/buildtools by @jason-simmons in 51526
  • [ios][platform_view][performance] overlay intersection by @hellohuanlin in 50637
  • [iOS] remove arbitrary framerate cap. by @jonahwilliams in 51663
  • [ios]ignore single edge pixel instead of rounding by @hellohuanlin in 51687

Web

#
  • Refactor flutter.js to do dart2wasm bootstrapping and CanvasKit/Skwasm preloading. by @eyebrowsoffire in 49037
  • [web] Leave blob URLs untouched in TT policy. by @ditman in 49782
  • [web] fix ==/hashCode/toString for several classes across renderers by @yjbanov in 49786
  • [canvaskit] Fall back to multi-context rendering on Firefox and Safari by @harryterkelsen in 49572
  • [web] Bootstrap tests without implicit view by default by @mdebbar in 48629
  • [Web] Fix an assertion error due to synthesized keyboard events by @bleroux in 49087
  • Adding DDC module system targets to web SDK artifacts. by @Markzipan in 47783
  • [web] add support for AppLifecycleState changes by @maRci002 in 44720
  • [web] Prevent re-rendering disposed views when the engine hot restarts. by @ditman in 49958
  • [web] Add views proxy and getInitialData. by @ditman in 49320
  • [web] Do not wipe the PlatformViewManager when disposing of a view. by @ditman in 49991
  • [web] Final nail in FlutterViewEmbedder's coffin by @mdebbar in 49769
  • [CanvasKit] Only render one frame at a time. by @harryterkelsen in 50055
  • Make screen reader announcement append a non-breaking space every other message. by @marcianx in 50151
  • Remove migration flag and unused header files by @LongCatIsLooong in 50216
  • Reverts "Remove migration flag and unused header files" by @auto-submit in 50229
  • Add the focus state related methods to the platform dispatcher by @tugorez in 49841
  • Reverts "Add the focus state related methods to the platform dispatcher" by @auto-submit in 50268
  • Add the focus state related methods to the platform dispatcher by @tugorez in 50273
  • [web] Fix Scene clip bounds. Trigger resize on DPR Change. by @ditman in 50161
  • Reverts "[web] Fix Scene clip bounds. Trigger resize on DPR Change." by @auto-submit in 50404
  • Skip flaking test on Windows nobody is fixing. by @matanlurey in 50401
  • Fix: On the Web, cannot support multiline inputting when registering customized TextInputControl by @Satsrag in 45522
  • [web] - Fix inputmode on Android Firefox by @htoor3 in 46901
  • Reland "[web] Fix Scene clip bounds. Trigger resize on DPR Change." by @ditman in 50457
  • [web] Fix HtmlViewEmbedder.dispose by @ditman in 50482
  • Make the web engine publish view forward focus and unfocus events by @tugorez in 50177
  • Remove legacy references to Cirrus and suspected dead-code. by @matanlurey in 50442
  • Rename [ViewFocusDirection.backwards] to [ViewFocusDirection.backward] by @tugorez in 50533
  • Temporarily change canvaskit kitchensink test to unblock the skia roll by @LongCatIsLooong in 50617
  • [web] Increase tolerance for golden diffs on Safari by @mdebbar in 50655
  • [web] Add dynamic view sizing (v2) by @ditman in 50271
  • fix: consider array size on canvaskit shader data by @renancaraujo in 49754
  • Move the accesibility placeholder to the platform dispatcher. by @tugorez in 50608
  • [Web] Ignore invalid keyboard events related to autofill by @bleroux in 50590
  • Fix implementation imports outside of lib by @goderbauer in 50727
  • [web] Remove unused allowInterop usage in flutter web code by @mkustermann in 50718
  • Temporarily disable goldens for Safari. by @eyebrowsoffire in 50724
  • [Web] Update modifier state when Meta key is seen as Process key by @bleroux in 50779
  • Make the view focus binding report focus transitions across elements. by @tugorez in 50610
  • Add scheduleWarmUpFrame by @dkwingsmt in 50570
  • Add view focus direction detection to flutter web. by @tugorez in 50843
  • Implement frame timing callbacks in Skwasm. by @eyebrowsoffire in 50737
  • Pass the missing strut half leading flag over to skia paragraph builder by @LongCatIsLooong in 50385
  • Reverts "Implement frame timing callbacks in Skwasm. (#50737)" by @auto-submit in 50895
  • Reland 3: Multiview pipeline by @dkwingsmt in 49950
  • Correctly offset the cull rect of the opacity layer. by @eyebrowsoffire in 50928
  • Make sure to call setHeightOverride as well on TextStyle and StrutStyle by @eyebrowsoffire in 50920
  • Reland "Implement Frame Timing callbacks in Skwasm" by @eyebrowsoffire in 50987
  • [skwasm] Clip pictures if they go beyond the bounds of the window. by @eyebrowsoffire in 50887
  • Null-assert the value given to a Completer expecting a non-null value by @srawlins in 49053
  • Revert "[skwasm] Clip pictures if they go beyond the bounds of the window. (#50887)" by @eyebrowsoffire in 51067
  • Fix a few issues rendering text with Skwasm. by @eyebrowsoffire in 51074
  • [web] Drop noisy prints from bootstrapping logic by @kevmoo in 51097
  • Reland "[skwasm] Clip pictures if they go beyond the bounds of the window." by @eyebrowsoffire in 51077
  • Experimental platform isolates API by @liamappelbe in 48551
  • Reland "Remove migration flag and unused header files #50216" by @LongCatIsLooong in 50259
  • Make @keepToString annotation work for web and non-web by @mkustermann in 51251
  • Prepend the accessibility placeholder by @tugorez in 51050
  • Optimize overlays in CanvasKit by @harryterkelsen in 47317
  • Mark the Flutter Views as focusable by setting a tabindex value. by @tugorez in 50876
  • Move emscripten out of the buildroot into the flutter repo. by @eyebrowsoffire in 51299
  • Reverts "Move emscripten out of the buildroot into the flutter repo. (#51299)" by @auto-submit in 51330
  • [gn] Change sdk_rewriter() template to use depfiles by @zanderso in 51314
  • [web] Split initialization of the _flutter namespace and loader object. by @ditman in 51294
  • Reland "Move emscripten out of the buildroot into the flutter repo" by @eyebrowsoffire in 51353
  • [dart:ui] Add view ID to PointerData.toString by @loic-sharma in 51352
  • [web] make addView/removeView functions sync by @p-mazhnik in 51103
  • Implement PlatformDispatcher.requestViewFocusChange on web. by @tugorez in 50535
  • [web] make text more crawlable; fix a JAWS bug by @yjbanov in 50794
  • Remove or replaced unused or duplicate code in SkiaGoldClient. by @matanlurey in 51399
  • [web] - fix text editing IME composition interruption on geometry updates by @htoor3 in 51323
  • Add missing baseline check in text layout tests by @tgucio in 51444
  • [canvaskit] Fix backdrop filter with platform views as children by @harryterkelsen in 51442
  • Pass some missing --disable-dart-dev and --suppress-analytics to dart by @zanderso in 51473
  • [web] remove Tappable from basic set of a11y roles; add it case by case by @yjbanov in 51466
  • [web] Avoid using js_util.{jsify,dartify}() in dart2wasm for converting to JS wrappers by @mkustermann in 51375
  • Fix slash in chromium path. by @eyebrowsoffire in 51527
  • [web] include the hint field in semantics labels by @yjbanov in 51529
  • [skwasm] Throw when gradient color stops are invalid in debug mode. by @eyebrowsoffire in 51624
  • [Skwasm] Respect the debugDisableFallbackFonts flag. by @eyebrowsoffire in 51626
  • [skwasm] Use test fonts while in debugEmulateFlutterTesterEnvironment mode by @eyebrowsoffire in 51630
  • [web] Add ability to customize font fallback download URL by @harryterkelsen in 51569
  • Change JSBoxedDartObject to JSAny by @srujzs in 51634
  • Pass the flutter test font by default. by @eyebrowsoffire in 51671
  • Add local paths for the Dart macros package, which is now a dependency of the analyzer package by @jason-simmons in 51709
  • [canvaskit] Fix color filter for dst and dstIn by @harryterkelsen in 51693
  • [Skwasm] Correctly handle paragraphs with empty text. by @eyebrowsoffire in 51695
  • Prevent solo: true from being committed by @mdebbar in 51712
  • [skwasm] Use text position affinity when calculating word boundaries. by @eyebrowsoffire in 51753

Desktop

#
  • Fix macOS text composing by @LongCatIsLooong in 49314
  • [Windows] Add README by @loic-sharma in 49779
  • [Windows] Remove unnecessary statics in keyboard by @loic-sharma in 49834
  • [Windows] Reduce Visual Studio build errors caused by keyboard unit tests by @loic-sharma in 49814
  • [Windows] Refactor logic when window resize completes by @loic-sharma in 49872
  • [Windows] Refactor EGL initialization by @loic-sharma in 49895
  • [Windows] Fix resize crash by @loic-sharma in 49935
  • [Windows] Rename and move EGL types by @loic-sharma in 49900
  • [Windows] Introduce egl::Context by @loic-sharma in 49954
  • [Windows] Introduce egl::Surface and egl::WindowSurface by @loic-sharma in 49983
  • [Windows] Set cursor immediately when framework requests update by @hasali19 in 49784
  • Refactor macOS trackpad gesture tracking by @moffatman in 49424
  • Revert "[Windows] Introduce egl::Surface and egl::WindowSurface" by @loic-sharma in 50104
  • Reland "[Windows] Introduce egl::Surface and egl::WindowSurface" by @loic-sharma in 50148
  • Re-add tests deleted by accident by @goderbauer in 50223
  • Report display sizes in physical pixels on MacOS by @goderbauer in 50221
  • [Windows] Make the view own its EGL surface by @loic-sharma in 50421
  • [Windows] Refactor window destroyed app lifecycle event by @loic-sharma in 50565
  • macOS: add stubs for PlatformView gesture handling by @cbracken in 50630
  • [Windows] Improve FlutterWindow unit tests by @loic-sharma in 50676
  • [Windows] Make the engine create the view by @loic-sharma in 50673
  • [Windows] Add ID to views by @loic-sharma in 50788
  • [Windows] Fix top-level message procedure order by @loic-sharma in 50797
  • [macOS] Wrap FlutterEngineTest in autoreleasepool by @cbracken in 50832
  • Build macOS engine as an xcframework by @vashworth in 50300
  • [Windows] Add helper for headless integration tests by @loic-sharma in 50885
  • [Windows] Refactor the a11y announcement test by @loic-sharma in 50888
  • Add Platform View Manager to Windows shell by @yaakovschectman in 50598
  • [macOS] Use CVDisplayLink to drive repaint by @knopp in 49159
  • [Windows] Introduce an accessibility plugin by @loic-sharma in 50975
  • [Windows] Remove TODONE by @loic-sharma in 51005
  • [Windows] Make the engine own a map of views by @loic-sharma in 51017
  • [Windows] Reduce log level of unsupported accessibility event message by @loic-sharma in 51024
  • [Windows] Add view ID runner APIs by @loic-sharma in 51020
  • Revert "[macOS] Use CVDisplayLink to drive repaint (#49159)" by @knopp in 51095
  • Reland: [macOS] Use CVDisplayLink to drive repaint by @knopp in 51126
  • Reverts "Reland: [macOS] Use CVDisplayLink to drive repaint (#51126)" by @auto-submit in 51192
  • [Windows] Allow plugins to get views by @loic-sharma in 51096
  • Reland "Reland: [macOS] Use CVDisplayLink to drive repaint" by @knopp in 51210
  • Multi-view View Metrics by @dkwingsmt in 46174
  • Fix flakiness in FlutterVSyncWaiterTest.VSyncWorks and FlutterDisplayLinkTest.WorkaroundForFB13482573 by @knopp in 51405
  • [Windows] Move to new present callback by @loic-sharma in 51293
  • Regenerate FlutterMacOS.xcframework when sources of dependencies change by @vashworth in 51396
  • [Windows] Allow view controllers to not own the engine by @loic-sharma in 51570
  • [macOS] Disable FlutterEngineTest.CanOverrideBackgroundColor by @cbracken in 51669
  • [macOS] Consolidate FlutterViewController static types/data by @cbracken in 51486

Other Changes

#
  • Enforce consistent stack size for Flutter threads by @knopp in 49111
  • Fix memory leaks in some embedder unit tests that send key events by @jason-simmons in 49548
  • When building clang-tidy commands, filter out the sed command that may be appended to each compile command by @jason-simmons in 49605
  • Roll buildroot to pick up iOS 12 by @jmagman in 49542
  • Migrate to Flutter mirrors for Google-owned Github repositories by @sealesj in 49203
  • Skip flaky test on mac in http_disallow_http_connections_test.dart by @zanderso in 49635
  • Refactors RBE support by @zanderso in 49416
  • Reverts "Refactors RBE support" by @auto-submit in 49654
  • Reverts "Migrate to Flutter mirrors for Google-owned Github repositories" by @auto-submit in 49671
  • Osv-scanner integration by @sealesj in 49470
  • Google GitHub mirrors - reland by @sealesj in 49716
  • Revert Dart SDK to 3245b92a5930 by @jason-simmons in 49727
  • Run tests on macOS 13 only by @vashworth in 49722
  • [Fuchsia] Use chromium test-scripts to download images and execute tests by @zijiehe-google-com in 49650
  • Reverts "[Fuchsia] Use chromium test-scripts to download images and execute tests" by @auto-submit in 49772
  • Remove gclient_variables from linux_license.json by @keyonghan in 49766
  • Relands: Refactors RBE support by @zanderso in 49660
  • Add gclient_variables back for linux_license and fix the excluded files by @keyonghan in 49775
  • [Linux] Remove the usage of std::function in FlKeyEmbedderResponder by @dkwingsmt in 49293
  • Fix linux_android_emulator_api_33 build config for rbe by @zanderso in 49776
  • Remove pthread based thread local support. by @chinmaygarde in 49297
  • Manually bump Dart to 3.4.0-34.0.dev by @bdero in 49792
  • Support running sound null safe kernels from dart_runner by @iinozemtsev in 49598
  • Add flutter prefix to import by @jiahaog in 49793
  • Use the correct impeller-cmake-example mirror by @bdero in 49791
  • Reverts "Manually bump Dart to 3.4.0-34.0.dev" by @auto-submit in 49802
  • Revert "Add gclient_variables back for linux_license and fix the excluded files" by @zanderso in 49817
  • Move mac cache builder to bringup. by @godofredoc in 49843
  • Reverts "Manual roll Dart SDK from d6c08fa9bb54 to 6ff69d6b7f59 (15 revisions)" by @auto-submit in 49852
  • Update tests to Xcode 15 and iOS 17 simulator by @vashworth in 49833
  • Simplify osv-scanner workflow by @sealesj in 49807
  • Use any mac machine available for orchestrator run. by @godofredoc in 49845
  • [fuchsia] Wire through the tzdata-icu capability by @filmil in 48907
  • Re-enable osv-scanner on pushes to main by @sealesj in 49729
  • [Fuchsia] Redo - Use chromium test-scripts to download images and execute tests by @zijiehe-google-com in 49847
  • Adding ignore paths to cache test by @ricardoamador in 49874
  • Reverts "[Fuchsia] Redo - Use chromium test-scripts to download images and execute tests" by @auto-submit in 49908
  • Add Mac cache_builder back into Prod by @ricardoamador in 49936
  • Reverts "Add Mac cache_builder back into Prod" by @auto-submit in 49961
  • Update buildroot for fidl_binding_deps() support in the Fuchsia SDK by @mbrase in 49909
  • Exclude prebuilts/Library from Mac builder_cache by @zanderso in 49971
  • Roll buildroot to 5d969bd98e31ec90c23ccb982666ace80559f442 by @zanderso in 49956
  • Exclude the Dart SDK sdk/lib/svg/dart2js directory from the license crawl by @jason-simmons in 49977
  • [ui] hold a strong reference to fragment program objects. by @jonahwilliams in 49868
  • Replace Fuchsia logging macros (FX_LOG*) with FML logging by @mbrase in 49970
  • Fuchsia + ocmock mirror migration by @sealesj in 50003
  • Add custom FlValue types and support their en/decoding via FlStandardMessageCodec by @robert-ancell in 49162
  • Use top-level GN arg for Skottie instead of CanvasKit-specific arg. by @johnstiles-google in 50019
  • [Fuchsia] Redo - Use chromium test-scripts to download images and execute tests by @zijiehe-google-com in 49940
  • Roll webp to 1.3.2 by @Hixie in 49883
  • Fix a typo in ChannelBuffers documentation by @bleroux in 49928
  • Remove fuchsia from allowed_hosts post-migration by @sealesj in 50013
  • Introduce a prototype of a "header guard enforcement" tool by @matanlurey in 48903
  • Roll dart to 3.4.0-79.0.dev by @aam in 50100
  • Delete ci/docker, assuming it is not used. by @matanlurey in 50103
  • Followups to screenshot patch by @dnfield in 50096
  • Enable header_guard_check (and --fix) in ci/format by @matanlurey in 50102
  • Move Mac builder_cache to prod by @keyonghan in 50044
  • Revert Dart to Version 3.4.0-82.0.dev by @zanderso in 50131
  • Remove ockmock GitHub reference by @sealesj in 50086
  • Include dart vm internal sources into flutter distro. by @aam in 50116
  • Handle construction/destruction of GObject private data containing C++ objects in Linux embedder tests by @jason-simmons in 50022
  • Fix incorrect FML_VLOG() severity usage by @mbrase in 50118
  • Use structured logging on Fuchsia by @mbrase in 49918
  • Roll buildroot to 52689fe8955a9a4916a38f0b8ae5ea3e217037f4 by @mk12 in 50160
  • Support running sound null safe kernels from flutter_jit_runner by @iinozemtsev in 50002
  • More correctly name methods regarding event loop that are currently named microtask by @mkustermann in 50138
  • [Fuchsia] Execute most of the testing/fuchsia/test_suites.yaml on debug and release builds by @zijiehe-google-com in 50058
  • Multiview: Add view ID to _render and remove render rule skipping by @dkwingsmt in 50220
  • Ignore CRLF endings when determining the names of header guards. by @matanlurey in 50227
  • Remove string field from FlKeyEvent by @robert-ancell in 50189
  • [Impeller] added an assert that goldens are generated by @gaaclarke in 50222
  • Update expected golden number. by @jonahwilliams in 50249
  • Fix the output paths of the Web esbuild GN template by @jason-simmons in 50188
  • Get bounds from RTree in DLBuilder::Build() by @flar in 50253
  • Refactor the linux_android targets to make use of recent changes to android virtual device params by @ricardoamador in 50099
  • Remove number of arguments from defining Dart FFI by @dkwingsmt in 50153
  • Add a link the different possible Android virtual device configs by @ricardoamador in 50267
  • Move linux_fuchsia to staging by @zanderso in 50288
  • Revert "[Fuchsia] Execute most of the testing/fuchsia/test_suites.yaml on debug and release builds" by @zanderso in 50291
  • Reverts "Move linux_fuchsia to staging" by @auto-submit in 50294
  • Remove the skia_fontmgr_factory argument from the Web GN configuration by @jason-simmons in 50183
  • [Impeller] Do not reference this in the submit callback for Metal GPU Surfaces by @dnfield in 50361
  • [github actions] add cherry pick workflow for engine repo by @XilaiZhang in 50265
  • [fuchsia] Bump Fuchsia's API level to 16 by @jrwang in 50358
  • Capture FAILURES!!! when running Android scenario_app tests. by @matanlurey in 50255
  • Run all Android scenario_app tests, not just the smoke test. by @matanlurey in 50400
  • Revert "Revert "[Fuchsia] Execute most of the testing/fuchsia/test_suites.yaml on debug and release builds"" by @zijiehe-google-com in 50295
  • Reverts "Revert "Revert "[Fuchsia] Execute most of the testing/fuchsia/test_suites.yaml on debug and release builds""" by @auto-submit in 50407
  • Add use_rbe to gclient variables for Framework Smoke Tests by @keyonghan in 50403
  • Provide toStrings for Native objects by @Hixie in 50168
  • Redo "[Fuchsia] Execute most of the testing/fuchsia/test_suites.yaml on debug and release builds" by @zijiehe-google-com in 50408
  • Fixed CONTRIBUTING.md markdown lints by @gaaclarke in 50439
  • Reverts "Roll Dart SDK from 452dd17120b7 to 322c81160fa9 (1 revision)" by @auto-submit in 50450
  • [Fuchsia] Run tests with multiple packages by @zijiehe-google-com in 50219
  • Clear objects before setting them. by @robert-ancell in 50344
  • [github actions] update license year by @XilaiZhang in 50458
  • Fix Core Foundation object leaks. by @0xZOne in 50460
  • Updated CONTRIBUTING.md to have a testing section by @gaaclarke in 50469
  • Sever the //flutter/vulkan dependency in Flutter tester. by @chinmaygarde in 50454
  • Supports building with RBE on a Windows host. by @zanderso in 49877
  • Make .style.yapf and .pylintrc agree on line length by @zanderso in 50510
  • [Impeller] Add --enable-impeller-vulkan-playgrounds to ./flutter/tools/gn by @chinmaygarde in 50477
  • Adds a runner to engine_build_configs by @zanderso in 50342
  • Update build/rbe CIPD hash by @zanderso in 50524
  • Remove host_debug_unopt build from linux_host_engine.json by @zanderso in 50555
  • Update codec defines for Skia by @kjlubick in 50554
  • Initializes RBE in the build config runner by @zanderso in 50543
  • [fuchsia] Update Inspect library usage by @miguelfrde in 50467
  • Remove FlKeyEvent.dispose_origin and use GdkEvent type for origin by @robert-ancell in 50483
  • Replace usage of an integer for GdkModifierType by @robert-ancell in 50481
  • Make dart:ui#Paint final to allow changes/disallow implementing. by @matanlurey in 50557
  • Add Impeller runtime options to Android scenario_app by @matanlurey in 50487
  • Move libpng to //flutter/third_party/libpng by @zanderso in 50571
  • Do not use AChoreographer on 32 bit devices by @dnfield in 50586
  • [Fuchsia] Run tests with test arguments by @zijiehe-google-com in 50478
  • Allow deprecated members from the Dart SDK to roll in. by @matanlurey in 50575
  • [engine_build_configs] Use dart:ffi Abi to determine the host cpu by @zanderso in 50604
  • Run Skia and Impeller OpenGLES on APIv28. by @matanlurey in 50583
  • [Impeller] replaces golden file count with a golden diff file by @gaaclarke in 50621
  • In run_tests, use the regular path to the Vulkan library if lib.unstripped does not exist by @jason-simmons in 50629
  • Starts a command line tool for assisting engine dev workflows by @zanderso in 50642
  • Refactor, update, and move around testing/scenario_app/README.md by @matanlurey in 50659
  • Run engine_tool tests by @zanderso in 50662
  • Make all Android scenario_app activities full-screen, even on older Android versions. by @matanlurey in 50666
  • [Fuchsia] Run run_with_dart_aot test on fuchsia_profile_x64 by @zijiehe-google-com in 50613
  • Add useful default options to scenario_app/bin/android_integration_tests.dart by @matanlurey in 50667
  • Move boringssl to flutter/third_party. by @matanlurey in 50601
  • Use modern concurrency constructs. by @matanlurey in 50671
  • Disable Android API v28 tests on CI. by @matanlurey in 50672
  • Add a &right_filter=params to the Skia Gold links. by @matanlurey in 50675
  • Add support for dart_src GN variable to flutter_frontend_server build by @whesse in 50685
  • Pin OSV-Scanner reusable workflow by @sealesj in 50649
  • Added tool to easily check golden diffs locally. by @gaaclarke in 50654
  • Shift some Linux builders from Goma to RBE by @zanderso in 50653
  • Documentation for test timeouts. by @godofredoc in 50687
  • [Fuchsia] Run arm64 tests on terminal.qemu-arm64 on x64 hosts by @zijiehe-google-com in 50657
  • Update README.md by @matanlurey in 50702
  • [et] Adds a logger by @zanderso in 50693
  • Add the web package to the set of Dart third_party packages in DEPS by @jason-simmons in 50714
  • Use the Pixel 7/API 33 device in the Firebase test lab script by @jason-simmons in 50721
  • Pulled out dir contents golden tool by @gaaclarke in 50703
  • Restore use of the API 34 device in the Firebase Test Lab script and handle FTL infrastructure errors in the script by @jason-simmons in 50735
  • Connect signals in swapped form. by @robert-ancell in 50705
  • Write adb logcat results and screenshots to FLUTTER_LOGS_DIR if able. by @matanlurey in 50722
  • [Fuchsia] Create dedicated testers to run tests and deprecate femu_test by @zijiehe-google-com in 50697
  • [et] Adds a .bat entrypoint for Windows by @zanderso in 50784
  • Move the scenario_app running Impeller+OpenGLES to bringup: triue by @matanlurey in 50789
  • [Impeller] more nullchecks in image decoder. by @jonahwilliams in 50787
  • Disable framework smoke tests. by @jonahwilliams in 50800
  • [Flutter GPU] Fix symbol export for windows. by @bdero in 50755
  • [et] Adds a format command by @zanderso in 50747
  • Make global builds uniquely named per platform by @zanderso in 50764
  • Add pub.dev to the hosted package URIs checked by the pub_get_offline script by @jason-simmons in 50811
  • Update impeller-cmake-example by @bdero in 50808
  • Fix the local-only lint errors due to an unexpected GeneratedPluginRegistrant.java by @matanlurey in 50795
  • Migrate the Fuchsia embedder to the Dart_RecordTimelineEvent API by @jason-simmons in 50823
  • Fail engine post-submit on skia-gold comparions. by @matanlurey in 50826
  • Make the GL context current in EmbedderSurfaceGLImpeller before creating the GPU surface by @jason-simmons in 50807
  • Ignore EOF newline characters and added tests to dir_contents_diff tool by @matanlurey in 50805
  • Add the scenario_app 'solid_blue' golden to the Android test suite by @matanlurey in 50801
  • Add a throw statement for imgtestAdd non 0 exit codes. by @matanlurey in 50829
  • Starts a .ci.yaml parser by @zanderso in 50783
  • Update the vulkan_glfw sample for the latest roll of vulkan-deps by @jason-simmons in 50839
  • Clean up contributing formatting, add a Skia gold callout by @matanlurey in 50828
  • Remove/reduce unused or private methods and add tests to SkiaGoldClient by @matanlurey in 50844
  • Add a similar runIf guard to web_engine as web framework. by @matanlurey in 50846
  • Minor non-semantic refactors of ExternalTexturesFlutterActivity by @matanlurey in 50845
  • Change "Linux mac_unopt" to "Mac mac_unopt" by @zanderso in 50863
  • Use RBE on more Windows builders by @zanderso in 50866
  • Remove 'bringup: true' from 'Mac mac_unopt' by @zanderso in 50865
  • Delete and create iOS simulator before running Scenario app test by @vashworth in 50835
  • Avoid generated plugin registrant warnings for scenario_app by @dnfield in 50874
  • Remove unused property from Linux Web Framework tests by @keyonghan in 50891
  • Remove unused drone_dimension field by @keyonghan in 50893
  • Remove obsolete cache_root property by @keyonghan in 50894
  • Provide a subset of adb logcat logs streaming during scenario_app testing by @matanlurey in 50886
  • Move ban-plugin-java script into separate file and improve testing. by @matanlurey in 50875
  • Replace SkColorSpace::filterColor with filterColor4f by @brianosman in 50821
  • Add an initial 'build' command to engine_tool by @johnmccutchan in 50681
  • Reverts "Reland 3: Multiview pipeline (#49950)" by @auto-submit in 50929
  • Refactor Android scenario_app to remove shell entrypoint, simplify. by @matanlurey in 50922
  • Avoiding using separate FlutterLoaders in scenario_app by @dnfield in 50927
  • Actually list all sources for scenario_app target. by @matanlurey in 50933
  • Reland 4: Multiview pipeline by @dkwingsmt in 50931
  • Further shard Android emulator tests by @zanderso in 50954
  • Move linux_android_emulator_skia builder to prod by @zanderso in 50956
  • [et] Improve the logger for the ninja build, adds a spinner by @zanderso in 50952
  • Better filtering for Android scenario_app runner. by @matanlurey in 50937
  • [scenario] trigger firstFrameLatch on exception. by @jonahwilliams in 50981
  • Refactor args parsing/environment constructor for scenario_app by @matanlurey in 50980
  • Revert "Reland 4: Multiview pipeline (#50931)" by @dkwingsmt in 50985
  • Migrate Android scenario_app to the SurfaceProducer API by @matanlurey in 50993
  • Reverts "Migrate Android scenario_app to the SurfaceProducer API (#50993)" by @auto-submit in 50995
  • Roll buildroot to 21b1b9f2645fada701885108e86aefbcb3b1cca0 by @jason-simmons in 50991
  • Fix usage of --out-dir with a relative path. by @matanlurey in 50992
  • Respect SIGINT (Ctrl-C) for Android scenario_app. by @matanlurey in 50989
  • Actually use Impeller in scenario_app tests by @dnfield in 50977
  • Move protobuf to //flutter/third_party by @zanderso in 50997
  • [Fuchsia] Use shared gn-sdk from chromium by @zijiehe-google-com in 50855
  • GLES for scenario_app tests using Impeller by @dnfield in 51000
  • Adjust Android emulator test timeouts by @zanderso in 51004
  • Fail lazily when 1+ Skia gold comparions fail. by @matanlurey in 51010
  • Code consistency fixes in FlScrollingManager by @robert-ancell in 50959
  • Improve, test, and fix a bug related to adb logcat filtering. by @matanlurey in 51012
  • Remove rewrapper prefix from compiler commands for clang-tidy by @zanderso in 51001
  • Rename some classes in the engine_build_configs package by @johnmccutchan in 51016
  • Process FlutterMacOS.framework before creating xcframework by @vashworth in 51023
  • When run_tests.py is in --quiet mode, write verbose logs to a file by @zanderso in 51029
  • Roll buildroot to 7b537de78ac2239982ace130d1845374e5dcf113 by @cbracken in 51053
  • Revert to goma on mac_clang_tidy builder by @zanderso in 51060
  • Make Skia object ostream operators work with unit tests by @flar in 51041
  • Roll abseil-cpp to 1db3bdd4eb208bef55c77f22aa94991e52225230 by @cbracken in 51062
  • Update Linux embedder to latest semantics API by @robert-ancell in 51030
  • The adb logcat filtering will continue until morale improves. by @matanlurey in 51069
  • Use RBE for mac_clang_tidy by @zanderso in 51083
  • Refactor GL rendering to prepare for GTK4 by @robert-ancell in 50754
  • Add et run command by @johnmccutchan in 51037
  • Add a basic e2e-test for skia_gold_client. by @matanlurey in 51078
  • Run apple SDK finders as gclient hooks by @zanderso in 50957
  • Fold the GN dart_pkg template into its only use by @zanderso in 51151
  • Fix custom FlValue API not being exported by @robert-ancell in 51154
  • Use Instrumentation.waitForIdleSync() after rotation requests. by @matanlurey in 51169
  • Scenario App: Adds a run_{count}.{backend}. file prefix to every run (on CI) by @matanlurey in 51102
  • [fuchsia] Prepare for @transitional removal by @ianloic in 51185
  • [fuchsia] Remove now unnecessary diagnostics directory by @miguelfrde in 51180
  • Shift git version fetching to tools/gn by @zanderso in 51175
  • Adds githooks that reminds to run gclient sync -D by @zanderso in 51156
  • Add device selection to et run by @johnmccutchan in 51184
  • Fix typo in githook message by @zanderso in 51205
  • Skip configuration dependency if unit tests are disabled by @gspencergoog in 51179
  • Fix git hooks on Windows by @loic-sharma in 51203
  • [g3 roll] Revert "Remove unused drone_dimension field" by @XilaiZhang in 51214
  • Revamp the scenario_app/../README.md to encourage self-sustenance by @matanlurey in 51196
  • [et] Allow users to update dependencies by @loic-sharma in 51177
  • Re-stamp skia_gold_client e2e tests. by @matanlurey in 51220
  • Disable flaky linux desktop test by @zanderso in 51231
  • add new builder benchmark with a global saveLayer by @flar in 51236
  • Skip impeller goldens on release branches by @Jasguerrero in 51237
  • Reland 5: Multiview pipeline by @dkwingsmt in 51186
  • Skip impeller goldens on release by @Jasguerrero in 51240
  • Migrate build_overrides from buildroot to engine by @cbracken in 51258
  • [gn] Disable running some python scripts from GN by @zanderso in 51248
  • Roll buildroot to ef514ca5144ba0a4ce5e7075c325d24cd6da73a4 by @cbracken in 51265
  • Add fuchsia_gn_sdk GN variable pointing to //flutter/tools/fuchsia/gn-sdk by @mkustermann in 51287
  • Update CI scripts to use either src/flutter/third_party/dart or src/third_party/dart by @jason-simmons in 51276
  • [Fuchsia] Providing FUCHSIA_SDK_PATH env var for fuchsia lsc by @zijiehe-google-com in 51234
  • Revert test if changes to golden tests by @zanderso in 51291
  • Update the instructions for updating licenses. by @chinmaygarde in 51297
  • Don't rely on dart binary on PATH in run_test.py by @zanderso in 51302
  • Roll buildroot to e9df434539745202fa5f9b729fe5f82e5de3f025 by @zanderso in 51306
  • Remove flaky check from observatory/tracing_test.dart by @zanderso in 51320
  • Conditionally run golden_tests_harvester for run_impeller_golden_tests. by @matanlurey in 51325
  • Make scenario app have translucent splash screen so it doesn't affect screenshot colors by @gmackall in 51329
  • [codesign] fix typo in binary path by @XilaiZhang in 51339
  • Try making android scenario app not do animations by @gmackall in 51349
  • Migrate perfetto to flutter/third_party by @cbracken in 51272
  • Fix null filter NOP case in DlLocalMatrixImageFilter by @flar in 51340
  • Fix some races in the platform isolate tests by @jason-simmons in 51358
  • Remove early Flutter GPU prototype from ui/experiments. by @bdero in 51367
  • Copy the flutter_gpu package into the engine artifacts. by @bdero in 51365
  • Refactor golden_tests_harvester, throw when not --dry-run, add tests. by @matanlurey in 51364
  • Add et lint command by @johnmccutchan in 51238
  • Add a comparative benchmark for SkM44 vs SkMatrix vs impeller::Matrix by @flar in 51332
  • [scenario app] make image matching fuzzier. by @jonahwilliams in 51376
  • [Fuchsia] Enable sound null safety everywhere by @zijiehe-google-com in 51355
  • Small improvements to et lint command by @johnmccutchan in 51372
  • [Embedder API] Add multi-view present callback by @loic-sharma in 51267
  • Avoid unnecessary transform resets for pixel snapping by @flar in 51337
  • Remove always-true skia_enable_flutter_defines by @kjlubick in 51423
  • [et] build and run commands disable RBE with a flag or when not available by @zanderso in 51404
  • Reduce code-duplication a bit and add more error context across SkiaGoldClient. by @matanlurey in 51426
  • Add DisplayList Region and Transform benchmarks to CI by @flar in 51429
  • Reverts "Add DisplayList Region and Transform benchmarks to CI (#51429)" by @auto-submit in 51432
  • Add some header-goodies for et. by @matanlurey in 51434
  • [Fuchsia] Remove the use of //build/ in fuchsia by @zijiehe-google-com in 51072
  • Remove the Android-drawn surface rendering from scenario_app. by @matanlurey in 51433
  • Add android_debug_unopt_arm64 to local_engine.json. by @matanlurey in 51427
  • Add a pixel test to cover multiple clips with a BDF by @dnfield in 51431
  • Add more explicit logging (just to stderr) if a try-job detects an untriaged image by @matanlurey in 51454
  • Log messages when an image successfully uploads to Skia Gold by @matanlurey in 51455
  • Reland "Add DisplayList Region and Transform benchmarks to CI" by @flar in 51458
  • Silence gn warning about unused Skia flag by @flar in 51464
  • [Fuchsia] only download fuchsia deps when necessary by @zijiehe-google-com in 51439
  • [Embedder API] Remove view by @loic-sharma in 51400
  • Write recent logcat output to the LUCI log directory if an Android unit test fails by @jason-simmons in 51462
  • Reverts "[Fuchsia] only download fuchsia deps when necessary (#51439)" by @auto-submit in 51500
  • Update fuchsia_libs.gni by @Breakthrough in 51447
  • [Fuchsia] Remove the legacy tools/fuchsia/target_api_level file by @zijiehe-google-com in 51497
  • Add the platform isolate API to the files included in the sky_engine package by @jason-simmons in 51538
  • [golden_test_harvester]: Put back sending the dimensions to the SkiaGoldClient by @gaaclarke in 51536
  • Add a breadcrumb from FlutterView to PlatformDispatcher. by @Hixie in 51504
  • [Embedder API] Fix test helper's present callback registration by @loic-sharma in 51560
  • [Fuchsia] Assert renders are only to the implicit view by @loic-sharma in 51559
  • Make the et feature request link properly add the github label by @gmackall in 51594
  • Post Dart message handling tasks directly to the platform task runner for isolates running on the platform thread by @jason-simmons in 51573
  • Update one more use of deprecated GrDirectContext::MakeMetal by @kjlubick in 51619
  • [Embedder API] Add helper to create viewport metrics by @loic-sharma in 51562
  • Add fl_standard_method_codec_new_with_message_codec() by @robert-ancell in 51599
  • font_subset tests: name correct variant in exception by @selfisekai in 51492
  • Roll buildroot to 2a16784938d3be059014d4112f00ac70a386fa0c by @zanderso in 51674
  • Use RBE for Fuchsia CI builds by @zanderso in 51675
  • Roll buildroot to ba3ca696f4f95e998707523be755c15440c6bf3f by @zanderso in 51678
  • Stop rolling zlib with Dart SDK rolls. by @rmacnak-google in 51667
  • Turn off internal retries for Android scenario app tests by @zanderso in 51689
  • Fail pre-submit if a negative image is encountered as part of goldctl imgtest add. by @matanlurey in 51685
  • [Impeller] add missing null check. by @jonahwilliams in 51711
  • Reverts "Fail pre-submit if a negative image is encountered as part of goldctl imgtest add. (#51685)" by @auto-submit in 51718
  • Fix skunicode BUILD.gn rules by @kjlubick in 51708
  • Remove Impeller/OpenGLES from CI branch for Android e2e tests. by @matanlurey in 51734
  • [flutter_releases] Flutter beta 3.22.0-0.0.pre Engine Cherrypicks by @itsjustkevin in 51851

New Contributors

#
  • @zijiehe-google-com made their first contribution in 49650
  • @iinozemtsev made their first contribution in 49598
  • @hasali19 made their first contribution in 49784
  • @Markzipan made their first contribution in 47783
  • @nikkivirtuoso made their first contribution in 49865
  • @eitanliu made their first contribution in 49659
  • @bartcone made their first contribution in 49980
  • @Satsrag made their first contribution in 45522
  • @renancaraujo made their first contribution in 49754
  • @kevmoo made their first contribution in 51097
  • @p-mazhnik made their first contribution in 51103
  • @Breakthrough made their first contribution in 51447

Full Changelog: https://github.com/flutter/engine/compare/3.19.0...3.22.0-0.1.pre