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

What's changed

#

Framework

#
  • Fix TreeSliver rendering offset. by @yiiim in 166442
  • SliverEnsureSemantics by @Renzo-Olivares in 165589
  • [framework] re-enable skipped impeller goldens. by @jonahwilliams in 166354
  • Reverts "SliverEnsureSemantics (#165589)" by @auto-submit[bot] in 166870
  • ImageStreamCompleter no longer checks _hadAtLeastOneListener for disposal by @dkwingsmt in 166797
  • [Web] Ensure that NetworkImage does not crash when disposed between frames by @dkwingsmt in 166652
  • Migrate in-comment links of the flutter/engine repository to the flutter/flutter repository by @dkwingsmt in 166790
  • Remove unnecessary this. qualifiers. by @scheglov in 166805
  • [Impeller] Use device property uniform aligment instead of conservative value of 256. by @jonahwilliams in 166884
  • Reland "SliverEnsureSemantics (#165589)" by @Renzo-Olivares in 166889
  • Add network permissions information to the dart doc of network image. by @reidbaker in 167110
  • Correct max height calculation to fade and animate insets on scroll in CupertinoSearchTextField by @victorsanni in 166569
  • Clip bottom widgets in nav bar transition by @victorsanni in 166705
  • Persistent CupertinoListTile leading and trailing by @victorsanni in 166799
  • [ Widget Preview ] Add support for theme and brightness properties on Preview by @bkonyi in 167001
  • Change saturation calculation for HSLColor.fromColor by @benthillerkus in 166639
  • Fix: Update sheet route bottom padding with top padding by @rkishan516 in 164473
  • Broke cyclical dependency with dlpath and typographer. by @gaaclarke in 167293
  • Feat: Add equality to NoDefaultCupertinoThemeData by @rkishan516 in 166655
  • Fix link to engine docs by @LinXunFeng in 167346
  • [web] close input connection when window/iframe loses focus by @yjbanov in 166804
  • Add a DrivenScrollActivity.simulation constructor by @gnprice in 166730
  • Increase pinned version of leak tracker to enable access to experimental tracking on web. by @polina-c in 167502
  • ✨ Introduces PositionedGestureDetails by @AlexV525 in 160714
  • Note when --enable-vmservice is required and skip otherwise. by @matanlurey in 167579
  • Remove redundant usematerial3 by @IldySilva in 167337
  • Roll pub packages by @flutter-pub-roller-bot in 167680
  • Unbreak 164034 by @Piinks in https://github.com/flutter/flutter/pull/167689
  • Remove flutter engine repo links by @reidbaker in 167481
  • Update Tree-hygiene.md by @matanlurey in 167699
  • iOS: Update minimum iOS version to 13.0 by @cbracken in 167737
  • Adds leadingDistribution to equality checker in StrutStyle by @Mairramer in 164813
  • Update platform views documentation with 4 standard names and abbreviations by @reidbaker in 167752
  • Fix spelling mistake by @loic-sharma in 167684
  • Control paint order / z-order of slivers by @gnprice in 164818
  • Add CupertinoSlidingSegmentedControl's widget of the week video by @loic-sharma in 167687
  • Update Google testing docs by @Piinks in 167685
  • [web] denull some of text_editing.dart by @yjbanov in 166595
  • add directionality to CupertinoDialog by @Tosemite in 167403
  • [Android] Implement setting sensitive content, take 2 by @camsim99 in 167815
  • Let DrivenScrollActivity subclasses customize handling of overscroll by @gnprice in 166731
  • add assert message for BoxShape.circle and borderRadius check by @dbspoudel in 163917
  • Add barrierColor property to showCupertinoDialog by @masal9pse in 166911
  • add onReset callback to FormField by @foxmind1 in 167060
  • Update CupertinoSliverNavigationBar Docs by @RamonFarizel in 167148
  • Fix outdated reference to material in WidgetStateMapper's error message by @Pante in 166816
  • Support font weight of Icon by @victorsanni in 167245
  • Removes semantics role search box by @chunhtai in 167290
  • 165369 - support other widget states for CupertinoButton by @srivats22 in 166088
  • macOS: Update minimum macOS version to 10.15 by @cbracken in 168101
  • Fix the SliverTree scrolling rendering issue. by @yiiim in 167921
  • Condense nav bar large title in landscape mode by @victorsanni in 166956
  • Roll pub packages by @flutter-pub-roller-bot in 168119
  • fix(a11y): check for remaining relevant text direction properties by @Goddchen in 165028
  • Fix: Ensure Image.errorBuilder reliably prevents error reporting (with addEphemeralErrorListener) by @dkwingsmt in 167783
  • Add documentation examples to KeepAlive AutomaticKeepAlive and AutomaticKeepAliveClientMixin by @ValentinVignal in 168137
  • [ Widget Preview ] Improve widget inspector support for widget previews by @bkonyi in 168013
  • Fix the incorrect position of SliverTree child nodes. by @yiiim in 167928
  • [ Widget Preview ] Add typedefs, replace height and width with size by @bkonyi in 168063
  • [Impeller] Use StrokeParameters anywhere stroke is described by @flar in 168276
  • Cupertino sheet MediaQuery values by @CoderNamedHendrick in 168041
  • Add height and width aspects to MediaQuery. by @ksokolovskyi in 167829
  • iOS/macOS: Consistent Flutter copyright headers by @cbracken in 168390
  • [web] drop more use of deprecated JS functions by @kevmoo in 166157
  • Roll pub packages by @flutter-pub-roller-bot in 168509
  • Make MergeSemantics be able to merge customAction by @QuncCccccc in 168414
  • Remove unnecessary setAriaRole('dialog') fallback in SemanticRoute class by @flutter-zl in 168345
  • Add CupertinoSlider haptic feedback by @alex-medinsh in 167362
  • Label platform view modes using the unified naming scheme by @reidbaker in 168670
  • Remove CupertinoSliverNavigationBar background box when large title is extended by @victorsanni in 168407
  • Nav bar back label is not clipped mid-transition by @victorsanni in 168194
  • Android home/end keyboard shortcut support by @justinmc in 168184
  • Add assert for index parameter in IndexedStack. by @ksokolovskyi in 167757
  • Fixes hero not shown when remove pages without animation by @chunhtai in 168617
  • Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions by @victorsanni in 168510
  • Reverts "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (#168510)" by @auto-submit[bot] in 168775
  • Improve documentation for KeyedSubtree constructor by @dogaozyagci in 167198
  • Remove deprecated todo about caching by @ValentinVignal in 168534
  • Make Cupertino sheet set the systemUIStyle through an AnnotatedRegion by @MitchellGoodwin in 168182
  • Reland "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions" by @victorsanni in 168772
  • CupertinoSliverNavigationBar respects accessibility text scaling by @victorsanni in 168866
  • [Impeller] Delete redundant impeller path classes by @flar in 168760
  • Clarify deprecation notice for jumpToWithoutSettling in scroll_position.dart by @dogaozyagci in 167200
  • [skwasm] Add the capability of dumping live object counts in debug mode. by @eyebrowsoffire in 168389
  • Fixes Navigator calls onPopInvokedWithResult when onPopPage return false by @chunhtai in 168567
  • Add support for hiding widget subtrees from the widget inspector by @bkonyi in 169007
  • fix(widget_inspector): add null check for flex factor property to prevent exception by @muhammadkamel in 167890
  • Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer by @KyleFin in 161549
  • refactor the usage of MediaQuery.sizeOf(context).height to use the new .heightOf(context) by @AbdeMohlbi in 168894
  • Replace goldens in test/cupertino/nav_bar_transition_test.dart by @victorsanni in 169172
  • Unpin test/test_core/test_api packages by @DanTup in 169198
  • Add flag to exclude focus for hidden children in Visibility, maintainFocusability. Set maintainFocusability to false in IndexedStack by @skimm3 in 159133
  • Use pub workspace by @mosuem in 168662
  • Reverts "Use pub workspace (#168662)" by @auto-submit[bot] in 169357
  • Start removing Observatory support and references by @bkonyi in 169216
  • Baseline-align CupertinoTextField placeholder by @victorsanni in 166952
  • Correct calculation for CupertinoTextSelectionToolbar vertical position by @victorsanni in 169308
  • Add workspace by @mosuem in 169451
  • Reverts "Add workspace (#169451)" by @auto-submit[bot] in 169468
  • [web] Fix unresponsive input above SelectionArea in Safari and Firefox. by @ksokolovskyi in 167275
  • Manually update vector_math package by @kevmoo in 169476
  • unskip text_painter_rtl_test on web by @yjbanov in 169537
  • Re-enable SelectableRegion web tests by @Renzo-Olivares in 169541
  • Feat: Add opaque, isActive, isFirst, popDisposition aspects for ModalRoute by @rkishan516 in 167324
  • Clean up references to deprecated onPop method in docs by @justinmc in 169700
  • IOSSystemContextMenuItem.toString to Diagnosticable by @justinmc in 169705
  • Roll pub packages by @flutter-pub-roller-bot in 169865
  • Check to see if previous page is laid out before starting hero flight by @MitchellGoodwin in 169633
  • Add convenience static members to AlignmentGeometry by @loic-sharma in 169709
  • Add more documentation around keep alive by @ValentinVignal in 168311
  • Add announce support to the engine by @ash2moon in 169685
  • Workspace by @mosuem in 169556
  • [Web][Engine] Fix composingBaseOffset and composingExtentOffset value when input japanese text by @koji-1009 in 161593
  • Remove .flutter-plugins, no longer generated, from .gitignore. by @matanlurey in 169896
  • Remove WebGoldenComparator, which is no longer used by the tool. by @matanlurey in 169898
  • Update expansible.dart by @piedcipher in 169925
  • Revert "Changes the offset computation to first item for RenderSliverMainAxisGroup" (#154688) by @navaronbracke in 168450
  • CupertinoSearchTextField and CupertinoSliverNavigationBar.search more fidelity updates by @victorsanni in 169708
  • Make _layoutBoundary a boolean 2 by @LongCatIsLooong in 169958
  • [ Widget Previews ] Add support for localizations in widget previews by @bkonyi in 169229
  • Align persistent nav bar leading widget by @victorsanni in 170095
  • [engine/web] Migrate many things to switch expressions by @kevmoo in 170096
  • Trigger CupertinoPicker haptics in the middle of the item by @alex-medinsh in 169670
  • Add landmark roles by @QuncCccccc in 168931
  • [a11y] Semanctis flag refactor step 4: web and updateNode by @hannah-hyj in 168852
  • Add debugOverridePlatformViewRegistry to HtmlElementView test. by @ksokolovskyi in 170163
  • Add CupertinoRadio widget of the week video by @loic-sharma in 170027
  • Relax RadioGroup semantics to allow non-radio children by @chunhtai in 170273
  • Navigator should call didpop when popping page based route by @chunhtai in 170376
  • Add CupertinoSheetRoute widget of the week video by @loic-sharma in 170026
  • [Impeller] Remove use of simple Skia objects by @flar in 170494
  • Fix dragging scrollbar down causes unexpected behavior when scrollable has a negative minScrollExtent by @greyovo in 170331
  • Replace LinkedHashMap.* with Map.*, which is Linked by @matanlurey in 170713
  • Fix RawGestureDetector semantics by @chunhtai in 170549
  • Add example for CupertinoExpansionTile transition modes by @thakaredipali in 170335
  • CupertinoPicker new onChanged behaviour by @alex-medinsh in 170202
  • Feat: Add mouse cursor for CupertinoDialogAction by @rkishan516 in 169051
  • Add an initial "Using feature flags" doc for the team. by @matanlurey in 170767
  • Update didUnmountRenderObject text description by @RamonFarizel in 169628
  • Close CupertinoContextMenu overlay if the widget is disposed or a new route is pushed by @victorsanni in 170186
  • Update Docs to Warn Users Edge-To-Edge opt out is being deprecated for Android 16+ (API 36+) by @jesswrd in 170816
  • Enhance Text Contrast for WCAG AAA Compliance by @azatech in 170758
  • rename from announce to supportsAnnounce on engine by @ash2moon in 170618
  • Update FormField.initialValue documentation by @bleroux in 171061
  • Add RawMenuAnchor animation callbacks by @davidhicks980 in 167806
  • [web] More granular configuration of the test environment by @mdebbar in 168767
  • Update foundation library to export internal by @loic-sharma in 170563
  • Fix gestures not being recognized in -backed NetworkImages by @harryterkelsen in 171190
  • Diagnosticable, not toString, for IOSSystemContextMenuItemDatas by @justinmc in 171028
  • [widgets/raw_menu_anchor.3.dart] Replace arrow character with Icon in RawMenuAnchor submenu example by @davidhicks980 in 171218
  • Fix broken markdown link to Engine repository in Project-teams.md by @StarkOne in 171267
  • Ensure disabling text fields' interactive selection disables shortcuts by @loic-sharma in 171050
  • Unpin package:intl by @mosuem in 169286
  • Add CupertinoPicker ticking sound by @alex-medinsh in 170641
  • Correct position for an open CupertinoContextMenu by @victorsanni in 170943
  • Re-pin package:intl by @zanderso in 171438
  • Fix infinite loop in CupertinoSliverNavigationBar collapse animation by adding bounds check for target scroll position by @techouse in 170210
  • Focused search field hides prefix in higher accessibility text scale modes by @victorsanni in 171406
  • Fix crash when editableText is not mounted by @matasb-google in 171159
  • Update CupertinoPicker docs by @alex-medinsh in 170960
  • Add feature flags to the framework by @loic-sharma in 168437
  • Reverts "Add feature flags to the framework (#168437)" by @auto-submit[bot] in 171542
  • Set width and height when creating platform view for NetworkImage by @harryterkelsen in 171474
  • Adds semantics locale support for web by @chunhtai in 171196
  • [Impeller] Fix the algorithm for building paths for RSuperellipses with sharp corners by @dkwingsmt in 171351
  • Add semantics role for form by @hannah-hyj in 170709
  • SliverSemantics by @Renzo-Olivares in 167300
  • Fixes an issue where TapRegion would consume taps regardless of navigation state by @PrimaelQuemerais in 169067
  • reland:Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 by @reidbaker in 171776
  • [web] Disable auto-formatting for the stack_trace.dart test file by @mdebbar in 171801
  • Replace [FinderBase] with [Finder] in the documentation of Matchers by @ahmedsameha1 in 168279
  • Add detailed error message for BorderRadiusDirectional by @nt4f04uNd in 171805
  • [Android 16] Added Docs to Warn Users that SystemChrome.setPreferredOrientations will Not Work by @jesswrd in 171089
  • Fix the issue with SliverMainAxisGroups growing in the reverse direction during layout. by @yiiim in 171005
  • Give an actionable error to flutter_test.*tap of a RenderSliver by @matanlurey in 171930
  • Fix the hitTest issue of reversed SliverMainAxisGroup. by @yiiim in 171073
  • Feat: Add foreground color for cupertino button by @rkishan516 in 170898
  • Style: Rename pageBuilder with builder in showCupertinoSheet by @rkishan516 in 170625
  • CupertinoDatePicker and CupertinoTimerPicker new onChanged behavior by @alex-medinsh in 170793
  • feat: Expose FocusNode of FocusTraversalGroup by @pedromassango in 171979
  • [iOS] Add Live Text option to system context menu by @jingshao-code in 170969
  • Add SemanticsLabelBuilder for Accessible Label Concatenation by @flutter-zl in 171683
  • [tool] Make google3 have to override feature flags by @loic-sharma in 171933
  • [Web] Implement disabling interactive selection by @loic-sharma in 171935
  • Fix grammar: Change 'A' to 'An' before IOSSystemContextMenuItemData by @jingshao-code in 172019
  • Route transition duration by @justinmc in 171109
  • chore: unskip tests cases by @pedromassango in 172031
  • Reland "Add feature flags to the framework" by @loic-sharma in 171545
  • [CP-beta]Fix: Ensure Text widget locale is included in semantics language tag by @flutteractionsbot in 172711
  • [CP-beta][web] Text editing test accepts both behaviors in Firefox by @flutteractionsbot in 173053

Material

#
  • fix(ListTileTheme): isThreeLine is missing. by @StanleyCocos in 165481
  • Fix CarouselView demo page is not functional using mouse scroll by @huycozy in 166512
  • Fix: Focus on leading icon when null by @whopavan in 164966
  • Update TextFormField restoration tests by @bleroux in 166678
  • Add ability to customize the default RangeSlider padding by @TahaTesser in 165317
  • Feat: Add hintMaxLines in InputDecorationTheme by @rkishan516 in 164695
  • modify toggle mode style with DatePickerTheme by @MaironLucas in 164102
  • [iOS] Infer autocorrect value from autofillHints by @koji-1009 in 165637
  • fix: Update time picker dialog input size by @rkishan516 in 163184
  • Add Irish(ga) to Flutter by @QuncCccccc in 167129
  • Add button icon support for animation duration by @TahaTesser in 162667
  • Feat: Add carousel view theme by @rkishan516 in 164769
  • Fix Carousel crashes when using PageStorageKey by @huycozy in 166817
  • Fix: Localization for non zero time in 24 hours format by @rkishan516 in 164885
  • Remove unnecessary builder by @AhmedLSayed9 in 166623
  • fix(CircularProgressIndicator.adaptive): strokeWidth default value by @StanleyCocos in 165370
  • Add DropdownMenu.restorationId by @bleroux in 166684
  • Add support for language hints in TextFields (Android only) by @bleroux in 165554
  • Add InputDecoration.visualDensity and InputDecorationTheme.visualDensity by @bleroux in 166834
  • Fix CarouselView crashes when initlal viewportDimension is 0.0 by @bleroux in 167271
  • Docs: Update date picker theme day color properties doc by @rkishan516 in 166122
  • Fix keyboard cover SearchAnchor list results by @huycozy in 165382
  • Make InputDecorator padding compliant with M3 spec by @bleroux in 162157
  • Add more visual feedback to Slider with slideOnly interaction by @pogojotz in 165306
  • Remove use of announce in time_picker and remove double Feedback.forTap calls by @ash2moon in 167241
  • EditableText should not allow horizontal scrolling on iOS by @Renzo-Olivares in 162841
  • Api docs: Add FilledButton to list of recommended material buttons by @tanyabouman in 167096
  • Wire up MenuAnchor, MenuBar, MenuItem-related widgets to aria roles by @QuncCccccc in 165596
  • Close the search by pressing escape by @4rthurmonteiro in 167648
  • Fix hit-testing order in semantics by @QuncCccccc in 167522
  • Fix CarouselView.weighted crashes when initlal viewportDimension is 0.0 by @bleroux in 167628
  • Fix date picker flickering by @bleroux in 167976
  • Refactor: Move Slider and RangeSlider components to slider_parts.dart and range_slider_parts.dart by @rkishan516 in 165361
  • Fix discrete Slider and RangeSlider to enforce thumb height padding when the track shape is non-rounded by @TahaTesser in 164703
  • Update date localizations for ga by @Piinks in 168008
  • backfill custom painter semantics properties by @chunhtai in 166375
  • feat(Switch): Add activeThumbColor and deprecate activeColor. by @StanleyCocos in 166382
  • Fix: Delay showing tooltip during page transition by @rkishan516 in 167614
  • feat(CheckboxListTile): ensure that 'isThreeLine' can be configured through the theme. by @StanleyCocos in 166826
  • Reverts "backfill custom painter semantics properties (#166375)" by @auto-submit[bot] in 168103
  • fix: outline appearing over child by @iamdipanshusingh in 167615
  • Refactor more logic from radio and cupertino radio by @chunhtai in 167764
  • Relands "backfill custom painter semantics properties (#166375)" by @chunhtai in 168113
  • fix(ios): correctly inherits the handle color from the theme by @ricardodalarme in 166507
  • Implement CupertinoCollapsible/CupertinoExpansionTile by @victorsanni in 165606
  • Add barrier dismissible for dropdown button and dropdown button form field by @whopavan in 166896
  • Highlighting hour and minute input fields by @flutter-zl in 167766
  • Add missing removeStatusListener for bottom sheets (#167899) by @Bungeefan in 167900
  • Add DropdownMenuFormField by @bleroux in 163721
  • Set Dialog's maximum width to 560dp according to Material's guidelines by @RamonFarizel in 166643
  • MediaQuery picks up view data changes by @justinmc in 166498
  • InputDecorator - animate between transparent hoverColor and hoverColor by @nsparks in 168244
  • Revert "Fix hit-testing order in semantics (#167522)" by @QuncCccccc in 168235
  • [Widget Inspector] Add on-device button for changing default "tap" behavior by @elliette in 167677
  • Revert "Wire up MenuAnchor, MenuBar, MenuItem-related widgets to aria roles (#165596)" by @QuncCccccc in 168339
  • feat(RadioListTile):ensure that 'isThreeLine' can be configured through the by @StanleyCocos in 166964
  • feat(SwitchListTile): ensure that 'isThreeLine' can be configured through the theme. by @StanleyCocos in 166820
  • Ignore pointer on the outgoing route by @justinmc in 168425
  • Feat: Animate fill for material app bar by @rkishan516 in 163913
  • Replace MediaQuery.sizeOf with heightOf and widthOf. by @ksokolovskyi in 168479
  • docs: Fixed broken links in WidgetStateProperty documentations by @nailahsall0 in 168191
  • Add option to hide trailing icon in DropdownMenu by @mohamedamara in 167782
  • [Widget Inspector] Clean-up changes in PR #167677 by @elliette in 168488
  • Fix ListTile overwriting parent IconButtonTheme for its children (#167727) by @ayyoub-coder in 168480
  • Add Option to disable full selection on focus on TextField, TextFormField, and EditableText by @camfrandsen in 163491
  • Api docs: Add Widget of the Week video to DropdownMenu by @tanyabouman in 168254
  • Fix Selected DropdownMenuItem isn't highlighted on mobile by @huycozy in 167874
  • Fix DropdownButtonFormField icon not vertically centered by @bleroux in 163205
  • Make the barrier panel on the Material Drawer non-dismissible by @romanejaquez in 164810
  • Tab bar theme and dialog theme documentation cleanup by @bleroux in 168724
  • [iOS] Do not hide selection handles when platform hides system context menu by @Renzo-Olivares in 168678
  • Use live region in error text input decorator for Android by @ash2moon in 165531
  • [a11y] Semanctis flag refactor step 3: framework part by @hannah-hyj in 167771
  • Wire up the system text scaler from PlatformDispatcher by @LongCatIsLooong in 159999
  • Add titleAlignment to CheckboxListTile and RadioListTile by @ValentinVignal in 168666
  • Normalize BottomAppBarTheme by @huycozy in 168586
  • Reverts "Use live region in error text input decorator for Android (#165531)" by @auto-submit[bot] in 168848
  • [Widget Inspector] Fix missing cupertino icon in on-device inspector by @elliette in 168847
  • Homogenize themes documentation by @bleroux in 168808
  • Fix selection handles showing when using a mouse by @Renzo-Olivares in 168751
  • Replace SizedBox spacing with spacing parameter in Row usages by @tilucasoli in 168688
  • Resolve Cupertino textstyle in MaterialBasedCupertinoThemeData by @MitchellGoodwin in 167597
  • Fix Chip delete button semantic bounds by @bleroux in 168310
  • TextField magnifier stuck on long press cancel by @O-Hannonen in 167881
  • docs: Update deprecation message for Slider.year2023 by @huycozy in 169053
  • Update the RangeSlider widget to the 2024 Material Design appearance by @TahaTesser in 163736
  • Shared element transition for predictive back by @maRci002 in 154718
  • Fix the issue with Tooltip by @yiiim in 168546
  • Feat: Add persistentFooterDecoration for scaffold by @rkishan516 in 167524
  • Feat: Add full screen dialog support for dialog routes by @rkishan516 in 167794
  • Respect calendarDelegate in showDateRangePicker by @sarbagyastha in 168290
  • Normalize BottomAppBarTheme (continue) by @huycozy in 168966
  • Add bottomSheetScrimBuilder to Scaffold by @alex-medinsh in 167335
  • Fix the issue where DropdownMenu disposes of the controller. by @yiiim in 168541
  • Update ButtonStyle documentation by @bleroux in 168062
  • Fixes tab semantics gets dropped if the child produce a semantics node by @chunhtai in 169233
  • Fix crash on two finger selection gesture by @Renzo-Olivares in 168598
  • Removes unnecessary parentheses by @FMorschel in 169015
  • [Cupertino] Apply RSuperellipse to most Cupertino widgets by @dkwingsmt in 167784
  • Add header and footer support to NavigationDrawer by @fewling in 168005
  • Don't show SystemContextMenu for SelectableText by @justinmc in 169238
  • Removes elevation and thickness from semantics r2 by @chunhtai in 169382
  • Revert "Fix NavigationBar indicator overlay color (#164484)" by @bleroux in 169497
  • [Web][Engine] Update MediaQuery in response to semanticsEnabled by @koji-1009 in 166836
  • Adds radio group widget r2 by @chunhtai in 168161
  • doc: Explain MenuController.maybeOf in MenuAnchor and RawMenuAnchor by @rkishan516 in 168630
  • fix[widget_inspector]: Widget Inspector Directionality & Move button tooltip. by @muhammadkamel in 169425
  • Update deprecated vector_math calls by @kevmoo in 169477
  • Fixes inputDecoration sibling explicit child not included in semantic… by @chunhtai in 170079
  • Add backgroundColor to Radio by @ValentinVignal in 169415
  • Fix date picker calendar tap targets (portrait mode) by @bleroux in 169163
  • Docs: Update docs for suffix icon interaction behaviour by @rkishan516 in 169828
  • Fix DropdownButtonFormField focusing when replacing FocusNode by @AhmedLSayed9 in 166645
  • Fix remaining iconbuttontheme overrides in listtile by @pogojotz in 169029
  • Reverts "Fix DropdownButtonFormField focusing when replacing FocusNode (#166645)" by @auto-submit[bot] in 170477
  • Make DropdownMenu TextField reactive to label changes by @ahmedrasar in 162062
  • Allow the Slider to always show the value indicator. by @yiiim in 162223
  • Add DropdownButtonFormField value param test by @alex-medinsh in 170518
  • Update default selectionHeightStyle and selectionWidthStyle for EditableText by @Renzo-Olivares in 167762
  • Prefer .of over .from by @kevmoo in 170750
  • feat: Add radius to DividerThemeData. by @StanleyCocos in 169739
  • Normalize AppBarTheme by @huycozy in 169130
  • Normalize input decoration theme by @bleroux in 168981
  • Fix InputDecoration.floatingLabelBehavior is not inherited by @bleroux in 170905
  • Reverts "Fix InputDecoration.floatingLabelBehavior is not inherited (#170905)" by @auto-submit[bot] in 170994
  • Reland: Fix InputDecoration.floatingLabelBehavior is not inherited by @bleroux in 170995
  • License cpp jun20 by @gaaclarke in 170948
  • Flutter test cleanup by @kevmoo in 170891
  • Deprecate DropdownButtonFormField "value" parameter in favor of "initialValue" by @bleroux in 170805
  • When maintainHintSize is false, hint is centered and aligned, it is different from the original one by @zeqinjie in 168654
  • Add missing M3 tests for InputDecoration.isDense by @bleroux in 171058
  • feat: Add constraints to the AlertDialog and SimpleDialog by @StanleyCocos in 169327
  • Add back "Use live region in error text input decorator for Android #165531" by @ash2moon in 168992
  • Fix Radio's painters by @ValentinVignal in 170321
  • Fix text selection toolbar alignment for RTL languages by @SalehTZ in 169854
  • feat: Add hintLocales in TextFormField by @lsaudon in 170938
  • Add missing M3 tests for InputDecoration.floatingLabelAlignment by @bleroux in 170903
  • Feat: Add brightness export from widgets.dart by @rkishan516 in 169410
  • fix PopupMenuButton unmounted exception when updating position by @sstasi95 in 166412
  • Avoid using a Key whose only purpose is to be looked up in a test by @justinmc in 170952
  • Reland [#166645] Fix DropdownButtonFormField focusing when replacing FocusNode by @AhmedLSayed9 in 170761
  • Add side to Radio by @ValentinVignal in 171217
  • NavigationRail: optionally scrollable and more configurable by @pogojotz in 169421
  • fix: Add focusNode and textEditingController in Autocomplete by @lsaudon in 170936
  • Add radioBackgroundColor to RadioListTile by @ValentinVignal in 171204
  • Add WidgetStatesController to ListTile by @RamonFarizel in 168878
  • Add tests for some local InputDecorationTheme properties by @bleroux in 171435
  • Fix DropdownMenu does not apply opacity to the selected value when disabled by @huycozy in 170336
  • fix: time selector separator in timepicker is not centered vertically by @pranavo72bex in 168441
  • Deprecate: Mark AppBarTheme & AppBarThemeData color parameter as deprecated in favor of backgroundColor by @rkishan516 in 170624
  • Add backgroundColor to RadioThemeData by @ValentinVignal in 171326
  • Add innerRadius to Radio by @ValentinVignal in 171331
  • Bump Dart to 3.8 and reformat by @Piinks in 171703
  • Update translation from console by @QuncCccccc in 171556
  • Add radioSide to RadioListTile by @ValentinVignal in 171318
  • Removed string keys by @Phantom-101 in 171293
  • Fix InputDecorationThemeData.activeIndicatorBorder is not applied by @bleroux in 171764
  • Apply normalization to TimePickerThemeData.inputDecorationTheme by @bleroux in 171584
  • Remove redundant ThemeData(useMaterial3: true) from tests by @pranavo72bex in 171569
  • [Cupertino] Make some widgets no longer use RSuperellipse by @dkwingsmt in 171830
  • License cpp 710 by @gaaclarke in 171989
  • Fix CheckedPopupMenuItem semantics to use menuItemCheckbox role with checked state by @flutter-zl in 171749

iOS

#
  • Add runtime flag for enable flutter_gpu, off by default. by @jonahwilliams in 165337
  • [iOS/macOS] Add Xcode error if dev dependencies are incorrect by @loic-sharma in 165916
  • Don't throw on error for mDNS when searching for Dart VML url on core devices by @vashworth in 167135
  • Hide error on mDNS registration failure and print warning in flutter attach by @vashworth in 166782
  • Reduce app startup latency by initializing the engine on a separate thread by @jason-simmons in 166918
  • Revert "Reduce app startup latency by initializing the engine on a separate thread (#166918)" by @jason-simmons in 167427
  • Reland "Reduce app startup latency by initializing the engine on a separate thread (#166918)" by @jason-simmons in 167519
  • [a11y] Semanctis flag refactor step 1: engine part by @hannah-hyj in 167421
  • [iOS] Hide keyboard on hot restart by @loic-sharma in 167013
  • Impeller will stroke paths directly from the original path via iteration by @flar in 167422
  • iOS: Drop iOS 13.0 @available checks by @cbracken in 167833
  • Support Swift in the iOS embedder by @cbracken in 167530
  • iOS: Re-enable iOS unittests by @cbracken in 167893
  • iOS,macOS: Merge iOS, macOS config by @cbracken in 167945
  • iOS: extract config_ios_test by @cbracken in 167958
  • Add ConnectionCollection and Swift test by @cbracken in 167962
  • Add engine build mode to Flutter and FlutterMacOS framework Info.plist by @vashworth in 168024
  • Use config: enable-swift-...: false, remove disable-swift-...: true. by @matanlurey in 168433
  • iOS,macOS: Unify iOS,macOS build configs by @cbracken in 168517
  • Rename apple -> darwin across our buildroot by @cbracken in 168558
  • Implements UISceneDelegate dynamically w/ FlutterLaunchEngine by @gaaclarke in 168396
  • Reverts "Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396)" by @auto-submit[bot] in 168880
  • iOS,macOS: Migrate logging to Logger/FlutterLogger by @cbracken in 168568
  • [tool] Fix broken comment references and code spans in doc comments by @parlough in 168498
  • iOS,macOS: Support using public API in Swift by @cbracken in 168929
  • Make FlutterGeneratedPluginSwiftPackage an Xcode root package by @vashworth in 168789
  • [Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) by @gaaclarke in 168914
  • Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" by @auto-submit[bot] in 169250
  • [Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine by @gaaclarke in 169276
  • Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)" by @auto-submit[bot] in 169347
  • Introduces FlutterPluginRegistrant protocol. by @gaaclarke in 169399
  • Validate build configuration during Xcode build phase by @vashworth in 169395
  • [Reland3] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276) by @gaaclarke in 169365
  • [ios]: Warning for FlutterAppDelegate.window.rootViewController in launch functions by @gaaclarke in 169166
  • Removed the FlutterViewController.pluginRegistrant by @gaaclarke in 169995
  • Export FlutterSceneDelegate by @gaaclarke in 170169
  • Pause UIScene migration by @vashworth in 170457
  • Reverts "Pause UIScene migration (#170457)" by @auto-submit[bot] in 170487
  • Pause UIScene migration by @vashworth in 170490
  • Centralizes iOS and macOS values by @vashworth in 170257
  • [Impeller] eliminate PathReceiver::PathEnd which is only used in one case by @flar in 170500
  • Started bridging the scene delegate to the lifecycle delegate for shortcuts by @gaaclarke in 170180
  • Add --profile-microtasks switch by @derekxu16 in 170690
  • fixes deeplinking in uiscenedelegate migrated projects by @gaaclarke in 170452
  • [ Tool ] Report Android x86 target devices as unsupported by @bkonyi in 170282
  • License cpp jun24 by @gaaclarke in 171088
  • Add --enable-flutter-gpu flag to flutter_tool & FLTEnableFlutterGPU to the macOS embedder by @bdero in 171404
  • Started querying the app state for the gpu disabled sync switch by @gaaclarke in 171785
  • [ Tool ] Enable omit_obvious_*_types and specify_nonobvious_*_types lints by @bkonyi in 172018
  • Apply superellipse clipping to iOS platform views using an approximated round rect by @jason-simmons in 172033
  • [CP-beta]Revert #160653 Fix view removal process for AutofillContextAction.cancel by @flutteractionsbot in 172675

Android

#
  • [Impeller] Speed up vulkan startup time by re-using existing vulkan context. by @jonahwilliams in 166784
  • Reverts "[Impeller] Speed up vulkan startup time by re-using existing vulkan context. (#166784)" by @auto-submit[bot] in 166938
  • [Impeller] defer vulkan context initialization as long as possible. by @jonahwilliams in 166941
  • Reverts "[Impeller] defer vulkan context initialization as long as possible. (#166941)" by @auto-submit[bot] in 166990
  • Fix regression in NDK version checking by @gmackall in 166998
  • Reverts "Fix regression in NDK version checking (#166998)" by @auto-submit[bot] in 167007
  • [Impeller] reland: defer vulkan context initialization as long as possible. by @jonahwilliams in 167000
  • [reland] Fix regression in NDK version checking by @gmackall in 167011
  • Set an additional CMake arg in forceNdkDownload to make the task name align with the BuildType by @gmackall in 167240
  • Add kotlin compatability to build file validation by @reidbaker in 167143
  • Move from getByName to getByType in gradle when fetching androidApp extension. by @reidbaker in 167415
  • Refine developer message for announcement use by @ash2moon in 167127
  • [Android] removes edge insets from a11y bound calculation by @chunhtai in 167136
  • [Android 16] Update mockito to 5.17.0 from 4.7.0, prework for android 36 support by @reidbaker in 167573
  • Remove Robolectric.setupActivity from engine junit tests by @mboetger in 167607
  • [Impeller] defer impeller context initialization onto the raster thread. by @jonahwilliams in 167527
  • Reverts "[Impeller] defer impeller context initialization onto the raster thread. (#167527)" by @auto-submit[bot] in 167748
  • [HCPP] Add filltype support for clipPath mutator by @gmackall in 167571
  • [Impeller] Slimpeller Android prototype. by @jonahwilliams in 167608
  • [Impeller] reland: defer impeller context initialization onto the raster thread. by @jonahwilliams in 167765
  • Deprecated methods that call setStatusBarColor, setNavigationBarColor, setNavigationBarDividerColor by @narekmalk in 165737
  • [Android 16] Bumped Android Defaults in Framework by @jesswrd in 166464
  • [Android 16] Bumped Android Defaults in Engine by @jesswrd in 166796
  • [Android 16] Bumping Framework Default TargetSdk to 36 by @jesswrd in 168577
  • Error when trying to use old HC mode when HCPP is enabled by @gmackall in 168027
  • Fixed Android Lint Errors by @jesswrd in 168613
  • Increase logging around loading of libflutter.so by @mboetger in 168706
  • [hcpp/hc] Fix talkback for HC and HCPP Android platform views by @gmackall in 168939
  • fix android studio lint about lambda argument by @AbdeMohlbi in 168901
  • Remove handling of the legacy .flutter-plugins file in PluginHandler.kt. by @matanlurey in 169317
  • [Impeller] disable vivante from using impeller gles/vulkan. by @jonahwilliams in 169760
  • Remove stray (unused) legacyFlutterPluginsWarning. by @matanlurey in 169895
  • Resolve resolve native Flutter dependencies in Android Studio by @rekire in 167332
  • [engine] dont double free surface texture interop objects. by @jonahwilliams in 170284
  • [engine] ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. by @jonahwilliams in 170313
  • Reverts "[engine] ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. (#170313)" by @auto-submit[bot] in 170377
  • fix: set versionCodeOverride when split-per-abi is specified by @likir09 in 169816
  • [engine] Reland: ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. by @jonahwilliams in 170389
  • [Android] add abiFilters to Flutter Gradle Plugin by @Sameri11 in 168293
  • Use correct type for filterIdentifier by @runarheggset in 170343
  • Drop support for 21/22 Lollipop by @gourabkumarsi in 170748
  • [Android] Add a way to request new Surfaces from SurfaceProducer and avoid SurfaceProducer returning invalid Surface by @camsim99 in 169899
  • Add android-reviewers to CODEOWNERS by @jmagman in 170157
  • [Android] Remap each pair of (pointerId, toolType) to its own unique id by @gmackall in 171240
  • Android gradle use lowercase instead of toLowerCase in preparation for removal in v9 by @reidbaker in 171397
  • remove x86 unused codepaths by @AbdeMohlbi in 170191
  • Android min sdk 24 part 1 by @reidbaker in 170882
  • [android] release background image readers on <= Android 14 by @gmackall in 171193
  • Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 by @reidbaker in 171399
  • Reverts "Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (#171399)" by @auto-submit[bot] in 171736
  • [Documentation] When updating kgp minimum document additional changes that are required by @reidbaker in 171819
  • Use Async SurfaceHolder Callback to remove need for setting alpha workaround by @mboetger in 171398
  • add content description to tooltip-only nodes for android by @ash2moon in 171541
  • fix android studio lint about lambda function by @AbdeMohlbi in 172063
  • [Android] remove obsolete gradle api in FGP by @Sameri11 in 172085
  • [CP-beta]Update warnGradleVersion to 8.7.0 by @flutteractionsbot in 172787

Windows

#
  • [Windows] Enable merged platform and UI thread by default by @knopp in 163726
  • Revert "[Windows] Enable merged platform and UI thread by default" by @loic-sharma in 167420
  • Ignore stdout in WindowsTest.LaunchMainHasNoOutput by @jason-simmons in 167583
  • Reland "[Windows] Enable merged platform and UI thread by default" by @knopp in 167472
  • [Windows] Ensure that the simulated raster thread finishes before returning from FlutterWindowsViewTest tests by @jason-simmons in 168171
  • [a11y] Semantics flag refactor step 2: embedder part by @hannah-hyj in 167738
  • Revert "[a11y] Semantics flag refactor step 2: embedder part" by @hannah-hyj in 170498
  • [Windows] Use ANGLE blit extension on GLES 2.0 by @loic-sharma in 170298
  • Reland (#167738) but with some flags updated to use enum by @hannah-hyj in 170505
  • Multi-window support (engine) by @knopp in 168728

Linux

#
  • [Linux] Merge UI And Platform thread by @knopp in 162671
  • Fix uninitalized fields in FlutterWindowMetricsEvent by @robert-ancell in 168446
  • Fix framebuffer leak rendering to secondary views. by @robert-ancell in 168447
  • Fix stencil buffer leak by @robert-ancell in 168448
  • Fix Linux Impeller support broken by incorrect deletion of stencil buffer. by @robert-ancell in 168668
  • Support software rendering on Linux by @robert-ancell in 166307
  • Fix Linux OpenGL compositor on ARM driver by @richardexfo in 166753
  • Update Linux embedder to new semantics flags API by @robert-ancell in 170497
  • Use a shared vertex buffer for rendering layers. by @robert-ancell in 170717
  • Clear background in the GTK layer, instead of OpenGL by @robert-ancell in 170840
  • Fix multi-view GL rendering not working since software rendering was added by @robert-ancell in 171409
  • Refactor compositor classes by @robert-ancell in 171414

Web

#
  • Remove package:macros and package:_macros from pubspec.yaml by @alexmarkov in 166749
  • [web:skwasm] be consistent about handling imbalanced layer push/pop sequence by @yjbanov in 166887
  • [skwasm] Use queueMicrotask instead of postMessage when single-threaded by @eyebrowsoffire in 166997
  • [Web] Remove webOnlyUniformRadii from RRect by @dkwingsmt in 167237
  • web: Use aria-current as fallback for aria-selected by @flutter-zl in 167672
  • [WebParagraph] Initial wiring for the experimental WebParagraph implementation by @mdebbar in 167763
  • Omit service worker settings when service worker is disabled by @kevmoo in 168192
  • Skwasm heavy by @eyebrowsoffire in 166619
  • [skwasm] Dispose underlying picture recorder when ending recording. by @eyebrowsoffire in 168384
  • [web] more cleanup of unused APIs by @kevmoo in 168524
  • [web] Fix multiline input selection in Chrome. by @ksokolovskyi in 168217
  • Split hint from label and expose it via aria-description or aria-describedby by @flutter-zl in 169157
  • Add dynamic module loader to flutter wasm entrypoint script. by @biggs0125 in 169313
  • Change lint ignore comment to use unawaited by @srawlins in 169622
  • Fix typos: canvakit--> canvaskit by @hannah-hyj in 169868
  • [Engine][Web] Fixed fallback font loading process by @koji-1009 in 166212
  • Remove AlarmClock from BrowserImageDecoder by @koji-1009 in 161481
  • [web] Allow overriding platformViewRegistry for testing. by @ksokolovskyi in 170144
  • Lazy paths and frame object arenas by @eyebrowsoffire in 168996
  • Reverts "Lazy paths and frame object arenas (#168996)" by @auto-submit[bot] in 170164
  • Fix VoiceOver tab activation by adding tappable behavior to SemanticTab by @flutter-zl in 170076
  • Dispose ImmutableBuffer at web_ui.instantiateImageCodecFromBuffer and web_ui.instantiateImageCodecWithSize by @koji-1009 in 161488
  • [canvaskit] Manually trigger input event in text editing tests for Safari by @harryterkelsen in 170022
  • Fix Semantics.identifier on TextField not working on web by @Renzo-Olivares in 170395
  • [web] Add Paint dithering. by @ksokolovskyi in 170362
  • Reland lazy path and object arenas by @eyebrowsoffire in 170303
  • Rename entryPointBaseUrl to entrypointBaseUrl by @piedcipher in 170166
  • Revert "[skwasm] Use transferToImageBitmap instead of createImageBitmap (#163251)" by @eyebrowsoffire in 171238
  • feat(web): Add navigation focus handler for assistive technology focus restoration by @flutter-zl in 170046
  • [web] Add frame number support. by @ksokolovskyi in 171592
  • [web] Refactor clipboard. by @ksokolovskyi in 171427
  • Run tests on either macOS 14 or 15 by @vashworth in 171076
  • [Web a11y]Update table cell to use LabelRepresentation.sizedSpan by @hannah-hyj in 172013
  • Add RSuperellipse support to Web (global cache) by @dkwingsmt in 171489
  • [web] Delete unused files in the engine by @harryterkelsen in 172035

Tooling

#
  • Allow dart pub deps --json to fail without causing an explicit crash. by @matanlurey in 166778
  • Roll pub packages by @flutter-pub-roller-bot in 166779
  • Add buildMode, icuDataPath and engineRevision interpolations for custom devices by @vially in 164455
  • Content aware hash moved to script and tracked by @jtmcdole in 166717
  • Reverts "Content aware hash moved to script and tracked (#166717)" by @auto-submit[bot] in 166864
  • Reverts "[ Widget Preview ] Add initial support for communications over the Dart Tooling Daemon (DTD) (#166698)" by @auto-submit[bot] in 166866
  • Roll forward "Content aware hash moved..." with fix by @matanlurey in 166873
  • Handle missing placeholders in gen-l10n, add a regression test. by @matanlurey in 166867
  • [native assets] Roll dependencies by @dcharkes in 166862
  • [ Widget Preview ] Add support for "soft" restart of individual previews by @bkonyi in 166846
  • [ Widget Preview ] Link to placeholder documentation when no previews are defined by @bkonyi in 166869
  • [native assets] Support user-defines in pubspec by @dcharkes in 166940
  • [native assets] Roll dependencies by @dcharkes in 166969
  • [native assets] Use workspace pubspec for user-defines by @dcharkes in 166977
  • Reland "[ Widget Preview ] Add initial support for communications over the Dart Tooling Daemon (DTD) (#166698)" by @bkonyi in 166877
  • Clarify how/when FLUTTER_PREBUILT_ENGINE_VERSION is passed in Flutter's CI by @matanlurey in 167204
  • Added emulator version to doctor by @gaaclarke in 167236
  • When using --local-web-sdk, use a locally built Dart SDK if one is available by @jason-simmons in 166732
  • [native assets] Roll dependencies by @dcharkes in 167287
  • Add a gradle_errors.dartentry for missing NDK source.properties file by @gmackall in 167320
  • Throw an error if --local-engine-host is used without --local-engine by @jason-simmons in 166948
  • Add ktlint test for generated files from templates by @mboetger in 167378
  • Android doctor: more robust canrun by @gaaclarke in 167489
  • Fix casing of error when Dart compiler is interrupted by @loic-sharma in 167520
  • [native assets] Roll dependencies by @dcharkes in 167665
  • Changes message when web folder is not present by @srivats22 in 165084
  • --use-existing-app defaults to --keep-app-running if not specified. by @matanlurey in 167742
  • Skip writing unchanged registrant files by @alex-medinsh in 167262
  • Add flutter: config: {...} section to pubspec.yaml to influence FeatureFlags by @matanlurey in 167953
  • Fix late variable non-assignment when WASM is enabled by @matanlurey in 167954
  • [native assets] Roll dependencies by @dcharkes in 167984
  • [tool] Add a telemetry event to track SwiftPM migration by @loic-sharma in 166773
  • feat: Arbitrary format options for localizations generation (#102983) by @Gustl22 in 167029
  • Migrate SPM OS minimums to iOS 13, macOS 10.15 by @cbracken in 168153
  • [native assets] Roll dependencies by @dcharkes in 168139
  • Share common logic between UnpackMacOS and UnpackIOS build targets by @vashworth in 168034
  • Add metrics for android gradle plugin version by @mboetger in 168181
  • Add link to SwiftPM manual integration instructions by @vashworth in 168066
  • Change FGP unit test expect to match on process result instead of exit code by @gmackall in 168278
  • [tool] Refactor WebTemplate to be immutable by @kevmoo in 168201
  • Add bin/internal/last_engine_commit.sh and tests. by @matanlurey in 168387
  • Remove old link for java gradle incompatibility by @gmackall in 168561
  • Update Engine-artifacts.md to reflect the new engine.version verifier by @matanlurey in 168413
  • Add test for stack trace mapping and test expression eval tests using DDC library bundle format by @srujzs in 168017
  • Call xcode_backend.dart from macos_assemble.sh by @vashworth in 168108
  • Updated execution path to silently include --start-paused and updated tests by @jyameo in 168400
  • [tool] Fix deprecated API calls within tool by @kevmoo in 168200
  • Replace hardcoded host and app level build.gradle paths with AndroidProject-level getters in gradle_errors.dart by @AbdeMohlbi in 167949
  • Further update Engine-artifacts.md. by @matanlurey in 168779
  • Skip hot reload breakpoints test when running with web by @srujzs in 168873
  • [native assets] Remove KernelSnapshot dependency in build by @dcharkes in 168742
  • Manual pub package roll by @bkonyi in 168916
  • Fix bug with debugging support code not getting injected on edge devices by @jyameo in 168073
  • [ Widget Preview ] Refactor @Preview() detection and code generation by @bkonyi in 168307
  • [tool] Remove unused reportNullSafety getter by @parlough in 168484
  • Only bundle assets and plugins from transitive closure of dependencies by @sigurdm in 160443
  • Fix DDC library bundle format test files to correctly pass flags by @srujzs in 169095
  • [native assets] Roll dependencies by @dcharkes in 169073
  • [flutter_tool] Remove unused environment flags in JS compiler by @kevmoo in 169097
  • Add documentation for experimental branches, update artifacts. by @matanlurey in 169109
  • Roll pub packages by @flutter-pub-roller-bot in 169181
  • Remove isExplicitPackageDependenciesEnabled: true, it is the default. by @matanlurey in 169156
  • Unpin leak_tracker. by @polina-c in 169079
  • [native assets] Graduate to preview by @dcharkes in 169194
  • [tool] Add --no-minify flag to JS Compiler by @kevmoo in 169102
  • Update tool-internal generateLocalizations...() to never use synthetic (flutter_gen) packages by @matanlurey in 169285
  • Skip {PLAT}_web_tools_test#expression_evaluation_*_test.dart, turning tree 🔴 by @matanlurey in 169305
  • Disable the ability to opt-out of explicit-package-dependencies. by @matanlurey in 169283
  • Remove patching of package_config.json from Flutter Pub wrapper. by @matanlurey in 169306
  • Use baseUri of WebAssetServer for reload_scripts.json by @dumazy in 169267
  • Fix warning when building for macOS desktop by @Sameri11 in 165996
  • Forward exit code from dart test to flutter test by @ValentinVignal in 168604
  • Use at most PROC~/2 tasks to transform assets. by @matanlurey in 169386
  • Make test output with encoded dart-defines=... human readable. by @matanlurey in 169353
  • Add /coverage/ to .gitignore.tmp by @matanlurey in 169387
  • Precise browser resizing with integration_test and driver by @munrocket in 160678
  • Remove now disabled code that would generate .flutter-plugins. by @matanlurey in 169320
  • Use .flutter-plugins-dependencies for crash reporting. by @matanlurey in 169319
  • Roll package:dds to 5.0.2 by @bkonyi in 169471
  • 🐛 Normalize generated file paths for the l10n generator by @AlexV525 in 169467
  • Set pause_isolates_on_start flag if --start-paused by @srujzs in 169392
  • Initialize default-flavor in FlutterCommand, adds integration test. by @matanlurey in 169298
  • Reverts "Initialize default-flavor in FlutterCommand, adds integration test. (#169298)" by @auto-submit[bot] in 169581
  • 🐛 Use consist slashes when generating dep files by @AlexV525 in 169570
  • Roll forward: "Initialize default-app-flavor" (#169298) by @matanlurey in 169602
  • Fix minify logic by @kevmoo in 169607
  • [web] Pass the same optimization level to both stages of JS compiler by @kevmoo in 169642
  • Fix the "Missing ExternalProject for :" error by @rekire in 168403
  • [tests] Increase linux timeout and skip on others by @nshahan in 169627
  • Let tests mock the list of feature flags by @loic-sharma in 169140
  • Better null-safe implementation of AssetTransformerEntry. by @matanlurey in 169645
  • [web] Pass the same JS flags to both stages of the compiler by @kevmoo in 169730
  • [ Widget Previews ] Remove deprecated desktop support by @bkonyi in 169703
  • Symlink SwiftPM plugins in the same directory by @vashworth in 168932
  • [native assets] Add error message for #169475 by @dcharkes in 169866
  • Update iOS tools by @vashworth in 169863
  • Remove generateSyntheticPackages and code that invoked it. by @matanlurey in 169893
  • [flutter_tools] Enable hot reload on the web by @nshahan in 169174
  • Remove FlutterProject.flutterPluginsFile. by @matanlurey in 169897
  • Stop writing package_config_subset by @sigurdm in 169125
  • Roll pub packages by @flutter-pub-roller-bot in 169929
  • Remove all now inert references to "synthetic" packages. by @matanlurey in 169943
  • [ Tool ] Remove support for Android x86 targets by @bkonyi in 169884
  • Finish removing --explicit-package-dependencies. by @matanlurey in 169950
  • Data assets by @mosuem in 169273
  • fix: add the missing type of debug metadata by @Runrioter in 169864
  • Use noExitOnFailure in flutter clean. by @matanlurey in 169966
  • [ Tool ] Do not remove version files when fetching tags on main / beta by @bkonyi in 169994
  • Allow setting the Gradle --project-cache-dir for Android builds by @gmackall in 169954
  • [ Tool ] Fix failed VSCode version lookup on Linux by @bkonyi in 169949
  • Reverts "Data assets (#169273)" by @auto-submit[bot] in 170034
  • Roll pub packages by @flutter-pub-roller-bot in 170040
  • Roll pub packages by @flutter-pub-roller-bot in 170042
  • Combine expression evaluation tests to reduce testing time by @mdebbar in 169860
  • Roll pub packages by @flutter-pub-roller-bot in 170066
  • Add connectedApps listener before we launch the browser by @srujzs in 170010
  • Remove deprecated Objective-C iOS app create template by @jmagman in 169547
  • [native assets] Roll dependencies by @dcharkes in 169920
  • Invalidate build target when new output file is added by @vashworth in 170253
  • Remove lldb warnings by @vashworth in 169673
  • Updated templates to avoid the LaunchEngine by @gaaclarke in 169998
  • Remove pubspec.lock files for flutter_tools and widget_preview_scaffold. by @matanlurey in 170364
  • fix: Skip native assets build test (flaky, takes 15m+) by @jtmcdole in 170383
  • Roll pub packages by @flutter-pub-roller-bot in 170444
  • [ Widget Preview ] Don't try to load previews with compile-time errors by @bkonyi in 170262
  • Remove all code in conductor/core that is now unused by @matanlurey in 170454
  • Adds getters for different formats of build mode name by @vashworth in 170251
  • [ Widget Preview ] Refactor the flutter widget-preview command by @bkonyi in 170467
  • Fix stray --packages argument from workspace refactor; add a test. by @matanlurey in 170449
  • Re-split hot reload error and hot restart tests by @mdebbar in 170368
  • [native assets] Build dev dependencies in flutter test integration_test by @dcharkes in 170374
  • [native assets] Roll dependencies by @dcharkes in 170586
  • Reverts "[native assets] Build dev dependencies in flutter test integration_test (#170374)" by @auto-submit[bot] in 170673
  • Set max request pool size for DDC module loader when in CI by @srujzs in 170565
  • Prevent --web-experimental-hot-reload on web-server by @nshahan in 170610
  • Reland "[native assets] Build dev dependencies in flutter test integration_test" by @dcharkes in 170686
  • Reverts "Reland "[native assets] Build dev dependencies in flutter test integration_test" (#170686)" by @auto-submit[bot] in 170718
  • Reland "[native assets] Build dev dependencies in flutter test integration_test" by @dcharkes in 170728
  • [ Tool ] Fix file path conflict introduced in 169949 by @bkonyi in https://github.com/flutter/flutter/pull/170606
  • [ Widget Preview ] Remove support for synthetic package:flutter_gen by @bkonyi in 170602
  • Update Engine-artifacts.md to reflect flutter/cocoon/4785 by @matanlurey in 170751
  • remove --start-paused flag by default and set useDwdsWebSocketConnect… by @jyameo in 170612
  • [ Tool ] Roll DDS 5.0.3 by @bkonyi in 170880
  • Set the background in the Linux template by @robert-ancell in 170841
  • Show window on first frame on Linux by @robert-ancell in 170844
  • Run pub get post-processing for each package in workspace by @sigurdm in 170517
  • [ Tool ] Roll package:dds 5.0.4 by @bkonyi in 171007
  • Add --no-web-resources-cdn to all web integration tests by @mdebbar in 171013
  • Roll pub packages by @flutter-pub-roller-bot in 171016
  • Include dev_dependencies in all builds for iOS and macOS by @vashworth in 171015
  • Don't strip symbols from libapp.so on android by default by @gmackall in 162464
  • Reverts "Don't strip symbols from libapp.so on android by default (#162464)" by @auto-submit[bot] in 171044
  • Add LLDB warnings by @vashworth in 170827
  • Clean up Devfs_Web into separate files by @salemiranloye in 170769
  • [flutter_tool] Migrate DAP off ProcessUtils.writelnToStdinUnsafe by @DanTup in 171081
  • Update tool/README.md regarding locally-built engine by @srawlins in 171102
  • Add Android specific sub-step to validate the Android sdk path has no spaces by @gmackall in 170829
  • [ Widget Previews ] Support projects containing libraries with part files by @bkonyi in 171027
  • [ Widget Previews ] Use monospace fonts when displaying stack traces by @bkonyi in 171167
  • Run expression_evaluation_web_amd_test.dart on Mac/Windows by @mdebbar in 171277
  • Re-combine reload error and restart test cases by @nshahan in 171251
  • Ensure flutter_tools's pubspec.lock is newer than pubspec.yaml by @matanlurey in 171300
  • Allow minification to be toggled for wasm builds by @biggs0125 in 171211
  • Roll pub packages by @flutter-pub-roller-bot in 171091
  • Run expression_evaluation_web_ddc_library_bundle_test.dart on Mac/Windows by @mdebbar in 171278
  • Report feature flags enabled if the flutter tool crashes on a bot. by @matanlurey in 171304
  • Remove a doctor event from the package:usage-era. by @matanlurey in 171305
  • Add feature flags to flutter doctor -v by @matanlurey in 171307
  • Add -v to flutter doctor for crash reporting by @matanlurey in 171308
  • Address some comments from #38632 (2019) if they still apply by @matanlurey in 171461
  • [ Tool ] Change name of test classes that don't extend Mock from Mock* to Fake* by @bkonyi in 171380
  • [ Tool ] Update validator of NO_PROXY to explicitly match detected hosts by @bkonyi in 171385
  • [Tool] Add all enabled features property by @loic-sharma in 171547
  • Add --profile-microtasks flag to flutter run by @derekxu16 in 170877
  • [ Widget Previews ] Add support for Pub Workspaces by @bkonyi in 171538
  • [ Widget Preview ] Add a "Restart Widget Previewer" button to the widget preview scaffold by @bkonyi in 171602
  • [ Widget Previews ] Add analytics for flutter widget-preview start by @bkonyi in 171641
  • [web] Wasm minification default matches JS minification default by @mdebbar in 171710
  • Use dwds 24.4.0 by @srujzs in 171669
  • [ Tool ] Prepare for enabling omit_obvious_*_types and specify_nonobvious_*_types by @bkonyi in 171651
  • Run hot_reload_web_test.dart on Mac/Windows by @mdebbar in 171279
  • [ Tool ] Fix crash when SIGQUIT is sent to enable the VM service for flutter analyze --watch by @bkonyi in 171713
  • [ Tool ] Remove long-deprecated make-host-app-editable by @bkonyi in 171715
  • feat: Use engine_stamp.json in flutter tool by @jtmcdole in 171454
  • Run hot_restart_web_amd_test.dart on Mac/Windows by @mdebbar in 171281
  • [ Tool ] Support upgrading to a new Flutter version pointing to the same revision as a previous version by @bkonyi in 171783
  • Add/use addMachineOutputFlag/outputsMachineFormat instead of strings by @matanlurey in 171459
  • Remove now duplicate un-forward ports for Android by @matanlurey in 171473
  • Add support for running dart2wasm in dry run mode on js compilations by @biggs0125 in 171682
  • Add total execution time to the flutter upgrade command by @matanlurey in 171475
  • Add analytics events for wasm dry runs on web builds by @biggs0125 in 171818
  • Support NO_COLOR to opt-out of flutter tool ANSI colors by @matanlurey in 171892
  • Hide the rarely direct used --sample argument by default by @matanlurey in 171898
  • Allow flutter attach to discover flutter engine running on Custom Device by @dannyvalentesonos in 170635
  • Add flutter config --enable-omit-legacy-version-file by @matanlurey in 171903
  • Run stateless_stateful_hot_reload_web_test.dart on Mac/Windows by @mdebbar in 171283
  • Run hot_reload_with_asset_web_test.dart on Mac/Windows by @mdebbar in 171280
  • Run hot_restart_web_ddc_library_bundle_test.dart on Mac/Windows by @mdebbar in 171282
  • [ Tool ] Downgrade and pin DDS to 5.0.3 by @bkonyi in 172120
  • [ Widget Preview ] Initial work to support reacting to IDE events by @bkonyi in 172040
  • [ Tool ] Fix flutter upgrade stating that an upgrade is available on main when up to date by @bkonyi in 172141
  • [CP-beta] Add a warning on usage of dartPluginClass: 'none'. by @flutteractionsbot in 172498
  • [CP-beta] Emit a warning on --[no-]disable-dds, preferring --no-dds by @flutteractionsbot in 172790

Documentation

#
  • Adding utf-8 encoding to hello world's html template by @Markzipan in 168162
  • Update hello_world example to current layout flutter create uses by @robert-ancell in 168571

Other changes

#
  • Re-disable microbenchmarks iOS. by @jonahwilliams in 166788
  • [Impeller] disable no decal metal test. by @jonahwilliams in 166771
  • [Impeller] keep device holder and allocator alive until last vk image is destroyed. by @jonahwilliams in 166725
  • [Impeller] fix image shader matrix to 3x3. by @jonahwilliams in 166612
  • Roll pub packages by @flutter-pub-roller-bot in 166810
  • Update roadmap email by @mit-mit in 166838
  • [Impeller] Tessellate paths directly using PathReceiver by @flar in 166759
  • [Impeller] prefer 24 bit depth buffer format on vulkan backend. by @jonahwilliams in 166854
  • bump max tasks to a huge number. by @jonahwilliams in 166876
  • [Impeller] correctly invalidate program objects when performing a hotreload on GLES> by @jonahwilliams in 166881
  • [Impeller] set correct depth for emulated advanced blend restore. by @jonahwilliams in 166501
  • [engine] disable Skia resource manager warning when using Impeller. by @jonahwilliams in 166882
  • [devicelab] use surface control/hcpp in lazy startup benchmark. by @jonahwilliams in 166893
  • Run tests on either iOS 17 or iOS 18 by @vashworth in 166879
  • add Impeller path stroke tessellation benchmark by @flar in 166939
  • [Impeller] correct render pass bariers when resolve has mips. by @jonahwilliams in 166892
  • [Impeller] re-make AHB swapchain lazy and allow usage on < 34 by @jonahwilliams in 166943
  • [Impeller] fix vulkan/gl color space decode. by @jonahwilliams in 166957
  • [Impeller] various iOS cleanups. by @jonahwilliams in 166859
  • Include 3.29.3 and 3.29.2 changelog entries to master by @reidbaker in 166994
  • Remove some unused third party library build scripts by @jason-simmons in 166960
  • Cleanup links to flutter/engine in ci/builders docs by @2ZeroSix in 166916
  • [fuchsia] Uprev test-scripts with FUCHSIA_READELF env by @zijiehe-google-com in 166929
  • Add buildroot compatibility for HWASAN. by @rmacnak-google in 167133
  • Update tests.version to fix customer_testing. by @matanlurey in 167206
  • [customer_testing] Pick up the fix for issue found by flutter/dart hh. by @aam in 167212
  • license checker: ignore git sha in dart license by @gaaclarke in 167153
  • Removed superfluous copy in license checker by @gaaclarke in 167146
  • Roll Dartdoc to 8.3.3 by @jason-simmons in 167231
  • Adding macrobenchmarks for DDC by @Markzipan in 166617
  • Revert "Removed superfluous copy in license checker (#167146)" by @jason-simmons in 167246
  • Updated docstrings for TextureContents by @gaaclarke in 167221
  • Update CHANGELOG.md by @matanlurey in 167225
  • [macOS] Enable merged platform and UI thread by default by @knopp in 166536
  • Added docstring for FilterContents::RenderFilter by @gaaclarke in 167227
  • fixed impeller golden content scale by @gaaclarke in 167308
  • adds Entity docstrings by @gaaclarke in 167228
  • Added docstring for FilterInput::GetSnapshot by @gaaclarke in 167226
  • Update led docs by @LouiseHsu in 167380
  • Mark windows_host_engine_test flaky by @matanlurey in 167419
  • Fix codesigning for Mac_arm64_ios imitation_game_flutter by @LouiseHsu in 167307
  • Added missing period for consistency and readability by @shaymolcho in 162887
  • Reverts "Mark windows_host_engine_test flaky (#167419)" by @auto-submit[bot] in 167425
  • Add explicit dependency on the syslog shard by @gbbosak in 167210
  • Turned on preserve bindings to impellerc by @gaaclarke in 167203
  • Roll dart 3.9.0-33.0.dev by @aam in 167513
  • [skia] Use granular png source file lists by @kjlubick in 167550
  • Disable a couple of entries in android_java17_dependency_smoke_tests by @gmackall in 167604
  • Redistribute iOS TESTOWNERS by @vashworth in 167562
  • [Impeller] Make incremental builds faster when tinkering on the compiler. by @chinmaygarde in 167492
  • Fix a race in ShellTest.EncodeImageFailsWithoutGPUImpeller by @jason-simmons in 167669
  • [Impeller] fix playground validation errors in imgui overlay. by @jonahwilliams in 167491
  • [Impeller] Adds oval shortcut to DisplayListMatrixClipState::clip{RRect,RSuperellipse} by @dkwingsmt in 164519
  • Roll customer_testing from 8be72094d to c9cbc600e (4 commits) by @gnprice in 167754
  • Move backfill: "false" out of properties, make it a boolean. by @matanlurey in 167820
  • Improve log output of keyboard_hot_restart_ios by @loic-sharma in 167834
  • macOS: remove unused mac_sdk_min by @cbracken in 167907
  • iOS: remove unused ios_sdk.gni import by @cbracken in 167909
  • iOS,macOS: delete run_command_with_retry by @cbracken in 167908
  • Reduces the compile size of Pipelines and ContentContext by @gaaclarke in 167671
  • Roll ICU to c9fb4b3a6fb5 by @jason-simmons in 167691
  • Forward mnemonics for compiled actions. by @chinmaygarde in 167511
  • Adding support for macrobenchmarking with "flutter run" by @Markzipan in 167692
  • [Impeller] report application version info as 2.0 by @jonahwilliams in 167961
  • Revert "[Impeller] Make incremental builds faster when tinkering on the compiler." by @chinmaygarde in 167965
  • Roll Skia to 25bba45c7b25 by @jason-simmons in 168012
  • [dyn_modules] simplify CI now that dart2bytecode is prebuilt by default by @sigmundch in 167851
  • Using --no-sandbox for Chrome DDC benchmarks by @Markzipan in 168010
  • Fix broken VD link in Android-Platform-Views.md by @gmackall in 168026
  • Declare both Mac and iOS build arguments in apple_sdk.gni by @jason-simmons in 168025
  • [Windows] Improve et's error if gclient has never been run by @loic-sharma in 167956
  • A few more updates to Google-Testing. by @matanlurey in 168000
  • Remove linux_fuchsia builds from release_build: "true". by @matanlurey in 168094
  • Remove release_build: "false" which is interpreted as true due to a recipes bug. by @matanlurey in 168098
  • Reverts "Remove linux_fuchsia builds from release_build: "true". (#168094)" by @auto-submit[bot] in 168146
  • Add @flutter-zl to the list in Flutter-Web-Triage.md by @mdebbar in 168078
  • Only build and download Fuchsia artifacts on master by @matanlurey in 168154
  • Running Chrome macrobenchmarks in headless mode by @Markzipan in 168104
  • [Impeller] Use the stroke width in the coverage calculation for CircleGeometry by @jason-simmons in 168030
  • Manual Roll Dart SDK from 8fe61b2d428b to 5c535a368799 by @a-siva in 168122
  • New geometry class to directly stroke rectangles by @flar in 168038
  • Remove engine tests kvm=1 as unnecessary. by @matanlurey in 168106
  • Slimpeller can stomp on gcs binary bits ☠️ by @jtmcdole in 168178
  • macOS: Delete unused FlutterRenderBackingStore by @cbracken in 168159
  • Remove availability checks for iOS 13, macOS 10.15 by @cbracken in 168157
  • [dyn_modules] enable ddm builds in the merge queue by @sigmundch in 168233
  • [Impeller] Fill/StrokePathGeometry use geom objects as path sources by @flar in 168125
  • Manual roll of Dart from 5c535a368799 to a1e1e2770c1e by @jason-simmons in 168317
  • Update goldens.dart error to point to moved file by @reidbaker in 168319
  • Check for duplicate archive paths in the engine build configuration JSON files by @jason-simmons in 168248
  • Copy Dart SDK _internal/vm/bin sources into the sky_engine package by @jason-simmons in 168238
  • Using headless=new for Chrome macrobenchmarks by @Markzipan in 168256
  • macOS: Support writing Swift in the macOS embedder by @cbracken in 168174
  • Upload android-arm64-release treemap to known location by @jtmcdole in 168349
  • Update mac_ios tests to run on either arm64 or x86 by @vashworth in 168341
  • [Impeller] libImpeller: Expose access to conservative path bounds. by @chinmaygarde in 168402
  • Extending timeouts for DDC macrobenchmarks by @Markzipan in 168409
  • Capture errors when running flutter_tools in the entrypoint_dart_registrant devicelab test by @jason-simmons in 168411
  • macOS: trailing closures for FlutterRunLoop.perform* by @cbracken in 168415
  • Allow iOS devicelab tests to run on macOS 15.1 by @vashworth in 168234
  • Roll to Dart SDK 3.9 Beta 1 by @aam in 168559
  • Increased the limit where we start chopping off the end of blurs by @gaaclarke in 168109
  • [Impeller] libImpeller: Usability improvements for WASM and python bindings. by @chinmaygarde in 168397
  • add missing lockfiles not checked in from running generate_gradle_lockfiles.dart by @ash2moon in 168600
  • Fix: Impeller playground's points should be draggable by @dkwingsmt in 168351
  • delete stale references/includes to classes no longer used by @flar in 168616
  • [Impeller] libImpeller: Allow setting text decorations. by @chinmaygarde in 168408
  • Update TESTOWNERS for Android PV tests by @matanlurey in 168694
  • Remove/replace the team label with c: contributor-productivity. by @matanlurey in 168702
  • Remove docs_deploy_beta, fix docs_publish, add comments. by @matanlurey in 168754
  • Run {Platform} flutter_packaging builders on release candidates. by @matanlurey in 168762
  • macOS,iOS: fix swift target triple by @cbracken in 168749
  • Remove references to team-release. by @matanlurey in 168780
  • Mark web_tool_tests_1_2 as bringup. by @matanlurey in 168871
  • Add a new CI build for iOS DDM-enabled artifacts by @jacobsimionato in 168717
  • [display_list] paint cleanup. by @jonahwilliams in 168082
  • Fix mac_ios_engine_ddm config with missing ci/ios_debug_sim_ddm config by @jacobsimionato in 168888
  • Revert: "Run flutter_packaging builders on release candidates by @matanlurey in 168917
  • Remove unnecessary bringup: true for release-channel only Linux flutter_packaging. by @matanlurey in 168761
  • Add bringup: true Linux orchestrators that schedule Windows engine builds by @matanlurey in 168937
  • Include go_router label in framework triage links by @justinmc in 168947
  • [Impeller] Use PathSource for DrawDiffRoundRect by @flar in 168942
  • [Impeller] separate immutable sampler descriptors. by @jonahwilliams in 169011
  • Add flag to skip bundling extension safe builds in frameworks for DDM by @jacobsimionato in 168955
  • macOS: port ResizeSynchronizer to Swift by @cbracken in 168959
  • Update documentation for Size and Rect classes by @stuuupidcat in 168031
  • Modernize system executable detection across components by @emmanuel-ferdman in 169018
  • Fix typo in gpu_surface_gl_impeller.cc by @littleGnAl in 168395
  • Fix keyboard_hot_restart_ios flakes by @loic-sharma in 168518
  • Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list by @littleGnAl in 169031
  • Skip running Linux fuchsia_test on non-master channel. by @matanlurey in 169106
  • runtime/dart: fuchsia::io::MODE_TYPE_FILE -> V_TYPE_FILE by @sutes-work in 168952
  • [Impeller] disable gl ext render to texture on vivante. by @jonahwilliams in 169153
  • Removed repeated entry in CHANGELOG.md by @ferraridamiano in 165273
  • Roll Dart SDK from 7c40eba6bf77 to 56940edd099d by @jason-simmons in 169135
  • Make build_android_host_app_with_module_aar build using an aar by @gmackall in 169171
  • Increase sub-task timeout for web_tool_tests_1_2 by @mdebbar in 169277
  • Reverts "Make build_android_host_app_with_module_aar build using an aar (#169171)" by @auto-submit[bot] in 169287
  • Increase sub-task timeout for Mac web_tool_tests by @DanTup in 169307
  • [Engine] Fix an edge case of RoundSuperellipseParam::Contains with sharp corners by @dkwingsmt in 167977
  • Add missing dart_dynamic_modules flag for iOS DDM simulator builds by @jacobsimionato in 169254
  • Revert "Mark web_tool_tests_1_2 as bringup." by @mdebbar in 169361
  • Add a page describing best CI practices for flutter-org repos by @matanlurey in 169364
  • Add changelog section for 3.32.0 and 3.32.1, and add note for ndk checking cherry pick by @gmackall in 169369
  • [Engine] Fast blurring algorithm for RSuperellipse by @dkwingsmt in 169187
  • Fix wrong path in 'archives' for release mode iOS DDM artifacts. by @jacobsimionato in 169448
  • Make Android team platform view TESTOWNERS by @jmagman in 169297
  • dev/bots: improve service worker test code by @kevmoo in 169231
  • Update DEPS to add dart-lang/ai repo by @jakemac53 in 169540
  • Allow tests to use macOS 15.5 by @vashworth in 169536
  • Engine tests kvm=1 is required for some fuchsia by @jtmcdole in 169614
  • [Impeller] acquire the gpu sync switch when flush stored GPU tasks. by @jonahwilliams in 169596
  • integration_tests: Check if BuildContext is mounted in display_cutout_test by @srawlins in 169008
  • [Impeller] Update FAQ for WebGPU/Dawn. by @chinmaygarde in 169616
  • Reduce some CI timeouts by @mdebbar in 169512
  • Update triage for new team-devexp by @stuartmorgan-g in 169668
  • [Impeller] Maintain a global map of each context's currently active thread-local command pools by @jason-simmons in 169548
  • Roll customer_testing to 7f55026290e721fc648d3811664bbf3abca911d5 by @bkonyi in 169671
  • [reland] Make build_android_host_app_with_module_aar build using an aar by @gmackall in 169311
  • [Impeller] libImpeller: Allow setting ellipses. by @chinmaygarde in 169610
  • [Impeller] let drawImage nine use porter duff optimization. by @jonahwilliams in 169611
  • Mark Linux web_tool_tests as bringup due to being 10%+ flaky by @matanlurey in 169716
  • Merge changelog from 3.32.1. by @eyebrowsoffire in 169713
  • Add missing localization generation for widgets by @LouiseHsu in 169695
  • feat: experimental workflow for Linux tool-tests-general by @jtmcdole in 169706
  • fix: update experiment to use different setup by @jtmcdole in 169728
  • Update Experimental-Branch.md by @matanlurey in 169721
  • Remove discontinued packages from issue template by @stuartmorgan-g in 169666
  • Roll expat to 8e49998f by @jason-simmons in 169707
  • Switch to Linux orchestrators for Windows releasers. by @matanlurey in 168941
  • Revert "fix: update experiment to use different setup (#169728)" and "feat: experimental workflow for Linux tool-tests-general (#169706)" by @jason-simmons in 169770
  • Remove legacy platforms in .ci.yaml with 0 usages. by @matanlurey in 169783
  • [Impeller] document reverse-y requirement for ImageFilter.shader by @jonahwilliams in 169761
  • feat: experimental tool tests workflow (attempt 2) by @jtmcdole in 169768
  • [Impeller] Directly tessellate arc operations by @flar in 169402
  • Reverts "Remove legacy platforms in .ci.yaml with 0 usages. (#169783)" by @auto-submit[bot] in 169799
  • [Impeller] Fix rotated CircleGeometry coverage by @flar in 169743
  • [Android 16] Upgrade to an API 36 AVD in Engine CI by @jesswrd in 169124
  • Use explicit FontConfig SkFontMgr factory by @kjlubick in 169533
  • [Impeller] Fix flakes in the CommandPoolRecyclerVKTest suite by @jason-simmons in 169785
  • Roll-foward: "Remove legacy platforms in .ci.yaml with 0 usages" by @matanlurey in 169882
  • Split Linux docs_publish into Linux docs_generate_release by @matanlurey in 169793
  • gclient sync only run pub get in workspace root folders by @sigurdm in 169134
  • [macOS] Fix TextInputPlugin crash when no viewId is provided by @knopp in 169583
  • Use flutter pub get, not dart pub get, on the autoroller by @mosuem in 169922
  • Fix .xcodeproj file name in Setting-up-the-Engine-development-environment.md by @littleGnAl in 168814
  • Add support for arm64 QNX toolchains. by @chinmaygarde in 168699
  • [fuchsia] Use the system loader instead of Dart_LoadELF_Fd. by @rmacnak-google in 169534
  • Remove Observatory build rules and remaining references from the engine by @bkonyi in 169945
  • Remove bringup on Linux docs_generate_release. by @matanlurey in 169937
  • Roll pub packages by @flutter-pub-roller-bot in 169960
  • [Impeller] Use StrokePathSourceGeometry to stroke RoundSuperellipse by @dkwingsmt in 169704
  • Clean up EmbedderExternalViewEmbedder creation by @cbracken in 169962
  • Manual roll of Dart from 6aeb798bdbe2 to 239174405ad0 by @a-siva in 169959
  • Explicitly disabling hot reload for non-hot-reload web debug benchmarks by @Markzipan in 170006
  • Remove conductor, keeping everything that packages_autoroller uses. by @matanlurey in 170001
  • Merge CHANGELOG from 3.32.2 by @camsim99 in 170028
  • Move the check for Git in the PATH into the top level Windows flutter.bat script by @jason-simmons in 169794
  • Make ImageFilter::equals a static method and fix the name in its FFI annotation by @jason-simmons in 170023
  • Release validation: Check bin/internal/engine.version in presubmit by @matanlurey in 170018
  • Update triage page by @Piinks in 170084
  • Add caching to the tool test workflow by @zanderso in 169858
  • Reverts "Add caching to the tool test workflow (#169858)" by @auto-submit[bot] in 170100
  • Redirect the output of the "pub upgrade" command run by bin/flutter to stderr by @jason-simmons in 170174
  • Reland workflow cache by @zanderso in 170111
  • [Impeller] Fix vertex allocation counts for flat curves by @flar in 170194
  • [Impeller] Avoid allocating path for dashed lines by @flar in 169881
  • licenses_cpp: initial commit by @gaaclarke in 169105
  • Update test_vulkan_context.cc to use Vulkan 1.1 by @lhkbob in 170351
  • Revert "Add call to Dart_NotifyDestroyed when the flutter view is des… by @jiahaog in 170309
  • Use "flutter pub get" to resolve packages when building the docs snippets tool by @jason-simmons in 170381
  • Verify old version of Python has the lib2to3 import available by @harryterkelsen in 170187
  • Roll pub packages by @flutter-pub-roller-bot in 170399
  • Use pathops module groups by @kjlubick in 169857
  • Add SK_SUPPORT_UNSPANNED_APIS staging flag by @fmalita in 170139
  • [Impeller] Avoid creating paths when rendering arcs by @flar in 170398
  • Tiny clean-up in triage docs by @piedcipher in 170429
  • iOS tool dylibs do not need entitlements by @vashworth in 170448
  • [impellerc] add GLES shader define. by @jonahwilliams in 170375
  • Add time to first frame for Mac_arm64_ios imitation_game_swiftui by @LouiseHsu in 167602
  • Update master branch CHANGELOG.md for 3.32.3. by @matanlurey in 170492
  • Copy packages_autoroller to dev/packages_autoroller/run. by @matanlurey in 170495
  • Fix the path to packages_autoroller. by @matanlurey in 170538
  • Roll pub packages by @flutter-pub-roller-bot in 170522
  • [Impeller] fix mask filter application to Vertices. by @jonahwilliams in 170548
  • chore: move experimental setup steps to composite action by @jtmcdole in 170496
  • infa: linux_android_emulator_tests to bringup (bad kvm config) by @jtmcdole in 170607
  • Update CHANGELOG with 3.32.4 changes by @itsjustkevin in 170598
  • licenses_cpp: Started writing the licenses file by @gaaclarke in 170539
  • Move verify_binaries_pre_codesigned test out of bringup by @vashworth in 170526
  • [Impeller] when decoding image on iOS, block on command buffer scheduling and log gpu errors. by @jonahwilliams in 169378
  • Fix whitespace issue in .ci.yaml. by @eyebrowsoffire in 170615
  • infa: other emulator bringups by @jtmcdole in 170611
  • [Impeller] disable lossy texture compression. by @jonahwilliams in 170596
  • Start a dev/checks_tool directory. by @matanlurey in 170493
  • [Impeller] Removal of MSAA for intermediate render targets used in filtering. by @jonahwilliams in 169692
  • Roll pub packages by @flutter-pub-roller-bot in 170683
  • License cpp jun13 by @gaaclarke in 170620
  • [native assets] Switch device lab Android with Linux host to emulator by @dcharkes in 170689
  • [release] Sync stable changelog to master by @itsjustkevin in 170691
  • add run_gradle_lock_files_check.dart for new PR's that modify gradle files by @ash2moon in 169245
  • Remove and inline license_header.txt by @matanlurey in 170475
  • [ui] npot display_list allocation. by @jonahwilliams in 170447
  • Reverts "add run_gradle_lock_files_check.dart for new PR's that modify gradle files (#169245)" by @auto-submit[bot] in 170770
  • Work around newer compilers requiring the satisfaction of three-way comparison of EncodableValue. by @chinmaygarde in 170822
  • License cpp jun16 by @gaaclarke in 170716
  • Escape the forbidden strings in the regex used to check test command output by @jason-simmons in 170702
  • [Impeller] Update README to add section about custom embedders. by @chinmaygarde in 170077
  • [Impeller] fix array uniforms on GLES backend. by @jonahwilliams in 170710
  • Engine builders no longer require is_fusion by @matanlurey in 170849
  • Roll pub packages by @flutter-pub-roller-bot in 170907
  • [licenses_cpp] jun17 by @gaaclarke in 170845
  • Fix the Japanese IME problem on macOS reported in the following issue. by @hidea in 166291
  • Un-bringup Linux web_tool_tests by @mdebbar in 171004
  • Move web_long_running_tests_{1,5}_5 to bringup. by @matanlurey in 171026
  • Remove update CHANGELOG step from stable cherry pick process by @loic-sharma in 171017
  • Make service worker tests more lenient. by @eyebrowsoffire in 170939
  • Pass font scanner to font mgr that need it by @bungeman in 170701
  • Move packages_autoroller out of the carcass of conductor, delete conductor by @matanlurey in 171029
  • Enable interpretation fallback when unable to JIT on iOS. by @rmacnak-google in 170835
  • Remove temporary workaround for web testing by @nshahan in 170949
  • Support wide gamut colors when applying a DlColor to an SkPaint by @jason-simmons in 170613
  • [web] Align the PR triage process with the ecosystem's triage flow by @mdebbar in 171086
  • License cpp jun23 by @gaaclarke in 171047
  • Remove stale references to Release-process.md and conductor by @matanlurey in 171046
  • Revert "Move web_long_running_tests_{1,5}_5 to bringup." by @mdebbar in 171100
  • Log stack traces from exceptions thrown by devicelab test tasks by @jason-simmons in 171165
  • feat: upload artifacts to content_hash if signaled by @jtmcdole in 171166
  • [Impeller] libImpeller: Allow user supplied fragment programs to shade pixels. by @chinmaygarde in 170616
  • Allow uninstalling Git hooks. by @chinmaygarde in 170839
  • [Impeller] Make ContextVK hash values globally unique by @jason-simmons in 171119
  • feat: remove "cmd.exe" requirement for content-hashing by @jtmcdole in 171233
  • Add a flag that disables SecureSocket support in Dart by @jason-simmons in 171201
  • Clamp the alpha channel to the valid range in the DlColor constructor by @jason-simmons in 171203
  • License cpp jun25 by @gaaclarke in 171235
  • Activate microtask profiling in dart:async when Switch::ProfileMicrotasks is set by @derekxu16 in 171035
  • Roll pub packages by @flutter-pub-roller-bot in 171392
  • feat: add "stamp" to et and create build-time engine_stamp.json by @jtmcdole in 171310
  • Update Setting-up-the-Engine-development-environment.md by @srawlins in 171051
  • remove x86 in BUILD.gn by @AbdeMohlbi in 170965
  • Remove --enable-impeller-3d gn flag by @bdero in 171405
  • Remove impeller-cmake build rules by @bdero in 171407
  • Roll pub packages by @flutter-pub-roller-bot in 171415
  • Increase per-step timeout for build_android_host_app_with_module_source targets by @gmackall in 171241
  • License cpp 701 by @gaaclarke in 171487
  • Mark web_long_running_tests_2_5 as bringup by @jtmcdole in 171726
  • [skia] Update usage of removed gn flag by @kjlubick in 171800
  • Revert "Mark web_long_running_tests_2_5 as bringup" by @mdebbar in 171872
  • [skia] Fix flag fiddling for Fuchsia, FreeType, & friends by @kjlubick in 171874
  • Reverts "Roll Packages from cba2e9028121 to 4a231ae8546d (5 revisions) (#171879)" by @auto-submit[bot] in 171897
  • Reverts "Reverts "Roll Packages from cba2e9028121 to 4a231ae8546d (5 revisions) (#171879)" (#171897)" by @auto-submit[bot] in 171910
  • Make labels field an array by @matanlurey in 171906
  • Add public postmortem of the 3.32.3 release. by @matanlurey in 171904
  • Simplify the template for infrastructure requests by @matanlurey in 171905
  • Update .gitignores by @matanlurey in 171907
  • feat: new builders for size experiment by @jtmcdole in 171886
  • Update CHANGELOG for 3.32.5, 3.32.6 stable hotfix releases by @camsim99 in 171891
  • Adds a MCP server for working with the engine by @gaaclarke in 171738
  • Manual roll Dart SDK from 8d69b07b9d9d to 07ea3aaaadf0 (32 revisions) by @jason-simmons in 171969
  • [Android 16] Updated linux_android_emu to a 36 AVD in framework CI by @jesswrd in 169121
  • License_cpp 7/02 by @gaaclarke in 171558
  • Detach the resource context from the IO thread only if the shell's IO manager is no longer being used by any other spawned shells by @jason-simmons in 171554
  • adds gemini.md to engine and licenses_cpp by @gaaclarke in 172022
  • Manual roll Dart to b21dca1b89ff by @jason-simmons in 172038
  • Roll dart sdk to 3.9.0-333.0.dev by @aam in 172052
  • remove x86 in flutter_gdb by @AbdeMohlbi in 170966
  • remove x86 in CI builder linux_android_emulator by @AbdeMohlbi in 170964
  • [Impeller] Fix broken image links in documentation. by @chinmaygarde in 171465
  • fix: documentation around led launch broken by @jtmcdole in 171983
  • [skia] Set GN flags explicitly for fuchsia build by @kjlubick in 172104
  • Use granular skparagraph targets by @kjlubick in 161676
  • [web] Cleanup unnecessary dart defines and renderer in web tests by @mdebbar in 172130
  • Migrate to arm based firebase test devices for api 26 and 27 by @jesswrd in 172128
  • [Impeller] libImpeller: Correctly release mappings created using the C++ API wrapper. by @chinmaygarde in 172136
  • feat: Tag Fuchsia artifacts by content hash by @jtmcdole in 172132
  • Roll Dart SDK to 3.9.0-333.2.beta by @iinozemtsev in 172167
  • [skia] Add missing param to makeRasterImage calls by @kjlubick in 172122
  • Allow a release without engine cherrypicks (adds fallback logic) by @matanlurey in 172184
  • [3.35] Create release-candidate-branch.version by @matanlurey in 172191
  • [3.35] Update engine.version (+CPs Use release-*.version) by @matanlurey in 172237
  • [CP-beta]Remove emoji from ci.yaml, because we still live with CP1252 for some silly reason by @flutteractionsbot in 172263
  • [3.35] Update engine.version by @matanlurey in 172473
  • [CP-beta][ios]update provisioning profile for 2025-2026 cert for chromium bots by @flutteractionsbot in 172972
  • Update engine version for 3.35-0.2.pre by @eyebrowsoffire in 172987
  • Update engine.version again for 3.35-0.2 by @eyebrowsoffire in 173116

New contributors

#
  • @vially made their first contribution in 164455
  • @whopavan made their first contribution in 164966
  • @MaironLucas made their first contribution in 164102
  • @shaymolcho made their first contribution in 162887
  • @pogojotz made their first contribution in 165306
  • @tanyabouman made their first contribution in 167096
  • @flutter-zl made their first contribution in 167672
  • @4rthurmonteiro made their first contribution in 167648
  • @alex-medinsh made their first contribution in 167262
  • @Tosemite made their first contribution in 167403
  • @narekmalk made their first contribution in 165737
  • @iamdipanshusingh made their first contribution in 167615
  • @CoderNamedHendrick made their first contribution in 168041
  • @nailahsall0 made their first contribution in 168191
  • @mohamedamara made their first contribution in 167782
  • @ayyoub-coder made their first contribution in 168480
  • @camfrandsen made their first contribution in 163491
  • @romanejaquez made their first contribution in 164810
  • @dogaozyagci made their first contribution in 167198
  • @tilucasoli made their first contribution in 168688
  • @O-Hannonen made their first contribution in 167881
  • @stuuupidcat made their first contribution in 168031
  • @emmanuel-ferdman made their first contribution in 169018
  • @sutes-work made their first contribution in 168952
  • @muhammadkamel made their first contribution in 167890
  • @ferraridamiano made their first contribution in 165273
  • @KyleFin made their first contribution in 161549
  • @skimm3 made their first contribution in 159133
  • @munrocket made their first contribution in 160678
  • @fewling made their first contribution in 168005
  • @richardexfo made their first contribution in 166753
  • @Runrioter made their first contribution in 169864
  • @lhkbob made their first contribution in 170351
  • @likir09 made their first contribution in 169816
  • @fmalita made their first contribution in 170139
  • @greyovo made their first contribution in 170331
  • @thakaredipali made their first contribution in 170335
  • @gourabkumarsi made their first contribution in 170748
  • @hidea made their first contribution in 166291
  • @azatech made their first contribution in 170758
  • @salemiranloye made their first contribution in 170769
  • @StarkOne made their first contribution in 171267
  • @techouse made their first contribution in 170210
  • @pranavo72bex made their first contribution in 168441
  • @PrimaelQuemerais made their first contribution in 169067
  • @Phantom-101 made their first contribution in 171293
  • @jingshao-code made their first contribution in 170969