Repository navigation
Comparing changes
Open a pull request
base repository: flutter/flutter
base: 31a8481cd14c
head repository: flutter/flutter
compare: ee23168ddb5d
- 14 commits
- 28 files changed
- 8 contributors
Commits on Nov 6, 2025
-
[tool] Fix IP parsing by using Uri constructor (#178083)
Also DRY'd up use of `"any"` constant is several places. Fixes #178082
Configuration menu - View commit details
-
Copy full SHA for e979e16 - Browse repository at this point
Copy the full SHA e979e16View commit details -
Use aria-hidden attribute for platform view accessibility on web (#17…
…7969) Use aria-hidden attribute for platform view accessibility on web Before change: https://map-1023-before.web.app/ After change: https://map-1023-after.web.app/ Fixes #171948. Note: When a descendant element receives focus (for example, a marker), the browser automatically overrides aria-hidden. This behavior is correct and expected for accessibility compliance.
Configuration menu - View commit details
-
Copy full SHA for f19a80a - Browse repository at this point
Copy the full SHA f19a80aView commit details -
Respect product flavor abiFilters by adding a
disable-abi-filtering…… Android project flag. (#177753) This PR introduces a flag (`disable-abi-filtering`) that disables the FlutterPlugin's abiFiltering on buildTypes. This should only be used when the developers know what they are doing. Specifically this allows developers to set their own abiFilters in ProductFlavors or defaultConfig. Because Gradle has complex merging logic, there is a hierarchy of priority when calculating settings (like abiFilters). For example: defaultConfig < productFlavors < buildTypes when combining the three into the final build variant. If abiFilters are set in buildType, it will override abiFilters in productFlavors. When the FlutterPlugin executes, it cannot know about the developers build.gradle settings and therefore we cannot add logic that checks to see if abiFilters are set in productFlavors. Therefore, this flag gives developers an escape hatch so they can implement what they want. Fixes: #175845 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing.
Configuration menu - View commit details
-
Copy full SHA for 767fac1 - Browse repository at this point
Copy the full SHA 767fac1View commit details -
Allow label to be used to compute InputDecorator Intrinsic width (#17…
…8101) ## Description This PR adds `InputDecorator.maintainLabelSize` (similar to `InputDecorator.maintainHintSize`) to allow the label to be used in the intrinsic width calculation (if could be used for the intrinsic height calculation later if needed). I opted for this flag (and defaulting to false) because changing the default calculation would probably break various usages. See #178099 (comment) for why this change will be helpful to simplify and fix DropdownMenu implementation. ## Before The label might be cut off: <img width="126" height="71" alt="Screenshot 2025-11-05 at 20 16 43" src="https://github.com/user-attachments/assets/61d9f817-5c58-43f9-9307-976f9c124ec7" /> ## After The label is entirely visible because it is part of the intrinsic width calculation: <img width="126" height="71" alt="Screenshot 2025-11-05 at 20 16 09" src="https://github.com/user-attachments/assets/47360e17-3cde-4f05-8a6b-cc9e86644ffc" /> ## Related Issue Fixes [DropdownMenu menu panel does not close when pressing ESC and requestFocusOnTap is false](#177993) Part of #123797 ## Tests - Adds 4 tests. - Updates 1 non-related test where I spotted some nits.
Configuration menu - View commit details
-
Copy full SHA for 411566a - Browse repository at this point
Copy the full SHA 411566aView commit details -
Add haptic notifications support. (#177721)
Closes #150029 ### Description - Adds `successNotification`, `warningNotification` and `errorNotification` haptics to the framework - Adds `UINotificationFeedbackTypeSuccess`, `UINotificationFeedbackTypeWarning` and `UINotificationFeedbackTypeError` haptics support on iOS - Adds `HapticFeedbackConstants.CONFIRM` and `HapticFeedbackConstants.REJECT` haptics support on Android - Adds tests | iOS | Android | Web | |:-:|:-:|:-:| | UINotificationFeedbackTypeSuccess | HapticFeedbackConstants.CONFIRM | 20ms vibration | | UINotificationFeedbackTypeWarning | HapticFeedbackConstants.KEYBOARD_TAP | 20ms vibration | | UINotificationFeedbackTypeError | HapticFeedbackConstants.REJECT | 30ms vibration | ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Configuration menu - View commit details
-
Copy full SHA for c0e0529 - Browse repository at this point
Copy the full SHA c0e0529View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e94ac4 - Browse repository at this point
Copy the full SHA 1e94ac4View commit details
Commits on Nov 7, 2025
-
fix: findChildIndexCallback to take seperators into account for seper…
…ated named constructor in ListView and SliverList (#174491) FindChildIndexCallback to take seperators into account for seperated named constructor in ListView and SliverList fixes: #174261 ## Migration guide flutter/website#12636 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
Configuration menu - View commit details
-
Copy full SHA for 8308135 - Browse repository at this point
Copy the full SHA 8308135View commit details -
Roll Fuchsia Linux SDK from cm88aTLui5yorSGYQ... to qDVe2mrpSgQdxra7p…
…... (#178144) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 58e5b30 - Browse repository at this point
Copy the full SHA 58e5b30View commit details -
Roll Skia from 116f237bb39d to 360fe72b5bf4 (4 revisions) (#178146)
https://skia.googlesource.com/skia.git/+log/116f237bb39d..360fe72b5bf4 2025-11-06 [email protected] Add script and language to SkShaper::RunHandler 2025-11-06 [email protected] Add kR16_unorm_SkColorType 2025-11-06 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2025-11-06 [email protected] Roll vulkan-deps from c8f0766414a4 to feb8f7b1cf78 (3 revisions) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 3ee372c - Browse repository at this point
Copy the full SHA 3ee372cView commit details -
Roll Skia from 360fe72b5bf4 to eb3c5b280ae6 (1 revision) (#178147)
https://skia.googlesource.com/skia.git/+log/360fe72b5bf4..eb3c5b280ae6 2025-11-07 [email protected] Roll Skia Infra from ff55757db3ba to 97d930843592 (21 revisions) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for b296302 - Browse repository at this point
Copy the full SHA b296302View commit details -
Roll Skia from eb3c5b280ae6 to f838c4b31edb (3 revisions) (#178149)
https://skia.googlesource.com/skia.git/+log/eb3c5b280ae6..f838c4b31edb 2025-11-07 [email protected] Roll ANGLE from 8c5e129d48ad to eea1fcf95a58 (2 revisions) 2025-11-07 [email protected] Roll Dawn from 516bf37a739d to 090cac345695 (15 revisions) 2025-11-07 [email protected] Roll SwiftShader from 153470c12fdf to 1e0c6ee5dcff (1 revision) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for da952a4 - Browse repository at this point
Copy the full SHA da952a4View commit details -
Roll Skia from f838c4b31edb to 581d1ecd5029 (1 revision) (#178157)
https://skia.googlesource.com/skia.git/+log/f838c4b31edb..581d1ecd5029 2025-11-07 [email protected] Roll vulkan-deps from feb8f7b1cf78 to a34bdd1b0084 (2 revisions) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 00e8d9f - Browse repository at this point
Copy the full SHA 00e8d9fView commit details -
Fix text input actions in DropdownMenu. (#177313)
Fixes #177009 ### Description - Moves `MenuButton` submit logic from `onEditingComplete` to `onSubmitted` to allow `TextField` to handle the `textInputAction` logic - Wraps each item into `ExcludeFocus` to enable proper `TextInputAction.previous` handling. If we don't wrap each child in `ExcludeFocus`, then focus will be moved to one of them, which is not the expected behavior for `TextInputAction.previous`. | BEFORE | AFTER | | - | - | | <video alt="before" src="https://github.com/user-attachments/assets/a50d41de-7e54-409b-bf81-80dfb1db132f" /> | <video alt="after" src="https://github.com/user-attachments/assets/152e47e6-d774-481c-8478-af526b5f6749" /> | <details closed><summary>Code sample</summary> ```dart import 'package:flutter/material.dart'; void main() { runApp(const DropdownMenuExample()); } class DropdownMenuExample extends StatefulWidget { const DropdownMenuExample({super.key}); @OverRide State<DropdownMenuExample> createState() => _DropdownMenuExampleState(); } class _DropdownMenuExampleState extends State<DropdownMenuExample> { final FocusNode _previousFocusNode = FocusNode(debugLabel: 'previous'); final FocusNode _textFieldFocusNode = FocusNode(debugLabel: 'textField'); final FocusNode _nextFocusNode = FocusNode(debugLabel: 'next'); @OverRide void dispose() { _previousFocusNode.dispose(); _textFieldFocusNode.dispose(); _nextFocusNode.dispose(); super.dispose(); } @OverRide Widget build(BuildContext context) { return MaterialApp( theme: ThemeData(colorSchemeSeed: Colors.green), home: Scaffold( body: Center( child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, spacing: 20, children: [ TextField( focusNode: _previousFocusNode, textInputAction: TextInputAction.next, decoration: InputDecoration( border: OutlineInputBorder(), labelText: 'Previous TextField', ), ), DropdownMenu<String>( label: Text('Dropdown with filter cannot close keyboard'), initialSelection: 'green', focusNode: _textFieldFocusNode, requestFocusOnTap: true, showTrailingIcon: false, textInputAction: TextInputAction.next, onSelected: (String? color) { print('SELECTED $color'); }, dropdownMenuEntries: [ DropdownMenuEntry(value: 'red', label: 'red'), DropdownMenuEntry(value: 'green', label: 'green'), DropdownMenuEntry(value: 'blue', label: 'blue'), ], ), TextField( focusNode: _nextFocusNode, textInputAction: TextInputAction.done, decoration: InputDecoration( border: OutlineInputBorder(), labelText: 'Next TextField', ), ), ], ), ), ), ); } } ``` </details> There is still one behavior I would like to discuss. When the `showTrailingIcon: true` and `textInputAction: TextInputAction.previous` are used, the focus moves not to the previous field but to the `IconButton`. If we wrap the `IconButton` with `ExcludeFocus`, then this is fixed, but I am not sure whether this is the correct way to proceed. | TextInputAction.previous and no ExcludeFocus on IconButton | TextInputAction.previous and ExcludeFocus on IconButton | | - | - | | <video alt="before" src="https://github.com/user-attachments/assets/76c90dcf-3ea1-492f-8e67-7e987b08c2ff" /> | <video alt="after" src="https://github.com/user-attachments/assets/2a1600a2-e308-430e-a12f-acdc06cbf81c" /> | ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [ ] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Configuration menu - View commit details
-
Copy full SHA for fc3c5a2 - Browse repository at this point
Copy the full SHA fc3c5a2View commit details -
Roll Packages from f13bad3 to 3caa48b (5 revisions) (#178164)
flutter/packages@f13bad3...3caa48b 2025-11-06 [email protected] [go_router] Migrates test for leak testing (flutter/packages#10276) 2025-11-06 [email protected] Run tests on macOS 15.5 or 15.7 (flutter/packages#10336) 2025-11-06 [email protected] [pigeon] Encode custom enum as long in Kotlin generator (flutter/packages#10085) 2025-11-06 [email protected] [tool] Ensure that all packages format with correct language version (flutter/packages#10374) 2025-11-06 [email protected] Roll Flutter from e5d5c01 to c5e809a (29 revisions) (flutter/packages#10369) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
4Configuration menu - View commit details
-
Copy full SHA for ee23168 - Browse repository at this point
Copy the full SHA ee23168View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 31a8481cd14c...ee23168ddb5d