Skip to main content

Flutter 3.16.0 release notes

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

Flutter

#

Framework

#
  • Super tiny code optimization: No need to redundantly check whether value has changed by @fzyzcjy in 130050
  • Revert "fix a bug when android uses CupertinoPageTransitionsBuilder..." by @HansMuller in 130144
  • Tiny one space formatting fix by @fzyzcjy in 130053
  • (Raw)Autocomplete: Add optional [optionsViewOpenDirection] param by @chrisbobbe in 129802
  • Test that inspector does not hold objects. by @polina-c in 130102
  • Revert "[a11y] CupertinoSwitch On/Off labels" by @Jasguerrero in 130166
  • Upgrade framework pub dependencies, roll engine with rolled dart sdk by @aam in 130163
  • Add a threshold when comparing screen order for selectables. by @hangyujin in 130043
  • Fix default icon color constants reversed brightness documentation by @rydmike in 130231
  • Implement preferPaintInterior correctly for _CompoundBorder by @Hixie in 129851
  • fix: ExpansionTileTheme.shape assignment in ExpansionTile by @SirusCodes in 127749
  • DropdownMenu can be expanded to its parent size by @QuncCccccc in 129753
  • Upgrade leak_tracker to 7.0.6. by @polina-c in 130346
  • Links in material library docs are outdated by @ttanimichi in 129891
  • autocomplete: Remove mistaken paragraph in onSelected doc by @chrisbobbe in 130190
  • Enable not GCed leak tracking. by @polina-c in 130159
  • Update RadioListTile tests format for M2/M3 by @TahaTesser in 130391
  • Update Divider/VerticalDivider and theme tests for M2/M3 by @TahaTesser in 130415
  • Add missing links to examples that aren't linked anywhere by @gspencergoog in 130422
  • Reland [a11y] CupertinoSwitch On/Off labels by @gilnobrega in 130173
  • Refactor JSNumber.toDart and Object.toJS by @srujzs in 129436
  • Update Checkbox tests for M2/M3 by @QuncCccccc in 130351
  • Exclude Tooltip's overlay child from SelectableRegion by @LongCatIsLooong in 130181
  • Unifies text field focus management in desktops by @chunhtai in 129652
  • Mark leak in text_form_field_test.dart. by @polina-c in 130468
  • Upgrade leak_tracker. by @polina-c in 130507
  • PlatformRouteInformationProvider does not push new entry if query parā€¦ by @chunhtai in 130457
  • Change the default forThemeData.useMaterial3 to true by @HansMuller in 129724
  • [web] Migrate web-only initialization APIs by @mdebbar in 129856
  • Inspector should not hold callback from garbage collection. by @polina-c in 130436
  • Update CardTheme, DrawerTheme, NavigationBar, and NavigationRailTheme tests for M2/M3 by @QuncCccccc in 130047
  • Upgrade leak_tracker. by @polina-c in 130528
  • Mention saveLayer in the CustomPainter docs. by @Hixie in 130520
  • Tap on button behind snack bar defined by margin by @lsaudon in 127959
  • Update DialogTheme tests for M2/M3 by @TahaTesser in 130414
  • Revert "Update DialogTheme tests for M2/M3" by @zanderso in 130578
  • Test cover some leak-free code. by @polina-c in 130543
  • Roll pub packages by @flutter-pub-roller-bot in 130348
  • Remove unused imports by @goderbauer in 130603
  • Use the new rounding hack migration flag in TextPainter by @LongCatIsLooong in 130548
  • Remove duplicated dart:ui imports by @goderbauer in 130606
  • Clarify docs on WidgetsBindingObserver by @Hixie in 130621
  • Consistency in dependOnInheritedWidgetOfExactType guidance by @Hixie in 130632
  • Upgrade leak_tacker and other packages. by @polina-c in 130585
  • Clarify the whole "CustomPainters default to Size.zero" thing. by @Hixie in 130624
  • Update DropdownMenu, SnackBarTheme and Stepper tests for M2/M3 by @QuncCccccc in 130464
  • Fix DatePicker uses incorrect overlay color from DatePickerTheme and add missing tests by @TahaTesser in 130584
  • [Reland] - Update DialogTheme tests for M2/M3 by @TahaTesser in 130711
  • Stand-alone widget tree with multiple render trees to enable multi-view rendering by @goderbauer in 125003
  • Skip the iteration in Layer._fireCompositionCallbacks if the callbacks map is empty by @jason-simmons in 130438
  • Guard access to dart:developer with !kReleaseMode by @goderbauer in 130627
  • Allow OverlayPortal to be added/removed from the tree in a layout callback by @LongCatIsLooong in 130670
  • _RenderScaledInlineWidget constrains child size by @LongCatIsLooong in 130648
  • Replaces textScaleFactor with TextScaler by @LongCatIsLooong in 128522
  • Make AbstractNode-derived docs more specific on RenderObject et al. by @gnprice in 130689
  • Mark some leaks. by @polina-c in 130470
  • Move examples to ListenableBuilder by @loic-sharma in 130671
  • Prevent InputDecorator from supplying its descendants with non-normalized constraints by @LongCatIsLooong in 130460
  • Document stack's clipping behaviour better by @Hixie in 130749
  • Fix iconTheme in AppBar doesn't apply custom Colors.white in the dark mode for M3 by @TahaTesser in 130574
  • Extract common functionality of iOS platformviews into superclasses by @yaakovschectman in 128716
  • Add lint check to make sure samples are linked and have tests by @gspencergoog in 130523
  • Update app tests for M3 by @bleroux in 130792
  • Update AppBar and AppBarTheme tests for M2/M3 by @TahaTesser in 130790
  • Updated ThemeData.useMaterial3 API doc, default is true by @HansMuller in 130764
  • Roll pub packages by @flutter-pub-roller-bot in 130608
  • Roll pub packages by @flutter-pub-roller-bot in 130821
  • Update SnackBar tests for M2/M3 by @bleroux in 130717
  • Catch errors in loadStructuredData by @Hixie in 130748
  • Update app_builder_test.dart for M3 by @bleroux in 130794
  • Move TapAndDragGestureRecognizer code under gestures by @tgucio in 119508
  • Fix contradictory advice in "detach" docs; cut redundancy in "attach" by @gnprice in 130688
  • Add support for M3 motion by @guidezpl in 129942
  • Add implementation advice to debugTypicalAncestorWidgetClass by @Hixie in 130530
  • Add menu dismiss localization by @gspencergoog in 128613
  • Add docs to Route.maintainState by @Hixie in 130638
  • Document that you can't change initialRoute usefully by @Hixie in 130450
  • Can traverse if current focused node skips traversal by @chunhtai in 130812
  • Further clarify Stack documentation on overflowing by @Hixie in 130776
  • Automatically create the layer when setting hints in PaintingContext by @Hixie in 130364
  • More documentation for MediaQuery and friends by @Hixie in 130509
  • Update banner_theme_test.dart for M3 by @bleroux in 130884
  • Fix IconButton leaks its internal MaterialStatesController by @bleroux in 130720
  • Fix chip delete button tap target spilling into the label. by @TahaTesser in 130896
  • Upgrade leak_tracker. by @polina-c in 130951
  • Update about tests for M3 by @bleroux in 130970
  • Update AutoComplete test for M3 migration by @bleroux in 130883
  • Update TextSelectionTheme, ThemeData, TimePicker, and TimePickerTheme tests for M2/M3 by @QuncCccccc in 130547
  • Updated the ThemeData API example by @HansMuller in 130954
  • Trivial grammar and wrapping fix for docs by @Hixie in 130955
  • Add applyFocusChangesIfNeeded, have menus restore focus before activating by @gspencergoog in 130536
  • Add tests for navigation_drawer_theme_test.dart by @hangyujin in 130465
  • Improve handling of certain icons in RTL by @guidezpl in 130979
  • Upgrade to newer leak_tracker. by @polina-c in 131085
  • Remove obsolete work around for shadow drawing by @goderbauer in 131066
  • Setup leak tracking regression for material. by @polina-c in 130169
  • Use utf8.encode() instead of longer const Utf8Encoder.convert() by @mkustermann in 130567
  • Fix material date picker behavior when changing year by @Lexycon in 130486
  • [DropdownMenu] Close menu after editing is complete by @sabin26 in 130710
  • Optimize SliverMainAxisGroup/SliverCrossAxisGroup paint function by @thkim1011 in 129310
  • Update link to unbounded constraints error by @goderbauer in 131205
  • Fix floating SnackBar throws when FAB is on the top by @bleroux in 129274
  • Fix M3 TimePicker dial background uses incorrect color by @TahaTesser in 131045
  • Use toStringAsFixed in DecorationImage.toString by @Hixie in 131026
  • Proposal to add barrier configs for showDatePicker, showTimePicker and showAboutDialog. by @ronnnnn in 130484
  • Fix RawChip doesn't use ChipTheme.showCheckmark value by @TahaTesser in 131257
  • Revert "Proposal to add barrier configs for showDatePicker, showTimePicker and showAboutDialog." by @loic-sharma in 131278
  • šŸš€ Expose scrollControlDisabledMaxHeightRatio to the modal bottom sheet by @AlexV525 in 129688
  • Update BottomAppBar and BottomAppBarTheme tests for M3 by @bleroux in 130983
  • Add example for locking screen orientation in a letterboxing environment by @dnfield in 131266
  • Reorders menu item button shortcuts on Mac-like platforms by @Caffeinix in 129309
  • [flutter roll] Revert "Fix floating SnackBar throws when FAB is on the top" by @XilaiZhang in 131303
  • Document the Flow/Opacity/hit-test issues by @Hixie in 131239
  • ImageDecoration.lerp by @Hixie in 130533
  • Revert "ImageDecoration.lerp" by @Hixie in 131347
  • Update Unit Tests for M2/M3 by @QuncCccccc in 131292
  • Revert "Update Unit Tests for M2/M3" by @loic-sharma in 131368
  • Minor adjustments on 2D APIs by @Piinks in 131358
  • ImageDecoration.lerp (#130533) by @Hixie in 131349
  • Add 'vm:keep-name' pragmas to platform channel classes by @perks in 131271
  • IgnoreBaseline widget by @Hixie in 131220
  • Proposal to add barrier configs for showDatePicker, showTimePicker and showAboutDialog. by @ronnnnn in 131306
  • Manual roll to engine commit 9b14c382 using Dart SDK version 3.2.x by @jason-simmons in 131371
  • Preliminary PR for engine changes for Expanded/Collapsed Submenu button by @QuncCccccc in 131359
  • [framework] clean up image provider documentation. by @jonahwilliams in 131416
  • Fix TimePicker defaults for hourMinuteTextStyle and dayPeriodTextColor for Material 3 by @TahaTesser in 131253
  • Update Card.color documentation for Material 3 by @TahaTesser in 131468
  • Shared state to support multi screen inspection by @CoderDake in 129452
  • Add CheckedPopupMenuItemā€Ž.labelTextStyle and update default text style for Material 3 by @TahaTesser in 131060
  • Deprecate useMaterial3 parameter in ThemeData.copyWith() by @QuncCccccc in 131455
  • Update BottomSheet.enableDrag & BottomSheet.showDragHandle docs for animation controller by @TahaTesser in 131484
  • Reland - Fix floating SnackBar throws when FAB is on the top by @bleroux in 131475
  • Fix dartdoc for ButtonSegment constructor by @guidezpl in 131400
  • Reland - "Update Unit Tests for M2/M3" by @QuncCccccc in 131504
  • Add Expanded/Collapsed State for Semantics by @QuncCccccc in 131233
  • Update CheckboxListTile and CalendarDatePicker tests for M2/M3 by @QuncCccccc in 131363
  • Avoid concurrent modification of persistent frame callbacks by @dnfield in 131677
  • Upgrade Flutter libraries. by @polina-c in 131700
  • ImageProvider.toString uses double.toStringAsFixed by @Hixie in 131348
  • Fix Scrollable TabBar for Material 3 by @TahaTesser in 131409
  • Update ThemeData's factory method documents by @kj415j45 in 123984
  • Fix for endless recursion for getLayoutExplorerNode on a Tooltip by @CoderDake in 131486
  • Tiny remove outdated comments by @fzyzcjy in 130387
  • Added standard deviation to rasterizer results. by @gaaclarke in 131781
  • Fix flex methods for min and max column widths by @Piinks in 131724
  • Fix reentrancy with WidgetBindingObserver callbacks by @dnfield in 131774
  • [framework] lerp images in a save layer. by @jonahwilliams in 131703
  • [framework] Add Look Up to selection controls for iOS by @LouiseHsu in 131798
  • Mention that the widget tree is not disposed on exit by @Hixie in 131637
  • Replace TextField.canRequestFocus with TextField.focusNode.canRequestFocus by @justinmc in 130164
  • Update stack_frame.dart to parse unexpected error format to null. by @polina-c in 131786
  • Assert against infinite values of control points in CatmullRomSpline by @Piinks in 131820
  • Fix TimePicker token issue link by @TahaTesser in 131863
  • Upgrade packages. by @polina-c in 131927
  • Mention showTimePicker function be can be used to show dialog with the time picker in the TimePickerDialog docs by @TahaTesser in 131932
  • Predictive back support for root routes by @justinmc in 120385
  • Add TODO to refactor error handling. by @polina-c in 131878
  • Take paint offset into account for inline children hit test in Editable by @tgucio in 131675
  • Constrain _RenderScaledInlineWidget child size in computeDryLayout by @tgucio in 131765
  • Slider should check mounted before start interaction by @liumcse in 132010
  • CupertinoContextMenu improvement by @xhzq233 in 131030
  • Android context menu theming and visual update by @justinmc in 131816
  • Move mock canvas to flutter_test by @Piinks in 131631
  • [web] New HtmlElementView.fromTagName constructor by @mdebbar in 130513
  • Adds more documentations around ignoreSemantics deprecations. by @chunhtai in 131287
  • Revert "Replace TextField.canRequestFocus with TextField.focusNode.canRequestFocus" by @Jasguerrero in 132104
  • Handle breaking changes in leak_tracker. by @polina-c in 131998
  • More documentation about warm-up frames by @Hixie in 132085
  • Remove Iterator from _History by @justinmc in 132101
  • [framework] Add Search Web to selection controls for iOS by @LouiseHsu in 131898
  • Paginated Data Table : Fixed Row number at footer in last page by @aakash-pamnani in 130389
  • Fix TabBarTheme.indicatorColor not applied in Material 2 by @TahaTesser in 132123
  • Document that missed_frame_build_budget_count is misleading by @Hixie in 132137
  • More PageStorage clarity in the documentation by @Hixie in 131954
  • Add PopupMenuButton.iconColor, PopupMenuTheme.iconSize and fix button icon using unexpected color propert by @TahaTesser in 132054
  • Revert of #120385 by @Jasguerrero in 132167
  • Add textCapitalization property for SearchBar and SearchAnchor by @QuncCccccc in 131459
  • Add more info to OverlayState.insert error messages by @LongCatIsLooong in 129363
  • Use pattern matching to avoid strange type annotations by @LongCatIsLooong in 131964
  • Revert "Handle breaking changes in leak_tracker." by @zanderso in 132223
  • Reland "[web] Migrate framework to fully use package:web (#128901)" by @mdebbar in 132092
  • Add an example for TapAndPanGestureRecognizer by @Renzo-Olivares in 131873
  • Handle hasStrings on web by @justinmc in 132093
  • Deprecate describeEnum. by @bernaferrari in 125016
  • Remove shrinkWrap from flexible_space_bar_test.dart by @thkim1011 in 132173
  • Sample code for ImageProvider by @Hixie in 131952
  • Making TextPainter rounding hack disabled by default by @LongCatIsLooong in 132094
  • Fix prefer_null_aware_operators violation by @srawlins in 132242
  • Add missing ignore: deprecated_member_use to unblock the engine roller by @LongCatIsLooong in 132280
  • Keep alive support for 2D scrolling by @Piinks in 131641
  • Fix DropdownButtonFormField input border clipping by @TahaTesser in 131481
  • Fix PopupMenuItem & CheckedPopupMenuItem has redundant ListTile padding and update default horizontal padding for Material 3 by @TahaTesser in 131609
  • Analyze code snippets in flutter_test docs by @goderbauer in 132246
  • Add hasInteractedByUser getter in FormField by @dumazy in 131539
  • An example of parentData usage. by @Hixie in 131818
  • TextPainter migration cleanup by @LongCatIsLooong in 132317
  • Upgrade flutter packages. by @polina-c in 132326
  • GridView sample code by @Hixie in 131900
  • setState documentation by @Hixie in 132090
  • TextField should correctly resolve provided style for material states by @Renzo-Olivares in 132330
  • Adds SemanticsNode Finders for searching the semantics tree by @pdblasi-google in 127137
  • Analyze code snippets in integration_test docs by @goderbauer in 132314
  • Remove the fast reassemble / single widget reload feature by @Hixie in 132255
  • Add double click and double click + drag gestures to SelectionArea by @Renzo-Olivares in 124817
  • Read --dart-define in RendererBinding.initInstances() by @LongCatIsLooong in 132408
  • Revert "Fix PopupMenuItem & CheckedPopupMenuItem has redundant ListTile padding and update default horizontal padding for Material 3" by @CaseyHillers in 132457
  • Unpin leak_tracker and handle breaking changes in API. by @polina-c in 132352
  • Update menu examples for SafeArea by @TahaTesser in 132390
  • Selection area should move selection word by word on a long press drag by @Renzo-Olivares in 132518
  • Updates AutomatedTestWidgetsFlutterBinding.pump to support microsecond precision by @pdblasi-google in 132401
  • PaginatedDataTable improvements by @Hixie in 131374
  • Further clarification of the TextSelectionControls migration by @Hixie in 132539
  • Analyze code snippets in flutter_driver docs by @goderbauer in 132337
  • Make completeError be a proper JS function by @srujzs in 132492
  • [integration_test] Update outdated onScreenshot signature in README code snippet by @gmackall in 132409
  • Upgrade flutter packages. by @polina-c in 132585
  • Fixing a memory leak in About box/dialog overlays by @gspencergoog in 130842
  • Reorganize and clarify API doc generator by @gspencergoog in 132353
  • Fix extent for null returning builder in GridView by @Piinks in 132511
  • Explain the keyboard manager protocol by @dkwingsmt in 132533
  • [Reland] #131609 by @TahaTesser in 132555
  • Fix some leaks and add test to test cover remaining in a simple way. by @polina-c in 131373
  • Fix not-disposed _InputBorderGap. by @polina-c in 132694
  • fixed documentation error input decorator by @faisalansari0367 in 132124
  • Triple tap selection should not move beyond text boundary at the tapped location by @Renzo-Olivares in 132357
  • Upgrade flutter packages. by @polina-c in 132697
  • Fix bad pattern in 2D tests by @Piinks in 132709
  • Improvements to EditableText documentation by @Hixie in 132532
  • Fix lower bound of children from TwoDimensionalChildBuilderDelegate by @Piinks in 132713
  • Improve and optimize non-uniform Borders. by @bernaferrari in 124417
  • Disable test order randomization on some leak tracker tests that are failing with today's seed by @jason-simmons in 132766
  • Update Scrollable on ScrollBehaviour change. by @chinmoy12c in 131164
  • Leaks fix. by @polina-c in 132778
  • [Framework] Add Share to selection controls by @LouiseHsu in 132599
  • Allow date pickers to not have selected date by @Hixie in 132343
  • Reland root predictive back by @justinmc in 132249
  • fixes l10n for CupertinoDatePicker in monthYear mode by @AndreySuworow in 130934
  • Add a new MatrixTransition and refactor ScaleTransition and RotationTā€¦ by @gmilou in 131084
  • SelectionArea on iOS should toggle the context menu when tapping on the previous selection by @Renzo-Olivares in 132851
  • When resized network image has error, all future unrelated images using the same url will fail, even if the network becomes OK by @fzyzcjy in 127456
  • Docs on iOS's directional quote characters by @justinmc in 132869
  • Update ExpansionPanel example for the updated expansionCallback callback by @TahaTesser in 132837
  • Add deleteBackwardByDecomposingPreviousCharacter mapping for tests by @angelosilvestre in 132919
  • Fix visual overflow for SliverMainAxisGroup by @Piinks in 132989
  • Cover more tests with leak tracking. by @polina-c in 132806
  • Fix memory leak in Form by @justinmc in 132987
  • Add support for Future<List<int>?> to MatchesGoldenFile by @iinozemtsev in 132965
  • Fix FlexibleSpaceBar.title doesn't respect the leading widget by @TahaTesser in 132573
  • Update default menu text styles for Material 3 by @TahaTesser in 131930
  • Add test to mark recording as leaking. by @polina-c in 133073
  • Reference AppLifecycleListener from widgets library by @Hixie in 132995
  • Remove deprecated *TestValues from TestWindow by @goderbauer in 131098
  • Enable literal_only_boolean_expressions by @goderbauer in 133186
  • Enable ChangeNotifier clients to dispatch event of object creation in constructor. by @polina-c in 133060
  • Remove deprecated MaterialButtonWithIconMixin by @Piinks in 133173
  • Remove deprecated PlatformViewsService.synchronizeToNativeViewHierarchy by @Piinks in 133175
  • Remove ImageProvider.load, DecoderCallback and PaintingBinding.instantiateImageCodec by @LongCatIsLooong in 132679
  • Users of ChangeNotifier should dispatch event of object creation in constructor. by @polina-c in 133210
  • Add hover duration for Inkwell widget by @whiskeyPeak in 132176
  • l10n-related documentation improvements by @Hixie in 133114
  • Update the tool to know about all our new platforms by @Hixie in 132423
  • Dispose overlay entries by @tgucio in 132826
  • Fix Chip.shape's side is not used when provided in Material 3 by @TahaTesser in 132941
  • Fix PopupMenuItem with a ListTile doesn't use the correct style. by @TahaTesser in 133141
  • Update flutter packages to pick up latest vm_service by @kenzieschmoll in 133335
  • Add an example showing how to use a MatrixTransition. by @gmilou in 132874
  • Remove deprecated androidOverscrollIndicator from ScrollBehaviors by @Piinks in 133181
  • Remove deprecated onPlatformMessage from TestWindow and TestPlatformDispatcher by @Piinks in 133183
  • Adds callback onWillAcceptWithDetails in DragTarget. by @chinmoy12c in 131545
  • _SelectableFragment should dispatch creation in constructor. by @polina-c in 133351
  • PlatformRouteInformationProvider should dispatch creation in constructor. by @polina-c in 133353
  • added option to change color of heading row(flutter#132428) by @salmanulfarisi in 132728
  • Fix stuck predictive back platform channel calls by @justinmc in 133368
  • ShortcutManager should dispatch creation in constructor. by @polina-c in 133356
  • FocusNode and FocusManager should dispatch creation in constructor. by @polina-c in 133352
  • Revert "FocusNode and FocusManager should dispatch creation in constructor." by @vashworth in 133474
  • Revert "PlatformRouteInformationProvider should dispatch creation in constructor." by @vashworth in 133479
  • Fix DatePickerDialog & DateRangePickerDialog overflow when resized from landscape to portrait by @TahaTesser in 133327
  • Fix context menu button color on Android when textButtonTheme is set by @Renzo-Olivares in 133271
  • Revert "Remove ImageProvider.load, DecoderCallback and `PaintingBā€¦ by @zanderso in 133482
  • PlatformRouteInformationProvider should dispatch creation in constructor. by @polina-c in 133492
  • FocusNode and FocusManager should dispatch creation in constructor. by @polina-c in 133490
  • Fix bug in setPreferredOrientations example by @dnfield in 133503
  • Add FAB Additional Color Mappings example by @TahaTesser in 133453
  • ShortcutManager should dispatch creation in constructor. by @polina-c in 133487
  • Add doxygen doc generation. by @gspencergoog in 131356
  • [web] Migrate remaining web-only API usages to dart:ui_web by @mdebbar in 132248
  • Added DropdownMenuEntry.labelWidget by @HansMuller in 133491
  • Cover more tests with leak tracking. by @polina-c in 133596
  • Upgrade packages. by @polina-c in 133593
  • Fix one notDisposed leak and mark another. by @polina-c in 133595
  • [flutter roll] Revert "Fix Chip.shape's side is not used when provided in Material 3" by @XilaiZhang in 133615
  • Update SelectableRegion test for M3 by @bleroux in 129627
  • Update & improve TabBar.labelColor tests by @TahaTesser in 133668
  • Reland "Remove ImageProvider.load, DecoderCallback and PaintingBinding.instantiateImageCodec (#132679) (reverted in #133482) by @LongCatIsLooong in 133605
  • Expose barrierDismissible in PageRoute constructor by @bleroux in 133659
  • Fixing memory leak in EditableTextState by @Renzo-Olivares in 131377
  • Add cancelButtonStyle & confirmButtonStyle to the DatePickerThemeData by @TahaTesser in 132847
  • Updated DropdownMenu example and added a test by @HansMuller in 133592
  • Fix cancelButtonStyle & confirmButtonStyle properties from TimePickerTheme aren't working by @TahaTesser in 132843
  • Forward-fix a test that will break with an engine roll. by @matanlurey in 133619
  • _RawAutocompleteState should dispose _highlightedOptionIndex. by @polina-c in 133700
  • Mark routing test as leaking. by @polina-c in 133697
  • Mark leak in _DraggableScrollableSheetState. by @polina-c in 133693
  • [framework] use ImageFilter for stretch overscroll. by @jonahwilliams in 133613
  • [bug] InputDecorationTheme.isCollapsed doesn't work if InputDecoration.isCollapsed is not provided. by @opxdelwin in 133189
  • ScrollController creation dispatching for memory leaks tracking by @ksokolovskyi in 133759
  • Cover some test/widgets tests with leak tracking by @ksokolovskyi in 133767
  • Introduce architecture subdirectory for Windows build (#129805, #116196) by @pbo-linaro in 131843
  • Revert "Cover some test/widgets tests with leak tracking" by @vashworth in 133779
  • _ResetNotifier should communicate creation in constructor. by @polina-c in 133716
  • _FocusTraversalGroupNode should communicate creation in constructor. by @polina-c in 133717
  • Test cover more tests with leak tracking. by @polina-c in 133712
  • Fix cursorColor with an opacity is not respected by @TahaTesser in 133548
  • Revert "Fixing memory leak in EditableTextState" by @Renzo-Olivares in 133804
  • Add MacOS AppKitView class. by @yaakovschectman in 132583
  • Fix sample code crash, add test by @Piinks in 133812
  • Make Route dispatching memory events. by @polina-c in 133721
  • Fix clipBehavior ignored in Scrollable of SingleChildScrollView by @Piinks in 133696
  • Add an example for InputChip generated by user input by @andreacioni in 130645
  • Fix MaterialState.pressed is missing when pressing button with keyboard by @bleroux in 133558
  • Add more documentation for SystemChannels.keyboard getKeyboardState by @bleroux in 133663
  • Fixed PaginatedDataTable not using dataRowMinHeight and dataRowMaxHeight from Theme by @MarkOSullivan94 in 133634
  • Adds a parent scope TraversalEdgeBehavior and fixes modal route to noā€¦ by @chunhtai in 130841
  • Test cover more tests with leak tracking. by @polina-c in 133828
  • Remove deprecated TestWindow.textScaleFactorTestValue/TestWindow.clearTextScaleFactorTestValue by @Renzo-Olivares in 133176
  • Remove deprecated TestWindow.platformBrightnessTestValue/TestWindow.clearPlatformBrightnessTestValue by @Renzo-Olivares in 133178
  • Mark leak in _DayPickerState. by @polina-c in 133863
  • MaterialStatesController should dispatch creation in constructor. by @polina-c in 133826
  • RestorableProperty should dispatch creation in constructor. by @polina-c in 133883
  • Fix for new analyzer lint by @zanderso in 133923
  • Reland leak fix for EditableTextState by @Renzo-Olivares in 133806
  • SegmentedButton should not create new MaterialStatesController in every build. by @polina-c in 133949
  • CupertinoAlertDialog should not create ScrollController on every build, if null values are passed in constructor. by @polina-c in 133918
  • _SearchBarState should dispose FocusNode, if it created it. by @polina-c in 133947
  • RenderParagraph should dispose instances of SelectableFragments. by @polina-c in 133915
  • _MaterialAppState should dispose MaterialHeroController. by @polina-c in 133951
  • Cover more tests with leak tracking. by @polina-c in 133958
  • Dispose AnimationSheetRecorder to avoid leaks by @dkwingsmt in 133365
  • Revert "_SearchBarState should dispose FocusNode, if it created it." by @polina-c in 134072
  • Revert "CupertinoAlertDialog should not create ScrollController on every build, if null values are passed in constructor." by @polina-c in 134071
  • _DropdownMenuState should dispose TextEditingController. by @polina-c in 133914
  • Fix not disposed items in Cupertino app and route. by @polina-c in 134085
  • MinimumTextContrastGuideline should dispose image. by @polina-c in 133861
  • Add CheckedPopupMenuItem.onTap callback by @piedcipher in 134000
  • Fix subtitleTextStyle.color isn't applied to the ListTile.subtitle in Material 2 by @burakJs in 133422
  • Clean the fixed TODOs. by @polina-c in 133859
  • DraggableScrollableActuator should dispose notifier. by @polina-c in 133917
  • Reland "Fix Chip.shape's side is not used when provided in Material 3" by @TahaTesser in 133856
  • Fix DataTable's headingTextStyle & dataTextStyle are not merged with default text style by @TahaTesser in 134138
  • Fix TabBar doesn't use labelStyle & unselectedLabelStyle color by @TahaTesser in 133989
  • Fixed [NavigationRailDestination]'s label opacity while disabled not being coherent with the icon by @matheus-kirchesch-btor in 132345
  • SearchDelegate should dispose resources. by @polina-c in 133948
  • Cover some test/widgets tests with leak tracking by @ksokolovskyi in 133803
  • DropdownRoutePage should dispose the created ScrollController. by @polina-c in 133941
  • Fix ExpansionTile properties cannot be updated with setState by @TahaTesser in 134218
  • [integration_test] Allow capture of screenshots for FlutterFragmentActivitys by @gmackall in 132406
  • _SearchBarState should dispose FocusNode, if it created it. by @polina-c in 134076
  • CupertinoAlertDialog should not create ScrollController on every build, if null values are passed in constructor. by @polina-c in 134075
  • TestWidgetsFlutterBinding should dispose old RestorationManager on reset. by @polina-c in 133999
  • EditableTextState should dispose cursorVisibilityNotifier. by @polina-c in 133858
  • Remove non needed controllers in SegmentedButton. by @polina-c in 134064
  • _TabBarViewState should dispose created instances of PageController. by @polina-c in 134091
  • Fix Drawer examples are missing dartpad tag by @TahaTesser in 134219
  • fix a Scrollbar example crash by @xu-baolin in 127925
  • Update links to iOS embedder docs to point to new Doxygen docs by @gspencergoog in 134246
  • Make CupertinoTextField at least as tall as its first line of placeholder by @LongCatIsLooong in 134198
  • Update chip docs to clarify how to specify a shape with no border & explain default values for Material 3 by @TahaTesser in 134298
  • InputDecoration.error should activate error state by @Renzo-Olivares in 134001
  • Remove TextPainter migration flag from the framework by @LongCatIsLooong in 134274
  • RestorationManager should dispatch creation in constructor. by @polina-c in 133911
  • Fix memory leak in _DraggableScrollableSheetState by @ksokolovskyi in 134212
  • Day picker should dispose created MaterialStatesController's. by @polina-c in 133884
  • SelectableRegion onSelectionChange should be called when the selection changes by @Renzo-Olivares in 134215
  • Cover more tests with leak tracking. by @polina-c in 134363
  • Mark leak: instances of OpacityLayer, created by _RenderChip, should be disposed. by @polina-c in 134395
  • Fix memory leak in RenderAnimatedSize by @ksokolovskyi in 133653
  • Cover focus tests with leak tracking by @ksokolovskyi in 134457
  • Fix DataTable example not being scrollable by @Chinmay-KB in 131556
  • ScaleGestureRecognizer: make pointerCount public by @kseino in 127310
  • [New feature] Allowing the ListView slivers to have different extents while still having scrolling performance by @xu-baolin in 131393
  • Revert "Adds a parent scope TraversalEdgeBehavior and fixes modal rouā€¦ by @chunhtai in 134550
  • Remove deprecated TextSelectionOverlay.fadeDuration by @Piinks in 134485
  • Remove chip tooltip deprecations by @Piinks in 134486
  • Enable private field promotion for examples by @goderbauer in 134478
  • Enable private field promotion for other packages by @goderbauer in 134475
  • Fix SliverList example descriptions by @Piinks in 134483
  • Ensure OverlayPortal.overlayChild's renderObject is reachable via treewalk by @LongCatIsLooong in 134497
  • Fix TabBarView desynchronized after animation interruption by @bleroux in 132748
  • Cover more test/widgets tests with leak tracking #2 by @ksokolovskyi in 134387
  • _YearPicker should dispose ScrollController and MaterialSatesController. by @polina-c in 134393
  • Update BottomSheetTest by @hangyujin in 134562
  • removed unused variable in the example code of semantic event by @chrisdlangham in 134551
  • Cover more test/widgets tests with leak tracking #4 by @ksokolovskyi in 134663
  • Updated MaterialStatesController class api doc by @HansMuller in 134592
  • Bump gradle heap size limit in everywhere by @zanderso in 134665
  • [framework] reduce ink sparkle uniform count. by @jonahwilliams in 133897
  • Dispose routes in navigator when throwing exception by @hangyujin in 134596
  • [bug] Fix null check crash by ReorderableList by @opxdelwin in 132153
  • Update KeepAlive.debugTypicalAncestorWidgetClass by @Piinks in 133498
  • Remove Path.combine call from CupertionoTextSelectionToolbar by @LongCatIsLooong in 134369
  • _DayPicker should build days using separate stetefull widget _Day. by @polina-c in 134607
  • LinkedText (Linkify) by @justinmc in 125927
  • Fix NavigationRail hover misplaced when using large icons by @bleroux in 134719
  • šŸ› Setup color tween for RefreshIndicator in a better way by @AlexV525 in 134492
  • Cover some Services tests with leak tracing by @NobodyForNothing in 134381
  • Cover more test/widgets tests with leak tracking #3 by @ksokolovskyi in 134576
  • Allows page removal that contains Localhistoryentry by @chunhtai in 134757
  • Fix memory leak in ListWheelScrollView by @ksokolovskyi in 134732
  • Fix navigation rail hover misplaced when direction is RTL and extended is true by @bleroux in 134815
  • Date picker dialog state should dispose members. by @polina-c in 134804
  • Dispose layers in test. by @polina-c in 134802
  • Add disposal mechanism for created Layers to TestRecordingPaintingContext. by @polina-c in 134768
  • Fix memory leak in CupertinoActionSheet by @ksokolovskyi in 134885
  • Improve DropdownMenu sample code for requestFocusOnTap on mobile platforms by @huycozy in 134867
  • Fix memory leak in _DarwinViewState. by @ksokolovskyi in 134938
  • [flutter roll] Revert "LinkedText (Linkify)" by @XilaiZhang in 134955
  • Cover more test/widgets tests with leak tracking #5 by @ksokolovskyi in 134869
  • Cover more tests with leak tracking. by @polina-c in 134805
  • Cover more test/widgets tests with leak tracking #6 by @ksokolovskyi in 134884
  • Enable private field promotion for framework by @goderbauer in 134473
  • Fixes focus traversal crash if the current node can't request focus by @chunhtai in 134954
  • Resolve breaking change of adding a method to ChangeNotifier. by @polina-c in 134953
  • Reland Resolve breaking change of adding a method to ChangeNotifier. by @polina-c in 134983
  • Remove 'must be non-null' and 'must not be null' comments from non-framework libraries by @gspencergoog in 134994
  • Specify suggested format in doc comment. by @polina-c in 134887
  • [web] Encode AssetManifest.bin as JSON and use that on the web. by @ditman in 131382
  • cover more tests with leak tracking by @NobodyForNothing in 134837
  • Remove 'must not be null' comments from painting and rendering libraries. by @gspencergoog in 134993
  • Unpin url launcher (remake) by @gmackall in 134958
  • Cover more test/widgets tests with leak tracking #9 by @ksokolovskyi in 135054
  • Cover more test/widgets tests with leak tracking #8 by @ksokolovskyi in 135045
  • Remove 'must not be null' comments from various libraries. by @gspencergoog in 134984
  • Remove 'must be non-null' and 'must not be null' comments in widgets library by @gspencergoog in 134992
  • cover more tests with leak tracing by @NobodyForNothing in 134833
  • Cover more test/widgets tests with leak tracking #10 by @ksokolovskyi in 135143
  • Enable strict-inference by @goderbauer in 135043
  • Cover more test/widgets tests with leak tracking #7 by @ksokolovskyi in 134943
  • Cover cupertino/form_section_test with leak tracing by @NobodyForNothing in 135158
  • [deps] Update package:web dependency. by @ditman in 135174
  • Fix memory leak in _SelectableTextState by @ksokolovskyi in 135049
  • Fix leak in hardware_keyboard_test.dart by @NobodyForNothing in 134380
  • cover more tests with leak tracing by @NobodyForNothing in 134834
  • Mark ReastaurationManager not disposed by @NobodyForNothing in 134832
  • Rename debugProfilePlatformChannels to a constant that works in release mode by @jiahaog in 134922
  • Form fields onChange callback should be called on reset by @bleroux in 134295
  • Cover some cupertino tests with leak tracing by @NobodyForNothing in 135149
  • Handle breaking changes in leak_tracker. by @polina-c in 135185
  • Add RestorationManager disposals in test/services/restoration_test.dart. by @ksokolovskyi in 135218
  • Add a parameter to configure InputDecorator hint fade animations duration by @bleroux in 135211
  • Fix a TextSpan test by @LongCatIsLooong in 135187
  • Update alwaysNeedsCompositing in RenderParagraph by @hangyujin in 135076
  • Cover more test/widgets tests with leak tracking #11 by @ksokolovskyi in 135231
  • Fix memory leak in NestedScrollViewState. by @ksokolovskyi in 135248
  • Size CupertinoTextSelectionToolbar to children by @tgucio in 133386
  • Remove extra padding if a dropdown menu entry also has a leading icon by @QuncCccccc in 135004
  • Added option to disable [NavigationDrawerDestination]s by @matheus-kirchesch-btor in 132349
  • _RenderChip should not create OpacityLayer without disposing. by @polina-c in 134708
  • Fix memory leak in _MatchesReferenceImage by @ksokolovskyi in 135150
  • Fix _paintAvatar in chip.dart to dispose layer. by @polina-c in 135228
  • TabController should dispatch creation in constructor. by @polina-c in 133952
  • Convert relative to absolute import. by @polina-c in 135337
  • [iOS,macOS] Clean up obsolete PlatformView warning by @cbracken in 135040
  • Fix failing test at master. by @polina-c in 135394
  • Add a basic golden test for CupertinoTextSelectionToolbar by @LongCatIsLooong in 135267
  • simulatedAccessibilityTraversal account for force merging by @chunhtai in 135178
  • [Velocity Tracker] Fix: Issue 97761: Flutter Scrolling does not match iOS; inadvertent scrolling when user lifts up finger by @chipweinberger in 132291
  • Fix and Test Conditional Validator Behavior in FormField by @EdgarJan in 132714
  • Add "Frame Request Pending" lag to collected metrics by @moffatman in 135279
  • SelectionArea long press selection overlay behavior should match native by @Renzo-Olivares in 133967
  • Allow multiple ParentDataWidgets to write to ParentData by @Piinks in 133581
  • [documentation] remove repeated "For example," in RenderSliverEdgeInsetsPadding documentation by @mateusfccp in 135297
  • Fix SearchAnchor's search view isn't updated when the theme changes & widgets inside the search view do not inherit local themes by @TahaTesser in 132749
  • made top level if checks gaurd clauses by @caseycrogers in 135070
  • Support ensureVisible/showOnScreen/showInViewport for 2D Scrolling by @Piinks in 135182
  • Implement SelectionArea single click/tap gestures by @Renzo-Olivares in 132682
  • Update TextField.style documentation for Material 3 by @TahaTesser in 135556
  • Fix RangeSlider throws an exception in a ListView by @TahaTesser in 135667
  • [web] fix: do not call onSubmitted of TextField when switching browser tabs on mobile web by @tauu in 134870
  • Add API to read flavor from framework at run time by @andrewkolos in 134179
  • šŸš€ Add more fields to RefreshProgressIndicator by @AlexV525 in 135207
  • Added option to disable [NavigationDestination]s ([NavigationBar] destination widget) by @matheus-kirchesch-btor in 132361
  • Fix TabBarView.viewportFraction change is ignored by @bleroux in 135590
  • Remove assertions on getOffsetToReveal by @Piinks in 135634
  • Cherry-pick package:web update to version 0.3.0 from 0.2.1-beta by @srujzs in 137195
  • [flutter release cp] Reland "Fixes ability to call nextFocus() on a node to focus its descā€¦ by @XilaiZhang in 138014

Tooling

#
  • Add debugging for iOS startup test flakes by @vashworth in 130099
  • Fix XCode download link by @CaiqueR in 129795
  • fix: duplicated Intellij IDE message when running flutter doctor by @cychiang in 129030
  • Change resultBundlePath representation from File to Directory by @vashworth in 130156
  • Throw error on unexpected positional arguments by @thkim1011 in 130274
  • Use platform specific line separator in gen-l10n by @thkim1011 in 130090
  • [flutter_tools] remove desktop device restrictions on Impeller. by @jonahwilliams in 130430
  • Print pretty error when xcodebuild fails due to missing simulator by @vashworth in 130286
  • Revert "Print pretty error when xcodebuild fails due to missing simulator" by @vashworth in 130504
  • Reland "Print pretty error when xcodebuild fails due to missing simulator #130286" by @vashworth in 130506
  • Fix .env regex constants by @PiotrFLEURY in 130072
  • Always escape when writing pubspec.yaml's 'description' field. by @matanlurey in 130096
  • Fix StateError during hot reload when no Dart isolates found by @christopherfujino in 130537
  • Add an android migrator to upgrade minSdkVersions 16,17,18 to flutter.minSdkVersion by @gmackall in 129729
  • [web] remove unnecessary awaits from flutter.js by @p-mazhnik in 130204
  • [flutter_tools] Support coverage collection for dependencies by @p-mazhnik in 129513
  • Make ProxiedDevices a subclass of PollingDeviceDiscovery. by @chingjun in 130640
  • [tools/ios_build_ipa] fallback to CFBundleName if CFBundleDisplayName is absent by @hellohuanlin in 130752
  • [Android] Deletes deprecated splash screen meta-data element by @camsim99 in 130744
  • Relax syntax for gen-l10n by @thkim1011 in 130736
  • Make PollingDeviceDiscovery start the initial poll faster. by @chingjun in 130755
  • Migrate more integration tests to process result matcher by @christopherfujino in 130994
  • Roll pub packages by @flutter-pub-roller-bot in 131022
  • Suggest a potential valid name for the flutter project when using flutter create by @ValentinVignal in 130900
  • Reduce usage of testUsingContext by @christopherfujino in 131078
  • šŸ› Only format Dart files for gen-l10n by @AlexV525 in 131232
  • āš”ļø Add ssh://git@github.com/flutter/flutter.git as a standard remote by @AlexV525 in 131333
  • Fix template app documentation by @DavidIsa in 131125
  • Device discovery output cleanup by @Hixie in 131223
  • Use Flutter app project's NDK version from FFI plugin by @temeddix in 131141
  • [flutter_tools/dap] Improve rendering of structured errors via DAP by @DanTup in 131251
  • Upgrade compile and target sdk versions in tests and benchmarks by @gmackall in 131428
  • Fixed regex to show missing assets file error by @thisisjaymehta in 131160
  • Appended period remove & Uri parsing fix. by @SumitBikram in 131293
  • šŸ› Treat empty ARB content as empty map when decoding by @AlexV525 in 131242
  • [flutter_tools] set terminal.singleCharMode to false after attach finishes by @christopherfujino in 131723
  • Add documentation in flutter.groovy noting that we always use the latest available android version by @gmackall in 131705
  • manual pub package roll by @christopherfujino in 131804
  • Added new gallery benchmark test that forces opengles. by @gaaclarke in 131796
  • [Impeller] Add animated_blur_backdrop_filter_perf execution on samsung vulkan and opengles by @gaaclarke in 131864
  • make --dart-define override redundant values in --dart-define-from-file by @andrewkolos in 131088
  • Check for simulator runtime in flutter doctor by @vashworth in 131795
  • [web] Remove usage of ui.webOnlyInitializePlatform() by @mdebbar in 131344
  • Locate the template directory using a TemplatePathProvider. by @chingjun in 132156
  • New tooling for iOS 17 physical devices by @vashworth in 131865
  • Allows adding a storage 'realm' to the storage base URL by @zanderso in 131951
  • Pin leak_tracker. by @polina-c in 132261
  • Add --local-engine-host, which if specified, is used instead of being inferred by @matanlurey in 132180
  • Fix flutter attach local engine by @christopherfujino in 131825
  • Fix: use --web-launch-url and --web-hostname arguments in flutter drive by @deldering-momo in 131763
  • Update flutter_tools/bin/*.(dart|sh) to provide, if set, --local-engine-host. by @matanlurey in 132336
  • Send test message channel from the test frame by @natebosch in 131881
  • Update DWDS to 20.0.1 in flutter_tools by @elliette in 132350
  • Fix log filtering and CI tests for iOS 17 physical devices by @vashworth in 132491
  • Update dev/bots/test.dart (and friends) to provide --local-engine-host. by @matanlurey in 132354
  • [flutter_tools] hide Skia specific rendering options. by @jonahwilliams in 132509
  • Update flutter_tools internals related to Gradle/XCode to set --local-engine-host. by @matanlurey in 132346
  • Fix flutter_tools use of --local-engine-host by @whesse in 132648
  • Add support for LOCAL_ENGINE_HOST to Linux/Mac/Win builds. by @matanlurey in 132579
  • Treat missing --local-engine-host as fatal on CI-like systems. by @matanlurey in 132707
  • [Windows] Allow overwriting the cache's Dart SDK archive license file by @loic-sharma in 132669
  • Revert "[Windows] Allow overwriting the cache's Dart SDK archive license file" by @yaakovschectman in 132773
  • [Windows] Allow overwriting the cache's Dart SDK archive license fileā€¦ by @loic-sharma in 132777
  • Fix the name of the local-engine-host flag in the warning message by @jason-simmons in 132808
  • Fix description in index.html / manifest.json getting double quoted by @navaronbracke in 131842
  • [flutter_tools] Generate localizations on flutter pub get by @thkim1011 in 132172
  • Fix Xcode 15 build failure due to DT_TOOLCHAIN_DIR by @vashworth in 132803
  • doc: add flag params by @0o001 in 132485
  • Updates app link gradle tasks and remove vm services by @chunhtai in 131805
  • Space character should be optional when tree shaking fonts by @eyebrowsoffire in 132880
  • Always require --local-engine-host if --local-engine by @matanlurey in 133003
  • Support disabling animations in the CLI by @Hixie in 132239
  • Add --experimental-wasm-type-reflection and support newer emscripten builds. by @eyebrowsoffire in 133084
  • [flutter_tools] Fix legacy version file not being ensured by @christopherfujino in 133097
  • Add android analyzer commands for applinks by @chunhtai in 131009
  • Fix mac tool_integration_tests with Xcode 15 by @christopherfujino in 133217
  • handle exceptions raised while searching for configured android studio by @andrewkolos in 133180
  • Allow passing verbose log from flutter daemon. by @chingjun in 132828
  • Use a fake stopwatch to remove flakiness. by @Hixie in 133229
  • No longer include .packages in created .gitignore files by @parlough in 133484
  • Bump gradle heap size limits in templates by @zanderso in 133671
  • [flutter_tools] print out the unzipping method used by update_dart_sdk.ps1 by @christopherfujino in 133364
  • Improve doctor output on incomplete Visual Studio installation by @loic-sharma in 133390
  • Removes ios universal link vmservices and let xcodeproject to dump jsā€¦ by @chunhtai in 133709
  • [flutter_tools] Fix flutter upgrade not finding git tags by @christopherfujino in 133778
  • fix install checks in flavors devicelab tests by @andrewkolos in 133719
  • [flutter_tools] Fix TypeError when a FileSystemException happens during flutter doctor by @christopherfujino in 133373
  • Retry connecting to device in CI after lost connection by @vashworth in 133769
  • [flutter_tools] Fix "FormatException: Invalid date format" during version freshness check by @christopherfujino in 134088
  • Add ios analyzer command for universal links by @chunhtai in 134155
  • Native assets support for MacOS and iOS by @dcharkes in 130494
  • [flutter_tools] disallow -O0 for flutter build web by @christopherfujino in 134185
  • Enable private field promotion for flutter_tools by @goderbauer in 134474
  • Clean up analytics opt in/out flags by @eliasyishak in 132588
  • Set the CONFIGURATION_BUILD_DIR in generated xcconfig when debugging core device by @vashworth in 134493
  • [flutter_tools] Run ShutdownHooks when handling signals by @christopherfujino in 134590
  • Update plugin_ffi generated file to match FFIgen 9.0.0 by @dcharkes in 134614
  • [web] provide serviceWorkerVersion to the getNewServiceWorker function by @p-mazhnik in 131240
  • Speed up native assets target by @dcharkes in 134523
  • Makes scheme and target optional parameter when getting universal linā€¦ by @chunhtai in 134571
  • Native assets support for Linux by @dcharkes in 134031
  • Don't uninstall before retrying to connect during app launch by @vashworth in 134542
  • [flutter roll] Revert "Native assets support for Linux" by @XilaiZhang in 135069
  • [Android] Add Java/AGP/Gradle incompatibility warning to flutter create by @camsim99 in 131444
  • codeisn extension safe iOS framework by @cyanglaz in 134966
  • finer grained logging of Chromium launch sequence by @yjbanov in 135078
  • Add --frontend-server-starter-path option to flutter run and flutter test by @derekxu16 in 135038
  • Send analytics on 'build ios' and 'build ipa' for plist impeller value by @zanderso in 135193
  • remove field override, assign to super field instead by @jakemac53 in 135165
  • Reland "Native assets support for Linux" by @dcharkes in 135097
  • Refactor "app plugin loader" Gradle Plugin so it can be applied using the declarative plugins {} block by @bartekpacia in 127897
  • Roll pub packages by @flutter-pub-roller-bot in 135315
  • [macOS,iOS] Improve CocoaPods upgrade instructions by @cbracken in 135453
  • Wait for CONFIGURATION_BUILD_DIR to update when debugging with Xcode by @vashworth in 135444
  • Switch flutter_tools to run frontend server from AOT snapshot by @derekxu16 in 135255
  • [flutter_tools] fix tests with no native assets running native asset build by @christopherfujino in 135474
  • Revert "Switch flutter_tools to run frontend server from AOT snapshot" by @CaseyHillers in 135537
  • āœØ flutter config --list by @AlexV525 in 135401
  • Native assets support for Windows by @dcharkes in 134203
  • Roll pub packages by @flutter-pub-roller-bot in 135455
  • [tool] fallback to sigkill when closing Chromium by @yjbanov in 135521
  • Pin leak_tracker before publishing breaking change. by @polina-c in 135720
  • [flutter_tools] remove VmService screenshot for native devices. by @jonahwilliams in 135462
  • [flutter_tools] handle ERROR_INVALID_FUNCTION when trying to symlink across drives by @christopherfujino in 136681
  • [CP][Android] Update Java/AGP/Gradle warning compatible Java range by @camsim99 in 136766

New Contributors

#
  • @CaiqueR made their first contribution in 129795
  • @cychiang made their first contribution in 129030
  • @ttanimichi made their first contribution in 129891
  • @Lexycon made their first contribution in 130486
  • @sabin26 made their first contribution in 130710
  • @Caffeinix made their first contribution in 129309
  • @perks made their first contribution in 131271
  • @DavidIsa made their first contribution in 131125
  • @temeddix made their first contribution in 131141
  • @thisisjaymehta made their first contribution in 131160
  • @SumitBikram made their first contribution in 131293
  • @kj415j45 made their first contribution in 123984
  • @MahmoudZayad made their first contribution in 126959
  • @xhzq233 made their first contribution in 131030
  • @dumazy made their first contribution in 131539
  • @deldering-momo made their first contribution in 131763
  • @faisalansari0367 made their first contribution in 132124
  • @AndreySuworow made their first contribution in 130934
  • @gmilou made their first contribution in 131084
  • @0o001 made their first contribution in 132485
  • @angelosilvestre made their first contribution in 132919
  • @salmanulfarisi made their first contribution in 132728
  • @opxdelwin made their first contribution in 133189
  • @pbo-linaro made their first contribution in 131843
  • @andreacioni made their first contribution in 130645
  • @MarkOSullivan94 made their first contribution in 133634
  • @burakJs made their first contribution in 133422
  • @chrisdlangham made their first contribution in 134551
  • @K9i-0 made their first contribution in 134339
  • @chipweinberger made their first contribution in 132291
  • @EdgarJan made their first contribution in 132714

Full Changelog: https://github.com/flutter/flutter/compare/3.13.0...3.16.0-0.5.pre

Engine

#

Android

#
  • Eagerly remove the PlatformView from the view hierarchy on Android by @johnmccutchan in 43423
  • Make updating window metrics multi-view by @dkwingsmt in 43366
  • remove include of SkPicture files from non-Fuchsia sources by @flar in 43542
  • move rtree and canvas_spy sources to Fuchsia sub-directory by @flar in 43615
  • Optimizing performance by avoiding multiple GC operations caused by multiple surface destruction notifications by @0xZOne in 43587
  • Add a PlatformViewRenderTarget abstraction by @johnmccutchan in 43813
  • Refactor: fix typo "setup" -> "set up" by @cyanglaz in 43824
  • Fix missing dispose VirtualDisplayController by @XuanTung95 in 43807
  • Add Expanded/Collapsed state for SubmenuButton by @QuncCccccc in 43983
  • [Android] Removes handling of Flutter splash screen by @camsim99 in 44047
  • [Impeller] Create a wrapper Impeller context for each Vulkan surface and its swapchain by @jason-simmons in 44171
  • [Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture. by @johnmccutchan in 44087
  • Revert "[Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture." by @zanderso in 44262
  • Reland Introduce TextureRegistry.ImageTexture and HardwareBufferExternalTextureGL by @johnmccutchan in 44278
  • Be sure to clear exceptions after a failed JNI lookup by @johnmccutchan in 44293
  • Check whether the lookup of android.hardware.HardwareBuffer found a class by @jason-simmons in 44304
  • Revert Android Hardware Texture PRs by @eyebrowsoffire in 44310
  • Re-Re-Land Support for rendering Android Platform Views into a HardwareBuffer backed texture by @johnmccutchan in 44326
  • Add @Keep annotations to avoid dead code elimination of classes only referenced by JNI by @johnmccutchan in 44337
  • Migrate GL calls of GrBackend* by @kjlubick in 44334
  • Remove WARNINGs from JNI load path as we can't suppress them by @johnmccutchan in 44348
  • [Impeller] DlCanvas implementation wrapping Aiks canvas by @dnfield in 44248
  • Do not log exceptions from JNI lookups of APIs that are known to be unavailable on older devices by @jason-simmons in 44357
  • Revert "[Impeller] DlCanvas implementation wrapping Aiks canvas" by @jason-simmons in 44466
  • Use the Clang unreachable code warning flag in the engine tree by @jason-simmons in 44458
  • Android a11y bridge sets importantness by @chunhtai in 44452
  • Revert "Android a11y bridge sets importantness" by @zanderso in 44569
  • [Impeller] Support for Android Platform Views under Impeller/Vulkan by @johnmccutchan in 44571
  • Reland "Android a11y bridge sets importantness" by @chunhtai in 44589
  • Fix unexpected pointer change issue and Add test case by @LoveJello in 43949
  • Add support for HardwareBuffer backed Android Platform Views under Impeller/GLES by @johnmccutchan in 44617
  • Rename impeller::TextureIntent to impeller::TextureCoordinateSystem by @johnmccutchan in 44628
  • Namespace imports with flutter by @jiahaog in 44709
  • Add support for SurfaceTexture based external textures on Android under Impeller/GLES. by @johnmccutchan in 44734
  • Fix clang_tidy lints by @johnmccutchan in 44740
  • Enabling the host application to control the timing of attaching the |FlutterView| to the engine by @0xZOne in 43595
  • Conditionally enable HardwareBuffer backed platform views by @johnmccutchan in 44744
  • Switch some ERROR logs to WARNING logs by @johnmccutchan in 44784
  • Revert "Conditionally enable HardwareBuffer backed platform views (#44744)" by @jason-simmons in 44785
  • Basic view management for engine classes by @dkwingsmt in 42991
  • Reenable HardwareBuffer backed Android Platform Views on SDK >= 29 by @johnmccutchan in 44790
  • Fix FlutterInjectorTest assumptions about how the executor service assigns tasks to threads by @jason-simmons in 44775
  • [Android] Expose channel buffer resize and overflow calls by @bleroux in 44434
  • Implementing TextScaler for nonlinear text scaling by @LongCatIsLooong in 42062
  • Revert "Implementing TextScaler for nonlinear text scaling" by @jonahwilliams in 44882
  • Reland "Implementing TextScaler for nonlinear text scaling (#42062)" by @LongCatIsLooong in 44907
  • i82973 scroll mouse wheel support by @reidbaker in 44724
  • Restore old SurfaceTextureExternal drawing code by @johnmccutchan in 44979
  • Eliminate android test log spam by @reidbaker in 44982
  • Followup to 44982 by @reidbaker in https://github.com/flutter/engine/pull/45018
  • Add case checking to android sdk cipd upload script by @gmackall in 45063
  • [Impeller] Do not build scene unless 3d define is true by @dnfield in 45028
  • [Impeller] DlAiksCanvas as a DlCanvas wrapper for impeller::Canvas by @dnfield in 45131
  • Revert "[Impeller] DlAiksCanvas as a DlCanvas wrapper for impeller::Canvas" by @jonahwilliams in 45149
  • [Impeller] Sync presentation when rendering into FlutterImageView. by @jonahwilliams in 44881
  • [Impeller] Reland DlAiksCanvas by @dnfield in 45232
  • Revert dl split by @zanderso in 45326
  • [Impeller] turned on validations for all debug builds by @gaaclarke in 45350
  • Remove deprecated MOCK_METHODx calls by @dkwingsmt in 45307
  • Adds a comment on clang_arm64_apilevel26 toolchain usage by @zanderso in 45467
  • Add trace-to-file switch by @derekxu16 in 45553
  • [Impeller] moved validation layers on by default logic to gni scripts by @gaaclarke in 45682
  • Tighten up ImageReaderPlatformViewRenderTarget code by @johnmccutchan in 45889
  • Disable HardwareBuffer backed Platform Views temporarily by @johnmccutchan in 45986
  • [Android] Add support for setting thread affinity based on core speed. by @jonahwilliams in 45673
  • [Impeller] Affinity adjustments for Vulkan backend. by @jonahwilliams in 46063
  • Re-enable HardwareBuffer backed Platform Views on Android >= 29 by @johnmccutchan in 46071
  • [Android] Fix enableSuggestions set to false not honored by @bleroux in 46037
  • [Android] Rename allowChannelBufferOverflow to `setWarnsOnChannelOvā€¦ by @bleroux in 46361
  • Fix damage calculation when not providing populate_existing_damage for gl embedder by @ajihyf in 45611
  • Cherrypick disable hardware buffer platform views for 3.16 by @johnmccutchan in 46968

iOS

#
  • [iOS] Fix FlutterViewController retain cycle by @LinXunFeng in 43379
  • Revert "[iOS][Keyboard] Wait vsync on UI thread and update viewport inset to avoid jitter." by @cyanglaz in 43422
  • Add Look Up to iOS selection controls by @LouiseHsu in 43308
  • [iOS][Keyboard] Reland wait vsync on UI thread and update viewport inset to avoid jitter by @luckysmg in 43463
  • Add logs to debug VM Service Publication by @vashworth in 43616
  • More fixes for the new clang-tidy roll on iOS targets by @jason-simmons in 43688
  • Minor fixes for C++20 compatibility by @jiahaog in 43674
  • Replace deprecated [UIScreen mainScreen] in FlutterViewController.mm and FlutterViewControllerTest.mm by @mossmana in 43690
  • Uncap framerate for iOSAppOnMac by @moffatman in 43840
  • [iOS] TextInputPlugin should batch TextEditingDeltas and dispatch on the next runLoop by @Renzo-Olivares in 43267
  • [iOS] Add darwin_extension_safe flag and use UIScene api when building for extensions by @cyanglaz in 43449
  • [iOS][A11Y] fix hittest with non-SemanticsObject by @cyanglaz in 44014
  • [ios][autocorrection]disable auto-correction highlight in iOS 17 by @hellohuanlin in 44176
  • Add Search Web to selection controls on iOS by @LouiseHsu in 43324
  • [iOS] Fix use-after-free in setBinaryMessenger by @cbracken in 44294
  • [ios]make the screenIfViewLoaded and windowSceneIfLoaded helpers reusable by @hellohuanlin in 44303
  • [darwin] Move common targets to common/BUILD.gn by @cbracken in 44335
  • Build iOS unittest target in unopt builds by @cyanglaz in 44301
  • Revert "Build iOS unittest target in unopt builds" by @cyanglaz in 44356
  • Flutter iOS Interactive Keyboard: Take Screenshot and Handle Pointer Movement by @Matt2D in 43972
  • [Darwin] Enable ARC in darwin/common unit tests by @cbracken in 44396
  • [Darwin] Move FlutterBinaryMessengerRelay to common by @cbracken in 44395
  • [macOS] Fix engine/binaryMessenger retain cycle by @cbracken in 44471
  • Flutter iOS Interactive Keyboard: Handle Pointer Up by @Matt2D in 44457
  • Flutter iOS Interactive Keyboard: Fixing Animation Issue by @Matt2D in 44514
  • Flutter iOS Interactive Keyboard: Fixing Behavior Issue by @Matt2D in 44586
  • Allow macOS plugins to register as app delegates by @stuartmorgan in 44587
  • Fix search web test by @LouiseHsu in 44704
  • [Impeller] Update docstring on layer.presentsWithTransaction by @dnfield in 44782
  • [ios][ios17]fix auto correction highlight on top left corner by @hellohuanlin in 44779
  • Add share to selection controls by @LouiseHsu in 44554
  • Roll clang with fix for ABI change by @zanderso in 44711
  • Fix a clang-tidy error seen in the latest toolchain roll by @jason-simmons in 45039
  • Ignore unguarded-availability for unit test by @cyanglaz in 44852
  • ios: remove shared_application and support app extension build by @cyanglaz in 44732
  • [iOS] Don't call App lifecycle resumed when device is locked by @zhongwuzw in 44947
  • [Impeller] its not safe to presentWithTransaction from a background thread. by @jonahwilliams in 45182
  • [flutter roll] Revert "ios: remove shared_application and support app extension build" by @XilaiZhang in 45250
  • [macOS] Link __availability_version_check by @cbracken in 45333
  • Reland "Build iOS unittest target in unopt builds" (#44356)" by @cyanglaz in 44821
  • Revert "Reland "Build iOS unittest target in unopt builds" (#44356)"" by @zanderso in 45346
  • Reland "ios: remove shared_application and support app extension build #44732" by @cyanglaz in 45351
  • [ios][ios17][text_input]fix text input system highlight in iOS 17 Beta 7 with firstRectForRange by @hellohuanlin in 45303
  • Fix iOS unittests leak in shared.invoke method channel that causes crash by @cyanglaz in 45416
  • Reverts part of "fix auto-correction highlight on top left corner (Again)" by @hellohuanlin in 45523
  • [ios] Fix testDeallocated failing locally. by @cyanglaz in 45663
  • Reland "Build iOS unittest target in unopt builds" (#44356)"" (#45346)" by @cyanglaz in 45519
  • [iOS] Remove selectionDidChange call in UndoManager by @LongCatIsLooong in 45657
  • [macOS,iOS] Expose channel buffers 'resize' and 'overflow' control coā€¦ by @bleroux in 44848
  • Made the warning about downgrading wide gamut happen at the correct time by @gaaclarke in 46064
  • [Impeller] adds hardware gate for wide gamut by @gaaclarke in 46051
  • Make a variety of low-impact Clang tidy fixes. by @matanlurey in 46114
  • [ios] fix asset url not found when loading app extension by @cyanglaz in 46073
  • [Impeller] fail if software backend is chosen and Impeller is enabled on iOS by @dnfield in 46124
  • [iOS] Disable spelling corrections when auto correction is disabled by @bleroux in 46144
  • Revert "[Impeller] fail if software backend is chosen and Impeller is enabled on iOS" by @CaseyHillers in 46217
  • [ios] Fix default assets url by @cyanglaz in 46214
  • [ios] Fix app extension not able to find assets from unloaded bundle by @cyanglaz in 46283
  • Reverts "[ios] Fix app extension not able to find assets from unloaded bundle" by @auto-submit in 46328
  • Reland "[ios] Fix app extension not able to find assets fromā€¦ by @cyanglaz in 46329
  • [cp][ios] Link PlatformView back to semantics tree (#46471) by @cyanglaz in 46715

Web

#
  • Add a flag to ParagraphBuilder for rounding hack migration by @LongCatIsLooong in 43118
  • Reland "Refactor JSNumber.toDart and Object.toJS" by @srujzs in 43363
  • Apply the transform of an image filter layer to paint bounds in the CanvasKit backend by @jason-simmons in 43353
  • [web] TextField a11y focus should call didGain/didLose a11y focus action by @chunhtai in 43279
  • Revert "Add a flag to ParagraphBuilder for rounding hack migration" by @LongCatIsLooong in 43642
  • Reland #43118 "Add a flag to ParagraphBuilder for rounding hack migration" by @LongCatIsLooong in 43647
  • Remove unimplemented API call saveCompilationTrace by @Hixie in 43656
  • Use utf8.encode() instead of longer const Utf8Encoder.convert() by @mkustermann in 43675
  • [web] always add secondary role managers by @yjbanov in 43663
  • [web] sync => isSync , scuba => golden by @mdebbar in 43699
  • [web] Preserve correct CanvasKit Variant during test initialization by @mdebbar in 43854
  • Add url to get GoogleFonts API key by @mdebbar in 43857
  • Remove more calls to SkCanvas::flush() and SkSurface::flush() by @kjlubick in 43902
  • Revert "Remove more calls to SkCanvas::flush() and SkSurface::flush()" by @zanderso in 43957
  • add ColorFilter.toString to web_ui by @Hixie in 43874
  • Reland "Remove more calls to SkCanvas::flush() and SkSurface::flush()" by @kjlubick in 43965
  • Prepare flutter engine for enabling private final field promotion. by @stereotype441 in 43959
  • Roll fallback fonts. by @eyebrowsoffire in 44000
  • [web] Preserve canvaskit variant during tests. by @ditman in 43868
  • [web] Provide convenient default factories for platform views by @mdebbar in 43828
  • Roll Chrome to 115 by @eyebrowsoffire in 44076
  • Remove extends JSTypedArray from JSUint8Array1 by @srujzs in 44175
  • [web:a11y] add platform view role by @yjbanov in 44188
  • [canvaskit] Enable CanvasKit to compute tight SkPicture bounds by @harryterkelsen in 43361
  • [web] fix clicks on merged semantic nodes by @yjbanov in 43620
  • Reland "[web] Update text editing test skips" by @harryterkelsen in 37655
  • [web] remove leftover comments from semantics tester by @yjbanov in 44350
  • [web] Silence pub get when it's successful by @mdebbar in 44445
  • [web] Expose the benchmark callback through dart:ui_web by @mdebbar in 44461
  • Disable HTML renderer paragraph input width flooring by @LongCatIsLooong in 44478
  • [web] Fix rendering of gradients in html mode by @xtyxtyx in 40345
  • Make toJS'd function use JS types by @srujzs in 44469
  • Disable text rounding hack by default by @LongCatIsLooong in 44544
  • allow ParagraphBuilder.shouldDisableRoundingHack to actually be set to false in tests by @LongCatIsLooong in 44647
  • hasStrings for web by @justinmc in 43360
  • Migrate more GL calls of GrBackend* by @kjlubick in 44682
  • Update CompositionAwareMixin to correctly compute composingBase in Web engine by @Amir-P in 44139
  • Update web_ui/** to explicitly pass --local-engine-host to the flutter tool. by @matanlurey in 44613
  • Reset editing delta state when replacing editing state by @knopp in 44595
  • Add more tests for CompositionAwareMixin by @Amir-P in 44717
  • [web] Move remaining web-only APIs to dart:ui_web by @mdebbar in 44516
  • Make web tests start with an empty title by @Hixie in 43846
  • FontVariation.lerp, custom FontVariation constructors, and more documentation by @Hixie in 43750
  • Revert "FontVariation.lerp, custom FontVariation constructors, and more documentation" by @zanderso in 44993
  • FontVariation.lerp, custom FontVariation constructors, and more documentation by @Hixie in 44996
  • [web] Remove some unused functions by @mdebbar in 44505
  • Revert "FontVariation.lerp, custom FontVariation constructors, and more documentation" by @zanderso in 45023
  • FontVariation.lerp, custom FontVariation constructors, and more documentation by @Hixie in 45030
  • Skwasm platform views by @eyebrowsoffire in 43011
  • [skwasm] encode PNGs using browser APIs by @eyebrowsoffire in 45187
  • Fix scene view canvas/platform view placement. by @eyebrowsoffire in 45199
  • [web] Make devicePixelRatio ready for multi-view by @mdebbar in 44783
  • Add callback to Embedder API to respond to new channel listeners, and use for Windows lifecycle by @yaakovschectman in 44827
  • Add an API in ui_web to create a ui.Image from an ImageBitmap by @eyebrowsoffire in 45256
  • [web] Roll to most recent fallback font data by @eyebrowsoffire in 45301
  • [web] More efficient fallback font selection by @rakudrama in 44526
  • Update deps on DDC build targets by @nshahan in 45404
  • [Web] Fix insertions/deletions at inverted selection for TextEditingDeltas by @Renzo-Olivares in 44693
  • Remove usage of the Jazzy document formatter for Objective C, in favor of Doxygen. by @gspencergoog in 45561
  • Remove some of our hacks around JSPromise now that we have better APIs. by @eyebrowsoffire in 45591
  • Update skwasm build to use safer flush call by @kjlubick in 45652
  • Revert "Remove some of our hacks around JSPromise now that we have better APIs." by @eyebrowsoffire in 45660
  • [Web] Properly report inverted selection by @knopp in 44806
  • Fix JS interop signatures to use only JS types. by @eyebrowsoffire in 45668
  • Use a single OffscreenCanvas for rendering in CanvasKit by @harryterkelsen in 42672
  • Revert "Use a single OffscreenCanvas for rendering in CanvasKit" by @harryterkelsen in 45744
  • [web] Use DOM to render paragraphs with letter spacing by @mdebbar in 45651
  • Compile a platform dill for dart2wasm by @eyebrowsoffire in 45797
  • Update webdriver imports. by @godofredoc in 45816
  • Declare the js context as nullable in skwasm surface callback by @eyebrowsoffire in 45810
  • Enable private field promotion by @goderbauer in 45722
  • Migrate GrMipmapped->skgpu::Mipmapped by @kjlubick in 45881
  • [web] De-singletonize MouseCursor for multi-view by @mdebbar in 45295
  • [web] ScreenOrientation singleton by @mdebbar in 45304
  • Add missing include of SkPath by @kjlubick in 45996
  • [web] DOM objects implement JS object by @mdebbar in 46047
  • Update CI to Chrome 117 by @eyebrowsoffire in 45842
  • Implement JSObject instead of extending by @srujzs in 46070
  • Enable strict-inference by @goderbauer in 46062
  • Properly transfer objects between the main thread and web worker. by @eyebrowsoffire in 46061
  • [web] Make PlatformViewManager a clear singleton by @mdebbar in 46044
  • [web] Move context menu handling to its own class by @mdebbar in 46042
  • Revert "[web] fix clicks on merged semantic nodes (#43620)" by @yjbanov in 46067
  • Add description to assert in history.dart by @kenzieschmoll in 46072
  • [canvaskit] Use DirectionalLight_Shadow flag for drawing shadows by @harryterkelsen in 46292
  • Update to use GrDirectContexts::MakeGL by @kjlubick in 46308
  • [canvaskit] Do not double-apply ImageFilter transform to children by @harryterkelsen in 46336

Desktop

#
  • [Windows] Fix FlutterWindow::GetNativeViewAccessible crash by @loic-sharma in 43368
  • Use Windows Display Language by @yaakovschectman in 43341
  • [macOS] Fix assertion typo by @loic-sharma in 43179
  • Remove dead code for recreating a11y node delegates by @dkwingsmt in 43359
  • Rename default views to implicit views by @dkwingsmt in 43364
  • [Impeller] Add support to embedder for Impeller on GL (via Angle on Windows). by @jonahwilliams in 43388
  • Fix a clang-tidy warning about a potentially nil value in the editingState dictionary by @jason-simmons in 43660
  • [Windows] Remove accessibility bridge helpers from the engine by @loic-sharma in 43710
  • Check FlutterAppDelegate selector support before calling by @gspencergoog in 43425
  • [macOS] Return keyboard pressed state by @bleroux in 42878
  • Listen to window notifications to update application lifecycle by @yaakovschectman in 43558
  • Revert "Listen to window notifications to update application lifecycle" by @loic-sharma in 44275
  • [macOS] Improve engine retain cycle testing by @cbracken in 44509
  • [Windows] Return keyboard pressed state by @bleroux in 43998
  • Reintroduce Windows lifecycle with guard for posthumous OnWindowStateEvent by @yaakovschectman in 44344
  • Add application:openURLs: forwarding on macOS by @stuartmorgan in 44689
  • [Windows] Delay enabling app lifecycle states until requested by @yaakovschectman in 44238
  • [macOS] Implement unobstructed platform views by @knopp in 42960
  • [Windows] Update vsync on raster thread by @loic-sharma in 45310
  • Add macOS support for plugin value publishing by @stuartmorgan in 45502
  • Merge Window into FlutterWindow by @yaakovschectman in 45542
  • Use start instead of extent for Windows IME cursor position by @yaakovschectman in 45667
  • Handle external window's WM_CLOSE in lifecycle manager by @yaakovschectman in 45840
  • Revert "[Windows] Update vsync on raster thread (#45310)" by @cbracken in 46000
  • Rename layoutGoals to kLayoutGoals to enforce lints on headers. by @matanlurey in 46054
  • Add TODO(name) to comply with Clang Tidy. by @matanlurey in 46057
  • FlutterMouse.* -> kFlutterMouse.*, so we can lint header files. by @matanlurey in 46056
  • [macOS] Synchronise modifiers from mouse events for RawKeyboard by @knopp in 46230
  • [Windows] Improve logic to update swap intervals by @loic-sharma in 46172
  • [macOS] performKeyEquivalent cleanup by @knopp in 45946
  • Revert "[macOS] performKeyEquivalent cleanup (#45946)" by @cbracken in 46374
  • [macOS] FlutterTextInputPlugin should clip to bounds by @knopp in 46142
  • [macOS] TextInputPlugin should mark navigation events in IME popover as handled by @knopp in 46141
  • Reland: [macOS] performKeyEquivalent cleanup by @knopp in 46377

New Contributors

#
  • @dballard made their first contribution in 42555
  • @gmittert made their first contribution in 43567
  • @XuanTung95 made their first contribution in 43807
  • @QuncCccccc made their first contribution in 43983
  • @Matt2D made their first contribution in 43972
  • @xtyxtyx made their first contribution in 40345
  • @LoveJello made their first contribution in 43949
  • @Amir-P made their first contribution in 44139
  • @yatendra2001 made their first contribution in 44880
  • @HosseinYousefi made their first contribution in 45180
  • @rakudrama made their first contribution in 44526
  • @kenzieschmoll made their first contribution in 46072
  • @ajihyf made their first contribution in 45611

Full Changelog: https://github.com/flutter/engine/compare/3.13.0...3.16.0-0.5.pre