3.13 Beta (July 12, 2023)
itsjustkevin
released this
12 Jul 18:58
·
5393 commits
to master
since this release
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 #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.applyDefaults
ignoring some properties by @TahaTesser in #129010 - Introduce MaterialState
color
property 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
OverlayPortal
asserts 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.lerp
by @guidezpl in #129298 - [framework,web] add FlutterTimeline and semantics benchmarks that use it by @yjbanov in #128366
- Add
InputDecorationTheme.merge
by @TahaTesser in #129011 - Fix: Closing bottom sheet and removing FAB cause assertion failure by @utisam in #128566
- Fix Material 3 Scrollable
TabBar
by @TahaTesser in #125974 - Remove unnecessary variable
_hasPrimaryFocus
by @AhmedLSayed9 in #129066 - Add
onSubmitted
property toSearchBar
by @QuncCccccc in #129365 - [web] Migrate framework to fully use package:web by @mdebbar in #128901
- Fix
Slider
overlay remains when unfocused by @TahaTesser in #129115 - fix: SearchAnchor View not resizing when in nested navigator by @VictorOhashi in #128357
_TapStatusTrackerMixin
should wait until the nextPointerDownEvent
before 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
&AnimatedGrid
doesn't applyMediaQuery
padding 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_fix
support tointegration_test
by @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
&AnimatedGrid
doesn't applyMediaQuery
padding" by @XilaiZhang in #129645 - Make
DropdownMenu
be able to scroll to the highlighted item when searching. by @QuncCccccc in #129740 - Update
SwitchListTile
tests for M2/M3 by @QuncCccccc in #129809 - Update
Switch
tests for M2/M3 by @QuncCccccc in #129810 - Update
Radio
tests 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
SwitchTheme
tests 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.fromImageProvider
by @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.dart
andwidget_tester.dart
by @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
Tooling
- [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
compileSdkVersion
by @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-os
for 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
- Ignore app.stop events received before the app.detach response in attach integration tests by @jason-simmons in #128593
- [flutter_tools] pass through enable impeller flag to macOS. by @jonahwilliams in #128720
- [flutter_tools] Suppress git output in flutter channel by @christopherfujino in #128475
- Unpin flutter_plugin_android_lifecycle by @gmackall in #128898
- Fix inconsistently suffixed macOS flavored bundle directory by @arnemolland in #127997
- [flutter_tools] cache flutter sdk version to disk by @christopherfujino in #124558
- flutter update-packages --cherry-pick-package by @Hixie in #128917
- [flutter_tools] refactor license collector by @christopherfujino in #128748
- [flutter_tools] Migrate more integration tests to process result matcher by @christopherfujino in #128737
- Fix dart pub cache clean command on pub.dart by @deryrahman in #128171
- [flutter_tools] Add support for vmServiceFileInfo when attaching by @DanTup in #128503
- [flutter_tools] fix cast error when dart-defines-json file includes null by @christopherfujino in #128909
- Fix an ordering dependency in the flutter_tools upgrade test by @jason-simmons in #129131
- Refactor generate_localizations_test.dart by @thkim1011 in #128974
- Use the new
getIsolatePauseEvent
method from VM service to check for pause event. by @chingjun in #128834 - Fix duplicate devices from xcdevice with iOS 17 by @vashworth in #128802
- Refactor
Analytics
global getter to point to context only by @eliasyishak in #129196 - [flutter_tools] add a gradle error handler for could not open cache directory by @christopherfujino in #129222
- Prevent crashes on range errors when selecting device by @eliasyishak in #129290
- Unpin path_provider_android by @gmackall in #129205
- [flutter_tools] delete flutter format command by @christopherfujino in #129360
- [web] Hides that Flutter uses requireJS in debug. by @ditman in #129032
- Prepare for making
intl
toBeginningOfSentenceCase
non-nullable by @oprypin in #127488 - Reland "Fix issue where DevTools would not be immediately available when using --start-paused (#126698)" by @bkonyi in #129368
- Remove
@NonNull
to avoid warning by @fzyzcjy in #129472 - Add .env file support for option
--dart-define-from-file
by @PiotrFLEURY in #128668 - Add new hot reload case string by @helin24 in #130008
- [flutter_tools] modify Skeleton template to use ListenableBuilder instead of AnimatedBuilder by @fabiancrx in #128810
Engine
Android
- [Impeller] Reland: Add Impeller Metal support in the embedder API (#42411) by @bdero in flutter/engine#42545
- Revert "[Impeller] Reland: Add Impeller Metal support in the embedder API (#42411)" by @zanderso in flutter/engine#42593
- [Impeller] Reland 2: Add Impeller Metal support in the embedder API (#42411) by @bdero in flutter/engine#42597
- Revert "[Android] Return keyboard pressed state" by @dkwingsmt in flutter/engine#42616
- [Impeller] Added a switch to turn on vulkan by @gaaclarke in flutter/engine#42585
- Revert "[Impeller] Added a switch to turn on vulkan" by @zanderso in flutter/engine#42660
- Platform channel for predictive back by @justinmc in flutter/engine#39208
- [Impeller] Makes validation layers flag work for android by @gaaclarke in flutter/engine#42625
- [Impeller] Reland: Added a switch to turn on vulkan by @gaaclarke in flutter/engine#42669
- Predictive back breakage fix by @justinmc in flutter/engine#42789
- Capture additional final inset states in ImeSyncDeferringInsetsCallback by @gmackall in flutter/engine#42700
- [Impeller] Reland attempt Vulkan setup and fallback to GLES. by @jonahwilliams in flutter/engine#42820
- [Android] Return the keyboard pressed state by @bleroux in flutter/engine#42758
- [android]: Make Robolectric tests work with SDK 33 by @utzcoz in flutter/engine#42965
- Add a note in ImeSyncDeferringInsetsCallback explaining the reason behind capturing the latest final inset state by @gmackall in flutter/engine#43109
- [Impeller] Give Impeller a dedicated raster priority level worker loop. by @jonahwilliams in flutter/engine#43166
iOS
- [iOS] Fix TextInputAction.continueAction sends wrong action to framework by @bleroux in flutter/engine#42615
- Use ShellTest::Config struct to create Shell by @dkwingsmt in flutter/engine#42332
- Fix crash with CJK keyboard with emoji at end of text field by @moffatman in flutter/engine#42540
- [floating_cursor_selection] a somewhat "design doc" for floating cursor feature by @hellohuanlin in flutter/engine#42173
- [iOS][Keyboard] Wait vsync on UI thread and update viewport inset to avoid jitter. by @luckysmg in flutter/engine#42312
- Reland "[ios_platform_view] only recycle maskView when the view is applying mutators #42115" by @cyanglaz in flutter/engine#42823
- Remove some trivial deprecated symbol usages in iOS Embedder by @cyanglaz in flutter/engine#42711
- [ios] view controller based status bar by @cyanglaz in flutter/engine#42643
- [ios] use interfaceOrientation orientation on iOS 13 and above by @cyanglaz in flutter/engine#42846
- [CP][iOS][Keyboard] Fix crash when FlutterEngine destroys at the same time with keyboard animation vsync callback by @cyanglaz in flutter/engine#43522
- [iOS] Fix FlutterViewController retain cycle (#43379) by @cyanglaz in flutter/engine#43523
Web
- Remove onSemanticsAction by @goderbauer in flutter/engine#42579
- Use proper sampling options in Skwasm's drawAtlas. by @eyebrowsoffire in flutter/engine#42595
- [web] Remove /#/ from home page URL by @mdebbar in flutter/engine#42598
- Fix prefer_final_in_for_each by @scheglov in flutter/engine#42899
- [web] Move webOnlyAssetManager to
dart:ui_web
by @mdebbar in flutter/engine#42642 - add dart_internal override where necessary by @jakemac53 in flutter/engine#42920
- [web] Fix for Safari autofill flickering bug by @htoor3 in flutter/engine#42830
- [web] Don't get break type from v8BreakIterator by @mdebbar in flutter/engine#43053
- [web] - Fix for Safari partially autofilling form by @htoor3 in flutter/engine#43058
- Refactor JSNumber.toDart and Object.toJS by @srujzs in flutter/engine#43149
- [web] Removes patchCanvasKitModule. by @ditman in flutter/engine#42941
- Initialize skwasm codecs before handing them back to the user. by @eyebrowsoffire in flutter/engine#43274
- [web:a11y] introduce primary role responsible for ARIA roles by @yjbanov in flutter/engine#43159
- Revert "Refactor JSNumber.toDart and Object.toJS" by @srujzs in flutter/engine#43286
- Include the SkRTreeFactory headers in the skwasm picture recorder by @jason-simmons in flutter/engine#43292
- Prepare for utf8.encode() to return more precise Uint8List type by @mkustermann in flutter/engine#43335
- [web] Move web-only initialization APIs to
dart:ui_web
by @mdebbar in flutter/engine#43111 - [web] Add nonce configuration. by @ditman in flutter/engine#42829
Desktop
- [macOS] Force clipping to path when platform view clip rect is rotated by @knopp in flutter/engine#42539
- [macOS] Add platformview creation parameter support by @cbracken in flutter/engine#42607
- [Impeller] allowing enabling Impeller on macOS. by @jonahwilliams in flutter/engine#42639
- Fix inverted boolean in Windows document selection changed a11y event by @yaakovschectman in flutter/engine#43281
New Contributors
- @leighajarett made their first contribution in #128263
- @khanhnwin made their first contribution in #128078
- @99spark made their first contribution in #128182
- @ZhulanovAA made their first contribution in #128501
- @cruiser-baxter made their first contribution in #128137
- @arnemolland made their first contribution in #127997
- @deryrahman made their first contribution in #128171
- @SwaroopSambhayya made their first contribution in #128814
- @yeasin50 made their first contribution in #128181
- @utisam made their first contribution in #128566
- @AhmedLSayed9 made their first contribution in #129066
- @oprypin made their first contribution in #127488
- @paurakhsharma made their first contribution in #128765
- @crazytan made their first contribution in #129606
- @PiotrFLEURY made their first contribution in #128668
- @ipcjs made their first contribution in #114303
- @moylanm made their first contribution in #128902
- @Snonky made their first contribution in #128804
- @fabiancrx made their first contribution in #128810
- @HenriqueNas made their first contribution in #128132
- @mk12 made their first contribution in flutter/engine#42667
- @gmackall made their first contribution in flutter/engine#42700