Repository navigation
Description
For years, Flutter's Framework team has been reviewing "notable commits" in our weekly staff meeting at Google. The notable commits are a lightly curated list of the pull requests that have landed in the previous week. The goal is to celebrate our progress and the developers who have contributed to that progress. Unfortunately, many of those developers have not been in the weekly staff meeting's conference room, they come from other teams within Google and the wider Flutter community.
Each list typically covers about one week and is not comprehensive. Its focus is on commits to Flutter's framework "flutter/flutter" repo that involved the Framework team as pull-request authors or reviewers. That's not strictly true however, we all contribute to many repos - not the least of which is "flutter/packages" - and you'll find evidence of that here. And not all of the commits listed here necessarily involved someone from the Framework or Engine team. One final observation about the participants in the list below is the large number of contributions that have come from the Flutter community. We are blessed with a an active and generous developer community. Each week's notable commits list is a tribute to everyone who has helped advance Flutter, not just Google's Framework team.

Activity
Piinks commentedon Jan 11, 2025
December 14, 2024 to January 10, 2025
Details
Happy New Year & new notable commits issue everyone!
Over 150+ commits landed in flutter/flutter since the last update in 2024! 🚀
These changes were likely tagged in 3.28.0-2.0.pre.38694 or earlier, and include the monorepo!
We had some pretty significant changes since our last update!
Dart format is now enabled in flutter/flutter!
#160545 merged on December 19, 2024 — Extra large: 2 comments over 21 hours, 455815 additions and 416698 deletions in 4411 files
Reviewed by: Kate Lovett, Greg Spencer
Aand…
The engine joined the framework in flutter/flutter! Monorepo & dart format changes bring with them a shared workflow, and easier path to contribute.
This was a huge undertaking, special thanks to:
More Notable Landings
Michael Goderbauer — Update Style-guide-for-Flutter-repo.md
#161344 merged on January 10, 2025 — Medium: 12 comments over 1 day, 22 additions and 361 deletions in 1 file
Reviewed by: Kate Lovett
Justin McCandless — Update engine instructions for monorepo
#161184 merged on January 8, 2025 — Small: 12 comments over 2 days, 43 additions and 52 deletions in 2 files
Reviewed by: John McDole, Matan Lurey
Cupertino Updates
#157568 merged on January 10, 2025 — Extra large: 160 comments over 2 months, 2180 additions and 0 deletions in 9 files
Reviewed by: chunhtai, Justin McCandless
Over in Material…
Mohammed CHAHBOUN — Adds onHover and onLongPress to IconButton widget
#160032 merged on January 8, 2025 — Medium: 46 comments over 4 weeks, 377 additions and 1 deletion in 2 files
Reviewed by: Taha Tesser, Bruno Leroux
Valentin Vignal — Add
mouseCursorparameter toReorderableListView#160246 merged on January 9, 2025 — Small: 12 comments over 3 weeks, 142 additions and 10 deletions in 2 files
Reviewed by: Kate Lovett, Tong Mu
Engine (Now in flutter/flutter! 🎊)
Matan Lurey — We no longer have a separate engine repo.
#161400 merged on January 10, 2025 — Small: 3 comments over 5 hours, 1 addition and 36 deletions in 3 files
Reviewed by: Christopher Fujino, John McDole
Jonah Williams — [Impeller] fix scaling of trampoline import of GLES textures into Vulkan.
#161331 merged on January 9, 2025 — Small: 3 comments over 23 hours, 211 additions and 5 deletions in 5 files
Reviewed by: Matan Lurey
Meanwhile in
integration_testintegration_teston Android and iOS devices#160484 merged on December 28, 2024 — Large: 13 comments over 1 week, 958 additions and 22 deletions in 9 files
Reviewed by: Andrew Kolos, Yegor
[-]Flutter Notable Commits[/-][+]Flutter Notable Commits - 2025[/+]Piinks commentedon Jan 17, 2025
January 11, 2025 to January 17, 2025
Details
Over 70+ commits landed in flutter/flutter since the last update! 🚀
These changes were likely tagged in 3.28.0-2.0.pre.38780 or earlier, let's dive in!
Tong Mu — [Web] Allow specifying the strategy on when to use
<img>element to display images#159917 merged on January 14, 2025 — Medium: 32 comments over 1 month, 378 additions and 84 deletions in 10 files
Reviewed by: Navaron Bracke, Levi Lesches, jezell, Mouad Debbar
Enguerrand ARMINJON — feat: Add keyboardDismissBehavior to ScrollBehavior
#158580 merged on January 15, 2025 — Small: 42 comments over 2 months, 152 additions and 17 deletions in 8 files
Reviewed by: Kate Lovett, chunhtai
Yegor — [web:a11y] treat empty tappables as buttons
#161360 merged on January 13, 2025 — Small: 3 comments over 4 days, 54 additions and 66 deletions in 2 files
Reviewed by: chunhtai
Victor Sanni — Reland "Autocomplete Options Width #143249 Autocomplete options width"
#161695 merged on January 17, 2025 — Extra large: 1 comment over 1 day, 1688 additions and 263 deletions in 4 files
Reviewed by: Justin McCandless
Over in Material
Taha Tesser — Fix
TabBarglitchy elasticTabanimation#161514 merged on January 15, 2025 — Large: 6 comments over 1 day, 435 additions and 130 deletions in 5 files
Reviewed by: Justin McCandless
Bruno Leroux — Fix DropdownMenu isCollapsed decoration does not Reduce height
#161427 merged on January 15, 2025 — Small: 1 comment over 5 days, 71 additions and 1 deletion in 2 files
Reviewed by: Qun Cheng
Meanwhile in Cupertino
Mitchell Goodwin — Do not block vertical drag gestures in CupertinoSheetRoute body
#161696 merged on January 16, 2025 — Small: 4 comments over 23 hours, 71 additions and 6 deletions in 2 files
Reviewed by: Justin McCandless
Chikamatsu Kazuya — Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute
#160241 merged on January 13, 2025 — Small: 11 comments over 1 month, 53 additions and 4 deletions in 4 files
Reviewed by: Mitchell Goodwin, chunhtai
Mitchell Goodwin — Add route settings to CupertinoSheetRoute
#161528 merged on January 13, 2025 — Small: 1 comment over 5 hours, 41 additions and 1 deletion in 2 files
Reviewed by: chunhtai
Engine Developments
Tong Mu — [Engine] Support asymmetrical rounded superellipses
#161409 merged on January 14, 2025 — Large: 10 comments over 4 days, 632 additions and 328 deletions in 10 files
Reviewed by: Jonah Williams
NabilaWorks — Feature/twitter keyboard
#161025 merged on January 15, 2025 — Small: 5 comments over 2 weeks, 72 additions and 2 deletions in 7 files
Reviewed by: hellohuanlin, Reid Baker, Justin McCandless
jesswrd — Fixed XiaoMi statusBar Bug
#161271 merged on January 15, 2025 — Small: 18 comments over 1 week, 82 additions and 9 deletions in 2 files
Reviewed by: Reid Baker
Deprecations
ButtonStyleButton.iconAlignmentproperty#160023 merged on January 13, 2025 — Small: 11 comments over 1 month, 10 additions and 0 deletions in 1 file
Reviewed by: Qun Cheng, Kate Lovett
Piinks commentedon Jan 24, 2025
January 18, 2025 to January 24, 2025
Details
Over 70 commits landed in flutter/flutter since the last report.
These changes were likely tagged 3.29.0-1.0.pre.107 or earlier.
Justin McCandless — Autocomplete keyboard navigation
#159455 merged on January 23, 2025 — Medium: 13 comments over 1 month, 450 additions and 46 deletions in 4 files
Reviewed by: Victor Sanni, Renzo Olivares
Loïc Sharma — Fix link to hotfix documentation best practices
#162116 merged on January 24, 2025 — Small: 2 comments over 17 hours, 1 addition and 1 deletion in 1 file
Reviewed by: Kevin Chisholm
Cupertino landings
chunhtai — Adds cupertino picker semantics test
#161768 merged on January 22, 2025 — Small: 17 comments over 6 days, 68 additions and 0 deletions in 2 files
Reviewed by: Michael Goderbauer, Justin McCandless
Chikamatsu Kazuya — Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (2)
#161577 merged on January 22, 2025 — Small: 5 comments over 1 week, 55 additions and 6 deletions in 5 files
Reviewed by: Mitchell Goodwin, chunhtai
In the Material Library
Bruno Leroux — Fix TextField intrinsic width when hint is not visible
#161235 merged on January 24, 2025 — Small: 18 comments over 2 weeks, 156 additions and 17 deletions in 2 files
Reviewed by: Nate Wilson, Justin McCandless
Bruno Leroux — Fix DropdownButtonFormField clips text when large text scale is used
#159975 merged on January 23, 2025 — Small: 10 comments over 1 month, 66 additions and 10 deletions in 2 files
Reviewed by: Justin McCandless
Taha Tesser — Update
ListTiletest to prevent log dump and test error message.#161811 merged on January 21, 2025 — Small: 3 comments over 3 days, 50 additions and 4 deletions in 1 file
Reviewed by: Bruno Leroux
Bruno Leroux — Fix DropdownMenu icon and item icon misalignment
#161717 merged on January 21, 2025 — Small: 2 comments over 5 days, 62 additions and 2 deletions in 2 files
Reviewed by: Taha Tesser
Engine News
Jackson Gardner — Get
etworking for local web engine builds.#161825 merged on January 21, 2025 — Small: 2 comments over 3 days, 103 additions and 34 deletions in 4 files
Reviewed by: Matan Lurey
jesswrd — Add to Setup Path Example to Engine README
#162115 merged on January 24, 2025 — Small: 4 comments over 7 hours, 5 additions and 1 deletion in 2 files
Reviewed by: Matan Lurey
Deprecations
ThemeData.indicatorColorin favor ofTabBarThemeData.indicatorColor#160024 merged on January 22, 2025 — Small: 7 comments over 1 month, 152 additions and 58 deletions in 7 files
Reviewed by: Qun Cheng
Piinks commentedon Jan 31, 2025
January 25, 2025 to January 31, 2025
Details
Over 80 changes landed in flutter/flutter this week.
These changes were likely tagged 3.29.0-1.0.pre.203 or earlier.
Progress on Widget Previews! 🎊
Ben Konyi — Add WidgetPreview and @Preview() annotation
#159219 merged on January 29, 2025 — Small: 40 comments over 2 months, 80 additions and 0 deletions in 2 files
Reviewed by: Michael Goderbauer
Ben Konyi — [ Widget Previews ] Add support for detecting previews and generating code
#161911 merged on January 28, 2025 — Large: 6 comments over 1 week, 551 additions and 25 deletions in 7 files
Reviewed by: Andrew Kolos
Updated translations 📖
#162274 merged on January 29, 2025 — Extra large: 1 comment over 2 days, 1708 additions and 8 deletions in 9 files
Reviewed by: LouiseHsu
chunhtai — Table implements redepth
#162282 merged on January 28, 2025 — Small: 1 comment over 19 hours, 36 additions and 0 deletions in 2 files
Reviewed by: Justin McCandless
chunhtai — Adds semantics role checks
#162290 merged on January 29, 2025 — Small: 8 comments over 1 day, 211 additions and 30 deletions in 5 files
Reviewed by: Navaron Bracke, Hannah Jin
Cupertino commits
#162425 merged on January 30, 2025 — Small: 1 comment over 17 hours, 115 additions and 0 deletions in 1 file
Reviewed by: Justin McCandless
In Material
Taha Tesser — Fix
Tablinear and elastic animation blink#162315 merged on January 29, 2025 — Large: 7 comments over 21 hours, 432 additions and 98 deletions in 2 files
Reviewed by: Justin McCandless
Taha Tesser — Fix
Checkboxdefault visual density to meet Material 3 guidelines#159081 merged on January 30, 2025 — Small: 10 comments over 2 months, 76 additions and 13 deletions in 4 files
Reviewed by: Qun Cheng
Tirth — Pass-through
maxLinesinDropdownMenu#161903 merged on January 29, 2025 — Small: 40 comments over 1 week, 51 additions and 0 deletions in 2 files
Reviewed by: Taha Tesser, Qun Cheng
Gagan Yadav — fix: appbar leading width is not square for custom toolbar height
#161880 merged on January 29, 2025 — Small: 7 comments over 1 week, 87 additions and 2 deletions in 3 files
Reviewed by: Qun Cheng, Tirth
Wasmund1 — Drag handle semantic role
#161941 merged on January 30, 2025 — Small: 11 comments over 1 week, 2 additions and 0 deletions in 2 files
Reviewed by: Hannah Jin, Nate Wilson
Chris Norman — fix slider semantic label
#162304 merged on January 30, 2025 — Small: 11 comments over 2 days, 4 additions and 1 deletion in 2 files
Reviewed by: Hannah Jin
Tirth — Pass-through
textInputActioninDropdownMenu#162309 merged on January 29, 2025 — Small: 3 comments over 21 hours, 27 additions and 0 deletions in 2 files
Reviewed by: Qun Cheng
Over in the Engine
Jim Graham — [Impeller] Avoid NaN values when setting up for the fast squircle blur shader
#162421 merged on January 30, 2025 — Small: 4 comments over 2 hours, 38 additions and 3 deletions in 3 files
Reviewed by: Jonah Williams
Ryan Ferrell — Avoid iOS text selection crash by returning nil range
#161996 merged on January 27, 2025 — Small: 4 comments over 5 days, 29 additions and 2 deletions in 3 files
Reviewed by: hellohuanlin, Chris Bracken
Sample Updates
#159937 merged on January 31, 2025 — Large: 17 comments over 1 month, 142 additions and 448 deletions in 5 files
Reviewed by: Taha Tesser, Bruno Leroux
#162255 merged on January 30, 2025 — Small: 22 comments over 3 days, 100 additions and 15 deletions in 5 files
Reviewed by: Nate Wilson, Justin McCandless
And in
flutter_test#159582 merged on January 29, 2025 — Small: 16 comments over 2 months, 53 additions and 1 deletion in 2 files
Reviewed by: Kate Lovett, Victor Sanni
Piinks commentedon Feb 14, 2025
February 1, 2025 to February 14, 2025
Details
Over 214 changes landed in flutter/flutter in the last two weeks. Dang y'all. 🤯🔥
These changes were likely tagged 3.30.0-1.0.pre.176 or earlier.
Enguerrand ARMINJON — feat: removeRoute now call didComplete
#157725 merged on February 12, 2025 — Large: 78 comments over 3 months, 585 additions and 114 deletions in 5 files
Reviewed by: Kate Lovett, chunhtai
Matan Lurey — Enable
goldenFileComparatorfix for on-device integration tests.#163157 merged on February 13, 2025 — Small: 7 comments over 19 hours, 5 additions and 5 deletions in 3 files
Reviewed by: Jonah Williams
yim — Refactor SliverMainAxisGroup for reverse mode.
#161849 merged on February 14, 2025 — Small: 7 comments over 3 weeks, 46 additions and 48 deletions in 2 files
Reviewed by: Kate Lovett
davidhicks980 — Implement RawMenuAnchor
#158255 merged on February 3, 2025 — Extra large: 262 comments over 2 months, 5310 additions and 1260 deletions in 9 files
Reviewed by: Bruno Leroux, Tong Mu, Nate Wilson, chunhtai
jesswrd — Fix Status Bar Icon Brightness
#162297 merged on February 7, 2025 — Small: 44 comments over 1 week, 125 additions and 0 deletions in 5 files
Reviewed by: Reid Baker, Kate Lovett, Qun Cheng, Mitchell Goodwin
Ben Konyi — [ Widget Preview ] Add support for building and launching the widget preview scaffold
#162326 merged on February 5, 2025 — Large: 22 comments over 1 week, 494 additions and 88 deletions in 17 files
Reviewed by: Andrew Kolos
Cupertino Changes
Renzo Olivares — Update
Themedocumentation withCupertinodetails#161980 merged on February 12, 2025 — Small: 9 comments over 3 weeks, 10 additions and 1 deletion in 2 files
Reviewed by: Justin McCandless
Victor Sanni — Support CupertinoSliverNavigationBar.search with condensed large title
#159120 merged on February 7, 2025 — Large: 71 comments over 2 months, 645 additions and 83 deletions in 5 files
Reviewed by: Mykhailo B, Kate Lovett, Mitchell Goodwin
Mitchell Goodwin — Adjust padding for Cupertino sheet content
#162481 merged on February 4, 2025 — Small: 8 comments over 4 days, 117 additions and 8 deletions in 2 files
Reviewed by: Justin McCandless
Harshit Sharma — Fix: Ensure CupertinoAlertDialog divider spans full width and resolve
#161490 merged on February 6, 2025 — Small: 27 comments over 3 weeks, 53 additions and 2 deletions in 2 files
Reviewed by: Tong Mu, chunhtai
StanleyCocos — feat(CupertinoButton): Add minWidth and minHeight to replace minSize.
#161295 merged on February 3, 2025 — Small: 58 comments over 3 weeks, 79 additions and 3 deletions in 5 files
Reviewed by: Justin McCandless, Nate Wilson, Victor Sanni
Victor Sanni — Make CupertinoSheetRoute usable with Cupertino(Sliver)NavigationBar
#162181 merged on February 5, 2025 — Small: 12 comments over 1 week, 111 additions and 6 deletions in 3 files
Reviewed by: Mitchell Goodwin
Jack — Add color to CupertinoButton.filled constructor
#161660 merged on February 4, 2025 — Small: 20 comments over 2 weeks, 30 additions and 5 deletions in 2 files
Reviewed by: Tong Mu, Mitchell Goodwin
In Material
Taha Tesser — Fix
Sliderrenders track when track colors are transparent#161814 merged on February 6, 2025 — Small: 13 comments over 2 weeks, 49 additions and 1 deletion in 2 files
Reviewed by: Qun Cheng
Taha Tesser — Fix buttons with icons ignore provided
foregroundColor#162880 merged on February 13, 2025 — Small: 12 comments over 5 days, 283 additions and 7 deletions in 13 files
Reviewed by: Rydmike, Qun Cheng
Bruno Leroux — Fix DropdownMenu default width does not take label into account
#161219 merged on February 13, 2025 — Small: 11 comments over 1 month, 81 additions and 8 deletions in 2 files
Reviewed by: Qun Cheng
Bruno Leroux — Fix DropdownButtonFormField padding when ButtonTheme.alignedDropdown is true
#162810 merged on February 13, 2025 — Small: 5 comments over 6 days, 44 additions and 1 deletion in 2 files
Reviewed by: Justin McCandless
PurplePolyhedron — fix
DropdownMenucrashes when provided menuStyle with small maximumSize#162380 merged on February 13, 2025 — Small: 6 comments over 2 weeks, 56 additions and 2 deletions in 2 files
Reviewed by: Qun Cheng, Hannah Jin
Accessibility
Hannah Jin — Add table related semantics role
#162339 merged on February 14, 2025 — Medium: 40 comments over 2 weeks, 437 additions and 21 deletions in 15 files
Reviewed by: Kevin Moore, Yegor, Kate Lovett, chunhtai
Hannah Jin — fix the issue that can't set app bar traversal order for flexible space
#162910 merged on February 13, 2025 — Small: 3 comments over 5 days, 191 additions and 2 deletions in 2 files
Reviewed by: chunhtai
chunhtai — Adds dialog and alertdialog role
#162692 merged on February 11, 2025 — Small: 17 comments over 6 days, 211 additions and 38 deletions in 11 files
Reviewed by: Yegor
chunhtai — Adds hasSelectedState parameter to matchesSemantics for migration
#163014 merged on February 11, 2025 — Small: 5 comments over 1 day, 1 addition and 0 deletions in 1 file
Reviewed by: Hannah Jin
chunhtai — Introduce caching mechanism during compile semantics tree monorepo and formatted version
#161195 merged on February 6, 2025 — Extra large: 70 comments over 1 month, 1391 additions and 944 deletions in 10 files
Reviewed by: Michael Goderbauer
Yegor — [web] do not send SemanticsAction.focus inside frame
#162554 merged on February 4, 2025 — Large: 7 comments over 3 days, 452 additions and 81 deletions in 11 files
Reviewed by: Mouad Debbar
Landing in the Engine
Matej Knopp — [Embedder] Implement merged platform and UI thread
#162944 merged on February 11, 2025 — Medium: 19 comments over 2 days, 310 additions and 20 deletions in 19 files
Reviewed by: Loïc Sharma, Chinmay Garde, Jonah Williams
hellohuanlin — [ios][secure_paste]show menu item based on info sent from framework
#161103 merged on February 11, 2025 — Medium: 11 comments over 1 month, 404 additions and 3 deletions in 5 files
Reviewed by: Justin McCandless
Tong Mu — [Impeller] Add RoundSuperellipse class, containment check and stroking
#162826 merged on February 12, 2025 — Extra large: 5 comments over 5 days, 2077 additions and 552 deletions in 16 files
Reviewed by: Jonah Williams
Piinks commentedon Feb 21, 2025
February 15, 2025 to February 21, 2025
Details
Over 75 changes landed in flutter/flutter in the last week.
These changes were likely tagged 3.30.0-1.0.pre.176 or earlier.
Jonas Uekötter — Make Flutter version information accessible at runtime
#140783 merged on February 20, 2025 — Medium: 65 comments over 13 months, 386 additions and 9 deletions in 13 files
Reviewed by: Greg Price, Ian Hickson, Alex Li, Ben Konyi
Lucas Goldner — feat: Add selectionColor property to selectable text
#162177 merged on February 21, 2025 — Small: 17 comments over 3 weeks, 34 additions and 1 deletion in 2 files
Reviewed by: Navaron Bracke, Justin McCandless, Renzo Olivares
Changes in Cupertino
Victor Sanni — CupertinoSliverNavigationBar.search fidelity updates
#163089 merged on February 21, 2025 — Small: 14 comments over 1 week, 161 additions and 48 deletions in 5 files
Reviewed by: Tong Mu, Mitchell Goodwin
StanleyCocos — fix(CupertinoDatePicker): font is inconsistent
#162932 merged on February 20, 2025 — Small: 22 comments over 1 week, 26 additions and 0 deletions in 2 files
Reviewed by: Tong Mu, Mitchell Goodwin
Merged in Material
Dibash Poudel —
CircularProgressIndicatorthrows null exception#163356 merged on February 20, 2025 — Small: 16 comments over 5 days, 20 additions and 1 deletion in 2 files
Reviewed by: Bruno Leroux, Taha Tesser
Moshe Dicker — Adds support for applying delta/factor transformations for TextTheme height, letter and word spacing
#158103 merged on February 21, 2025 — Small: 37 comments over 3 months, 245 additions and 0 deletions in 2 files
Reviewed by: Nate Wilson, Renzo Olivares, Tong Mu
Qun Cheng — Change
cardTheme,dialogTheme, andtabBarThemetype toxxxThemeData#157292 merged on February 18, 2025 — Small: 3 comments over 4 months, 13 additions and 71 deletions in 2 files
Reviewed by: Pierre
In the Engine
Matej Knopp — [windows] Implement merged UI and platform thread
#162935 merged on February 20, 2025 — Small: #162935 over 1 week, 115 additions and 56 deletions in 13 files
Reviewed by: Tobias Käs, Loïc Sharma
Jim Graham — [Impeller] add support for rational bezier conics to Path
#163282 merged on February 18, 2025 — Large: 22 comments over 4 days, 924 additions and 266 deletions in 11 files
Reviewed by: Jonah Williams
Yegor — introduce system color palette
#163335 merged on February 20, 2025 — Large: 33 comments over 6 days, 652 additions and 44 deletions in 8 files
Reviewed by: Kevin Moore, Navaron Bracke, Qun Cheng, chunhtai
Yegor — [web:a11y] wheel events switch to pointer mode
#163582 merged on February 19, 2025 — Small: 1 comment over 17 hours, 111 additions and 0 deletions in 4 files
Reviewed by: Mouad Debbar
15 remaining items
Piinks commentedon Aug 8, 2025
August 02, 2025 to August 08, 2025
Details
Over 97 changes landed in flutter/flutter this week.
This week’s notable commits were likely tagged 3.35 or earlier.
This report was compiled with help from Gemini CLI. 😉 🤖
Framework
#172914 Fix ScaffoldGeometry null scale with noAnimation FAB
A bug that caused a null scale with noAnimation FAB in ScaffoldGeometry has been fixed, ensuring proper scaling behavior. 🐛
#172380 Fix ReorderableList proxy animation for partial drag-back
The proxy animation for partial drag-back in ReorderableList has been fixed, providing a smoother user experience. ✨
#173280 Fix drawerScrimColor transition.
The transition for drawerScrimColor has been fixed, ensuring a seamless visual effect. 🎨
#172759 Fix Slider dragged mouse cursor visibility.
The visibility of the mouse cursor when dragging a Slider has been fixed, improving usability. 👍
#173011 Migrate to list and builder Sliver convenience constructors
The codebase has been migrated to use the
listandbuilderSliver convenience constructors, improving code readability and maintainability. 🛠️Material
Accessibility for TextField has been improved by ensuring that prefix and suffix icons create a sibling node. ♿
Web
#172175 Web dev proxy
A new web dev proxy has been introduced, enhancing the development workflow for web applications. 🌐
#171638 [web] add --static-assets-url argument to build web
A new
--static-assets-urlargument has been added to thebuild webcommand, allowing for more flexible asset management. 🚀#172254 Add radius clamping to web RSuperellipse
Radius clamping has been added to the web RSuperellipse, preventing rendering issues with large radius values. 🖼️
Tool
#173443 Use LLDB as the default debugging method for iOS 17+ and Xcode 26+
LLDB is now the default debugging method for iOS 17+ and Xcode 26+, providing a more robust debugging experience. 🛠️
#164720 Support launching a HTTPS URL
The tool now supports launching HTTPS URLs, expanding its capabilities. 🔗
#171965 [android][tool] Consolidate minimum versions for android projects.
The minimum versions for Android projects have been consolidated, streamlining project setup and maintenance.
Android
#173431 [Android templates] Remove jetifier usage
Jetifier usage has been removed from the Android templates, aligning with modern Android development practices. 🤖
#173375 Adds deprecation for impeller opt out on android
A deprecation notice has been added for opting out of Impeller on Android, encouraging adoption of the new rendering engine. 🎨
Windows
The Windows implementation now provides a monitor list, display size, refresh rate, and other display-related information, enhancing multi-monitor support. 🖥️
First-time Contributors
Congratulations to our new contributors:
Piinks commentedon Aug 15, 2025
August 9, 2025 to August 15, 2025
Details
A total of 105 changes were merged to the framework this week. 🔥
This report was compiled with help from Gemini CLI. 😉 🤖
Notable Changes
Framework
#165832 Predictive back route transitions by default
Enables predictive back route transitions by default on supported Android devices, using a shared element transition.
#173221 feat: add onLongPressUp callback to InkWell widget
Adds an
onLongPressUpcallback to theInkWellwidget, allowing developers to respond to the release of a long press gesture.#173148 Add error handling for
Elementlifecycle user callbacksImproves error handling for user-supplied lifecycle callbacks in
Elements, preventing the framework from getting into an inconsistent state.#173725 [Range slider] Tap on active range, the thumb closest to the mouse cursor should move to the cursor position.
Enhances the
RangeSliderby making the thumb closest to the tap position move to the cursor when tapping on the active range.#169293 Implements the Android native stretch effect as a fragment shader (Impeller-only).
Implements the native Android stretch overscroll effect using a fragment shader for a more authentic feel on Impeller.
#173480 [VPAT][A11y] Announce Autocomplete search results status
Improves accessibility by announcing the status of autocomplete search results for screen readers.
#173344 Fix InputDecorator label padding
Corrects the label padding in
InputDecoratorwhenprefixIconand/orsuffixIconare used.#172847 Allow empty initial time when using text input mode in showTimePicker dialog
Adds an option to have empty initial time fields in the
showTimePickerdialog when using text input mode.#171718 fix: selected date decorator renders outside PageView in
DatePickerDialogdialogFixes a visual glitch in
DatePickerDialogwhere the selected date decorator would render outside thePageView.#168547 feat: Cupertino sheet implement upward stretch on full sheet
Implements an upward stretch effect on
CupertinoSheetwhen it's fully expanded, providing a more native feel.#167032 Fix visual overlap of transparent routes barrier when using FadeForwardsPageTransitionsBuilder
Fixes a visual overlap issue with the transparent route's barrier when using
FadeForwardsPageTransitionsBuilder.#172875 Fix directional focus in nested scrollables with different axis
Fixes an issue with directional focus navigation in nested scrollables with different scroll axes.
Web
#173652 [web] Popping a nameless route should preserve the correct route name
Fixes a bug on the web where popping a nameless route would not preserve the correct route name in the URL.
#173629 [web] Fallback to CanvasKit when WebGL is not available
Improves web compatibility by falling back to CanvasKit when WebGL is not available.
Tool
--machinemodeAdds a
--machinemode to the widget preview tool for better integration with other tools.First-time Contributors
Congratulations to our new contributors!
showTimePicker.onLongPressUpcallback toInkWell.Piinks commentedon Aug 29, 2025
August 15, 2025 to August 29, 2025
Details
A total of 231 changes were merged over the last 2 weeks!
This report was compiled with care from Gemini CLI. 😉 🤖
Framework
Add SliverGrid.list convenience constructor
A new convenience constructor,
SliverGrid.list, has been added to simplify the creation of aSliverGridwith a list of children.Contributed by Ahmed Hussein
Reviewed by Loïc Sharma, Victor Sanni
#173925
Implement Overlay.of with inherited widget
Overlay.ofhas been refactored to use an inherited widget, which is more efficient than walking the element tree. This improves performance by reducing the number of lookups.Contributed by chunhtai
Reviewed by LongCatIsLooong
#174315
Drawer barrier non dismissible with the escape key
The drawer can no longer be dismissed with the escape key when
drawerBarrierDismissibleis false.Contributed by Roman Jaquez
Reviewed by Justin McCandless, Tong Mu
#173263
SnackBar with action no longer auto-dismiss
A
SnackBarwith an action will no longer auto-dismiss, even whenaccessibleNavigationis true. A newpersistproperty has been added toSnackBarto control this behavior explicitly.Contributed by Qun Cheng
Reviewed by Victor Sanni, chunhtai
#173084
Fix: Active step fully colored in vertical mode
This change fixes a bug where the active step in a vertical stepper was not fully colored.
Contributed by Victor Sanni
Reviewed by chunhtai
#173152
Fix
onSelectcalled twice inDropdownMenuFormFieldThis change fixes a bug where
onSelectwas called twice inDropdownMenuFormField.Contributed by Qun Cheng
Reviewed by chunhtai
#174053
Fix Menu anchor reduce padding on web and desktop
This change fixes a bug where the menu anchor had reduced padding on web and desktop.
Contributed by Qun Cheng
Reviewed by chunhtai
#172691
Fix SegmentedButton focus issue
This change fixes a focus issue with the
SegmentedButton.Contributed by Qun Cheng
Reviewed by chunhtai
#173953
Add Shift+Enter shortcut example for TextField
An example has been added to demonstrate how to use the Shift+Enter shortcut in a
TextField.Contributed by Roman Jaquez
Reviewed by Justin McCandless
#167952
Improve Stack widget error message for bounded constraints
The error message for the
Stackwidget has been improved to be more helpful when dealing with bounded constraints.Contributed by Qun Cheng
Reviewed by chunhtai
#173352
Reland predictive back route transitions by default
Predictive back route transitions are now enabled by default.
Contributed by Justin McCandless
Reviewed by chunhtai
#173860
Engine
Remove the option to disable the merged platform/UI thread on Android and iOS
The option to disable the merged platform/UI thread has been removed on Android and iOS. This simplifies the threading model and improves performance.
Contributed by Jason Simmons
Reviewed by Reid Baker, John "codefu" McDole, Zachary Anderson
#174408
Implements the Android native stretch effect as a fragment shader (Impeller-only)
The Android native stretch effect is now implemented as a fragment shader, providing a more realistic and performant overscroll effect on Android.
Contributed by Dev TtangKong
Reviewed by Justin McCandless, chunhtai, Tong Mu
#173885
Accessibility
Add set semantics enabled API and wire iOS a11y bridge
A new API,
setSemanticsEnabled, has been added to thePlatformDispatcherto allow the framework to inform the engine about whether a semantics tree is being generated. This is used to enable the accessibility bridge on iOS.Contributed by chunhtai
Reviewed by Mouad Debbar
#174163
Fix empty adaptive text selection toolbars building
This change fixes a bug where an empty adaptive text selection toolbar would still be built even if there were no buttons to display.
Contributed by Kostia Sokolovskyi
Reviewed by Renzo Olivares, Justin McCandless
#174656
Adds semantics for disabled buttons in date picker
The accessibility of the date picker has been improved by adding semantics for disabled buttons. This ensures that screen readers can correctly announce the state of the buttons to users.
Contributed by chunhtai
Reviewed by Hannah Jin
#174064
[iOS][Secure Paste] Custom edit menu actions
This change adds support for custom edit menu actions on iOS. This allows developers to add their own custom buttons to the text selection toolbar.
Contributed by Jing Shao
Reviewed by Justin McCandless, hellohuanlin
#171825
Fix time picker period selector a11y touch targets
This change fixes the accessibility of the time picker period selector by increasing the touch target size.
Contributed by Qun Cheng
Reviewed by chunhtai
#170060
[VPAT][A11y] AutoComplete dropdown option is missing button role
This change fixes an accessibility issue where the
AutoCompletedropdown option was missing the button role.Contributed by Qun Cheng
Reviewed by chunhtai
#173297
Migration to
WidgetStateThese changes are part of a larger migration from
MaterialStatetoWidgetState. This migration simplifies the state management for widgets and makes it more consistent across the framework. The changes in these PRs update various widgets and themes to use the newWidgetStatePropertyandWidgetStateclasses.Contributed by Valentin Vignal
Reviewed by chunhtai, Justin McCandless, Qun Cheng, Mitchell Goodwin
#174421
#174323
#173893
First-time Contributors
We'd like to extend a warm welcome to our new contributors! Thank you for your valuable contributions to Flutter.
SliverGrid.list.Piinks commentedon Sep 19, 2025
August 30, 2025 to September 19, 2025
Details
A total of 270 changes were merged to the framework in the last three weeks. The changes below were likely tagged
3.37.0.Compiled with care with Gemini-CLI. 🤖
Framework
This change allows
OverlayPortal.overlayChildLayoutBuilderto choose the rootOverlay, providing more flexibility for overlay management.Engine
This change enables support for dynamic view resizing in non-web embedders, allowing for more flexible and responsive layouts.
Tooling
This change deprecates the Objective-C plugin template, encouraging developers to use Swift for new plugins.
groupproperty toPreviewThis change adds a
groupproperty to thePreviewwidget, allowing for better organization of widget previews.Cupertino
CupertinoLinearActivityIndicatorA new addition to the Cupertino library, this widget provides a linear progress indicator, giving developers more options for displaying progress in their iOS-styled apps.
This change adjusts the default size of
CupertinoCheckboxon desktop platforms to better align with platform conventions.Material
This change allows developers to use
WidgetStateColorfor the delete icon color inChipThemeData, enabling more dynamic and state-responsive chip designs.This update allows developers to pass an
AnimationControllertoCircularProgressIndicatorandLinearProgressIndicator, providing more control over the animation of indeterminate progress indicators.This change fixes a bug where
IconButton.colorwas being overridden byIconButtonTheme, ensuring that the local color takes precedence.This change fixes a track painting issue in
LinearProgressIndicator, ensuring that the track is painted correctly.Accessibility
This change adds a
semanticIndexOffsetargument toSliverList.builder,SliverGrid.builder, andSliverFixedExtentList.builder, allowing for more control over the semantic indexing of slivers.This change ensures that semantics properties take priority over the button's default semantics, providing more control over accessibility.
This change adds semantics for
CupertinoExpansionTile, improving accessibility for iOS-styled expansion tiles.Android
This change wires up the Android API to set the section locale, improving internationalization support on Android.
iOS
viewControllerproperty to the ios/macOSFlutterPluginRegistrarprotocolThis change adds a
viewControllerproperty to theFlutterPluginRegistrarprotocol for iOS and macOS, making it easier to access the view controller from plugins.First-time Contributors
semanticIndexOffsetargument to several sliver builders.Piinks commentedon Oct 3, 2025
September 20, 2025 to October 03, 2025
Details
Since the last report, 188 changes landed in the Flutter framework, including significant improvements to windowing on desktop, more powerful widget previews, and key enhancements for iOS integration.
This report was compiled with care from Gemini CLI. 😉 🤖
Framework
OutlinedButton.icon, preventing focus from being lost when an icon is dynamically added. ♿️selectedvs.checked) with platform-specific conventions on iOS and Android. 📱DateRangePickerDialogwhen rendered in a zero-sized environment has been squashed, making the widget more robust. 🐞dart:uiAPI,setApplicationLocale, has been added, giving developers more explicit control over the application's locale as seen by the engine. 🌍itemClipBehaviorproperty onCarouselView. ✂️selectableDayPredicateparameter, allowing developers to easily enable or disable specific days. 🗓️TableBordernow supports non-uniform border radii, allowing for more flexible and creative table designs. 🎨Tooling
Previewannotations and apply runtime transformations for more powerful and reusable previews. ✨Ecosystem
Piinks commentedon Oct 27, 2025
October 4, 2025 to October 24, 2025
Details
A total of 278 changes were merged to the framework, engine, and packages over the last couple of weeks.
The changes below are populated by a script that filters and selects notable changes from the past week. This is not an exhaustive list of all changes, but is instead a list of changes that are notable and interesting to the general Flutter developer community.
Compiled with care with Gemini-CLI. 🤖 😉
Framework
The
AlignmentGeometryclass now includes static members for directional alignments, such astopStartandbottomEnd. This provides a more convenient way to specify directional alignments without having to directly useAlignmentDirectional.Authored by Kostia Sokolovskyi and reviewed by Loïc Sharma.
The
childparameter in theRefreshIndicatorconstructor has been moved to the end, following the convention for widget constructors. This improves code readability and consistency.Authored by Tymur and reviewed by Victor Sanni and Tong Mu.
The default mouse cursor for Material buttons on desktop platforms has been changed from a pointing hand to a standard arrow, aligning with native desktop UI conventions. The cursor remains a pointing hand on the web to match web standards.
Authored by Camille Simon and reviewed by Tong Mu.
Engine
The web engine now uses
SkPathBuilderto construct paths, in preparation forSkPathbecoming an immutable object. This change improves performance and reduces memory usage by avoiding unnecessary path copies.Authored by Mouad Debbar and reviewed by Jackson Gardner.
A new
SemanticsHitTestBehaviorenum has been introduced, allowing developers to explicitly control how semantic nodes behave during hit testing. This provides finer-grained control over which widgets can be targeted by pointer events, which is particularly useful for web to manage thepointer-eventsCSS property for accessibility.Authored by zhongliugo and reviewed by chunhtai.
Initial support for creating regular windows on macOS has been implemented. This is a foundational step towards enabling multi-window applications on desktop platforms, allowing developers to create more complex and native-like experiences.
Authored by Matej Knopp and reviewed by Matthew Kosarek.
Tooling
flutter assemble.The
flutter assemblecommand now correctly handles empty--dart-definearguments, preventing crashes and improving the reliability of build scripts that may pass empty values.Authored by LongCatIsLooong and reviewed by Victoria Ashworth and Ben Konyi.
First-time Contributors
Welcome to our new contributors!
ButtonBardocumentation.Titlewidget to aStatefulWidget.textfieldproperty toSearchAnchor.pages.dart.RefreshIndicatorconstructor.Piinks commentedon Nov 7, 2025
October 25, 2025 to November 7, 2025
Details
A total of 228 commits landed in flutter/flutter since the last update!
This week’s notable changes will likely be tagged 3.39.0 or later. A special welcome to our 5 new contributors!
The changes below are populated by a script that filters and selects notable changes from the past week. This is not an exhaustive list of all changes, but is instead a list of changes that are notable and might be interesting to the Flutter developer community.
Compiled with care with Gemini-CLI. 🤖 😉
Framework
#177721 Add haptic notifications support
A new feature that allows developers to trigger haptic feedback for notifications, improving user experience.
#177313 Fix text input actions in DropdownMenu.
This change fixes a bug where text input actions were not working correctly in
DropdownMenu, a common UI widget.#174491 fix: findChildIndexCallback to take seperators into account for seperated named constructor in ListView and SliverList
This fixes a bug in
ListViewandSliverListwherefindChildIndexCallbackwas not correctly accounting for separators.#169341 Add
Navigator.popUntilWithResultThis new feature for
Navigatorallows popping multiple routes until a predicate is satisfied and returns a result.Accessibility
#177969 Use aria-hidden attribute for platform view accessibility on web
This improves web accessibility by using the
aria-hiddenattribute for platform views.#175551 Add blockAccessibilityFocus flag
A new flag to block accessibility focus, giving developers more control over the accessibility experience.
Android
disable-abi-filteringAndroid project flag.This change provides more control over Android builds by allowing developers to disable ABI filtering for product flavors.
iOS
This change ensures compatibility with future versions of Xcode by removing the arm64 exclusion for simulators.
Tool
#178170 [ Tool ] Ignore invalid UTF-8 from ADB's stdout
This fixes a tool crash that could occur when
adboutputs invalid UTF-8.#177470 [ Tool ] Add
Stream.transformWithCallSiteto provide more useful stack tracesThis developer experience improvement provides more useful stack traces for streams.
First-time Contributors
Piinks commentedon Nov 14, 2025
November 7, 2025 to November 14, 2025
Details
A special welcome to our 5 new contributors!
This week’s 108 changes will be included in Flutter version 3.39.0 or later. From those, we're highlighting 16 notable changes.
Compiled with care with Gemini-CLI. 🤖 😉
Framework
A new feature that allows pausing and resuming GIF animations. This is useful for saving battery life and for giving users more control over animations. Authored by Justin McCandless and reviewed by chunhtai.
This change allows animations to be forced to a specific frame, which is useful for testing and debugging. Authored by Thomas Guerin and reviewed by Justin McCandless and Loïc Sharma.
This refactoring migrates the animation properties of the
Expansiblewidget toAnimationStylefor a less broad API surface. Authored by Kishan Rathore and reviewed by Victor Sanni and Kate Lovett.runtimeTypeinkey.dartThis change removes a hack used to get the
runtimeTypewithout using an additional class inkey.dart. This simplifies the code and makes it more robust. Authored by Mohellebi abdessalem and reviewed by Victor Sanni.CupertinoActionSheetActionThis change adds focus support to the
CupertinoActionSheetActionwidget, making it more accessible. Authored by Onnimanni Hannonen and reviewed by Justin McCandless and chunhtai.Engine
This change adds support for R32G32B32A32_SFLOAT images to the Impeller rendering engine, which is useful for HDR images. Authored by gaaclarke and reviewed by Chinmay Garde.
This change fixes a zooming issue and drops the subpixel shift, resulting in a smoother user experience. Authored by Rusino and reviewed by Mouad Debbar.
Tooling
This change throws a
ToolExitif Flutter Web is not enabled when using the widget preview tool, providing a better error message to the user. Authored by Ben Konyi and reviewed by Jessy Yameogo.This change ignores modifications to files in ephemeral directories in the widget preview tool, improving performance. Authored by Ben Konyi and reviewed by Jessy Yameogo.
This change corrects the iOS signing log for manual code signing, making it easier to debug signing issues. Authored by Mohammed Tarig Nour and reviewed by Victoria Ashworth and LouiseHsu.
Platform
This change implements dialog windows for the Linux platform, bringing it closer to feature parity with other platforms. Authored by Robert Ancell and reviewed by Matthew Kosarek.
This change adds an API to customize the semantics placeholder message on the web, improving accessibility. Authored by Mouad Debbar and reviewed by Yegor.
This change migrates the plugin templates to the Kotlin DSL, which is the recommended way to write Gradle build scripts. Authored by Byoungchan Lee and reviewed by Gray Mackall and Reid Baker.
This change adds support for platform-specific asset filtering in
pubspec.yaml, allowing developers to include assets only for specific platforms. Authored by Alex Frei and reviewed by Ben Konyi and Lau Ching Jun.This change makes the web engine listen to text spacing overrides, improving the text rendering on the web. Authored by Renzo Olivares and reviewed by Mouad Debbar, LongCatIsLooong, and Loïc Sharma.
First-time Contributors
pubspec.yaml.DeviceOrientationBuilderwidget.Piinks commentedon Nov 21, 2025
November 15, 2025 to November 21, 2025
Details
This week, we landed 130 commits to the Flutter framework, which will be in version 3.39 or later. We also welcomed 1 new contributor to the project!
Compiled with care with Gemini-CLI. 🤖 😉
Framework
#174014 New
RepeatingAnimationBuilderfor simplified looping animations! 🎬Creating continuous, looping animations is now easier than ever with the new
RepeatingAnimationBuilderwidget. This addition simplifies the setup for common animation patterns, like spinners or pulsators, by managing theAnimationControllerinternally.#177705 Autocomplete options now show even after a selection. 🧠
The
RawAutocompletewidget has been improved to continue showing suggestions even after an option has been selected, providing a more intuitive user experience.#178372
TrainHoppingAnimationnow correctly notifies status listeners. 🚂A fix to
TrainHoppingAnimationensures that status listeners are properly notified of changes, making animations that switch between controllers more reliable.#178640
DropdownMenuFormFieldgains adecorationBuilder. 🎨You can now dynamically customize the decoration of a
DropdownMenuFormFieldusing the newdecorationBuilderproperty, allowing for more flexible and interactive designs.#177477 Accessibility performance gets a boost. ⚡️
A performance optimization to
computeChildGeometrymakes accessibility calculations slightly faster, contributing to a smoother experience for users of accessibility services.#178799 Modernized windowing API usage. 🖼️
The framework now uses the modern
WidgetsBinding.instance.platformDispatcherin windowing APIs instead of the olderPlatformDispatcher.instance, improving consistency and future-proofing the code.Engine
#178418 Impeller now supports r32float textures. 📈
This change adds support for
r32floattextures to Impeller, enabling new rendering possibilities and performance optimizations, especially for shaders that only need a single float channel.#178833 Impeller on Vulkan gets smarter about device support. 📱
To improve stability, Impeller will now deny-list Adreno 640 and 650 GPUs for Vulkan eligibility, preventing potential rendering issues on those devices.
Tool
#178840 Native hooks build system gets its own output directory. 🛠️
The build system for native hooks now uses a separate output directory, preventing conflicts with the primary build and improving build reliability.
Platforms
Windows
#178523 Windows Enter key behavior is now more reliable. ⌨️
A bug has been fixed where the Enter key could be dropped after the app window lost and regained focus, improving the user experience on Windows.
macOS
#178625 macOS framework layout fixed for code assets. 📦
This change corrects the layout of macOS frameworks for code assets, ensuring that they are structured correctly and improving the reliability of native code integration.
#176893 Dialog windows are now implemented for macOS. 💬
You can now create dialog windows on macOS, a long-awaited feature that brings more platform-native UI capabilities to Flutter apps on the desktop.
iOS
#178700 UIScene migration is now enabled. 📱
Flutter apps on iOS will now use the modern UIScene-based lifecycle, improving compatibility with the latest iOS features and ensuring a more robust app experience.
Bug Fixes
Zero-size crash fixes for multiple widgets. 🐛
A number of widgets have been made more robust against crashes when they are given a zero size, improving the overall stability of the framework. This includes
TextSelectionToolbarTextButton,CupertinoSpellCheckSuggestionsToolbar,TabBar,ToggleButtons,ReorderableListView, andTabPageSelector.PRs:
First-time Contributors
A huge welcome to our new contributor this week! 🎊
Piinks commentedon Dec 12, 2025
November 22, 2025 to December 12, 2025
Details
Since the last report, nearly 300 commits landed in the Flutter project, which should be in version 3.40 or later. We also welcomed 3 new contributor to the project!
Compiled with care with Gemini-CLI. 🤖 😉
Framework
#179179 Fix draggable scrollable sheet example drag speed is off. This change fixes an issue in the
DraggableScrollableSheetexample where the sheet would not correctly follow the pointer when dragged off-screen and back, improving the examples's usability and demonstrating correct implementation.#179352 Reland: Add framework-side hitTestBehavior support to Semantics. This change re-introduces
hitTestBehaviorto the semantics framework, allowing platform views to correctly receive pointer events inside modal routes, which fixes a regression and improves accessibility.#179132 Fix the issue with pinned headers in nested SliverMainAxisGroup. This change fixes a visual bug in nested
SliverMainAxisGroups where pinned headers would overlap during scrolling, ensuring they now correctly push each other off-screen as expected.#175515 added onUserInteractionIfError for form. This change introduces a new
AutovalidateMode,onUserInteractionIfError, for forms, which improves user experience by deferring validation until a user interacts with a field that already contains an error.#179199 Fix Scrollbar drag behavior. This change fixes an issue where a scrollbar could not be dragged when the
CustomScrollViewhad acentersliver with no children, improving the robustness of scroll behavior.#176927 feat: Add
mainAxisExtentparameter toGridViewconstructors. This change adds amainAxisExtentparameter toGridViewconstructors, allowing developers to set a fixed height for grid items, which provides more control over the layout, especially across different screen sizes and orientations.Engine
#179426 Use depth buffer to implement geometry overdraw protection. This change improves rendering performance by using the depth buffer for geometry overdraw protection, replacing the previous, less efficient stencil-based approach.
#179519 Implements decodeImageFromPixelsSync. A new synchronous
decodeImageFromPixelsSyncmethod provides a more performant way to create images from raw pixel data, which is especially useful for graphics-intensive applications like chaining fragment shaders.#178691 Adds format argument to Picture.toImageSync. The
Picture.toImageSyncmethod now accepts aformatargument, giving developers more control over the pixel format of the resulting image and enabling more advanced graphics techniques.#175442 [wimp] Initial Impeller on Web implementation. This change introduces the initial implementation of the Impeller rendering engine for the web, a major step towards improving rendering performance and fidelity on the web platform.
Platform
#179538 [win32] Do not flood message loop with wake up messages. This change improves the responsiveness of Flutter applications on Windows by preventing the message loop from being flooded with wake-up messages, especially when the Dart event loop is busy.
#179659 [ios][pv] accept/reject gesture based on hitTest (with new widget API). Developers now have more control over gesture handling in
UiKitViewwith the newgestureBlockingPolicy, which allows specifying how gestures are blocked or passed to the underlyingUIView.#179528 Ensure that the engine converts std::filesystem::path objects to UTF-8 strings on Windows. This change fixes a bug on Windows where applications would fail to launch if their build path contained non-UTF-8 characters.
#179484 Implement flutter/accessibility channel. This change implements the accessibility channel on Linux, enabling screen reader support for semantic announcements and live regions.
#179153 [ios] Reland Dynamic Content Resizing. The
FlutterViewon iOS can now automatically resize based on its content by setting theisAutoResizableflag, which is a significant improvement for add-to-app scenarios.#179310 Replace use of eglCreateImage with eglCreateImageKHR to reduce EGL requirement. This change lowers the EGL version requirement on Linux by replacing
eglCreateImagewitheglCreateImageKHR, which fixes application startup failures on some systems.#177653 [Windows] Allow apps to prefer high power GPUs. Windows developers can now request a high-performance GPU for their applications, which is beneficial for games and other graphics-intensive applications.
Tool
#175900 Exit with code 1 when calling
flutter buildwithout arguments. Theflutter buildcommand will now exit with a non-zero error code when no subcommand is provided, preventing unexpected behavior in CI/CD pipelines and other scripts.#178116 [ Widget Preview ] Add embedded Widget Inspector support. Widget previews now feature an embedded Widget Inspector, allowing developers to inspect their previews directly in the browser without needing a special IDE debug session.
First-time Contributors
Congratulations to our new first-time contributors! Thank you for contributing to Flutter. 💙
flutter buildwithout arguments.mainAxisExtentparameter toGridViewconstructors.Piinks commentedon Jan 24, 2026
December 13, 2025 to December 31, 2025
As we close out this issue for 2025, the Flutter team and community have been hard at work! This period saw 206 commits land in the main repository. We saw significant improvements in Material theming, platform-specific refinements for Linux and iOS, and better error handling to improve developer experience. We also welcomed 5 new contributors to the project!
Compiled with care with Gemini-CLI. 🤖 😉
Framework & Material
#180001 Introducing
SnackBarThemeDevelopers can now style SnackBars globally with a dedicated theme, simplifying consistency across applications.
#179736 New
FloatingActionButtonThemeA new theme class allows for more granular and global control over Floating Action Button styles.
#179661 Customizable Slider Value Indicator
The new
Slider.showValueIndicatorproperty gives developers control over when the value indicator is displayed.#178098 Enhanced ListTiles
CheckboxListTile,SwitchListTile, andRadioListTilenow support property passthrough, making them more flexible.#179210 NestedScrollView Pinned Header Fix
Fixed an issue where headers in
NestedScrollViewwouldn't stay pinned correctly, ensuring smoother scrolling experiences.#171348 Cupertino Sheet Top Gap
Added a top gap property to Cupertino sheets, allowing for better visual spacing customization on iOS.
#175473 iOS-Style Blurring
Implemented iOS-style blurring support in the framework, utilizing new engine capabilities for more native-like visuals. 🍎
#180329, #180280, #179995
Fixed multiple crashes that could occur when widgets like
DecoratedBox,CheckedModeBanner, and others were rendered in a 0x0 environment.Engine & Performance
#178370 Optimized Shadow Algorithm
A new, optimized algorithm for general convex path shadows improves rendering performance. ⚡
#179927 Named Vector Uniforms
Added the ability to set vector uniforms by name, simplifying shader management in the engine.
Platform, Tooling & Ecosystem
#178561 Extended Keyboard Shortcuts
Added support for
Shift-Delete,Ctrl-Insert, andShift-Insertshortcuts, improving desktop text editing familiarity. ⌨️#180013 Linux Input Hints
The Linux embedding now correctly sets text input purpose and hints, improving IME integration on Linux. 🐧
#180026 Web Cross-Origin Isolation
A new
--cross-origin-isolationflag forflutter runallows developers to test web apps with isolation enabled easily. 🌐#179581 Android Web Resize Fix
Resolved an issue where
resizeToAvoidBottomInsetwas not behaving correctly on Android web.#177855 Cyrillic Keyboard Support in Tools
Added Cyrillic keyboard layout support for terminal commands in
flutter_tools.#178823 Clearer Container Errors
Improved error messages for
Containercolor and decoration conflicts to be more actionable for developers.#178895 NBSP Character Warning
Added a helpful error description when a non-breaking space character (
\u202f) causes parsing issues.First-time Contributors
We are thrilled to welcome 5 new contributors who made their first commit to Flutter this period! 🎉
Adwaita Sansas a font fallback on Linux.adb logcat.Piinks commentedon Jan 24, 2026
And a fabulous year it was, moving on to 2026!