Flutter 3.19.0 release notes

This page has release notes for 3.19.0. For information about subsequent bug-fix releases, see Hotfixes to the Stable Channel.

Flutter

#

Framework

#
  • Update logic for getting Analytics instance from package:unified_analytics by @eliasyishak in 134756
  • Expose onAttach and onDetach in ScrollController subclasses by @Piinks in 135721
  • Upgrade leak_tracker to fix flackiness. by @polina-c in 135760
  • ViewportOffset should dispatch creation in constructor. by @ksokolovskyi in 135420
  • Cover more test/widgets tests with leak tracking #12. by @ksokolovskyi in 135385
  • Leak track cupertino widgets by @NobodyForNothing in 135353
  • leak track page_test.dart by @NobodyForNothing in 135352
  • Fix memory leaks in WidgetInspector and WidgetInspectorService. by @ksokolovskyi in 135828
  • Test cover cupertino text field for memory leaks. by @NobodyForNothing in 135804
  • Fix a couple of CupertinoTextField tests to avoid leak-tracking test failures. by @ksokolovskyi in 135851
  • leak track tab_scaffold_test.dart by @NobodyForNothing in 135309
  • Cover some cupertino tests with leak tracking by @NobodyForNothing in 135230
  • Fix the character field of RawKeyEvent is always null on iOS by @LinXunFeng in 135100
  • Remove unused InlineSpan methods by @LongCatIsLooong in 135882
  • Replace dead link in CupertinoPicker documentation by @Pante in 135897
  • Tiny improve code style by using records instead of lists by @fzyzcjy in 135886
  • RenderEditable should dispose created layers. by @polina-c in 135942
  • Simplify assertion in AsyncSnapshot by @mateusfccp in 135899
  • Allow leaks around tap down/up, while flackiness is not fixed. by @polina-c in 136133
  • [leak-tracking] Add leak tracking in test/painting #2 by @droidbg in 136169
  • [web] Fix page up page down home end shortcut behavior on web by @htoor3 in 135454
  • [leak-tracking] Cover testwidgets with leak tracking in test/gestures by @droidbg in 136166
  • [leak-tracking] Add leak tracking in test/painting #1 by @droidbg in 136167
  • TestClipPaintingContext should dispose ContainerLayer by @polina-c in 135949
  • [flutter_tools] allow tool integration tests to quit on SIGINT by @christopherfujino in 136271
  • Relaxed a test on Paint.toString() to ignore dither: .... by @matanlurey in 136302
  • Add SizeTransition.fixedCrossAxisSizeFactor by @ValentinVignal in 134659
  • _RenderSnapshotWidget should dispose created OffsetLayer. by @ksokolovskyi in 136267
  • Include size factors when computing the intrinsic size of a RenderPositionedBox by @fischerscode in 135823
  • Add profilePlatformChannels service extension by @kenzieschmoll in 136051
  • [leak-tracking] Add leak tracking in test/rendering - 1 by @droidbg in 136275
  • Allow latest pkg:material_color_utilities by @kevmoo in 132445
  • Updates references to finders.dart in controller.dart to use a namespace. by @pdblasi-google in 136423
  • Fix PageView API doc sample fails on Desktop and Web by @huycozy in 135910
  • Bump file,process,process_runner by @goderbauer in 136418
  • Fix doc TODO by @goderbauer in 136485
  • [SingleChildScrollView] Correct the offset pixels if it is out of range during layout by @xu-baolin in 136239
  • Make constraints a covariant argument in RenderBox.computeDryLayout() by @tvolkert in 136432
  • [leak-tracking] Add leak tracking in test/rendering -3 by @droidbg in 136308
  • [leak-tracking] Add leak tracking in test/rendering -2 by @droidbg in 136310
  • Stop skipping leaks in the test. by @polina-c in 136512
  • Mark leak in NativeCodec.getNextFrame. by @polina-c in 136514
  • Changes to use valuenotifier instead of a force rebuild for WidgetInspector by @CoderDake in 131634
  • [Impeller] GPU frame timings summarization. by @jonahwilliams in 136408
  • Change some usage of RawKeyEvent to KeyEvent in preparation for deprecation by @gspencergoog in 136420
  • Test cover cupertino for memory leaks tracking -2 by @droidbg in 136577
  • Test cover cupertino for memory leaks and fix Opacity Layer not disposed. by @droidbg in 136576
  • Cupertino search field test leak tracking and Fix. RestorableTextEditingController not disposed. by @droidbg in 136615
  • Avoid use of Platform.script in isolates_test.dart by @dnfield in 136669
  • Add docs to SchedulerBinding by @tvolkert in 136433
  • Revert "[SingleChildScrollView] Correct the offset pixels if it is out of range during layout" by @Piinks in 136744
  • make integration_test_driver_extended.dart support writeResponseData--(done) by @linchen2chris in 128382
  • GoldenFileComparators should dispose created Image objects. by @ksokolovskyi in 136716
  • Adds API for performing semantics actions in tests by @pdblasi-google in 132598
  • Add findChildIndexCallback examples by @gildaswise in 133469
  • Flutter preview device by @christopherfujino in 135639
  • Fixes ability to call nextFocus() on a node to focus its descendant by @chunhtai in 136773
  • Add code for updating focusedChild when removing grandchildren from scope by @gspencergoog in 136771
  • Reverts "Use Layer.toImage for golden tests on CanvasKit" by @auto-submit in 136860
  • Reverts "Add code for updating focusedChild when removing grandchildren from scope" by @auto-submit in 136862
  • Reverts "Fixes ability to call nextFocus() on a node to focus its descendant" by @auto-submit in 136894
  • Reland: "Add code for updating focusedChild when removing grandchildren from scope" by @gspencergoog in 136899
  • Upgrade Flutter deps to pull in latest vm_service and dwds by @elliette in 136734
  • Revert "[Velocity Tracker] Fix: Issue 97761: Flutter Scrolling does not match iOS; inadvertent scrolling when user lifts up finger" by @Piinks in 136905
  • Roll pub packages by @flutter-pub-roller-bot in 136924
  • RenderEditable WidgetSpan intrinsics by @LongCatIsLooong in 136979
  • Reland "Use Layer.toImage for golden tests on CanvasKit" by @harryterkelsen in 136918
  • Test cover painting for memory leaks by @droidbg in 136696
  • Reland "Fixes ability to call nextFocus() on a node to focus its desc… by @chunhtai in 136898
  • Fix TextStyle terminology by @LongCatIsLooong in 137000
  • Use coverage.collect's coverableLineCache param to speed up coverage by @liamappelbe in 136851
  • CustomPainterSemantics doc typo by @EnduringBeta in 137081
  • Dartdoc warnings by @goderbauer in 137077
  • Upgrade packages in flutter and flutter_test. by @polina-c in 137106
  • fix some typos by @cuishuang in 137144
  • Fix Gradle lockfiles. by @polina-c in 137190
  • Revert "Fix Gradle lockfiles." by @QuncCccccc in 137198
  • fix SliverReorderableLists item wrong offset by @yiiim in 136828
  • Add dependency on leak_tracker to flutter_test. by @polina-c in 137069
  • Let OverflowBox be shrink-wrappable by @fzyzcjy in 129095
  • Fix structure of pkg:integration_test by @goderbauer in 137283
  • Add ProcessTextService by @bleroux in 137145
  • Unified analytics events for doctor validators by @eliasyishak in 136647
  • Add ConstrainedLayoutBuilder.updateShouldRebuild() by @tvolkert in 136691
  • Make SemanticsNode.isMergedIntoParent Readonly by @LongCatIsLooong in 137304
  • Add isLogicalKeyPressed to HardwareKeyboard by @gspencergoog in 136856
  • Instrument more disposables. by @polina-c in 137309
  • BannerPainter should dispatch creation and disposal events. by @ksokolovskyi in 137472
  • Instrument RestorationBucket, _RouteEntry and DisposableBuildContext for leak tracking. by @ksokolovskyi in 137477
  • Move dependency on leak_tracker from dependencies to dev_dependencies in flutter_test. by @polina-c in 137633
  • Document the scale argument to NetworkImage by @tvolkert in 137456
  • Fix minor typo in doc of window.dart by @hrishikesh-kadam in 137483
  • PerformanceModeRequestHandle should dispatch creation and disposal events. by @ksokolovskyi in 137642
  • Add dependency on leak_tracker and leak_tracker_testing to flutter_test. by @polina-c in 137646
  • Add no-shuffle to reorderable_list_test.dart by @zanderso in 137698
  • Fix. typos by @droidbg in 137479
  • Unified analytics events migration for BuildEvent by @eliasyishak in 137562
  • reset state of CustomSemanticsAction before running tests by @dnfield in 137697
  • Added EdgeInsetsDirectional.copyWith by @piedcipher in 137559
  • Instrumented PipelineOwner for leak tracking by @droidbg in 137494
  • Instrument ImageStreamCompleterHandle for LeakTracking by @droidbg in 137482
  • Remove duplicate padding on CupertinoFormSection by @JaspervanRiet in 137039
  • Cupertino date picker should dispose scroll controllers it created. by @NobodyForNothing in 135355
  • Fixes DragTarget crash if Draggable.data is null by @ValentinVignal in 133136
  • [Android] Support Android 34 by @camsim99 in 137191
  • Upgrade leak_tracker and remove some deps in allow list. by @polina-c in 137806
  • [leak-tracking] Add more leak tracking in test/painting #3 by @droidbg in 136170
  • [web] dispatch corresponding keyup events in text editing integrations by @knopp in 136874
  • AppLifecycleListener should dispatch creation and disposal events. by @ksokolovskyi in 137840
  • Reverts "[Android] Support Android 34" by @auto-submit in 137865
  • Send caret rect to embedder on selection update by @cbracken in 137863
  • InheritedElement.removeDependent() by @s0nerik in 129210
  • Cover text_selection tests with leak tracking. by @ksokolovskyi in 137009
  • ScrollActivity should dispatch creation and disposal events. by @ksokolovskyi in 137961
  • SemanticsHandle should dispatch creation and disposal events. by @ksokolovskyi in 137960
  • Added an AnimationController API doc example by @HansMuller in 137975
  • Document where Curves curves correspond to CSS easing functions by @gnprice in 137318
  • Revert "Add no-shuffle to reorderable_list_test.dart" by @dnfield in 137715
  • Ticker should dispatch creation and disposal events. by @ksokolovskyi in 137844
  • Add support for color and color blendmode in FadeInImage by @prasadsunny1 in 137681
  • Document additional cases by @dnfield in 137957
  • [Android] Fix FlutterTestRunner.java deprecations by @camsim99 in 138093
  • Remove physicalGeometry by @goderbauer in 138103
  • [Android] Support Android 34 (take 2) by @camsim99 in 137967
  • Update analytics constructor to include FLUTTER_HOST by @eliasyishak in 138107
  • Fix #128925 by properly setting the Android Event Source by @johnmccutchan in 138241
  • Upgrade leak tracker. by @polina-c in 138283
  • Clean up synonyms, key code generation. by @gspencergoog in 138192
  • Update DraggableScrollableSheet docs to reflect API change by @huycozy in 136471
  • Finally remove analysis_options_user.yaml by @goderbauer in 138261
  • Fixing typo by @peterabrahamdev in 138253
  • Add to TableCell docs by @Piinks in 138258
  • Reland [SingleChildScrollView] Correct the offset pixels if it is out of range during layout by @xu-baolin in 136871
  • SemanticOwner should dispatch creation and disposal events by @droidbg in 138388
  • Fix 2D tap to stop scrolling by @Piinks in 138442
  • Reland VelocityTracker update (#132291) by @Piinks in 137381
  • [web] skip flaky overflow_clipbehavior_none.cupertino.0.png golden check by @yjbanov in 138498
  • Reverts "Reland VelocityTracker update (#132291)" by @auto-submit in 138512
  • Pin package:web 0.4.0 by @srujzs in 138428
  • Prepare ShortcutActivator and ShortcutManager to migrate to KeyEvent from RawKeyEvent. by @gspencergoog in 136854
  • [flutter_tools] - Add queries section to Android manifest file by @bleroux in 137207
  • Reduce animations further when --no-cli-animations is set. by @Hixie in 133598
  • Fix sliver persistent header expand animation by @feduke-nukem in 137913
  • Enable the silent flag for invalid string exceptions when building a TextSpan by @jason-simmons in 138564
  • Turn off leak tracker in master to make found leaks not blocking. by @polina-c in 138567
  • Update links and surrounding text for new main-api docs by @parlough in 138602
  • Reland VelocityTracker update (again) by @Piinks in 138843
  • Revert "Reland VelocityTracker update (again)" by @eyebrowsoffire in 138863
  • Add commandHasTerminal parameter + apple usage event + sendException events for package:unified_analytics by @eliasyishak in 138806
  • make FakeView not send Scene and semantics to the engine by @yjbanov in 138849
  • Fix SliverGrid garbage collection issue by @chunhtai in 138915
  • Write tests for API examples of BottomNavigationBar and IconButton by @JaspervanRiet in 138188
  • Prepare for dynamically sized views by @goderbauer in 138565
  • Prepare for dynamically sized views - pt. 2 by @goderbauer in 139079
  • Migrate customer_testing to sharded tests. by @godofredoc in 138659
  • Fix textScalerOf and maybeTextScalerOf documentations by @bleroux in 139123
  • Ensure Icon vertically centers its icon glyph. by @LongCatIsLooong in 138937
  • feature(table-widget): Added intrinsicHeight to TableCellVerticalAlignment enum. by @gbtb16 in 130264
  • Added some documentation for OverlayPortal by @yiiim in 138934
  • Fix comment by @gzurowski in 138973
  • Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 by @piedcipher in 138987
  • Provide parameter to Icon and IconThemeData for they to consider the context's text scaler by @mateusfccp in 135708
  • Simplify devicelab logic and fix tests by @Hixie in 139122
  • Analyze against using Stopwatches in the framework by @Piinks in 138507
  • Update VelocityTracker (4) by @Piinks in 139166
  • add sourceTimeStamp to ScaleUpdateDetails by @yakagami in 135936
  • Dynamic view sizing by @goderbauer in 138648
  • Introduce multi-touch drag strategies for DragGestureRecognizer by @xu-baolin in 136708
  • Write Tests for API Examples of cupertino_text_field.0, data_table.0, icon_button.2 & ink_well.0 by @piedcipher in 139258
  • Add undoStackModifier to UndoHistory by @Renzo-Olivares in 138674
  • Retry on transient Skia failure. by @Hixie in 139182
  • Reverts "Retry on transient Skia failure." by @auto-submit in 139407
  • Add Impeller complex layout impeller benchmarks. by @jonahwilliams in 139490
  • Enable TapRegion to detect all mouse button click by @anidotnet in 136799
  • Removed deprecated NavigatorState.focusScopeNode by @Piinks in 139260
  • Roll dependencies by @Hixie in 139606
  • Reset deprecation period for setPubRootDirectories by @Piinks in 139592
  • [Android] Bump template & integration test Gradle version to 7.6.4 by @camsim99 in 139276
  • Don't send images to Gold on release branches by @Piinks in 139706
  • MultiDragPointerState should dispatch creation and disposal events. by @ksokolovskyi in 138807
  • SelectionOverlay and TextSelectionOverlay should dispatch creation and disposal events. by @ksokolovskyi in 138804
  • ScrollDragController should dispatch creation and disposal events. by @ksokolovskyi in 138800
  • SnapshotPainter should dispatch creation and disposal events. by @ksokolovskyi in 138810
  • Animate TextStyle.fontVariations by @Hixie in 138881
  • Add Overlay.wrap for convenience by @goderbauer in 139823
  • Add accessibility identifier to SemanticsProperties by @bartekpacia in 138331
  • Handle the case when _CupertinoBackGestureDetector is disposed during the drag. by @hangyujin in 139585
  • Renamed appbar to app_bar directory in API Examples Tests by @piedcipher in 139922
  • Implement switch expressions in examples/ and animation/ by @nate-thegrate in 139882
  • fix typo of 'not' instead of 'now' for useInheritedMediaQuery by @timmaffett in 139940
  • [Docs] Added missing CupertinoApp.showSemanticsDebugger by @piedcipher in 139913
  • Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal by @Hixie in 139549
  • Reverts "Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal" by @auto-submit in 140085
  • Catch Stopwatch with static analysis by @LongCatIsLooong in 140019
  • 🎨: fix cupertionActionSheet design by @Anishishi in 134345
  • Revert "Dynamic view sizing" by @chingjun in 140165
  • fix reorderable_list drop animation by @yiiim in 139362
  • Cupertino text clear label by @MitchellGoodwin in 129727
  • Increase versions of leak tracker libraries. by @polina-c in 140018
  • Move package:web dependency to dev dependency by @srujzs in 139696
  • Reorganize dependencies on leak_tracker. by @polina-c in 140233
  • Use new enabledFeature param for Analytics by @eliasyishak in 139934
  • [github actions] minor PR to test latest github actions by @XilaiZhang in 140252
  • Use SemanticsUpdateBuilder again, remove all references to temporary SemanticsUpdateBuilderNew by @bartekpacia in 139942
  • Document difference between softWrap and maxLine by @paldepind in 139363
  • SemanticsProperties: default identifier and tooltip to null by @bartekpacia in 140283
  • Upgrade to version of leak tracker that does not depend on test_widgets. by @polina-c in 140247
  • Added onEnd callback into AnimatedSize by @feduke-nukem in 139859
  • Make TextSpan hit testing precise. by @LongCatIsLooong in 139717
  • [web] Re-enable test now that source of flakiness is fixed by @harryterkelsen in 140462
  • Reverts "Make TextSpan hit testing precise." by @auto-submit in 140468
  • Reland find.textRange.ofSubstring changes by @LongCatIsLooong in 140469
  • Remove outdated ignores from tool by @goderbauer in 140467
  • Roll pub packages by @flutter-pub-roller-bot in 140472
  • Integrate testWidgets with leak tracking. by @polina-c in 138057
  • Revert "Integrate testWidgets with leak tracking. (#138057)" by @flar in 140502
  • Reverts "[web] Re-enable test now that source of flakiness is fixed" by @auto-submit in 140515
  • Add send_text_input_action case to deserialization_factory to allow sendTextInputAction usages through flutter_driver. by @nonvachara-paloit in 139197
  • Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal by @Hixie in 140101
  • Roll pub packages by @flutter-pub-roller-bot in 140525
  • [web] Re-enable text field test now that fix has landed in engine by @harryterkelsen in 140678
  • expose didExceedMaxLines from RenderParagraph by @huanghui1998hhh in 139962
  • Show width and height in inspector overlay by @CoderDake in 140709
  • Add command line parameter that turns on leak tracking. by @polina-c in 138653
  • Set template and migrate apps to iOS 12 minimum by @jmagman in 140478
  • Reland "Make TextSpan hit testing precise." (#140468) by @LongCatIsLooong in 140621
  • Reverts "Set template and migrate apps to iOS 12 minimum" by @auto-submit in 140822
  • Upgrade leak_tracker. by @polina-c in 140758
  • Fix 139196 selection OOB by @LongCatIsLooong in 140300
  • [flutter] Allow ViewCollection to start empty. by @ditman in 140532
  • Set template and migrate apps to iOS 12 minimum by @jmagman in 140823
  • fix: cannot input new line using custom input control by @Satsrag in 140356
  • Link to wiki page about updating dependencies in each pubspec.yaml file by @elliette in 140826
  • Handle KEYCODE_DPAD_CENTER and KEYCODE_ENTER by @mossmana in 140808
  • Re-land integrate testWidgets with leak tracking. by @polina-c in 140521
  • Reverts "Re-land integrate testWidgets with leak tracking." by @auto-submit in 140926
  • fix typo and reflow by @goderbauer in 140925
  • Migrate Xcode projects last version checks to Xcode 15.1 by @jmagman in 140256
  • Reland "integrate testWidgets with leak tracking" (#140521) by @polina-c in 140928
  • manual pub roll to pick up dds fixes by @christopherfujino in 140979
  • [web] Fix and unskip a few more CanvasKit tests by @yjbanov in 140821
  • Reverts "manual pub roll to pick up dds fixes" by @auto-submit in 141033
  • Manual pub roll pinning web socket channel by @christopherfujino in 141040
  • Roll engine version to 968e2945. by @godofredoc in 142275

Material

#
  • Update localizations. by @godofredoc in 135691
  • Update Drawer tests for M2/M3 by @TahaTesser in 135752
  • DraggableScrollableController should dispatch creation in constructor. by @ksokolovskyi in 135423
  • Update dialog tests for Material3 by @MitchellGoodwin in 135775
  • Fix memory leaks in DateRangePickerDialog. by @ksokolovskyi in 136034
  • Call markNeedsPaint when adding overlayChild to Overlay by @LongCatIsLooong in 135941
  • bottom_sheet: Clarify doc about behavior when useSafeArea is false by @chrisbobbe in 134793
  • Update BottomSheet test for M3 + fix an issue in elevation resolution by @bleroux in 136071
  • Update CircleAvatar & DataTable tests for Material 3 by @TahaTesser in 135901
  • Reland "Adds a parent scope TraversalEdgeBehavior and fixes modal rou… by @chunhtai in 134554
  • Update MediaQuery documentation to highlight asynchronous nature of size by @gspencergoog in 135719
  • RenderAnnotatedRegion should dispose created layers. by @ksokolovskyi in 136086
  • Cover more test/material tests with leak tracking. by @ksokolovskyi in 136093
  • TimePickerDialog should dispose created ChangeNotifiers. by @ksokolovskyi in 136261
  • Seperate localization tests for Material2 and Material3 by @MitchellGoodwin in 135779
  • [framework] restore old zoom page transition for benchmarking. by @jonahwilliams in 133346
  • Add key event handlers that happen before or after the focus traversal by @gspencergoog in 136280
  • Fix flakiness: finalize dropped gestures in tests to release resources, and update doc-comment. by @polina-c in 136136
  • Fix FlexibleSpaceBar does compositing with near zero opacity. by @TahaTesser in 136255
  • Fix some deprecation details by @Piinks in 136385
  • SearchBar should listen to changes to the SearchController and update suggestions on change by @bryanoli in 134337
  • Floating SnackBar should always float above the bottom widgets by @QuncCccccc in 136411
  • Fix chip widgets don't the apply provided iconTheme by @TahaTesser in 135751
  • Allow TapRegion to consume tap events by @gspencergoog in 136305
  • SearchAnchor should dispose created FocusNode and SearchController. by @ksokolovskyi in 136120
  • _RouterState should dispose created _RestorableRouteInformation. by @ksokolovskyi in 136556
  • Fix NavigationRail's indicator inkwell doesn't support transparent color. by @TahaTesser in 136359
  • Do not hold on to stale canvas reference in _RenderSegmentedButton by @dnfield in 136658
  • Removed TBD translations for optional remainingTextFieldCharacterCounZero message by @HansMuller in 136684
  • Fixed : Empty Rows shown at last page in Paginated data table by @aakash-pamnani in 132646
  • [Feat] Stroke color for Slider value indicator by @838 in 135986
  • Fix Slider onChanged callback order & never calls onChangeStart on SliderInteraction.slideOnly allowed interaction by @TahaTesser in 136720
  • Convert menus to use OverlayPortal by @gspencergoog in 130534
  • Use Layer.toImage for golden tests on CanvasKit by @harryterkelsen in 135249
  • _DefaultTabControllerState should dispose all created TabContoller instances. by @ksokolovskyi in 136608
  • Allow users to customize search algorithm in DropdownMenu by @QuncCccccc in 136848
  • Adds more a11y use cases by @chunhtai in 136761
  • Add timeline events for post frame callbacks by @tvolkert in 136435
  • OverlayPortal.overlayChild contributes semantics to OverlayPortal instead of Overlay by @LongCatIsLooong in 134921
  • Update ColorScheme.fromSwatch docs for Material 3 by @TahaTesser in 136816
  • Add delete button support to FilterChip by @TahaTesser in 136645
  • Add InputDatePickerFormField.focusNode prop by @piedcipher in 136673
  • Cover last test/material tests with leak tracking. by @ksokolovskyi in 137004
  • TextField - allow to customize cursor color in error state by @lirantzairi in 136121
  • Fix Typos by @piedcipher in 137173
  • Update OutlinedButton tests for Material 3 by @TahaTesser in 136809
  • Revert "Update OutlinedButton tests for Material 3 (#136809)" by @TahaTesser in 137242
  • fix:: trigger onTapOutside only if has focus by @Mairramer in 136291
  • Fix dislocated doc and comment on ThemeData localize cache by @gnprice in 137315
  • AnimationController should dispatch creation in constructor. by @ksokolovskyi in 134839
  • Fix Typos by @piedcipher in 137292
  • Fix. typos by @droidbg in 137325
  • Reland - Update OutlinedButton tests for Material 3 (#136809) by @TahaTesser in 137247
  • Update DataTable test when data row is pressed for Material 3 by @TahaTesser in 137230
  • Revert "Reland - Update OutlinedButton tests for Material 3 (#136809) (#137247)" by @TahaTesser in 137406
  • Revert "Update DataTable test when data row is pressed for Material 3 (#137230)" by @TahaTesser in 137407
  • TextPainter should dispatch creation and disposal events. by @ksokolovskyi in 137416
  • Fix. typos by @droidbg in 137465
  • Update ColorScheme.light, ColorScheme.dark, ColorScheme.highContrastLight, & ColorScheme.highContrastDark constructors docs for Material 3 by @TahaTesser in 137149
  • fix. typos by @droidbg in 137178
  • Update framework_test.dart to remove ButtonBar usage and remove references from other clases by @TahaTesser in 137550
  • Reverts "Update framework_test.dart to remove ButtonBar usage and remove references from other clases" by @auto-submit in 137731
  • Add Card.filled and Card.outlined factory methods by @QuncCccccc in 136229
  • Update IconButton.iconSize documentation by @QuncCccccc in 137741
  • Avoid passing a nullable value to potentially non-nullable parameters by @srawlins in 137359
  • Updated the nested navigation NavigationBar example by @HansMuller in 137788
  • InkFeature should dispatch creation and disposal events. by @ksokolovskyi in 137793
  • Tooltip docs: Recommend setting preferBelow to false in theme by @chrisbobbe in 135879
  • Remove unused generic type from BottomSheet by @goderbauer in 137791
  • HeroController should dispatch creation and disposal events. by @ksokolovskyi in 137835
  • Provide a helpful error message when ColorScheme.brightness doesn't match ThemeData.brightness by @TahaTesser in 137611
  • Update BottomNavigationBar tests for M3 by @bleroux in 136624
  • Reverts "Update BottomNavigationBar tests for M3" by @auto-submit in 137948
  • Adaptive Switch by @QuncCccccc in 130425
  • Add onSubmitted and onChanged for SearchAnchor and SearchAnchor.bar by @QuncCccccc in 136840
  • Make it possible to disable tapping to dismiss a tooltip. by @hangyujin in 137375
  • Fix text selection in SearchAnchor/SearchBar by @Renzo-Olivares in 137636
  • Adds useRootNavigator property to PopupMenuButton widget. by @piedcipher in 137453
  • GestureRecognizer should dispatch creation and disposal events. by @ksokolovskyi in 138223
  • Deprecates onWillAccept and onAccept callbacks in DragTarget. by @chinmoy12c in 133691
  • Docs typo: comprised -> composed by @EnduringBeta in 137896
  • Reland "Update framework_test.dart to remove ButtonBar usage and remove references from other clases (#137550) by @TahaTesser in 137753
  • Make UnderlineInputBorder consistent by @bernaferrari in 124153
  • Introduce AnimationStyle by @TahaTesser in 137945
  • Enable flutter screenshot outside Flutter project directory by @victoreronmosele in 138160
  • Reverts "Introduce AnimationStyle" by @auto-submit in 138628
  • Fix NoSplash not being disposed by @LinXunFeng in 138542
  • Reland update bottom navigation bar test for m3 by @bleroux in 137998
  • [Reland] Introduce AnimationStyle by @TahaTesser in 138721
  • Added Features requested in #137530 by @mhbdev in 137532
  • Fix Chips with Tooltip throw an assertion when enabling or disabling by @TahaTesser in 138799
  • Fix M3 Tabs Specs links by @TahaTesser in 138808
  • Update the default outline color for OutlinedButton by @QuncCccccc in 138768
  • Add ability to customize NavigationBar indicator overlay and fix indicator shape for the overlay by @TahaTesser in 138901
  • Bump DartDoc to 8.0.0 by @kallentu in 139088
  • Record focus in route entry to move a11y focus to the last focused item by @hangyujin in 135771
  • Fix intrinsic width of input decorator by @neko-andrew in 138074
  • Fix turbulence seed for all tests with ink sparkles by @Piinks in 138757
  • Fix header formatting typo in PopupMenuButton docs by @kalafut in 139084
  • Added keyboardType & textInputAction props to SearchBar, SearchAnchor & SearchAnchor.bar by @piedcipher in 138553
  • Implement switch expressions in dev/ by @nate-thegrate in 139048
  • Update ButtonStyleButton.scaledPadding documentation. Migrate callers in flutter/flutter by @LongCatIsLooong in 139014
  • TextField and TextFormField can use a MaterialStatesController by @Renzo-Olivares in 133977
  • implemented leadingWidth and automaticallyImplyLeading options by @VB10 in 136165
  • Improve documentation of CardTheme.shape by @dumazy in 139096
  • Remove deprecated PlatformMenuBar.body by @gspencergoog in 138509
  • Refactor to use Apple system fonts by @MitchellGoodwin in 137275
  • Fix chips onDeleted callback don't show the delete button when disabled by @TahaTesser in 137685
  • [l10n] Update Material shareButtonLabel by @bleroux in 138899
  • Remove InkSparkle.constantTurbulenceSeedSplashFactory usage by @bleroux in 139481
  • Optimize the display of the Overlay on the Slider by @hgraceb in 139021
  • Convert some usage of RawKeyEvent, et al to KeyEvent by @gspencergoog in 139329
  • Fix DropdownMenu throwing TextEditingController disposed error on select by @gspencergoog in 139385
  • Remove stray print by @Hixie in 139550
  • Support for dismissDirection property in SnackBarTheme by @shanmugam28 in 139068
  • Fix DatePicker Dialog content not visible on lower text scale by @TahaTesser in 139236
  • Update Tooltip tests for Material 3 by @TahaTesser in 139145
  • Add AnimationStyle to ExpansionTile by @TahaTesser in 139664
  • Remove deprecated parameters from ElevatedButton.styleFrom(), OutlinedButton.styleFrom(), and TextButton.styleFrom() by @QuncCccccc in 139267
  • Implement SubmenuButton.onFocusChange by @QuncCccccc in 139678
  • Add background color to NavigationDrawerDestination by @hangyujin in 139154
  • Introduce exitDuration to Tooltip for mouse pointer devices by @JaspervanRiet in 138321
  • Add 'Share' button to the selection toolbar on Android by @bleroux in 139479
  • Add enabled property to ExpansionTile by @mateusfccp in 139519
  • Improve slider's value indicator display test by @hgraceb in 139198
  • Use dart analyze package for num.clamp by @LongCatIsLooong in 139867
  • Fix SelectionArea select-word edge cases by @Renzo-Olivares in 136920
  • Deprecate RawKeyEvent, RawKeyboard, et al. by @gspencergoog in 136677
  • Fix dayPeriodColor handling of non-MaterialStateColors by @gspencergoog in 139845
  • Swap iOS back button icon in Material app bar by @MitchellGoodwin in 134754
  • Add commonly used parameter names by @hgraceb in 140027
  • Remove deprecated ThemeData.selectedRowColor by @Renzo-Olivares in 139080
  • Overlay supports unconstrained environments by @goderbauer in 139513
  • Fix BottomNavigationBarItem label overflow by @sharmashashi in 120206
  • feat: Add onTapAlwaysCalled in TextFormField by @lsaudon in 140089
  • Remove usage of testWidgetsWithLeakTracking. by @polina-c in 140239
  • Center Floating Snackbar with custom width when direction is RTL by @bleroux in 140215
  • _TabBarViewState should not recreate page controller by @bleroux in 135500
  • Remove outdated ignores from framework by @goderbauer in 140465
  • Fix import pattern by @QuncCccccc in 140425
  • Add custom system-wide text selection toolbar buttons on Android by @bleroux in 139738
  • Rename MemoryAllocations to FlutterMemoryAllocations. by @polina-c in 140623
  • improve comment doc in tabs.dart by @shirne in 140568
  • Add key to BottomNavigationBarItem by @Gibbo97 in 139617
  • Add SegmentedButton.styleFrom by @AcarFurkan in 137542
  • Changes the regular cursor to a floating cursor when a long press occurs. by @yiiim in 138479
  • [Fix] Consistency in ButtonStyleButton related Tests by @piedcipher in 140610
  • Fix SegmentedButton states update logic by @sharabiddin in 140772
  • Add scrollbar for menus by @QuncCccccc in 140941
  • Fix scrollable TabBar expands to full width when the divider is removed by @TahaTesser in 140963
  • Fix refresh cancelation by @lukehutch in 139535

iOS

#
  • Skip injecting Bonjour settings when port publication is disabled by @vashworth in 136562
  • Reverts "Skip injecting Bonjour settings when port publication is disabled" by @auto-submit in 136750
  • [Reland] Skip injecting Bonjour settings when port publication is disabled by @vashworth in 136751
  • Reverts "[Reland] Skip injecting Bonjour settings when port publication is disabled" by @auto-submit in 136839
  • [Reland] Skip injecting Bonjour settings when port publication is disabled by @vashworth in 136842
  • Ensure Xcode project is setup to start debugger by @vashworth in 136977
  • [flutter_tool] change print when selecting developer identity for code signing by @christopherfujino in 136978
  • [native assets] Tool exit on build failure by @dcharkes in 137995
  • Migration for the sendTiming events for package:unified_analytics by @eliasyishak in 138896
  • Reverts "Migration for the sendTiming events for package:unified_analytics" by @auto-submit in 139278
  • [flutter_tools] build ios-frameworks: option to exclude plugin frameworks from the build by @p-mazhnik in 129739
  • [Reland] Migration for the sendTiming events for package:unified_analytics by @eliasyishak in 139299
  • If one method of finding Dart VM fails for CoreDevice, wait for the other method by @vashworth in 139754
  • [flutter_tools] catch SocketException writing to ios-deploy stdin by @christopherfujino in 139784
  • [flutter_tools] handle FileSystemException trying to delete temp directory from core_devices.dart by @christopherfujino in 140415
  • in flutter run, throw tool exit when --flavor is provided but is not supported on the target device by @andrewkolos in 139045

Android

#
  • Chore/gradle remove redundant apply by @bartekpacia in 135348
  • Native assets support for Android by @dcharkes in 135148
  • [CP][Android] Revert "Reland: "Fix how Gradle resolves Android plugin" (#137115)" by @camsim99 in 142491

macOS

#
  • Restore and fix flavors_test_macos by @andrewkolos in 139841

Web

#
  • #60704: Pass cert for TLS localhost connection by @arpitgandhi9 in 106635

Tooling

#
  • Update the wasm bootstrap to allow access to the emscripten wrapper to skwasm. by @eyebrowsoffire in 135723
  • Use platform dill from the engine when compiling with dart2wasm. by @eyebrowsoffire in 134970
  • Bump dart-lang/native deps by @dcharkes in 135905
  • [Android] Update Java/AGP/Gradle warning compatible Java range by @camsim99 in 135710
  • [flutter_tools] catch StdinException when setting terminal to SingleCharMode by @christopherfujino in 136283
  • [flutter_tool] Delete skipped tests by @zanderso in 136364
  • Reland "Switch flutter_tools to run frontend server from AOT snapshot" by @derekxu16 in 136282
  • Stop recommending android sdk root by @christopherfujino in 136296
  • [flutter_tools] handle ERROR_INVALID_FUNCTION when trying to symlink across drives by @christopherfujino in 136424
  • Add --trace-to-file option to flutter run by @derekxu16 in 135713
  • [web] remove loading indicator in -d web-server builds by @yjbanov in 136482
  • Fix prefer_mixin TODOs by @goderbauer in 136480
  • Support --web-header option for flutter run by @aran in 136297
  • clean up --dart-define-from-file option tests by @andrewkolos in 135980
  • Don't build native assets in flutter build bundle by @dcharkes in 136641
  • Implement GApplication:shutdown so a Flutter developer knows where to put code that should occur on application shutdown. by @robert-ancell in 136780
  • Null-assert the value given to a Completer expecting a non-null value by @srawlins in 136776
  • Bump flutter_lints to 3.0 by @goderbauer in 136841
  • do not include entries from --dart-define-from-file files in the gradle config or environment during build by @andrewkolos in 136865
  • [flutter_tools] move build_preview_test from commands/permeable to integration shard by @christopherfujino in 136912
  • Default NativeAssets Darwin and IOS target archs if missing by @dcharkes in 136948
  • Add missing call to parent method of GApplication::shutdown, implement GApplication::startup by @robert-ancell in 136836
  • Roll pub packages by @flutter-pub-roller-bot in 137067
  • Roll pub packages by @flutter-pub-roller-bot in 137087
  • Reverts "Use coverage.collect's coverableLineCache param to speed up coverage" by @auto-submit in 137121
  • [macOS] Refactor macOS build/codesize analysis by @cbracken in 137164
  • Remove bringup: true from realm_checker and remove the redundant tool test. by @eyebrowsoffire in 137186
  • Declare dependency on copyFlutterAssetsTask in bundleAarTask by @gmackall in 137370
  • give throwsToolExit a more useful description by @andrewkolos in 136694
  • update asset manifest file name referenced in WebServiceWorker by @andrewkolos in 135954
  • Ensure flutter build apk --release optimizes+shrinks platform code by @mkustermann in 136880
  • Reverts "Ensure flutter build apk --release optimizes+shrinks platform code" by @auto-submit in 137433
  • [web] Add 'nonce' prop to flutter.js loadEntrypoint by @ditman in 137204
  • Reland coverableLineCache optimisation (#136851) by @liamappelbe in 137385
  • [flutter_tools] ensure processUtils reports exit code in ProcessExceptions by @christopherfujino in 136672
  • [web] cache the base URL as root index.html by @p-mazhnik in 136594
  • Fix formatting by @dcharkes in 137613
  • Roll pub packages by @flutter-pub-roller-bot in 137650
  • Provide more information in 'unsupported class file' gradle error by @gmackall in 136756
  • Protect flutter analyze --suggestions from erroring on missing AGP value. by @reidbaker in 137719
  • [flutter_tools] do not try to build tool from dart.sh by @christopherfujino in 129186
  • Pin dart-lang/native dependencies by @dcharkes in 137601
  • Fix tool exit message shown when user provides a non-list to "assets" for a deferred component by @andrewkolos in 137837
  • Change cast in json parsing by @iinozemtsev in 137708
  • Migration for HotEvent for Flutter hot runner by @eliasyishak in 137717
  • Roll pub packages by @flutter-pub-roller-bot in 137862
  • [flutter_tools] toolexit when using plugins with preview device by @christopherfujino in 136936
  • [flutter_tools] Fix local engine preview device by @christopherfujino in 138046
  • [flutter_tools] disable flutter build AAR for plugins by @christopherfujino in 137878
  • Roll pub packages by @flutter-pub-roller-bot in 138114
  • prevent tool crash when IntelliJValidatorOnMac encounters an installation with a missing CFBundleIdentifier by @andrewkolos in 138095
  • Improved Java version parsing by @reidbaker in 138155
  • Roll pub packages by @flutter-pub-roller-bot in 138163
  • Drop unnecessary URI encoding of websocket url in listener by @dnfield in 137969
  • Prepare the analyze_once test for removal of analysis_options_user support by @srawlins in 138229
  • CommandResultEvent migrated by @eliasyishak in 138165
  • [macOS] Suppress Xcode 15 createItemModels warning by @cbracken in 138243
  • Fixes vscode path installed via snap by @KristijanZic in 136997
  • Consume flutter.js from the engine artifacts. by @eyebrowsoffire in 137113
  • Unified analytics migration for CodeSizeAnalysis by @eliasyishak in 138351
  • Catch error for missing directory in FontConfigManager by @eliasyishak in 138496
  • Just use string interpolation for ws url for tests by @dnfield in 138235
  • Bump cupertino_icons to 1.0.6 by @lsaudon in 136962
  • Improves output file path logic in Android analyze by @chunhtai in 136981
  • Fix file deletion crash in BuildIOSArchiveCommand.runCommand by @vashworth in 138734
  • In flutter doctor -v, when JRE is too out-of-date to run sdkmanager, print a helpful error message by @andrewkolos in 138762
  • [flutter_tools] Fix bad state future already completed in flutter logs by @christopherfujino in 138517
  • Edge case on flutter/flutter/issues/135402 with test by @reidbaker in 138814
  • Give an actionable error message when a Pod requires a higher minimum OS version by @stuartmorgan in 138097
  • Update Android app project template to apply Kotlin Gradle plugin declaratively by @bartekpacia in 139006
  • Add type validation to non-template .arb file parsing logic by @andrewkolos in 139035
  • [flutter_tools] fix instructions to disable CLI animations by @christopherfujino in 139094
  • Roll dependencies by @Hixie in 139203
  • Typo fix in dartdoc in tool test by @mdebbar in 139386
  • Added vscode-insiders path installed via snap by @KristijanZic in 137117
  • Make handleJsonEvent public so that it can be overridden internally. by @chingjun in 139531
  • Send an event when proxied DDS creates a connection. by @chingjun in 139530
  • have Java.version return null if java --version fails or cannot be run by @andrewkolos in 139614
  • Migrate command usage values by @eliasyishak in 139383
  • Support conditional bundling of assets based on --flavor by @andrewkolos in 132985
  • Reverts "Support conditional bundling of assets based on --flavor" by @auto-submit in 139787
  • Roll pub packages by @flutter-pub-roller-bot in 139864
  • Roll pub packages by @flutter-pub-roller-bot in 139926
  • Roll pub packages by @flutter-pub-roller-bot in 139969
  • Allow plugins to use compileSdkPreview by @gmackall in 131901
  • Warn when Gradle plugins are applied using the legacy "apply script method" way by @bartekpacia in 139690
  • Reverts "Warn when Gradle plugins are applied using the legacy "apply script method" way" by @auto-submit in 140102
  • Do not use project in do last by @reidbaker in 139325
  • Optimize file transfer when using proxied devices. by @chingjun in 139968
  • [deps] update Android SDK to 34 by @dcharkes in 138183
  • [reland] Support conditional bundling of assets based on --flavor by @andrewkolos in 139834
  • Adapt wording for required Android SDK for plugins by @Gustl22 in 140043
  • [macOS,iOS] CocoaPods recommended version: 1.13.0 by @cbracken in 135447
  • refactored cli tool ipa method name to support --export-options-plist by @raphire08 in 138555
  • Reland "Warn when Gradle plugins are applied using the legacy apply script method by @bartekpacia in 140103
  • Revert automated changes made to deprecated settings.gradle (plugins.each) by @Gustl22 in 140037
  • Part 1/n migration steps for kotlin migration by @reidbaker in 140452
  • Reland: "Fix how Gradle resolves Android plugin" by @Gustl22 in 137115
  • [flutter_tools] Ensure flutter daemon clients can detect preview device by @christopherfujino in 140112
  • Fix flavor conditional asset bundling for macos by @andrewkolos in 140433
  • Use double quotes over single quotes in gradle build files by @reidbaker in 140512
  • Disable random test order in asset_bundle_test.dart by @zanderso in 140666
  • Makes the flutter tool retry on a bad gateway network error from gradle by @zanderso in 140670
  • Revert "[Impeller] Plumb through the impeller-force-gl flag." by @dnfield in 140535
  • Update dependencies with flutter update-packages --force-upgrade by @elliette in 140810
  • Fix setup race in asset bundle tests by @andrewkolos in 140832
  • [flutter_tools] add support for --enable-impeller to test device. by @jonahwilliams in 140899
  • Remove deprecated bitcode stripping from tooling by @jmagman in 140903
  • Fix local engine use in macOS plugins by @stuartmorgan in 140222
  • Pin package:vm_service by @DanTup in 140972
  • Gen l10n add named argument option by @TabooSun in 138663
  • add flavor-conditional asset bundling support to flutter test by @andrewkolos in 140944
  • [cp] Replace deprecated exists in podhelper.rb by @stuartmorgan in 141381
  • CP: [Beta] Update DWDS to version 23.0.0+1 by @elliette in 142168

Documentation

#
  • Check sample links for malformed links by @gspencergoog in 137807

Other Changes

#
  • Temporarily disable NexusLowRes, version=29 by @ricardoamador in 135785
  • Add device ready check by @ricardoamador in 135526
  • Add support for setup steps in flutter customer tests by @kenzieschmoll in 135726
  • Upload frame_request_pending_latency [attempt #2] by @moffatman in 135890
  • Revert "Marks Linux_samsung_a02 new_gallery__transition_perf to be unflaky" by @zanderso in 136097
  • Bump github/codeql-action from 2.21.6 to 2.22.0 by @dependabot in 136095
  • [Windows] Add first Arm64 plugin tests by @loic-sharma in 135512
  • Fix flutter drive instructions in Macrobenchmark README by @TahaTesser in 135990
  • [conductor] Remove PublishChannel and use MPA command by @CaseyHillers in 135884
  • Migrate the "Non-speed related performance issues" issue template to Github forms by @huycozy in 135130
  • Delete simulator after plugin_test_ios by @vashworth in 136265
  • [Windows] Add Arm64 benchmarks by @loic-sharma in 135514
  • extend timeout from default 30 min to 1 hour for windows build tests by @christopherfujino in 136300
  • Remove the 'Windows_arm64 plugin_test' Devicelab test by @loic-sharma in 136379
  • Switch to Chrome for Testing instead of vanilla Chromium. by @eyebrowsoffire in 136214
  • [Windows Arm64] Add the 'platform_channel_sample_test_windows' Devicelab test by @loic-sharma in 136401
  • Create template for umbrella issues by @itsjustkevin in 134235
  • Fix typo in function name by @vashworth in 136273
  • Change some tests to run on macs without iOS devices attached by @vashworth in 136463
  • Remove bringup from tests and move some back to presubmit. Reorganize TESTOWNERS. by @vashworth in 136498
  • run tests under dev/tools as part of framework-misc and get them passing by @christopherfujino in 136501
  • Bump github/codeql-action from 2.22.0 to 2.22.3 by @dependabot in 136563
  • increase windows build test sharding, revert timeout 30 mins by @christopherfujino in 136474
  • Upload GPU frame times for Impeller on Android/iOS. by @jonahwilliams in 136565
  • update analytics in generate api docs site to use new UA4 by @christopherfujino in 136497
  • Reenable the nexus 6p tests by @ricardoamador in 136689
  • Reenable NexusLowRes API 29 by @ricardoamador in 136686
  • Add Android 14 physical devices to firebase tests by @gmackall in 136736
  • Bump actions/checkout from 3.6.0 to 4.1.1 by @dependabot in 136762
  • Unmark linux_android platform_channels_benchmarks as flaky by @gmackall in 136838
  • [Impeller] add OpenGL GPU tracing to devicelab tests. by @jonahwilliams in 136974
  • [docs] Expand categories for automated release notes by @itsjustkevin in 136967
  • Bump dartdoc to 7.0.1 and clean-up by @goderbauer in 136975
  • Bump github/codeql-action from 2.22.3 to 2.22.4 by @dependabot in 136985
  • [ci_yaml] Remove back_fill=false on roller by @CaseyHillers in 137076
  • Bump ossf/scorecard-action from 2.2.0 to 2.3.1 by @dependabot in 137103
  • Migrate mac builds to ruby dep. by @godofredoc in 136929
  • Check the realm file in its own shard. by @eyebrowsoffire in 137160
  • [gallery] Reland roll gallery to ecfb9e5352bd12032301b12b30d5853d83d89bda by @jonahwilliams in 137199
  • Reverts "[gallery] Reland roll gallery to ecfb9e5352bd12032301b12b30d5853d83d89bda" by @auto-submit in 137264
  • Remove gem and docker files. by @godofredoc in 137200
  • Run test with older version of Xcode by @vashworth in 137293
  • Run tests on either macOS 12 or 13 by @vashworth in 137365
  • Bump goldctl in .ci.yaml by @Piinks in 137441
  • Provide exception for listing an issue. by @goderbauer in 137092
  • Bump github/codeql-action from 2.22.4 to 2.22.5 by @dependabot in 137450
  • Fix divide-by-zero crash in animation_bench benchmark by @whesse in 137539
  • Revert "Roll Flutter Engine from 39be0fc34503 to ec3e988099be (2 revisions)" by @jason-simmons in 137647
  • Bumping version tag of provisioning profile cipd package. by @yusuf-goog in 137710
  • Update Carousel tokens to v0.202 by @QuncCccccc in 137728
  • [github] Remove assignees in CP requests by @CaseyHillers in 137729
  • Fix mounted checks by @goderbauer in 137778
  • Migrate api docs from master to main. by @godofredoc in 137726
  • Roll flutter gallery version forward. by @jonahwilliams in 137846
  • [benchmarks] disable partial repaint for multiple backdrop blur iOS macrobenchmarks. by @jonahwilliams in 137902
  • Move Skia new_gallery_transition_perf on a02 from staging to prod by @zanderso in 138013
  • Use no-response from cocoon. by @godofredoc in 138037
  • Reverts "Use no-response from cocoon." by @auto-submit in 138042
  • Run a couple of iOS tests in presubmit by @vashworth in 138089
  • Remove fuchsia mac version by @CaseyHillers in 138101
  • Use specific version of mac_toolchain by @vashworth in 138115
  • Move Mac_build_test flutter_gallery__transition_perf_e2e_ios to staging by @vashworth in 138196
  • Use merge-base in find_commit.dart by @natebosch in 138033
  • Only run tests on macOS 12 by @vashworth in 138260
  • Add a DevTools section to CONTRIBUTING.md by @kenzieschmoll in 137193
  • Run all tests in examples/ by @goderbauer in 138374
  • Bump github/codeql-action from 2.22.5 to 2.22.6 by @dependabot in 138438
  • Bump dessant/lock-threads from 4.0.1 to 5.0.0 by @dependabot in 138437
  • Adding new packages to the first-party package issue template by @huycozy in 138540
  • Update release.yml by @johnpryan in 138561
  • test owners: cyanglaz -> vashworth by @cyanglaz in 138726
  • Bump dartdoc to 7.0.2 by @srawlins in 138760
  • Add dartdoc warnings by @goderbauer in 138766
  • Add mhbdev to AUTHORS by @mhbdev in 138311
  • Fix team-infra label in dependabot by @goderbauer in 138917
  • Bump dessant/lock-threads from 5.0.0 to 5.0.1 by @dependabot in 138921
  • Wide gamut and platform view integration test. by @jonahwilliams in 138837
  • Reverts "Wide gamut and platform view integration test." by @auto-submit in 139100
  • Reland Add platform view wide gamut test by @jonahwilliams in 139101
  • Run platform_channels_benchmarks on Pixel 7 Pro by @zanderso in 139092
  • Renable macOS 13 tests by @vashworth in 139083
  • Move analysis test to shard tests. by @godofredoc in 139161
  • Reverts "Reland Add platform view wide gamut test" by @auto-submit in 139189
  • Migrate fuchsia_precache to shard tests. by @godofredoc in 139202
  • Use the correct recipe on fuchsia_precache. by @godofredoc in 139279
  • Move Impeller tests on Pixel 7 Pro from staging to prod by @zanderso in 139280
  • Refactor prepare_package.dart by @christopherfujino in 139277
  • Migrate docs_test to shard. by @godofredoc in 139282
  • Added support for vscode and vscode-insiders installed via Flatpak by @KristijanZic in 137123
  • Bump actions/labeler from 4.3.0 to 5.0.0 by @dependabot in 139506
  • Update sync-labels to use boolean by @drewroengoogle in 139516
  • increase sharding of windows build tests by @christopherfujino in 139503
  • Reverts "Update sync-labels to use boolean" by @auto-submit in 139533
  • Reverts "Bump actions/labeler from 4.3.0 to 5.0.0" by @auto-submit in 139534
  • Update labeler version, fix yaml to work with v5 by @drewroengoogle in 139564
  • Move docs to use their own recipe. by @godofredoc in 139521
  • Update generate_gradle_lockfiles script to represent newer templates, and run it on dev/ by @gmackall in 135175
  • Roll pub packages by @flutter-pub-roller-bot in 139510
  • Fix labeler not actually doing any labeling by @drewroengoogle in 139596
  • Add linked dart doc for Display on media query. by @reidbaker in 139587
  • re-enable windows build_tests by @christopherfujino in 139599
  • [ci.yaml] Add runif filters and stricter timeout to packaging_test by @CaseyHillers in 139694
  • Roll pub packages by @flutter-pub-roller-bot in 139739
  • [github] Remove commit hash from CP issue template by @CaseyHillers in 139676
  • Bump github/codeql-action from 2.22.6 to 2.22.9 by @dependabot in 139767
  • Bump Dartdoc to 8.0.2 by @kallentu in 139780
  • Roll pub packages by @flutter-pub-roller-bot in 139811
  • [flutter release] Add cherry pick template for pull request description by @XilaiZhang in 139590
  • make the tar c command in prepare_package.dart verbose by @christopherfujino in 139687
  • [ci.yaml] Add missing ci.yaml to runIf of android hot reload tests by @CaseyHillers in 139932
  • [github actions] Automate Flutter Chery Picks by @XilaiZhang in 139524
  • Update Gallery lockfiles for the new version of the video_player plugin by @jason-simmons in 139832
  • Select simulator runtime for tests based on Xcode's preferred runtime build by @vashworth in 139919
  • Roll pub packages by @flutter-pub-roller-bot in 139995
  • Bump github/codeql-action from 2.22.9 to 2.22.10 by @dependabot in 140003
  • Add self as bundler dependabot reviewer by @jmagman in 140081
  • Roll pub packages by @flutter-pub-roller-bot in 140024
  • [Windows] Remove header guard from generated key map by @loic-sharma in 140082
  • Unpin mac_toolchain version by @vashworth in 139938
  • Bump github/codeql-action from 2.22.10 to 3.22.11 by @dependabot in 140087
  • Reverts "Roll Flutter Engine from 9f7004e3e30e to 45b95f264d63 (1 revision)" by @auto-submit in 140123
  • Add self back to CODEOWNERS by @jmagman in 140080
  • Expand and update a few release.yml categories by @parlough in 140120
  • Make improvements to existing new issue templates by @huycozy in 140142
  • Bump actions/upload-artifact from 3.1.3 to 4.0.0 by @dependabot in 140177
  • Reverts "Roll Flutter Engine from 0e7248d43251 to 0b0fab821536 (4 revisions)" by @auto-submit in 140194
  • [github actions] use token from real user flutter mirror bot by @XilaiZhang in 140191
  • Set compile test iOS app target version to not embed Swift runtime by @jmagman in 140188
  • Only run dart files as a test in the Android preview tools test shard by @gmackall in 140099
  • Shift some Linux-hosted tests on moto g4 to pixel 7 by @zanderso in 140389
  • Remove workarounds for plugin_lint_mac needed for older version of Cocoapods by @vashworth in 140395
  • Move hybrid_android_views_integration_test back to Moto G4 by @zanderso in 140421
  • [github actions] add minimal workflow to test token by @XilaiZhang in 140363
  • [github actions] change minimal example workflow to be manually dispatched by @XilaiZhang in 140435
  • Move tests shifted to Pixel 7 from staging to prod by @zanderso in 140438
  • Eliminate Cirrus build status badge by @cbracken in 140461
  • Update job permissions by @godofredoc in 140476
  • Update README.md by @mit-mit in 140382
  • Enable android_preview_tool_integration_tests check by @gmackall in 140470
  • Run mac staging tests with Xcode 15 by @vashworth in 140518
  • [web] unskip canvaskit tests that pass now by @yjbanov in 140480
  • Migrate verify_codesigned. by @godofredoc in 139328
  • More helpful test.dart output by @Hixie in 140175
  • Update README.md by @LinXunFeng in 140661
  • Verified input integration test by @johnmccutchan in 140806
  • Reverts "Verified input integration test" by @auto-submit in 140833
  • Verified input test take 2 by @johnmccutchan in 140836
  • Add Lucas Saudon to AUTHORS by @lsaudon in 139965
  • [github actions] refactor and fix cherry pick actions by @XilaiZhang in 140499
  • Add Windows leak tracking targets by @keyonghan in 140423
  • Run half of iOS devicelab tests with Xcode 15 by @vashworth in 140927
  • Add Flutter CI status to README by @CaseyHillers in 140513
  • Temporarily remove env variable for leak tracking bots. by @polina-c in 140978
  • Shift some macOS Android tests from Moto G4 to Pixel 7 Pro by @zanderso in 140912
  • Remove codesign command from conductor. by @godofredoc in 141044
  • [flutter_releases] Flutter beta 3.19.0-1.0.pre Framework Cherrypicks by @godofredoc in 141305
  • [flutter_releases] Flutter beta 3.19.0-0.2.pre Framework Cherrypicks by @XilaiZhang in 141727
  • [CP] Update tests to Xcode 15 by @vashworth in 142320
  • [flutter_releases] Flutter beta 3.19.0-0.4.pre Framework Cherrypicks by @itsjustkevin in 142777

New Contributors

#
  • @Pante made their first contribution in 135897
  • @droidbg made their first contribution in 136169
  • @fischerscode made their first contribution in 135823
  • @aran made their first contribution in 136297
  • @linchen2chris made their first contribution in 128382
  • @838 made their first contribution in 135986
  • @cuishuang made their first contribution in 137144
  • @lirantzairi made their first contribution in 136121
  • @hrishikesh-kadam made their first contribution in 137483
  • @s0nerik made their first contribution in 129210
  • @KristijanZic made their first contribution in 136997
  • @peterabrahamdev made their first contribution in 138253
  • @feduke-nukem made their first contribution in 137913
  • @arpitgandhi9 made their first contribution in 106635
  • @victoreronmosele made their first contribution in 138160
  • @kallentu made their first contribution in 139088
  • @neko-andrew made their first contribution in 138074
  • @kalafut made their first contribution in 139084
  • @gbtb16 made their first contribution in 130264
  • @gzurowski made their first contribution in 138973
  • @VB10 made their first contribution in 136165
  • @yakagami made their first contribution in 135936
  • @anidotnet made their first contribution in 136799
  • @hgraceb made their first contribution in 139021
  • @shanmugam28 made their first contribution in 139068
  • @Anishishi made their first contribution in 134345
  • @sharmashashi made their first contribution in 120206
  • @raphire08 made their first contribution in 138555
  • @nonvachara-paloit made their first contribution in 139197
  • @huanghui1998hhh made their first contribution in 139962
  • @shirne made their first contribution in 140568
  • @Satsrag made their first contribution in 140356
  • @Gibbo97 made their first contribution in 139617
  • @AcarFurkan made their first contribution in 137542
  • @sharabiddin made their first contribution in 140772
  • @lukehutch made their first contribution in 139535
  • @TabooSun made their first contribution in 138663

Full Changelog: https://github.com/flutter/flutter/compare/3.16.0...3.19.0-0.4.pre

Engine

#

Impeller

#
  • [Impeller] revert stencil config changes. by @jonahwilliams in 46386
  • [Impeller] Implements canvas recorder with trace serializer by @gaaclarke in 46376
  • [Impeller] simplify invert colors flag by supporting composed color filters. by @jonahwilliams in 46391
  • Reverts "[Impeller] simplify invert colors flag by supporting composed color filters." by @auto-submit in 46414
  • [Impeller] Redo simplify invert colors. by @jonahwilliams in 46416
  • [Impeller] fixed subpass filter coverage with image filters by @gaaclarke in 46431
  • [Impeller] Apply the transform to PointFieldGeometry coverage by @jason-simmons in 46428
  • [Impeller] Make some Open GL errors non-fatal, check in debug mode (not unopt). by @matanlurey in 46434
  • [Impeller] disable texture to texture blit in GLES. by @jonahwilliams in 46443
  • [Impeller] Fix framebuffer blend UVs. by @bdero in 46489
  • [Impeller] Stencil -> Clip by @bdero in 46519
  • [Impeller] Invoke glDebugMessageControl before glPushDebugGroup by @matanlurey in 46392
  • [Impeller] Implement a MockGLES, that provides trampolines for ProcGLESTable by @matanlurey in 46433
  • [Impeller] Don't define CanvasRecorder if IMPELLER_TRACE_CANVAS is not set. by @jiahaog in 46476
  • [Impeller] Clarify coverage space. by @bdero in 46524
  • [Impeller] Track clip coverage per-pass when not collapsing. by @bdero in 46597
  • [Impeller] Refactor CapabilitiesGLES into a Capabilties. by @jonahwilliams in 46621
  • [Impeller] Ensure known geometry has simple bounds computation. by @jonahwilliams in 46623
  • [Impeller] Add IMPELLER_DEBUG around group. by @jonahwilliams in 46642
  • [Impeller] Optionally support SamplerAddressMode::kDecal on the OpenGLES backend by @ColdPaleLight in 46650
  • [Impeller] Run DisplayList render tests. by @flar in 46422
  • [Impeller] made window size parametric in playground/golden tests by @gaaclarke in 46682
  • [Impeller] Implement framebuffer fetch support for OpenGLES. by @jonahwilliams in 46585
  • [Impeller] log specific framebuffer incomplete error. by @jonahwilliams in 46692
  • [Impeller] Guard calls to extension proc DebugMessageControlKHR. by @bdero in 46747
  • Move //third_party/glfw to //flutter/third_party/glfw by @cbracken in 46733
  • [Impeller] Allow pipeline variant sets to have differing defaults. by @bdero in 46751
  • [Impeller] Avoid invalid GL depth calls on macOS desktop. by @bdero in 46758
  • [Impeller] flutter_tester --enable-impeller by @dnfield in 46389
  • [Impeller] Bump impeller-cmake by @bdero in 46764
  • [Impeller] Use triangle strips to dedupe rectangle vertices. by @bdero in 46610
  • [Impeller] Specify default border color for texture wrap mode that clamps. by @chinmaygarde in 46806
  • [Impeller] fix clear color optimization for large subpasses. by @jonahwilliams in 46887
  • [Impeller] Add GPU frame time to Vulkan backend using timestamp queries. by @jonahwilliams in 46796
  • [Impeller] Vulkan GPU tracer cleanups by @jonahwilliams in 46915
  • [Impeller] Adjust clip coverage operations to handle per-pass clip stacks by @jason-simmons in 46912
  • [Impeller] implements a retry mechanism for dart:ui/Image.toByteData. by @gaaclarke in 46840
  • [Impeller] GPUTracer for Metal. by @jonahwilliams in 46846
  • Replace use of SkFont::refTypefaceOrDefault() by @kjlubick in 46969
  • [Impeller] added trace statements for colorsources by @gaaclarke in 47007
  • [Impeller] Rework Vulkan GPUTracker to decorate existing cmd buffers. by @jonahwilliams in 46963
  • Move imgui from buildroot to flutter third_party by @cbracken in 47031
  • Disable threading test that fails on CI by @jonahwilliams in 47034
  • [Impeller] Document ReactorGLES. by @chinmaygarde in 47070
  • [Impeller] Guard execution of ReactorGLES operations with a mutex by @jason-simmons in 47068
  • [Impeller] Use a weak pointer factory in GPUSurfaceGLImpeller that supports the raster thread merger by @jason-simmons in 47081
  • Remove unused fbo parameter in GLES SetAsFramebufferAttachment(). by @matanlurey in 47133
  • [Impeller] GPU Tracer for GLES. by @jonahwilliams in 47080
  • Multiview pipeline by @dkwingsmt in 44473
  • Reverts "Multiview pipeline" by @auto-submit in 47174
  • [Impeller] increased padding for blurs by @gaaclarke in 47176
  • [Impeller] Fix cmd pool reset from background thread. by @jonahwilliams in 47184
  • [Impeller] Vk query cleanups. by @jonahwilliams in 47208
  • [Impeller] Added tests to assert empty saveLayer behaviors. by @gaaclarke in 47138
  • Revert "Reland: Multiview pipeline " by @zanderso in 47237
  • Reland 2: Multiview Pipeline by @dkwingsmt in 47239
  • [Impeller] Rename blobcat to shader_archive(r). by @chinmaygarde in 47247
  • [Impeller] Update shader pipeline image with a chart. by @chinmaygarde in 47250
  • [Impeller] Adjustments to SubmitKHR and queries. by @jonahwilliams in 47249
  • [Impeller] Enable MSAA for OpenGLES: Take 2. by @matanlurey in 47030
  • [Impeller] Curve components in stroke path use start directions as their initial offsets by @chunhtai in 46203
  • [Impeller] Allocate exact descriptor count, populate in one go. by @jonahwilliams in 47200
  • [Impeller] Add support for multi-rendering-backend fat shader archives. by @chinmaygarde in 47278
  • [Impeller] Unconditionally dither in gradient shader fragments. by @matanlurey in 46746
  • OpenGL <4.x does not support stencil-only formats, so delete the TODO by @matanlurey in 47286
  • [Impeller] Update shader compilation pipeline documentation to detail multi-arch archives. by @chinmaygarde in 47289
  • Adds lint for checking argument commments by @gaaclarke in 47305
  • [Impeller] Remove use of FML_DISALLOW_macros in Impeller. by @chinmaygarde in 47307
  • Missed linter argument comment violations by @gaaclarke in 47310
  • Cleanup Dart package dependencies a bit by @zanderso in 47306
  • [Impeller] Cache location in metadata. by @jonahwilliams in 46640
  • [Impeller] Improved documentation of the gaussian blur. by @gaaclarke in 47283
  • [Impeller] added missing openplayground by @gaaclarke in 47338
  • [Impeller] remove giant closure in EntityPass. by @jonahwilliams in 47343
  • [Impeller] Fix the transform and geometry criteria for an optimization in TiledTextureContents by @jason-simmons in 47341
  • [Impeller] Add FilterContents::GetSourceCoverage to enable filtered saveLayer clipping. by @flar in 47183
  • [Impeller] Fix leak of framebuffers used in GLES MSAA rendering by @jason-simmons in 47362
  • [Impeller] Enable GLES MSAA only if the multisampled_render_to_texture2 extension is available by @jason-simmons in 47364
  • [Impeller] Add present wait latch. by @jonahwilliams in 47311
  • Move flatbuffers to flutter/third_party by @zanderso in 47387
  • [Impeller] started scaling the gaussian blur sigma to match skia output by @gaaclarke in 47405
  • [Impeller] Rect getters by @flar in 47411
  • Migrate inja, sqlite, libtess2 to //flutter/third_party. by @chinmaygarde in 47408
  • [Impeller] Switch from glBlitFramebuffer to implicit MSAA resolution. by @matanlurey in 47282
  • [Impeller] Restore GLES GPU query times. by @jonahwilliams in 47511
  • [Impeller] Migrate unit tests to named Rect factories by @flar in 47430
  • [Impeller] OpenGLES MSAA Render Buffers (i.e. for stencils) by @matanlurey in 47495
  • [Impeller] Do not return a null Contents if a Paint's blur filter yields an empty coverage rect by @jason-simmons in 47496
  • Surgically remove .*dither.* from the Engine by @matanlurey in 46750
  • [Impeller] Allow 3D scenes to render when MSAA is not supported. by @bdero in 47217
  • [Impeller] updated ios benchmark link by @gaaclarke in 47515
  • [Impeller] Place Rect statics under the Rect template. by @bdero in 47529
  • [Impeller] stencil buffer record/replay instead of MSAA storage. by @jonahwilliams in 47397
  • [Impeller] OpenGLES: Ensure frag/vert textures are bound with unique texture units. by @bdero in 47218
  • [Impeller] Fix nullopt access and simplify coverage computation in GetSubpassCoverage. by @bdero in 47347
  • [Impeller] Include cstdint everywhere that uint32_t is used. by @bdero in 47533
  • Consolidate all the copies of the OpenFixtureAsSkData testing helper function by @jason-simmons in 47491
  • [Impeller] Move all remaining Rect construction to named factories by @flar in 47582
  • Add some important comments to some of the FilteContents methods by @flar in 47567
  • [Impeller] add support for specialization constants. by @jonahwilliams in 47432
  • [Impeller] Skia gold for flutter_tester dart tests. by @dnfield in 47066
  • [Impeller] Deprecate the exposed Rect fields by @flar in 47592
  • [Impeller] Use specialization constant for blur pipelines decal feature. by @jonahwilliams in 47617
  • Reverts specialization constant PR and one change that used it by @zanderso in 47650
  • [Impeller] add example of testing entity with "real" HAL instead of mocking. by @jonahwilliams in 47631
  • [Impeller] removed operator overload (c++ style violation) by @gaaclarke in 47658
  • [Impeller] Remove Rect field accesses from aiks subdirectory by @flar in 47628
  • Move some Dart packages to //flutter/third_party/pkg by @zanderso in 47654
  • [Impeller] fix drawVertices dest fast path to apply alpha. by @jonahwilliams in 47695
  • [Impeller] Fix EntityPassTarget::Flip with implict MSAA. by @jonahwilliams in 47701
  • [Impeller] scales blur coverage to match rendered output by @gaaclarke in 47621
  • [Impeller] Add support for specialization constants redux. by @jonahwilliams in 47678
  • Don't use Skia BUILD.gn files by @zanderso in 47677
  • [Impeller] added tests for matrices by @gaaclarke in 47754
  • Reverts "[Impeller] Add support for specialization constants redux." by @auto-submit in 47762
  • [Impeller] Make IsEmpty methods on Rect and Size NaN-aware by @flar in 47725
  • [Impeller] Support static thread safety analysis with condition variables. by @chinmaygarde in 47763
  • [Impeller] Add Rect::GetNormalizingTransform to handle UV coordinate conversion by @flar in 47775
  • [Impeller] Add EXPECT_OBJ_NEAR macros similar to the ASSERT_OBJ_NEAR versions by @flar in 47795
  • [Impeller] Remove capability to read from onscreen. by @jonahwilliams in 47808
  • [Impeller] add support for Skia concept of RRect::isSimple needed for DL dispatching by @flar in 47736
  • Reverts "[Impeller] add support for Skia concept of RRect::isSimple needed for DL dispatching" by @auto-submit in 47821
  • [Impeller] Create a global Vulkan instance in PlaygroundImplVK to prevent SwiftShader from being unloaded after a test completes by @jason-simmons in 47781
  • [Impeller] Documented the 2 step in the gaussian blur. by @gaaclarke in 47822
  • [Impeller] Add support for specialization constants (III). by @jonahwilliams in 47765
  • Reland "[Impeller] add support for Skia concept of RRect::isSimple needed for DL dispatching" by @flar in 47824
  • [Impeller] Remove unused/untested Path APIs. by @jonahwilliams in 47841
  • Expanded the performance lints by @gaaclarke in 47868
  • [Impeller] Reduce allocations for polyline generation by @dnfield in 47837
  • [Impeller] implement Canvas::DrawLine to tesselate lines directly by @flar in 47846
  • [Flutter GPU] Add DeviceBuffer. by @bdero in 47699
  • [Impeller] Add convex tess benchmark. by @jonahwilliams in 47956
  • [Impeller] Simplify convex tessellation by @jonahwilliams in 47957
  • [Impeller] some clang tidies in impeller by @jonahwilliams in 48077
  • [Impeller] add async command submission for blit pass. by @jonahwilliams in 48040
  • [Impeller] Create a drawable backed TextureMTL. by @jonahwilliams in 48049
  • [Impeller] Fix issue where the lock was not re-acquired when the wait exits on CV. by @chinmaygarde in 48104
  • [Impeller] store all path point data in single buffer. by @jonahwilliams in 47896
  • [Impeller] Implements gaussian blur that scales down before applying the blur by @gaaclarke in 47576
  • [Impeller] Clang tidy even more by @jonahwilliams in 48102
  • [Impeller] Add support for external GL textures to TiledTextureContents. by @bdero in 47586
  • [Flutter GPU] Add Textures. by @bdero in 48118
  • [Impeller] Cleanups to geometry interfaces. by @jonahwilliams in 48180
  • [Impeller] Unify around "transform" by @gaaclarke in 48184
  • Make impeller/{archivist|compiler|core|entity}/... compatible with … by @matanlurey in 48153
  • Make impeller/geometry/... compatible with .clang-tidy. by @matanlurey in 48154
  • Make impeller/aiks/... compatible with .clang-tidy. by @matanlurey in 48152
  • Make impeller/... compatible with .clang-tidy. by @matanlurey in 48155
  • Replace calls to SkFontMgr::RefDefault by @kjlubick in 48179
  • [Impeller] Try replacing *desc with value/is_valid checks. by @matanlurey in 48194
  • [Impeller] implements gaussian "blur halo" by @gaaclarke in 48149
  • [Impeller] preallocate command buffer to next power of two of entity list. by @jonahwilliams in 48185
  • Make {flow|fml|impeller}/... compatible with .clang_tidy. by @matanlurey in 48241
  • [Impeller] Ensure that overlay surfaces are constructed with wide gamut settings. by @jonahwilliams in 48190
  • Yet more compliance with .clang_tidy, stragglers edition. by @matanlurey in 48291
  • [Impeller] Dont copy the paint until we're sure that the RRect blur optimization will apply. by @jonahwilliams in 48298
  • [Impeller] make host buffer state internally ref counted. by @jonahwilliams in 48303
  • [Impeller] pass const ref to binding helpers. by @jonahwilliams in 48318
  • [Impeller] cache render target properties on Render Pass. by @jonahwilliams in 48323
  • Reverts "[Impeller] pass const ref to binding helpers." by @auto-submit in 48330
  • [Flutter GPU] Raster encoding. First triangle! by @bdero in 48314
  • [Impeller] OES extension does not apply to regular textures for decal support by @jonahwilliams in 48388
  • [Impeller] use spec constant for decal support in morph filter. by @jonahwilliams in 48288
  • [Flutter GPU] Texture binding, index binding, attachments, depth state. by @bdero in 48386
  • [Impeller] revert non-zero tessellation optimization. by @jonahwilliams in 48234
  • [Impeller] add explainer for Android CPU profiling. by @jonahwilliams in 48407
  • [Impeller] updated gaussian blur tests to use device private textures by @gaaclarke in 48417
  • Update HeaderFilterRegex once and for all. by @matanlurey in 48145
  • [Impeller] Add benchmarks that measure the time it takes to record canvas operations. by @jonahwilliams in 48374
  • Replace all calls to SkTypeface::Make with SkFontMgr ones by @kjlubick in 48319
  • [Impeller] Recycle descriptor sets. by @jonahwilliams in 48343
  • [Impeller] implements incorporating the gaussian blur snapshot transform by @gaaclarke in 48426
  • [Impeller] match sigma scaling to Skia scaling. by @jonahwilliams in 48434
  • [Impeller] Skip mask blur with 0 sigma. by @jonahwilliams in 48457
  • [Impeller] fix descriptor pool recycler test flake. by @jonahwilliams in 48479
  • [Impeller] fix order of operations in SkSL generated texture lookup. by @jonahwilliams in 48488
  • [Impeller] Started expanding the blur clip region by @gaaclarke in 48535
  • [Impeller] Add direct tesselation of circles for DrawCircle and Round end caps by @flar in 48103
  • [Impeller] Fix size of squares in DrawPoints(PointMode). by @flar in 48547
  • [Impeller] Directly tessellate stroked circles. by @flar in 48586
  • Remove some trivial forward declares from Impeller by @dnfield in 48635
  • [Impeller] Move BufferView/Texture/Sampler when binding. by @jonahwilliams in 48628
  • [Impeller] Remove impeller::Path copy constructor. by @jonahwilliams in 48616
  • [Impeller] Remove duplicate entity test suite instantiations. by @chinmaygarde in 48654
  • [Impeller] Document what some of this shader metadata is. by @jonahwilliams in 48647
  • [Impeller] Render emoji shadows with correct colors. by @jonahwilliams in 48593
  • [Impeller] Delete tessellation control/eval shader support. by @jonahwilliams in 48649
  • [Impeller] Make Entity move only, simplify construction of geometry/filter contents. by @jonahwilliams in 48596
  • [Impeller] started taking into account integer gaps in blur sigma, turned on linear filter by @gaaclarke in 48651
  • [Impeller] Prefer moving vertex buffer, place on command instead of binding object. by @jonahwilliams in 48630
  • [Impeller] Declare specialization constants as floats. by @jason-simmons in 48644
  • [Impeller] Vulkan framebuffer fetch via VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS by @jonahwilliams in 48458
  • [Impeller] disable entity culling by default. by @jonahwilliams in 48717
  • Replace use of Fontmgr::RefDefault with explicit creation calls by @kjlubick in 48571
  • [Impeller] Provide the clear color to an advanced blend if it was optimized out by @jason-simmons in 48646
  • [Impeller] Store Buffer/Texture bindings in vector instead of map. by @jonahwilliams in 48719
  • Revert "Replace use of Fontmgr::RefDefault with explicit creation calls" by @jason-simmons in 48755
  • Reland "Replace use of Fontmgr::RefDefault with explicit creation calls" by @jason-simmons in 48764
  • [Impeller] implements new blur tile mode by @gaaclarke in 48805
  • [Impeller] dont allocate capture strings in release mode. by @jonahwilliams in 48760
  • [Impeller] Directly tessellate filled ellipses by @flar in 48770
  • Move //third_party/tinygltf to //flutter/third_party/tinygltf by @matanlurey in 48852
  • [Impeller] Clamp new blur sigma by @gaaclarke in 48813
  • [Impeller] made the blur entity test able to use the new blur by @gaaclarke in 48881
  • [Impeller] remove trace events that have outlived their usefulness. by @jonahwilliams in 48856
  • Move third_party/stb to flutter/third_party. by @matanlurey in 48845
  • [Impeller] recycle glyph atlas texture more aggressively. by @jonahwilliams in 48888
  • [Impeller] Direct tessellation of simple filled round rects by @flar in 48919
  • Move third_party/swiftshader, roll buildroot DEPS. by @matanlurey in 48946
  • Migrate impeller/**.h to header guards. by @matanlurey in 48962
  • [Impeller] Use direct tessellation geometry for simple clip shapes by @flar in 48959
  • [Impeller] Compute ContextContentOptions key via bit manipulating (instead of hashing each property). by @jonahwilliams in 48902
  • [Impeller] Made the new blur work on devices without the decal address mode by @gaaclarke in 48899
  • [Windows] Move to FlutterCompositor for rendering by @loic-sharma in 48849
  • [Flutter GPU] Runtime shader import. by @bdero in 48875
  • [Impeller] Add golden for clipped+transformed blur. by @bdero in 48886
  • [Impeller] Made the new blur support 1D blurs by @gaaclarke in 49001
  • Reverts "[Windows] Move to FlutterCompositor for rendering" by @auto-submit in 49015
  • [Impeller] Round rects with circular ends should not generate ellipses by @flar in 49021
  • [Impeller] Turned on new blur. by @gaaclarke in 48472
  • [Impeller] distinguish between no clear color and transparent black clear color. by @jonahwilliams in 49038
  • Revert "[Impeller] Turned on new blur." by @gaaclarke in 49062
  • [Impeller] split out gradient tests from aiks_unittests by @gaaclarke in 49050
  • [Impeller] impellerc: delete unused code by @dnfield in 49061
  • Revert "[Impeller] Provide the clear color to an advanced blend if it was optimized out" by @jason-simmons in 49064
  • [Impeller] Turn off Aiks bounds tracking for filtered SaveLayers. by @bdero in 49076
  • [Impeller] Do not pass the depfile flag when creating a shader bundle in ImpellerC by @jason-simmons in 49114
  • Add FlutterMetalLayer as optional alternative to CAMetalLayer by @knopp in 48226
  • [Impeller] Make Rect origin and size fields private by @flar in 49168
  • [Impeller] Add interactive Blur+Clip AiksTest. by @bdero in 49283
  • [Impeller] new blur: refactored math and fixed expanded padding size by @gaaclarke in 49206
  • Revert "[Impeller] new blur: refactored math and fixed expanded padding size" by @gaaclarke in 49298
  • [Impeller] fixed Rect::Contains by @gaaclarke in 49294
  • Reland [Impeller] new blur: refactored math and fixed expanded padding size by @gaaclarke in 49302
  • Reland "[Windows] Move to FlutterCompositor for rendering" by @loic-sharma in 49262
  • [Impeller] Make IPLR files multi-platform by @dnfield in 49253
  • [Impeller] Do not skip rendering when mask blur is zero by @flar in 49342
  • [Impeller] Remove use of private Rect fields from PathBuilder by @flar in 49334
  • [Impeller] new blur: implemented ping ponging by @gaaclarke in 49252
  • Start wiring up fragment program for OpenGLES by @dnfield in 49347
  • Revert "Reland "[Windows] Move to FlutterCompositor for rendering" by @loic-sharma in 49461
  • [Impeller] add doc on iOS flamegraph capture. by @jonahwilliams in 49469
  • [Impeller] Allow multiple --runtime-stage-* parameters to impellerc by @dnfield in 49475
  • [Impeller] Disable compute for Vulkan. by @jonahwilliams in 49463
  • [Impeller] pulled out the path unit tests to their own file by @gaaclarke in 49499
  • [Impeller] new blur: limit uvs to blur region by @gaaclarke in 49299
  • [Impeller] migrate blur to calculating coefficients on the cpu by @gaaclarke in 49512
  • [Impeller] RenderPass now provides the Orthographic matrix by @flar in 49544
  • [Impeller] remove SamplerLibrary forward declare. by @jonahwilliams in 49573
  • [CP] [Impeller] allow non-square corner radii for fast blurs by @flar in 50023

Android

#
  • Disable enableHardwareBufferRenderingTarget by @CaseyHillers in 46425
  • Add an AndroidManifest.xml flag to disable ImageReader backed Platform Views by @johnmccutchan in 46430
  • Restrict ImageReader backed Platform Views to Android 33+ by @johnmccutchan in 46478
  • Fix high FPS screen flicker of Platform Views when using ImageReaderPlatformViewRenderTarget by @johnmccutchan in 46724
  • [Android] Add support for text processing actions by @bleroux in 44579
  • Fix 303652511 and add a regression test by @johnmccutchan in 46743
  • Rename HardwareBufferExternalTexture* to ImageExternalTexture* by @johnmccutchan in 46786
  • Revert "[Android] Add support for text processing actions (#44579)" by @gmackall in 46788
  • Don't use objcopy to embed Android icudtl by @zanderso in 46862
  • Fix forward declare and some deprecated enums by @kjlubick in 46882
  • Reland - [Android] Add support for text processing actions by @bleroux in 46817
  • Allow Image backed platform view rendering target on Android >= 29 again by @johnmccutchan in 46958
  • Lower the severity of a log message by @johnmccutchan in 47172
  • Update fml::ThreadPriority enum to match style guide. by @chinmaygarde in 47255
  • Don't re-initialize the default RenderSurface when returning from hybrid composition mode by @johnmccutchan in 47358
  • Add KeyEventDeviceType to KeyData by @gspencergoog in 47315
  • Fix ImmutableEnum lint by @jiahaog in 47739
  • Fix narrowing conversion lint by @jiahaog in 47740
  • Use targetSdkVersion 33 for Android platform AndroidManifest.xml by @utzcoz in 47683
  • Upgrade Android SDK to 34 "UpsideDownCake" by @gmackall in 47609
  • Reverts "Upgrade Android SDK to 34 "UpsideDownCake"" by @auto-submit in 47834
  • [Re-land] Upgrade Android SDK to 34 "UpsideDownCake" by @gmackall in 47839
  • [Android] Bump robolectric version to support unit testing on Android 34 by @camsim99 in 47768
  • Bump minSdk to 19 for Android tests by @utzcoz in 47686
  • Reverts "Bump minSdk to 19 for Android tests" by @auto-submit in 47935
  • Revert "Add an AndroidManifest.xml flag to disable ImageReader backend Platform Views (#46430)" by @johnmccutchan in 48024
  • [Impeller] Gate Vulkan selection on API 29 by @dnfield in 48089
  • Make flow/embedded_views.h compatible with .clang_tidy. by @matanlurey in 47994
  • Reverts "Make flow/embedded_views.h compatible with .clang_tidy." by @auto-submit in 48130
  • Re-land "Make flow/embedded_views.h compatible with .clang_tidy." by @matanlurey in 48137
  • [Android] Send " did gain focus" message from engine to framework by @hangyujin in 47114
  • Fix a few typos by @bartekpacia in 47960
  • [PlatformView][Android]VirtualDisplay resize on Android31 and above by @designDo in 47946
  • Make {shell|lib/ui}/... compatible with .clang_tidy. by @matanlurey in 48242
  • [Impeller] Switched to static linked libc++ in vulkan validation layers. by @gaaclarke in 48290
  • Finish making shell/platform/android/... compatible with .clang-tidy. by @matanlurey in 48296
  • Reduce number of surfaces required when presenting platform views by @knopp in 43301
  • Fix new lint from android 14 upgrade, and remove it from the baseline by @gmackall in 47817
  • [Android] Add support for the PlatformChannel "Share.invoke" command by @bleroux in 48265
  • [Android] Check for text to paste before trying to retrieve data from URI by @camsim99 in 48166
  • Add support for exposing accessibility identifier as resource-id on Android by @bartekpacia in 47961
  • Multiview ExternalViewEmbedder by @dkwingsmt in 46169
  • Add a new external texture type to Android embedder by @johnmccutchan in 48803
  • Suppress warning for the new Activity library. by @chingjun in 49046
  • Fix header-guard naming convention in shell/. by @matanlurey in 49006
  • Makes PlatformViewsController view to use tracked event's action & pointer count by @academy3746 in 47424
  • Use new SurfaceProducer external texture class for rendering platform views by @johnmccutchan in 49201
  • Multi-view pointer event by @dkwingsmt in 46213
  • Add try-with-resource support to TraceSection by @0xZOne in 49445
  • Fix NPE when platform plugin delegate is null by @0xZOne in 49391
  • Android Platform Views support Verified Input Events by @johnmccutchan in 49268
  • Fix a crash in the new SurfaceProducer external texture by @johnmccutchan in 49496

iOS

#
  • [ios] Link PlatformView back to semantics tree by @cyanglaz in 46471
  • Replace deprecated [UIScreen mainScreen] in FlutterView.mm by @mossmana in 46802
  • Don't respond to the insertionPointColor selector on iOS 17+ by @LongCatIsLooong in 46373
  • [iOS TextInputPlugin] adjust the markedTextRange when replacing text. by @LongCatIsLooong in 46603
  • Move rapidjson to flutter/third_party by @zanderso in 47354
  • Made FlutterTaskQueue visible for Swift. by @gaaclarke in 47348
  • [ios] making objective-C smart pointers support ARC by @cyanglaz in 47612
  • [ios17][text_input]fix ios 17.0 keyboard freeze when switching languages (without relying on text affinity) by @hellohuanlin in 47566
  • [ios]fix ios 16 auto correction highlight showing on top left corner by @hellohuanlin in 47279
  • [ios] introduce weak_nsobject by @cyanglaz in 47947
  • Reland "[Impeller] Fail if software backend is chosen and Impeller is enabled on iOS." by @dnfield in 46275
  • [Ios] move flutter_test_ios_mrc unittests to arc by @cyanglaz in 48162
  • Make shell/platform/{darwin|embedder}/... compatible with .clang-tidy. by @matanlurey in 48160
  • Moves expat, ocmock, libjpeg-turbo, libwebp, and wuffs to //flutter/third_party by @zanderso in 48193
  • Fix Share Screen Crash on iPad by @LouiseHsu in 48220
  • Fix not being able to hide iOS status bar via setEnabledSystemUIMode by @LinXunFeng in 48271
  • [ios] Send " did gain focus" message from engine to framework by @hangyujin in 48252
  • Fix _availability_version_check for iOS 11 and 12 by @zanderso in 48624
  • Add support for exposing accessibility identifier as accessibilityIdentifier on iOS by @bartekpacia in 48858
  • Add xcprivacy privacy manifest to iOS framework by @jmagman in 48951
  • Fix NSPrivacyCollectedDataTypes array in privacy manifest by @jmagman in 49041
  • Rolls clang to 725656bdd885483c39f482a01ea25d67acf39c46 by @zanderso in 49248

Web

#
  • Use dart:_wasm constructs to avoid dependence on WebAssembly.Function by @eyebrowsoffire in 46388
  • Remove support for Paint.enableDithering=false in dart:ui. by @matanlurey in 46745
  • Roll goldctl forward by @zanderso in 46771
  • [web] Adds Noto Music fallback font by @CoderDake in 46720
  • Switch to Chrome For Testing instead of Chromium by @eyebrowsoffire in 46683
  • [web] Stop using flutterViewEmbedder for platform views by @mdebbar in 46046
  • fixed AutofillHints.middleName tanslation for web. by @eriko13 in 46429
  • Only run web mac tests on macOS 12 by @vashworth in 46965
  • Include symbol maps in CanvasKit and Skwasm builds. by @eyebrowsoffire in 46973
  • [web] Ensure handled key event is not propagated to IME by @knopp in 46829
  • Revert "[web] Ensure handled key event is not propagated to IME" by @flar in 47086
  • [web] Attach pointer event listeners in the bubble phase by @mdebbar in 47121
  • [web] Make HotRestartCacheHandler standalone by @mdebbar in 46906
  • Fix async image loading issues in skwasm. by @eyebrowsoffire in 47117
  • [web] Support flutterViewId in platform view messages by @mdebbar in 46891
  • Add link support in web accessibility by @chunhtai in 46117
  • [web] Remove workaround for safely removing slots on Safari by @mdebbar in 47169
  • Update to the latest package:test by @natebosch in 46592
  • Reland "Use a single OffscreenCanvas for rendering in CanvasKit (#45744)" by @harryterkelsen in 47241
  • [web] DomManager for each FlutterView by @mdebbar in 47388
  • Bump goldctl by @Piinks in 47391
  • Move flutter.js into the engine. by @eyebrowsoffire in 47240
  • Expose more methods on ui.Paragraph: lines by @LongCatIsLooong in 46125
  • Reverts "Expose more methods on ui.Paragraph: lines" by @auto-submit in 47584
  • Reland: [web] Ensure handled key event is not propagated to IME by @knopp in 47099
  • Bundle flutter.js via esbuild by @eyebrowsoffire in 47573
  • [web] fix clicks on merged semantic nodes (attempt #2) by @yjbanov in 47360
  • [web] Non-singleton implementation of ui.FlutterView by @mdebbar in 47806
  • Remove physical geometry by @goderbauer in 47825
  • Reverts "Remove physical geometry" by @auto-submit in 47862
  • [web] Refactor a11y announcements out of FlutterViewEmbedder by @mdebbar in 47487
  • Reland "Remove physical geometry" by @goderbauer in 47872
  • Remove implements of JS types on @staticInterop classes by @srujzs in 47869
  • [web] Move styling from FlutterViewEmbedder to StyleManager by @mdebbar in 47489
  • [web] - fix Safari textfield selection bug by @htoor3 in 47917
  • [web] Cleanup touch and mouse event adapters by @mdebbar in 43697
  • Move Skia to //flutter/third_party/skia by @zanderso in 47913
  • [web] Explicit initialization of the implicit view by @mdebbar in 47921
  • Use flutter.js in the actual test harness. by @eyebrowsoffire in 47670
  • [web] JSConfig: Add multiViewEnabled value. by @ditman in 47939
  • [web] Move EmbeddingStrategy and DimensionsProvider out of FlutterViewEmbedder by @mdebbar in 48025
  • [web] Apply global styles before inserting the DOM element by @mdebbar in 48027
  • [canvaskit] Size the PictureRecorder when calling Scene.toImage by @harryterkelsen in 48142
  • [web] Move all DOM creation to DomManager by @mdebbar in 48123
  • [web] Move scene DOM management to DomManager by @mdebbar in 47460
  • [web] EngineFlutterView.dispose() by @mdebbar in 48183
  • [web] Add add/removeView JS methods. by @ditman in 48106
  • Expose a few more glyph apis from ui.Paragraph by @LongCatIsLooong in 47698
  • [web] Hook the new JS API to the FlutterViewManager by @mdebbar in 48283
  • [canvaskit] Enable multiview rendering by @harryterkelsen in 48301
  • Dynamic view sizing [dart:ui] by @goderbauer in 48090
  • [canvaskit] Fall back to drawImage for browsers that don't support createImageBitmap by @harryterkelsen in 48336
  • [canvaskit] Disable createImageBitmap support on Chrome 110 or older on Windows. by @harryterkelsen in 48475
  • [web] No implicit view in multi-view mode by @mdebbar in 48505
  • [canvaskit] Revert to drawImage rendering on Chrome 110 or earlier by @harryterkelsen in 48515
  • [canvaskit] Add ImageFilter.compose by @harryterkelsen in 48546
  • [web] Implement multi-view for semantics by @yjbanov in 48251
  • [web] remove ulimit and add -i to felt by @yjbanov in 47414
  • Retry when safaridriver fails by @vashworth in 48791
  • Add the flutter_js target as a dep to web_sdk. by @eyebrowsoffire in 48814
  • Fix css changes with macOS 13 and Safari by @vashworth in 48807
  • [web] PointerBinding per view by @mdebbar in 48248
  • SemanticsUpdateBuilder migration: introduce identifier by @bartekpacia in 48882
  • [web] Handle resizes at the view level by @mdebbar in 48892
  • Manual roll of Dart SDK from 82c4571bb2de to a677378ae254 by @jason-simmons in 48933
  • [web:multiview] Make CanvasKitRenderer listen for view creation/disposal events by @harryterkelsen in 48812
  • Revert Dart SDK back to 3.3.0-219.0.dev by @jason-simmons in 48990
  • Allow tests to run on macOS 13 by @vashworth in 48894
  • Reland manual roll of Dart SDK from 82c4571bb2de to a677378ae254 by @jason-simmons in 49034
  • Fix a bug in the HTML render's getClosestGlyphInfo implementation by @LongCatIsLooong in 48774
  • Automatically fix header guards in the rest of the flutter/engine repo. by @matanlurey in 49059
  • [web] Set cursor property on body by @mdebbar in 49098
  • Delete SemanticsUpdateBuilderNew and all references and usages by @bartekpacia in 49139
  • Convert chromium wheel delta to physical pixels on macOS by @knopp in 49028
  • [web] Enforce onDrawFrame/onBeginFrame render rule by @harryterkelsen in 49214
  • Sync lints with flutter/flutter by @goderbauer in 49192
  • [web:multiview] Only call Renderer.clearFragmentProgramCache on hot restart by @harryterkelsen in 48758
  • [web] Defer injection of platform views until needed. by @ditman in 48960
  • [web] autofocus in new routes by @yjbanov in 47727
  • Revert onrender change by @cbracken in 49333
  • Reland "[web] Enforce onDrawFrame/onBeginFrame render rule" by @harryterkelsen in 49336
  • [web] make TextStyle implementations consistent by @yjbanov in 49465

Desktop

#
  • [macOS] Ensure first responder is consistent during and after text input by @knopp in 46032
  • [macOS] FlutterMutatorView should clip to bounds by @knopp in 46463
  • [macOS] Fix tests failing on Sonoma by @knopp in 46461
  • Fix use of nested designators by @jiahaog in 45869
  • [macOS] Fail early when no a11y notification by @cbracken in 47129
  • [macOS] Eliminate extraneous loadView calls by @cbracken in 47166
  • [Windows] Introduce FlutterWindowsViewController by @loic-sharma in 47242
  • [Windows] Refactor high contrast mode detection by @loic-sharma in 47314
  • [macOS] Reuse NSWindow instance across unit tests by @cbracken in 47350
  • [macOS] Wrap external texture tests in autorelease pool by @cbracken in 47492
  • [macOS] Delete FlutterCompositor tests by @cbracken in 47527
  • [Windows] Reduce warnings produced by unit tests by @loic-sharma in 47724
  • [testing] Extract StreamCapture test utility by @cbracken in 47774
  • [macOS] Bail out of tests if engine not running by @cbracken in 47771
  • [macOS] Clean up resources in ViewController tests by @cbracken in 47792
  • [macOS] Allocate textures as unique_ptr earlier by @cbracken in 47786
  • [Windows] Remove global state in keyboard tests by @loic-sharma in 47829
  • [macOS] Eliminate unused OCMock includes by @cbracken in 48031
  • [macOS] Clean up allocations in key responder tests by @cbracken in 48048
  • Update keycode output by @gspencergoog in 47988
  • [macOS] Clean up allocations in menu plugin test by @cbracken in 48093
  • [macOS] Replace fixture subclasses with usings by @cbracken in 48111
  • [macOS] Replace pasteboard mock with fake by @cbracken in 48110
  • Assign mojom kSwitch role to switches by @yaakovschectman in 48146
  • [Windows] Begin decoupling text input plugin from the view by @loic-sharma in 47833
  • [Windows] Decouple the GL context from the view by @loic-sharma in 48636
  • [Windows] Set swap interval on raster thread after startup by @loic-sharma in 47787
  • Workarounds for clang-tidy warnings in the next roll of Clang by @jason-simmons in 48963
  • [Windows] Refactor surface manager mocking by @loic-sharma in 48953
  • [Windows] Remove header guard from generated key map by @loic-sharma in 48993
  • [macos] FlutterKeyboardManager memory leak fix by @sergiy-sc in 48824
  • [Windows] Fix incorrect surface manager comment by @loic-sharma in 49335
  • [Windows] Remove PlatformWindow and RenderTarget abstractions by @loic-sharma in 49312
  • [Windows] Move DWM composition status to Windows proc table for mocking by @loic-sharma in 49397
  • [Windows] Move DWM flush to Windows proc table for mocking by @loic-sharma in 49398

Other Changes

#
  • Bump impeller-cmake to head by @bdero in 46385
  • Multi-view Rasterizer by @dkwingsmt in 45512
  • [Linux] Rename 'set_allow_channel_overflow' to 'set_warns_on_channel_… by @bleroux in 46360
  • Opt out flutter/third_party/** from clang-tidy checks explicitly. by @matanlurey in 46514
  • Update buildroot to 5d60bd2. by @chinmaygarde in 46564
  • Use GdkEvent methods to access values, direct access is removed in GTK4. by @robert-ancell in 46526
  • Replace use of Skia's Base64 Encoding/Decoding logic with a copy of the equivalent code by @kjlubick in 46543
  • Add Base64::EncodedSize to tidy up allocations by @kjlubick in 46624
  • [fuchsia] Remove hardcoded fuchsia-imported packages 2.12 sdk version by @aam in 46629
  • Remove obsolete tests that were time sensitive. by @chinmaygarde in 46686
  • use TextFrame calls for Impeller in rendertests by @flar in 46696
  • Remove workaround for older versions of MSVC. by @chinmaygarde in 46689
  • Use x86 machines for ios builds. by @godofredoc in 46726
  • Prepare to move new folders into third_party/ by adding a .gitignore. by @matanlurey in 46729
  • [Impeller] Don't cull readbacks outside the damage rect. by @bdero in 46705
  • Fix some image_external_texture entries in the license golden file by @jason-simmons in 46790
  • Run the binary size treemap script from the buildroot directory by @jason-simmons in 46740
  • Roll SwiftShader to include a fix required by the latest Clang toolchain by @jason-simmons in 46803
  • Remove the frontend server wrapper by @zanderso in 46440
  • [fuchsia] Add fatal error for Vulkan failure by @uysalere in 46831
  • Temporarily remove the runs of the engine Dart tests with Impeller enabled by @jason-simmons in 46854
  • Revert "Remove the frontend server wrapper" by @zanderso in 46863
  • Update to use GrDirectContexts::MakeVulkan by @kjlubick in 46878
  • [Impeller] Started throwing errors if dart:ui/Image.toByteData fails by @gaaclarke in 46738
  • Use --timeline_recorder=systrace instead of --systrace_timeline by @derekxu16 in 46884
  • [Impeller] Only allow Impeller in flutter_tester if vulkan is enabled. by @dnfield in 46895
  • Oops, allow files in opted-in third_party directories. by @matanlurey in 46897
  • Revert "Reland: Enforce the rule of calling FlutterView.Render (#45300)" by @dkwingsmt in 46919
  • Avoid a deadlock in the flutter_tester process when deleting the Impeller Vulkan context during shutdown by @jason-simmons in 46860
  • Fix Platform.script for flutter_tester by @dnfield in 46911
  • Revert "Fix Platform.script for flutter_tester" by @jason-simmons in 46981
  • Move the secondary build tree into the engine. by @chinmaygarde in 46989
  • Shift some engine DEPS from github to mirrors by @zanderso in 46633
  • Manual roll of Clang from 576b184d6e3b to 00396e6a1a0b by @jason-simmons in 46980
  • Workaround for a clang-tidy warning in CPUSpeedTracker by @jason-simmons in 47024
  • Roll buildroot to pull in //gpu removal. by @chinmaygarde in 47014
  • [fml][embedder] Improve thread-check logging by @cbracken in 47020
  • Roll buildroot to pull in removal of //tools. by @chinmaygarde in 47032
  • Revert "Roll buildroot to pull in removal of //tools." by @zanderso in 47053
  • Add missing source file by @jiahaog in 47046
  • Add --lint-all=<regex> as an option for clang_tidy, refactor lint targets by @matanlurey in 46522
  • Reland: Remove the frontend server wrapper by @zanderso in 47010
  • Reland 2 (part 1): Enforce the rule of calling FlutterView.Render by @dkwingsmt in 47062
  • migrate const_finder to use the implementation from package:kernel by @christopherfujino in 47077
  • Update buildroot to ab76ccba2ca4ce4. by @chinmaygarde in 47078
  • Add missing import by @jiahaog in 47083
  • [iOS] Load additional Cupertino system fonts by @cyanglaz in 46857
  • Reland 2 (part 2): Enforce the rule of calling FlutterView.Render by @dkwingsmt in 47095
  • Add option to save Impeller failure images in rendertests by @flar in 47142
  • Update buildroot to remove -Wno-c99-designator by @jiahaog in 47145
  • [Impeller] Disable raster stats service protocol. by @jonahwilliams in 47206
  • [Impeller] remove image upload workarounds. by @jonahwilliams in 47209
  • Add missing headers to the fml source_set. by @chinmaygarde in 47232
  • Reland: Multiview pipeline by @dkwingsmt in 47234
  • Migrated away from UnmodifiableUint8ListView by @gaaclarke in 47276
  • Revert Dart SDK to 360370ff93b053253343832432f8329a11372ffc by @jason-simmons in 47326
  • Adds firebase test lab tests. by @godofredoc in 47320
  • Roll HarfBuzz to 8.2.2 by @jason-simmons in 47284
  • [Impeller] Disable layer tree screenshots. by @jonahwilliams in 46171
  • Reverts "[Impeller] Disable layer tree screenshots." by @auto-submit in 47356
  • Fix for undefined uint8_t seen on Clang-15+GCC13 by @johnoneil in 47288
  • Skip invalid renders in Dart by @dkwingsmt in 47323
  • Reverts "Manual roll Dart SDK from 360370ff93b0 to 18678a3eddb7 (9 revisions)" by @auto-submit in 47380
  • Move shaderc to flutter/third_party by @zanderso in 47383
  • Move gtest-parallel to flutter/third_party by @zanderso in 47393
  • Remove //third_party/khronos by @zanderso in 47398
  • Add Android Emulator dependencies as "test_dependencies" to Android tests by @ricardoamador in 47384
  • Remove call to SkTypeface::MakeDefault by @kjlubick in 47344
  • Revert "Roll Dart SDK from 5a666e8d8259 to 38e8459ca2aa (4 revisions)" by @zanderso in 47459
  • Revert "[Impeller] remove image upload workarounds." by @jonahwilliams in 47402
  • [deps] Stop moving NDK folder inside Android SDK by @dcharkes in 47454
  • Update package:equatable pin by @zanderso in 47475
  • [Typo fixed] in DEPS by @khalid586 in 47440
  • Made clang tidy use arm64 if on an arm64 mac. by @gaaclarke in 47494
  • Bump impeller-cmake to head by @bdero in 47563
  • Change FTL test to high capacity device by @gmackall in 47579
  • Update DisplayList tests to explicitly select the Roboto font by @jason-simmons in 47493
  • Fix race condition in Platform View Scenario tests by @vashworth in 47575
  • Run tests on either macOS 12 or 13 by @vashworth in 47606
  • Add a temporary fallback to move run_binary_file_analysis.py by @athomas in 47598
  • Remove mirroring workflow from engine. by @godofredoc in 47603
  • Reland "Expose more methods on ui.Paragraph: lines" (#47584) by @LongCatIsLooong in 47623
  • Upload debug symbols in engine v2 fuchsia build. by @godofredoc in 47626
  • Move //third_party/benchmark to //flutter/third_party/benchmark by @zanderso in 47652
  • Fix incorrect C++ return value of PictureRecorder::endRecording() by @mkustermann in 47645
  • Fix symbols upload by @godofredoc in 47669
  • Reverts "Roll Dart SDK from b9ae53ac4663 to 96664852accc (1 revision)" by @auto-submit in 47687
  • Fix FFI-based tonic layer to use proper C++ static_cast<>()s by @mkustermann in 47644
  • Promote fuchsia build v2 to prod. by @godofredoc in 47729
  • Remove Fuchsia Mac SDK from DEPS by @CaseyHillers in 47700
  • Include updated locations for dart third_party components into license ignore-list. by @aam in 47770
  • Reverts "Promote fuchsia build v2 to prod." by @auto-submit in 47779
  • Reverts "Remove Fuchsia Mac SDK from DEPS" by @auto-submit in 47791
  • [Impeller] null check drawable. by @jonahwilliams in 47488
  • Switch to Android 14 for physical device firebase tests by @gmackall in 47016
  • Move window state update to window realize callback by @gspencergoog in 47713
  • Reland "Remove Fuchsia Mac SDK from DEPS" by @CaseyHillers in 47823
  • Use specific version of mac_toolchain by @vashworth in 47835
  • Remove references to the runtime/third_party directory in the Dart SDK by @athomas in 47853
  • Temporarily disable test UnobstructedPlatformViewTests testMultiplePlatformViewsWithOverlays by @vashworth in 47883
  • Reverts "Roll Dart SDK from 33307e78db2b to 5075ac874117 (3 revisions)" by @auto-submit in 47909
  • Only run tests on macOS 12 by @vashworth in 47933
  • Reverts Dart SDK to 3.3.0-120.0.dev by @zanderso in 47959
  • Revert "[deps] Stop moving NDK folder inside Android SDK (#47454)" by @dcharkes in 47905
  • [engine] request frame rate once per frame. by @jonahwilliams in 47954
  • Add a libcxxabi module that provides support for C++ thread-local storage by @jason-simmons in 47886
  • Fix fuchsia upload symbols. by @godofredoc in 47938
  • Make fml/... compatible with .clang_tidy. by @matanlurey in 47992
  • Reverts "Make fml/... compatible with .clang_tidy." by @auto-submit in 48004
  • Make display_list/... compatible with .clang_tidy. by @matanlurey in 47993
  • Reverts "Roll Dart SDK from 6219f11bf0fb to b3d3b381fd7b (1 revision)" by @auto-submit in 48011
  • Migrate fuchsia to engine v2 builds. by @godofredoc in 48042
  • Reverts Dart to 3.3.0-135.0.dev by @zanderso in 48070
  • In the scenario game loop test, cancel the results writer task if the activity has been destroyed by @jason-simmons in 48051
  • Make lib/ui/{text|window}/... compatible with .clang_tidy. by @matanlurey in 48000
  • Reverts "Make lib/ui/{text|window}/... compatible with .clang_tidy." by @auto-submit in 48083
  • Remove the linux fuchsia v1 build. by @godofredoc in 48085
  • Make lib/ui/compositing/... compatible with .clang_tidy. by @matanlurey in 48001
  • Re-land "Make fml/... compatible with .clang_tidy by @matanlurey in 48030
  • Make fml/status_or.h compatible with .clang_tidy. by @matanlurey in 48002
  • Re-land "Make lib/ui/{text|window}/... compatible with .ci.yaml" by @matanlurey in 48097
  • Make lib/ui/painting/... compatible with .clang_tidy. by @matanlurey in 47999
  • Make flow/... compatible with .clang_tidy. by @matanlurey in 47995
  • Fix race condition in Unobstructed Platform View Scenario tests by @vashworth in 48096
  • Disable the runIfNot clauses in .ci.yaml, as they are unsafe. by @matanlurey in 48132
  • Make flow/... compatible with .clang_tidy. by @matanlurey in 48148
  • Make lib/ui/text/... compatible with .clang-tidy. by @matanlurey in 48156
  • Only run systrace test on API 29+, avoid building scenario app for 28 by @dnfield in 48163
  • Reenable UnobstructedPlatformViewTests testMultiplePlatformViewsWithOverlays by @vashworth in 48139
  • Actually make status_or.h compatible with .clang-tidy. by @matanlurey in 48151
  • Make fml/... compatible with .clang-tidy. by @matanlurey in 48150
  • Make testing/... and vulkan/... compatible with .clang-tidy. by @matanlurey in 48161
  • Make display_list/... compatible with .clang_tidy. by @matanlurey in 48147
  • Protect sdk upload script from missing ndk, add documentation for checking write access, improve comments to add context by @reidbaker in 47989
  • [Impeller] Write a text-decoration test at the dart:ui layer by @matanlurey in 48101
  • Make vulkan/... compatible with .clang_tidy. by @matanlurey in 48240
  • Silence a lint in common/settings.h in order to turn on clang_tidy. by @matanlurey in 48239
  • Fix embedder glfw examples cmake subdirectory path error by @hongeSunCoder in 48013
  • Make runtime/... and shell/common/... compatible with .clang-tidy. by @matanlurey in 48158
  • Revert Dart SDK to 3.3.0-152.0.dev by @zanderso in 48272
  • Update skia build file to account for new skcms changes. by @eyebrowsoffire in 48286
  • Finish making shell/common/... compatible with .clang-tidy. by @matanlurey in 48295
  • Finish making shell/platform/linux/... compatible with .clang-tidy. by @matanlurey in 48297
  • Revert "Manual roll Dart SDK from f1fd14505782 to df958dc1ca7b (6 revisions)" by @eyebrowsoffire in 48325
  • Delete unused/test only code from FML by @dnfield in 48327
  • Roll shaderc to google/shaderc@37e25539ce199ecaf19fb7f7d27818716d36686d by @dnfield in 48415
  • SurfaceFrame root DisplayLists will no longer prepare an RTree by @flar in 48422
  • Skip unexpected events in MultiPlatformViewBackgroundForegroundScenario by @vashworth in 48456
  • Remove use of variable length arrays by @jason-simmons in 48232
  • Fix CanonicalizeURL for file schema by @dnfield in 48466
  • Fix the application not disposing by breaking circular references on quit by @robert-ancell in 47684
  • binary_messenger missing cstdint by @jwinarske in 48481
  • Reverts "binary_messenger missing cstdint" by @auto-submit in 48483
  • [fuchsia] Update Fuchsia API level to 15 by @jrwang in 48233
  • Use Chromium mirror for archive dependency by @sealesj in 48509
  • Avoid reloading the kernel snapshot when spawning an isolate in the same group by @dnfield in 48478
  • Try rolling a new version of googletest (2021->2023). by @matanlurey in 48285
  • Renable macOS 13 tests by @vashworth in 48418
  • Only run firebase tests on HEAD by @CaseyHillers in 48548
  • Add flutter prefix to import by @jiahaog in 48617
  • Reverts "Bump actions/labeler from 4.3.0 to 5.0.0" by @auto-submit in 48676
  • Use flutter mirrors for non-Google github origin deps by @sealesj in 48642
  • Update labeler to 5.0.0, fix yaml format for labeler 5.0.0 by @drewroengoogle in 48682
  • A11y enabled state by @jrwang in 48653
  • Avoid non-const sizes in VLAs. by @chinmaygarde in 48693
  • Roll abseil to d07bb1bc8e59b37204d457ee365b52b0d11feec0 by @dnfield in 48700
  • Fix labeler not actually doing any labeling by @drewroengoogle in 48701
  • Remove fuchsia v1 builder. by @godofredoc in 48703
  • [Windows] Refactor the GLES proc table by @loic-sharma in 48688
  • Remove obsolete properties. by @godofredoc in 48753
  • Update clang revision from 00396e6a1a0b7 to b3a9e8f7c0afb00. by @chinmaygarde in 48705
  • Reverts "Update clang revision from 00396e6a1a0b7 to b3a9e8f7c0afb00." by @auto-submit in 48802
  • Revert Dart SDK back to be8a95b6717d by @jason-simmons in 48799
  • Add a note that rolling clang_version manually is dangerous. by @matanlurey in 48808
  • Reverts "Roll Clang from 00396e6a1a0b to 725656bdd885" by @auto-submit in 48832
  • Run full clang_tidy in presubmit by @zanderso in 48831
  • Roll buildroot, deleting colorama. by @matanlurey in 48854
  • [ci.yaml] Add DEPS to emulator tests runIf by @CaseyHillers in 48885
  • [Android] Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34 by @camsim99 in 48811
  • Reverts "[Android] Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34" by @auto-submit in 48895
  • Move third_party/yapf to flutter/third_party/yapf. by @matanlurey in 48847
  • Roll buildroot and delete libxml. by @matanlurey in 48906
  • [Android] Re-land "Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34" by @camsim99 in 48936
  • Add a constructor for GlyphInfo. by @LongCatIsLooong in 48971
  • Reverts "[Android] Re-land "Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34"" by @auto-submit in 48988
  • [Windows] Expose channel buffers 'resize' and 'overflow' control commands exposed by the control channel. by @bleroux in 47158
  • Remove unused metadata in DEPS from vuln scanning by @sealesj in 48995
  • Unpin mac_toolchain version by @vashworth in 48994
  • Rename font-subset to font_subset. by @matanlurey in 49051
  • Manual roll of Dart SDK from a677378ae254 to 0471164827b9 by @jason-simmons in 49054
  • Move third_party/json to flutter/third_party/json. by @matanlurey in 48844
  • Fix text missing in performance overlay (on Android) by @kjlubick in 49035
  • Use flutter mirrors for non-google origin deps instead of fuchsia by @sealesj in 48735
  • Run tests on macOS 13 exclusively by @vashworth in 49099
  • Roll SwiftShader to 2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f by @dnfield in 49112
  • Reverts "Run tests on macOS 13 exclusively" by @auto-submit in 49115
  • Statically link swiftshader into flutter_tester by @dnfield in 48708
  • Opt into unstable libcxx ABI and add a custom namespace. by @chinmaygarde in 49002
  • Double timeout on mac builds. by @godofredoc in 49205
  • Roll dart to 3.3.0-242.0.dev by @aam in 49239
  • Make sure run_tests.py runs dart tests on Skia by @flar in 49260
  • Revert "Reland 2: Multiview Pipeline (#47239)" by @dkwingsmt in 49238
  • [Docs] Add more info about running tests on iOS by @bartekpacia in 48859
  • [release] Update release config by @itsjustkevin in 49254
  • Fix testAppExtensionLaunching for Xcode 15/iOS 17 by @vashworth in 49242
  • Don't guard Windows arm64 Dart SDK download on the release candidate flag by @zanderso in 49244
  • SemanticsUpdateBuilder: make all args non-null by @bartekpacia in 49148
  • Multiview pipeline Pt. 1: Skip illegal render calls by @dkwingsmt in 49266
  • Ensure sorted rects in ui.Canvas for legacy compatibility by @flar in 49309
  • Turn on scenario app screenshots by @jmagman in 49066
  • Fix GetImpellerContext for ShellTestPlatformViewGL by @dnfield in 49337
  • Make sure to finish the suite if all tests are skipped by @dnfield in 49339
  • Reverts "Roll Dart SDK from 7e9f7eab80d3 to c5a75ac9057c (1 revision)" by @auto-submit in 49491
  • Revert skiping illegal render in Dart by @dkwingsmt in 49473
  • [fuchsia] Add libbackend_fuchsia_globals.so to common_libs by @jrwang in 49484
  • Add Flutter CI status to README by @CaseyHillers in 49330
  • [fuchsia] Remove LoggingSocketTest.UseSyslogOnFuchsia test by @mbrase in 49524
  • Use Mac M1s or x86 wherever possible. by @godofredoc in 49540
  • [Android] Re-land "Re-land 'Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34'" by @camsim99 in 49101
  • Get the correct iOS system font for each weight by @MitchellGoodwin in 48937
  • Add build dependencies for Android Embedder by @zoujunhua in 48397
  • Allow spawning additional UI isolates in flutter_tester by @dnfield in 48706
  • CP: Run tests on macOS 13 only (#49722) by @godofredoc in 49774
  • CP: Use any mac machine available for orchestrator run. (#49845) by @godofredoc in 49876
  • Rolls dart sdk to 42b177d9f by @godofredoc in 50008
  • [flutter_releases] Flutter beta 3.19.0-0.4.pre Engine Cherrypicks by @itsjustkevin in 50209

New Contributors

#
  • @CoderDake made their first contribution in 46720
  • @eriko13 made their first contribution in 46429
  • @natebosch made their first contribution in 46592
  • @khalid586 made their first contribution in 47440
  • @bartekpacia made their first contribution in 47960
  • @hongeSunCoder made their first contribution in 48013
  • @designDo made their first contribution in 47946
  • @academy3746 made their first contribution in 47424
  • @MitchellGoodwin made their first contribution in 48937
  • @zoujunhua made their first contribution in 48397

Full Changelog: https://github.com/flutter/engine/compare/3.16.0...3.19.0-0.4.pre