Flutter 3.50.0 release notes
Release notes for Flutter 3.50.0.
This page has release notes for Flutter 3.50.
What's changed
#Framework
#- Expose LinuxWindowRegistrar on _window_linux.dart in order to better support out of tree LinuxWindowingOwners by @mattkae in 188917
-
Adds a missing
awaitto aFutureOrby @FMorschel in 189198 - Assert TextStyle height is not NaN by @mvincentong in 186617
- [web] Preserve text field focus across tab switches by @flutter-zl in 188738
- Fix broken listener code in WindowScope by @mattkae in 189208
- [android_hardware_smoke_test] Synchronize platform view compositing by @andywolff in 189151
- Fix PopupWindowControllerLinux missing WindowControllerLinux implementation by @mattkae in 189189
- [hooks] Roll record_use to 1.0 and unpin by @dcharkes in 189366
- Add more 0x0 size tests part 4 by @ahmedsameha1 in 185187
- [Impeller] Playground expanded role by @flar in 188889
- refactor: remove material import from scrollable_semantics_test and selectable_region_context_menu_test by @rkishan516 in 186611
- Fix stale eagerWinner reference in GestureArenaManager when rejected before arena close by @ishaq2321 in 187008
-
add
@nonVirtualtoRenderObject.attached, fixWidgetTester.hasRunningAnimationsby @LongCatIsLooong in 186832 - Relocate cupertino samples that were under widgets/ by @Piinks in 188876
- Fix lower DragTarget not being recognized in overlapping targets by @Aurelius51 in 188979
-
Remove unnecessary value key hack in
key.dartby @AbdeMohlbi in 189291 - Add blendMode parameter to RawImage and RenderImage by @ishaquehassan in 185938
- [iOS] Fix missing nil checks and improve SemanticsObject bridge API by @cbracken in 189630
- Add AutofillHints.emailOTPCode for Android AUTOFILL_HINT_EMAIL_OTP by @jameskrupnik in 188123
- widgets layer re-export ScrollCacheExtent by @chunhtai in 189483
- Fix non-independant tests in draggable_test.dart by @ValentinVignal in 186898
- Treat package:stack_trace async-gap marker as asynchronous suspension by @gabrimatic in 185791
- Add BaseWindowController.isDestroyed flag by @mattkae in 189061
- Fix null-deref/double-dispose in StretchingOverscrollIndicator (#189589) by @mbcorona in 189667
- [flutter_test][Test cross imports] Move TestWidgetsApp to flutter_test by @navaronbracke in 189435
- Support custom BoxBorder animation in BoxDecoration by @gabrimatic in 186348
- [iOS] Remove dead parameters and no-op overrides by @cbracken in 189754
- Add OverlayPortal.overlayChildLayoutBuilder sample by @loic-sharma in 188930
- Add barrierBuilder support to showDialog and showGeneralDialog by @Mairramer in 187992
- Clean android engine/embedding tests by @AbdeMohlbi in 189276
- Clear cached directional focus history on a non-directional focus request by @elliette in 187957
- [examples] Use super parameters in missed spots by @srawlins in 186194
- Move WindowManager outside of WidgetsApp by @knopp in 188866
- [Impeller]Use the IO context for OpenGL program setup by @xiaowei-guan in 185723
- Rename RegularWindow* to Window* in the windowing API + rename sizedToContent to shrinkWrap in the windowing API by @mattkae in 189363
- docs(contributing): add git worktree and rebase workflow guide by @jtmcdole in 189992
- Roll pub packages by @flutter-pub-roller-bot in 189872
- Run Mac golden tests on ARM bots by @jmagman in 189465
- Scope SemanticsTester per test in scrollable_semantics_test by @mbcorona in 189800
- Use super-parameter in two_dimensional_utils by @srawlins in 189957
- Remove no shuffle from flutter_driver extension_test.dart and mock flutter.process channel by @ValentinVignal in 187559
- Fix TreeSliver first node clipping during expand/collapse animation by @mbcorona in 188626
- Clarify CustomScrollView use cases by @awnoa in 189692
- Fix web context-menu client lifecycle in SelectableRegion by @davidmigloz in 189587
-
Avoid unnecessary work in
BoxDecorationandRenderPhysicalModelby @bernaferrari in 187891 - Update widget location tracking to use the new generalized api by @schultek in 189725
- Fix NestedScrollView example crash when switching tabs on desktop by @gabrimatic in 186993
- [test cross imports] flutter_test cross import fixes by @navaronbracke in 189265
- Roll pub packages by @flutter-pub-roller-bot in 190259
- Return null from RenderProxyBoxMixin.computeDryBaseline when the child has no baseline by @Yusufihsangorgel in 189723
-
Add
ShapeBorderhit test fast paths by @bernaferrari in 187962 - Migrate layers example to material_ui by @justinmc in 190237
- fix: text selection two handles directionality. by @muhammadkamel in 179928
- Support reduceMotion accessibility feature in MediaQuery by @cbracken in 190287
- [web] Autofill all AutofillGroup fields in semantics mode by @flutter-zl in 187108
- iOS: Hardcode rendering API to Metal in tests (no-op) by @cbracken in 190422
-
[record_use] Migrate IconTreeShaker to
package:record_useby @dcharkes in 190225 - Bumps text gamma on windows to match skia. by @gaaclarke in 190477
- fix: update on_message_ to nullptr after window destroy so that dart gets destroy message by @rkishan516 in 185807
- Update Widgets Localizations from Translation Console by @QuncCccccc in 190503
- render proxy box now defaults baseline calculation to null by @chunhtai in 190269
-
Move examples of
flutter/widgetswidgets out fromflutter/materialby @dkwingsmt in 189532 - [web] Use thread local strike caches in skwasm by @ColeSpringer in 190048
- doc: fix typo in see also section for PrimaryScrollController.maybeOf by @chika3742 in 190386
- Document super call order for State.didChangeDependencies by @fahaddoc in 185945
- Add dot shorthands support for focus order by @navaronbracke in 190062
- [Android] Add numeric-password variation to TextInputType (embedding) by @AlexV525 in 190207
- iOS: Remove the IOSRenderingAPI selection code by @cbracken in 190636
-
Remove outdated
TODOs abouttoStringissues withOffsetby @AbdeMohlbi in 190138 - Preserve SelectableRegion scope across context menu rebuilds by @mvincentong in 186553
- Add service extension getSemanticsTree by @hannah-hyj in 189635
- Fix Hero size changes during Navigator resize by @MTtankkeo in 190025
- Add text rendering test to engine_integration_golden_test by @b-luk in 190678
- Update instructions for creating a tooling redirect by @parlough in 190324
- Fix non-independant tests in binding_test.dart by @ValentinVignal in 188963
- [cross imports] flutter/test/widgets/app_test.dart, flutter/test/widgets/inherited_test.dart, flutter_test/test/accessibility_window_test.dart by @navaronbracke in 190650
- Fixes popuntilwithresult drops results by @chunhtai in 190596
- [web] Keep the keyboard up during an iOS caret drag by @flutter-zl in 190014
- Adds benchmark for windows shadow text. by @gaaclarke in 190861
- Document event ordering for HitTestBehavior.translucent by @binSaed in 190163
- Revert: [web] Keep the keyboard up during an iOS caret drag by @flutteractionsbot in 190926
- Offload blocking work in ProcessTextPlugin to the background by @xRossKoh in 189823
- Add batch3 a11y_assessment for vpat by @chunhtai in 189042
- Fix accessibility_inspector service extensions map mutability by @hannah-hyj in 190888
- Started generating the windows platform for macrobenchmarks by @gaaclarke in 190932
- RawTooltip respects AnimationStyle updates and reverseCurve by @victorsanni in 190889
- Started caching text shadows by content. by @gaaclarke in 190681
- Toggleable reaction duration respects overrides by @victorsanni in 190857
- [analysis] Reland "Added initial implementation of the flutter_analyzer_plugin (#175679)" by @bkonyi in 191022
- Migrate internal import rules to analyzer plugin by @bkonyi in 191036
- Migrate test rules to analyzer plugin by @bkonyi in 191038
- [cross_imports] navigator_restoration_test.dart by @navaronbracke in 190996
- Migrate 5 iOS UI driver tests to Mac Simulators by @okorohelijah in 190679
- [analysis] Migrate verifyGoldenTags to flutter_analyzer_plugin by @bkonyi in 191122
- Normalize lerped BoxConstraints with overshooting t values by @victorsanni in 190971
- Treat CRLF like LF in LicenseEntryWithLineBreaks by @motucraft in 189336
- [analysis] Migrate issue and repository link syntax rules to flutter_analyzer_plugin by @bkonyi in 191127
- [analysis] Clean up legacy custom rules and private-lints in analyze.dart by @bkonyi in 191128
- Add missing Widget of the Week videos to widget API docs by @piedcipher in 191070
- Add numeric-password variation to TextInputType.numberWithOptions by @AlexV525 in 190637
- Only render views that need to be rendered (with external texture & platform view support) by @9AZX in 179874
- Revert: Only render views that need to be rendered (with external texture & platform view support) by @flutteractionsbot in 191252
- Remove dead HTMLCanvasElement declaration in packages/flutter by @kevmoo in 191165
- Add useLogicalPixels to ResizeImage for logical pixel cache sizing by @koji-1009 in 184549
-
Cache
BoxShadowpaints in_BoxDecorationPainterby @fa0311 in 190194 - Improve initial size and placement logic for popups and tooltips on Linux by @mattkae in 189994
-
Revert: Cache
BoxShadowpaints in_BoxDecorationPainterby @flutteractionsbot in 191346 - [input] Migrate fuchsia.ui.pointerinjector to TouchSource by @caroqliu in 190855
- Update docs and links for decoupling by @Piinks in 191231
- Fix Actions.handler to forward the intent type to maybeFind by @omar-alshyokh in 191052
- Add SliverClipRect and SliverClipRRect by @manu-sncf in 179003
- Do not inject 'type' and 'method' into service extension responses by @bkonyi in 190946
- [web] Unskip decoration image lerp tests by @harryterkelsen in 191426
- SliverFillRemaining extends beyond viewport size when fillOverscroll is true by @victorsanni in 191236
- Optimize JSONMessageCodec UTF-8 conversion by @FelixMittermeier in 190529
- Don't size or offset the Android platform view before it is laid out by @wilyan09007 in 190895
- Revert: [web] Unskip decoration image lerp tests by @flutteractionsbot in 191462
- Document that programmatic TextEditingController changes do not run input formatters by @binSaed in 190166
- [Impeller] fix position of cached single glyph text shadows by @flar in 191325
- Revert "[input] Migrate fuchsia.ui.pointerinjector to TouchSource (#190855) by @caroqliu in 191509
- Remove Material/Cupertino references in error messages by @justinmc in 191305
- Revert "Improve initial size and placement logic for popups and toolt…ips on Linux (#189994) by @mattkae in 191498
-
Remove outdated test todo about
ditherproperty ofPaintby @AbdeMohlbi in 190936 - Skip removed observers during app exit requests by @kyungilcho in 190343
- Clarifies blur group optimization by @gaaclarke in 191613
- [cupertino] Remove unused parameters from constructors of generic classes by @srawlins in 191398
-
Refactors
tryto avoidunawaited_return_in_try_blockcase by @FMorschel in 191129 -
Fix enum instances comparison to use
equality ==since dart has the correct behavior now by @AbdeMohlbi in 191537 - Lerp HSVColor and HSLColor hue along the shortest arc by @glitchfl in 191186
- Tolerate floating-point rounding in paintImage centerSlice assertion by @gabrimatic in 185789
-
[Android] Remove old
InputTypeconstructor from embedding by @AlexV525 in 191244 - Handle the case where a window doesn't have a title set by @robert-ancell in 191767
-
Fix
Navigator.pushNamed<T>()type checking by @nate-thegrate in 188148 - Add SliverAppBar showOnScreen semantics test coverage by @Vi-debug in 190410
- [AGP 9] Update remaining tests to AGP 9 by @jesswrd in 191824
- Add HCPP feature flag, and turn it on by default in beta/master by @gmackall in 190623
- macOS: Fix crash on out-of-bounds text input ranges by @cbracken in 191780
- Make ScrollPhysics reactive by introducing shouldUpdate by @Mairramer in 189664
- Refactor FormField build wrappers by @gabrimatic in 185795
- Revert: [AGP 9] Update remaining tests to AGP 9 by @flutteractionsbot in 191863
- [flutter_test] Ensure LiveTestWidgetsFlutterBinding executes frame and pointer callbacks in the test zone by @bkonyi in 191595
- Migrate ios driver tests batch 2 to simulators by @okorohelijah in 190930
- Share the common Linux window controller code in mixins by @robert-ancell in 191930
- Use leading scroll offset instead of infinite offset to reveal pinned slivers by @victorsanni in 191329
- Make the AbsorbPointer sample show the difference from IgnorePointer by @theprantadutta in 188940
- Migrate to listen package by @chunhtai in 189111
- [Windows] fix: Remove quotes from compiler warning suppression by @Gustl22 in 190873
- test: dynamic _tapOutside helper for TapRegion navigation tests by @shivanshu877 in 185397
- Removes deprecated ignoreSemantics parementers by @chunhtai in 191493
- Clean up semantics code by @chunhtai in 191620
- Fix self-comparison and assert typos in TestSemantics by @Sanaullah49 in 191938
- Add mouseCursor to RawScrollbar by @gabrimatic in 185750
- Add FadeInImageTransition.fadeInOver to fade the image in over the placeholder by @anazr9 in 186246
- feat: Add placeholder to DecorationImage by @rkishan516 in 191528
- [analysis] Upgrade package:analyzer to 14.3.0 and enable custom plugin compilation by @bkonyi in 191590
- [web] Fix VoiceOver child focus direction by @flutter-zl in 188820
- Fix TabBarView/PageView edge auto-scroll during mouse text selection by @mbcorona in 189544
- Fix nested scroll view fling crash by @AllinGaming in 191130
- Expose skipTraversal in FocusableActionDetector by @ishaquehassan in 191308
- Fix sibling nodes crash under MergeSemantics by @chunhtai in 191587
- Fix DeleteSurrounding splitting UTF-16 surrogate pairs by @Vi-debug in 190514
- Defer semantics geometry updates for blocked branches by @mbcorona in 192146
- [iOS] TextField should support typing accented words with external keyboard by @ibrahimcetin in 191062
- Add itemExtentBuilder support to ListView.separated by @Mairramer in 191157
- Add precacheTestImage to flutter_test and unskip web image tests by @harryterkelsen in 191435
- [web] Support local golden testing in flutter test by @harryterkelsen in 191386
-
Replace more enum instances comparison to use
equality ==instead ofidenticaland update related tests by @AbdeMohlbi in 192229 - [cupertino] Use super parameters in more places by @srawlins in 192148
- [macOS] Implement size to content regular and dialog windows. by @knopp in 185256
- Add more 0x0 size tests part 12 by @ahmedsameha1 in 187529
- [Linux] Add window rendering and drag controls by @robert-ancell in 192356
- Update more enum instances comparison to use equality == since dart has the correct behavior now by @AbdeMohlbi in 191788
- [web] Stop iOS auto-zoom by sizing semantic inputs at 16px by @flutter-zl in 192328
- Roll pub packages by @flutter-pub-roller-bot in 192517
-
Remove commented out export in
text_input.dartsince the dart compiler has the correct behavior now by @AbdeMohlbi in 191539 - Remove the accessibility evaluations feature flag by @hannah-hyj in 192266
- Update style guide for Dart 3.13 by @Piinks in 192639
-
Remove some
unawaited_futuresoutdated ignores by @AbdeMohlbi in 192026 - Roll clang to 07d67299a15ce03b053736e2d31a668ee0576987 by @cbracken in 192607
- docs: migrate design document guidance to flutter/rfc by @jtmcdole in 192648
-
Request unbuffered dispatch for platform view motion events after
_PlatformViewGestureRecognizerrejects gesture by @gmackall in 192259 - Add dedicated rubber band spring for overscroll recovery in BouncingScrollPhysics by @MTtankkeo in 187568
- [iOS] Add Translate API support to Engine by @LouiseHsu in 189878
- Document default value of ReorderableDragStartListener.enabled by @NikhilKukreja26 in 192019
- Wrap routing in FocusScope in WidgetsApp.router by @kevmoo in 192601
- Reland "[web] Keep the keyboard up during an iOS caret drag" by @flutter-zl in 190942
- Add missing @docImport directives for doc comment references by @szakarias in 192734
- [win32] Remove allocation from GetWindowPositionCallback by @knopp in 192990
-
Prefer
lateover null-initialized debug fields and enable the lint rule by @LongCatIsLooong in 192438 - Dispose OverlayEntry in WidgetsApp.router semantics tree structure test by @kevmoo in 192995
- [Reland] Update remaining tests to AGP 9 by @jesswrd in 192142
-
Update
MediaQuerydocumentation by @nate-thegrate in 183702 - Roll pub packages by @flutter-pub-roller-bot in 193129
- Remove doc comment references to GTK C types by @szakarias in 192977
- fix(widgets): dismiss open RawTooltip on Escape key (WCAG 1.4.13) by @kevmoo in 192966
- Revert: fix(widgets): dismiss open RawTooltip on Escape key (WCAG 1.4.13) by @flutteractionsbot in 193183
-
[web] Report
env(safe-area-inset-*)asFlutterView.viewPaddingby @diegolopezrm in 191647 - feat(web): resolve raw asset keys via content-hashed manifests and unhide --web-content-hash by @kevmoo in 193040
- Fix unresolved doc comment references by @szakarias in 193087
- Reland "fix(widgets): dismiss open RawTooltip on Escape key (WCAG 1.4.13)" by @kevmoo in 193192
- Fix more unresolved doc comment references by @szakarias in 193216
- [web] Enable snapshot_widget_test.dart on Web by @harryterkelsen in 193172
- [a11y] Add a semantics role for slider by @hannah-hyj in 184029
- [win32] Fix PopupWindowControllerWin32 message handling by @knopp in 193233
- [web] Unskip 6 passing framework tests across painting and widgets by @harryterkelsen in 193171
- Reland: Only render views that need to be rendered by @knopp in 192128
- [web] Unskip 6 passing framework tests in proxy_box_test and editable_text_test by @harryterkelsen in 193237
- [flutter_test] Remove redundant null arguments in Completer.complete by @kevmoo in 193242
- Revert: [a11y] Add a semantics role for slider by @flutteractionsbot in 193288
-
Make
check_code_samples.dart‎support the standard example directives, and migrate some@tooldirectives by @dkwingsmt in 189670 - [web] Unskip 12 passing framework tests in text_test and opacity_test by @harryterkelsen in 193298
- Move drawer tests from widgets to material by @Swiftaxe in 188486
-
fix some of
ignore: avoid_dynamic_callsby @AbdeMohlbi in 192028 - test: Refactor scrollbar tests to no longer depend on material by @shivanshu877 in 185396
- Add more 0x0 size tests part 13 by @ahmedsameha1 in 191466
- Fix: stop auto-scrolling during selection handle drag by @nicolinx in 185206
- fix: trivial typo by @nishchala-tattvam in 192427
-
Fix remaining
unawaited_futuresviolations by @victorsanni in 193135 - Cache the paint offset adjusted line metrics in TextPainter by @nickolasdeluca in 191223
- [web] Omit group role on menu scrollables and assign region role to named routes by @kevmoo in 192965
- docs(tools): nit: say hook/build.dart in CMake native assets comment by @sneurlax in 192205
- [Android 17] Bump Standard Test Apps in flutter/flutter to AGP 9.3.1 by @jesswrd in 193263
- [a11y] Add a semantics role for slider by @hannah-hyj in 193324
-
Allow resetting test invariants in
addTearDownby @dkwingsmt in 192082 - Fix more unresolved doc comment references by @szakarias in 193336
-
Revert: Allow resetting test invariants in
addTearDownby @flutteractionsbot in 193383 - Specify non-obvious types in pattern variable declarations by @bkonyi in 192632
- [web] Unskip 8 passing image tests in painting and rendering by @harryterkelsen in 193377
- [web] Unskip TextPainter.getWordBoundary test by @harryterkelsen in 193378
- Fix doc references to Material and Cupertino in the widgets library and its tests by @szakarias in 193334
- Fix unresolved doc comment references in dev/integration_tests and dev/benchmarks by @szakarias in 193433
- [cross imports] navigator_test.dart by @navaronbracke in 190954
- Revert: Reland: Only render views that need to be rendered by @flutteractionsbot in 193360
-
Enable
unawaited_futureslint across the Flutter repository by @victorsanni in 193125 - Pin androidx.test dependencies in integration_test by @mboetger in 193316
- Remove no-shuffle from gen_defaults_test by @ValentinVignal in 192280
-
Rename "subtext" to "supportingTextPadding" in
FormField's documentation by @MohanadAbdallah-mv in 183582 -
Replace deprecated
withOpacityinflutter_logo.dartby @AbdeMohlbi in 192583 -
Use null aware elements in
platform_views.dartby @AbdeMohlbi in 193214 - [web] Respect text affinity in getLineBoundary at a soft wrap by @flutter-zl in 192664
- Fix pointer id/coordinate mismatch in Android platform view multi-touch by @kaluli123123 in 191631
- Fixes bug where sibling node fail to update size by @chunhtai in 191220
-
perf(widgets): use
const <Never>{}in InheritedModelElement and avoid redundant casts in RenderObjectElement.update by @kevmoo in 192913 - [web] Unskip and strengthen missing glyph tofu test on Wimp by @kevmoo in 193426
- [web] Unskip web tests that now pass in gestures, services, and widgets by @harryterkelsen in 193512
- [web] Preserve DOM focus on role update and honor isAccessibilityFocusBlocked by @kevmoo in 192963
- Document that enableSuggestions: false can disable keyboard languages on Android by @HibaChamkhi in 192714
- [docs] Make Border.symmetric docs more explicit about their arguments by @navaronbracke in 193222
- [Windows] Preserve composing extent in setEditingState by @tjcGoogle in 189968
- Remove unused Fuchsia sysmem header files by @mbrase in 193244
- [cupertino] Remove redundant null arguments in Completer.complete by @kevmoo in 193718
-
Reland: Allow resetting test invariants in
addTearDownby @dkwingsmt in 193476 -
Update flutter/flutter
ci.yamlto test against Java 25 by @jesswrd in 193468 - Rebuild a semantics fragment when its sibling conflict changes by @CanArslanDev in 190431
- Enable Safari dart2wasm/skwasm CI suites on macOS 26.6 by @kevmoo in 193681
- [framework] Remove no-shuffle tag definitions and remaining usages by @bkonyi in 191499
- Reset flutter engine internal state in framework test postTest by @andywolff in 193842
- Fix null _nextFrame in MultiFrameImageStreamCompleter._handleAppFrame when a listener is re-added by @Jstuff36 in 193575
- [web] Preserve active autofill form across text input configuration updates by @simonpham in 193269
- Consolidate AI contribution policies by @zanderso in 193967
- [iOS] Restore Flutter text focus after native responder recovery by @hoyahozz in 191781
- Fix multiline EditableText selection highlighting width by @anazr9 in 185239
- Add some violations in a11y inspector by @hannah-hyj in 191994
- [web] Fix various typos in web_ui codebase by @mdebbar in 193188
- Implement satellite windows on Win32 by @mattkae in 192939
- add shorthands for scroll physics subclasses in framework by @navaronbracke in 193082
- Route windowing view lookups through WidgetsBinding by @victorsanni in 192666
- Fix OverlayPortal layout in shrink-wrapped overlays by @aayushkedawat in 193079
-
Remove more instances of deprecated
withOpacityby @AbdeMohlbi in 193559 -
Fix another
parameter_assignmentswarning by @AbdeMohlbi in 193669 - [web] Clip semantics DOM text labels to stop stealing taps by @flutter-zl in 194011
- [CP-beta][macOS] Fix FlutterTextInputPluginTest crash by @flutteractionsbot in 195340
- [CP-beta]Remove skia iOS benchmark by @flutteractionsbot in 195370
Material
#- Fix data for design packages by @Piinks in 189140
-
Move
examples/apitopackages/flutter/examples/apiand fix CI errors by @dkwingsmt in 190481 - [material] Remove unused parameters from constructors of generic classes by @srawlins in 191399
- Remove legacy gen_defaults analyze checks by @QuncCccccc in 191629
- [material] Remove unused parameters from constructors of generic test class by @srawlins in 191764
- Remove no-shuffle from progress indicator test by @ValentinVignal in 186655
- Remove no-shuffle from scrollbar test by @ValentinVignal in 186656
- Remove no-shuffle tag from dropdown_test.dart by @ValentinVignal in 186398
- [material] Use super parameters in more places by @srawlins in 192149
- Bump Dart to 3.13, reformat, re-enable formatting check by @Piinks in 192649
- Deprecate decoupled localizations, add dart fixes by @Piinks in 192954
- Fix unresolved doc comment references in Material and Cupertino by @szakarias in 193283
- Removes a11y_assessment app by @chunhtai in 193671
- Support soft hyphen (U+00AD) rendering with a Hyphens API by @dbebawy in 185152
- Deprecate design libraries by @Piinks in 192957
- Remove no-shuffle from text_field_test.dart by @ValentinVignal in 193550
- [CP-beta]Add ContextMenuButtonKind by @flutteractionsbot in 195922
iOS
#- [ios,macos] Update swiftc.py flags to match swiftc by @cbracken in 189174
- [iOS][test] Fix VSyncClient display link deallocation test on iOS 27 by @Akhrameev in 188627
- [iOS] Fix flaky keyboard animation test by @cbracken in 189353
- Add CpuArch to the Device class by @chingjun in 189207
- [iOS] Migrate FlutterKeyboardInsetManager to Swift by @cbracken in 189425
- [iOS] Migrate DisplayLinkManager to a shared instance by @cbracken in 189492
- [ios] Fix //flutter:unittests build for physical devices by @cbracken in 189543
- Move shared darwin plugin tests into own builder by @jmagman in 189411
- [iOS] Fix potential use-after-free in a11y bridge channel handler by @cbracken in 189637
-
Remove
LineContentsexperimental AA line shader that is no longer used by @b-luk in 189619 - [iOS] Inject DisplayLinkManager into VsyncWaiterIOS by @cbracken in 189749
- [iOS] Inject DisplayLinkManager into FlutterKeyboardInsetManager by @cbracken in 189751
- [iOS] Inject DisplayLinkManager into FlutterMetalLayer by @cbracken in 189752
- Rename CpuArch.x86_64 to CpuArch.x64 by @chingjun in 189478
- [iOS] Inject DisplayLinkManager into FlutterViewController by @cbracken in 189764
- [iOS] Remove dead RasterThreadMerger plumbing from platform views by @cbracken in 189753
- [iOS] Mark DisplayLinkManager.shared and init() @MainActor by @cbracken in 189815
- Allow building projects lacking Runner.xcworkspace by @chika3742 in 186239
- Consolidate AndroidArch and DarwinArch into CpuArch by @chingjun in 189315
- iOS,macOS: Rename Swift test files to end in Tests.swift by @cbracken in 190063
- iOS: Migrate TaskRunner tests to Swift Testing by @cbracken in 190055
- iOS: Reject merged-platform-ui-thread=mergeAfterLaunch by @cbracken in 190051
- iOS: Fix use-after-free race during shell teardown by @cbracken in 190132
- iOS: Migrate VSyncClient tests to Swift Testing by @cbracken in 190054
- Split the platform and cpuArch part of TargetPlatform by @chingjun in 189479
- iOS: Fix Swift warning in TracingTests by @cbracken in 190203
- Revert: Split the platform and cpuArch part of TargetPlatform by @flutteractionsbot in 190258
- iOS: Drop unnecessary @MainActor from VSyncClientTests by @cbracken in 190285
- Migrate swift xctests to Swift testing tests by @LongCatIsLooong in 187801
- iOS: Configure test task runner thread at display QoS by @cbracken in 190283
- Use devicectl for screenshots on Xcode 27, remove idevicescreenshot artifact by @jmagman in 189091
- Revert "Improve non rect platform view rendering (#182662)" by @hellohuanlin in 190003
- iOS: Serialise CADisplayLink access in VSyncClient tests by @cbracken in 190335
- iOS,macOS: Use @autoclosure in Logger by @cbracken in 190417
- iOS: Eliminate the Impeller/Skia backend selection params by @cbracken in 190416
- iOS: Remove the synchronous first-frame wait by @cbracken in 190432
- iOS: Eliminate use of IOSContextNoop in platform view tests by @cbracken in 190419
- Revert: iOS: Eliminate use of IOSContextNoop in platform view tests by @flutteractionsbot in 190501
- Prepare device support symbols by @vashworth in 190369
- iOS: Eliminate use of IOSContextNoop in platform view tests (reland) by @cbracken in 190509
- iOS,macOS: make Logger thread-safe, conform to Sendable by @cbracken in 190488
- iOS: Remove software renderer/headless fallback by @cbracken in 190590
-
Make
InternalFlutterSwift&InternalFlutterSwiftCommoninternal for real by @LongCatIsLooong in 190494 - iOS: Switch logging from syslog to os_log by @cbracken in 190595
- Revert: iOS: Switch logging from syslog to os_log by @flutteractionsbot in 190643
- iOS: remove unused OCMock imports by @cbracken in 190648
- iOS: Migrate the unit test host app to UIScene by @cbracken in 190646
- iOS: Remove the non-merged thread topology by @cbracken in 190698
- iOS: Fix flake when backgrounding platform views by @cbracken in 190816
- Make Xcode workspace cleaning optional during flutter clean by @okorohelijah in 190091
- iOS: Document and tidy the embedder API flag by @cbracken in 190828
- iOS: test GPU availability and task queue behaviour by @cbracken in 190836
- Revert: Make Xcode workspace cleaning optional during flutter clean by @flutteractionsbot in 190890
- Remove manual Safari fallback for unhandled universal links by @okorohelijah in 185430
- Always update swift package dependencies by @vashworth in 190886
- Reland "Make Xcode workspace cleaning optional during flutter clean" by @okorohelijah in 191023
- Refactor SwiftPM symlink path logic by @vashworth in 188647
- Warn when unable to find iOS Device Support Symbols by @vashworth in 189993
- iOS: Don't discard GPU state set before an engine runs by @cbracken in 191055
- Remove ios_debug_workflow test by @vashworth in 191141
- [tool] Wire dependency injection into runner and executable with required non-nullable contexts by @bkonyi in 190922
- iOS: Deprecate FlutterEngine.isGpuDisabled by @cbracken in 191393
- iOS: Improve FlutterEngineGroup tests by @cbracken in 191563
- iOS: Add stylus pointer tests by @cbracken in 191564
- [flutter_tools] Handle missing Xcode gracefully in getInfo and buildMacOS by @bkonyi in 191180
- On iOS 27+ devices, manually process lldb stops by @vashworth in 191434
- iOS: Add test for engineAllowHeadlessExecution by @cbracken in 191635
- iOS: Add null check for touch rate correction task runner by @cbracken in 191641
- Warn when SwiftPM is disabled by @muradhossin in 188695
- iOS: Ensure engine is run on the main thread by @cbracken in 191626
- refactor(flutter_tools): clean up dead unreferenced declarations by @kevmoo in 191163
- iOS,macOS: Check viewType before creating a platform view by @cbracken in 191777
- Terminate existing process before launching with devicectl by @vashworth in 191885
- iOS: Key the platform view factory registries by NSString by @cbracken in 191855
- Replace Shell::WaitForFirstFrame with an asynchronous API that matches the Shell threading model by @jason-simmons in 191841
- [iOS] Preserve semantics parents after reparenting by @AfzalivE in 189686
- Fixes OverlayPortal semantics bounds corruption by @LouiseHsu in 192139
- Collect analytics about SwiftPM errors and warnings by @vashworth in 191746
- [tool] Migrate Apple build subcommands and toolchain to modular dependency injection by @bkonyi in 190780
- ios: Return NO from run* calls on a running/terminated engine by @cbracken in 192465
- remove deeplink integration tests from bringup by @okorohelijah in 192459
- [iOS] Split FlutterEngine setUpShell into orthogonal helpers by @cbracken in 192808
- Migrate ios driver tests batch 4 to simulators by @okorohelijah in 192463
- [iOS] Rebind accessibility bridge after view controller changes by @smocer in 187167
- Exclude local Swift package schemes from --flavor error message by @dhc-tech in 191098
- Move iOS compile benchmarks to Mac_benchmark and pin Mac_benchmark to M1 by @okorohelijah in 192472
- Cleanup VSync infrastructure and improve iOS touch to present latency by @knopp in 191444
- [flutter_tools] Handle mDNS SocketExceptions during attach and surface port 5353 conflicts by @bkonyi in 191440
- iOS: Re-enable rendering on willEnterForeground by @RobertOdrowaz in 191350
- [CP-beta][iPhone Duo] Use the correct UIScreen to report the display size and update when fold/unfold by @flutteractionsbot in 195690
Android
#- [AGP 9] Update Warn Version to AGP 9+ by @jesswrd in 189109
-
fix typos in
AccessibilityEventsDelegateTest.javaby @AbdeMohlbi in 189280 - Stop using ReLinker to load libflutter.so on Android 17 (API 37+) by @gmackall in 189146
-
Use String builder in
InputConnectionAdaptorTest.javaby @AbdeMohlbi in 189281 - Fix Mockito dynamic agent loading warnings in Robolectric tests by @mboetger in 189804
- forceNdkDownload should skip configuring cmake when ndk-build is used by @mboetger in 187201
- Bumped Engine AGP Dependencies to 9.1.0 for 3.50 by @jesswrd in 189417
- Fix hcpp cliprect being behind by 1 frame when scrolling by @gmackall in 189946
-
Add
--[no-]enable-hcppbuild flag and pipe through via Gradle manifest transformation by @gmackall in 189955 - Fix an ANR in HCPP rotation due to platform <-> raster thread deadlock by @gmackall in 190638
- Convert Mockito instances in Kotlin to Mockk by @mboetger in 189884
- Catch NoSuchFieldError when reading bold text setting on non-compliant vendor runtimes by @gmackall in 190972
-
Prefer OS-installed signed APKs over app-writable
.sofiles when loading deferred libraries by @gmackall in 189145 - [AGP 9.1.0 Migration #2] Extract internal utilities by @reidbaker-agent in 190957
- [Android] Inject command line flags into manifest in release mode when not running pre-built binary by @camsim99 in 190222
- [Android] Guard PlatformViewsController2.onEndFrame against a detached FlutterView by @amaan-0331 in 190612
-
[Android] Fix respecting
--enable-software-renderingin the embedding by @camsim99 in 191321 - [Android] Fix 1px edge clipping on Platform Views by preserving floating-point precision where possible and rounding otherwise instead of truncating by @gmackall in 190311
- [rules] Add packages/flutter_tools/gradle/AGENTS.md rules by @reidbaker-agent in 191486
- [AGP 9.1.0 Migration #3] Add buildModeFor overloads and wire Flutter dependencies through the new DSL by @reidbaker-agent in 191218
-
[Android] Inject
routeinto manifest when specified on the command line in release mode by @camsim99 in 191328 - [flutter_tools] Use resolved application ID for app link settings by @faheemabbas766 in 189488
- [AGP 9.1.0 Migration #4] Replace plugin build-type copy with initWith on public DSL by @reidbaker-agent in 191606
- Add regression test for plugin compileSdkExtension warning by @Devasy in 191281
- Remove the redundant flutter/shell/platform/android:robolectric_tests build target by @jason-simmons in 192117
- [Android] Do not schedule engine frames on a detached FlutterJNI by @papmodern in 191204
- [AGP 9.1.0 Migration #5] Delete getLegacyAndroidExtension and migrate NDK fallback to public DSL by @reidbaker-agent in 192116
- Skip KGP version validation for AGP built-in Kotlin by @wratheus in 192206
- [android] Isolate API-34 high contrast listener in AccessibilityBridge behind Api34Impl by @gmackall in 192502
- [Android] Fix the HCPP SurfaceControl transaction-list race and split the transaction entry points by @gmackall in 192606
- [android]: removes RegisterExternalTexture race condition by @gaaclarke in 192951
- [Android 17] Updated Templates to AGP 9.3.1 by @jesswrd in 193262
- [Android 17] Bumped Engine Dependencies to 9.3.1 by @jesswrd in 193265
-
[Android] Refuse external setters of engine entrypoint and cached engine arguments via
Intents by @camsim99 in 190249 - Upgrade flutter/flutter to Roblectric 4.17 by @jesswrd in 193369
- [AGP 9.1.0 Migration #6] Deliver Flutter assets as a generated assets source directory on the app path by @reidbaker-agent in 192488
- Updated Remaining Engine Defaults to SDK 37 by @jesswrd in 190429
- [Android] Refactor Intent-driven engine flags into a variant-specific module by @gmackall in 191924
- [AGP 9] Add Unsupported AGP Version Functionality by @jesswrd in 193609
- Update Engine to test against JDK 25 by @jesswrd in 193470
- Raise Minimum Version to AGP 9.1.1 by @jesswrd in 193813
- Updated Most flutter/flutter Defaults to 37 by @jesswrd in 193307
- Revert: Updated Most flutter/flutter Defaults to 37 by @flutteractionsbot in 193891
-
[Android] Fix
--merged-platform-ui-threadflag by @camsim99 in 193901 - Avoid most vulkan initialization for known bad vulkan drivers by @walley892 in 193875
- [AGP 9.1.0 Migration #7] Migrate the flutter-apk copy and per-ABI versionCode to the variant API by @reidbaker-agent in 193693
- [Android] Fix use-after-free of SurfaceControl.Transaction in HCPP by @gmackall in 192969
- [AGP 9.1.0 Migration #8] Unify add-to-app module wiring on the variant API by @reidbaker-agent in 193717
- Make DisplayLists' use of DlPaint, SkPaint, and impeller::Paint agree on the default isAntiAlias by @b-luk in 193939
- [CP-beta][Gradle] Run DependencyVersionChecker before accessing Android DSL extensions in FlutterPlugin.apply by @flutteractionsbot in 195060
- [CP-beta][AGP 9.1.0 Migration #9] Move aar_init_script to public AGP APIs by @flutteractionsbot in 195640
- [CP-beta][FGP] Report the real error when applying kotlin-android fails by @flutteractionsbot in 195691
Windows
#- Disable some Windows tests that are flaking on CI by @jason-simmons in 189477
- Fix null terminator in input truncates clipboard by @CodeDoctorDE in 188652
- Fix non primary buttons not being captured on windows by @CodeDoctorDE in 188394
- [Win32] Ignore mouse move events without capture when dragging by @knopp in 190029
- [windows]: Uses offscreen MSAA when implicit msaa isn't available. by @gaaclarke in 190256
- Windows: Propagate enabled accessibility state by @cbracken in 190507
- Migrate the embedder tests from the legacy Dart native function format to FFI by @jason-simmons in 190615
- [Flutter GPU] Add a project-level Flutter GPU setting to the Linux and Windows embedders by @bdero in 190684
- [flutter_tools] Implement Diagnostics extension slice and doctor integration by @bkonyi in 191162
- Switches windows to opengles 3 by @gaaclarke in 191516
- Disable more Windows tests that have been causing CI flakes by @jason-simmons in 191822
- [windows] Fix null-deref in HostWindowPopup::UpdatePosition (Fixes #191478) by @kryali in 191479
- [flutter_tools] Extract Windows archives using native tar with PowerShell fallback by @bkonyi in 192298
- [Windows] Use an unsized texture format for backing stores on OpenGL ES 2 by @krll-kov in 192917
- [flutter_tools] Revert PR: Extract Windows archives using native tar with PowerShell fallback by @elliette in 193161
- [win32] Remove the predicate from TimerThread condition variable by @knopp in 193181
- [win32] Multi-window should never have implicit view by @knopp in 193174
- [win32] Implement hot restart for multi-window by @knopp in 193225
- Starts flipping content on windows to avoid full screen renders by @gaaclarke in 193133
- [Windows] Fix PostPlatformThreadTask cancelling tasks before they run by @Gustl22 in 193412
- [windows] Add OpenGL compositor tests against ANGLE at D3D11 feature level 10_0 by @b-luk in 194114
Linux
#- Split FlViewRenderer into OpenGL and software backends by @robert-ancell in 188824
- Fix dereference of nullptr in the moved-to-rect signal in the Linux embedder by @mattkae in 189152
- [Linux] Make glBlitFramebuffer optional in the OpenGL compositor by @robert-ancell in 189476
- [Linux] Fix a potential GList leak in FlTouchManager by @zulongzhang in 190518
- [linux] Read heading text through the AtkText interface by @sawirricardo in 188005
- Move compositor frame ownership into the view renderers by @robert-ancell in 189162
- Fixes MSAA on the linux embedder. by @gaaclarke in 191379
- Add FlViewRendererSubsurface by @robert-ancell in 191389
- Fix black window in the subsurface view renderer by @robert-ancell in 191850
- Connect to moved-to-rect after the window is realized by @robert-ancell in 191773
- [Linux] Wait for frames to be rendered before using them in another context by @robert-ancell in 192094
- [Linux] Remove frame sharing between OpenGL contexts by @robert-ancell in 192150
- [Linux] Use fences to synchronize frames between OpenGL contexts by @robert-ancell in 192098
- [Linux] Don't clear the OpenGL context when a frame has been drawn by @robert-ancell in 192137
- [Linux] Cancel input when events stop being delivered by @robert-ancell in 192277
- [Linux] Make the framebuffer depth/stencil buffer optional by @robert-ancell in 192156
- [Linux] Keep the frame at the top of a resizing subsurface by @robert-ancell in 192408
- [Linux] Clear the frame when there is nothing to render by @robert-ancell in 192461
- Fix black tooltips and popups on Wayland by @robert-ancell in 192910
- [Linux] Request a frame when a view starts rendering by @robert-ancell in 192911
- [Linux] Handle FlView being destroyed before rendering is complete. by @robert-ancell in 193268
- [flutter_tools] Migrate build targets, tester devices, application packages, and tool utilities away from globals by @bkonyi in 193647
Web
#- [web] Avoid absolute positioning for base CanvasKit canvas by @flutter-zl in 188337
- [web] Roll Chrome to 145 (framework) by @mdebbar in 182861
- [web] Repair RenderCanvas CSS size drift by @MarlonJD in 188797
- [skwasm][canvaskit] Honor Paint.filterQuality in Canvas.drawAtlas by @Ortes in 186108
- [web] Fall back to full CJK fonts for characters not covered by split slices by @harryterkelsen in 188890
- Add support for WASM deferred loading. by @biggs0125 in 189308
- [web] Cancel touch pointers WebKit abandons mid-gesture by @flutter-zl in 189608
-
Adds missing await on
instantiateImageCodecFromBufferby @FMorschel in 188910 - [web] Fix deferred loading with wasm by @mkustermann in 190140
- [Impeller] Add filterQuality support to ImageFilter.shader by @ahyangnb in 188544
- [web] Remove in-repo agent documentation by @harryterkelsen in 190326
- [web] Unify image decoding and codecs on CanvasKit and Skwasm by @harryterkelsen in 188573
-
Use dart2wasm app.support.js expression with
js-stringbuiltin requirement by @mkustermann in 183835 - [web] Fix null-check crash when a platform view is disposed mid-frame by @mbcorona in 190071
- [flutter_tools] Anchor package version extraction regex in Wasm dry-run by @kevmoo in 190691
- Wait for web rendering before first-frame event by @Yusufihsangorgel in 189500
- [web] Unify ui.Vertices by @harryterkelsen in 190563
- [web] Unify MaskFilter and ColorFilter primitives across CanvasKit and Skwasm by @harryterkelsen in 190314
- Adds error about wimp_heavy not being implemented. by @gaaclarke in 189945
- refactor(web): SkwasmPath and SkwasmPathBuilder separation by @Swiftaxe in 189086
- [web] Disable background networking and GCM in all Chrome launchers by @mdebbar in 190841
- Fix: activateSystemCursor should set cursor on all views by @arpitgandhi9 in 185080
- [web] Filter non-fatal Chromium D-Bus error lines from Chrome stderr by @mdebbar in 190669
- [web] Unify ui.ImageFilter between CanvasKit and Skwasm by @harryterkelsen in 191021
- [web] Fix WebParagraph subpixel text stretching and letter jittering by @mdebbar in 191030
- [web_ui] Clean up dead unreferenced declarations by @kevmoo in 191164
- Fix rendering custom element size by @holzgeist in 184961
-
[web] Guard against disposed pictures in
PrerollVisitorandDebugInfoVisitorby @mdebbar in 191224 - [web] Unify ui.Shader between CanvasKit and Skwasm by @harryterkelsen in 191232
- [wimp] Turn multithreading on for wimp. by @eyebrowsoffire in 190626
- Revert: [wimp] Turn multithreading on for wimp. by @flutteractionsbot in 191424
- Revert: [wimp] Turn multithreading on for wimp. by @flutteractionsbot in 191423
- [web] Move CanvasKit fragment shader classes to canvaskit/fragment_shader.dart by @harryterkelsen in 191451
- [WebParagraph] Fixing minor problem with getBoxesForRange by @Rusino in 191419
- [web] Anchor flt-semantics-host at 0,0 to fix WebKit semantics offset by @flutter-zl in 190486
- [wimp] Turn on multithreading for wimp. by @eyebrowsoffire in 191747
- [web] Support local screenshot and golden testing in felt test by @harryterkelsen in 191318
- [web] Keep ImageSource alive until Picture disposal by @harryterkelsen in 192516
- [WebParagraph] Fix text pixelation, glyph clipping, and snapping offsets to avoid subpixel raster caching by @Rusino in 191736
- fix(tree): et format --all by @jtmcdole in 192669
- fix: Apply reversed axis flip by macOS on Web when scroll with modifier keys by @Gustl22 in 189506
- Manual Roll Dart SDK from 2dfdae0ea100 to 938ec090f8bc (2 revisions) by @alexmarkov in 192943
- fix(web): guard parseBrowserLanguages against invalid locale tags by @sankalpsthakur in 190651
- [web] Scope the mobile semantics placeholder to its view by @flutter-zl in 190856
- chore: correct copy paste error in test name by @holzgeist in 191342
- Update browser_environment.js to require try_table by @sorensp-goog in 193090
- [web] Defer disposal of stale cached paths to FrameArena by @mdebbar in 192072
- refactor(web): use singular requestFileHandle() and stream Wasm through COS by @tomayac in 188010
- [web] Enable Firefox Skwasm UI CI suites, configure COI configs, and fail fast on loader rejections by @kevmoo in 193187
- wasm: enforce WasmGC opt-in capability checks and Firefox < 147 guard by @kevmoo in 193180
- Cleanup DDC SDK build targets by @nshahan in 193193
- [WebParagraph] Fixing edge cases for wrapping text (with newlines) by @Rusino in 189858
- [web] Use Xvfb -displayfd and clean up Xvfb after Firefox test suites by @mdebbar in 193510
- Synchronize dart2wasm feature probes in roll script and flutter_bootstrap.js by @kevmoo in 193271
-
Remove remaining
download_jdkreferences by @dbebawy in 193562 - Fix relative executable execution under posix_spawn by @andywolff in 193595
- [web] Test that Firefox < 147 rejects dart2wasm before Wasm capability checks by @kevmoo in 193667
- [web] Stop percent-decoding URLs written to browser history by @apinilabs-pascal in 189835
- [web] Propagate aria-label to inner slider input by @kevmoo in 192964
- [Impeller] Add render target cache clearing and test hook by @andywolff in 193497
- [web] Grow the iOS view when the browser toolbar collapses by @flutter-zl in 193744
- refactor(web): use getFileHandle() instead of requestFileHandle() by @tomayac in 193953
- [web_paragraph] Honor kTextHeightNone in TextStyle and ParagraphStyle by @Rusino in 193733
- [web] Skip non-focusable containers in Focusable.focusAsRouteDefault by @kevmoo in 194138
- [CP-beta][web] Make resize and render atomic on the shared offscreen surface by @flutteractionsbot in 195839
Tooling
#- [flutter_tools] Fix hot restart for WASM web builds by @Markzipan in 187898
- [flutter_tools] Respect mustMatchAppBuild on Windows native assets by @Vonarian in 186788
- [flutter_tools] Fix ADB device listing output parsing regression by @bkonyi in 189369
-
Remove outdated todo about
analysis bug on Windowsand update condition to also performanalysis on windowsby @AbdeMohlbi in 189283 - [flutter_tools] Remove web hot reload flag by @nshahan in 185994
- [flutter_tools] Format plugin example template to match dart format by @theprantadutta in 188382
- Roll pub packages by @flutter-pub-roller-bot in 189454
-
fix
templateDefaultGradleVersiontodo by @AbdeMohlbi in 189466 - Roll pub packages by @flutter-pub-roller-bot in 189515
- [web] Cache WASM network requests in flutter test by @harryterkelsen in 189623
- Add validation for required fields during xcodebuild by @Hari-07 in 187772
- Roll pub packages by @flutter-pub-roller-bot in 189596
- Skip emulator.getEmulators test by @vashworth in 189879
- Listen to log reader before VM Service and make delay configurable by @mboetger in 187202
- [flutter_tools] Bound Spotlight mdfind execution with timeout on macOS by @bkonyi in 189461
- Remove outdated logs that were added to track #172636 by @AbdeMohlbi in 189282
- Disable execution order shuffling for the flutter_tools upgrade_test suite by @jason-simmons in 189920
- Bump devtools_shared to 13.1.0 by @srawlins in 189507
- [flutter_tools] Invalidate WebEntrypointTarget when plugin set changes by @bkonyi in 189460
- Parse AndroidX property in gradle.properties by @faheemabbas766 in 188372
- [flutter_tools] Initialize Cache.flutterRoot at the start of the upgrade_test suite by @jason-simmons in 189937
- [flutter_tools] Do not always wait for the full timeout when running Spotlight to locate Android Studio on macOS by @jason-simmons in 189952
-
Remove ancient
tools:toolsdep fromandroid_sdkbundle by @gmackall in 189962 - Move tool host_cross_arch tests into different shards by @jmagman in 189470
- [web] Provide Content-Length header for CanvasKit files in flutter test by @harryterkelsen in 190155
- fix(tool): parse ADB device lists by connection state by @Ram-Dawson in 189973
- Adds analytics to macos impeller opt in/out by @gaaclarke in 190220
- Add java/gradle check when gradle crashes by @mboetger in 189997
- flutter_tools: Use new FileSystemExtension from devtools by @srawlins in 190360
- Handle unexpected exceptions during Azure metadata detection by @Ahmet-Can-Urhan in 189457
- Fix merge conflict from 190369 by @vashworth in 190544
- [tool][web] Intercept dart2wasm errors & append JS migration footers by @kevmoo in 190476
- fix(tool): remove redundant --enable-experiment=record-use flag by @kevmoo in 190475
- [flutter_tools] Gracefully handle locked Windows files during clean by @bkonyi in 190095
- Revert: fix(tool): remove redundant --enable-experiment=record-use flag by @flutteractionsbot in 190583
- reland(tool): remove redundant --enable-experiment=record-use flag by @kevmoo in 190591
- Roll pub packages by @flutter-pub-roller-bot in 190605
- Skip platform tooling regeneration for non-Flutter pub workspace packages by @UditDewan in 189705
- [flutter_tools] Handle WDAC block error code 4551 for impellerc by @bkonyi in 190108
- [flutter_tools] Fix PathNotFoundException during native assets cleanup by @bkonyi in 190102
- [flutter_tools] [DAP] Extract and forward DevTools Deep Link URLs to DAP clients by @DanTup in 190455
- Allow valid UTF-8 replacement characters in flutter_tools decoding by @LinXunFeng in 188901
- [flutter_tools] Support boolean selectors and multiple tag options in test command (#189193) by @bkonyi in 190541
- fix(desktop): Keep an open log stream on desktop for integration testing. by @fuzzybinary in 189192
- [flutter_tools] Fix impellerc Windows Unicode crash and improve diagnostics by @bkonyi in 190112
- Remove --disable-dev-shm-usage from Chrome launch args by @mdebbar in 190470
- [flutter_tools] Contain dependency-declared license paths within the package by @adilburaksen in 189159
- [flutter_tools] Validate plugin class/package identifiers to prevent GeneratedPluginRegistrant injection by @adilburaksen in 189156
- [web] Provide Content-Length header for main.dart.wasm in flutter test by @harryterkelsen in 190584
- tools: Support --host-arch option in flutter precache by @cbracken in 190480
- Pass web-defines to the web builder in all run configurations by @matheusccastroo in 189622
- [flutter_tools] Fix hot reload for workspace member packages in lib/ (#190284) by @bkonyi in 190540
- [Tool] Fix SwiftPM race condition during parallel Xcode builds by @bkonyi in 188451
- Override deployment target in CocoaPod dependencies when they're less than Xcode's minimum by @vashworth in 190677
- [flutter_tools] Support UTF-16 and UTF-8 BOM decoding in --dart-define-from-file (#190286) by @bkonyi in 190547
- [flutter_tools] Use JSON_INPUT COMPILE_EXPRESSION for expression evaluation by @bkonyi in 190722
-
Update
FlutterNativeAssetsBuildRunnerImplto add ".exe" suffix to its_dartExecutablefor Windows by @b-luk in 190761 - Never use a header bar in the Linux application template by @robert-ancell in 190120
-
Remove
platformskey from flutter daemon by @AbdeMohlbi in 190631 - fix: forward --build-name and --build-number to desktop version.json by @ishaquehassan in 190130
- Roll pub packages by @flutter-pub-roller-bot in 190838
- flutter_tools: Use pub check-resolution-up-to-date & fix workspace package_config path by @sigurdm in 186740
- [flutter_tools] Fix package URI resolution in --experimental-faster-testing by @bkonyi in 190875
- [flutter_tools] Setup Pub Workspace and package structure for flutter_tools sub-packages by @bkonyi in 190733
- test(flutter_tools): deduplicate WebDevFS fixtures and test fakes by @kevmoo in 190892
- [icon_tree_shaker] Tree-shake material and cupertino with 0 icons by @dcharkes in 190905
- [flutter_tools] Add retry and timeout to getFlutterWidgetPreviews in LspPreviewDetector by @bkonyi in 190929
- [flutter_tools] Strip local path and workspace dependencies during update-packages --force-upgrade by @bkonyi in 190944
- [flutter_tools] Switch 'flutter analyze' to use dart/workspace/analysis/complete by @DanTup in 190843
- [flutter_tools] Add --preset option to flutter test by @bkonyi in 190878
- [flutter_tools] Replace usages of package:dds/dap.dart with package:dap_adapters/dap_adapters.dart by @bkonyi in 190667
- [tool] Add missing play element in web test index.html to fix warning by @mdebbar in 190675
- Remove Xcode environment when building swift tools in Xcode pre-action by @vashworth in 190848
- [tool] Define modular dependency injection containers and bootstrapper by @bkonyi in 190724
- [flutter_tools] Fix deadlock in debug adapters when process exits early by @bkonyi in 190931
- Removes building of ci/android_debug_x86 as nobody should be consuming it. by @aam in 190951
-
Remove
--no-sim-use-hardfpflag by @AbdeMohlbi in 190790 - flutter_tools: validate plugin identifiers before generating registrant code by @herdiyana256 in 190462
- Switch testing to gradle bin distribution type instead of all by @mboetger in 190738
-
[flutter_tools] Add
packages/flutter/examplestoflutter create's whitelist by @dkwingsmt in 191025 - fix(flutter_tools): check runtime env vars before cached bot state by @kevmoo in 190978
- [tool] Warn when rendering backend selection flags are used with release builds by @bkonyi in 191083
- [flutter_tools] Resolve includes recursively in AnalysisOptionsMigration by @bkonyi in 191082
- [flutter_tools] refactor wasm dry-run result handling in Dart2WasmTarget by @kevmoo in 190891
- Remove dead code checking < Xcode 15 by @jmagman in 189103
- [flutter_tools] Implement generic extension protocol base and isolate runner by @bkonyi in 190734
- [tool] Deduplicate fixture builders in build_swift_package_test.dart by @kevmoo in 190624
- [native_assets] Record bundled code assets under their install name by @wilyan09007 in 190819
- [flutter_tools] Add integration coverage for test presets by @Boulea7 in 190858
- [flutter_tools] Gracefully handle ping timeouts for custom devices by @bkonyi in 191181
- [flutter_tools] Catch exceptions when starting Chrome to launch DevTools by @bkonyi in 191215
- [flutter_tools] find the command name regardless of argument position by @glitchfl in 191155
- [flutter_tools] Handle all DartDevelopmentServiceExceptions gracefully in resident web runner by @bkonyi in 191183
- Only exclude platform directories that actually exist in analysis_options.yaml by @JayeshJain25 in 191151
- [flutter_tools] Validate driver test imports before execution by @bkonyi in 191216
- [gen_l10n] Preserve script locale inheritance for regional subclasses by @Boulea7 in 190956
- [flutter_tools] Handle HttpException during VM service connection by @bkonyi in 191182
- [record_use] Use operator + on Recordings instead of custom merge method by @dcharkes in 191291
- [tool] Fix Windows hot reload mtime truncation issue by @bkonyi in 191271
- fix(tool): make copied frameworks writable to fix macOS 15.4+ openrsync regression by @GhagSagar23 in 189658
- [flutter_tools] Move plugin validation out of asserts by @bkonyi in 191359
- [flutter_tools] Compute LSP Content-Length header using UTF-8 byte length by @bkonyi in 191377
- [flutter_tools] Support package wildcard assets in app pubspec by @bkonyi in 191266
- [flutter_tools] Prevent deletion of shared native asset hooks outputs as stale by @bkonyi in 191272
- [flutter_tools] Fix crash in symbolize command on stream error by @bkonyi in 191273
- [flutter_tools] Fix UNC path resolution in depfile parsing on Windows by @bkonyi in 191265
- [flutter_tools] Update argParser usageLineLength when --wrap-column is passed by @bkonyi in 191264
- [iOS][add2app] Skip building SwiftPM plugins when generating CocoaPods artifacts by @vashworth in 190736
- [flutter_tools] Deprecate --build and --no-build flags on flutter run by @bkonyi in 191358
- [Widget Preview] Isolate PageStorage scope in widget preview group expansion tile by @bkonyi in 191378
- [flutter_tools] refactor CLI argument architecture with typed option descriptors and bundles (PoC) by @kevmoo in 191018
- [flutter_tools] Fix crash when migrating flow-style exclude lists in analysis_options.yaml by @bkonyi in 191269
-
Refactor
FlutterDevice.connectand VM service discovery by @bkonyi in 191221 - [flutter_tools] Restrict WebAssetServer source resolution to source map extensions by @bkonyi in 191501
- [flutter_tools] Add tests for negative lookahead regex in test runner and batch entrypoints by @bkonyi in 191438
- [flutter_tools] Add --force flag to flutter channel by @bkonyi in 191579
- [native_assets] Roll native packages by @dcharkes in 191253
- [flutter_tools] Resolve workspace root when running widget preview from member package by @bkonyi in 190952
- [flutter_tools] Do not treat 'daemon' argument as daemon command in logger initialization by @bkonyi in 191442
- [flutter_tools] Handle null version gracefully in CachedArtifact and MaterialFonts by @bkonyi in 191494
- [flutter_tools] Prevent crash when stdout is broken and print fails by @bkonyi in 191356
- Migrate texture example to material_ui by @justinmc in 190673
- [engine] Support UTF-8 paths in Windows filesystem and path APIs by @bkonyi in 191360
- [record_use] Remove const_finder by @dcharkes in 191702
- [flutter_tools] Resolve symlinks and fix flakiness in widget preview tests by @bkonyi in 191214
- [flutter_tools] migrate getBuildInfo() to typed OptionDescriptors and BuildInfoOptionsBundle by @kevmoo in 191510
- [flutter_tools] Implement Configuration extension slice and flutter config integration by @bkonyi in 191445
- [tool_tests] Remove bringup from Windows tool_tests_commands_2_2 by @bkonyi in 191732
- Revert: [tool_tests] Remove bringup from Windows tool_tests_commands_2_2 by @flutteractionsbot in 191793
- Support --[no-]adb-log-filtering CLI option by @mboetger in 187252
- [tool] Migrate CleanCommand to modular dependency injection by @bkonyi in 190742
- Roll pub packages by @flutter-pub-roller-bot in 191851
- [flutter_tools] Verify native assets tree-shaking during linking by @bkonyi in 191637
- [flutter_tools] Honor configured build-dir across flutter project and build targets by @bkonyi in 191592
- [tool] Migrate ConfigCommand to modular dependency injection by @bkonyi in 190743
- [flutter_tools] Gracefully handle Windows Application Control and security policy execution blocks by @bkonyi in 191912
- Remove no-shuffle in flutter tools overall experience test by @ValentinVignal in 191861
- [tool] Migrate SymbolizeCommand to modular dependency injection by @bkonyi in 190744
- [flutter_tools] Pause web server requests until initial compilation finishes by @bkonyi in 191990
- Fix Android license detection for cmdline-tools 23.0+ by @ik020 in 191554
- [flutter_tools] Safely handle broken symlinks and existing files during plugin symlink creation by @bkonyi in 191496
- [flutter_tools] Implement Templates slice and flutter create integration by @bkonyi in 191748
- [flutter_tools] Report preview reload timing analytics in LspPreviewDetector by @bkonyi in 192120
- [tool] Migrate ChannelCommand to modular dependency injection by @bkonyi in 190751
- [flutter_tools] Add --no-plugins flag and disable plugins for benchmark by @bkonyi in 192129
- [tool] Migrate DoctorCommand to modular dependency injection by @bkonyi in 190758
- [tool] Migrate CustomDevicesCommand to modular dependency injection by @bkonyi in 190770
- [tool] Migrate InstallCommand to modular dependency injection by @bkonyi in 190771
- [flutter_tools] add typed enum and defaulted option descriptors by @kevmoo in 191760
- [flutter_tools] Fix unhandled DebugAdapterException on early process termination by @bkonyi in 192294
- Reland "[tool_tests] Remove bringup from Windows tool_tests_commands_2_2" (#191732) by @bkonyi in 191802
- [tool] Migrate ScreenshotCommand to modular dependency injection by @bkonyi in 190767
- [tool] Migrate DevicesCommand to modular dependency injection by @bkonyi in 190768
- [tool] Migrate LogsCommand to modular dependency injection by @bkonyi in 190765
- [flutter_tools] Safely handle non-JSON messages in test stream parsers by @bkonyi in 192089
- [tool] Migrate AssembleCommand and GenerateCommand to modular dependency injection by @bkonyi in 190773
- [flutter_tools] Safely remove web loading indicator on dart-app-ready by @bkonyi in 192233
- [tool] Let --local-engine reach the build system again by @robert-ancell in 192361
- [tool] Migrate Desktop build subcommands and toolchain to modular dependency injection by @bkonyi in 190781
- [tool] Migrate Tooling and Analysis commands to modular dependency injection by @bkonyi in 190788
- [tool] Migrate EmulatorsCommand to modular dependency injection by @bkonyi in 190769
-
[flutter_tools] Fix test separation between
VersionFreshnessValidatorandFlutterVersion.checkFlutterVersionFreshnessby @bkonyi in 191593 - Refactor createDebuggingOptions and option registrations to OptionDescriptor by @kevmoo in 192307
- [flutter_tools] Read package_config.json asynchronously in loadPackageConfigWithLogging by @bkonyi in 192443
- [flutter_tools] Ignore widget previews outside lib/ during LSP code generation by @bkonyi in 192326
- [tool] Migrate DaemonCommand and DebugAdapterCommand to modular dependency injection by @bkonyi in 190793
- [tool] Migrate BuildIOSCommand and BuildIOSArchiveCommand to modular dependency injection by @bkonyi in 192250
- [flutter_tools] Gracefully handle EROFS and write-protected file system errors by @bkonyi in 192431
- [flutter_tools] Fix cache download progress calculation for non-downloading artifacts by @bkonyi in 192090
- [flutter_tools] Keep web loading bar visible until app starts by @bkonyi in 192483
- [native assets] Bump minimum iOS version from 13 to 15 by @serhii-k in 191964
-
fix: stop
flutter create --platformsfrom dropping existing platfor… by @Shawn-Yu-Dev in 191573 - feat(flutter_tools): add IntOptionDescriptor and DefaultedIntOptionDescriptor by @kevmoo in 192455
- [flutter_tools] validate placeholder type in gen-l10n by @bkonyi in 192434
- feat(web): support --web-content-hash for entrypoint files by @kevmoo in 190153
- [flutter_tools] Do not mistake server-initiated requests for responses to client requests in AnalysisServer by @bkonyi in 192546
- Fix Wasm build cache mismatch in ResidentWebRunner and browser 404 fallbacks by @kevmoo in 190786
- [tool] Migrate Upgrade, Downgrade, and UpdatePackages commands to modular dependency injection by @bkonyi in 190787
- [tool] Migrate Darwin framework commands to modular dependency injection by @bkonyi in 192252
- [tool] Migrate PackagesCommand and Pub to modular dependency injection by @bkonyi in 192460
- Support activity-alias in Android launcher activity detection by @mboetger in 187251
- fix(web): hide --web-content-hash until content hashing is complete by @kevmoo in 192663
- Warn users on potential removal of dart:html in dry run by @kevmoo in 192710
- feat(flutter_tools): migrate Android build commands to typed options by @kevmoo in 192524
- Add a compiler warning for fragment shaders containing both texture samplers and early returns. by @walley892 in 191969
- Suggest the -d flag after interactive device selection by @theprantadutta in 188941
- [tool] Defer app.restart until the app has finished starting by @flutter-zl in 192650
- Migrate SDK constraints for record_use and data_asset integration test packages to ^3.13.0-0 by @dcharkes in 192728
- [flutter_tools] Migrate BuildBundleCommand to modular dependency injection by @bkonyi in 192462
- [tool] Migrate CreateCommand to modular dependency injection by @bkonyi in 190785
- Roll pub packages by @flutter-pub-roller-bot in 192819
- [tool] Migrate BuildApkCommand and Android build toolchain to modular dependency injection by @bkonyi in 190776
- Roll pub packages by @DanTup in 192815
- [flutter_tools] Replace KernelAsset with Flutter-owned NativeAssetsMa… by @dcharkes in 192800
- [flutter_tools] [dap] Handle --release, --profile and --wasm in args or toolArgs by @DanTup in 192926
- [tool] Migrate BuildAppBundleCommand to modular dependency injection by @bkonyi in 192246
- [tool] Migrate TestCompiler and WebTestCompiler to modular dependency injection by @bkonyi in 192923
- [tool] Migrate DevFS to modular dependency injection by @bkonyi in 192836
- Migrate flutter create templates to material_ui by @Piinks in 192947
- feat(web): support --web-content-hash for physical static assets by @kevmoo in 191919
- [flutter_tools] Stop deletion progress status during flutter clean by @bkonyi in 192996
- [tool] Migrate BuildAarCommand to modular dependency injection by @bkonyi in 192247
- feat(web): emit precache_manifest.json when --web-content-hash is enabled by @kevmoo in 192953
-
Migrate remaining
flutter_toolstemplates &widget_preview_scaffoldto[material|cupertino]_uiby @Piinks in 193099 - Remove webDevFS tests for the AMD module system by @nshahan in 193028
- [flutter_tools] Fix flutter doctor path validation for symlinked SDKs by @bkonyi in 193006
- [flutter_tools] Use super parameters in more places by @srawlins in 192484
- Update the plugin template to use Pigeon by @stuartmorgan-g in 192886
- [tool] Accept plutil diagnostics from stderr in plist_parser_test (macOS 26) by @okorohelijah in 193292
- fix: flutter analyze reporting the same issue multiple times by @rkishan516 in 193279
- feat(flutter_tools): migrate Apple build commands to typed options by @kevmoo in 192818
-
[flutter_tools] Add
use_null_aware_elementslint rule and fix new warnings by @AbdeMohlbi in 193215 - Support DynamicLibrary.codeAsset in Flutter by @shikharish in 188947
- [flutter_tools] Handle Windows reserved characters in test target path by @bkonyi in 191900
- Fix plugin tests after Pigeon plugin template changes by @stuartmorgan-g in 193302
- [tool] Migrate CoverageCollector to modular dependency injection by @bkonyi in 192924
- Roll pub packages by @flutter-pub-roller-bot in 193438
- [flutter_tools] Include data assets from hooks when pubspec.yaml is empty by @dcharkes in 193434
- Roll pub packages by @flutter-pub-roller-bot in 193442
- [tool] Require explicit dependency injection for FlutterDevice and FlutterDevice.create by @bkonyi in 192830
- [flutter_tools] Guard socket streams and done futures against socket reset errors by @bkonyi in 192941
- [flutter_tools] Include flutter.js.map in web builds by @cdeil in 192257
- [tool] Migrate Web build subcommands and toolchain to modular dependency injection by @bkonyi in 190783
- [flutter_tools] Lazily initialize AndroidSdk platform and build-tools discovery by @bkonyi in 191972
- Set --no-js-strongly-connected-components for DDC compiles by default by @Markzipan in 193485
- [tool] Migrate TestCommand and platform runner to modular dependency injection by @bkonyi in 190789
- [Android] Update the CLI to reject passing engine configuration flags with a prebuilt binary in release mode by @camsim99 in 190870
- [flutter_tools] Fix DTD "Stream already subscribed" error and wait for analysis over DTD in widget preview by @bkonyi in 192930
- Revert: [flutter_tools] Fix DTD "Stream already subscribed" error and wait for analysis over DTD in widget preview by @flutteractionsbot in 193637
- [flutter_tools] Bundle data assets from hooks in flutter test by @dcharkes in 193435
- [web] Fix hang when Chromium cannot bind remote debugging port by @mdebbar in 193461
-
[flutter_tools] Fix
flutter drive -d chromehanging on web by @mdebbar in 193459 - [flutter_tools] Bootstrap DeviceManager in ToolDependencies by @bkonyi in 193524
- fix(web): hash source maps before rewriting sourceMappingURL with --web-content-hash by @kevmoo in 193614
- [flutter_tools] Fix Use dependency graph to determine plugin initialization order by @bkonyi in 191591
- [flutter_tools] Migrate DaemonCommand and Daemon domains to constructor DI by @bkonyi in 193542
-
Fix analysis failures due to missing
constby @bkonyi in 193685 - [flutter_tools] Include base href in web hot reload script paths by @mdebbar in 193678
- [flutter_tools] Explicitly track host CPU architecture in command result analytics by @bkonyi in 191836
- [Widget Preview] Provide descriptive error when widget preview is unconstrained by @bkonyi in 193005
- Reland "[flutter_tools] Fix DTD "Stream already subscribed" error and wait for analysis over DTD in widget preview" by @bkonyi in 193658
- [flutter_tools] Implement Device Service extension and flutter devices integration by @bkonyi in 192126
- Cleanup unneeded hot restart tests by @nshahan in 193598
- [flutter_tools] serialize and gate widget preview hot reloads by @bkonyi in 192325
- [flutter_tools] Migrate DriveCommand, FlutterDriverFactory, and WebDriverService to constructor DI by @bkonyi in 193543
- [flutter_tools] forward --offline flag to pub.get in update-packages by @bkonyi in 193619
- Revert: [flutter_tools] forward --offline flag to pub.get in update-packages by @flutteractionsbot in 193808
- flutter_tools: Enable native access for Gradle by @cbracken in 193814
- [tool] Add support for --[no-]deprecated-js-interop to the flutter tool by @biggs0125 in 193712
- Revert: [tool] Add support for --[no-]deprecated-js-interop to the flutter tool by @flutteractionsbot in 193873
- Reland: [tool] Add support for --[no-]deprecated-js-interop to the flutter tool by @biggs0125 in 193877
- [flutter_tools] Wait for TCP server socket to close in DaemonServer.run() by @matasb-google in 193714
- [flutter_tools] Ignore build directories when scanning repo packages by @bkonyi in 191580
- [widget_preview] Fix layout overflow and overlapping controls in narrow panes by @bkonyi in 193445
- [flutter_tools] Intercept prohibited hot reloads in widget preview and trigger hot restart by @bkonyi in 193447
- [tool] Narrow Scope of AGP DSL Flutter Fix Message by @jesswrd in 193610
- [tool] Migrate ResidentRunner, HotRunner, and ColdRunner to modular dependency injection by @bkonyi in 192831
- [flutter_tools] make flutter test listener.dart path deterministic to preserve build cache by @bkonyi in 191594
- [flutter_tools] Handle unsupported iOS SDK root in native assets build by @bkonyi in 192442
- [flutter_tools] Roll package:dap_adapters to 1.1.0 by @bkonyi in 193921
- [flutter_tools] Verify local engine option propagation across tool commands and DI by @bkonyi in 192510
- Add diagnostic logging and 3m ToolExit timeout for web test hangs by @mdebbar in 191004
-
[flutter_tools] Remove
dynamicfrom web-related sources by @mdebbar in 193926 - Revert: [flutter_tools] Intercept prohibited hot reloads in widget preview and trigger hot restart by @flutteractionsbot in 193968
- [flutter_tools] Add BuildService and flutter build support for tool extensions by @bkonyi in 193748
- [flutter_tools] Apply web_dev_config.yaml proxy in Wasm/release modes by @kevmoo in 193981
- feat(flutter_tools): migrate Desktop build commands to typed options by @kevmoo in 193323
- [flutter_tools] Remove globals usage from linux/native_assets.dart by @bkonyi in 193648
- [flutter_tools] Add TargetOperatingSystem and TargetPlatform.os by @chingjun in 193938
- [flutter_tools] Inject dependencies into doctor, logs, and target devices by @bkonyi in 193642
- [flutter_tools] Report malformed plugin platform entries instead of crashing by @ishaquehassan in 193151
- refactor: Remove discontinued js package by @rkishan516 in 193395
- [flutter_tools] Include dev_dependencies hooks for release integration tests by @dcharkes in 193436
- [beta] [flutter_tools] Guard against null vmService and uiIsolate in debugDumpFocusTree and debugDumpLayerTree by @flutteractionsbot in 194741
- [beta] [flutter_tools] Fix StateError in testCompilerBuildNativeAssets when package root does not match projectUri by @flutteractionsbot in 194958
- [beta] [flutter_tools] Contain web asset server path resolution to its search roots by @mdebbar in 195201
- [beta] [flutter_tools] Exit cleanly when Windows path exceeds MAX_PATH (OS Error 206) by @flutteractionsbot in 195072
- [beta] [flutter_tools] Log --[no-]deprecated-js-interop build/fail analytics by @kevmoo in 195630
Documentation
#- Use ServicesBinding.instance.exitApplication instead of exit(0) in multiple_windows example by @mattkae in 189364
- Migrates the platform_channel example to material_ui by @QuncCccccc in 190253
- [flutter/flutter] Migrate multiple_windows example to material_ui by @dkwingsmt in 190313
- Migrate platform_channel_swift example to material_ui by @QuncCccccc in 190308
- Migrate platform_view example to material_ui by @QuncCccccc in 190309
- Migrate examples/splash to package:material_ui by @elliette in 190248
- Migrate example image_list to material_ui by @justinmc in 190363
-
Refactor
flutter_viewexample to not usematerialby @Renzo-Olivares in 190377 - Adjust settings header name for properties that apply to both tooltips and popups by @robert-ancell in 190053
- Migrate syntax rules to analyzer plugin by @bkonyi in 191037
- Migrate ios driver tests batch 3 to simulators by @okorohelijah in 191333
Other changes
#- Roll pub packages by @flutter-pub-roller-bot in 189149
- Promote android_hardware_smoke_tests out of bringup in CI by @andywolff in 189081
- UberSDF rect handling for thin (line-like) rectangles by @b-luk in 188821
- Sync CHANGELOG.md from stable by @flutteractionsbot in 189203
-
Update Depdencies Used By
flutter_engine_group_performanceby @jesswrd in 189229 - [Impeller] Recycle HostBuffer arena entries only after GPU completion by @bdero in 188965
- Android_hardware_smoke_test: Cache flutter engine when running vulkan backend instrumented tests by @andywolff in 189026
- UberSDF thin roundrect handling by @b-luk in 189224
- Increase number of 'Mac tool_integration_tests' subshards from 5 to 10 by @jmagman in 189040
- iOS: clean up swiftc.py after migration to target triples by @cbracken in 189240
- Flip from deprecated strict analysis modes to lint rules by @srawlins in 187692
- Take Mac tool_integration_tests_* out of bringup by @jmagman in 189368
-
Add note that
hcppneeds impeller by @gmackall in 189382 - Move a few benchmarks from x64 Intel Macs to ARM by @jmagman in 189377
- Stop running most Mac x64 builders that have Mac ARM equivalents on master by @jmagman in 189301
- Bump actions/labeler from 6.1.0 to 6.2.0 in the all-github-actions group by @dependabot[bot] in 189396
- Update lock-threads dependency to 6.0.2 by @guidezpl in 189053
- Roll pub packages by @flutter-pub-roller-bot in 189409
- Move renamed x64->ARM benchmarks out of bringup by @jmagman in 189400
- Fix space formatting in cherry-pick label for flutter_cp.dart by @bkonyi in 189463
- Add missing name to mirroring workflow by @guidezpl in 189439
- [agents] Refactor shepherd-prs skill into a pure Markdown runbook using native gh CLI by @harryterkelsen in 189095
- Added unified check-run user manual by @ievdokdm in 189453
- Implement UberSDF lines to replace LineContents-based AA lines by @b-luk in 188514
- Roll vulkan-deps to 0582f446e54a by @jason-simmons in 188524
- [Impeller] Call glfwTerminate during global test environment teardown if a playground test called glfwInit by @jason-simmons in 189523
- [Impeller] Fix atlas growth test by @flar in 189533
- [fuchsia][iwyu] Remove transitive include of fuchsia.input.report. by @gnoliyil in 188891
- Remove obsolete packages analysis flag by @stuartmorgan-g in 189525
- ci(github-actions): resolve zizmor github-env findings in composite flutter actions by @jtmcdole in 189602
- android_hardware_smoke_tests: Apply semantic line breaks to readme by @andywolff in 189613
- [macOS] Add FlutterPluginRegistrar.valuePublished(byPlugin:) just like iOS by @bernaferrari in 189614
- Upgrade android_hardware_smoke_test CI to run instrumented tests by @andywolff in 189390
- Migrate dev/tools skill validation to new dart_skills_lint API by @reidbaker-agent in 189626
- Roll ANGLE to cc08479fbcc1 by @jason-simmons in 189595
- Add a github workflow to remove flutteractionsbot branches after the PRs are merged or closed. by @eyebrowsoffire in 189668
- [Impeller] In the AHBTextureSourceVK destructor, do not call Vulkan APIs if the VkDevice has been destroyed by @jason-simmons in 189666
- Sync CHANGELOG.md from stable by @flutteractionsbot in 189735
- Take plugin_test_darwin out of bringup by @jmagman in 189594
- [et] Refactor gn post-processing, fix minor clang[++] regex match bug by @cbracken in 189685
- Roll pub packages by @flutter-pub-roller-bot in 189760
- Derive the SkImage size used by ImageEncodingImpeller::ConvertDlImageToSkImage from the size of the underlying texture, not the size of the DlImage by @jason-simmons in 189739
- Batch release directory correction by @justinmc in 189738
-
Run delete-bot-branches.yaml on
pull_request_targetinstead ofpull_requestso that we can access secrets. by @eyebrowsoffire in 189793 - Automate recurring tasks via workflows - localizations by @Piinks in 189750
- Remove codecov badge from README by @guidezpl in 189728
- ci: Include root pubspec.yaml in pub cache key by @cbracken in 189826
-
Fix
Rect::ExpandToMinTransformedSizeto return the input rectangle when no expansion is needed, and remove 1-pixel roundrect to rect simplification by @b-luk in 189808 - [ios,macos] Add Swift Sourcekit LSP support by @cbracken in 189761
- Adds skill for generating engine diffs for new releases. by @gaaclarke in 189869
- Add dart_runtime_service_vm_aot.dart.snapshot to the snapshot list in the macOS code signing configuration by @jason-simmons in 189981
- Reduce the number of gtest-parallel workers when running Impeller tests on Mac Minis used by CI by @jason-simmons in 189813
- Migrate a11y_assessments to uiscene by @LouiseHsu in 189960
- Update contributing guidelines for commit message format by @reidbaker in 189922
- fix(ci): quote labels to fix yaml mapping error by @jtmcdole in 190002
- ci: add mac verify binaries workflow by @jtmcdole in 190010
- [Impeller] Add 2D texture array support (kTexture2DArray) by @bdero in 188778
- Android_hardware_smoke_test: clean up golden copy in CI by @andywolff in 189948
- Roll Abseil to ff6e8ce3e932 by @jason-simmons in 189998
- [ios]do not nuke user input path when running uiscene integration test by @hellohuanlin in 186436
- ci: verify_binaries_pre_codesigned part 2 by @jtmcdole in 190078
- Bump actions/labeler from 6.2.0 to 7.0.0 in the all-github-actions group by @dependabot[bot] in 190099
- [wimp] fixes ubo padding size issue by @gaaclarke in 189958
- Add Ishaq Hassan to AUTHORS by @ishaquehassan in 190064
- Made linter more robust to non-utf8 files by @gaaclarke in 190012
- Manual roll of Dart from 28e63ac22d8d to 49c637261348 by @jason-simmons in 190158
- Convert all gradle-wrapper.properties in /dev to use distribution 'bin' by @mboetger in 190226
- ci: mac verify binaries still has to wait on linux_host_engine by @jtmcdole in 190239
- [cross imports] Check examples cross imports by @navaronbracke in 187662
- ci: mac-must-wait part duex by @jtmcdole in 190295
- Add nullptr check to isOpaque by @walley892 in 189796
- [Flutter GPU] Bind uniforms and textures by cached reflection index by @bdero in 189820
- macOS: Set static text accessibility role for read-only text fields by @cbracken in 190330
- Remove the --enable-serial-gc engine flag by @jason-simmons in 190310
- [Impeller] Do not acquire an unneeded image in KHRSwapchainVK if the swapchain must be recreated due to a size change by @jason-simmons in 190116
- [Impeller] Execute PipelineCompileQueue jobs in the order that they were added by @jason-simmons in 190262
- chore: swiftshader mirrored + llvm16 by @jtmcdole in 181225
- Eliminate some early returns in uber_sdf.frag to fix broken UberSDF AA on Windows by @b-luk in 190260
- Primitive shape integration test by @b-luk in 190368
- [Flutter GPU] Raise Dart errors for invalid render pipelines and memoize per-draw pipeline state by @bdero in 189899
- [Impeller] Skip binding dead-code-eliminated resources on Metal by @bdero in 190040
- [macOS] Resume app lifecycle on becomeActive to avoid frozen UI after occlusion by @ellie-ka-nam in 188772
- [Infra] Replace defunct umbrella template with Wasm issue form by @kevmoo in 190471
- a11y: Map disabled/read-only semantics to AX node restriction by @cbracken in 190353
- tools: Support FLUTTER_HOST_ARCH in update_dart_sdk scripts by @cbracken in 190421
- tests: add --ios-runtime param by @cbracken in 190414
- Add windows platform support for primitive_shape_test integration test by @b-luk in 190464
- Add path rendering benchmarks by @walley892 in 188654
- Remove openglessdf from impeller_unittests. by @gaaclarke in 190469
- [Impeller] Enable ETC2/ASTC LDR/BC texture compression features at Vulkan device creation by @guszxtavo in 189303
- android_hardware_smoke_test: Detect blank image failures or EGL initialization warnings and retry by @andywolff in 190110
- iOS,macOS: add tsan and ubsan support for Swift by @cbracken in 190497
- Migrate the shell unit tests from legacy Dart native functions to FFI by @jason-simmons in 190473
- Document frozen embedder API structs by @mvincentong in 186842
- Fix a flake in ShellTest.SecondaryVsyncCallbackShouldBeCalledAfterVsyncCallback by @jason-simmons in 190490
- [master] Update Flutter DEPS to Dart bb17f25f176f5209179b23d51aab9725ffb5146d by @flutteractionsbot in 190600
- gpu: Remove unused GPUSurfaceNoop by @cbracken in 190610
- Separate ARM64 Linux Desktop and Embedded engine builds to fix CJK and non-ASCII font rendering by @krystic in 180235
- Revert "Reduce the number of gtest-parallel workers when running Impeller tests on Mac Minis used by CI (#189813)" by @jason-simmons in 190560
- Enable Gradle cache for a single test target by @mboetger in 190474
-
Fix
snippetstest and add it to CI by @dkwingsmt in 190327 - Rename and restructure the primitive_shape_test test to engine_integration_golden_test by @b-luk in 190581
- [Flutter GPU] Ignore redundant render pass state assignments by @bdero in 190379
- Revert: Enable Gradle cache for a single test target by @flutteractionsbot in 190629
- ci: make tree-analyze workflow wait for linux_android_debug_engine by @jtmcdole in 190628
- [Impeller] Validate GLES texture units against the combined limit by @bdero in 189332
-
Disallow Swift symbols in
verify_exported.dartby @LongCatIsLooong in 190645 - [Reland] Enable Gradle cache for CI on single test target by @mboetger in 190635
- Fix runIf path filtering in .ci.yaml to include all example projects by @Piinks in 190687
- iOS: Migrate the scenario app to UIScene by @cbracken in 190649
- Adds Impeller availability to the impeller README.md by @gaaclarke in 190671
- [Impeller] Fix hardcoded Vulkan validation state in C API by @KercyDing in 186767
- Migrate flavors_test_ios to Simulators and add UIScene support by @okorohelijah in 189442
- Instruct gemini code assist not to comment on syntax error by @chingjun in 189930
- Scenarios: Deduplicate scenario name declarations by @cbracken in 190818
- Scenarios: Fix locale test on hosts with several languages by @cbracken in 190821
- Update packages gardener instructions by @stuartmorgan-g in 190463
- ci: Extract shared expected calls in prepare_package tests by @cbracken in 190817
- Fix CocoaPods ruby dependency for flavors_test_ios on Mac bot by @okorohelijah in 190775
- iOS: Add golden coverage for rounded superellipse clips by @cbracken in 190826
- run_ios_tests: Allow running from any directory by @cbracken in 190822
- Scenarios: Eliminate an unused import by @cbracken in 190837
- Scenarios: Fix multiple-clips scenario doc comments by @cbracken in 190830
- iOS: Remove the Scenarios app Skia golden test option by @cbracken in 190827
-
Add
ClipPathoptimizations to backdrop clips as well by @Hari-07 in 189118 - Revert: Roll Dart SDK from 558fb298e458 to c86be8702638 (3 revisions) by @flutteractionsbot in 190934
- Reduce web_skwasm_tests subshards from 8 to 2 by @mdebbar in 190728
- Remove the bringup flag from the linux_arm_host_desktop_engine builder by @jason-simmons in 190935
- [devicelab] Remove orphaned screenshot test files by @bkonyi in 190879
- Include the examples cross imports checker in the analzyer. by @justinmc in 190674
- [Impeller] Move image upload scheduling waits to GPU disable by @FelixMittermeier in 190445
- Roll pub packages by @flutter-pub-roller-bot in 190958
- [AGP 9.1.0 Migration #1] Add Android Gradle Plugin Public API migration documentation by @reidbaker-agent in 190842
- Add clang, cmake, and ninja deps to Linux windowing_test by @robert-ancell in 190119
- ci: Support --target_arch option in prepare_package.dart by @cbracken in 190960
- Roll pub packages by @flutter-pub-roller-bot in 190977
- remove bringup for flavors test by @okorohelijah in 190940
- Adds agent skill for spawning led tasks. by @gaaclarke in 190937
- Report individual test results to LUCI ResultDB by @chingjun in 190254
- Enable Gradle CI cache on all test targets that require android_sdk by @mboetger in 190723
- fix mac_ios_engine_ddm to use Mac-15.7 and Xcode 26 by @okorohelijah in 191012
- Update Material/Cupertino code freeze workflow to leave PR guidance comment by @Piinks in 191033
- ignore soon-to-be-removed plugins_in_inner_options issue by @srawlins in 191071
- [analysis] Clarify plugin relative path resolution in root analysis_options.yaml by @bkonyi in 191077
- Migrate framework rules to analyzer plugin by @bkonyi in 191035
- feat(templates): add 'c: tfw4' label to Wasm issue template by @kevmoo in 191084
- [analysis] Migrate verifyNoTestImports to flutter_analyzer_plugin by @bkonyi in 191124
- [analysis] Document rules, descriptions, and scopes in analyzer plugin README by @bkonyi in 191076
- Fix web tracing flakiness on macOS ARM64 by @harryterkelsen in 190759
- et: Fix custom git diff prefix handling by @cbracken in 191108
- [analysis] Migrate verifyTabooDocumentation to flutter_analyzer_plugin by @bkonyi in 191125
- Impeller: Fix for stroked circles with stroke half-width > radius, tessellation scaling by @cbracken in 191102
- [analysis] Filter analyzer rule AST visitor registration by target file path by @bkonyi in 191159
- Makes sure impeller context's are plumbed through to LayerTree::Flatten. by @gaaclarke in 191017
- [Android] Only check for user permissions (first two characters) by @mboetger in 191019
- Run gradient e2e benchmarks on Windows CI by @b-luk in 191024
- Fix wide gamut condition on metal playground tests by @andywolff in 191210
- Update TESTOWNERS by @Piinks in 191233
- Improve error reporting for dumpsys meminfo by @mboetger in 187254
- Make windows_engine_integration_golden_test presubmit and non-bringup by @b-luk in 191284
- macOS: Fix macOS 27 os_log compile errors, improve TRACE_VSYNC by @cbracken in 191238
- Makes windows_text_shadow_perf__timeline_summary bringup false. by @gaaclarke in 191010
- Use officially supported compile time thread local strike cache flag. by @eyebrowsoffire in 191014
- remove bringup for migrated driver tests by @okorohelijah in 191334
- Sync CHANGELOG.md from stable by @flutteractionsbot in 191383
- [ios] set up an empty ios agent to host ios-team's skills by @hellohuanlin in 188286
- Rolls libpng to 1.6.58 by @gaaclarke in 191320
- [FML] Replace deprecated wstring_convert with Win32 APIs by @bkonyi in 191394
- android_hardware_smoke_test: Improve reliability by @andywolff in 191374
- Adds new gallery benchmarks to windows (skia and impeller) by @gaaclarke in 191454
- tools: Extract Dart SDK to temp directory before moving to final location by @bkonyi in 191263
- Fixes windows gallery benchmarks by forcing mobile layout by @gaaclarke in 191507
- Move more RSE rendering cases to complex_rse.frag by @walley892 in 191235
- Add agent rule to prevent using material and cupertino in widget tests by @chunhtai in 191588
- [flutter_tools] Fix $git typo in shared.bat to restore cache invalidation on Windows by @bkonyi in 191217
- Remove octant_offset_c uniform from ubersdf, reorder/document ubersdf uniforms by @b-luk in 191597
- Roll pub packages by @flutter-pub-roller-bot in 191726
- [UIScene] Migrate dev/benchmarks/test_apps/stocks to UIScene lifecycle by @LouiseHsu in 191651
- [UIScene] Migrate dev/benchmarks/microbenchmarks to UIScene lifecycle by @LouiseHsu in 191650
- iOS,macOS: Compile Swift with opt flags in opt builds by @cbracken in 191622
- Fixes translated bounded blurs by @gaaclarke in 191615
- Uiscene migrate custom channels views by @LouiseHsu in 191817
- Remove bringup for batch 3 by @okorohelijah in 191750
- Add prompt_suggestion icon to list of RTL mirroring icons. by @shawnridgeway-google in 191741
- [UIScene] Migrate dev/benchmarks/complex_layout to UIScene lifecycle by @LouiseHsu in 191619
- Update triage docs for ecosystem and codelab changes by @Piinks in 191809
- Handle linear and radial gradients in UberSDF by @b-luk in 190874
- Denylists b-series powervr from vulkan by @gaaclarke in 191808
- Explicitly disable HCPP in hybrid_android_views integration test by @gmackall in 191894
- Revert: Handle linear and radial gradients in UberSDF by @flutteractionsbot in 191913
- Sync CHANGELOG.md from stable by @flutteractionsbot in 191895
- Deprecate legacy gen_defaults tool by @QuncCccccc in 191911
- macOS: Record test accessibility notifications in a dictionary by @cbracken in 191854
- macOS: Compare accessibility strings as NSStrings in tests by @cbracken in 191853
- Bump customer testing version to pick up forui tests by @Pante in 191931
- Uiscene migrate remaining apps by @LouiseHsu in 191652
- [UIScene] Migrate dev/benchmarks/macrobenchmarks to UIScene lifecycle by @LouiseHsu in 191648
- Update no-main-prs to leave a comment by @Piinks in 191973
- Update scheduled workflow for more tasks, add goldctl update by @Piinks in 191991
-
fix(workflow): Mac Verify Binaries needs
Linux mac_android_aot_engineby @jtmcdole in 191999 - Fixes for texture-backed gradients by @b-luk in 191925
- [tool] Migrate dev/tools from dart_skills_lint to skills_lint package by @reidbaker-agent in 191997
- Documentation and script for Gradle Distribution cache for CI by @mboetger in 190323
- Explicitly disable HCPP in platform view benchmarks and integration tests by @gmackall in 191908
- Add website documentation item to PR pre-launch checklist by @jesskuras in 192080
- Support wide gamut colors in gradient_generator's CreateGradientTexture by @b-luk in 191980
- Uiscene migrate add2app hosts by @LouiseHsu in 191847
- Deflake hybrid_android_views_integration_test by @gmackall in 191830
- Promote android_hardware_smoke_test instrumented shards out of bringup by @andywolff in 192197
- Remove bringup for driver tests batch 2 by @okorohelijah in 192174
- Bypass gamma correction when alpha >= 1.0 by @gaaclarke in 192193
-
Add
IsProgrammock method toMockGLESImpl, use it inBufferBindingsGLESTestby @b-luk in 192196 - [docs] Remove superseded AI rules for Flutter by @parlough in 192185
- Makes backdrop groups operate on the union. by @gaaclarke in 191838
- Fix issue where shapes rendered with gradient+blur+rotation end up incorrectly cut off by @b-luk in 192136
- Fix parsing of --enable-hcpp-and-surface-control switch and add --no-enable-hcpp tests by @gmackall in 192202
- Handle linear and radial gradients in UberSDF (re-implement after fix) by @b-luk in 192124
- Add iOS Universal Link integration test (Simulator) by @okorohelijah in 191443
- [iOS] Add native deep link lifecycle integration tests for UIScene plugins by @okorohelijah in 192173
- [devicelab] Fix Mac ios_universal_link_test CI build and scheme configuration by @okorohelijah in 192321
- ci(engine): target ignore_phone|none for new macs by @jtmcdole in 192317
- ci: update dartdoc from 9.0.6 to 9.0.9 by @cbracken in 192405
- Clean up lint errors in workflows by @Piinks in 191987
- et: Fix compile_commands.json post-processing by @cbracken in 192395
- Roll Dart SDK from 77094991d1c1 to 4be1b711b4ba (5 revisions) by @gaaclarke in 192453
- Re-add Xcode and OpenJDK dependencies to macOS wasm local_engine builders by @mdebbar in 192238
- [master] Update Flutter DEPS to Dart 2383823382d9acc801d6873a270bf7f5663f8774 by @flutteractionsbot in 192477
- uber_sdf: removes derivatives from rect path by @gaaclarke in 192267
- Remove bringup option from CI configuration by @jtmcdole in 192511
- Fix specify_nonobvious_local_variable_types lints in luci_resultdb_test.dart by @bkonyi in 192543
- Promote Windows gradient benchmark tests to non-bringup by @b-luk in 192581
- [devicelab] Clean up Chrome profile directories and trap abort signals in web benchmarks by @harryterkelsen in 192584
- Revert: [devicelab] Clean up Chrome profile directories and trap abort signals in web benchmarks by @flutteractionsbot in 192615
- fix(ci): mac verify binaries still racing by @jtmcdole in 192634
- Unmark new_gallery_windows_impeller__transition_perf as bringup by @gaaclarke in 192633
- Unmark new_gallery_windows_skia__transition_perf as bringup by @gaaclarke in 192635
- ci(bringups): remove bringup from these tests by @jtmcdole in 192637
- fix(tests): Add ruby dep to Mac windowing_test by @jtmcdole in 192656
- fix: regenerate gradle lockfiles for external_textures integration test by @mboetger in 192657
- RELAND: [devicelab] Clean up Chrome profile directories and trap abort signals in web benchmarks by @harryterkelsen in 192655
- Sync CHANGELOG.md from stable by @flutteractionsbot in 192499
- ci(bringup): cleanup some bringup by @jtmcdole in 192752
- Build wasm_release local build on arm64 macs. by @eyebrowsoffire in 192817
- Wait for first native frame displayed in android_engine_test by @gmackall in 191823
- Fix incorrect UberSDF pixelsize used for stroked shapes by @b-luk in 192659
- remove bringup batch 4 by @okorohelijah in 192872
- Separate HCPP tests in android_engine_test into their own CI target by @gmackall in 192512
- Fix square corner issue by @andywolff in 191096
- Updates freetype2 to 2.14.2 by @gaaclarke in 192883
- Remove manually-combined darwin/ plugin tests by @stuartmorgan-g in 192890
- [Impeller] Avoid heap-allocating std::function captures per draw by @artemkulyk in 192679
- ci: remove bringup on Linux_android_emu_vulkan_stable android_engine_hcpp_tests by @jtmcdole in 192932
- Update package list in the 1P package issue template by @stuartmorgan-g in 192905
- Add M3E migration guideline by @QuncCccccc in 192519
- Better Dart bumps by @Piinks in 192644
- Fix FFI links for Linux in README.md by @mit-mit in 192981
- [engine] Add cli_util to pubspec.yaml dependency_overrides by @kevmoo in 192972
- [engine_tool] Allow a dot in GN target names by @dzolotov in 192423
-
Remove
ios_debug_unopt_simbuilder fromMac mac_unoptby @LongCatIsLooong in 192960 - Update Android plugin language guidance by @stuartmorgan-g in 192906
- [flutter_analyzer_plugin] Migrate unit tests off package:test_reflective_loader by @kevmoo in 193017
- [Impeller] Fix the text benchmark on Impeller backends by @artemkulyk in 192677
- Sync CHANGELOG.md from stable by @flutteractionsbot in 190685
-
Add
xvfb: "1"to Linux flavors test by @jtmcdole in 193122 - Roll pub packages by @flutter-pub-roller-bot in 193138
- [web] Link the web triage notes repo from the triage doc by @flutter-zl in 192494
- ci(Linux flavors_test_linux): out of bringup by @jtmcdole in 193153
- Fix unawaited async calls in fragment_shader_test and skip Vulkan in canvas_test by @andywolff in 193030
- [Impeller][GLES] Rebind textures before buffer uploads by @dfdgsdfg in 192158
- [Impeller] Scope the broken mipmap workaround to the textures it affects by @bdero in 190186
- Revert: Fix square corner issue by @flutteractionsbot in 193189
- Replace stuartmorgan-g in TESTOWNERS by @stuartmorgan-g in 192904
- [devicelab] Unify web benchmarks entrypoint using BENCHMARK_SERVER_PORT define by @harryterkelsen in 192765
- Makes snapshots not have mip levels (since they weren't propogated) by @gaaclarke in 192074
- remove compile benchmarks from bringup by @okorohelijah in 193249
- Fix Reducing-Test-Flakiness.md: promoting a test to prod removes bringup by @okorohelijah in 192983
- [Flutter GPU] Add 2D texture array support by @bdero in 190036
- [Impeller] Reserve content depth in the shared backdrop fast path by @ahmadwyne in 193176
-
Update
linux_android_emu_unstableto API 37 AVD by @jesswrd in 193240 - [githooks] Support git worktrees and relative hooksPath by @mdebbar in 193170
- Make web test subshards dynamically determined by .ci.yaml by @mdebbar in 191003
- [Android 17] Bump Add-to-app Test Apps in flutter/flutter to AGP 9.3.1 by @jesswrd in 193264
- Exclude iOS PRs from macOS link by @vashworth in 193315
- SSBO-based gradients in UberSDF by @b-luk in 192962
- Removes feedback loop from advanced filters without offscreen msaa and framebufferfetch by @gaaclarke in 193306
- Un-nest sceneBuildDuration and windowRenderDuration in web SceneBuilderRecorder by @victorsanni in 193260
- Roll pub packages by @flutter-pub-roller-bot in 193460
- Sync CHANGELOG.md from stable by @flutteractionsbot in 193020
- ci(bringup): android_intent_security_test is green by @jtmcdole in 193469
- Allow macOS tests to use macOS 15 or 26 by @vashworth in 193317
- [engine] Decode animation frames with alpha after an opaque first frame by @krll-kov in 193113
- shell: Rename first-frame tests AddFirstFrameCallback* by @cbracken in 193418
-
[engine] Fix remaining
unawaited_futureslints by @bkonyi in 193508 - [Android 17] Added Android 17 device to Firebase tests by @jesswrd in 193251
- Bump customer testing version for flutter/devtools update by @johnpryan in 193511
- Roll pub packages by @flutter-pub-roller-bot in 193522
-
Remove vestigial
download_jdkgclient var by @dbebawy in 188571 - Update guidance on bumping Dart by @Piinks in 193131
- Split pre-AGP 8.3 module AAR test into a Java 17 pinned target by @jesswrd in 193467
- Give the Vulkan test context the extensions Impeller requires by @jwinarske in 193002
- Update Engine to test Android 17 AVD by @jesswrd in 193239
- Fix StrcmpFixed matching prefixes in the Vulkan embedder tests by @jwinarske in 192999
- Fix unresolved doc comment references in dev/ tooling by @szakarias in 193501
- Remove some Undefined Behavior from run_customer_testing_tests.dart. by @rmacnak-google in 193582
- [Impeller] Sample the render target rect in offscreen advanced blends by @tguerin in 192988
- [wasm] Set flutter_runtime_mode in tools/gn to_gn_wasm_args by @kevmoo in 193407
- ci(bringup): android_java17_build_android_host_app_with_module_aar is green by @jtmcdole in 193580
- Avoid using relative path in Process.start by @alexmarkov in 193664
- Sync CHANGELOG.md from stable by @flutteractionsbot in 193666
- test: configure Xvfb and openbox for windowing_test by @jtmcdole in 193529
- [Impeller] Deduplicate GLES render pass state by @kevmoo in 193427
- [Embedder] Support render texture for vulkan by @xiaowei-guan in 188855
- Redistribute iOS/macOS TESTOWNERS by @vashworth in 193589
-
Fix
specify_nonobvious_local_variable_typeslint inrecord_use_test_packageby @bkonyi in 193720 - [Flutter GPU] Reusable binding sets by @bdero in 190400
- [web] Force a GC before each benchmark reload to keep /dev/shm from filling up by @mdebbar in 193822
- Removed crash when responding on a dead port. by @gaaclarke in 193827
-
Fix adb not found error for
android_intent_parsing_testby @camsim99 in 193828 - [Impeller] Guard the Metal pipeline library maps with a mutex by @leehack in 193722
-
[Android 17] Update
ci.yamlto test against gradle 9.5.0 dists by @jesswrd in 193874 - Use the Skia header path that are consistent with other includes by @chingjun in 193853
- Temporarily limit iOS tests to Mac-15 by @vashworth in 193915
- Revert: Roll Dart SDK from 16edd71d74e3 to b646f11238c8 (2 revisions) by @flutteractionsbot in 193934
- ci(bringup): Linux_android_emu android_intent_parsing_test is green by @jtmcdole in 193952
- Add --shader-report and --fail-on-unused-shaders option to impeller_golden_tests by @walley892 in 193319
- Do not present the root surface when an external view embedder owns it by @jwinarske in 193000
- refactor: Remove discontinued isolate package by @rkishan516 in 193394
- refactor: Remove discontinued adaptive_breakpoints package by @rkishan516 in 193393
- Document HCPP backdrop filter and image filter limitations by @gmackall in 194026
- Update comment references blocker by @chunhtai in 193958
- Sync CHANGELOG.md from stable by @flutteractionsbot in 194033
- Bump dartdoc to 9.0.11 by @szakarias in 194076
- Move the Vulkan wrapped-texture helper out of the GPU surface by @jwinarske in 193001
- Add docs for using bb and led with LUCI by @mdebbar in 193859
- Refactored PipelineLibraryGLES by @gaaclarke in 193985
- [Impeller] Guard the sampler library caches with a mutex by @leehack in 193738
- Migrate remaining test to macOS 26 by @vashworth in 193825
- Bump customer tests to pick up material_ui and cupertino_ui by @Piinks in 194236
- Fix HDR image packing for ios by @walley892 in 192526
- [master] Update Flutter DEPS to Dart 5933cb486b4aef2f8cf6b9f89a5651c0d5b0955e by @flutteractionsbot in 193982
- Stamp 3.50.0-0.1.pre branch by @camsim99 in 194323
-
Bump
engine.versionfor 3.50 beta release by @camsim99 in 194327 - [flutter-3.50-candidate.0] Update Flutter DEPS to Dart f6300bc9c8d2015d2865687987728885cd32277f by @flutteractionsbot in 195124
- [flutter-3.50-candidate.0] Sync engine.version to c59629b7015c07cde8a989dc286c297bc036a881 by @flutteractionsbot in 195135
- [flutter-3.50-candidate.0] Sync engine.version to 8ec493d4d9cd3cc17a5639d2684e9ad1e22c47b1 by @flutteractionsbot in 195497
- [CP-beta]Roll brotli to v1.2.1 by @flutteractionsbot in 195615
- [flutter-3.50-candidate.0] Sync engine.version to 1b9ee1a58581e9c51a5fc9b38d42ab80388c6d1d by @flutteractionsbot in 195935
New contributors
#- @Akhrameev made their first contribution in 188627
- @gnoliyil made their first contribution in 188891
- @jameskrupnik made their first contribution in 188123
- @awnoa made their first contribution in 189692
- @schultek made their first contribution in 189725
- @Ram-Dawson made their first contribution in 189973
- @Yusufihsangorgel made their first contribution in 189723
- @ellie-ka-nam made their first contribution in 188772
- @guszxtavo made their first contribution in 189303
- @Ahmet-Can-Urhan made their first contribution in 189457
- @ColeSpringer made their first contribution in 190048
- @UditDewan made their first contribution in 189705
- @krystic made their first contribution in 180235
- @KercyDing made their first contribution in 186767
- @matheusccastroo made their first contribution in 189622
- @binSaed made their first contribution in 190163
- @xRossKoh made their first contribution in 189823
- @FelixMittermeier made their first contribution in 190445
- @herdiyana256 made their first contribution in 190462
- @motucraft made their first contribution in 189336
- @wilyan09007 made their first contribution in 190819
- @Boulea7 made their first contribution in 190858
- @glitchfl made their first contribution in 191155
- @JayeshJain25 made their first contribution in 191151
- @amaan-0331 made their first contribution in 190612
- @fa0311 made their first contribution in 190194
- @zulongzhang made their first contribution in 190518
- @sawirricardo made their first contribution in 188005
- @GhagSagar23 made their first contribution in 189658
- @shawnridgeway-google made their first contribution in 191741
- @ik020 made their first contribution in 191554
- @Devasy made their first contribution in 191281
- @kryali made their first contribution in 191479
- @jesskuras made their first contribution in 192080
- @AfzalivE made their first contribution in 189686
- @anazr9 made their first contribution in 186246
- @papmodern made their first contribution in 191204
- @AllinGaming made their first contribution in 191130
- @ibrahimcetin made their first contribution in 191062
- @wratheus made their first contribution in 192206
- @serhii-k made their first contribution in 191964
- @Shawn-Yu-Dev made their first contribution in 191573
- @NikhilKukreja26 made their first contribution in 192019
- @artemkulyk made their first contribution in 192679
- @sankalpsthakur made their first contribution in 190651
- @smocer made their first contribution in 187167
- @dhc-tech made their first contribution in 191098
- @diegolopezrm made their first contribution in 191647
- @dfdgsdfg made their first contribution in 192158
- @sorensp-goog made their first contribution in 193090
- @ahmadwyne made their first contribution in 193176
- @nicolinx made their first contribution in 185206
- @nishchala-tattvam made their first contribution in 192427
- @nickolasdeluca made their first contribution in 191223
- @shikharish made their first contribution in 188947
- @sneurlax made their first contribution in 192205
- @cdeil made their first contribution in 192257
- @MohanadAbdallah-mv made their first contribution in 183582
- @jwinarske made their first contribution in 193002
- @kaluli123123 made their first contribution in 191631
- @HibaChamkhi made their first contribution in 192714
- @tjcGoogle made their first contribution in 189968
- @apinilabs-pascal made their first contribution in 189835
- @CanArslanDev made their first contribution in 190431
- @leehack made their first contribution in 193722
- @Jstuff36 made their first contribution in 193575
- @hoyahozz made their first contribution in 191781
- @aayushkedawat made their first contribution in 193079
- @RobertOdrowaz made their first contribution in 191350
Full Changelog: https://github.com/flutter/flutter/compare/3.47.0...3.50.0-0.4.pre
Was this page's content helpful?
Unless stated otherwise, the documentation on this site reflects Flutter 3.47. Page last updated on 2026-11-10. View source or report an issue.