Flutter 3.13.0 release notes
This page has release notes for 3.13.0. For information about subsequent bug-fix releases, see our CHANGELOG.
框架
#- Fix EditableText misplaces caret when selection is invalid by @bleroux in 123777
- Fixes IgnorePointer and AbsorbPointer to only block user interactions… by @chunhtai in 120619
- [flutter_test] Adds method to mock EventChannels by @Rexios80 in 123726
- Revert "[flutter_test] Adds method to mock EventChannels" by @zanderso in 124401
- Reland Refactor reorderable list semantics by @chunhtai in 124395
- Migrate away from deprecated BinaryMessenger API by @goderbauer in 124348
- Fix InkWell ripple visible on right click when not expected by @bleroux in 124386
- Prepare for adding values to AppLifecycleState by @gspencergoog in 119954
- document StaticIconProvider by @christopherfujino in 120935
- [Text Input] Only unfocus when receive connectionClosed on platform except web by @luckysmg in 123929
- [flutter_test] Adds method to mock EventChannels by @Rexios80 in 124415
- [web] Migrate the bulk of JS interop to JS types. by @joshualitt in 123286
- Reduce macOS overscroll friction by @moffatman in 122142
- ExpansionTile audit by @chunhtai in 124281
- Sliver Constrained Cross Axis by @thkim1011 in 124337
- Fix ShaderMask Example issue by @adityathakurxd in 124511
- BottomAppBar: Fix doubled layers of color and shadow by @chrisbobbe in 123294
- Adds
dart_fixsupport toflutter_testby @pdblasi-google in 124347 - Add Mike Rydstrom to AUTHORS by @rydmike in 124561
- [integration_test] upgrade androidx test to 1.4.0 by @micaelcid in 122437
- Remove deprecations from TextSelectionHandleControls instances by @justinmc in 124611
- DraggableScrollableSheet & NestedScrollView should respect NeverScrollableScrollPhysics by @xu-baolin in 123109
- Exposed EdgeDraggingAutoScroller velocityScalar to ReorderableList by @gabrielgarciagava in 124459
- Add
StrokeCaptoCircularProgressIndicatorby @bernaferrari in 122664 - Revert "[integration_test] upgrade androidx test to 1.4.0" by @zanderso in 124644
- Bug report 2 issue template by @exaby73 in 122385
SemanticsFlag/SemanticsActioncleanup (part 4) by @bernaferrari in 123329- Localize the 'No Replacements Found' spell check string by @justinmc in 124259
- Improve the docs around the TextSelectionHandleControls deprecations by @justinmc in 123827
- Refactor
SliverAppBar.medium&SliverAppBar.largeto fix several issues by @TahaTesser in 122542 - Fix
CupertinoContextMenuthrows exception on route animation by @TahaTesser in 124785 - [CupertinoListSection] adds new property separatorColor by @piedcipher in 124803
- iOS context menu shadow by @justinmc in 122429
- Add optional labelText and semanticLabel to Checkbox by @hangyujin in 124555
- [cupertino] improve cupertino picker performance by using at most one opacity layer by @jonahwilliams in 124719
- Revert "[framework] use shader tiling instead of repeated calls to drawImage" by @jonahwilliams in 124640
- Customize color and thickness of connected lines in Stepper.dart by @mub-pro in 122485
- Fix a null crash in SelectableRegion Widget by @hangyujin in 124736
- Deprecates string for reorderable list in material_localizations by @chunhtai in 124711
- Fix Chip highlight color isn't drawn on top of the background color by @TahaTesser in 124673
- SelectionContainer's listeners can remove itself during listener call… by @chunhtai in 124624
- Add an example for SearchBar by @QuncCccccc in 124992
- Add optional axis specifier to static scrollable methods by @Piinks in 124894
- relayout active ListWheelScrollView children every performLayout by @werainkhatri in 124476
- [InputDatePickerFormField] adds acceptEmptyDate to InputDatePickerFormField Widget by @piedcipher in 124143
- iOS spell check cursor placement by @justinmc in 124875
- Remove unused context parameter by @justinmc in 124254
- Fix text theme dart fix cases by @Piinks in 125052
- Remove unused getRootRenderObject and getSelectedRenderObject service extensions by @goderbauer in 124805
- Limit the number of Material spell check suggestions to 3 by @justinmc in 124899
- Add controller argument to SubmenuButton by @gspencergoog in 125000
- Remove package:js/dart:js_interop conflicts by @srujzs in 124879
- Adaptive alert dialog by @MitchellGoodwin in 124336
- Disableable ContextMenuButtonItems by @justinmc in 124253
- fix SliverReorderableList test to use correct custom action id by @chunhtai in 125144
- Dismiss the docked search view when the window size is changed by @QuncCccccc in 125071
- Revert selectable update back to be a postframecallback or microtask by @chunhtai in 125140
- fix DropdownMenu crash when resize window during menu showing by @xu-baolin in 124855
- Show magnifier on touch drag gestures by @Renzo-Olivares in 125151
- Search view shape should clip the view content by @QuncCccccc in 125161
DropdownMenu.widthshould support updating at runtime by @xu-baolin in 124847- MinimumTapTargetGuideline skips nodes at scrollable boundaries by @chunhtai in 124615
- Show iOS menu on iOS for TextField by default by @justinmc in 124895
- Implement CheckmarkableChipAttributes on ChoiceChip by @9oya in 124743
- Revert "Sliver Constrained Cross Axis" by @thkim1011 in 125233
- Remove dynamic calls by @Hixie in 125238
- Remove uses of deprecated test_api imports by @natebosch in 124732
- Toolbar should re-appear on drag end by @Renzo-Olivares in 125165
- BottomAppBar doc: Fix doc about surfaceTintColor by @chrisbobbe in 124563
- Updated the BottomNavigationBar API doc to link to NavigationBar by @HansMuller in 125240
- Make selectable text mouse cursor configurable by @bleroux in 125133
- Red spell check selection on iOS by @justinmc in 125162
- Add docs for kIsWeb on defaultTargetPlatform by @gspencergoog in 125313
- Fix the divider_theme space documentation problem by @xcc3641 in 125195
- Remove unecessary reference to ClipboardStatusNotifier by @chunhtai in 125255
- Update Cupertino desktop text selection toolbar by @luccasclezar in 121829
- Remove some ignores for un-deprecated imports by @natebosch in 125261
- Adjust selection rects inclusion criteria by @moffatman in 125022
- Fix the position of the Android-style spell check toolbar by @justinmc in 124897
- Tiny fix doc pointing to incorrect widget confusing the readers by @fzyzcjy in 125394
- Implement url support for RouteInformation and didPushRouteInformation by @chunhtai in 119968
- Fix iOS touch drag behavior by @Renzo-Olivares in 125169
- Fix
OutlinedButton,TextButton, andIconButtonthrow exception when passing only one cursor tostyleFromby @TahaTesser in 125204 - Fix JS types in _test_http_request.dart by @srujzs in 125220
- Add
borderRadiusto LinearProgressIndicator by @bernaferrari in 123517 - Sliver Constrained Cross Axis by @thkim1011 in 125239
- [date_picker] [date_range_picker] add properties to change switch-to-icons by @piedcipher in 124881
- Fix
SliverAppBar.medium&SliverAppBar.largetext scale by @TahaTesser in 125038 - iOS TextField spell check style by @justinmc in 125432
- Relabel JSFunction as JSExportedDartFunction by @srujzs in 125453
- Adds selected semantics flag to radio button for Apple devices by @chunhtai in 125499
- Provide default constraints for M3 bottom sheets by @guidezpl in 120065
- fix:
moreOrLessEqualsdoes not allowactualto be integers by @fzyzcjy in 125599 - Fix
SnackBarmaterial clip by @TahaTesser in 125622 - Add migrator to upgrade gradle version when conflict with Android Studio bundled Java version is detected by @gmackall in 124085
- fix RangeSlider, with no overlayShape shifts to the left by @arvinwli in 125483
- Smallest change required to support host apps using agp 8.0 by @reidbaker in 125657
- enhances OverlayEntry docs by @werainkhatri in 124478
- Allow users to provide route settings to
showMenuby @fzyzcjy in 124935 - Nit: grammar in documentation by @phlippieb-discovery in 125462
Checkbox.fillColorshould be applied to checkbox's background color when it is unchecked. by @QuncCccccc in 125643- Add a channel to query the engine keyboard state by @bleroux in 122885
- Sliver Cross Axis Group by @thkim1011 in 123862
- Fix crasher in DragableScrollableSheet when controller is animating and switching widgets by @dnfield in 125721
- add support to customize Slider interacivity by @werainkhatri in 121483
- Introduce
TabBar.tabAlignmentby @TahaTesser in 125036 - Revert "Add migrator to upgrade gradle version when conflict with And… by @gmackall in 125813
- Migrate Xcode projects last version checks to Xcode 14.3 by @jmagman in 125827
- Make
futureandstreamrequired arguments in their respective builder widgets by @caseycrogers in 125838 - Add debugPrintKeyboardEvents flag by @bleroux in 125629
- [framework] delete physical model layer. by @jonahwilliams in 125719
- Clean up in memory_allocations_test.dart. by @polina-c in 125777
- Align the Popup Menu under its child by @ValentinVignal in 125534
ModalBarrier's gesture recognizer does not callinvokeCallbackby @fzyzcjy in 125386- Add
InlineSpan.visitDirectChildrenby @LongCatIsLooong in 125656 - [Reland] Add migrator to upgrade gradle version when conflict with Android Studio bundled Java version is detected by @gmackall in 125836
- Switch imports from test_api to focused libaries by @natebosch in 125854
- Fix nullability of ClipRRect.borderRadius by @goderbauer in 125878
- Provide default constraints for M3 dialogs by @guidezpl in 120082
- Define testWidgetsWithLeakTracking. by @polina-c in 125063
- Cleans up appbar imply leading logic by @chunhtai in 125315
- Minor fixes found while working on blankcanvas by @Hixie in 125751
- [NavigationDrawer] adds padding property in NavigationDrawer Widget by @piedcipher in 123961
- Fix Material 3 tab indicator weight and position by @TahaTesser in 125883
- Add a ReorderableListView example with cards + cleanup existing tests by @bleroux in 126155
- Add sample code for SliverAppBar by @Istiak-Ahmed78 in 125785
- Add
Switch.trackOutlineWidthproperty by @QuncCccccc in 125848 - Added CupertinoDatepicker monthYear mode (flutter#93508) by @lindsaypj in 125603
- add tests for dominant bottom sheet in scaffold by @werainkhatri in 124472
- ✨ Add
rectargument to_ArcPaintPredicatefor tests by @AlexV525 in 125953 - [ios] fix hold and drag spacebar does not move cursor when obscureTex… by @LinXunFeng in 122383
- [ExpansionPanelList] add materialGapSize property in ExpansionPanelList Widget by @piedcipher in 123971
- Fix leaks by @goderbauer in 126144
- Test AGP 8.0 using java 17 by @reidbaker in 125323
- [Refactor] Fix style in example by @natsuk4ze in 126191
- Tiny cleanup for Navigator code (without introducing dependency) by @fzyzcjy in 125628
- Improve the format in
asset_bundle.dartby @AlexV525 in 126229 - fix AppBar's docs for backgroundColor by @werainkhatri in 126194
- Remove dead code by @goderbauer in 126266
- Update FocusNode documentation by @bleroux in 126331
- Revert "Provide default constraints for M3 dialogs" by @itsjustkevin in 126355
- ✨ Add
strokeAligntoCircularProgressIndicatorandRefreshProgressIndicatorby @AlexV525 in 125945 - Reorder
materialStatePropertydefaults by @QuncCccccc in 125905 - Fix
MultiChildLayoutDelegate.hasChilddoc by @TahaTesser in 126433 - Make dpr available during Scrollable disposal by @goderbauer in 126535
- Fix TextSpan gc regression by @LongCatIsLooong in 126382
- Fix
showDatePickerin input mode throws anArgumentErrorby @TahaTesser in 126525 - Hide the context menu on tap down by @justinmc in 126295
- Add
FocusNode,onFocusChange, andautofocustoCupertinoSwitchby @TahaTesser in 126684 - [Docs] Fix Typo by @MeandNi in 126660
- Fix focus behavior and provided thumb and focus color aren't applied to Cupertino variant of
Switch.adaptiveby @TahaTesser in 126688 - Fix crash from invalid ListWheelViewport assertion by @nt4f04uNd in 126539
- Add spaces after flow control statements by @tgucio in 126320
- rename AssetManifest.bin by @andrewkolos in 126077
- Add more to error message of RestorationScope.of by @Piinks in 126444
- Add ScrollController.onAttach & onDetach, samples/docs on listening/getting scrolling info by @Piinks in 124823
- Minor documentation fixes by @Hixie in 126609
- Updated the
DrawerAPI doc to link toNavigationDrawerby @TahaTesser in 126915 - enable no_literal_bool_comparisons lint by @goderbauer in 126647
- expose
CupertinoDatePickerandCupertinoTimerPickeritemExtent… by @stMerlHin in 125852 - Update SemanticsUpdateBuilderSpy for the conversion of SemanticsUpdateBuilder into a base class by @jason-simmons in 126570
- Alert engine upon registering ServiceBinding by @yaakovschectman in 126075
- Remove outdated comment by @goderbauer in 126927
- Fix copyWith method of ActionIconThemeData by @predatorx7 in 126763
- Fix DataTableThemeData.copyWith handling of dataRowHeight by @jason-simmons in 126943
- Add checkmark style to CupertinoRadio by @MitchellGoodwin in 126480
- Add ScrollMetrics.extentTotal for completeness by @Hixie in 126607
- Make SlottedMultiChildRenderObjectWidgetMixin a concrete class by @Hixie in 126108
- Add missing
Switch.onFocusChangetest by @TahaTesser in 126685 - Expose callback that allows focus traversal customization by @JellyO1 in 120235
- Autocomplete async examples by @justinmc in 126283
- Remove unused (and untested) parameters from private _MasterDetailFlow by @goderbauer in 126935
- Handle null return from WillPopCallback by @goderbauer in 127039
- Ignore unused_element_parameter by @srawlins in 126926
- Remove deprecated fixTextFieldOutlineLabel by @Renzo-Olivares in 125893
- Remove obsolete drawShadow bounds workaround by @flar in 127052
- Clip search view content during animation by @QuncCccccc in 126975
- Revert "Remove obsolete drawShadow bounds workaround" by @justinmc in 127110
- Revert "Handle null return from WillPopCallback" by @goderbauer in 127112
- Fixing richMessage gesture recognizer in tooltip widget by @mhbdev in 126207
- Update
useMaterial3api doc by @QuncCccccc in 127142 - Remove deprecated
primaryVariantandsecondaryVariantfromColorSchemeby @QuncCccccc in 127124 - Properly cleans up routes by @chunhtai in 126453
- Remove deprecated OverscrollIndicatorNotification.disallowGlow by @Piinks in 127050
- fixes to anticipate next Dart linter release by @pq in 127211
- Do not animate
TabBarViewif controller is invalid by @gilnobrega in 123442 - fix: Search anchor box location when used on nested navigator by @VictorOhashi in 127198
- Support keeping a bottom sheet with a DraggableScrollableSheet from closing on drag/fling to min extent by @monkeyswarm in 127339
- Add M3 date picker tests and fix divider by @TahaTesser in 127197
- Fix the breaking of multi-code-unit characters in obscure mode by @justinmc in 123366
- modal bottom sheet barrier label by @NikolajHarderNota in 126431
- Avoid catching errors in TextPainter tests by @tgucio in 127307
Slider.onChangeStart&Slider.onChangeEndare not called on keyboard shortcuts by @dleyba042 in 126896- Fix ScrollPosition overscroll precision error by @bleroux in 127321
- Add missing parameters in
TextFormFieldby @lsaudon in 127020 - [web] ui.platformViewRegistry => ui_web.platformViewRegistry by @mdebbar in 127493
- Remove Tooltip mouse tracker listener & update hovering/MouseRegion logic & animation by @LongCatIsLooong in 119199
- Add
ScrollNotificationObserversample by @TahaTesser in 127023 SearchBarshould not be impacted by overallInputDecorationThemeby @QuncCccccc in 127465- Adds
TestDisplayAPI for testingDisplayfeatures by @pdblasi-google in 127525 - Remove a bad assert from tooltip implementation by @LongCatIsLooong in 127629
- Fix
TextFielderror in production environment because it wrongly uses ancestor render boxes by @fzyzcjy in 126324 - Support minifcation for apps that depend on AGP 8 and integration_test by @reidbaker in 127628
- TwoDimensional scrolling foundation by @Piinks in 125437
- Update Material 2 tests group comment by @TahaTesser in 127796
- Fix SliverPersistentHeader interactions with SliverCrossAxisGroup by @thkim1011 in 127338
- Revised Floating Action Button examples by @HansMuller in 128058
- Add retry flag to flutter_test by @fzyzcjy in 125851
- Add error message when sliver overlap absorber is missing by @Piinks in 128075
- Updated custom ListTile examples by @HansMuller in 128071
- Add
FilterChip.elevated,ChoiceChip.elevated, &ActionChip.elevatedvariants by @TahaTesser in 128049 - Text should still be centered when search bar height is less than 48 by @QuncCccccc in 128068
- Tiny remove unnecessary method in text_selection.dart by @fzyzcjy in 127480
- Remove LiveTestRenderView by @goderbauer in 127882
- Pre-migration for dart:ui multi view changes by @goderbauer in 128092
- Reland "Remove obsolete drawShadow bounds workaround (#127052)" by @flar in 127231
- Prefix for dart:ui multiview change by @goderbauer in 128152
- [framework] force flexible space background to rebuild. by @jonahwilliams in 128138
- Migrate SemanticsBinding to onSemanticsActionEvent by @goderbauer in 128254
- Fix update drag error that made NestedScrollView un-scrollable by @Piinks in 127718
- Remove scrollbar deprecations isAlwaysShown and hoverThickness by @Piinks in 127351
- [framework] attempt non-key solution by @jonahwilliams in 128273
- Migration guide for moving from BottomNavigationBar to NavigationBar by @leighajarett in 128263
- Use a
showover ahidefortest_apiexports by @natebosch in 128298 - Use Material3 in the 2D viewport tests by @HansMuller in 128155
- Clean-up viewId casts in flutter_test by @goderbauer in 128256
- Adding example for migrating to navigation drawer by @leighajarett in 128295
- Fix
Null check operator used on a null valueon TextField with contextMenuBuilder by @fzyzcjy in 128114 - Remove
textScaleFactordependent logic fromAppBarby @LongCatIsLooong in 128112 - handleSelectWord in MultiSelectableSelectionContainerDelegate should handle rects inside of rects by @Renzo-Olivares in 127478
- Remove more rounding hacks from TextPainter by @LongCatIsLooong in 127826
- Update Draggable YouTube video link by @khanhnwin in 128078
- Show error message in release mode when box is not laid out without losing performance by @fzyzcjy in 126302
- Add viewId to PointerEvents by @goderbauer in 128287
- Make inspector weakly referencing the inspected objects. by @polina-c in 128095
- Refactor tests by @goderbauer in 128371
- Super tiny fix of dead link by @fzyzcjy in 128160
- Addressed Ambiguity in transform.scale constructor docs by @99spark in 128182
- Do not try to load main/default asset image if only higher-res variants exist by @andrewkolos in 128143
- Update menu API docs to help developers migrate to m3 by @leighajarett in 128351
- Revert "Make inspector weakly referencing the inspected objects." by @eyebrowsoffire in 128436
- Super tiny MediaQuery doc update by @fzyzcjy in 127904
- Roll engine, patch expression evaluation by @aam in 128255
- Fix typos 'wether' -> 'whether' by @bleroux in 128392
- Redo make inspector weakly referencing the inspected objects. by @polina-c in 128471
- Fix PointerEventConverter doc by @goderbauer in 128452
- Move RenderObjectElement.updateChildren to Element by @goderbauer in 128458
- [floating_cursor_selection]add more comments on the tricky part by @hellohuanlin in 127227
- Disable blinking cursor when
EditableText.showCursoris false by @LongCatIsLooong in 127562 - Update flutter to dartdoc 6.3.0 and hide Icons implementation from doc pages by @jcollins-g in 128442
- Update
chip.dartto use set ofMaterialStateby @TahaTesser in 128507 - Fix navigation rail with long labels misplaced highlights by @bleroux in 128324
- Navigator.pop before PopupMenuItem onTap call by @mhbdev in 127446
- Reland "Migrate benchmarks to package:web" by @eyebrowsoffire in 128266
- Advise developers to use OverflowBar instead of ButtonBar by @leighajarett in 128437
- Sliver Main Axis Group by @thkim1011 in 126596
- Add
AppLifecycleListener, with support for application exit handling by @gspencergoog in 123274 - Adding migration guide for Material 3 colors by @leighajarett in 128429
- Remove single view assumption from MouseTracker, and unify its hit testing code flow by @dkwingsmt in 127060
- Fix
showBottomSheetdoesn't remove scrim when draggable sheet is dismissed by @TahaTesser in 128455 - Replace
MaterialButtonfrom test classes by @TahaTesser in 128466 - Improve defaults generation with logging, stats, and token validation by @guidezpl in 128244
- Updated material button theme tests for Material3 by @HansMuller in 128543
- Paint SelectableFragments before text by @hangyujin in 128375
- ExpansionPanel isExpanded callback parameter (Ticket 74114) by @dleyba042 in 128082
- Add tooltips for
SegmentedButtonby @ZhulanovAA in 128501 - Revert "Update
chip.dartto use set ofMaterialState" by @HansMuller in 128607 - Clarifies semantics long press and semantics on tap documentation by @chunhtai in 128599
- Add Selected semantics to IconButton by @hangyujin in 128547
- rename generated asset manifest file back to
AssetManifest.bin(fromAssetManifest.smcbin) by @andrewkolos in 128529 - Remove unnecessary parentheses by @ZhulanovAA in 128620
- migrate
Tooltipto useOverlayPortalby @LongCatIsLooong in 127728 - Update
ListTiletext defaults to useColorSchemeby @TahaTesser in 128581 - Address leak tracker breaking changes. by @polina-c in 128623
- Fix RangeSlider notifies start and end twice when participates in gesture arena by @nt4f04uNd in 128674
- Update button tests for Material 3 by default by @HansMuller in 128628
- Fix paint offset in reverse for 2D by @Piinks in 128724
- Update misc tests for Material3 by @HansMuller in 128712
- Update tests in material library for Material 3 by default by @QuncCccccc in 128300
- Update rest of the unit tests in material library for Material 3 by @QuncCccccc in 128747
- Fix ensureVisible and default focus traversal for reversed scrollables by @Piinks in 128756
- Update unit tests in material library for Material 3 by @QuncCccccc in 128725
- Fix syntax error in docstring by @woprandi in 128692
- Inline AbstractNode into SemanticsNode and Layer by @goderbauer in 128467
- Fixed slider value indicator not disappearing after a bit on desktop platform when slider is clicked not dragged by @cruiser-baxter in 128137
- [web] Migrate framework away from dart:html and package:js by @mdebbar in 128580
- Respect allowlisted count of leaks. by @polina-c in 128823
- Remove temporary default case for PointerSignalKind by @LouiseHsu in 128900
- ContextAction.isEnabled needs a context by @Hixie in 127721
- Improve the error message for non-normalized constraints by @Hixie in 127906
- Update getChildrenSummaryTree to handle Diagnosticable as input. by @polina-c in 128833
- Update golden tests for material by @QuncCccccc in 128839
- [web] Pass creation params to the platform view factory by @mdebbar in 128146
- flutter update-packages --force-upgrade by @mdebbar in 128908
- Update golden tests by @QuncCccccc in 128914
- Set Semantics.button to true for date widget by @QuncCccccc in 128824
- Update getProperties to handle Diagnosticable as input. by @polina-c in 128897
- [web] Don't crash on
const HtmlElementView()by @mdebbar in 128965 - Remove AbstractNode from RenderObject and deprecate it by @goderbauer in 128973
- Accept Diagnosticable as input in inspector API. by @polina-c in 128962
- Update objectToDiagnosticsNode to stop failing. by @polina-c in 129027
- Fix
InputDecoration.applyDefaultsignoring some properties by @TahaTesser in 129010 - Introduce MaterialState
colorproperty for chips by @TahaTesser in 128584 - Add to API docs to explain what Assist and Suggestion chips are by @leighajarett in 129034
- Adding ScrollController support for Stepper widget by @SwaroopSambhayya in 128814
- iOS info.plist template: make UIViewControllerBasedStatusBar to be true by @cyanglaz in 128970
- fixed PreferredSize constuctor invocations by @yeasin50 in 128181
- DecoratedSliver by @thkim1011 in 127823
- Fix: Magnifier appears and won't dismiss by @justinmc in 128545
- update resolution-aware asset docs links by @andrewkolos in 128769
- Relax
OverlayPortalasserts by @LongCatIsLooong in 129053 - Selection area right click behavior should match native by @Renzo-Olivares in 128224
- Gracefully handle negative position in getWordAtOffset by @justinmc in 128464
- Remove incorrect non-nullable assumption from
ShapeDecoration.lerpby @guidezpl in 129298 - [framework,web] add FlutterTimeline and semantics benchmarks that use it by @yjbanov in 128366
- Add
InputDecorationTheme.mergeby @TahaTesser in 129011 - Fix: Closing bottom sheet and removing FAB cause assertion failure by @utisam in 128566
- Fix Material 3 Scrollable
TabBarby @TahaTesser in 125974 - Remove unnecessary variable
_hasPrimaryFocusby @AhmedLSayed9 in 129066 - Add
onSubmittedproperty toSearchBarby @QuncCccccc in 129365 - [web] Migrate framework to fully use package:web by @mdebbar in 128901
- Fix
Slideroverlay remains when unfocused by @TahaTesser in 129115 - fix: SearchAnchor View not resizing when in nested navigator by @VictorOhashi in 128357
_TapStatusTrackerMixinshould wait until the nextPointerDownEventbefore resetting its state when the tap timer has elapsed by @Renzo-Olivares in 129312- fix: Inconsistency of SelectionArea when scrolling by @paurakhsharma in 128765
- Add CallbackShortcuts widget of the week video by @loic-sharma in 129296
- Fix
AnimatedList&AnimatedGriddoesn't applyMediaQuerypadding by @TahaTesser in 129556 - Updated chip_test.dart tests for M3 by @HansMuller in 129570
- Fix chinese text is not selected by long press by @hangyujin in 129320
- Make a paragraph test involving Chinese characters work with inconsistent host system fonts by @jason-simmons in 129628
- iOS TextSelectionToolbar fidelity by @luccasclezar in 127757
- Adds
dart_fixsupport tointegration_testby @pdblasi-google in 129579 - Remove Editable.onCaretChanged callback by @tgucio in 109114
- Automatically migrate ClipboardData.text to non-null by @loic-sharma in 129567
- [flutter roll] Revert "Fix
AnimatedList&AnimatedGriddoesn't applyMediaQuerypadding" by @XilaiZhang in 129645 - Make
DropdownMenube able to scroll to the highlighted item when searching. by @QuncCccccc in 129740 - Update
SwitchListTiletests for M2/M3 by @QuncCccccc in 129809 - Update
Switchtests for M2/M3 by @QuncCccccc in 129810 - Update
Radiotests for M2/M3 by @QuncCccccc in 129814 - Updated some golden image tests for M2/M3 by @HansMuller in 129794
- Fix NetworkImage causing spurious warning in tests by @gnprice in 129537
- Update
SwitchThemetests for M2/M3 by @QuncCccccc in 129811 - Update links to old linter site to dart.dev by @parlough in 129866
- Cleanup: stop accepting DiagnosticsNode as input from DevTools. by @polina-c in 129302
- Improve documentation for
ColorSheme.fromImageProviderby @guidezpl in 129952 - fix a bug when android uses CupertinoPageTransitionsBuilder... by @ipcjs in 114303
- Add simple unit tests for annotations.dart file by @moylanm in 128902
- Removes deprecated APIs from v2.6 in
binding.dartandwidget_tester.dartby @pdblasi-google in 129663 - Reland Fix AnimatedList & AnimatedGrid doesn't apply MediaQuery padding #129556 by @HansMuller in 129860
- MergeableMaterial: Fix adding a slice and separating it by @Snonky in 128804
- Enable unreachable_from_main lint - it is stable now!!1 by @goderbauer in 129854
- Allow long-press gestures to continue even if buttons change. by @Hixie in 127877
- [framework] Add textField OCR support for framework side by @luckysmg in 96637
- Add option for flexible space on material SearchDelegate by @HenriqueNas in 128132
- [a11y] CupertinoSwitch On/Off labels by @gilnobrega in 127776
- Next attempt to make inspector weakly referencing the inspected objects. by @polina-c in 129962
- Revert "fix a bug when android uses CupertinoPageTransitionsBuilder..…" by @Jasguerrero in 130155
- Revert "[a11y] CupertinoSwitch On/Off labels" (#130166) by @Jasguerrero in 130172
- [CP] Minor adjustments on 2D APIs (#131358) by @Piinks in 131436
- [CP] Allow
OverlayPortalto be added/removed from the tree in a layout callback (#130670) by @LongCatIsLooong in 131290 - [CP]
_RenderScaledInlineWidgetconstrains child size (#130648) by @LongCatIsLooong in 131289 - [Cp] Fix Tooltip crash when selected in a SelectableRegion (#130181) by @LongCatIsLooong in 131288
- [CP] Constrain _RenderScaledInlineWidget child size in computeDryLayout #131765 by @LongCatIsLooong in 132096
工具
#- Update getGradleVersion to ignore commented out lines by @reidbaker in 124260
- Update gradle_utils.dart and flutter.gradle to have the same versions as the documentation in file says is required. by @reidbaker in 123213
- Force plugin transitive dependencies to an ARC compatible version by @jmagman in 124349
- Add support to the flutter tool to compile against the skwasm renderer by @eyebrowsoffire in 124296
- Update MCU version by @esouthren in 124512
- Allow daemon to start DDS remotely when proxied devices are used. by @chingjun in 124061
- Debounce the proxied connection over proxied devices. by @chingjun in 124540
- Add omit-type-checks flag for wasm builds by @kevmoo in 124341
- flutter_tools: Flutter Web CLI cleanup by @kevmoo in 124564
- Remove the old canvaskit artifacts to not confuse the web runner. by @eyebrowsoffire in 124641
- Update runner to handle logic for both analytics packages by @eliasyishak in 124606
- Update re-thrown error for incompatible Java/Gradle versions to include migration guide by @camsim99 in 124327
- [flutter_tools] Disable flaky
output_web_testtest case by @elliette in 124257 - i123643 print java version gradle by @reidbaker in 123644
- flutter-tool: enum cleanup by @kevmoo in 124760
- flutter_tool, web: update HTML template serviceWorkerVersion to be const by @kevmoo in 124826
- Remove Finder extended attributes in build target before code signing iOS frameworks by @jmagman in 123896
- [flutter_tools] Reorganize android_studio_test.dart by @andrewkolos in 124834
- Add option to run wasm-opt on module output. by @eyebrowsoffire in 124831
- [flutter_tools] Remove
Version.unknownby @andrewkolos in 124771 - Update usage of standalone
pubexecutable in flutter_tools testing docs by @bartekpacia in 124898 - Add vmservice for android build options by @chunhtai in 123034
- l10n.yaml's nullable-getter option should default to true by @thkim1011 in 124353
- Remove double.fromEnvironment from dart-define doc by @Mastersam07 in 124102
- Update helper message for
--suppress-analyticsby @eliasyishak in 124810 - Revert "Update helper message for
--suppress-analytics" by @godofredoc in 125141 - Refactor Flutter Gradle Plugin so it can be applied using the declarative
plugins {}block by @bartekpacia in 123511 - [reland] Update helper message for
--suppress-analyticsby @eliasyishak in 125145 - Use term wireless instead of network by @vashworth in 124232
- [flutter_tools] add todo for userMessages by @andrewkolos in 125156
- Report web compiler used with
buildEventSettingsby @kevmoo in 125092 - [flutter_tools] make overall_experience_test resilient to extraneous pub output by @christopherfujino in 125172
- Fix race condition in flutter test when passing --serve-observatory by @bkonyi in 123556
- When searching for the JDK bundled with an unrecognized version of Android Studio, assume the version to be the latest by @andrewkolos in 125247
- Cleanup flutter config output by @mit-mit in 122384
- add gradle error handler for when the remote ssl host terminates handshake process by @christopherfujino in 125270
- [tool,web] track web-renderer, and Wasm build args in analytics by @kevmoo in 125336
- [tool,web] Include more info URI on Wasm init failure by @kevmoo in 125312
- tool: Move cdKey to CustomDimensionsEnum by @kevmoo in 125335
- Handle dollar signs properly when generating localizations by @thkim1011 in 125514
- Refactor "gen-l10n" command to use same code path when "l10n.yaml" is present or not present by @thkim1011 in 125429
- tools: Drop unused function by @kevmoo in 125590
- Bump the default minSdkVersion to 19 by @dnfield in 125515
- [flutter_tools] more debugging for timeouts in break_on_framework_exceptions test by @christopherfujino in 125584
- Increase Xcode minimum version to 14 by @jmagman in 125639
- Opt into CMake policy CMP0135 by @yaakovschectman in 125502
- fix package template create platform folders by @Anas35 in 125292
- [tools] Apply Android Studio version detection logic to explicitly configured installation directory (
flutter config --android-studio-dir) by @andrewkolos in 125596 - [tools] fix
expectcalls inFakeCommandby @andrewkolos in 125783 - Clarify Visual Studio isn't strictly necessary for Windows development by @loic-sharma in 125837
- Allow .xcworkspace and .xcodeproj to be renamed from default name 'Runner' by @LouiseHsu in 124533
- Adding printOnFailure for result of process by @eliasyishak in 125910
- tool: DRY up DepfileService by @kevmoo in 125922
- tool: use switch expressions by @kevmoo in 125930
- [tool] Improve help info with build web --wasm flags by @kevmoo in 125907
- [tool] consistently use environment (not globals) in targets/web.dart by @kevmoo in 125937
- tool-web-wasm: make wasm-opt an "option" instead of a "flag" by @kevmoo in 126035
- Adding vmservice to get iOS app settings by @chunhtai in 123156
- tool-web: use ProcessUtil.run to invoke child processes by @kevmoo in 126109
- tool: replace top-level functions with enum properties by @kevmoo in 126167
- Fix incorrect assert hint in flutter.groovy by @b7woreo in 125283
- improvement : removed required kotlin dependency by @albertoazinar in 125002
- Rename iosdeeplinksettings to iosuniversallinksettings by @chunhtai in 126173
- targets/web.dart - fix typo by @kevmoo in 126114
- Update packages by @guidezpl in 126140
- Clearer text about what happens with
--disable-telemetry+ enable-telemetry command by @eliasyishak in 125995 - Add
--verboseflags for flakey tests by @eliasyishak in 126162 - Always use
--concurrency=1for web tests. by @eyebrowsoffire in 126179 - [Tool] Output help on 'flutter pub' by @loic-sharma in 126211
- Fix that
flutter testdoes not understandconcurrencyby @fzyzcjy in 125942 - tool/web: tiniest tweak to wasm help content by @kevmoo in 126284
- tool/web: correctly log all options to web wasm compile by @kevmoo in 126379
- [tool] Move Java functions to their own file by @andrewkolos in 126086
- Revert "[tool] Move Java functions to their own file" by @andrewkolos in 126569
- Add namespace to Android plugin templates by @stuartmorgan in 126354
- Add debugging for Dart VM timeout flake by @vashworth in 126437
- Replace rsync when unzipping artifacts on a Mac by @vashworth in 126703
- [flutter_tools] unpin and roll camera_android by @christopherfujino in 126945
- [Windows] Improve version migration message by @loic-sharma in 127048
- Migrate benchmarks to package:web by @joshualitt in 126848
- fix(flutter_tools):
findBundleFilew/multiple flavor dimensions by @felangel in 127133 - [iOS] Dispose of log readers and port forwarders if launch fails by @vashworth in 127140
- [tool] delete xcresult bundle file before each xcode retry. by @cyanglaz in 127144
- [flutter_tools] only try to take a screenshot from flutter drive if the --screenshot flag is passed by @christopherfujino in 127150
- [Windows] Ensure window is shown by @loic-sharma in 127046
- Reland "[tool] Move Java functions to their own file" by @andrewkolos in 126577
- [flutter_tools] delete entitlements files after copying to macos build dir by @christopherfujino in 126875
- add test for setting JAVA_HOME and PATH when invoking
sdkmanager --licensesby @andrewkolos in 127344 - Suggest that people move to "beta" when they upgrade on "master" by @Hixie in 127146
- Show warning when attempting to flutter run on an ios device with developer mode turned off by @LouiseHsu in 125710
- Fix wasm-opt location when using local_web_sdk by @eyebrowsoffire in 127355
- [Android] Adds
namespaceto module build file templates by @camsim99 in 126963 - Log all output of ios-deploy by @vashworth in 127222
- Revert "Log all output of ios-deploy" by @vashworth in 127405
- [flutter_tools] delete entitlements files after copying to macos build dir by @christopherfujino in 127417
- Give channel descriptions in
flutter channel, use branch instead of upstream for channel name by @Hixie in 126936 - Revert "Replace rsync when unzipping artifacts on a Mac (#126703)" by @vashworth in 127430
- Log all lines from ios-deploy by @vashworth in 127502
- Revert "Log all lines from ios-deploy (#127502)" by @vashworth in 127684
- [Windows] Address feedback for show window comment by @loic-sharma in 127998
- [flutter_tools] Use process matcher for multidex test by @christopherfujino in 127996
- Fix issue where DevTools would not be immediately available when using --start-paused by @bkonyi in 126698
- Revert "Fix issue where DevTools would not be immediately available when using --start-paused" by @zanderso in 128117
- [Refactor] fix quote style in template by @natsuk4ze in 127762
- Make --flutter-repo analyze whole repo by @goderbauer in 127990
- Workaround for Dart VM timeout by @vashworth in 127875
- Roll dds dependency to 2.8.3 for expression evaluation upcoming fixes. by @aam in 128124
- [flutter_tools] never tree shake 0x20 (space) font codepoints on web by @christopherfujino in 128302
- [Android] Update plugin and module templates to use Flutter constant for
compileSdkVersionby @camsim99 in 128073 - [tools] allow explicitly specifying the JDK to use via a new config setting by @andrewkolos in 128264
- Adds vmservices to retrieve android applink settings by @chunhtai in 125998
- Use
--target-osfor appropriate precompiled targets. by @sstrickl in 127567 - [flutter_tools] Precache after channel switch by @christopherfujino in 118129
- [flutter_tools] [DAP] Don't try to restart/reload if app hasn't started yet by @DanTup in 128267
- [testing] Make the FLUTTER_STORAGE_BASE_URL warning non-fatal by @whesse in 128335
- 在 attach 整合測試中忽略在 app.detach 響應之前收到的 app.stop 事件,由 @jason-simmons 在 128593 中完成
- [flutter_tools] 將 enable impeller 標誌傳遞給 macOS。由 @jonahwilliams 在 128720 中完成
- [flutter_tools] 在 flutter channel 中抑制 git 輸出,由 @christopherfujino 在 128475 中完成
- 解除 flutter_plugin_android_lifecycle 的固定,由 @gmackall 在 128898 中完成
- 修復不一致字尾的 macOS flavor bundle 目錄,由 @arnemolland 在 127997 中完成
- [flutter_tools] 將 flutter sdk 版本快取到磁碟,由 @christopherfujino 在 124558 中完成
- flutter update-packages --cherry-pick-package,由 @Hixie 在 128917 中完成
- [flutter_tools] 重構 license collector,由 @christopherfujino 在 128748 中完成
- [flutter_tools] 將更多整合測試遷移到 process result matcher,由 @christopherfujino 在 128737 中完成
- 修復 dart pub cache clean 命令在 pub.dart 上的問題,由 @deryrahman 在 128171 中完成
- [flutter_tools] 在 attach 時新增對 vmServiceFileInfo 的支援,由 @DanTup 在 128503 中完成
- [flutter_tools] 當 dart-defines-json 檔案包含 null 時修復型別轉換錯誤,由 @christopherfujino 在 128909 中完成
- 修復 flutter_tools 升級測試中的排序依賴問題,由 @jason-simmons 在 129131 中完成
- 重構 generate_localizations_test.dart,由 @thkim1011 在 128974 中完成
- 使用 VM service 的新
getIsolatePauseEvent方法來檢查暫停事件。由 @chingjun 在 128834 中完成 - 修復 iOS 17 下 xcdevice 導致裝置重複的問題,由 @vashworth 在 128802 中完成
- 重構
Analytics全域性 getter,使其僅指向 context,由 @eliasyishak 在 129196 中完成 - [flutter_tools] 為 could not open cache directory 新增 gradle 錯誤處理器,由 @christopherfujino 在 129222 中完成
- 防止在選擇裝置時因範圍錯誤而崩潰,由 @eliasyishak 在 129290 中完成
- 解除 path_provider_android 的固定,由 @gmackall 在 129205 中完成
- [flutter_tools] 刪除 flutter format 命令,由 @christopherfujino 在 129360 中完成
- [web] 隱藏 Flutter 在 debug 模式下使用 requireJS 的細節。由 @ditman 在 129032 中完成
- 為使
intltoBeginningOfSentenceCase變為非可空做準備,由 @oprypin 在 127488 中完成 - 重新提交 "修復 DevTools 在使用 --start-paused 時不可立即用的問題 (#126698)",由 @bkonyi 在 129368 中完成
- 移除
@NonNull以避免警告,由 @fzyzcjy 在 129472 中完成 - 為選項
--dart-define-from-file新增 .env 檔案支援,由 @PiotrFLEURY 在 128668 中完成 - 新增新的熱過載 case 字串,由 @helin24 在 130008 中完成
- [flutter_tools] 修改 Skeleton 模板以使用 ListenableBuilder 而不是 AnimatedBuilder,由 @fabiancrx 在 128810 中完成
- [CP] 修復 DDS 中的 ConcurrentModificationError,由 @christopherfujino 在 130740 中完成
新貢獻者
#- @Rexios80 首次貢獻,在 123726 中完成
- @adityathakurxd 首次貢獻,在 124511 中完成
- @gabrielgarciagava 首次貢獻,在 124459 中完成
- @mub-pro 首次貢獻,在 122485 中完成
- @Harishwarrior 首次貢獻,在 124684 中完成
- @Mastersam07 首次貢獻,在 124102 中完成
- @9oya 首次貢獻,在 124743 中完成
- @xcc3641 首次貢獻,在 125195 中完成
- @luccasclezar 首次貢獻,在 121829 中完成
- @arvinwli 首次貢獻,在 125483 中完成
- @phlippieb-discovery 首次貢獻,在 125462 中完成
- @natsuk4ze 首次貢獻,在 126053 中完成
- @Istiak-Ahmed78 首次貢獻,在 125785 中完成
- @b7woreo 首次貢獻,在 125283 中完成
- @albertoazinar 首次貢獻,在 125002 中完成
- @lindsaypj 首次貢獻,在 125603 中完成
- @Bungeefan 首次貢獻,在 126232 中完成
- @MeandNi 首次貢獻,在 126660 中完成
- @stMerlHin 首次貢獻,在 125852 中完成
- @JellyO1 首次貢獻,在 120235 中完成
- @mhbdev 首次貢獻,在 126207 中完成
- @felangel 首次貢獻,在 127133 中完成
- @NikolajHarderNota 首次貢獻,在 126431 中完成
- @sun-jiao 首次貢獻,在 127019 中完成
- @dleyba042 首次貢獻,在 126896 中完成
- @JsGjKJzi 首次貢獻,在 127114 中完成
- @matheus-kirchesch-btor 首次貢獻,在 127113 中完成
- @vasilich6107 首次貢獻,在 127269 中完成
- @leighajarett 首次貢獻,在 128263 中完成
- @khanhnwin 首次貢獻,在 128078 中完成
- @99spark 首次貢獻,在 128182 中完成
- @ZhulanovAA 首次貢獻,在 128501 中完成
- @cruiser-baxter 首次貢獻,在 128137 中完成
- @arnemolland 首次貢獻,在 127997 中完成
- @deryrahman 首次貢獻,在 128171 中完成
- @SwaroopSambhayya 首次貢獻,在 128814 中完成
- @yeasin50 首次貢獻,在 128181 中完成
- @utisam 首次貢獻,在 128566 中完成
- @AhmedLSayed9 首次貢獻,在 129066 中完成
- @oprypin 首次貢獻,在 127488 中完成
- @paurakhsharma 首次貢獻,在 128765 中完成
- @crazytan 首次貢獻,在 129606 中完成
- @ipcjs 首次貢獻,在 114303 中完成
- @moylanm 首次貢獻,在 128902 中完成
- @Snonky 首次貢獻,在 128804 中完成
- @fabiancrx 首次貢獻,在 128810 中完成
- @HenriqueNas 首次貢獻,在 128132 中完成
完整變更日誌: https://github.com/flutter/flutter/compare/3.10.0...3.13.0
引擎
#Android
#- Revert "Add support for double tap action from Apple Pencil 2",由 @LouiseHsu 在 41138 中完成
- [Android] 當鍵盤變得不可見時傳送 connectionClosed 訊息,以確保框架焦點狀態正確。由 @ksballetba 在 40746 中完成
- Revert "[Android] Send connectionClosed message when keyboard becomes invisible to ensure framework focus state is correct.",由 @CaseyHillers 在 41211 中完成
- 新增 AndroidSurfaceGLImpeller 單元測試,由 @gaaclarke 在 40979 中完成
- 在呼叫 FlutterView.detachFromFlutterEngine() 時新增 null 檢查以避免 NPE,由 @bastionkid 在 41082 中完成
- 僅保護需要保護的 SkiaGPUObject,由 @flar 在 41237 中完成
- 透過檢視視窗焦點來確定生命週期,由 @gspencergoog 在 41094 中完成
- [flutter roll] Revert "Determine lifecycle by looking at window focus also",由 @XilaiZhang 在 41626 中完成
- 將父 Android engine 的 asset provider 克隆到衍生的 engine 中,由 @jason-simmons 在 41642 中完成
- Reland: "Determine lifecycle by looking at window focus also" (#41094),由 @gspencergoog 在 41702 中完成
- 鍵盤關閉時關閉連線,由 @ksballetba 在 41500 中完成
- 向 dart:ui 新增一個
DisplayAPI,報告主顯示器的物理尺寸、DPR 和重新整理率,由 @dnfield 在 41685 中完成 - [Android] 在 EdgeToEdge 鍵盤動畫期間修復不正確的 viewInsets,由 @JonathanPeterCole 在 39391 中完成
- [Android] 生命週期預設為已聚焦而不是未聚焦,由 @gspencergoog 在 41875 中完成
- [Impeller] [Android] 重構 Android context/surface 實現,使其更像 Skia。由 @dnfield 在 41059 中完成
- [Impeller] 在標誌下包含 AndroidSurfaceVulkanImpeller,由 @CaseyHillers 在 42033 中完成
- 遷移 SkSurface 工廠的使用,由 @kjlubick 在 41978 中完成
- [Android] Shift 鍵抬起時不折疊文字選擇,由 @Renzo-Olivares 在 42075 中完成
- [Android] 返回鍵盤按下狀態,由 @bleroux 在 41695 中完成
- 使 android 嵌入器傳送完整的 uri,由 @chunhtai 在 41836 中完成
- [Android] 修復 BasicMessageChannel.resizeChannelBuffer,由 @bleroux 在 41982 中完成
- [Impeller] 避免為 Android Vulkan 建立多個併發訊息迴圈,由 @dnfield 在 42146 中完成
- 將 SkSurface::MakeNull 移動到 SkSurfaces::Null,由 @kjlubick 在 42158 中完成
- 為 macOS 和 Linux 新增應用程式生命週期通知,並新增
hidden狀態。由 @gspencergoog 在 40542 中完成 - Revert "Adding app lifecycle notification for macOS and Linux, add
hiddenstate.",由 @zanderso 在 42384 中完成 - Reland: "Adding app lifecycle notification for macOS and Linux, add
hiddenstate." (#40542),由 @gspencergoog 在 42418 中完成 - 處理 iOS 和 Android 上的 a11y 焦點事件,由 @hangyujin 在 41777 中完成
- 修復獲取拼寫檢查建議時崩潰的問題,由 @moffatman 在 42466 中完成
- [Impeller] 在 embedder API 中新增 Impeller Metal 支援,由 @bdero 在 42411 中完成
- 確保呼叫 PlatformView engine 的生命週期回撥,由 @johnmccutchan 在 42491 中完成
- [Android] 將單元測試 robolectric 版本升級到 4.10.3,由 @camsim99 在 42454 中完成
- Revert "[Impeller] Add Impeller Metal support in the embedder API (#42411)",由 @bdero 在 42532 中完成
- [Impeller] Reland: Add Impeller Metal support in the embedder API (#42411),由 @bdero 在 42545 中完成
- Revert "[Impeller] Reland: Add Impeller Metal support in the embedder API (#42411)",由 @zanderso 在 42593 中完成
- [Impeller] Reland 2: Add Impeller Metal support in the embedder API (#42411),由 @bdero 在 42597 中完成
- Revert "[Android] Return keyboard pressed state",由 @dkwingsmt 在 42616 中完成
- [Impeller] 添加了一個用於開啟 vulkan 的開關,由 @gaaclarke 在 42585 中完成
- Revert "[Impeller] Added a switch to turn on vulkan",由 @zanderso 在 42660 中完成
- 用於預測性返回的 Platform channel,由 @justinmc 在 39208 中完成
- [Impeller] 使 validation layers 標誌適用於 android,由 @gaaclarke 在 42625 中完成
- [Impeller] Reland: Added a switch to turn on vulkan,由 @gaaclarke 在 42669 中完成
- Predictive back 相容性修復,由 @justinmc 在 42789 中完成
- 在 ImeSyncDeferringInsetsCallback 中捕獲額外的最終 insets 狀態,由 @gmackall 在 42700 中完成
- [Impeller] Reland attempt Vulkan setup and fallback to GLES.,由 @jonahwilliams 在 42820 中完成
- [Android] 返回鍵盤按下狀態,由 @bleroux 在 42758 中完成
- [android]: 使 Robolectric 測試與 SDK 33 相容,由 @utzcoz 在 42965 中完成
- 在 ImeSyncDeferringInsetsCallback 中新增說明,解釋捕獲最新最終 inset 狀態的原因,由 @gmackall 在 43109 中完成
- [Impeller] 為 Impeller 分配一個專用的光柵優先順序 worker 迴圈。由 @jonahwilliams 在 43166 中完成
iOS
#- 修復 UIWindowSceneGeometryPreferencesIOS 洩露,由 @jmagman 在 40957 中完成
- Reland "[iOS] Send connectionClosed message when resignFirstResponder to ensure framework focus state is correct.",由 @luckysmg 在 41022 中完成
- [ios] 在 engine destroyed context 後,修復 background 崩潰,由 @cyanglaz 在 41037 中完成
- [Impeller] 使 Metal 層可讀,由 @bdero 在 41085 中完成
- 使 iOS VoiceOver 將單選按鈕視為普通按鈕,由 @chunhtai 在 41036 中完成
- [rotation_distortion] 使用“延遲交換”解決方案減少旋轉失真,由 @hellohuanlin 在 40730 中完成
- [Impeller] 預設開啟寬色域支援。由 @gaaclarke 在 39801 中完成
- 一些文件拼寫和診斷修復。由 @gspencergoog 在 40982 中完成
- Revert "[Impeller] Turned on wide gamut support by default.",由 @zanderso 在 41382 中完成
- [Impeller] 始終使用 BGRA10_XR 進行寬色域,由 @bdero 在 41385 中完成
- [ios] 修復 hold and drag spacebar 在 obscureText 為 true 時不移動游標的問題。由 @LinXunFeng 在 40216 中完成
- 確保在沒有 impeller 的情況下不開啟寬色域支援。由 @gaaclarke 在 41460 中完成
- [Impeller] iOS/macOS: 在 present 之前僅等待命令排程 (redux),由 @bdero 在 41501 中完成
- [platform_view] 僅當 view 從 composition order 中移除時才 dispose view,由 @cyanglaz 在 41521 中完成
- 停用 arm64 上的不穩定測試,由 @dnfield 在 41740 中完成
- 修復不穩定的 FlutterChannelsTests,停止模擬
NSObject,由 @jmagman 在 41747 中完成 - [backdrop_filter] 避免依賴內部類細節,由 @hellohuanlin 在 41873 中完成
- iPhone 浮動游標選擇,由 @moffatman 在 36643 中完成
- [Impeller] 將寬色域 surface 切換到 f16,由 @gaaclarke 在 41994 中完成
- [ios_platform_view] 僅在 reset 時將 platform views 從 flutter view 中移除。由 @cyanglaz 在 41709 中完成
- [ios_platform_view] 僅在 view 應用 mutator 時回收 maskView,由 @cyanglaz 在 41573 中完成
- Revert "[ios_platform_view] only recycle maskView when the view is applying mutators",由 @zanderso 在 42080 中完成
- [Impeller] 預設開啟寬色域支援。(#39801),由 @gaaclarke 在 41965 中完成
- 使 iOS 嵌入器為 deep links 傳送完整的 uri,由 @chunhtai 在 41992 中完成
- [floating_cursor_selection] 新增一些關於棘手部分的註釋,由 @hellohuanlin 在 42136 中完成
- 覆蓋 accessibilityScrollToVisible,由 @chunhtai 在 42047 中完成
- Reland "[ios_platform_view] only recycle maskView when the view is applying mutators #41573",由 @cyanglaz 在 42115 中完成
- Revert "[ios_platform_view] only recycle maskView when the view is applying mutators #41573",由 @zanderso 在 42231 中完成
- [Impeller] 在 iOS 上併發編碼渲染通道。由 @jonahwilliams 在 42028 中完成
- [Impeller] 在 iOS 模擬器上停用寬色域設定標誌,由 @jason-simmons 在 42331 中完成
- 修復未初始化的 SkRect,由 @knopp 在 42403 中完成
- 改進從 RTree 獲取非重疊矩形,由 @knopp 在 42399 中完成
- [iOS] 修復 TextInputAction.continueAction 向框架傳送錯誤操作,由 @bleroux 在 42615 中完成
- 使用 ShellTest::Config 結構體建立 Shell,由 @dkwingsmt 在 42332 中完成
- 修復 CJK 鍵盤在文字欄位末尾包含 emoji 時崩潰的問題,由 @moffatman 在 42540 中完成
- [floating_cursor_selection] 為浮動游標功能新增一些設計文件,由 @hellohuanlin 在 42173 中完成
- [iOS][Keyboard] 在 UI 執行緒上等待 vsync 並更新 viewport inset 以避免抖動。由 @luckysmg 在 42312 中完成
- Reland "[ios_platform_view] only recycle maskView when the view is applying mutators #41573",由 @cyanglaz 在 42823 中完成
- 移除 iOS Embedder 中一些不重要的已棄用符號用法,由 @cyanglaz 在 42711 中完成
- [ios] 基於 view controller 的狀態列,由 @cyanglaz 在 42643 中完成
- [ios] 在 iOS 13 及更高版本上使用 interfaceOrientation,由 @cyanglaz 在 42846 中完成
- [CP][iOS][Keyboard] 修復 FlutterEngine 在鍵盤動畫 vsync 回撥的同時銷燬時崩潰的問題,由 @cyanglaz 在 43522 中完成
- [iOS] 修復 FlutterViewController 迴圈引用 (#43379),由 @cyanglaz 在 43523 中完成
- [CP][iOS][A11Y] 修復與非 SemanticsObject 的 hittest,由 @cyanglaz 在 44342 中完成
- [CP][ios][autocorrection] 對 iOS 17 停用自動糾正,由 @hellohuanlin 在 44354 中完成
Web
#- [web] 使 'Noto Color Emoji' 可選,由 @mdebbar 在 40990 中完成
- Skwasm 場景,由 @eyebrowsoffire 在 40330 中完成
- 重新啟用一些已修復的 wasm 測試。由 @eyebrowsoffire 在 40931 中完成
SemanticsFlag/SemanticsAction清理 (第 3 部分),由 @bernaferrari 在 40567 中完成- [web] - 將文字編輯節點移出 shadowDOM,重新提交,由 @htoor3 在 40968 中完成
- 在 Skwasm 渲染器中實現陰影。由 @eyebrowsoffire 在 41056 中完成
- 改進 Wasm 除錯。由 @eyebrowsoffire 在 41054 中完成
SemanticsAction/SemanticsFlag清理第 5 部分,由 @bernaferrari 在 41126 中完成- 將 ui_web API 檔案包含在 sky_engine 中。由 @eyebrowsoffire 在 40846 中完成
- 在 Safari 中不要使用
OffscreenCanvas,它不支援 WebGL。由 @eyebrowsoffire 在 41135 中完成 - [web:canvaskit] 將 path API 移至 UniqueRef,由 @yjbanov 在 41136 中完成
- 在 Skwasm 中實現漸變著色器和片段著色器,由 @eyebrowsoffire 在 41144 中完成
- 修復 skwasm 的 canvasDrawArc 宣告並編寫測試。由 @eyebrowsoffire 在 41165 中完成
- [web:canvaskit] 將著色器移至 UniqueRef;修復少量記憶體洩漏,由 @yjbanov 在 41172 中完成
- [web:canvaskit] 將 Paint API 遷移到 UniqueRef,由 @yjbanov 在 41230 中完成
- 在 sky_engine 中重新提交 ui_web 檔案,由 @eyebrowsoffire 在 41169 中完成
- [web:canvaskit] 清理其餘的 skia_object_cache 用法,由 @yjbanov 在 41259 中完成
- [web:canvaskit] 從 picture 中移除不必要的 instrumentation,由 @yjbanov 在 41313 中完成
- [web] 移除非 ShadowDom 模式,由 @mdebbar 在 39915 中完成
- [web] 修復微小的型別問題。由 @joshualitt 在 40956 中完成
- [web] 根據 SystemUiOverlayStyle 更改狀態列顏色,由 @maRci002 在 40599 中完成
- [web] 修復 HashUrlStrategy.addPopStateListener,由 @ditman 在 41384 中完成
- 移除 package:js 引用並遷移到 dart:js_interop,由 @srujzs 在 41212 中完成
- 將 @staticInterop tear-off 轉換為閉包,由 @srujzs 在 41643 中完成
- Web - 修復 Chrome for Android 的選擇跳動問題,由 @bleroux 在 41202 中完成
- [web] 將
dart:js_interop_unsafe新增到 SDK。由 @joshualitt 在 41591 中完成 - [web] 移除未使用的函式引數,由 @mdebbar 在 41700 中完成
- [web] 改進 color->css 的空安全,由 @mdebbar 在 41699 中完成
- 移除物理模型層,由 @jonahwilliams 在 41593 中完成
- 在測試中從 CIPD 填充回退字型,由 @eyebrowsoffire 在 41656 中完成
- Skwasm 字型載入,由 @eyebrowsoffire 在 41246 中完成
- Revert "Skwasm Font Loading",由 @eyebrowsoffire 在 41750 中完成
- Reland "Skwasm Font Loading",由 @eyebrowsoffire 在 41756 中完成
- 移除 HTML 渲染器的“過分”預設文字樣式。由 @eyebrowsoffire 在 41822 中完成
- 在 Skwasm 中實現文字渲染,由 @eyebrowsoffire 在 41832 中完成
- [web] dialog a11y 修復,由 @yjbanov 在 41681 中完成
- [web] 重新啟用 Safari 上的歷史記錄測試,由 @mdebbar 在 41901 中完成
- [web] 在 semantics 中通用 focusability,由 @yjbanov 在 41831 中完成
- [web] 透過 ui_web 公開 PlatformLocation 和 HashUrlStrategy,由 @mdebbar 在 41163 中完成
- 將 @staticInterop tear-off 轉換為閉包,由 @srujzs 在 41885 中完成
- 以確定的順序返回字型。由 @eyebrowsoffire 在 41907 中完成
- [web] 修復舊版本 Chrome 上的崩潰(Intl.Segmenter 缺失),由 @mdebbar 在 41986 中完成
- [Web+Linux] 修復按下 Meta 鍵時丟擲異常,由 @bleroux 在 41694 中完成
- [web] 在 LUCI 上輸出更清晰,由 @mdebbar 在 41989 中完成
- 以 -Oz 編譯 skwasm。由 @eyebrowsoffire 在 42002 中完成
- 使用 skia 的新
unresolvedCodePointsAPI。由 @eyebrowsoffire 在 41991 中完成 - Skwasm 中的初始影像支援,由 @eyebrowsoffire 在 42019 中完成
- 使用客戶端 ICU 資料與 skwasm。由 @eyebrowsoffire 在 42018 中完成
- [web] 簡化自定義 url strategy 的處理,由 @mdebbar 在 42043 中完成
- [web:a11y] 支援由後代描述的 dialogs,由 @yjbanov 在 42108 中完成
- [web] 清理 Vector3,由 @mdebbar 在 42096 中完成
- [web] 修復轉換 widget(以及文字輸入節點)的事件偏移。由 @htoor3 在 41870 中完成
- 在 Skwasm 中實現
ImageFilter/ColorFilter/MaskFilter,由 @eyebrowsoffire 在 42088 中完成 - [web] 將 platformViewRegistry 移至 ui_web,由 @mdebbar 在 41877 中完成
- 將 web_ui 的 watcher 依賴更新到 1.1.0。由 @aam 在 42248 中完成
- [web] 清理 assertionsEnabled,由 @mdebbar 在 41829 中完成
- [web] 更新 a11y announcements 以追加 div 而不是設定內容。由 @marcianx 在 42258 中完成
- [web] 從 dart:ui_web 中隱藏 JS 型別,由 @mdebbar 在 42252 中完成
- [web] 移除關於 dart:html 遷移的註釋,由 @mdebbar 在 42290 中完成
- 在 web 上實現 PlatformDispatcher.displays,由 @dnfield 在 42297 中完成
- 僅為 web 測試編譯使用 8 個核心。由 @eyebrowsoffire 在 42321 中完成
- 為 Skwasm 實現 Web Codecs,由 @eyebrowsoffire 在 42184 中完成
- [Skwasm] 實現雜項繪圖 API,由 @eyebrowsoffire 在 42324 中完成
- Skwasm 的正確記憶體管理,由 @eyebrowsoffire 在 42328 中完成
- 將 drawShadow 邊界的變通方法應用於 Web HTML 後端,由 @jason-simmons 在 42304 中完成
- [web] - 修復 autofill group 輸入順序,由 @htoor3 在 42268 中完成
- 不要在 finalization registry 上使用 factory 建構函式。由 @eyebrowsoffire 在 42350 中完成
- [web] 使用新的 js_util.callMethod(Object, Object),由 @mdebbar 在 42352 中完成
- [web] 修正 baseUri 的 JS 屬性名,由 @mdebbar 在 42357 中完成
- [web] 移除 url strategy 的 JS API,由 @mdebbar 在 42134 中完成
- Revert "[web] Remove the JS API for url strategy",由 @jonahwilliams 在 42468 中完成
- Reland "[web] Remove the JS API for url strategy (#42134)",由 @mdebbar 在 42486 中完成
- [web] 將 announcement live elements 移至 DOM 末尾,並將其設定為
div而不是label。由 @marcianx 在 42432 中完成 - [web] 新的 platform view API,用於透過 ID 獲取 view,由 @mdebbar 在 41784 中完成
- dart:ui 的 MultiView 更改,由 @goderbauer 在 42493 中完成
- [web] 支援 platform view 建立引數,由 @mdebbar 在 42255 中完成
- 新增 GrBackendSurface.h 的缺失包含,由 @kjlubick 在 42563 中完成
- 移除 onSemanticsAction,由 @goderbauer 在 42579 中完成
- 在 Skwasm 的 drawAtlas 中使用正確的取樣選項。由 @eyebrowsoffire 在 42595 中完成
- [web] 移除主頁 URL 中的 /#/, 由 @mdebbar 在 42598 中完成
- 修復 prefer_final_in_for_each,由 @scheglov 在 42899 中完成
- [web] 將 webOnlyAssetManager 移至
dart:ui_web,由 @mdebbar 在 42642 中完成 - 在必要的地方新增 dart_internal override,由 @jakemac53 在 42920 中完成
- [web] 修復 Safari 自動填充閃爍錯誤,由 @htoor3 在 42830 中完成
- [web] 不要從 v8BreakIterator 獲取 break type,由 @mdebbar 在 43053 中完成
- [web] - 修復 Safari 部分自動填充表單的問題,由 @htoor3 在 43058 中完成
- 重構 JSNumber.toDart 和 Object.toJS,由 @srujzs 在 43149 中完成
- [web] 移除 patchCanvasKitModule。由 @ditman 在 42941 中完成
- 在將 skwasm codecs 交還給使用者之前對其進行初始化。由 @eyebrowsoffire 在 43274 中完成
- [web:a11y] 引入負責 ARIA 角色的 primary role,由 @yjbanov 在 43159 中完成
- Revert "Refactor JSNumber.toDart and Object.toJS",由 @srujzs 在 43286 中完成
- 在 skwasm picture recorder 中包含 SkRTreeFactory 標頭檔案,由 @jason-simmons 在 43292 中完成
- 為 utf8.encode() 返回更精確的 Uint8List 型別做準備,由 @mkustermann 在 43335 中完成
- [web] 將 web-only 初始化 API 移至
dart:ui_web,由 @mdebbar 在 43111 中完成 - [web] 新增 nonce 配置。由 @ditman 在 42829 中完成
桌面端
#- 修復不穩定的 Windows exit 單元測試,移除錯誤訊息,由 @yaakovschectman 在 40945 中完成
- [mac] 使用 app extension 標誌構建 mac framework,由 @cyanglaz 在 41011 中完成
- [Windows] 在
AXPlatformNodeTextRangeProviderWin::FindText中可選地忽略大小寫,由 @yaakovschectman 在 39922 中完成 - [Windows] 在銷燬 surface 之前關閉 engine,由 @loic-sharma 在 41012 中完成
- [macOS] 修復 arm64 浮點測試失敗,由 @cbracken 在 41228 中完成
- [macOS] 修復 Ctrl+Tab 無法工作的問題,由 @bleroux 在 40706 中完成
- 將 AccessibilityBridgeWindows 的所有權移交給 FlutterWindowsView,由 @yaakovschectman 在 41308 中完成
- [Windows] 在 v-blank 之前不阻塞光柵執行緒,由 @loic-sharma 在 41231 中完成
- [macOS] 向 FlutterPluginRegistrar 新增 lookupKeyForAsset,由 @zhongwuzw 在 37421 中完成
- [macOS] 從 public 中移除 view ID,由 @dkwingsmt 在 41712 中完成
- [macOS] 將 view ID 的型別更改為 signed 並使用 typedef,由 @dkwingsmt 在 41653 中完成
- 僅在註冊 service binding 時註冊頂級視窗訊息監聽器,由 @yaakovschectman 在 41733 中完成
- [macos] 停用背景顏色測試,由 @cbracken 在 41904 中完成
- [macOS - TextInput] 僅在 TextInputAction.newline 時插入新行,由 @bleroux 在 41977 中完成
- [Windows] 向 C++ 客戶端包裝器新增 force redraw,由 @loic-sharma 在 42061 中完成
- [macOS] 在請求框架退出之前等待 binding 就緒,由 @gspencergoog 在 41753 中完成
- 報告 macOS 的顯示器,由 @dnfield 在 41998 中完成
- [macOS] 清理 PlatformView mutator scaling,由 @cbracken 在 42110 中完成
- [macOS] 重構 PlatformView mutators,由 @cbracken 在 42130 中完成
- [macOS] 提取 PlatformView mutator clip 更新,由 @cbracken 在 42164 中完成
- [macOS] 清理 FlutterRenderer 中未使用的函式,由 @dkwingsmt 在 42196 中完成
- [macOS] 修復 FlutterViewController 迴圈引用,由 @knopp 在 42317 中完成
- [macOS] Multi-view 執行緒同步器,由 @dkwingsmt 在 41915 中完成
- [macOS] 在 setEditState 時不將編輯狀態 bounce 回框架,由 @Renzo-Olivares 在 42091 中完成
- [macOS] 提取更多 PlatformViewMutator 程式碼,由 @cbracken 在 42361 中完成
- [Windows - TextInput] 僅在 TextInputAction.newline 時插入新行,由 @bleroux 在 42244 中完成
- [macOS] PlatformView 容器的左上角原點,由 @cbracken 在 42523 中完成
- [macOS] 當 platform view clip rect 旋轉時,強制剪裁到路徑,由 @knopp 在 42539 中完成
- [macOS] 新增 platformview 建立引數支援,由 @cbracken 在 42607 中完成
- [Impeller] 允許在 macOS 上啟用 Impeller。由 @jonahwilliams 在 42639 中完成
- 修復 Windows 文字選擇更改 a11y 事件中的反向布林值,由 @yaakovschectman 在 43281 中完成
新貢獻者
#- @drwez 首次貢獻,在 41154 中完成
- @bastionkid 首次貢獻,在 41082 中完成
- @maRci002 首次貢獻,在 40599 中完成
- @andoriyaprashant 首次貢獻,在 41397 中完成
- @maruel 首次貢獻,在 41585 中完成
- @JonathanPeterCole 首次貢獻,在 39391 中完成
- @Mayb3Nots 首次貢獻,在 41739 中完成
- @selfisekai 首次貢獻,在 41794 中完成
- @marcianx 首次貢獻,在 42258 中完成
- @mk12 首次貢獻,在 42667 中完成
完整變更日誌: https://github.com/flutter/engine/compare/3.10.0...3.13.0