Releases: flutter/flutter
Flutter 3.19 beta (January 10, 2024)
The release of the Flutter 3.19 beta contains the changes noted below.
To try out the newest beta run:
flutter channel beta
flutter upgrade
Flutter 3.19 beta (January 10, 2024)
Flutter Framework
Framework
- Retry on transient Skia failure. by @Hixie in #139182
- Reverts "Retry on transient Skia failure." by @auto-submit in #139407
- Add Impeller complex layout impeller benchmarks. by @jonahwilliams in #139490
- Enable TapRegion to detect all mouse button click by @anidotnet in #136799
- Removed deprecated NavigatorState.focusScopeNode by @Piinks in #139260
- Roll dependencies by @Hixie in #139606
- Reset deprecation period for setPubRootDirectories by @Piinks in #139592
- [Android] Bump template & integration test Gradle version to 7.6.4 by @camsim99 in #139276
- Don't send images to Gold on release branches by @Piinks in #139706
- MultiDragPointerState should dispatch creation and disposal events. by @ksokolovskyi in #138807
- SelectionOverlay and TextSelectionOverlay should dispatch creation and disposal events. by @ksokolovskyi in #138804
- ScrollDragController should dispatch creation and disposal events. by @ksokolovskyi in #138800
- SnapshotPainter should dispatch creation and disposal events. by @ksokolovskyi in #138810
- Animate TextStyle.fontVariations by @Hixie in #138881
- Add Overlay.wrap for convenience by @goderbauer in #139823
- Add accessibility identifier to
SemanticsProperties
by @bartekpacia in #138331 - Handle the case when _CupertinoBackGestureDetector is disposed during the drag. by @Hangyujin in #139585
- Renamed
appbar
toapp_bar
directory in API Examples Tests by @piedcipher in #139922 - Implement
switch
expressions inexamples/
andanimation/
by @nate-thegrate in #139882 - fix typo of 'not' instead of 'now' for
useInheritedMediaQuery
by @timmaffett in #139940 - [Docs] Added missing
CupertinoApp.showSemanticsDebugger
by @piedcipher in #139913 - Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal by @Hixie in #139549
- Reverts "Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal" by @auto-submit in #140085
- Catch
Stopwatch
with static analysis by @LongCatIsLooong in #140019 - π¨: fix cupertionActionSheet design by @Anishishi in #134345
- Revert "Dynamic view sizing" by @chingjun in #140165
- fix reorderable_list drop animation by @yiiim in #139362
- Cupertino text clear label by @MitchellGoodwin in #129727
- Increase versions of leak tracker libraries. by @polina-c in #140018
- Move package:web dependency to dev dependency by @srujzs in #139696
- Reorganize dependencies on leak_tracker. by @polina-c in #140233
- Use new
enabledFeature
param forAnalytics
by @eliasyishak in #139934 - [github actions] minor PR to test latest github actions by @XilaiZhang in #140252
- Use
SemanticsUpdateBuilder
again, remove all references to temporarySemanticsUpdateBuilderNew
by @bartekpacia in #139942 - Document difference between softWrap and maxLine by @paldepind in #139363
- SemanticsProperties: default
identifier
andtooltip
to null by @bartekpacia in #140283 - Upgrade to version of leak tracker that does not depend on test_widgets. by @polina-c in #140247
- Added onEnd callback into AnimatedSize by @feduke-nukem in #139859
- Make
TextSpan
hit testing precise. by @LongCatIsLooong in #139717 - [web] Re-enable test now that source of flakiness is fixed by @harryterkelsen in #140462
- Reverts "Make
TextSpan
hit testing precise." by @auto-submit in #140468 - Reland
find.textRange.ofSubstring
changes by @LongCatIsLooong in #140469 - Remove outdated ignores from tool by @goderbauer in #140467
- Roll pub packages by @flutter-pub-roller-bot in #140472
- Integrate testWidgets with leak tracking. by @polina-c in #138057
- Revert "Integrate testWidgets with leak tracking. (#138057)" by @flar in #140502
- Reverts "[web] Re-enable test now that source of flakiness is fixed" by @auto-submit in #140515
- Add send_text_input_action case to deserialization_factory to allow sendTextInputAction usages through flutter_driver. by @nonvachara-paloit in #139197
- Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal by @Hixie in #140101
- Roll pub packages by @flutter-pub-roller-bot in #140525
- [web] Re-enable text field test now that fix has landed in engine by @harryterkelsen in #140678
- expose didExceedMaxLines from RenderParagraph by @huanghui1998hhh in #139962
- Show width and height in inspector overlay by @CoderDake in #140709
- Add command line parameter that turns on leak tracking. by @polina-c in #138653
- Set template and migrate apps to iOS 12 minimum by @jmagman in #140478
- Reland "Make
TextSpan
hit testing precise." (#140468) by @LongCatIsLooong in #140621 - Reverts "Set template and migrate apps to iOS 12 minimum" by @auto-submit in #140822
- Upgrade leak_tracker. by @polina-c in #140758
- Fix 139196 selection OOB by @LongCatIsLooong in #140300
- [flutter] Allow ViewCollection to start empty. by @ditman in #140532
- Set template and migrate apps to iOS 12 minimum by @jmagman in #140823
- fix: cannot input new line using custom input control by @Satsrag in #140356
- Link to wiki page about updating dependencies in each
pubspec.yaml
file by @elliette in #140826 - Handle KEYCODE_DPAD_CENTER and KEYCODE_ENTER by @mossmana in #140808
- Re-land integrate testWidgets with leak tracking. by @polina-c in #140521
- Reverts "Re-land integrate testWidgets with leak tracking." by @auto-submit in #140926
- fix typo and reflow by @goderbauer in #140925
- Migrate Xcode projects last version checks to Xcode 15.1 by @jmagman in #140256
- Reland "integrate testWidgets with leak tracking" (#140521) by @polina-c in #140928
- manual pub roll to pick up dds fixes by @christopherfujino in #140979
- [web] Fix and unskip a few more CanvasKit tests by @yjbanov in #140821
- Reverts "manual pub roll to pick up dds fixes" by @auto-submit in #141033
- Manual pub roll pinning web socket channel by @christopherfujino in #141040
Material
- [l10n] Update Material shareButtonLabel by @bleroux in #138899
- Remove InkSparkle.constantTurbulenceSeedSplashFactory usage by @bleroux in #139481
- Optimize the display of the Overlay on the Slider by @hgraceb in #139021
- Convert some usage of
RawKeyEvent
, et al toKeyEvent
by @gspencergoog in #139329 - Fix
DropdownMenu
throwingTextEditingController
disposed error on select by @gspencergoog in #139385 - Remove stray print by @Hixie in #139550
- Support for dismissDirection property in SnackBarTheme by @shanmugam28 in #139068
- Fix
DatePicker
Dialog content not visible on lower text scale...
Flutter 3.18 beta (December 5, 2023)
The release of the Flutter 3.18 beta contains the changes noted below.
Weβve also included summaries of notable commits towards features and enhancements of interest. These summaries help you quickly assess what this beta has to offer and why you should use it, as well as highlight the features weβd love your feedback on and your help testing.
To try out the newest beta run:
flutter channel beta
flutter upgrade
Flutter 3.18 beta (December 5, 2023)
Flutter Framework
Notable commits
Added support for Apple system fonts
Flutter text now looks a little more compact and a little more native on iOS. For the "Text" font this will be more secure in the future against possible changes to Apple's API. For the "Display" font, this will now work correctly when it didn't before.
- Refactor to use Apple system fonts by @MitchellGoodwin in #137275
Adaptive Switch
The implementation of Switch.adaptive no longer depends on the Cupertino library. Everything is handled by the Material component and there are no longer any switch properties that are not supported by the .adaptive
version. We also added support for customizing the appearance of adaptive components.
- Adaptive
Switch
by @QuncCccccc in #130425
Scrolling
Flutter used to scroll twice as fast if you dragged two fingers. You can now configure the default ScrollBehavior
with MultiTouchDragStrategy.latestPointer
to get number-of-fingers-agnostic scrolling behavior. We also updated scrolling so now if you start dragging or tap while a scroll is underway the scroll stops as expected.
- Introduce multi-touch drag strategies for
DragGestureRecognizer
by @xu-baolin in #136708 - Fix 2D tap to stop scrolling by @Piinks in #138442
Increased access to text widgetsβ state
We added support for a MaterialStatesController
in TextField
and TextFormField
so that you can listen to MaterialState
changes.
- TextField and TextFormField can use a MaterialStatesController by @Renzo-Olivares in #133977
UndoHistory stack
We fixed a problem where the undo/redo history could disappear on Japanese keyboards, and made it so you can now modify the UndoHistory
stack.
- Add
undoStackModifier
toUndoHistory
by @Renzo-Olivares in #138674
Visuals and animations
This beta includes many improvements to visuals and animations across the Flutter Framework, most notably:
- Make
UnderlineInputBorder
consistent by @bernaferrari in #124153 - Introduce
AnimationStyle
by @TahaTesser in #137945 - Fix sliver persistent header expand animation by @feduke-nukem in #137913
- Add ability to customize
NavigationBar
indicator overlay and fix indicator shape for the overlay by @TahaTesser in #138901
Framework
The remaining Framework commits from Flutter Framework are listed below:
- Upgrade leak_tracker and remove some deps in allow list. by @polina-c in #137806
- [leak-tracking] Add more leak tracking in test/painting #3 by @droidbg in #136170
- [web] dispatch corresponding keyup events in text editing integrations by @knopp in #136874
- Updated the nested navigation NavigationBar example by @HansMuller in #137788
- AppLifecycleListener should dispatch creation and disposal events. by @ksokolovskyi in #137840
- InkFeature should dispatch creation and disposal events. by @ksokolovskyi in #137793
- Reverts "[Android] Support Android 34" by @auto-submit in #137865
- Tooltip docs: Recommend setting preferBelow to false in theme by @chrisbobbe in #135879
- Send caret rect to embedder on selection update by @cbracken in #137863
- Remove unused generic type from BottomSheet by @goderbauer in #137791
- InheritedElement.removeDependent() by @s0nerik in #129210
- HeroController should dispatch creation and disposal events. by @ksokolovskyi in #137835
- Provide a helpful error message when
ColorScheme.brightness
doesn't matchThemeData.brightness
by @TahaTesser in #137611 - Update BottomNavigationBar tests for M3 by @bleroux in #136624
- Reverts "Update BottomNavigationBar tests for M3" by @auto-submit in #137948
- Cover text_selection tests with leak tracking. by @ksokolovskyi in #137009
- ScrollActivity should dispatch creation and disposal events. by @ksokolovskyi in #137961
- SemanticsHandle should dispatch creation and disposal events. by @ksokolovskyi in #137960
- Added an AnimationController API doc example by @HansMuller in #137975
- Document where
Curves
curves correspond to CSS easing functions by @gnprice in #137318 - Revert "Add no-shuffle to reorderable_list_test.dart" by @dnfield in #137715
- Ticker should dispatch creation and disposal events. by @ksokolovskyi in #137844
- Add support for color and color blendmode in FadeInImage by @prasadsunny1 in #137681
- Document additional cases by @dnfield in #137957
- [Android] Fix
FlutterTestRunner.java
deprecations by @camsim99 in #138093 - Remove physicalGeometry by @goderbauer in #138103
- Add
onSubmitted
andonChanged
forSearchAnchor
andSearchAnchor.bar
by @QuncCccccc in #136840 - Make it possible to disable tapping to dismiss a tooltip. by @Hangyujin in #137375
- Fix text selection in
SearchAnchor/SearchBar
by @Renzo-Olivares in #137636 - [Android] Support Android 34 (take 2) by @camsim99 in #137967
- Adds
useRootNavigator
property toPopupMenuButton
widget. by @piedcipher in #137453 - Update analytics constructor to include
FLUTTER_HOST
by @eliasyishak in #138107 - Fix #128925 by properly setting the Android Event Source by @johnmccutchan in #138241
- GestureRecognizer should dispatch creation and disposal events. by @ksokolovskyi in #138223
- Deprecates onWillAccept and onAccept callbacks in DragTarget. by @chinmoy12c in #133691
- Docs typo: comprised -> composed by @EnduringBeta in #137896
- Upgrade leak tracker. by @polina-c in #138283
- Clean up synonyms, key code generation. by @gspencergoog in #138192
- Update DraggableScrollableSheet docs to reflect API change by @huycozy in #136471
- Finally remove analysis_options_user.yaml by @goderbauer in #138261
- Fixing typo by @peterabrahamdev in #138253
- Reland "Update
framework_test.dart
to removeButtonBar
usage and remove references from other clases (#137550) by @TahaTesser in #137753 - Add to TableCell docs by @Piinks in #138258
- Reland [SingleChildScrollView] Correct the offset pixels if it is out of range during layout by @xu-baolin in #136871
- SemanticOwner should dispatch creation and disposal events by @droidbg in #138388
- Reland VelocityTracker update (#132291) by @Piinks in #137381
- [web] skip flaky overflow_clipbehavior_none.cupertino.0.png golden check by @yjbanov in #138498
- Reverts "Reland VelocityTracker update (#132291)" by @auto-submit in #138512
- Pin package:web 0.4.0 by @srujzs in #138428
- Prepare
ShortcutActivator
andShortcutManager
to migrate toKeyEvent
fromRawKeyEvent
. by @gspencergoog in #136854 - [flutter_tools] - Add
queries
section to Android manifest file by @bleroux in #137207 - Reduce animations further when --no-cli-animations is set. by @Hixie in #133598
- Enable the silent flag for invalid string exceptions when building a TextSpan by @jason-simmons in #138564
- Turn off leak tracker in master to make found leaks not blocking. by @polina-c in #138567
- Enable
flutter screenshot
outside Flutter project directory by @victoreronmosele in #138160 - Reverts "Introd...
Flutter 3.17 beta (November 15, 2023)
The release of the Flutter 3.17 beta contains the changes noted below.
To try out the newest beta run:
flutter channel beta
flutter upgrade
Flutter 3.17 beta (November 15, 2023)
Flutter Framework
Framework
- Update dialog tests for Material3 by @MitchellGoodwin in #135775
- Fix a couple of CupertinoTextField tests to avoid leak-tracking test failures. by @ksokolovskyi in #135851
- leak track tab_scaffold_test.dart by @NobodyForNothing in #135309
- Cover some cupertino tests with leak tracking by @NobodyForNothing in #135230
- Fix the character field of RawKeyEvent is always null on iOS by @LinXunFeng in #135100
- Remove unused InlineSpan methods by @LongCatIsLooong in #135882
- Replace dead link in
CupertinoPicker
documentation by @Pante in #135897 - Tiny improve code style by using records instead of lists by @fzyzcjy in #135886
- Fix memory leaks in DateRangePickerDialog. by @ksokolovskyi in #136034
- RenderEditable should dispose created layers. by @polina-c in #135942
- Call
markNeedsPaint
when adding overlayChild toOverlay
by @LongCatIsLooong in #135941 - Simplify assertion in
AsyncSnapshot
by @mateusfccp in #135899 - bottom_sheet: Clarify doc about behavior when useSafeArea is false by @chrisbobbe in #134793
- Allow leaks around tap down/up, while flackiness is not fixed. by @polina-c in #136133
- Update BottomSheet test for M3 + fix an issue in elevation resolution by @bleroux in #136071
- Update
CircleAvatar
&DataTable
tests for Material 3 by @TahaTesser in #135901 - [leak-tracking] Add leak tracking in test/painting #2 by @droidbg in #136169
- Reland "Adds a parent scope TraversalEdgeBehavior and fixes modal rou⦠by @chunhtai in #134554
- Update
MediaQuery
documentation to highlight asynchronous nature of size by @gspencergoog in #135719 - [web] Fix
page up
page down
home
end
shortcut behavior on web by @htoor3 in #135454 - [leak-tracking] Cover testwidgets with leak tracking in test/gestures by @droidbg in #136166
- [leak-tracking] Add leak tracking in test/painting #1 by @droidbg in #136167
- TestClipPaintingContext should dispose ContainerLayer by @polina-c in #135949
- RenderAnnotatedRegion should dispose created layers. by @ksokolovskyi in #136086
- Cover more test/material tests with leak tracking. by @ksokolovskyi in #136093
- TimePickerDialog should dispose created ChangeNotifiers. by @ksokolovskyi in #136261
- [flutter_tools] allow tool integration tests to quit on SIGINT by @christopherfujino in #136271
- Seperate localization tests for Material2 and Material3 by @MitchellGoodwin in #135779
- [framework] restore old zoom page transition for benchmarking. by @jonahwilliams in #133346
- Add key event handlers that happen before or after the focus traversal by @gspencergoog in #136280
- Relaxed a test on
Paint.toString()
to ignoredither: ...
. by @matanlurey in #136302 - Add
SizeTransition.fixedCrossAxisSizeFactor
by @ValentinVignal in #134659 - Fix flakiness: finalize dropped gestures in tests to release resources, and update doc-comment. by @polina-c in #136136
- Fix
FlexibleSpaceBar
does compositing with near zero opacity. by @TahaTesser in #136255 - _RenderSnapshotWidget should dispose created OffsetLayer. by @ksokolovskyi in #136267
- Include size factors when computing the intrinsic size of a
RenderPositionedBox
by @fischerscode in #135823 - Add
profilePlatformChannels
service extension by @kenzieschmoll in #136051 - [leak-tracking] Add leak tracking in test/rendering - 1 by @droidbg in #136275
- Fix some deprecation details by @Piinks in #136385
- Allow latest pkg:material_color_utilities by @kevmoo in #132445
- SearchBar should listen to changes to the SearchController and update suggestions on change by @bryanoli in #134337
- Floating
SnackBar
should always float above the bottom widgets by @QuncCccccc in #136411 - Fix chip widgets don't the apply provided
iconTheme
by @TahaTesser in #135751 - Updates references to
finders.dart
incontroller.dart
to use a namespace. by @pdblasi-google in #136423 - Fix PageView API doc sample fails on Desktop and Web by @huycozy in #135910
- Bump file,process,process_runner by @goderbauer in #136418
- Fix doc TODO by @goderbauer in #136485
- Allow
TapRegion
to consume tap events by @gspencergoog in #136305 - [SingleChildScrollView] Correct the offset pixels if it is out of range during layout by @xu-baolin in #136239
- Make constraints a covariant argument in RenderBox.computeDryLayout() by @tvolkert in #136432
- SearchAnchor should dispose created FocusNode and SearchController. by @ksokolovskyi in #136120
- [leak-tracking] Add leak tracking in test/rendering -3 by @droidbg in #136308
- [leak-tracking] Add leak tracking in test/rendering -2 by @droidbg in #136310
- Stop skipping leaks in the test. by @polina-c in #136512
- Mark leak in NativeCodec.getNextFrame. by @polina-c in #136514
- Changes to use valuenotifier instead of a force rebuild for WidgetInspector by @CoderDake in #131634
- [Impeller] GPU frame timings summarization. by @jonahwilliams in #136408
- Change some usage of RawKeyEvent to KeyEvent in preparation for deprecation by @gspencergoog in #136420
- _RouterState should dispose created _RestorableRouteInformation. by @ksokolovskyi in #136556
- Test cover cupertino for memory leaks tracking -2 by @droidbg in #136577
- Test cover cupertino for memory leaks and fix Opacity Layer not disposed. by @droidbg in #136576
- Fix
NavigationRail
's indicator inkwell doesn't support transparent color. by @TahaTesser in #136359 - Cupertino search field test leak tracking and Fix. RestorableTextEditingController not disposed. by @droidbg in #136615
- Avoid use of Platform.script in isolates_test.dart by @dnfield in #136669
- Do not hold on to stale canvas reference in _RenderSegmentedButton by @dnfield in #136658
- Add docs to SchedulerBinding by @tvolkert in #136433
- Removed TBD translations for optional remainingTextFieldCharacterCounZero message by @HansMuller in #136684
- Revert "[SingleChildScrollView] Correct the offset pixels if it is out of range during layout" by @Piinks in #136744
- make integration_test_driver_extended.dart support writeResponseData--(done) by @linchen2chris in #128382
- GoldenFileComparators should dispose created Image objects. by @ksokolovskyi in #136716
- Adds API for performing semantics actions in tests by @pdblasi-google in #132598
- Add findChildIndexCallback examples by @gildaswise in #133469
- Flutter preview device by @christopherfujino in #135639
- Fixed : Empty Rows shown at last page in Paginated data table by @aakash-pamnani in #132646
- [Feat] Stroke color for Slider value indicator by @838 in #135986
- Fix
Slider
onChanged
callback order & never callsonChangeStart
onSliderInteraction.slideOnly
allowed interaction by @TahaTesser in #136720 - Fixes ability to call nextFocus() on a node to focus its descendant by @chunhtai in https://...
Flutter 3.16 beta (October 11, 2023)
The release of the Flutter 3.16 beta contains the changes noted below.
To try out the newest beta run:
flutter channel beta
flutter upgrade
Flutter 3.16 beta (October 11, 2023)
Framework
- CupertinoAlertDialog should not create ScrollController on every build, if null values are passed in constructor. by @polina-c in #133918
- _SearchBarState should dispose FocusNode, if it created it. by @polina-c in #133947
- RenderParagraph should dispose instances of SelectableFragments. by @polina-c in #133915
- _MaterialAppState should dispose MaterialHeroController. by @polina-c in #133951
- Cover more tests with leak tracking. by @polina-c in #133958
- Dispose AnimationSheetRecorder to avoid leaks by @dkwingsmt in #133365
- Revert "_SearchBarState should dispose FocusNode, if it created it." by @polina-c in #134072
- Revert "CupertinoAlertDialog should not create ScrollController on every build, if null values are passed in constructor." by @polina-c in #134071
- _DropdownMenuState should dispose TextEditingController. by @polina-c in #133914
- Fix not disposed items in Cupertino app and route. by @polina-c in #134085
- MinimumTextContrastGuideline should dispose image. by @polina-c in #133861
- Add
CheckedPopupMenuItem.onTap
callback by @piedcipher in #134000 - Fix
subtitleTextStyle.color
isn't applied to theListTile.subtitle
in Material 2 by @burakJs in #133422 - Clean the fixed TODOs. by @polina-c in #133859
- DraggableScrollableActuator should dispose notifier. by @polina-c in #133917
- Reland "Fix
Chip.shape
's side is not used when provided in Material 3" by @TahaTesser in #133856 - Fix
DataTable
'sheadingTextStyle
&dataTextStyle
are not merged with default text style by @TahaTesser in #134138 - Fix
TabBar
doesn't uselabelStyle
&unselectedLabelStyle
color by @TahaTesser in #133989 - Fixed [NavigationRailDestination]'s label opacity while disabled not being coherent with the icon by @matheus-kirchesch-btor in #132345
- SearchDelegate should dispose resources. by @polina-c in #133948
- Cover some test/widgets tests with leak tracking by @ksokolovskyi in #133803
- DropdownRoutePage should dispose the created ScrollController. by @polina-c in #133941
- Fix
ExpansionTile
properties cannot be updated withsetState
by @TahaTesser in #134218 - [integration_test] Allow capture of screenshots for
FlutterFragmentActivity
s by @gmackall in #132406 - _SearchBarState should dispose FocusNode, if it created it. by @polina-c in #134076
- CupertinoAlertDialog should not create ScrollController on every build, if null values are passed in constructor. by @polina-c in #134075
- TestWidgetsFlutterBinding should dispose old RestorationManager on reset. by @polina-c in #133999
- EditableTextState should dispose cursorVisibilityNotifier. by @polina-c in #133858
- Remove non needed controllers in SegmentedButton. by @polina-c in #134064
- _TabBarViewState should dispose created instances of PageController. by @polina-c in #134091
- Fix
Drawer
examples are missingdartpad
tag by @TahaTesser in #134219 - fix a Scrollbar example crash by @xu-baolin in #127925
- Update links to iOS embedder docs to point to new Doxygen docs by @gspencergoog in #134246
- Make
CupertinoTextField
at least as tall as its first line of placeholder by @LongCatIsLooong in #134198 - Update chip docs to clarify how to specify a shape with no border & explain default values for Material 3 by @TahaTesser in #134298
- InputDecoration.error should activate error state by @Renzo-Olivares in #134001
- Remove TextPainter migration flag from the framework by @LongCatIsLooong in #134274
- RestorationManager should dispatch creation in constructor. by @polina-c in #133911
- Fix memory leak in _DraggableScrollableSheetState by @ksokolovskyi in #134212
- Day picker should dispose created MaterialStatesController's. by @polina-c in #133884
- SelectableRegion onSelectionChange should be called when the selection changes by @Renzo-Olivares in #134215
- Cover more tests with leak tracking. by @polina-c in #134363
- Mark leak: instances of OpacityLayer, created by _RenderChip, should be disposed. by @polina-c in #134395
- Fix memory leak in RenderAnimatedSize by @ksokolovskyi in #133653
- Cover focus tests with leak tracking by @ksokolovskyi in #134457
- Fix DataTable example not being scrollable by @Chinmay-KB in #131556
- ScaleGestureRecognizer: make pointerCount public by @kseino in #127310
- [New feature] Allowing the
ListView
slivers to have different extents while still having scrolling performance by @xu-baolin in #131393 - Revert "Adds a parent scope TraversalEdgeBehavior and fixes modal rou⦠by @chunhtai in #134550
- Remove deprecated TextSelectionOverlay.fadeDuration by @Piinks in #134485
- Remove chip tooltip deprecations by @Piinks in #134486
- Enable private field promotion for examples by @goderbauer in #134478
- Enable private field promotion for other packages by @goderbauer in #134475
- Fix SliverList example descriptions by @Piinks in #134483
- Ensure OverlayPortal.overlayChild's renderObject is reachable via treewalk by @LongCatIsLooong in #134497
- Fix TabBarView desynchronized after animation interruption by @bleroux in #132748
- Cover more test/widgets tests with leak tracking #2 by @ksokolovskyi in #134387
- _YearPicker should dispose ScrollController and MaterialSatesController. by @polina-c in #134393
- Update BottomSheetTest by @Hangyujin in #134562
- removed unused variable in the example code of semantic event by @chrisdlangham in #134551
- Cover more test/widgets tests with leak tracking #4 by @ksokolovskyi in #134663
- Updated MaterialStatesController class api doc by @HansMuller in #134592
- Bump gradle heap size limit in everywhere by @zanderso in #134665
- [framework] reduce ink sparkle uniform count. by @jonahwilliams in #133897
- Dispose routes in navigator when throwing exception by @Hangyujin in #134596
- [bug] Fix null check crash by ReorderableList by @opxdelwin in #132153
- Update KeepAlive.debugTypicalAncestorWidgetClass by @Piinks in #133498
- Remove
Path.combine
call fromCupertionoTextSelectionToolbar
by @LongCatIsLooong in #134369 - _DayPicker should build days using separate stetefull widget _Day. by @polina-c in #134607
- LinkedText (Linkify) by @justinmc in #125927
- Fix NavigationRail hover misplaced when using large icons by @bleroux in #134719
- π Setup color tween for
RefreshIndicator
in a better way by @AlexV525 in #134492 - Cover some Services tests with leak tracing by @NobodyForNothing in #134381
- Cover more test/widgets tests with leak tracking #3 by @ksokolovskyi in #134576
- Allows page removal that contains Localhistoryentry by @chunhtai in #134757
- Fix memory leak in ListWheelScrollView by @ksokolovskyi in #134732
- Fix navigation rail hover misplaced when direction is RTL and extended is true by @bleroux in #134815
- Date p...
Flutter 3.15 beta (September 15, 2023)
The release of the Flutter 3.15 beta contains the changes noted below.
To try out the newest beta run:
flutter channel beta
flutter upgrade
Flutter 3.15 beta (September 15, 2023)
Flutter
Framework
- Handle breaking changes in leak_tracker. by @polina-c in #131998
- More documentation about warm-up frames by @Hixie in #132085
- Remove Iterator from _History by @justinmc in #132101
- [framework] Add Search Web to selection controls for iOS by @LouiseHsu in #131898
- Paginated Data Table : Fixed Row number at footer in last page by @aakash-pamnani in #130389
- Fix
TabBarTheme.indicatorColor
not applied in Material 2 by @TahaTesser in #132123 - Document that missed_frame_build_budget_count is misleading by @Hixie in #132137
- More PageStorage clarity in the documentation by @Hixie in #131954
- Add
PopupMenuButton.iconColor
,PopupMenuTheme.iconSize
and fix button icon using unexpected color propert by @TahaTesser in #132054 - Revert of #120385 by @Jasguerrero in #132167
- Add
textCapitalization
property forSearchBar
andSearchAnchor
by @QuncCccccc in #131459 - Add more info to
OverlayState.insert
error messages by @LongCatIsLooong in #129363 - Use pattern matching to avoid strange type annotations by @LongCatIsLooong in #131964
- Revert "Handle breaking changes in leak_tracker." by @zanderso in #132223
- Reland "[web] Migrate framework to fully use package:web (#128901)" by @mdebbar in #132092
- Add an example for
TapAndPanGestureRecognizer
by @Renzo-Olivares in #131873 - Handle hasStrings on web by @justinmc in #132093
- Deprecate
describeEnum
. by @bernaferrari in #125016 - Remove shrinkWrap from flexible_space_bar_test.dart by @thkim1011 in #132173
- Sample code for ImageProvider by @Hixie in #131952
- Making TextPainter rounding hack disabled by default by @LongCatIsLooong in #132094
- Fix prefer_null_aware_operators violation by @srawlins in #132242
- Add missing
ignore: deprecated_member_use
to unblock the engine roller by @LongCatIsLooong in #132280 - Keep alive support for 2D scrolling by @Piinks in #131641
- Fix
DropdownButtonFormField
input border clipping by @TahaTesser in #131481 - Fix
PopupMenuItem
&CheckedPopupMenuItem
has redundantListTile
padding and update default horizontal padding for Material 3 by @TahaTesser in #131609 - Analyze code snippets in flutter_test docs by @goderbauer in #132246
- Add hasInteractedByUser getter in FormField by @dumazy in #131539
- An example of parentData usage. by @Hixie in #131818
- TextPainter migration cleanup by @LongCatIsLooong in #132317
- Upgrade flutter packages. by @polina-c in #132326
- GridView sample code by @Hixie in #131900
- setState documentation by @Hixie in #132090
- TextField should correctly resolve provided style for material states by @Renzo-Olivares in #132330
- Adds SemanticsNode Finders for searching the semantics tree by @pdblasi-google in #127137
- Analyze code snippets in integration_test docs by @goderbauer in #132314
- Remove the fast reassemble / single widget reload feature by @Hixie in #132255
- Add double click and double click + drag gestures to SelectionArea by @Renzo-Olivares in #124817
- Read
--dart-define
inRendererBinding.initInstances()
by @LongCatIsLooong in #132408 - Revert "Fix
PopupMenuItem
&CheckedPopupMenuItem
has redundantListTile
padding and update default horizontal padding for Material 3" by @CaseyHillers in #132457 - Unpin leak_tracker and handle breaking changes in API. by @polina-c in #132352
- Update menu examples for
SafeArea
by @TahaTesser in #132390 - Selection area should move selection word by word on a long press drag by @Renzo-Olivares in #132518
- Updates
AutomatedTestWidgetsFlutterBinding.pump
to support microsecond precision by @pdblasi-google in #132401 - PaginatedDataTable improvements by @Hixie in #131374
- Further clarification of the TextSelectionControls migration by @Hixie in #132539
- Analyze code snippets in flutter_driver docs by @goderbauer in #132337
- Make completeError be a proper JS function by @srujzs in #132492
- [integration_test] Update outdated onScreenshot signature in README code snippet by @gmackall in #132409
- Upgrade flutter packages. by @polina-c in #132585
- Fixing a memory leak in About box/dialog overlays by @gspencergoog in #130842
- Reorganize and clarify API doc generator by @gspencergoog in #132353
- Fix extent for null returning builder in GridView by @Piinks in #132511
- Explain the keyboard manager protocol by @dkwingsmt in #132533
- [Reland] #131609 by @TahaTesser in #132555
- Fix some leaks and add test to test cover remaining in a simple way. by @polina-c in #131373
- Fix not-disposed _InputBorderGap. by @polina-c in #132694
- fixed documentation error input decorator by @faisalansari0367 in #132124
- Triple tap selection should not move beyond text boundary at the tapped location by @Renzo-Olivares in #132357
- Upgrade flutter packages. by @polina-c in #132697
- Fix bad pattern in 2D tests by @Piinks in #132709
- Improvements to EditableText documentation by @Hixie in #132532
- Fix lower bound of children from TwoDimensionalChildBuilderDelegate by @Piinks in #132713
- Improve and optimize non-uniform Borders. by @bernaferrari in #124417
- Disable test order randomization on some leak tracker tests that are failing with today's seed by @jason-simmons in #132766
- Update
Scrollable
onScrollBehaviour
change. by @chinmoy12c in #131164 - Leaks fix. by @polina-c in #132778
- [Framework] Add Share to selection controls by @LouiseHsu in #132599
- Allow date pickers to not have selected date by @Hixie in #132343
- Reland root predictive back by @justinmc in #132249
- fixes l10n for CupertinoDatePicker in monthYear mode by @AndreySuworow in #130934
- Add a new MatrixTransition and refactor ScaleTransition and RotationT⦠by @gmilou in #131084
- SelectionArea on iOS should toggle the context menu when tapping on the previous selection by @Renzo-Olivares in #132851
- When resized network image has error, all future unrelated images using the same url will fail, even if the network becomes OK by @fzyzcjy in #127456
- Docs on iOS's directional quote characters by @justinmc in #132869
- Update
ExpansionPanel
example for the updatedexpansionCallback
callback by @TahaTesser in #132837 - Add deleteBackwardByDecomposingPreviousCharacter mapping for tests by @angelosilvestre in #132919
- Fix visual overflow for SliverMainAxisGroup by @Piinks in #132989
- Cover more tests with leak tracking. by @polina-c in #132806
- Fix memory leak in Form by @justinmc in #132987
- Add support for
Future<List<int>?>
toMatchesGoldenFile
by @iinozemtsev in #132965 - Fix
FlexibleSpaceBar.title
doesn't respect the leading widget ...
3.14 Beta (August 21, 2023)
Flutter 3.14 beta
The release of the Flutter 3.14 beta contains the changes noted below.
To try out the newest beta run:
flutter channel beta
flutter upgrade
Hotfixes to the 3.14 beta
3.14.1 beta (Aug 31, 2023)
Framework
- Fix web debug RPCError by @christopherfujino in #132363
- Fix Xcode 15 build failure due to DT_TOOLCHAIN_DIR by @vashworth in #132957
- Make space character optional when tree shaking fonts by @christopherfujino in #132978
Engine
- [Impeller] Apply color blends on the CPU and fix mask blurs and the Gaussian blur coverage hint by @bdero in #133511
Flutter 3.14 beta
Flutter
Framework
- Super tiny code optimization: No need to redundantly check whether value has changed by @fzyzcjy in #130050
- Revert "fix a bug when android uses CupertinoPageTransitionsBuilder..." by @HansMuller in #130144
- Tiny one space formatting fix by @fzyzcjy in #130053
- (Raw)Autocomplete: Add optional [optionsViewOpenDirection] param by @chrisbobbe in #129802
- Test that inspector does not hold objects. by @polina-c in #130102
- Revert "[a11y] CupertinoSwitch On/Off labels" by @Jasguerrero in #130166
- Upgrade framework pub dependencies, roll engine with rolled dart sdk by @aam in #130163
- Add a threshold when comparing screen order for selectables. by @Hangyujin in #130043
- Fix default icon color constants reversed brightness documentation by @rydmike in #130231
- Implement preferPaintInterior correctly for _CompoundBorder by @Hixie in #129851
- fix:
ExpansionTileTheme.shape
assignment inExpansionTile
by @SirusCodes in #127749 DropdownMenu
can be expanded to its parent size by @QuncCccccc in #129753- Upgrade leak_tracker to 7.0.6. by @polina-c in #130346
- Links in
material
library docs are outdated by @ttanimichi in #129891 - autocomplete: Remove mistaken paragraph in
onSelected
doc by @chrisbobbe in #130190 - Enable not GCed leak tracking. by @polina-c in #130159
- Update
RadioListTile
tests format for M2/M3 by @TahaTesser in #130391 - Update
Divider
/VerticalDivider
and theme tests for M2/M3 by @TahaTesser in #130415 - Add missing links to examples that aren't linked anywhere by @gspencergoog in #130422
- Reland [a11y] CupertinoSwitch On/Off labels by @gilnobrega in #130173
- Refactor JSNumber.toDart and Object.toJS by @srujzs in #129436
- Update
Checkbox
tests for M2/M3 by @QuncCccccc in #130351 - Exclude
Tooltip
's overlay child from SelectableRegion by @LongCatIsLooong in #130181 - Unifies text field focus management in desktops by @chunhtai in #129652
- Mark leak in text_form_field_test.dart. by @polina-c in #130468
- Upgrade leak_tracker. by @polina-c in #130507
- PlatformRouteInformationProvider does not push new entry if query par⦠by @chunhtai in #130457
- Change the default for
ThemeData.useMaterial3
to true by @HansMuller in #129724 - [web] Migrate web-only initialization APIs by @mdebbar in #129856
- Inspector should not hold callback from garbage collection. by @polina-c in #130436
- Update
CardTheme
,DrawerTheme
,NavigationBar
, andNavigationRailTheme
tests for M2/M3 by @QuncCccccc in #130047 - Upgrade leak_tracker. by @polina-c in #130528
- Mention saveLayer in the CustomPainter docs. by @Hixie in #130520
- Tap on button behind snack bar defined by margin by @lsaudon in #127959
- Update
DialogTheme
tests for M2/M3 by @TahaTesser in #130414 - Revert "Update
DialogTheme
tests for M2/M3" by @zanderso in #130578 - Test cover some leak-free code. by @polina-c in #130543
- Roll pub packages by @flutter-pub-roller-bot in #130348
- Remove unused imports by @goderbauer in #130603
- Use the new rounding hack migration flag in TextPainter by @LongCatIsLooong in #130548
- Remove duplicated dart:ui imports by @goderbauer in #130606
- Clarify docs on WidgetsBindingObserver by @Hixie in #130621
- Consistency in dependOnInheritedWidgetOfExactType guidance by @Hixie in #130632
- Upgrade leak_tacker and other packages. by @polina-c in #130585
- Clarify the whole "CustomPainters default to Size.zero" thing. by @Hixie in #130624
- Update
DropdownMenu
,SnackBarTheme
andStepper
tests for M2/M3 by @QuncCccccc in #130464 - Fix
DatePicker
uses incorrect overlay color fromDatePickerTheme
and add missing tests by @TahaTesser in #130584 - [Reland] - Update
DialogTheme
tests for M2/M3 by @TahaTesser in #130711 - Stand-alone widget tree with multiple render trees to enable multi-view rendering by @goderbauer in #125003
- Skip the iteration in Layer._fireCompositionCallbacks if the callbacks map is empty by @jason-simmons in #130438
- Guard access to dart:developer with !kReleaseMode by @goderbauer in #130627
- Allow
OverlayPortal
to be added/removed from the tree in a layout callback by @LongCatIsLooong in #130670 _RenderScaledInlineWidget
constrains child size by @LongCatIsLooong in #130648- Replaces
textScaleFactor
withTextScaler
by @LongCatIsLooong in #128522 - Make AbstractNode-derived docs more specific on RenderObject et al. by @gnprice in #130689
- Mark some leaks. by @polina-c in #130470
- Move examples to
ListenableBuilder
by @loic-sharma in #130671 - Prevent
InputDecorator
from supplying its descendants with non-normalized constraints by @LongCatIsLooong in #130460 - Document stack's clipping behaviour better by @Hixie in #130749
- Fix
iconTheme
inAppBar
doesn't apply customColors.white
in the dark mode for M3 by @TahaTesser in #130574 - Extract common functionality of iOS platformviews into superclasses by @yaakovschectman in #128716
- Add lint check to make sure samples are linked and have tests by @gspencergoog in #130523
- Update app tests for M3 by @bleroux in #130792
- Update
AppBar
andAppBarTheme
tests for M2/M3 by @TahaTesser in #130790 - Updated
ThemeData.useMaterial3
API doc, default istrue
by @HansMuller in #130764 - Roll pub packages by @flutter-pub-roller-bot in #130608
- Roll pub packages by @flutter-pub-roller-bot in #130821
- Update SnackBar tests for M2/M3 by @bleroux in #130717
- Catch errors in loadStructuredData by @Hixie in #130748
- Update app_builder_test.dart for M3 by @bleroux in #130794
- Move TapAndDragGestureRecognizer code under gestures by @tgucio in #119508
- Fix contradictory advice in "detach" docs; cut redundancy in "attach" by @gnprice in #130688
- Add support for M3 motion by @guidezpl in #129942
- Add implementation advice to debugTypicalAncestorWidgetClass by @Hixie in #130530
- Add menu dismiss localization by @gspencergoog in #128613
- Add docs to Route.maintainState by @Hixie in #130638
- Document that you can't change initialRoute usefully by @Hixie in #130450
- Can traverse if current focused node skips traversal by @chunhtai in https://...
3.13 Beta (July 12, 2023)
Flutter 3.13 beta
The release of the Flutter 3.13 beta contains the changes noted below.
To try out the newest beta run:
flutter channel beta
flutter upgrade
Hotfixes to the 3.13 beta
3.13.3 beta (August 14, 2023)
Framework
- Allow OverlayPortal to be added/removed from the tree in a layout callback by @LongCatIsLooong in #131002
- Fix assertion when a WidgetSpan is scaled by certain textScaleFactor values by @LongCatIsLooong in #131004
- Fix Tooltip crash when selected in a SelectableRegion by @LongCatIsLooong in #131005
- Constrain _RenderScaledInlineWidget child size in computeDryLayout in by @LongCatIsLooong #132095
Engine
- No changes
3.13.2 beta (August 07, 2023)
Framework
Engine
- [Impeller] Revert removal of wait until scheduled by @jonahwilliams in flutter/engine#44122
- [Impeller] Avoid culling when the current matrix has perspective by @dnfield in flutter/engine#44106
- [Impeller] No-op fragment program on Android until it works by @jonahwilliams in flutter/engine#44068
- [Impeller] Made the clear optimization handle backdrop filters by @gaaclarke in flutter/engine#44222
- [iOS][A11Y] Fix hittest with non-SemanticsObject by @cyanglaz in flutter/engine#44342
- [iOS][Autocorrect] Disable autocorrection for iOS 17 by @hellohuanlin in flutter/engine#44354
3.13.1 beta (July 19, 2023)
Framework
- Fix ConcurrentModificationError in DDS by @christopherfujino in #130740
Engine
- No changes
Flutter 3.13 beta
Flutter
Framework
- Migration guide for moving from BottomNavigationBar to NavigationBar by @leighajarett in #128263
- Use a
show
over ahide
fortest_api
exports 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 value
on TextField with contextMenuBuilder by @fzyzcjy in #128114 - Remove
textScaleFactor
dependent logic fromAppBar
by @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.showCursor
is 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.dart
to use set ofMaterialState
by @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
showBottomSheet
doesn't remove scrim when draggable sheet is dismissed by @TahaTesser in #128455 - Replace
MaterialButton
from 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
SegmentedButton
by @ZhulanovAA in #128501 - Revert "Update
chip.dart
to 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
Tooltip
to useOverlayPortal
by @LongCatIsLooong in #127728 - Update
ListTile
text defaults to useColorScheme
by @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 https...