Skip to main content

Flutter 3.27.0 release notes

This page has release notes for 3.27.0. For information about subsequent bug-fix releases, check out the Flutter CHANGELOG.

Flutter framework

#

Framework

#
  • Add example of goldenFileComparator usage in widget tests by @alestiago in 150422
  • content dimensions are not established get controller value error by @hello-coder-xu in 148938
  • Fix link in tree hygene doc by @derdilla in 151235
  • Fix references in examples by @goderbauer in 151204
  • Feat: Add withOpacity to gradient by @rkishan516 in 150670
  • SliverFloatingHeader by @HansMuller in 151145
  • Update deprecation policy by @Piinks in 151257
  • PinnedHeaderSliver example based on the iOS Settings AppBar by @HansMuller in 151205
  • Add a message about spam/brigading by @nate-thegrate in 150583
  • Prepares semantics_update_test for upcoming link URL change by @harryterkelsen in 151261
  • Cupertino transparent navigation bars by @veloce in 149102
  • Add tests for color_filtered.0.dart example. by @ksokolovskyi in 151064
  • Add tests for action_listener.0.dart by @ValentinVignal in 150606
  • Update doc-import to primary configured import, _goldens_io.dart by @srawlins in 151390
  • Factor out deprecated names in example code by @nate-thegrate in 151374
  • Added SliverFloatingHeader.snapMode by @HansMuller in 151289
  • [ios]A typical news app benchmark with bottom ad banner by @hellohuanlin in 150991
  • Make FittedBox not throw when child has zero size. by @PurplePolyhedron in 150430
  • [tool] make testUsingContext provide a Stdio (with hasTerminal unset) override by default by @andrewkolos in 151357
  • [tool] Remove some usages of deprecated usage package by @andrewkolos in 151359
  • Add Semantics Property linkUrl by @mdebbar in 150639
  • testAdd tests for stepper.controls_builder.0.dart by @ValentinVignal in 150669
  • Roll pub packages by @flutter-pub-roller-bot in 151492
  • Clean up leaky test. by @polina-c in 151131
  • Update doc of SemanticsProperties.identifier by @mdebbar in 149915
  • fix heading level absorption, diagnostics; add tests and an a11y use-case by @yjbanov in 151421
  • Mention not @-mentioning people in commit messages in tree hygiene by @Hixie in 151487
  • Add docImports for flutter_test references by @goderbauer in 151175
  • [CupertinoActionSheet] Fix padding and font size of buttons by @dkwingsmt in 151199
  • doc imports for enum values by @goderbauer in 151548
  • Use correct locale for CupertinoDatePicker weekday by @victorsanni in 151494
  • docimports for flutter_driver by @goderbauer in 151267
  • Replaced {@tool snippet} with {@tool dartpad} in CupertinoTabController by @RamonFarizel in 151272
  • docimports for API samples by @goderbauer in 151606
  • Add link to design document archive by @loic-sharma in 151489
  • Roll Switch.adaptive changes into CupertinoSwitch by @victorsanni in 149465
  • Remove workaround for a bug in dart2wasm by @mkustermann in 151603
  • Add test for menu_anchor.2.dart by @ValentinVignal in 151399
  • [macOS] support secure restorable state by default by @cbracken in 151605
  • Add support for inverting CircularNotchedRectangle to optionally be drawn on the bottom of a path by @arbaker2 in 151386
  • Add tests for curve2_d.0.dart by @ValentinVignal in 150984
  • Roll pub packages by @flutter-pub-roller-bot in 151816
  • Update Design-Documents.md by @sethladd in 151472
  • Add example for CupertinoCheckbox by @victorsanni in 151779
  • [CupertinoActionSheet] Add haptic feedback by @dkwingsmt in 151420
  • [CupertinoActionSheet] Support legacy buttons by @dkwingsmt in 151136
  • Remove unnecessary parens in test by @srawlins in 151846
  • Remove redundant assignment of geometry by @hgraceb in 151821
  • Make CupertinoSlidingSegmentedControl type parameter non-null by @LongCatIsLooong in 151803
  • docs: Fix typo in data driven fixes test folder section by @rkishan516 in 151836
  • Constrain CupertinoContextMenu animation to safe area by @victorsanni in 151860
  • Small fixes to Image docs: NNBD, and add a cross-reference by @gnprice in 151938
  • WidgetState mapping by @nate-thegrate in 146043
  • Fix WidgetStateTextStyle's doc by @croro613 in 151935
  • Fix: BaseTapAndDragGestureRecognizer should reset drag state after losing gesture arena by @Renzo-Olivares in 151989
  • Fix SelectionArea scrolling conflicts by @Renzo-Olivares in 151138
  • painting: drop deprecated (exported) hashList and hashValues functions by @kevmoo in 151677
  • docimports for rendering library by @goderbauer in 151958
  • Add test for scrollbar.1.dart by @ValentinVignal in 151463
  • Enhances intuitiveness of RawMagnifier's example by @huycozy in 150308
  • Fix missing close bracket in NestedScrollView class docs by @weasdown in 152022
  • Will pop scope on home route by @justinmc in 152057
  • Sort doc-imports according to the directives_ordering rule by @srawlins in 152058
  • Add test for focus_traversal_group.0.dart by @ValentinVignal in 151591
  • [widgets/shortcuts] Add includeSemantics property to the Shortcuts widget. by @davidhicks980 in 152077
  • Fix the type of RenderTable.get rowDecorations. by @lrhn in 151886
  • Add more docs to DragTraget.builder by @eseidel in 151447
  • Fix typo in clipboard.dart by @Amir-P in 151844
  • Updates mark needs semantics update logic for overlay portal by @chunhtai in 151688
  • widgets docImport by @LongCatIsLooong in 152146
  • Scaffolding for NativeDriver and AndroidNativeDriver for taking screenshots using adb. by @matanlurey in 152194
  • added Semantics label to TextField with InputDecoration to let user k… by @DBowen33 in 151996
  • Fix: A selectable's selection under the active selection should not be cleared on right-click by @Renzo-Olivares in 151851
  • [CupertinoAlertDialog] Rewrite by @dkwingsmt in 150410
  • Update fake_codec.dart to use Future.value instead of SynchronousFuture by @biggs0125 in 152182
  • Add a more typical / concrete example to IntrinsicHeight / IntrinsicWidth by @LongCatIsLooong in 152246
  • Add test for expansion_panel_list.expansion_panel_list_radio.0_test.dart by @ValentinVignal in 151730
  • docImports for the widgets library by @LongCatIsLooong in 152339
  • Adds a call to the PlatformDispatcher whenever the focus changes by @gspencergoog in 151268
  • Cleanup examples/api web load logic to latest by @kevmoo in 152349
  • Add test for range_slider.0.dart by @ValentinVignal in 152152
  • Add and use an integration test with native(ADB) screenshots by @matanlurey in 152326
  • Fix cursor position when Unicode Zs category is entered in TextField by @koji-1009 in 152215
  • Make DragGestureRecognizer abstract methods public by @angelosilvestre in 151627
  • Update text_painter.dart by @LongCatIsLooong in 152398
  • [cupertino/icons.dart] Replace ligature references with codepoints for dartdoc by @victorsanni in 152387
  • Add tests for deletable_chip_attributes.on_deleted.0.dart by @ValentinVignal in 152361
  • [devicelab] enable impeller in external texture test. by @jonahwilliams in 152502
  • Stop CupertinoScrollbar's track from paging the scroll view on tap by @victorsanni in 152197
  • [wiki] Remove text saying wiki edits do not get code reviewed by @Rexios80 in 152530
  • Clarify and cleanup the test-exemption wording in tree-hygiene. by @matanlurey in 152402
  • Add test for search_anchor.0.dart by @ValentinVignal in 152371
  • Add tests for scaffold messenger examples by @ValentinVignal in 152536
  • ✨ : Animation controller now has ability to repeat animation 'n' no. of times. by @aliasgar4558 in 150764
  • Remove redundant usages of zones in skia_client.dart by @Hixie in 149366
  • Shift + click gesture support for SelectionArea on desktop platforms by @Renzo-Olivares in 148574
  • Improve CupertinoCheckbox fidelity by @victorsanni in 151441
  • [CupertinoActionSheet] Make _ActionSheetButtonBackground stateless by @dkwingsmt in 152283
  • Add tests for search anchor examples by @ValentinVignal in 152659
  • Fix formatting issues in search_anchor.0_test.dart by @ValentinVignal in 152669
  • Fix local testing, gradle XML errors, and enable on CI. by @matanlurey in 152383
  • [CupertinoActionSheet & AlertDialog] Improve documentation and type for scrollController parameters by @dkwingsmt in 152647
  • Explain that predictive back doesn't work with WillPopScope by @justinmc in 152116
  • Use .fromMap() constructors in example code by @nate-thegrate in 152535
  • Add test for scaffold_state.show_bottom_sheet.0.dart by @ValentinVignal in 152731
  • [wiki] Remove outdated warning about stale coverage data by @Rexios80 in 152560
  • Ignore both unused_element and unused_element_parameter by @srawlins in 152689
  • Write more on Animation and related docs by @gnprice in 150727
  • Improve CupertinoRadio fidelity by @victorsanni in 149703
  • Introduce double Flex.spacing parameter for Row/Column spacing by @TahaTesser in 152472
  • [Docs] DeviceOrientation Enum Correction by @piedcipher in 152876
  • Reverts "Introduce double Flex.spacing parameter for Row/Column spacing (#152472)" by @auto-submit in 152885
  • [Reland] Introduce double Flex.spacing parameter for Row/Column spacing by @TahaTesser in 152890
  • more docImports by @goderbauer in 151951
  • added functionality to where SR will communicate button clicked by @DBowen33 in 152185
  • Implement on clauses by @nate-thegrate in 152706
  • Add tests for ordered_traversal_group.0.dart by @ValentinVignal in 152849
  • Manual dependency bump by @kevmoo in 152881
  • Feat: Add fillColor property for cupertinoCheckbox by @rkishan516 in 151761
  • [API Examples] scroll_direction.0_test.dart & growth_direction.0_test.dart by @piedcipher in 152941
  • Fix Linux_android_emu tests late initialization errors by @zanderso in 152932
  • Fix PageController throws when changing page before viewPortDimensions are set by @bleroux in 153017
  • Style: Rename CupertinoSwitch activeColor and trackColor to activeTrackColor and InactiveTrackColor by @rkishan516 in 151367
  • Set default Cupertino primaryContrastingColor to white by @kerberjg in 153039
  • Add a contribution doc on using reliable links in tooling by @parlough in 150962
  • Roll pub packages [manual] by @kevmoo in 153066
  • Move Cupertino focus constants to cupertino/constants.dart by @victorsanni in 153115
  • Spell check range error by @justinmc in 153055
  • Refactor: Deprecate inactiveColor from cupertino checkbox by @rkishan516 in 152981
  • Implemented CupertinoButton new styles/sizes (fixes #92525) by @kerberjg in 152845
  • Added FlutterEngineGroups to engine architecture doc by @gaaclarke in 153100
  • Make CupertinoButton interactive by keyboard shortcuts by @victorsanni in 153126
  • Roll pub packages by @flutter-pub-roller-bot in 153380
  • Move @_debugOnly documentation in framework.dart to be more visible to IDE. by @PurplePolyhedron in 153134
  • Add Row and Column widgets specific spacing tests by @TahaTesser in 153353
  • Roll pub packages by @flutter-pub-roller-bot in 153479
  • Improve asserts on Element.mount by @gspencergoog in 153477
  • Design-Documents.md incorrect link by @justinmc in 153509
  • Add TextHeightBehavior argument for DefaultTextStyle.merge by @kawaijoe in 153178
  • Style Guide updates by @nate-thegrate in 152525
  • fix some unintended HTML tags in docs by @goderbauer in 153507
  • Roll pub packages by @flutter-pub-roller-bot in 153581
  • When the app enters the detached state, clear the record of the last SystemChrome style sent to the host by @jason-simmons in 153586
  • Fixes page.onPopInvoked type mismatches by @chunhtai in 153593
  • Fix leaky test. by @polina-c in 153780
  • Implement tap to scroll to item in CupertinoPicker by @victorsanni in 153386
  • Update template/test compileSdk, targetSdk, ndk versions by @gmackall in 152487
  • Reverts "Update template/test compileSdk, targetSdk, ndk versions (#152487)" by @auto-submit in 153793
  • Fix leaky tests. by @polina-c in 153786
  • _InteractiveViewerState code cleanup by @nate-thegrate in 153645
  • Add tests for SingleChildScrollView examples by @ValentinVignal in 153548
  • Roll pub packages by @flutter-pub-roller-bot in 153838
  • Reland "Update template/test compileSdk, targetSdk, ndk versions" by @gmackall in 153795
  • Fix: Deleting text in EditableText with CJK keyboard while in CupertinoPageRoute throws exception by @Renzo-Olivares in 153822
  • Nested Navigator state restoration predictive back examples by @justinmc in 153723
  • Document scale parameter for Image and RawImage by @RamonFarizel in 153728
  • Fix broken macro reference by @gspencergoog in 153881
  • Test of CustomScrollViewExampleApp by @miechoo in 152431
  • Add a test of an Android platform view that draws a gradient by @matanlurey in 153878
  • Added missing test for SelectionArea example by @iam-amanxz in 151585
  • Add test for error_widget.0_test.dart by @mansourzaki in 153103
  • doc: fix typo in testing doc by @Lxxyx in 154105
  • Roll pub packages by @flutter-pub-roller-bot in 154126
  • added ability to disable blur in CupertinoNavigationBar with transparent background by @Sikandar4747 in 153633
  • Optimize out LayoutBuilder from ReorderableList children by @moffatman in 153987
  • fix getFullHeightForCaret when strut is disabled. by @LongCatIsLooong in 154039
  • [Doc] [Enhancement] Add more clarification to initial value documentation for form by @mnayef95 in 153757
  • Refactored HeroController logic to handle complex cases by @chunhtai in 150027
  • Upgrade leak tracker. by @polina-c in 154157
  • Add comment document to fontFamily in the IconData by @SuicaLondon in 154150
  • Scroll CupertinoContextMenu if items overflow by @victorsanni in 154133
  • Add documentation about updating .ci.yaml and flutter-gold. by @matanlurey in 154184
  • Defer overlay child layout if the target overlay is currently laying out its size-determining child by @LongCatIsLooong in 154222
  • [native assets] Rewrite install names for relocated native libraries by @blaugold in 153054
  • Roll pub packages by @flutter-pub-roller-bot in 154267
  • Do not paint a description label when rendering an integration test by @jason-simmons in 153875
  • Make Scrollable.ensureVisible document clearer that it would scroll all enclosing Scrollable by @PurplePolyhedron in 154321
  • Add tests for sliver grid delegate with fixed cross axis count examples by @ValentinVignal in 153500
  • CupertinoSlidingSegmentedControl is able to have proportional layout based on segment content by @QuncCccccc in 153125
  • Android predictive back should work after returning to the app from a notification by @justinmc in 154313
  • Run all microbenchmarks by @jtmcdole in 154374
  • Expose long press in CupertinoButton by @Dimilkalathiya in 154052
  • Reverts "Run all microbenchmarks (#154374)" by @auto-submit in 154440
  • Run all microbenchmarks (part trois) by @jtmcdole in 154446
  • Remove unnecessary imports. by @scheglov in 154527
  • Replace ListTile usage with CupertinoListTile by @ishon19 in 154473
  • Refactor CircularNotchedRectangle.getOuterPath() by @nate-thegrate in 154036
  • Fix typing error in AutofillGroup docs by @daniellampl in 154405
  • set onChangedField function to only update options with new results by @mohsinraza-fdev in 150776
  • Switched CupertinoDynamicColor to implements Color by @gaaclarke in 153938
  • Tiny Fix in Docs for SliverFixedExtentList & SliverVariedExtentList by @piedcipher in 154557
  • Tiny Fix in Docs for SliverList.separated & SliverList.builder by @piedcipher in 154551
  • Improve Documentation for ResizeImage Dimensions and Usage by @RamonFarizel in 154212
  • Test of AppBarMediumApp and AppBarLargeApp by @miechoo in 153973
  • Made some pixel tests fuzzy by @gaaclarke in 154680
  • Improve CupertinoPopupSurface appearance by @davidhicks980 in 151430
  • Roll Flutter Engine from c50eb8a65097 to 419fb8c0ab3e by @a-siva in 154734
  • Expose foreground property of TextStyle in Icon widget by @evan361425 in 150315
  • Fix leaky tests. by @polina-c in 154847
  • Revert "Improve CupertinoPopupSurface appearance" by @davidhicks980 in 154893
  • CupertinoSlidingSegmentedControl update by @QuncCccccc in 152976
  • fix unpack freezing app with animation duration zero by @Mairramer in 153890
  • Adds dart fixes for Color opacity functions by @gaaclarke in 154953
  • Migrate apple-mobile-web-* to mobile-web-*. by @matanlurey in 154964
  • Migrate Color.toString() test, improves equalsIgnoringHashCodes by @gaaclarke in 154934
  • Move (dev/tools), complete v0 of native_driver (Android) by @matanlurey in 154843
  • Manual roll to 48ddaf578fb0c8326d5b4b680b0f49ea72e33216 by @gmackall in 155070
  • Prevent the keyboard from reshowing on iOS by @LongCatIsLooong in 154584
  • Address frame policy benchmark flakes by @jtmcdole in 155130
  • Mark _LayoutBuilderElement as always clean by @LongCatIsLooong in 154694
  • Fix: Flicker when reorderable list doesn't change its position by @rkishan516 in 151026
  • text button case rework by @DBowen33 in 154943
  • Added .keys to ColorSwatch by @gaaclarke in 155262
  • Adds ColorSwatch matcher by @gaaclarke in 155272
  • Delete packages/flutter_tools/lib/src/fuchsia directory by @zijiehe-google-com in 154880
  • [CupertinoAlertDialog] Add tap-slide gesture by @dkwingsmt in 154853
  • Redo flutter engine flutter autoroll bd3d1990 485b 419c 8c55 b27e3eeb15ed 1727117767 by @gaaclarke in 155579
  • Add WidgetStateProperty example and tests for it. by @ksokolovskyi in 155315
  • fixed keyboardDismissBehavior on scroll without a drag by @nick9822 in 154675
  • Preserve transform when using *Gradient:withOpacity by @hyhugh in 154908
  • Roll pub packages by @flutter-pub-roller-bot in 155640
  • Add WidgetStateBorderSide example and tests for it. by @ksokolovskyi in 155559
  • [Android] Update SystemUiMode and setSystemChromeEnabledSystemUIMode docs to note targeting Android 15+ change by @camsim99 in 153466
  • added ability to configure shadow in banner by @Sikandar4747 in 155296
  • RenderParagraph should invalidate its _SelectableFragments cached rects on window size updates by @Renzo-Olivares in 155719
  • Roll packages manually by @gmackall in 155786
  • Throw StateError when implicitView is null on wrapWithDefaultView. by @ditman in 155734
  • Add magnificationScale to CupertinoMagnifier for Zoom Effect by @RamonFarizel in 155276
  • Optimize Overlay sample to avoid overflow by @TahaTesser in 155861
  • Fixes column text width calculation in CupertinoDatePicker by @Mairramer in 151128
  • RenderParagraphs _SelectableFragment.boundingBoxes should consider max line height by @Renzo-Olivares in 155892
  • Feat: Add opportunity to change CupertinoTextField suffix alignment by @ziqq in 154601
  • Roll pub packages by @flutter-pub-roller-bot in 155846
  • Add WidgetStateMouseCursor example and tests for it. by @ksokolovskyi in 155552
  • integration_test: migrate to build.gradle.kts by @bartekpacia in 154125
  • [Docs] CupertinoListTile API Example by @Sikandar4747 in 154548
  • Reverts "integration_test: migrate to build.gradle.kts (#154125)" by @auto-submit in 156087
  • fix ReorderableList not passing in item extent builder by @navaronbracke in 155994
  • Roll pub packages by @flutter-pub-roller-bot in 156117
  • Add back main() methods to benchmark benches. by @aam in 156083
  • Inherited Theme: zero rebuilds by @nate-thegrate in 155699
  • Fixes an issue where onTapOutside was incorrectly triggered across routes in TapRegion by @Mairramer in 155297
  • NavigatorPopHandler.onPopWithResult by @justinmc in 155618
  • Add bySemanticsIdentifier finder for finding by identifier by @admosity in 155571
  • Update MenuAnchor API examples by @bleroux in 156404
  • Roll pub packages by @flutter-pub-roller-bot in 156440
  • Reverts "Roll pub packages (#156440)" by @auto-submit in 156473

Material

#
  • Add tests for material_state_border_side.0_test.dart by @ValentinVignal in 151089
  • [Reland] - Enable explicitChildNodes for the AlertDialog content by @TahaTesser in 149597
  • Re-enable SemanticsAction.focus matchers by @gspencergoog in 150990
  • MaterialStateWidgetState in documentation by @nate-thegrate in 151376
  • Update DataTable documentation by @nate-thegrate in 151356
  • Fix Material 3 Dialog default background color by @TahaTesser in 151400
  • Add TimeOfDay comparison methods by @derdilla in 151233
  • expose keyboardType in DropdownMenu #150894 by @j7126 in 150896
  • Fix: Submenu anchor misaligned with child panel in web (Resolved #151081) by @Vi-debug in 151294
  • docimports for flutter_goldens, flutter_localizations, flutter_web_plugins, fuchsia_remote_debug_protocol, integration_test by @goderbauer in 151271
  • Fix TabBar tab indicator stretch effect by @TahaTesser in 150868
  • Update obsolete comment in InputDecorator test by @bleroux in 151651
  • Fix Slider thumb doesn't align with divisions, thumb padding, and rounded corners by @TahaTesser in 149594
  • Add semanticLabel to CupertinoCheckbox by @victorsanni in 151789
  • Introduce Switch.padding by @TahaTesser in 149884
  • Add borderRadius property to PopupMenuButton by @johnstef99 in 151228
  • chore: fix typo korean, cutButtonLabel by @n7484443 in 151364
  • Add ListTileControlAffinity to ListTileTheme by @hello-coder-xu in 150695
  • Create CarouselView widget - Part 2 by @QuncCccccc in 149775
  • Reland fix InputDecorator hint default text style on M3 by @bleroux in 150835
  • Fix AppBar doc to keep diagram next to its description by @gnprice in 151937
  • chore: fix test name & add description of tests by @n7484443 in 151959
  • Make CupertinoRadio's mouseCursor a WidgetStateProperty by @victorsanni in 151910
  • Clean up leaky test. by @polina-c in 152094
  • material docImports by @LongCatIsLooong in 152060
  • More material docImports by @LongCatIsLooong in 152144
  • feat: Add alignmentOffset to DropdownMenu by @jasonkang14 in 151731
  • Revert "Make CupertinoRadio's mouseCursor a WidgetStateProperty" by @victorsanni in 152254
  • Cleanup InputDecoration.collapsed constructor by @bleroux in 152165
  • Introduce TabBar.indicatorAnimation to customize tab indicator animation by @TahaTesser in 151746
  • feat: Add drag handle size to be configurable based on given size by @rkishan516 in 152085
  • Add button semantics in list tile by @hannah-hyj in 151599
  • Reverts "Add button semantics in list tile (#151599)" by @auto-submit in 152425
  • Normalize Card theme by @QuncCccccc in 151914
  • Add find.backButton finder and StandardComponentType enum to find components in tests. by @gspencergoog in 149349
  • Fix Shortcut label for CharacterActivator does not include modifiers by @bleroux in 152233
  • Fix default avatar icon theme size for Material 2 by @TahaTesser in 152307
  • Reland #151599 (Add button semantics in list tile ) with a flag to control behavior. by @hannah-hyj in 152526
  • Deprecate invalid InputDecoration.collapsed parameters by @bleroux in 152486
  • Use decoration hint text as the default value for dropdown button hints by @bleroux in 152474
  • Calendar font factor by @MitchellGoodwin in 152341
  • Add ability to clip Stepper step content by @TahaTesser in 152370
  • [material/menu_anchor.dart] Remove unused early key event listener by @davidhicks980 in 150915
  • Implementing null-aware logic in /packages/flutter/ by @nate-thegrate in 152294
  • Quick docs grammar fixes by @justinmc in 152700
  • SearchBar.scrollPadding by @justinmc in 152635
  • Add tests for scaffold messenger state by @ValentinVignal in 152735
  • Make the App's title optional on web by @tugorez in 152003
  • [SliderTheme] Fix markdown links for api doc images by @royarg02 in 152748
  • Quick Grammar Fixes by @piedcipher in 152744
  • Fix handling of iconSize and iconColor defaults for ButtonStyleButton subclasses. by @gspencergoog in 143501
  • Fix CarouselView rebuild by @QuncCccccc in 152791
  • Slider does not show changed label value for keyboard users fix by @DBowen33 in 152886
  • fix: add parameter to maintainState of SearchDelegate by @gazal-k in 152444
  • [material/menu_anchor.dart] MenuAnchor focus refactoring for RawMenuAnchor by @davidhicks980 in 150950
  • Support clearing selection programmatically through SelectableRegionState by @Renzo-Olivares in 152882
  • MenuAnchor hover traversal fixes by @davidhicks980 in 150914
  • Doc imports again by @goderbauer in 152958
  • Allow dropdown_menu to accept any EdgeInsetsGeometry by @TytaniumDev in 153053
  • Clean up MenuAnchor by @bleroux in 152946
  • Add drawer and navigation drawer in a11y assessment app, also run dart format under a11y_assessments/ by @hannah-hyj in 153034
  • The PopupMenuButton should not steal focus from the TextField when it appears. by @yiiim in 150568
  • Expose affixes icon constraints in InputDecorationTheme by @bleroux in 153089
  • fix(flutter/a11y assessments): h1 missing a11y from each page on the web app by @essjay05 in 152198
  • Delay DropdownMenu filtering until text input by @PurplePolyhedron in 152368
  • Slider shows visual label of value on focus by @DBowen33 in 152960
  • Update tokens to 5.0.0 by @QuncCccccc in 153385
  • Fix anti-aliasing when painting borders with solid colors. by @bernaferrari in 153365
  • Update TextTheme with the M3 Typography tokens by @RamonFarizel in 153131
  • refactor material banner and fix focus issue by @DBowen33 in 152646
  • Fix leaky test. by @polina-c in 153798
  • Disable Dropdown menu search during keyboard navigation by @PurplePolyhedron in 152378
  • docs: Update doc for scale behaviour of floating label by @rkishan516 in 151835
  • Make TextField read only when the text input is disabled by setting DropdownMenu.requestFocusOnTap to false by @TahaTesser in 153566
  • fixed issue to where screen reader reads all buttons when opening datepicker by @DBowen33 in 152705
  • Remove destinations length hard limit in NavigationRail widget by @koji-1009 in 152972
  • Stop DropdownMenu internal scrolling from moving parent Scrollable by @PurplePolyhedron in 153360
  • fix(material/a11y_assessments): add unique page title by @essjay05 in 152148
  • Fix DropdownMenu focus traversal by @bleroux in 153931
  • Fix TimePicker hour and minute inputs are resized on error by @TahaTesser in 154008
  • Added new constructor RefreshIndicator.noSpinner() by @SyncroIT in 152075
  • Fix Cupertino route animation. by @yiiim in 153765
  • Add ability to provide selectableDayPredicate for showDateRangePicker by @Chuckame in 150355
  • Reverts "Add ability to provide selectableDayPredicate for showDateRangePicker (#150355)" by @auto-submit in 154089
  • Add ability to provide selectableDayPredicate for showDateRangePicker by @chingjun in 154090
  • Add M3 Intrinsic width tests for InputDecoration by @bleroux in 154098
  • Fix AlertDialog.adaptive clipBehavior is non-nullable by @TahaTesser in 154173
  • Change flag internalAddSemanticForOnTap default value to true by @hannah-hyj in 153193
  • Add missing tests for requestFocus routes parameter in Material and Cupertino libraries by @TahaTesser in 154005
  • Fix Drawer prematurely snapping by @nate-thegrate in 153955
  • Fix IconButton doesn't show Tooltip when hovering within the button area but outside the Icon by @TahaTesser in 153691
  • Minor Formatting by @piedcipher in 154210
  • Make ViewAnchor a LookupBoundary by @goderbauer in 154300
  • fix:: elevation and scrollUnderElevation depends on scrolling drawers on issue #120083 by @Mairramer in 150793
  • Added support for elevation on refresh indicator by @dishankjindal1 in 154182
  • Update tokens to v6.1 by @QuncCccccc in 153722
  • Fix duplicate MaterialApp in api example test by @bleroux in 154550
  • Add static of accessor methods to ColorScheme and TextTheme by @amal-stack in 154073
  • Fixes an issue where itemExtent was incorrectly assigned to renderObject.minExtent by @Mairramer in 153805
  • added enabled to search anchor by @Macacoazul01 in 153256
  • Add minimum height for MaterialBanner by @mansourzaki in 153951
  • Fix ZoomPageTransitionsBuilder hardcoded fill color by @dy0gu in 154057
  • Fix DropdownMenu menu does not follow the text field by @bleroux in 154667
  • Normalize Dialog theme by @QuncCccccc in 153982
  • Support custom transition duration for DialogRoute, CupertinoDialogRoute and show dialog methods. by @nploi in 154048
  • Fix DropdownMenu focused item styles by @bleroux in 153159
  • Reverts "Support custom transition duration for DialogRoute, CupertinoDialogRoute and show dialog methods. (#154048)" by @auto-submit in 154743
  • Adjust ButtonStyle.{foreground,icon}Color dartdocs for new behavior by @chrisbobbe in 154646
  • Fix Material 3 AppBar.leading action IconButtons by @TahaTesser in 154512
  • Fix TabBar crash with SliverAppBar by @hgraceb in 154485
  • Add scrim color parameter to _ZoomEnterTransitionPainter by @Michal-MK in 152815
  • un-break ThemeData equality by @nate-thegrate in 154695
  • Clean up SnackBar inherit theme data test by @TahaTesser in 154921
  • SearchBar context menu by @justinmc in 154833
  • Update color assertions by @gaaclarke in 154752
  • Update material and cupertino localizations by @QuncCccccc in 154959
  • Add 'direction' allow to 'SegmentedButton' oriented vertically by @abdalmonem in 150903
  • fix: Dropdown menu trying to access highlight element which doesn't exist when search and filters both are enabled by @rkishan516 in 151969
  • Factor out Container objects by @nate-thegrate in 153619
  • Fix TextField content should be selected on desktop when gaining focus by @bleroux in 154916
  • Fix missing icon props in button styleFrom methods by @TahaTesser in 154821
  • fix SearchAnchor disposing SearchController while it is still used by @PurplePolyhedron in 155219
  • Normalize TabBarTheme by @QuncCccccc in 155476
  • Reverts "Normalize TabBarTheme (#155476)" by @auto-submit in 155698
  • Fix broken text field with set hint and min and max lines(#153183) by @zeqinjie in 153235
  • fix: SelectableText should handle focus changes by @Renzo-Olivares in 155771
  • Fix DropdownMenu rendered behind AppBar by @bleroux in 155539
  • Fix typo on theme_data by @iNoles in 155644
  • Move FlutterLogo from material to widget by @g0rdan in 155864
  • Move platform specific text selection behavior out of styled TextField classes by @Renzo-Olivares in 155774
  • Fix leak in input_decorator [prod-leak-fix] by @polina-c in 155885
  • Disable flaky menu test by @Piinks in 155968
  • Reland TabBarTheme normalization by @QuncCccccc in 155969
  • Add enableSplash parameter to CarouselView by @SuicaLondon in 155214
  • fix DropdownMenu keyboard navigation when entries are filtered empty by @PurplePolyhedron in 155252
  • Fix DropdownMenu does not rematch initialSelection when entries have changed by @bleroux in 155757
  • fix wrong test in "fixing DropdownMenu keyboard navigation" by @PurplePolyhedron in 156084
  • Allow mixing route transitions in one app. by @MitchellGoodwin in 150031
  • Add mouseCursor property to CupertinoCheckbox by @victorsanni in 151788
  • Update ThemeData.dialogTheme type to accept DialogThemeData by @QuncCccccc in 155129
  • Add autocorrect and enableSuggestions to SearchDelegate by @ThHareau in 154932
  • pattern-matching refactor by @nate-thegrate in 154753
  • Allow arrow keys to navigate MenuAnchor independently of global shortcut definition by @dkwingsmt in 155728
  • Normalize ThemeData.cardTheme by @QuncCccccc in 153254
  • CheckboxListTile: add property to scale the checkbox by @itsjatinnagar in 154806
  • Fix DropdownMenu with expandedInsets always aligned on top by @TahaTesser in 156214
  • Update flexible_space_bar_test.dart tests for Material 3 by @TahaTesser in 156226
  • Update DropdownMenu tests to remove some dependence on platforms by @PurplePolyhedron in 156131
  • Normalize ThemeData.tabBarTheme by @QuncCccccc in 156253

iOS

#
  • Launch DDS from Dart SDK and prepare to serve DevTools from DDS by @bkonyi in 146593
  • Reverts "Launch DDS from Dart SDK and prepare to serve DevTools from DDS (#146593)" by @auto-submit in 151781
  • Use Xcode build setting PRODUCT_NAME to find app and archive paths by @jmagman in 140242
  • Reland "Launch DDS from Dart SDK and prepare to serve DevTools from DDS (#146593)" by @bkonyi in 152386
  • Update minimum macOS version as needed in Swift package by @loic-sharma in 152347
  • Add migration to git ignore SwiftPM build directories by @loic-sharma in 152766
  • Add xcresulttool --legacy flag for deprecated usage by @jmagman in 152988
  • Remove -sdk for watchOS simulator in tool by @jmagman in 152992
  • Fix flutter run on Mac x64 hosts if Swift Package Manager is enabled by @loic-sharma in 154645
  • [tool] Update description of where to install platforms in XCode by @kevmoo in 156432

Tooling

#
  • Handle a SocketException thrown when sending the browser close command to Chrome by @jason-simmons in 151197
  • Fix project name fallback by @navaronbracke in 150614
  • Remove warning when KGP version not detected by @gmackall in 151254
  • Fix invalid URL suggestion for gradle incompatability by @Dispersia in 150999
  • [deps] Roll dart-lang/native packages by @dcharkes in 151403
  • Write the package config location to the test bootstrap. by @kenzieschmoll in 150440
  • Reland "Upgrade template Gradle, App AGP, Module AGP, and Kotlin versions, and tests"... but no longer upgrade module AGP version by @gmackall in 151433
  • feat: Support overriding native endorsed plugins by @Gustl22 in 137040
  • [native_assets] Stop running link hooks in JIT mode by @dcharkes in 151534
  • [native_assets] Don't auto-roll deps by @dcharkes in 151636
  • [native_assets] Roll deps by @dcharkes in 151662
  • Emit source maps for wasm in flutter build web --wasm by @mkustermann in 151643
  • tool/build/web: move source-maps CLI flag to "general" web section by @kevmoo in 151722
  • Remove conditionality in templates that was for AGP <= 4.2 support by @gmackall in 151845
  • flutter_tool: DRY up arg helpers, use new typed arg functions by @kevmoo in 151784
  • Roll pub packages by @flutter-pub-roller-bot in 151864
  • Roll pub packages by @flutter-pub-roller-bot in 151946
  • Roll pub packages by @flutter-pub-roller-bot in 151975
  • Handle a WebSocketException that may be thrown when closing the WebKit inspection protocol connection to Chrome by @jason-simmons in 151997
  • Fix asset transformation in the presence of resolution-aware asset variants by @andrewkolos in 151932
  • [native_assets] Fix macOS host build failure when there are no frameworks to sign. by @bdero in 150742
  • [tool] Guard more write/writeln calls on Process.stdin by @andrewkolos in 151146
  • Enable Swift Package Manager by default on master channel by @loic-sharma in 152049
  • Reverts "Enable Swift Package Manager by default on master channel (#152049)" by @auto-submit in 152243
  • Use more CORS headers for flutter run server by @johnpryan in 152048
  • Reverts "Use more CORS headers for flutter run server (#152048)" by @auto-submit in 152248
  • Modify stepping integration test to accommodate new DDC async semantics. by @biggs0125 in 152204
  • Set dart defines properly while in debug mode. by @eyebrowsoffire in 152262
  • Use more CORS headers for flutter run server by @johnpryan in 152249
  • Fix some tests that fail with Swift Package Manager enabled by @loic-sharma in 152267
  • Change flutter_build_with_compilation_error_test to check stdout or stderr by @jmagman in 152404
  • Document that flutter drive --test-arguments can opt-in to dart test by @matanlurey in 152410
  • [flutter_tools] remove raster stats CLI option. by @jonahwilliams in 152501
  • [web] Set COEP:credentialless on flutter run/drive. by @ditman in 152413
  • Set up tests that verify we can build a fresh counter app across our Gradle/AGP/Kotlin support range by @gmackall in 151568
  • Reintroduce verbose logging for hot reload flake by @andrewkolos in 152639
  • Fix bad pattern matching in DDS exception parsing by @bkonyi in 152685
  • Remove one set of parens that wrap a single String literal by @srawlins in 152031
  • reduce warnings inside flutter.groovy file by @AbdeMohlbi in 152073
  • [tool] Guard process writes to frontend server in ResidentCompiler by @andrewkolos in 152358
  • Reverts "[tool] Guard process writes to frontend server in ResidentCompiler (#152358)" by @auto-submit in 153028
  • [web] hide the --web-renderer option in the tool by @yjbanov in 152683
  • Fix flutter build ipa --export-method not accepting enterprise flag by @LouiseHsu in 153047
  • [web] Fix reading of the --local-web-sdk flag and remove the copy of useLocalWebSdk in DebuggingOptions by @jason-simmons in 152642
  • Make ios_deploy_test.dart more robust by @mkustermann in 153147
  • Fix tests expectations regarding new lines. by @aam in 153174
  • [iOS] Copy Flutter.framework.dSYM into app archive by @cbracken in 153215
  • Upgrade module template AGP version by @gmackall in 151675
  • Roll pub packages by @flutter-pub-roller-bot in 153297
  • Disable DevTools when running the hot restart integration test in flutter_tools by @jason-simmons in 153247
  • [web] Pass --no-source-maps instead of --extra-compiler-option=--no-source-maps to dart compile wasm by @mkustermann in 153417
  • [Swift Package Manager] Test removing the last Flutter plugin by @loic-sharma in 153519
  • add HttpException to the list of handled exceptions within ResidentWebRunner::run by @andrewkolos in 153527
  • [gen_l10n] isCustomDateFormat accepts an actual boolean by @kzrnm in 153439
  • Do not cancel the VmService's subscription to the isolate event stream in FlutterVmService.findExtensionIsolate by @jason-simmons in 153607
  • Load parent package config by @sigurdm in 150850
  • Revert "Load parent package config" by @sigurdm in 153752
  • Reland "Load parent package config" by @sigurdm in 153754
  • Handle "Service connection disposed" error from VmService disconnecting while requests are outstanding by @andrewkolos in 153714
  • Remove unnecessary breaks in default clauses of switch statements by @jason-simmons in 153843
  • Add a bin/flutter-dev script, for running the flutter command-line tool from source by @matanlurey in 153599
  • Add test that app builds if migrated to SwiftPM but SwiftPM is turned off by @loic-sharma in 153800
  • Fix flutter test in workspace by @sigurdm in 153919
  • Do not silently fail pub get even if output-mode is "none" by @matanlurey in 153596
  • Update README.md to clarify who flutter-dev is for and what the trade-offs are by @sethladd in 153947
  • fix: A referenced default package must be a plugin package by @Gustl22 in 152134
  • Re-land "Ensure flutter build apk --release optimizes+shrinks platform code" by @gmackall in 153868
  • Android analyze command should run pub by @chunhtai in 153953
  • override Analytics in TestBed defaults by @andrewkolos in 153990
  • Roll pub packages by @flutter-pub-roller-bot in 154026
  • macOS: Copy macOS framework dSYM into build outputs by @cbracken in 153975
  • [Windows] Improve symlink ERROR_ACCESS_DENIED error message by @loic-sharma in 154030
  • Update flutter build apk -h to indicate that target arch is not supported in debug mode. by @reidbaker in 154111
  • handle HttpExceptions coming from ChromeTab.connect by @andrewkolos in 153978
  • [web:tools] disable search engine choice screen in flutter run by @yjbanov in 154059
  • Make sure usesUnsupportedDependencyVersions property exists before checking it by @gmackall in 154121
  • Add warning if changing flutterEmbedding string. by @reidbaker in 154181
  • Don't remove toString implementations while in debug mode. by @eyebrowsoffire in 154216
  • Agp Java Compatability Custom Error by @jesswrd in 154142
  • Roll pub packages by @flutter-pub-roller-bot in 154360
  • Launch DDS using DartDevelopmentServiceLauncher by @bkonyi in 154015
  • unpin path_provider_android by @christopherfujino in 154369
  • Remove --disable-dart-dev across flutter/flutter. by @matanlurey in 154280
  • catch StateError thrown from Chromium.close by @andrewkolos in 154366
  • Add a RegExp for iOS domain when reading domains from xcodeProject by @hannah-hyj in 154201
  • [native assets] Roll dependencies by @dcharkes in 154507
  • sort part directives by @pq in 154456
  • Make the Flutter Gradle Plugin apply FlutterExtension to (flutter) plugins by @gmackall in 151861
  • [tool] Update .gitignore templates to include .flutter-plugins files by @Rexios80 in 152950
  • Improve 'flutter downgrade' error message by @loic-sharma in 154434
  • Add proguard rule to keep the class for all implementations of FlutterPlugin by @gmackall in 154677
  • iOS,macOS: Do not copy unsigned_binaries.txt to build outputs by @cbracken in 154684
  • Improve iOS unpack target's error messages by @loic-sharma in 154649
  • [tool] Add dartFileName setting for platform plugins by @Sameri11 in 153099
  • Remove allowoptimization modifier from FlutterPlugin proguard rules by @rajveermalviya in 154715
  • Handle ProcessExceptions due to git missing on the host by @andrewkolos in 154445
  • Improve tracing and fix packages_autoroller by @christopherfujino in 154841
  • Fix flutter build aar for modules that use a plugin by @gmackall in 154757
  • fix test chrome.close can recover if getTab throws a StateError by @andrewkolos in 154889
  • Roll pub packages by @flutter-pub-roller-bot in 154933
  • Roll pub packages by @flutter-pub-roller-bot in 154939
  • handle EAGAIN (macOS) in ErrorHandlingProcessManager by @andrewkolos in 154306
  • Fix flutter create warning regarding Java compatibility by @shashwatpathak98 in 152836
  • Update the signature of DDS launcher callback. by @chingjun in 154949
  • when setting up the log reader for a device during flutter run, discard any RPCError thrown due to the device being disconnected by @andrewkolos in 155049
  • fix(Linux): specify application id by @Merrit in 154522
  • Disable fuchsia in flutter_tools by @zijiehe-google-com in 155111
  • Stop reading .packages from flutter_tools. by @sigurdm in 154912
  • Assert iOS framework artifact contains xcprivacy manifest by @jmagman in 155187
  • Catch unable to start app exception by @christopherfujino in 154970
  • Extend 'flutter symbolize' to handle deferred loading units. by @sstrickl in 149315
  • Assert macOS framework artifact contains xcprivacy manifest by @jmagman in 155189
  • [native assets] Roll dependencies by @dcharkes in 155432
  • [flutter_tools] Fix encoded stderr in "dart.log" from debug adapter to client by @DanTup in 155249
  • Fix some broken links in DAP readme by @DanTup in 155600
  • Add PrivacyInfo.xcprivacy to macOS plugin template by @jmagman in 155570
  • reduce warnings inside flutter.groovy file #2 by @AbdeMohlbi in 155628
  • [flutter_tools] Cleanup of native asset related code (removes around 50% of the native asset related code) by @mkustermann in 155430
  • Reverts "[flutter_tools] Cleanup of native asset related code (removes around 50% of the native asset related code) (#155430)" by @auto-submit in 155713
  • Move the Linux runner into a subdirectory by @robert-ancell in 153812
  • Reland "[flutter_tools] Cleanup of native asset related code (removes around 50% of the native asset related code) (#155430)" by @mkustermann in 155745
  • Fix line-wrapping in flutter create error message. by @Hixie in 150325
  • Remove left-over traces of "link-dry-run" - which isn't used anywhere in flutter by @mkustermann in 155820
  • fix: support android 15 16k page size for template plugin_ffi by @huanglizhuo in 155508
  • when ResidentRunner.tryInitLogReader fails, only log warning on Android by @andrewkolos in 155800
  • [tool][android] Allow --target-platform work properly with --debug mode by @Sameri11 in 154476
  • [Swift Package Manager] Make available but off on beta and stable by @loic-sharma in 155964
  • update flutter create generated projects to use package:flutter_lints 5.0.0 by @devoncarew in 156011
  • Add deprecation warning for "flutter create --ios-language" by @jmagman in 155867
  • Roll pub packages by @flutter-pub-roller-bot in 156114
  • Refactor devfs_web_ddc_modules_test.dart by @nate-thegrate in 155609
  • handle any RPCError due to vm service disconnection in flutter run by @andrewkolos in 156346
  • Update 'dump-info' usage for dart2js builds by @biggs0125 in 156187
  • [tool] Emit a deprecation warning for some values of --web-renderer. by @ditman in 156376
  • Migrator for android 35/16kb page size cmake flags for plugin_ffi by @dcharkes in 156221
  • Beta test alternate correct macOS framework xcprivacy manifest location by @jmagman in 157136

Documentation

#
  • Fix crash in Linux platform channel example. by @robert-ancell in 155735

Other changes

#
  • Force regeneration of platform-specific manifests before running performance tests by @jason-simmons in 151003
  • Roll pub packages by @flutter-pub-roller-bot in 151203
  • de-duplicate code in analyze.dart by @christopherfujino in 151279
  • Bump actions/upload-artifact from 4.3.3 to 4.3.4 by @dependabot in 151354
  • Add cedric vanden bosch to authors by @cedvdb in 151313
  • Link engine docs on AS setup in flutter/flutter docs on engine contributor setup by @gmackall in 151481
  • Re-enable debug canvaskit e2e tests. by @eyebrowsoffire in 151565
  • Move all Linux Moto G4 tests to mokey in staging by @zanderso in 151608
  • Reverts "Move all Linux Moto G4 tests to mokey in staging (#151608)" by @auto-submit in 151620
  • Unmark java11 tests as bringup:true by @gmackall in 151612
  • Reland: Move all Linux Moto G4 tests to mokey in staging by @zanderso in 151654
  • Bump github/codeql-action from 3.25.11 to 3.25.12 by @dependabot in 151689
  • Remove bringup from platform_views_scroll_perf_bottom_ad_banner__timeline_summary by @jmagman in 151617
  • Move tests on Linux/Mokey and a few others from staging to prod by @zanderso in 151760
  • Retry plugin_test_ios in presubmit by @zanderso in 151773
  • Update CONTRIBUTING.md by @matanlurey in 151614
  • Delete docs/engine directory by @matanlurey in 151616
  • fix(Flutter Web App): fixes html lang typo by @essjay05 in 151866
  • Stop running flaky mac tests in presubmit by @zanderso in 151870
  • Update Flutter-Web-Triage.md by @yjbanov in 151607
  • [web] use the new backlog Github project in triage links by @yjbanov in 151920
  • Roll pub packages by @flutter-pub-roller-bot in 151904
  • Update TESTOWNERS by @jmagman in 151907
  • Roll pub packages by @flutter-pub-roller-bot in 151992
  • Update CONTRIBUTING.md by @chunhtai in 152050
  • Bump github/codeql-action from 3.25.12 to 3.25.13 by @dependabot in 152056
  • Update Flutter-Web-Triage.md by @yjbanov in 152191
  • Notify me of changes to flutter_driver. by @matanlurey in 152188
  • Allow-list sh as a code-snippet type. by @matanlurey in 152196
  • Reverts "Roll Flutter Engine from eb8fac2b1703 to e1259b86ba02 (2 revisions) (#152285)" by @auto-submit in 152289
  • Reverts "Roll Flutter Engine from eb8fac2b1703 to a57655cccb55 (6 revisions) (#152293)" by @auto-submit in 152304
  • Flutter Web App: adds a11y semantic attributes to slider by @DBowen33 in 151985
  • Bump github/codeql-action from 3.25.13 to 3.25.14 by @dependabot in 152342
  • Bump ossf/scorecard-action from 2.3.3 to 2.4.0 by @dependabot in 152400
  • Bump github/codeql-action from 3.25.14 to 3.25.15 by @dependabot in 152401
  • further shard Mac tool_integration_tests from 4 to 5 shards by @andrewkolos in 152399
  • mark Mac tool_integration_tests_* as non-bringup by @andrewkolos in 152412
  • Update New-Android-version.md by @reidbaker in 152395
  • Shift some mac Android tests to Mokey devices in staging by @zanderso in 152499
  • Add Dimil Kalathiya to authors by @Dimilkalathiya in 152491
  • [devicelab] remove Skia specific and unused devicelab metrics. by @jonahwilliams in 152523
  • Shift macOS/Android tests from Pixel 7 to mokey in staging by @zanderso in 152571
  • increase sharding on Windows tool_integration_tests by @andrewkolos in 152582
  • remove bringup from Windows tool_integration_tests_* by @andrewkolos in 152599
  • [Android] Update integration test AVD dependency to use Android 35 emulators by @camsim99 in 152498
  • Update docs to support new Android version by @camsim99 in 152503
  • Fix typo in CHANGELOG.md by @xVemu in 152543
  • Disable DDS and Dart profiling for Android driver tests. by @matanlurey in 152696
  • Add more widgets to a11y assessment app by @hannah-hyj in 152662
  • Shift Linux_build_test tests from MotoG4 to mokey by @zanderso in 152750
  • Reverts "Shift Linux_build_test tests from MotoG4 to mokey (#152750)" by @auto-submit in 152755
  • Update dartdoc to 8.0.12 to fix focusing search field by @parlough in 151576
  • Reland: Shift Linux_build_test tests from MotoG4 to mokey by @zanderso in 152756
  • Use print logging on LUCI. by @matanlurey in 152776
  • Fix misunderstanding of properties vs. drone_dimensions in Linux_build_tests by @zanderso in 152796
  • Fix device_os requested in linux_build_test tests by @zanderso in 152808
  • Mark Linux_android_emu tests bringup: true by @zanderso in 152867
  • Move Linux_build_test tests from staging to prod by @zanderso in 152877
  • Roll pub packages by @flutter-pub-roller-bot in 152127
  • Bump dartdoc to 8.0.13 by @goderbauer in 152896
  • Pass --no-dds to some integration tests driven by flutter drive by @zanderso in 152898
  • Add Nate Wilson to authors by @nate-thegrate in 152907
  • Roll pub packages by @flutter-pub-roller-bot in 152945
  • [devicelab] opt gallery benchmarks and platform view test into merged thread mode. by @jonahwilliams in 152940
  • Roll pub packages by @flutter-pub-roller-bot in 152956
  • Bump github/codeql-action from 3.25.15 to 3.26.0 by @dependabot in 152965
  • Bump actions/upload-artifact from 4.3.4 to 4.3.6 by @dependabot in 152964
  • Update design languages triage link to exclude drafts by @Piinks in 153027
  • Revert "Marks Mac channels_integration_test to be flaky" by @jmagman in 153044
  • Move Android tests with macOS host from staging to prod by @zanderso in 153113
  • Shift Linux_android_emu tests from staging to prod by @zanderso in 153110
  • Clean up .gitignore files by @loic-sharma in 153060
  • [devicelab] opt all impeller tests to GPU tracing, opt some Android tests into merged thread mode. by @jonahwilliams in 153121
  • Re-enable dds for flutter drive tests that use DevTools by @zanderso in 153129
  • Shift tests on moto g4 on Windows hosts to mokey in staging by @zanderso in 153167
  • Also run Linux_android_emu tests on API level 34 image by @zanderso in 153175
  • Move windows mokey tests to prod by @zanderso in 153203
  • In native_assets_test, ignore a failure to delete a temp directory by @zanderso in 153223
  • Add fake dependency on flutter_gpu for the docs by @gspencergoog in 153325
  • Shift API level 34 emulator tests to prod by @zanderso in 153366
  • Retry Linux_android_emu tests in presubmit like they are in postsubmit by @zanderso in 153369
  • Bump github/codeql-action from 3.26.0 to 3.26.1 by @dependabot in 153395
  • Update cherry pick issue template's PR field by @loic-sharma in 153381
  • move some tool TESTOWNERS entries to andrew by @christopherfujino in 153400
  • Update docs to use new Android version in the engine by @camsim99 in 151601
  • manual pub roll w/ gradle updates by @goderbauer in 153403
  • Lint sync by @goderbauer in 153453
  • Enable invalid_runtime_check_with_js_interop_types, use_truncating_division by @goderbauer in 153464
  • Bump github/codeql-action from 3.26.1 to 3.26.2 by @dependabot in 153468
  • Roll avd_cipd_verison to latest to use the crashreport tool. by @matanlurey in 153520
  • [interactive_media_ads] Adds missing IMA plugin to issue template by @bparrishMines in 153510
  • Move Android API level 35 emulator tests to staging by @zanderso in 153568
  • adds team-accessibility to triage workflow by @chunhtai in 153575
  • Update README.md by @chunhtai in 153470
  • Reverts "Roll Flutter Engine from c94651c33b0e to c9fb47927fea (5 revisions) (#153618)" by @auto-submit in 153627
  • Update goldctl git revision by @Piinks in 153710
  • Remove android stack_size_test by @zanderso in 153695
  • Bump github/codeql-action from 3.26.2 to 3.26.3 by @dependabot in 153726
  • Roll pub packages by @flutter-pub-roller-bot in 153740
  • [Release] Update bots to expect new entitlements by @itsjustkevin in 153787
  • add autofocus to fix a11y issue with dialog by @DBowen33 in 152637
  • Roll pub packages by @flutter-pub-roller-bot in 153833
  • Create Postmortem-Platform-View-android-14-regression by @reidbaker in 149201
  • Actually run flutter-dev from source (turns out bash is NP-hard) by @matanlurey in 153863
  • Merge stable changelog to master by @itsjustkevin in 153872
  • Bump github/codeql-action from 3.26.3 to 3.26.4 by @dependabot in 153886
  • Reverts "Roll Flutter Engine from b94e0097035d to f493c212c23e (18 revisions) (#153884)" by @auto-submit in 153899
  • Ensure that the output path used by perf_tests_test matches the path used by perf_tests if the FLUTTER_TEST_OUTPUTS_DIR variable is set by @jason-simmons in 153888
  • Use "run --resident" for flutter-dev. by @mraleph in 153905
  • [Windows] Add a flutter-dev script to run the f lutter CLI from source by @loic-sharma in 153892
  • Manual pub roll by @goderbauer in 153961
  • Update iOS/macOS triage doc links by @jmagman in 153963
  • Update the web test suite runner to use the correct flutter_driver output path if FLUTTER_TEST_OUTPUTS_DIR is set by @jason-simmons in 153966
  • Add app bar and tab bar to a11y assessment app by @hannah-hyj in 152904
  • macOS: Add dSYM to binariesWithoutEntitlements by @cbracken in 153977
  • [devicelan] opt android devices into fixed performance mode. by @jonahwilliams in 154016
  • add -v to flutter install invocation when setting up android run tests by @andrewkolos in 153894
  • iOS: Update codesigned binaries list to match cache by @cbracken in 154027
  • iOS: Remove simulator dSYMs from codesign test by @cbracken in 154041
  • Roll pub packages by @flutter-pub-roller-bot in 154044
  • Reverts "Roll pub packages (#154044)" by @auto-submit in 154113
  • Make the pub roller bot re-generate gradle lockfiles by @gmackall in 149355
  • Bump github/codeql-action from 3.26.4 to 3.26.5 by @dependabot in 154140
  • Uninstall microbenchmarks before running them. by @jtmcdole in 154183
  • Reverts "Uninstall microbenchmarks before running them. (#154183)" by @auto-submit in 154200
  • Remove scorecards and other badging with broken links by @matanlurey in 154272
  • Temporarily mark Linux customer_testing as bringup: true. by @matanlurey in 154297
  • Increase timeout for customer_testing test step by @zanderso in 154339
  • Roll pub packages by @flutter-pub-roller-bot in 154352
  • Add verbose logging for customer testing shard by @Piinks in 154356
  • validate and commit after regenerating gradle lockfiles from pub autoroller by @christopherfujino in 154152
  • increase Linux build_test shard count from 3 to 5 by @yjbanov in 154444
  • improve trace logging in packages autoroller by @christopherfujino in 154441
  • Revert "improve trace logging in packages autoroller" by @zanderso in 154555
  • Improve microbenchmarks a smidge by @jtmcdole in 154461
  • Adds wide gamut framework test by @gaaclarke in 153319
  • Add Android SDK to Linux packages_autoroller by @christopherfujino in 154462
  • Really make the seed stable to YYYY-MM-DD by @jtmcdole in 154568
  • Revert #154339, remove bringup on linux customer testing by @Piinks in 154372
  • Update customer test logging by @Piinks in 154577
  • Prepare bots for not reporting UNUSED_IMPORT in presence of unresolved identifiers. by @scheglov in 154514
  • Get reasonable output when a stream test fails. by @matanlurey in 154377
  • Bump peter-evans/create-pull-request from 6.1.0 to 7.0.0 by @dependabot in 154587
  • Update changelog from 3.24.2 to master by @reidbaker in 154625
  • iOS,macOS: Add list of expected-unsigned binaries by @cbracken in 154591
  • Bump peter-evans/create-pull-request from 7.0.0 to 7.0.1 by @dependabot in 154690
  • Reverts "Roll Flutter Engine from c50eb8a65097 to 015f3b1dec53 (2 revisions) (#154691)" by @auto-submit in 154726
  • Quick access to style guide by @goderbauer in 154689
  • [Conductor] Add ability to override mirror, add tests for default arg parsing and custom arg parsing by @reidbaker in 154363
  • Reverts "Roll Flutter Engine from 419fb8c0ab3e to b9f9015ff986 (12 revisions) (#154764)" by @auto-submit in 154765
  • Roll pub packages by @flutter-pub-roller-bot in 154890
  • Roll pub packages by @flutter-pub-roller-bot in 154894
  • Remove scheduler: luci from new build_aar_module_test by @gmackall in 154945
  • Remove last --disable-dart-dev in flutter/flutter. by @matanlurey in 154948
  • Missing benchmarks for foundation/all_elements_bench.dart by @jtmcdole in 154954
  • Fix java version used by build_aar_module_test by @gmackall in 154967
  • iOS: update provisioning profile for 2024-2025 cert by @cbracken in 155052
  • Reverts "iOS: update provisioning profile for 2024-2025 cert (#155052)" by @auto-submit in 155059
  • Externalize and update onboarding instructions by @reidbaker in 154730
  • iOS: update provisioning profile for 2024-2025 cert by @cbracken in 155101
  • update changelog on master by @itsjustkevin in 155109
  • Bump peter-evans/create-pull-request from 7.0.1 to 7.0.2 by @dependabot in 155126
  • Uninstall /can fail/ by @jtmcdole in 155314
  • Bump peter-evans/create-pull-request from 7.0.2 to 7.0.5 by @dependabot in 155378
  • Update README.md by @ArtificialZeng in 155206
  • create_api_docs.dart: correct command logging by @srawlins in 155226
  • increase both linux & windows tool integration test shards by @christopherfujino in 155631
  • mark linux packages autoroller bringup: true by @christopherfujino in 155705
  • Bump actions/checkout from 4.1.7 to 4.2.0 by @dependabot in 155711
  • Bump codecov/codecov-action from 4.4.1 to 4.5.0 by @dependabot in 150229
  • remove fujino from CODEOWNERS by @christopherfujino in 155369
  • Use flutter from in same repo (not path) in generate_gradle_lockfiles.dart by @gmackall in 155790
  • Use flutter from in same repo (not path) in generate_gradle_lockfiles.dart (again) by @gmackall in 155794
  • Turn the packages roller bot back on by @gmackall in 155842
  • docs: Update gardener doc with tree-gardener channel by @cbracken in 155972
  • Bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in 156024
  • Roll pub packages by @flutter-pub-roller-bot in 156030
  • mark {Linux,Windows} tool_integration_tests_* non-bringup by @christopherfujino in 155773
  • Roll pub packages by @flutter-pub-roller-bot in 156105
  • Update Upgrading-Engine's-Android-API-version.md to reflect code move by @reidbaker in 156108
  • [ Cocoon ] Wait for task results to be received by the task runner before shutting down the task process by @bkonyi in 156002
  • further shard the Windows tool_integration_tests* targets by @andrewkolos in 156121
  • Move some tools test ownership to Ben by @andrewkolos in 156123
  • Roll pub packages by @flutter-pub-roller-bot in 156159
  • Roll pub packages by @flutter-pub-roller-bot in 156215
  • remove bringup from Windows tool_integration_tests_* by @andrewkolos in 156179
  • Roll pub packages by @flutter-pub-roller-bot in 156254
  • Clarify when override: no versioning needed label should be applied by @loic-sharma in 156342
  • Bump actions/checkout from 4.2.0 to 4.2.1 by @dependabot in 156366
  • Roll Dartdoc to 8.2.0 by @jason-simmons in 156426
  • Roll pub packages by @flutter-pub-roller-bot in 156284
  • Started handling duplicate validation layer messages by @gaaclarke in 156375
  • [flutter_releases] Flutter beta 3.27.0-0.1.pre Framework Cherrypicks by @reidbaker in 157268

New contributors

#
  • @xiaoxianBoy made their first contribution in 150402
  • @veloce made their first contribution in 149102
  • @Dispersia made their first contribution in 150999
  • @j7126 made their first contribution in 150896
  • @Vi-debug made their first contribution in 151294
  • @arbaker2 made their first contribution in 151386
  • @johnstef99 made their first contribution in 151228
  • @n7484443 made their first contribution in 151364
  • @essjay05 made their first contribution in 151866
  • @croro613 made their first contribution in 151935
  • @weasdown made their first contribution in 152022
  • @jasonkang14 made their first contribution in 151731
  • @DBowen33 made their first contribution in 151996
  • @biggs0125 made their first contribution in 152182
  • @xVemu made their first contribution in 152543
  • @gazal-k made their first contribution in 152444
  • @kerberjg made their first contribution in 153039
  • @kawaijoe made their first contribution in 153178
  • @SyncroIT made their first contribution in 152075
  • @Chuckame made their first contribution in 150355
  • @iam-amanxz made their first contribution in 151585
  • @mansourzaki made their first contribution in 153103
  • @Lxxyx made their first contribution in 154105
  • @Sikandar4747 made their first contribution in 153633
  • @mnayef95 made their first contribution in 153757
  • @SuicaLondon made their first contribution in 154150
  • @dishankjindal1 made their first contribution in 154182
  • @ishon19 made their first contribution in 154473
  • @daniellampl made their first contribution in 154405
  • @mohsinraza-fdev made their first contribution in 150776
  • @amal-stack made their first contribution in 154073
  • @dy0gu made their first contribution in 154057
  • @rajveermalviya made their first contribution in 154715
  • @shashwatpathak98 made their first contribution in 152836
  • @abdalmonem made their first contribution in 150903
  • @zijiehe-google-com made their first contribution in 155111
  • @ArtificialZeng made their first contribution in 155206
  • @nick9822 made their first contribution in 154675
  • @hyhugh made their first contribution in 154908
  • @iNoles made their first contribution in 155644
  • @huanglizhuo made their first contribution in 155508
  • @g0rdan made their first contribution in 155864
  • @ziqq made their first contribution in 154601
  • @ThHareau made their first contribution in 154932
  • @admosity made their first contribution in 155571

Full Changelog: https://github.com/flutter/flutter/compare/3.24.0...3.27.0-0.1.pre

Flutter engine

#

Impeller

#
  • [Impeller] Document how to debug/profile OpenGL ES on macOS. by @chinmaygarde in 53671
  • [Impeller] Make storage sizes typed. by @chinmaygarde in 53700
  • [Impeller] Re-enable fast blur path for elliptical rrects by @flar in 53704
  • [Impeller] add experimental canvas support to screenshotter. by @jonahwilliams in 53751
  • [Impeller] implement clear color opt for experimental canvas. by @jonahwilliams in 53749
  • [Impeller] fix incorrect padding/translation in drawVertices with texture coordinates. by @jonahwilliams in 53746
  • [Impeller] Exploit dynamic state in OpenGL for fewer program links. by @chinmaygarde in 53764
  • [Impeller] Disable OpenGL dithering by default. by @chinmaygarde in 53768
  • [Impeller] implement experimental canvas in snapshot controller. by @jonahwilliams in 53750
  • [Impeller] Enable framebuffer fetch tests disabled on OpenGL ES. by @chinmaygarde in 53766
  • [Impeller] Use downsample shader for blur instead of mip levels. by @jonahwilliams in 53760
  • Avoid using a private GTest macro to skip tests. by @chinmaygarde in 53782
  • [Impeller] Validation logs indicate where in code the validation error happened. by @chinmaygarde in 53784
  • [Impeller] Update docs that specify how to select the Impeller backend. by @chinmaygarde in 53788
  • [Impeller] Validation errors in tests cause GTest failures. by @chinmaygarde in 53786
  • [Impeller] Fix markdown formatting for blocks with tips. by @chinmaygarde in 53789
  • [Impeller] move more aiks tests to DL. by @jonahwilliams in 53792
  • [Impeller] Enable fixed-rate compression support in Vulkan. by @chinmaygarde in 53292
  • [dart:ui] remove expensive index assertion in Vertices. by @jonahwilliams in 53558
  • [Impeller] Ensure full transform is applied to text contents by @jonahwilliams in 53819
  • [Impeller] move Aiks path unittests to DL by @jonahwilliams in 53799
  • [Impeller] Cleanup stale TODOs and fixup the format of others. by @chinmaygarde in 53825
  • Move images to flutter/assets-for-api-docs by @jtmcdole in 53917
  • [Impeller] Use depth transform in framebuffer blend entities. by @bdero in 53951
  • [Impeller] Convert basic AIKS golden tests to use DisplayList by @flar in 53969
  • [Impeller] re-enable AHB swapchain. by @jonahwilliams in 53978
  • [Impeller] try disabling backpressure in AHB swapchain. by @jonahwilliams in 54012
  • [Impeller] detect max cull rect on bounds. by @jonahwilliams in 54013
  • [Impeller] enable ahb swapchain on emulators. by @jonahwilliams in 54019
  • Reverts "[Impeller] enable ahb swapchain on emulators. (#54019)" by @auto-submit in 54022
  • [Impeller] Remove implicit calls to glGetError in opt modes. by @chinmaygarde in 54016
  • [Impeller] ensure fp rounding errors don't cause us to lose a row of pixels when computing text positions. by @jonahwilliams in 54015
  • [Impeller] Cleanly revert requiring backpressure for AHB swapchains. by @chinmaygarde in 54027
  • [Impeller] Implement OpenGL to Vulkan texture trampolining. by @chinmaygarde in 53966
  • [Impeller] add emulated advanced blend support for exp canvas. by @jonahwilliams in 54020
  • [Impeller] Use new DisplayList SaveLayer unbounded flag by @flar in 54085
  • [iOS] Switch to FlutterMetalLayer by default. by @jonahwilliams in 54086
  • [Impeller] Implement draw order optimization. by @bdero in 54067
  • Reverts "[Impeller] Implement draw order optimization. (#54067)" by @auto-submit in 54136
  • Revert "[Impeller] Use downsample shader for blur instead of mip levels. (#53760)" by @gaaclarke in 54148
  • [impeller] adds test for catching shimmer in gaussian blur by @gaaclarke in 54116
  • [Impeller] Fix the operator used to build the condition to check for OpenGLES. by @chinmaygarde in 54155
  • [Impeller] delete rasterizer class. by @jonahwilliams in 54196
  • [Impeller] makes the gaussian down sample scalar fixed by adjusting the downsample padding by @gaaclarke in 54150
  • Reland: [Impeller] Use downsample shader for blur instead of mip levels. by @gaaclarke in 54149
  • [engine] Split encode and submit into two different surface frame callbacks. by @jonahwilliams in 54200
  • [Impeller] Use linear sampling to sample from AHB textures in Vulkan. by @chinmaygarde in 54233
  • Migrate the remaining real pub packages to pub workspaces. by @matanlurey in 54232
  • [Impeller] Reland: Implement draw order optimization. by @bdero in 54215
  • Reverts "[Impeller] Reland: Implement draw order optimization. (#54215)" by @auto-submit in 54261
  • [Impeller] move more aiks tests to DL. by @jonahwilliams in 54260
  • [Impeller] Reland 2: Implement draw order optimization. by @bdero in 54268
  • [Impeller] migrate more AIKS test to DL. by @jonahwilliams in 54267
  • [iOS] Supported rendering platform views without merging the raster thread. by @jonahwilliams in 53826
  • [Impeller] check allocation failures. by @jonahwilliams in 54320
  • [Impeller] Use the typed allocation sizes in impeller::Allocation. by @chinmaygarde in 54327
  • Delete //flutter/fml/compiler_specific.h by @chinmaygarde in 54330
  • Revert "[Impeller] Reland 2: Implement draw order optimization. (#54268) by @bdero in 54325
  • [Impeller] ensure precision matches for buggy vulkan drivers. by @jonahwilliams in 54372
  • [Impeller] Reorder pipeline construction in content context. by @chinmaygarde in 54373
  • [Impeller] Statically check stage interfaces for precision mismatches. by @chinmaygarde in 54375
  • [Impeller] bulk update fresh glyph atlas. by @jonahwilliams in 54379
  • [Impeller] made Vector3 naming match Vector2 naming. by @gaaclarke in 54396
  • [Impeller] Make stage compatibility checker work with stages that have no inputs or outputs. by @chinmaygarde in 54406
  • [Impeller] perform final blit and gpu end frame tracing earlier. by @jonahwilliams in 54452
  • [Impeller] move aiks text tests to DL. by @jonahwilliams in 54293
  • [Impeller] remove scene3d support. by @jonahwilliams in 54453
  • [Impeller] Add FAQ entries. by @chinmaygarde in 54456
  • Remove shared mutex from FML and use the C++17 variants. by @chinmaygarde in 54482
  • [Impeller] migrate blend tests to DL. by @jonahwilliams in 54457
  • [Impeller] delete unused aiks PictureRecorder. by @jonahwilliams in 54495
  • Revert "[Impeller] remove scene3d support." by @bdero in 54502
  • [Impeller] fix drawPoints scaling factors. by @jonahwilliams in 54368
  • [Impeller] migrate blur tests to display list. by @jonahwilliams in 54519
  • Reverts "[Impeller] migrate blur tests to display list. (#54519)" by @auto-submit in 54564
  • [Impeller] convert aiks blur tests to new canvas. by @jonahwilliams in 54565
  • [Impeller] Switch from AIKS canvas to DL based canvas implementation. by @jonahwilliams in 53781
  • [Impeller] add support for superellipse. by @jonahwilliams in 54562
  • [Impeller] finish experimental canvas changes. by @jonahwilliams in 54569
  • [Impeller] use paragraphs instead of bullet points in the FAQ. by @chinmaygarde in 54622
  • [Impeller] Add a note about Graphite to the FAQ. by @chinmaygarde in 54623
  • Changes DlColor to support wide gamut colors by @gaaclarke in 54473
  • [Impeller] account for negative scale in max basis xy. by @jonahwilliams in 54630
  • Reverts "Changes DlColor to support wide gamut colors (#54473)" by @auto-submit in 54636
  • Changes DlColor to support wide gamut colors (#54473) by @gaaclarke in 54648
  • [Impeller] Remove unused ColorHSB. by @chinmaygarde in 54659
  • [Impeller] Perform integrity checks for Vulkan pipeline caches. by @chinmaygarde in 54654
  • [Impeller] use blit pass to resize decoded images. by @jonahwilliams in 54606
  • [Impeller] Remove a log message in the Vulkan back end that is visible during engine startup by @jason-simmons in 54699
  • [Impeller] Reland 3: Implement draw order optimization. by @bdero in 54673
  • [Impeller] more test migration. by @jonahwilliams in 54763
  • [Impeller] delete impeller image class. by @jonahwilliams in 54767
  • Change the ci/analyze.sh script to analyze all of the engine by @matanlurey in 54779
  • [Impeller] fix incorrect origins for mesh gradient computation. by @jonahwilliams in 54762
  • [Impeller] Use infinite swapchain present timeouts to avoid logspam. by @chinmaygarde in 54810
  • [Impeller] Clarify where to put the metadata in the manifest. by @chinmaygarde in 54814
  • [Impeller] Don't override user specification on Vulkan validation in unopt. by @chinmaygarde in 54816
  • Synchronize accounting for render op depths by @flar in 54794
  • [Impeller] Increase host buffer arena count to 4. by @jonahwilliams in 54808
  • [Impeller] port clip stack fixes to new canvas. by @jonahwilliams in 54727
  • [Impeller] ensure that srcOver to src conversion takes stroke coverage into account. by @jonahwilliams in 54817
  • [Impeller] fix clip culling with exp canvas. by @jonahwilliams in 54701
  • [Impeller] Use multiple command buffers for blur submission. by @jonahwilliams in 54846
  • Hooks up framework wide gamut to engine wide gamut by @gaaclarke in 54567
  • [android] Disable AHB swapchain and import on huawei API 29 devices. by @jonahwilliams in 54879
  • Reverts "Hooks up framework wide gamut to engine wide gamut (#54567)" by @auto-submit in 54884
  • Reland: Hooks up framework wide gamut to engine wide gamut by @gaaclarke in 54906
  • [Impeller] separate algorithm for computing render target size. by @jonahwilliams in 54604
  • [Impeller] disable Adreno 630 vulkan and add mechanism for android driver denylisting. by @jonahwilliams in 54920
  • [Impeller] Add all requested glyphs if TypographerContextSkia needs to create a new atlas by @jason-simmons in 54912
  • Framework wide color linear gradients by @gaaclarke in 54748
  • [Impeller] migrate last color wheel test to DisplayList. by @jonahwilliams in 54964
  • [impeller] fake image for fake tests. by @jonahwilliams in 54974
  • [Impeller] opt into exp canvas. by @jonahwilliams in 54913
  • [DisplayList] use DlScalar, DlPoint, DlRect exclusively in DlOpReceiver methods by @flar in 54982
  • [Impeller] add herustic for ignoring coverage limit w/ image filters. by @jonahwilliams in 55030
  • Unskip Impeller iOS scenario tests by @jmagman in 55012
  • [Impeller] fix comment on savelayer utils. by @jonahwilliams in 55049
  • [Impeller] hash less text stuff per frame for text rendering. by @jonahwilliams in 55060
  • [DisplayList] DlPath object provides auto-conversion from Skia to Impeller by @flar in 55055
  • Remove Impeller Scene 👋 by @bdero in 55118
  • [impeller] add Android flag for disabling surface control for debugging. by @jonahwilliams in 55185
  • Remove scene GLB files by @bdero in 55263
  • Fixed solid blur style math by @gaaclarke in 55194
  • [Impeller] Expose a single-header C API to Impellers Display-List layer. by @chinmaygarde in 55238
  • [Impeller] remove usage of VBB when allocating vertices of a fixed size. by @jonahwilliams in 55235
  • [Impeller] use BufferSubData to update gles device buffer. by @jonahwilliams in 55330
  • [Impeller] add triangle fan support and remove drawVertices copying. by @jonahwilliams in 55236
  • [Impeller] Fix GLES gaussian implementation. by @jonahwilliams in 55329
  • Added assert for host buffer allocation. by @gaaclarke in 55395
  • [Impeller] fix OES texture usage. by @jonahwilliams in 55331
  • [Impeller] delete expensive trace event. by @jonahwilliams in 55400
  • [Impeller] Delete command pools held by the CommandPoolRecyclerVK after decoding an image on the IO thread by @jason-simmons in 55398
  • [Impeller] Pack impeller:Path into 2 vecs instead of 3. by @jonahwilliams in 55028
  • [Impeller] add basic culling checks during text frame dispatcher. by @jonahwilliams in 55168
  • Fixes blend + color filter by @gaaclarke in 55411
  • Remove usages of WindowManager's getDefaultDisplay by @jesswrd in 55002
  • [Impeller] actually fix external texture for GLES. by @jonahwilliams in 55414
  • fixes color filter + advanced blends by @gaaclarke in 55448
  • [Impeller] remove entity pass and re-combine canvas implementations. by @jonahwilliams in 55019
  • [Impeller] avoid reading font while parsing sktextblob. by @jonahwilliams in 55442
  • [Impeller] dont use blend shader for simple drawAtlas calls. by @jonahwilliams in 55420
  • [Impeller] hash even less stuff per frame. by @jonahwilliams in 55092
  • Reverts "[Impeller] hash even less stuff per frame. (#55092)" by @auto-submit in 55491
  • [Impeller] Apply some recent color filter fixes to BlendFilterContents::CreateForegroundAdvancedBlend by @jason-simmons in 55470
  • [Impeller] Create a libImpeller dylib and expose symbols. by @chinmaygarde in 55526
  • [impeller] merge aiks directory into impeller/display_list directory. by @jonahwilliams in 55471
  • Vectorize rrect_blur by @gaaclarke in 55576
  • [Impeller] Fix handling of perspective matrices in Matrix::Translate by @jason-simmons in 55536
  • [Impeller] Do not cull in TextFrameDispatcher::drawDisplayList if the transform has perspective by @jason-simmons in 55602
  • [Impeller] A text layout and shaping API for the standalone library. by @chinmaygarde in 55598
  • [Impeller] remove aiks color_source. by @jonahwilliams in 55603
  • [Impeller] clamp render target size at max texture size. by @jonahwilliams in 55628
  • [Impeller] generate mipmaps for toImage. by @jonahwilliams in 55655
  • [Impeller] Use a squircle-sdf-based algorithm for fast blurs by @flar in 55604
  • [Impeller] remove usage of MaxBasisLength in favor of XY variant. by @jonahwilliams in 55670
  • [Impeller] remove aiks color_filter and image_filter types. by @jonahwilliams in 55654
  • [Impeller] add parsing of known GPU models by @jonahwilliams in 55196
  • [Impeller] remove Vulkan command encoder abstraction, use command buffer vk. by @jonahwilliams in 55680
  • [Impeller] disable surface control on API 29. by @jonahwilliams in 55708
  • Speculative fix for memory issues related to retrying image decompression by @gaaclarke in 55704
  • [Impeller] remove heap allocation of most geometry objects. by @jonahwilliams in 55677
  • Added mutex to the pending gpu tasks deque. by @gaaclarke in 55748
  • [Impeller] libImpeller: Allow wrapping external texture handles. by @chinmaygarde in 55664
  • [Impeller] libImpeller: Fix typo in public API. by @chinmaygarde in 55750
  • [Impeller] Do not scale the miter limit applied to stroked text by @jason-simmons in 55745
  • fixes mask blurs on stoked gradient geometry by @gaaclarke in 55717
  • [Flutter GPU] Get the GLES backend/Windows working. by @bdero in 55694
  • [Impeller] libImpeller: Allow fetching OpenGL texture handle. by @chinmaygarde in 55753
  • Rename GetTargetRenderPassDescriptor to GetRenderTarget. by @matanlurey in 55765

Android

#
  • Move //third_party/android_embedding_dependencies to //flutter/third_party. by @matanlurey in 53587
  • [engine] support combined UI/Platform thread for iOS/Android. by @jonahwilliams in 53656
  • Move //third_party/java to //flutter/third_party/java by @matanlurey in 53590
  • [Impeller] Refactor and document Android rendering related TUs. by @chinmaygarde in 53802
  • More logs for Android unsatisfiedLinkError by @gmackall in 53920
  • [Android] Call restartInput selectively on clear by @bleroux in 53662
  • Upgrade Engine Android SDK to 35 by @camsim99 in 53574
  • share platform view slicing logic across iOS and Android. by @jonahwilliams in 54010
  • Remove incorrect line by @gspencergoog in 54021
  • Directly use 4x4 matrices with surface textures instead of converting to and from the 3x3 variants. by @chinmaygarde in 54126
  • [Impeller] Enable on-by-default on Android. by @chinmaygarde in 54156
  • Update flutter_shell_native_unittests for compatibility with Android API 35 emulators by @jason-simmons in 54235
  • [Android] Revert "Reset IME state on clear text input client" by @bleroux in 54277
  • Set deep linking flag to true by default by @hannah-hyj in 52350
  • [android] workaround for HC bug. by @jonahwilliams in 54408
  • Remove fml::size. by @chinmaygarde in 54476
  • Use getBoundingRects to add support inset MediaQuery/SafeArea when in freeform mode controls are shown. by @yaakovschectman in 54294
  • [engine] reland weaken affinity of raster/ui to non-e core instead of only fast core by @jonahwilliams in 54616
  • Remove spammy warning message on FlutterView by @matanlurey in 54686
  • [Android] Drops semantics query when app is not attached by @chunhtai in 52040
  • Use moved Skia Ganesh header files by @kjlubick in 54833
  • [Impeller] fix NPE when checking known bad driver. by @jonahwilliams in 54959
  • Add back FlutterViewTest.java by @reidbaker in 55048
  • Replace System.loadLibrary with ReLinker.loadLibrary() in FlutterJNI.loadLibrary() by @gmackall in 55095
  • [engine] make UI thread the platform thread for Android. Still allows opt out as g3 escape hatch. by @jonahwilliams in 55111
  • Add copyright notices to java test files by @reidbaker in 55155
  • add back test itSendsTextShowPasswordToFrameworkOnAttach with new mock for display metrics by @reidbaker in 55110
  • Synthesize remove events on PointerChange.ACTION_UP and PointerChange.ACTION_POINTER_UP by @gmackall in 55157
  • flutter view add test 2 by @reidbaker in 55188
  • FlutterViewTest add back part 4 and 5 by @reidbaker in 55243
  • Add a check for the surface if it is valid by @mahmuttaskiran in 55277
  • Update setSystemChromeEnabledSystemUIMode docs to note targeting Android 15+ change by @camsim99 in 54560
  • Add SurfaceProducer#onSurfaceAvailable, deprecate onSurfaceCreated. by @matanlurey in 55418
  • Add a boolean that exposes rotation/crop metadata capability. by @matanlurey in 55434
  • [engine] set platform thread name to ui. by @jonahwilliams in 55362
  • Move lint suppression from baseline.xml to @SuppressLint. by @matanlurey in 55447
  • Reverts "Add SurfaceProducer#onSurfaceAvailable, deprecate onSurfaceCreated. (#55418)" by @auto-submit in 55450
  • Reverts "Reverts "Add SurfaceProducer#onSurfaceAvailable, deprecate onSurfaceCreated. (#55418)" (#55450)" by @auto-submit in 55463
  • ReleaseonTrimMemoryListener after ImageReaderSurfaceProducer released. by @matanlurey in 55760

iOS

#
  • [Impeller] mark the end of a frame boundary for system compositor interop. by @jonahwilliams in 53722
  • [iOS] Mark EmbeddedViewCount const by @cbracken in 54062
  • [iOS] Flush layer pool after platform view dispose by @cbracken in 54056
  • Disable FlutterMetalLayer by default. by @jonahwilliams in 54095
  • Fix retain cycle in FlutterMetalLayer by @knopp in 54119
  • [iOS] enable FlutterMetalLayer. by @jonahwilliams in 54121
  • [iOS] leak a single overlay layer. by @jonahwilliams in 54189
  • Properly calculate alwaysUse24HourFormat on MacOS by @kpsroka in 53795
  • [iOS] clean ups to platform view controller by @jonahwilliams in 54335
  • Fix FlutterMetalLayer testDealloc flakiness on iOS 18 by @knopp in 54403
  • [iOS] keep threads merged when using Skia renderer on iOS by @jonahwilliams in 54514
  • Preserve background frame damage by @knopp in 54540
  • [iOS] Tweak note about OpenGL support on mac in a user facing log. by @chinmaygarde in 54690
  • [engine] make Platform thread the UI thread for iOS Impeller. by @jonahwilliams in 54655
  • [Engine] Add no op surface by @jonahwilliams in 54694
  • [ios] Fix text input edit rotor accessibility by @hellohuanlin in 54351
  • [engine] add an ios noop context. by @jonahwilliams in 54856
  • [ios][platform_view] fix platform view clipping path intersection by @hellohuanlin in 54820
  • [engine] reland: always post tasks for platform channel responses. by @jonahwilliams in 55006
  • Reverts "[engine] reland: always post tasks for platform channel responses. (#55006)" by @auto-submit in 55022
  • [ios] Update gesture position on every event by @moffatman in 55285
  • [iOS] sprinkle some null checks on BringLayersIntoView. by @jonahwilliams in 55334
  • [iOS] remove clear color hack. by @jonahwilliams in 54451
  • iOS: Migrate FlutterAppDelegate to ARC by @cbracken in 55472
  • iOS: Migrate FlutterHeadlessDartRunner to ARC by @cbracken in 55502
  • iOS: Migrate FlutterEngineGroup to ARC by @cbracken in 55503
  • iOS: Migrate FlutterPlatformPlugin to ARC by @cbracken in 55571
  • iOS: Migrate accessibility_bridge to ARC by @cbracken in 55570
  • [Impeller] one aiks context per app. by @jonahwilliams in 55393
  • Reverts "[Impeller] one aiks context per app. (#55393)" by @auto-submit in 55625
  • iOS: Fix IOSSurfaceNoopTest by @cbracken in 55621
  • [Impeller] ensure one AiksContext per app. by @jonahwilliams in 55629
  • iOS: Migrate FlutterEngine to ARC by @cbracken in 55590
  • Revert "iOS: Migrate FlutterEngine to ARC (#55590)" by @cbracken in 55699

Web

#
  • fix: mask disappeared when having nested mask filter on Flutter web HTML by @Kingtous in 45166
  • [Flutter Web(HTML)] fix: shader mask is painted incorrectly on shared offscreen canvas by @Kingtous in 44998
  • Add Semantics Property linkUrl by @mdebbar in 53507
  • [web] ignore pointer events on plain text spans by @yjbanov in 53694
  • Reverts "fix: mask disappeared when having nested mask filter on Flutter web HTML (#45166)" by @auto-submit in 53725
  • [web] use semantic tags for headings (h1, h2, etc), and fix missing secondary roles by @yjbanov in 53703
  • web_ui: drop internal hash code library by @kevmoo in 53783
  • Reverts "web_ui: drop internal hash code library (#53783)" by @auto-submit in 53793
  • Reland (x2) "Output .js files as ES6 modules. (flutter#52023)" by @eyebrowsoffire in 53718
  • Remove casts for toDartObject by @srujzs in 53621
  • [web] retrieve hostElement for an implicit view by @p-mazhnik in 53296
  • Relax the event assumptions for keydown events. by @tugorez in 53830
  • [skwasm] Fix platform view placement. by @eyebrowsoffire in 53845
  • Drop self-references to hash functions from doc comments by @kevmoo in 53844
  • [web] switch to SemanticsAction.focus (attempt 3) by @yjbanov in 53689
  • [web] fix unexpected scrolling in semantics by @yjbanov in 53922
  • [web] Set touch-action:none in embedded views. by @ditman in 53945
  • [skwasm] Combine offset and transform properly. by @eyebrowsoffire in 53967
  • Drop deprecated hash_code functions by @kevmoo in 54000
  • Reverts "Drop deprecated hash_code functions (#54000)" by @auto-submit in 54002
  • Reverts "Reverts "Drop deprecated hash_code functions (#54000)" (#54002)" by @auto-submit in 54004
  • [canvaskit] Decode images using tag decoding by @harryterkelsen in 53201
  • Change JSArray.length to return int by @srujzs in 54051
  • [skwasm] Fix platform view occlusion logic. by @eyebrowsoffire in 54061
  • [web] better class names for semantics by @yjbanov in 54070
  • Initial pass to cleanup dom.dart to use newer JS interop styles by @srujzs in 54093
  • Refactor detectContentType to prepare for animation detection by @harryterkelsen in 54127
  • Pub workspace-ify most of testing/ and parts of tools/ by @matanlurey in 54124
  • [web] Fix scaledImageSize handling of a target width with no target height by @jason-simmons in 54122
  • enumify ImageType and ImageFileSignature by @harryterkelsen in 54131
  • [web] rename dialog to route to match the framework by @yjbanov in 54228
  • [web] Dispose a temporary image that may be created by instantiateImageCodecWithSize by @jason-simmons in 54096
  • [skwasm] Implement platform view clipping. by @eyebrowsoffire in 54201
  • [canvaskit] Detect animated WebP images by @harryterkelsen in 54418
  • [canvaskit] Add animation detection for GIFs by @harryterkelsen in 54483
  • [canvaskit] Improve how overlays are optimized by @harryterkelsen in 54547
  • [skwasm] Fix skwasm clip coverage algorithm. by @eyebrowsoffire in 54572
  • web_ui: bump min Dart SDK to 3.6.0-0 by @kevmoo in 54626
  • Update package:js version constraints to ^0.7.0 and update test versions to match by @srujzs in 54629
  • Remove unnecessary breaks in default clauses of switch statements by @jason-simmons in 54669
  • [web] annotate obscured text fields as passwords by @yjbanov in 54664
  • [web:semantics] fix double click due to long-press by @yjbanov in 54697
  • Framework wide color by @gaaclarke in 54415
  • Revert "Framework wide color" by @flar in 54728
  • [web] Multi-view support for Skwasm by @mdebbar in 48893
  • [web] set the "dialog" ARIA role unconditionally by @yjbanov in 54761
  • Compile dart2wasm modules using the JS runtime exported compileStreaming by @osa1 in 51488
  • [skwasm] Always do backdrop filter operation even if empty. by @eyebrowsoffire in 54844
  • Reland: Framework wide color (#54415) by @gaaclarke in 54737
  • Reverts "Reland: Framework wide color (#54415) (#54737)" by @auto-submit in 54885
  • Reland: Framework wide color (#54415) (#54737) by @gaaclarke in 54905
  • [web:canvaskit] switch to temporary SkPaint objects by @yjbanov in 54818
  • Add crossOrigin property to tag used for decoding by @harryterkelsen in 54961
  • Fix unexpected ViewFocus events when Text Editing utilities change focus in the middle of a blur call. by @tugorez in 54965
  • [canvaskit] Fix incorrect calculation of ImageFilter paint bounds by @harryterkelsen in 54980
  • Removes the int storage from Color by @gaaclarke in 54714
  • [skwasm] use temporary RawPaint objects by @yjbanov in 54917
  • [multiple] Avoid new unreachable_switch_default warning. by @stereotype441 in 54996
  • Reverts "[skwasm] use temporary RawPaint objects (#54917)" by @auto-submit in 55018
  • Revert "Add crossOrigin property to tag used for decoding (#54961)" by @eyebrowsoffire in 55042
  • [skwasm] use temporary RawPaint objects (attempt #2) by @yjbanov in 55035
  • [dart2wasm] Move web wasm embedder to new dart2wasm embedder API by @mkustermann in 55037
  • Update Color to do all calculations with floating point components by @gaaclarke in 54981
  • [skwasm] Scene builder optimizations for platform view placement by @eyebrowsoffire in 54949
  • Reverts "[skwasm] Scene builder optimizations for platform view placement (#54949)" by @auto-submit in 55193
  • Reland: Update Color to do all calculations with floating point components by @gaaclarke in 55231
  • [web] Fix keyboard not showing up when iOS input has decoration text by @mdebbar in 55152
  • [canvaskit] Further improve overlay optimization by splitting pictures by @harryterkelsen in 54878
  • Revert "[canvaskit] Further improve overlay optimization by splitting pictures" by @harryterkelsen in 55401
  • Reland "[canvaskit] Further improve overlay optimization by splitting pictures" by @harryterkelsen in 55402
  • Reverts "Reland "[canvaskit] Further improve overlay optimization by splitting pictures" (#55402)" by @auto-submit in 55456
  • Reland "[canvaskit] Further improve overlay optimization by splitting pictures" by @harryterkelsen in 55464
  • [web] Update builder json generator to reflect recent changes by @mdebbar in 55307
  • Listen for uncaught exceptions during loading of a web test suite in Chrome by @jason-simmons in 55166
  • Revert "Reland "[canvaskit] Further improve overlay optimization by splitting pictures"" by @harryterkelsen in 55501
  • Reland [skwasm] Scene builder optimizations for platform view placement by @eyebrowsoffire in 55468
  • Reland "[canvaskit] Further improve overlay optimization by splitting pictures" by @harryterkelsen in 55563
  • Revert "Reland [skwasm] Scene builder optimizations for platform view placement (#55468)" by @eyebrowsoffire in 55715
  • [web] Warn users when picking a deprecated renderer. by @ditman in 55709
  • [canvaskit] Fix incorrect clipping with Opacity scene layer by @harryterkelsen in 55751

Desktop

#
  • [macOS] Multiview compositor by @dkwingsmt in 52253
  • macOS: Update platform node when AXNodeData role changes by @knopp in 54364
  • [Windows] Improve texture format logic by @loic-sharma in 54329
  • macOS: Fix crash in attributedSubstringForProposedRange with out of bounds range by @knopp in 54469
  • More diagnostic clean ups by @matanlurey in 54265
  • Test running the macOS engine has no stray logging by @jmagman in 54716
  • [macOS] Add TODOs to remove AppKit bug workaround by @cbracken in 54764
  • Revert "Test running the macOS engine has no stray logging" by @jmagman in 54778
  • macOS: Add @available check at macOS 12 workaround by @cbracken in 54784
  • Add xcprivacy privacy manifest to macOS framework by @jmagman in 55078
  • [Impeller] finish wiring up external textures for macOS embedder. by @jonahwilliams in 55347
  • [Impeller] fix Impeller on windows. by @jonahwilliams in 55323
  • Beta fix macos xcprivacy manifest copy location by @christopherfujino in 55938

Other changes

#
  • Convert run_ios_tests.sh to run_ios_tests.dart. by @matanlurey in 53645
  • [Embedder] Document incorrectly named field in FlutterOpenGLFramebuffer. by @chinmaygarde in 53720
  • Add a host_debug_unopt local engine config for Windows. by @chinmaygarde in 53734
  • [fuchsia][sysmem2] move to sysmem2 protocols by @dustingreen in 53138
  • Revert 4 Dart rolls (726cb2467 -> ffc8bb004) to recover engine roll by @bdero in 53778
  • dart:ui - drop deprecated hash functions by @kevmoo in 53787
  • Impeller really wants premultiplied alpha by @jtmcdole in 53770
  • Reverts "dart:ui - drop deprecated hash functions (#53787)" by @auto-submit in 53794
  • Add instructions for source debugging with Xcode when using RBE. by @chinmaygarde in 53822
  • Update Setting-up-the-Engine-development-environment.md by @matanlurey in 53828
  • Update Life-of-a-Flutter-Frame.md by @matanlurey in 53829
  • Manual roll Dart SDK from fb546f313557 to 797d3df745d1 (8 revisions) by @jason-simmons in 53832
  • Prepare engine for deprecation of async_minitest.dart by @lrhn in 53560
  • Align tools/android_sdk/packages.txt with what is uploaded to CIPD by @gmackall in 53921
  • [iOS] Delete gen_snapshot_armv7 support by @cbracken in 53947
  • [macOS] Eliminate archive_gen_snapshot target by @cbracken in 53948
  • Clean up create_macos_gen_snapshots.py options by @cbracken in 53954
  • [macOS] Archive universal gen_snapshot binaries by @cbracken in 53962
  • Add doc comments to build/archives/BUILD.gn by @cbracken in 53973
  • Use glBlitFramebuffer when rendering by @robert-ancell in 53080
  • Add a "pub workspace" to the root of the engine repository by @matanlurey in 53539
  • Fix race in image_filter_test.dart by @zanderso in 53996
  • Roll buildroot to 327906297b49980748ea1956019829e7c434a03e by @zanderso in 53994
  • Gracefully fail when gn desc returns no targets. by @matanlurey in 53999
  • Renamed plugin classes to handler by @robert-ancell in 53736
  • Don't leak binary messenger in tests by @robert-ancell in 53985
  • Upgrade third_party/pyyaml to 03c67afd452cdff45b41bfe65e19a2fb5b80a0e8 by @cbracken in 54001
  • [et] Plumb -j to ninja by @zanderso in 54005
  • Move !is_android to build_engine_artifacts declaration by @cbracken in 54006
  • [iOS] Eliminate --clang-dir flag by @cbracken in 54008
  • Prepend third_party/pyyaml to python sys.path by @cbracken in 54023
  • Make FlWindowStateMonitor by @robert-ancell in 54011
  • Add fl_engine_add/remove_view by @robert-ancell in 54018
  • Set the view ID for FlView by @robert-ancell in 54043
  • Temporarily disable use of glBlitFramebuffer on NVIDIA by @robert-ancell in 54040
  • [DisplayList] track unbounded state on save layers and DisplayLists by @flar in 54032
  • [DisplayList] Fix assertions on DisplayList verbose comparison tests by @flar in 54065
  • Fix variable name by @robert-ancell in 54045
  • Remove unnecessary double cast by @robert-ancell in 54044
  • Rename FlBackingStoreProvider to FlFramebuffer by @robert-ancell in 54047
  • Don't rely on the renderer accessing the engine through the view. by @robert-ancell in 54049
  • Fix embedder comments about struct_size by @robert-ancell in 54077
  • Suggest a few common vscode extensions. by @matanlurey in 53974
  • Move testing/litetest to pub workspaces. by @matanlurey in 54082
  • [iOS] Build universal gen_snapshots for iOS by @cbracken in 54009
  • [et] Better RBE defaults by @zanderso in 54059
  • Support multiple views in FlRenderer by @robert-ancell in 54072
  • Allow creating views from an external engine by @robert-ancell in 54080
  • Remove unused virtual methods by @robert-ancell in 54074
  • Roll buildroot to e92499322525306bd637eb79d1e6dd507d5f3062 by @zanderso in 54113
  • Set GLArea.has-alpha = true by @darkwater in 54053
  • [DisplayList] Optimize ClipRRect and ClipPath to ClipOval when appropriate by @flar in 54088
  • Split up mac_host_engine builds by @zanderso in 53571
  • Remove obsolete dependency by @aam in 54161
  • Migrates the bulk of flutter/engine to pub workspaces. by @matanlurey in 54157
  • Fix a race in file I/O done by a BuildRunner test by @jason-simmons in 54167
  • Remove obsolete dependency from few more targets. by @aam in 54181
  • Revert "Set GLArea.has-alpha = true (#54053)" by @cbracken in 54190
  • [engine] remove raster stats feature. by @jonahwilliams in 54187
  • [wiki] Fix link to engine dev setup by @charafau in 54173
  • Do not disable partial repaint based on thread merging state by @knopp in 54219
  • [iOS] Delete unused create_ios_framework.py by @cbracken in 54227
  • Reverts "Do not disable partial repaint based on thread merging state (#54219)" by @auto-submit in 54230
  • [docs] Delete obsolete ML guided optimisation doc by @cbracken in 54237
  • [iOS][macOS] Eliminate use of bitcode_strip by @cbracken in 54240
  • Reverts "[iOS][macOS] Eliminate use of bitcode_strip (#54240)" by @auto-submit in 54250
  • Cleanup the shell test, removing unused code by @matanlurey in 54238
  • [iOS][macOS] Eliminate use of bitcode_strip by @cbracken in 54254
  • Cleanup dart analyze diagnostics in ignored directories. by @matanlurey in 54262
  • Remove pre-existing diagnostics with no behavioral changes. by @matanlurey in 54264
  • Use InetAddress.getLoopback() versus a string. by @matanlurey in 54289
  • [DisplayList] benchmark DisplayList dispatch method by @flar in 54324
  • Don't use intel clang on arm64 macs by @zanderso in 54291
  • Add SK_USE_LEGACY_BLUR_RASTER staging flag by @lhkbob in 54314
  • Update docs to use new Gradle version in the engine by @camsim99 in 53964
  • Update pubspec.yaml for package:flutter_gpu by @mit-mit in 54345
  • Update Flutter-GPU.md by @bdero in 54366
  • Roll buildroot to 6ef931b950d5b9477dba0e278b7006ae327e12f7 by @cbracken in 54384
  • Reland: Partial repaint platform views by @knopp in 54231
  • Directly include the Skia header that defines GrVkImageInfo by @jason-simmons in 54417
  • [iOS] Bundle dSYM packages in Flutter.xcframework by @cbracken in 54414
  • Fix include of GrVkImageInfo header for the Fuchsia build by @jason-simmons in 54449
  • Add EGL Surface backing store by @ardera in 43683
  • Add a precision to the fragment shader by @robert-ancell in 54109
  • [iOS] Rename Flutter.dSYM to Flutter.framework.dSYM by @cbracken in 54458
  • Remove swiftshader from the license script excludes list by @zanderso in 54412
  • Update pre-commit formatter to use java from repo rather than path. by @eseidel in 54450
  • Revert "Roll Dart SDK from 35bc5c866149 to cb89f7cad79c (1 revision) (#54474)" by @jason-simmons in 54487
  • [iOS] Do not archive/upload Flutter.dSYM to cloud by @cbracken in 54492
  • [iOS] Rename create_{full_,}ios_framework.py by @cbracken in 54493
  • iOS,docs: Update iOS symbolication docs by @cbracken in 54494
  • iOS,macOS: Clean up create_ios_framework.py by @cbracken in 54500
  • [Android] Update integration test AVD dependency to use Android 35 emulators by @camsim99 in 54186
  • Revert "Reland: Partial repaint platform views" by @zanderso in 54537
  • Move API level 34 scenario app tests back to prod by @zanderso in 54539
  • [fuchsia] Use BundledTestRunner from test-scripts by @zijiehe-google-com in 54404
  • macOS: Clean up create_ios_framework.py by @cbracken in 54543
  • Update dartdoc for gpu.dart by @mit-mit in 54529
  • [DisplayList] Allow random access to ops through indexing by @flar in 54484
  • macOS: refactor create_macos_framework.py by @cbracken in 54546
  • Reverts "macOS: refactor create_macos_framework.py (#54546)" by @auto-submit in 54549
  • Reverts "macOS: Clean up create_ios_framework.py (#54543)" by @auto-submit in 54550
  • Reverts "Roll Dart SDK from 44635f897535 to 733062367c2e (1 revision) (#54541)" by @auto-submit in 54552
  • [fuchsia] Use Fuchsia API 22 by @jrwang in 54554
  • macOS: Clean up create_macos_framework.py (#54543) by @cbracken in 54555
  • macOS: Refactor create_macos_framework.py by @cbracken in 54557
  • Reverts "macOS: Refactor create_macos_framework.py (#54557)" by @auto-submit in 54566
  • Update RBE troubleshooting by @jtmcdole in 54568
  • Fix typo in AppLifecycleState documentation by @smart7even in 54544
  • [Impeller] revert experimental canvas. by @jonahwilliams in 54570
  • Reverts "Manual roll Dart SDK from 44635f897535 to 790fcb755a0a (3 revisions) (#54558)" by @auto-submit in 54578
  • Manual roll Dart SDK from 44635f897535 to 8c02ad43e01a (3 revisions) by @itsjustkevin in 54581
  • iOS: Add dSYM binaries to without_entitlements.txt by @cbracken in 54576
  • Remove SkOSLibrary files from build and license scripts by @lhkbob in 54583
  • Move Fuchsia tests to a separate config file by @zanderso in 54591
  • [docs] Add missing steps to Testing Presubmit Engine PRs by @cbracken in 54593
  • macOS: Extract framework creation to sky_utils by @cbracken in 54586
  • Shift linux_fuchsia_tests from staging to prod by @zanderso in 54597
  • Update gni filegroup when building Skia's codec files by @kjlubick in 54588
  • Set download_jdk variable by @reidbaker in 54584
  • Allow the default background color to be changed by @robert-ancell in 54575
  • Check return values for Sk[I]Rect::intersect by @flar in 54577
  • Revert "[DisplayList] Allow random access to ops through indexing" by @bdero in 54661
  • Clean up macOS framework creation scripts by @cbracken in 54658
  • iOS,macOS: Don't archive extra framework metadata by @cbracken in 54674
  • Reland "[DisplayList] Allow random access to ops through indexing" by @flar in 54676
  • docs: use test: all rather than editing .ci.yaml by @cbracken in 54667
  • Split tests out of Linux Android artifact creation builds by @zanderso in 54683
  • macOS: Make framework creation consistent with iOS by @cbracken in 54685
  • Export GPU symbols for embedder by @jwinarske in 54662
  • vulkan_glfw validation layer logging by @jwinarske in 54607
  • macOS: Bundle dSYM packages in FlutterMacOS.xcframework by @cbracken in 54696
  • Pin mac host and iOS builds to arm64 builders by @zanderso in 54711
  • iOS: don't bundle simulator dSYMs in xcframework by @cbracken in 54746
  • [ui] fix missing color conversion in drawAtlas. by @jonahwilliams in 54750
  • clangd_check: write .clangd as part of test by @cbracken in 54766
  • Revert dart to b81b344a194f by @flar in 54782
  • Ensure orchestrators aren't assigned to 32 core machines by @zanderso in 54754
  • Use GNI group instead of hardcoding PNG codecs source files. by @anforowicz in 54781
  • macOS: Do not archive/upload FlutterMacOS.dSYM to cloud by @cbracken in 54787
  • Disable impeller cmake test until it is fixed by @flar in 54788
  • Use TRUE/FALSE consistently for gboolean values. by @robert-ancell in 54768
  • Store a set of layers per view. by @robert-ancell in 54793
  • Fix broken links in docs/ by @gmackall in 54815
  • [Impeller] fall back to path rendering on thick paths. by @jonahwilliams in 54822
  • [fuchsia] use the api-level from gn-sdk by @zijiehe-google-com in 54740
  • Ignore generated fixture .dill.deps files. by @matanlurey in 54836
  • Remove scorecards and other bading we are no longer tracking/links are borked by @matanlurey in 54839
  • Migrateheader_guard_check to package:test. by @matanlurey in 54811
  • Remove --disable-dart-dev across flutter/engine. by @matanlurey in 54845
  • Migrate another big chunk of the engine repo to package:test by @matanlurey in 54853
  • Fix build/dart/rules.gni which contains erroneous code after my refactor. by @matanlurey in 54867
  • [fuchsia] Remove duplicate gn_configs by @zijiehe-google-com in 54855
  • Use fuchsia.scheduler.RoleManager protocol by @jbauman42 in 54587
  • Reverts "Roll Dart SDK from 88d311c9a531 to 995324d1b218 (1 revision) (#54896)" by @auto-submit in 54901
  • Reverts "Roll Dart SDK from 139867e57ba9 to 88d311c9a531 (1 revision) (#54886)" by @auto-submit in 54902
  • Make FlApplication class by @robert-ancell in 54637
  • Add more package:test (removing usages of package:litetest) by @matanlurey in 54882
  • [DisplayList] Remove unnecessary DisplayListBuilder as DlOpReceiver accesses by @flar in 54969
  • [engine] always force platform channel responses to schedule a task. by @jonahwilliams in 54975
  • Manual Skia roll to 809f868ded1c by @jason-simmons in 54972
  • iOS,macOS: add unsigned_binaries.txt by @cbracken in 54977
  • Manual roll of Dart. by @a-siva in 54983
  • iOS,macOS: Add logging of duplicate codesign binaries by @cbracken in 54987
  • Reverts "[engine] always force platform channel responses to schedule a task. (#54975)" by @auto-submit in 55000
  • Change "there own" to "their own" in Flutter-GPU docs by @davidhicks980 in 54921
  • Turn off software rendering in iOS scenario golden tests by @jmagman in 55016
  • [Impeller] Disable exp canvas. by @jonahwilliams in 55026
  • [engine] dispatch platform channel messages through event loop, except navigation on start. by @jonahwilliams in 55027
  • [Impeller] fix obvious memory leak. by @jonahwilliams in 55036
  • Add missing include to fml/hex_codec.h by @jason-simmons in 55034
  • Roll buildroot to f85c3be4bf808add6ba867b8ff7943fd235b7b5e. by @rmacnak-google in 55051
  • Fix 'dart --enable-asserts' typo in license check script by @jmagman in 55082
  • [Impeller] reland experimental canvas. by @jonahwilliams in 55047
  • Redirect run_ios_tests.sh to run_ios_tests.dart. by @matanlurey in 53717
  • Move more of the tests in the engine to package:test by @matanlurey in 55083
  • Update package:web to use new path and latest revision by @srujzs in 55085
  • Remove the last --disable-dart-dev in the engine. by @matanlurey in 55086
  • [Impeller] Fix memory leak I introduced by fixing memory leak. by @jonahwilliams in 55087
  • Move flutter_frontend_server and tweak run_tests.py to allow env variables. by @matanlurey in 55089
  • Zip and upload Xcode xcresults on scenario test failure by @jmagman in 55093
  • Use a signal for the pre-engine restart event by @robert-ancell in 55063
  • Fix crash quitting application due to iterating over a changing list. by @robert-ancell in 55062
  • Move most of the dart:ui tests to package:test. by @matanlurey in 55090
  • Ensure Vulkan when including Skia Vulkan headers by @bungeman in 55126
  • Migrate const_finder_test to use package:test by @matanlurey in 55132
  • Update Skia build for Vulkan headers by @bungeman in 55143
  • Migrate more tests from litetest to package:test by @matanlurey in 55119
  • Revert "Update Color to do all calculations with floating point components" by @gaaclarke in 55153
  • Add a note about re generating Gradle lockfiles by @gmackall in 55150
  • Move zircon_tests from package:litetest to package:async_helper. by @matanlurey in 55149
  • Remove all references to litetest from the engine repo. by @matanlurey in 55163
  • Filter out bad locales returned by g_get_language_names by @robert-ancell in 55091
  • Remove assert(() {... }) and other unnecessary patterns in dart:ui tests by @matanlurey in 55165
  • Remove now unused extra args/opts/env from run_tests.py. by @matanlurey in 55164
  • Delete VolatilePathTracker in favor of Dispatch tracking by @flar in 55125
  • [Impeller] desktop: Add missing dispatch for TextFrameDispatcher in embedder view. by @bdero in 55197
  • Match Windows logic for picking RGB/BGR textures. by @robert-ancell in 55121
  • Added .vscode back to being ignored by @gaaclarke in 55195
  • [Embedder] Warn when embedders try to enable an unsupported renderer. by @chinmaygarde in 55240
  • Delay the window until the first frame is received from the Flutter engine by @robert-ancell in 54703
  • [Flutter GPU] Add golden test for rendering a triangle. by @bdero in 55262
  • [Flutter GPU] Add DeviceBuffer.flush & GpuContext.getMinimumUniformByteAlignment. by @bdero in 53620
  • Update the Impeller Scene doc by @bdero in 55265
  • Remove tinygltf by @bdero in 55264
  • [Flutter GPU] Remove the redundant smoketest. by @bdero in 55267
  • Adds vscode workspace with impeller test runner by @gaaclarke in 55291
  • Remove Linux orchestrator builds that only kick off one other build and wait by @jmagman in 55186
  • [fuchsia] Update fuchsia instruction in Compiling-the-engine.md by @zijiehe-google-com in 55365
  • Copy Dart SDK vm_shared sources into the sky_engine package by @jason-simmons in 55158
  • Made YAML version of vscode workspace to avoid redundancy by @gaaclarke in 55322
  • Use GTask integer return APIs and fix documentation on return value on error. by @robert-ancell in 55353
  • [Fuchsia] Remove deprecated and unnecessary parameters from fuchsia*archive by @zijiehe-google-com in 55324
  • [Flutter GPU] Add setStencilReference to RenderPass. by @bdero in 55270
  • [Flutter GPU] Add pipeline stencil config. by @bdero in 55272
  • Disallow time traveling frame times by @jtmcdole in 55310
  • Move each dart GN rule to a standalone file. by @matanlurey in 55404
  • [Flutter GPU] Add CullMode. by @bdero in 55409
  • adds more tasks to the engine workspace by @gaaclarke in 55435
  • [Flutter GPU] Use vm.Vector4 for clear color instead of ui.Color. by @bdero in 55416
  • [scenario_app] delete get bitmap activity. by @jonahwilliams in 55436
  • Reverts "Roll Dart SDK from c2728b947e46 to 016368ee313d (1 revision) (#55444)" by @auto-submit in 55454
  • cipd: add mobileprovision CIPD package by @cbracken in 55449
  • Remove and inline dependencies on build_root for a constant. by @matanlurey in 55441
  • Add format field to EGL surface backing store by @vially in 54499
  • [ci] make opengles impeller scenario app non-bringup by @jonahwilliams in 55474
  • [docs] Fix broken links in docs/ by @Zuckjet in 55350
  • Make arm64 iOS simulator local engine build unopt by @cbracken in 55493
  • updated Color docstring to address equality by @gaaclarke in 55496
  • Migrate try/finally calls to addTearDown. by @matanlurey in 55499
  • Improved description for ios_debug_sim_unopt_arm64 by @cbracken in 55498
  • Fix npe during skia dispatch of drawAtlas by @jonahwilliams in 55497
  • fix use_of_uninitialized_value in message_loop_task_queues.cc by @art-snake in 55520
  • Added metal validation for `impeller_unittests by @gaaclarke in 55527
  • Remove the need to use runZoned by replacing print statements by @matanlurey in 55530
  • Introduce a GN rule that (explicitly) generates a dart test wrapper by @matanlurey in 55475
  • Fix gen_dartcli_call in --no-prebuilt-dart-sdk. by @aam in 55558
  • Migrate off a global test fixture for build and lint. by @matanlurey in 55540
  • Log Vulkan loader errors if the instance failed creation on Fuchsia by @jbauman42 in 52935
  • Allocate a view ID for secondary views by @robert-ancell in 55541
  • [Impeller] Build standalone library on Android. by @chinmaygarde in 55566
  • Deregister views when they are destroyed by @robert-ancell in 55542
  • Added Dart docs by @tvolkert in 54506
  • Use localized config data for et query tests. by @matanlurey in 55572
  • Use localized config data for et test tests. by @matanlurey in 55573
  • Check stability against most recent cipd emulator artifact by @reidbaker in 55591
  • Remove all use of gn desc global test fixtures. by @matanlurey in 55592
  • Add host engine build that exercises no-prebuilt-dart-sdk by @aam in 55589
  • Shift --no-prebuilt-dart-sdk build to linux_unopt by @zanderso in 55597
  • Refactor et run (and friends). by @matanlurey in 55537
  • Add and use a dart_test rule. by @matanlurey in 55630
  • Refactor FlKeyboardHandler by @robert-ancell in 55601
  • Add missing license headers to engine_tool. by @matanlurey in 55636
  • Add support for et test //flutter/path/to/dart_test by @matanlurey in 55638
  • Add --rbe-force-local flag to force rbe task execution to happen on the local machine by @johnmccutchan in 55635
  • [Flutter GPU] Add WindingOrder. by @bdero in 55413
  • Honor blur tile mode in BackdropFilter widget on Skia backend by @flar in 55640
  • La Grande Fusion Notes - History Editing by @jtmcdole in 55667
  • Path clarification in Setting-up-the-Engine-development-environment.md by @justinmc in 55529
  • Delete DartIsolateTest.PlatformIsolateSendAndReceive by @liamappelbe in 55722
  • Record notes on hashing artifacts in a monorepo by @jtmcdole in 55703
  • added shell_unittests and ui_unittests to the testing menu by @gaaclarke in 55711
  • [Flutter GPU] Added support to set primitive type by @AthulJoseph27 in 55514
  • Refactor multi-file build parsing into a single BuildPlan class. by @matanlurey in 55720
  • Update Dart to 3.6.0-334.3.beta by @zanderso in 55826

New contributors

#
  • @darkwater made their first contribution in 54053
  • @charafau made their first contribution in 54173
  • @smart7even made their first contribution in 54544
  • @anforowicz made their first contribution in 54781
  • @osa1 made their first contribution in 51488
  • @davidhicks980 made their first contribution in 54921
  • @mahmuttaskiran made their first contribution in 55277
  • @jesswrd made their first contribution in 55002
  • @Zuckjet made their first contribution in 55350
  • @art-snake made their first contribution in 55520

Full Changelog: https://github.com/flutter/engine/compare/3.24.0...3.27.0-0.1.pre