85113 Commits

Author SHA1 Message Date
Matan Lurey
05db968908
Prepare to publish 3.35.2 (#174377)
... more `CHANGELOG.md` updates, another bump to `engine.revision`.
3.35.2
2025-08-25 17:21:35 +00:00
flutteractionsbot
a8bfdfc394
[CP-stable]_downloadArtifacts (Web SDK) uses content-aware hashing in post-submit (#174309)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

< Replace with issue link here >

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

< Replace with changelog description here >

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

< Replace with impact description here >

### Workaround:
Is there a workaround for this issue?

< Replace with workaround here >

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

< Replace with validation steps here >
2025-08-22 23:51:12 +00:00
Ben Konyi
1a6b80dd98
[ Tool ] Roll DWDS to fix ExistingDartDevelopmentServiceException (#174306)
Fixes https://github.com/flutter/flutter/issues/171758
2025-08-22 21:08:33 +00:00
flutteractionsbot
e3dff51423
[CP-stable]Skip wasm build when dry run is disabled and --wasm is not specified. (#174263)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

< Replace with issue link here >

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

< Replace with changelog description here >

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

< Replace with impact description here >

### Workaround:
Is there a workaround for this issue?

< Replace with workaround here >

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

< Replace with validation steps here >
2025-08-22 19:57:02 +00:00
Matan Lurey
7c87002edc
[3.35] Update engine.version and CHANGELOG.md (#174173)
... for a patch release.

---------

Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
2025-08-21 14:06:00 -04:00
flutteractionsbot
79bd2849d9
[CP-stable]fix: Android build fails when minSdk is set below 24 in build.gradle.kts (#173823) (#174132)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
https://github.com/flutter/flutter/issues/173823

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

On Android builds that do not use flutter.minSdkVersion and do use a value lower than 24 in a kotlin build file, correct flutters auto migration to update value with kotlin syntax. https://github.com/flutter/flutter/pull/173825 

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

3.35 bumped the min android api level to api 24. We have an auto migrator to handle if users did not use flutter.minSdkVersion and did set an integer to auto update. The auto update logic produces a syntax error in kotlin build files but the matcher matches kotlin build files. CP is a good idea because 3.35 users are the most likley to be impacted. 

### Workaround:
Is there a workaround for this issue?

Manually edit build.gradle.kts

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Take flutter build that uses minsdk 22, update to flutter 3.35 and run flutter build apk.
2025-08-21 00:15:29 +00:00
Mouad Debbar
d345538bae
[CP-stable][web] Fix error in ClickDebouncer when using VoiceOver (#174129)
This pull request was created manually.

### Issue Link:

https://github.com/flutter/flutter/issues/173741

### Changelog Description:

Fix a bug that prevents screen readers from pressing buttons through keyboard shortcut.

### Impact Description:

A11y for buttons (or any tappables) is broken in Flutter Web.

### Workaround:
Is there a workaround for this issue?

No.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Follow repro steps in https://github.com/flutter/flutter/issues/173741
2025-08-20 17:41:22 +00:00
Ben Konyi
812b771a7f
[CP-stable][ Widget Preview ] Report an error if a web device is unavailable (#174036) (#174085)
### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/173960

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Starting the widget previewer fails if Chrome or Edge is not installed.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

The Flutter tool crashes with a `StateError` if `flutter widget-preview start` is run on a host with no Chrome or Edge installed without providing any meaningful error message.

### Workaround:
Is there a workaround for this issue?

Installing Chrome or Edge, but it's not clear that this needs to be done based on the failure mode.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Run `flutter widget-preview start` on a device without Chrome or Edge and verify that there's an error message telling users to install Chrome or Edge.
2025-08-20 13:56:09 +00:00
flutteractionsbot
eb377b1bd6
[CP-stable]Check that the windows architecture is 64-bit and not the process architecture (#174063)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/174017

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Fixes an issue when running a 32-bit process on a 64-bit Windows system

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Cannot run

### Workaround:
Is there a workaround for this issue?

No

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Trust the force.
2025-08-20 13:56:07 +00:00
flutteractionsbot
03e97fb327
[CP-stable][ Widget Preview ] Don't crash when directory watcher restarts on Windows (#174055)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/173895

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

When running on Windows, `flutter widget-preview start` eventually crashes due to an unhandled exception from the Windows file system watcher that should not be considered fatal.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Given enough time, the file system watcher backing the `WindowsDirectoryWatcher` instance will add an error to the stream with the `Directory watcher closed unexpectedly` message. The `WindowsDirectoryWatcher` restarts the backing file system watcher, but if the event stream doesn't have an error handler registered, the tool crashes due to the unhandled exception.

### Workaround:
Is there a workaround for this issue?

No.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Run `flutter widget-preview start` on Windows for a prolonged period of time.
2025-08-20 13:53:55 +00:00
flutteractionsbot
18ecd8541d
[CP-stable]Add open_jdk to Linux linux_android_emulator.debug_x64 (#174078)
This pull request is created by [automatic cherry pick
workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate
this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

Stablize infrastructure.

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter
developers. See [best
practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md)
for examples

N/A

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot
ship an iOS app)? Does it impact development (ex. flutter doctor crashes
when Android Studio is installed), or the shipping production app (the
app crashes on launch)

Failed pre-submit/post-submit builds that are not actionable.

### Workaround:
Is there a workaround for this issue?

No

### Risk:
What is the risk level of this cherry-pick?

  - [x] Low
  - [ ] Medium
  - [ ] High

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

  - [ ] Yes
  - [x] No

### Validation Steps:
What are the steps to validate that this fix works?

You can merge PRs.

Co-authored-by: Matan Lurey <matanlurey@users.noreply.github.com>
2025-08-19 17:40:16 -04:00
flutteractionsbot
794ba1c712
[CP-stable]Add open_jdk to Linux analyze (#174076)
This pull request is created by [automatic cherry pick
workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate
this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

Stablize infrastructure.

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter
developers. See [best
practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md)
for examples

N/A

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot
ship an iOS app)? Does it impact development (ex. flutter doctor crashes
when Android Studio is installed), or the shipping production app (the
app crashes on launch)

Failed pre-submit/post-submit builds that are not actionable.

### Workaround:
Is there a workaround for this issue?

No

### Risk:
What is the risk level of this cherry-pick?

  - [x] Low
  - [ ] Medium
  - [ ] High

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

  - [ ] Yes
  - [x] No

### Validation Steps:
What are the steps to validate that this fix works?

You can merge PRs.

Co-authored-by: Matan Lurey <matanlurey@users.noreply.github.com>
2025-08-19 17:40:01 -04:00
Byoungchan Lee
44ff99c0ee
[CP] Blocks exynos9820 chip from vulkan (#173981)
(cherry picked from commit 4abea340e19db0c8cf2df804104335a503e37ec0)

Fixes of #171992 for the stable branch.
Cherry-pick of [https://github.com/flutter/flutter/pull/173807](https://github.com/flutter/flutter/pull/173807) onto stable.

**Impacted Users**
Developers and end-users of Flutter applications running on Samsung Galaxy S10 or Note 10 series devices equipped with Exynos 9820/9825 SoCs.

**Impact Description**
Due to malfunctioning Vulkan drivers on these SoCs, platform views that rely on `SurfaceView` fail to render correctly. The original PR addresses this by blocklisting the affected SoCs, forcing them to use Impeller with OpenGL ES instead of Vulkan.

**Workaround**
Aside from setting `io.flutter.embedding.android.ImpellerBackend` (which is not available in production) or disabling Impeller entirely, there is no practical workaround for this issue on affected devices.

**Risk**
The risk of this cherry-pick is low. The original PR only adds specific SoCs to the blocklist and renames a static variable, which does not affect other devices regardless of whether they use this mechanism.

**Test Coverage**
Due to the nature of the issue and the fix, validation can only be performed through manual testing on the affected devices. As the reporter of the original issue, I have verified the fix on the Galaxy S10 5G(SM-G977N, Exynos 9820), confirming that the change resolves the rendering problem.

**Validation Steps**

1. Create a test Flutter app that uses a platform view with `SurfaceView` (e.g., [https://github.com/bc-lee/test-flutter-android-texture](https://github.com/bc-lee/test-flutter-android-texture) or [https://github.com/gaaclarke/surface_platformview](https://github.com/gaaclarke/surface_platformview)).
2. Run the app on the targeted devices.
3. Verify that the application renders correctly without graphical issues.

**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
2025-08-19 18:37:59 +00:00
Ben Konyi
e20f7cf0dd
[ Widget Preview ] Fix null assertion when trying to add @Preview() to invalid nodes (#173979)
Fixes https://github.com/flutter/flutter/issues/173959

This is a top-10 crasher on `3.35.{0,1}`, but the underlying preview detection logic has been completely rewritten since the stable branch cut.
2025-08-19 18:36:47 +00:00
Seth Ladd
f87e9cd135
Update CHANGELOG.md to include link to 3.35 changelog (#173869)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

add link to 3.35 blog post as proxy for 3.35 changelog

- [ x] I signed the [CLA].
2025-08-18 18:32:08 +00:00
Matan Lurey
20f8274939
[3.35] Update CHANGELOG.md for 3.35.0 + 3.35.1 (#173787)
Note https://github.com/flutter/flutter/issues/173785.
3.35.1
2025-08-14 17:53:09 +00:00
Matan Lurey
b896255557
[3.35] Update engine.version (#173748)
For 1e9a811bf8e70466596bcf0ea3a8b5adb5f17f7f.
3.35.0
2025-08-14 00:14:08 +00:00
flutteractionsbot
1e9a811bf8
[3.35] Do not include :unittests unless enable_unittests (#173734)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/173728

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

N/A

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Skips building Android unit tests during the engine release builder

### Workaround:
Is there a workaround for this issue?

No

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

The release builder step works.
2025-08-13 23:35:25 +00:00
Robert Ancell
afefd5da0b
[beta] Cherry pick fix GTK redraw call being called from non-GTK thread (#173667)
Cherry pick of https://github.com/flutter/flutter/pull/173602

Impacted users: All Linux users of Flutter
Impact Description: Due to calling gtk_window_redraw on a Flutter thread a lock up may occur. The Flutter app will then become unresponsive.
Workaround: No workaround
Risk: Low - fix is to run the GTK call on the GTK thread which is what the correct behaviour should be.
Test coverage: Rendering covered by existing tests, use of thread not explicitly tested, but https://github.com/flutter/flutter/issues/173660 opened to add this in future.
Validation Steps: Run test program in https://github.com/flutter/flutter/issues/173447 which generates many frames and maximizes the chance of a lock up.
2025-08-13 16:06:05 +00:00
Camille Simon
1ddd180d85
Update Dart revision for 3.35 stable release (#173582)
Updates Dart has for 3.35 stable release to Dart 3.9 hash -- https://dart.googlesource.com/sdk/+/54588cb8088890ea08fe1a31b95efe478a4609b5.

Steps I took:

1. Updated hash to desired version.
2. Run `engine/src/tools/dart/create_updated_flutter_deps.py -f DEPS` to update any Dart dependencies if needed (none updated).
3. Updated `engine/src/flutter/ci/licenses_golden/licenses_dart` with diff produced in error from https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_license/36032/overview build failure.

**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
2025-08-12 00:45:44 +00:00
Victoria Ashworth
24a5c77554
[CP beta] Use LLDB as the default debugging method for iOS 17+ and Xcode 26+ (#173443) (#173472)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
Part 2 of https://github.com/flutter/flutter/issues/144218

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Implementation of a future fix to allow Xcode 26 to `flutter run` twice in a row.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Flutter developers running Xcode 26 can `flutter run` to a tethered iOS device once. However subsequent `flutter run` attempts are likely to fail. 

### Workaround:
Is there a workaround for this issue?

Quitting and reopening Xcode.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Create a flutter project and run `flutter run` twice in a row with a physical iOS 17+ device and Xcode 26.
3.35.0-0.3.pre
2025-08-08 19:32:03 +00:00
flutteractionsbot
a10c95095d
[CP-beta]Prepare for iOS debugging with lldb and devicectl (#173439)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
Part 1 of https://github.com/flutter/flutter/issues/144218

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Preliminary work for a future fix to allow Xcode 26 to `flutter run` twice in a row.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Flutter developers running Xcode 26 can `flutter run` to a tethered iOS device once. However subsequent `flutter run` attempts are likely to fail. This is the first of several PRs to work around that issue.

### Workaround:
Is there a workaround for this issue?

Quitting and reopening Xcode.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

N/A. This PR adds the classes and functions needed for a future commit, which will turn the new feature on.
2025-08-07 23:30:21 +00:00
flutteractionsbot
40aecd76fc
[CP-beta][ios26]Do not report error for Info.plist key not found (#173438)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/172627

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Prevents a non-fatal error from causing Xcode compilation failures on macOS 26.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Building iOS flutter apps may crash with Xcode 26.

### Workaround:
Is there a workaround for this issue?

Add NSBonjourServices and NSLocalNetworkUsageDescription settings to your iOS app's Info.plist.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

1. `flutter create` a new app on macOS 26 beta
2. Install Xcode 26 beta 5
3. `flutter run`
2025-08-07 23:16:47 +00:00
Justin McCandless
91227618fd
Update engine version for 3.35-.03 (#173371)
Picks up two beta cherry picks: https://github.com/flutter/flutter/commits/flutter-3.35-candidate.0/

https://github.com/flutter/flutter/pull/173304
https://github.com/flutter/flutter/pull/173072
2025-08-07 18:57:03 +00:00
flutteractionsbot
01534568db
[CP-beta]Suppress deprecated iOS windows API in integration_test (#173304)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/154365#issuecomment-3156593687

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Suppress an iOS deprecation warning to unblock Xcode 26 testing in CI

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Blocks Xcode 26 from being tested for the pacakges repo in CI https://github.com/flutter/flutter/issues/170437

### Workaround:
Is there a workaround for this issue?

No. Packages runs the Xcode analyzer against the Flutter master and stable branches, so this deprecation suppression must go to stable ASAP.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

Tested here:
de33a3b2ab/packages/integration_test/example/integration_test/matches_golden_test.dart (L43-L45)

### Validation Steps:
What are the steps to validate that this fix works?

Current CI analysis will pass with or without this suppression. However, we will no longer see failures like this in packages while upgrading to Xcode 26, or increasing the minimum target version.
```
integration_test/Sources/integration_test/IntegrationTestPlugin.m:76:55: error: 'windows' is deprecated: first deprecated in iOS 15.0 - Use UIWindowScene.windows on a relevant window scene instead [-Werror,-Wdeprecated-declarations]
  UIWindow *window = [UIApplication.sharedApplication.windows
```
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8738245141115055857/+/u/Run_package_tests/xcode_analyze_deprecation/stdout
From https://github.com/flutter/packages/pull/7542
2025-08-06 19:45:58 +00:00
flutteractionsbot
659d9553df
[CP-beta][web] ClickDebouncer workaround for iOS Safari click behavior (#173072)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/172180

### Changelog Description:

Fix a bug that causes the web engine to double report taps on dropdown menu items on iOS Safari.

### Impact Description:

It breaks Flutter Web apps that use dropdown menus with semantics enabled on iOS Safari.

### Workaround:
Is there a workaround for this issue?

No.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Follow repro steps in https://github.com/flutter/flutter/issues/172180
2025-08-06 19:44:18 +00:00
Jackson Gardner
26b84dd770
Update engine.version again for 3.35-0.2 (#173116)
The most recent change to fix CI on the beta branch actually touches engine unit tests, so we need to bump the engine.version again.
3.35.0-0.2.pre
2025-08-01 17:10:56 +00:00
flutteractionsbot
52cc75c624
[CP-beta][web] Text editing test accepts both behaviors in Firefox (#173053)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)

### Issue Link:
https://github.com/flutter/flutter/issues/172713

### Changelog Description:
Fix web engine unit tests to work on multiple versions of Firefox.

### Impact Description:
Without this fix, some unit tests fail fairly regularly on Firefox.

### Workaround:
This does not affect end-users, so no workaround necessary.

### Risk:
Low

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

Yes

### Validation Steps:
Run CI.
2025-07-31 20:23:08 +00:00
Jackson Gardner
f32d84f913
Update engine version for 3.35-0.2.pre (#172987) 2025-07-30 19:38:14 +00:00
flutteractionsbot
def9ff97c0
[CP-beta][ios]update provisioning profile for 2025-2026 cert for chromium bots (#172972)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/168427

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Updates the provisioning profile that Flutter's CI uses.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

This only impacts the release team. Without this patch, codesigning on try and prod chromium bots will fail.

### Workaround:
Is there a workaround for this issue?

No

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Run a test that requires codesigning, such as "Mac_x64 tool_host_cross_arch_tests"
2025-07-30 19:20:00 +00:00
flutteractionsbot
3284810aab
[CP-beta] Emit a warning on --[no-]disable-dds, preferring --no-dds (#172790)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/150279

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Emits a warning if `--[no-]disable-dds` is used, users should prefer `--[no-]dds`.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Gives a full stable release of warnings before removing a deprecated feature.

### Workaround:
Is there a workaround for this issue?

N/A

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

N/A
2025-07-29 16:51:02 +00:00
flutteractionsbot
31cf7a8ce2
[CP-beta]Update warnGradleVersion to 8.7.0 (#172787)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/172789

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples
https://github.com/flutter/flutter/issues/172789 
https://github.com/flutter/flutter/issues/172789 Using a lower version of Gradle results in a warning message to bump to a minimum of version `8.7.2`, but the warning should bump to a minimum of version `8.7.0`

Reids edit: 
[flutter/172789](https://github.com/flutter/flutter/issues/172789) When building for Android, Change warning for minimum gradle version from 8.7.2 to 8.7.0.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

When on a lower version of Gradle, Flutter tooling would log a suggestion to bump to a minimum of `8.7.0` instead of `8.7.2`

### Workaround:
Is there a workaround for this issue?

Yes, the user would bump to a higher valid version of Gradle.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Use a low version of gradle and see that the Flutter tool recommends using gradle `8.7.0`
2025-07-28 13:41:10 +00:00
flutteractionsbot
4a371c9d95
[CP-beta]Fix: Ensure Text widget locale is included in semantics language tag (#172711)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/162324

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

This PR fixes a bug where the locale property of a Text widget was not being correctly passed to the accessibility layer, resulting in screen readers not knowing the language of the text.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

This bug critically impacted accessibility, causing screen readers to mispronounce text in foreign languages and creating a confusing, inaccessible experience for users with visual impairments. The fix ensures the locale property on the Text widget is no longer ignored, correctly passing the language information to the underlying accessibility services so the text is read intelligibly.

### Workaround:
Is there a workaround for this issue?

No.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Unit tests verify this change works as expected.
2025-07-25 19:09:23 +00:00
flutteractionsbot
789c3e3431
[CP-beta]Revert #160653 Fix view removal process for AutofillContextAction.cancel (#172675)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

#172250

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

Fixes a bug where `TextInput.hide` call incorrect clears the text in the active text field.

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

If an app calls `TextInput.hide` to hide the software keyboard, the user input in the current active text field will also be erased. It impacts the production app.
The framework itself doesn't seem to call `TextInput.hide` in a way that would affect the user.

### Workaround:
Is there a workaround for this issue?

Yes, in theory, developers can store and restore the `TextEditingValue`, when they need to call `TextInput.hide`, to undo the clear. However I suspect the reverted PR may also [break voiceover](https://github.com/flutter/flutter/issues/145681#issuecomment-3110985123).

### Risk:
What is the risk level of this cherry-pick?

This is a revert of #160653. The reverted PR was merged in February, and the previous implementation was [introduced in 2021](https://github.com/flutter/engine/pull/23776).

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

  - [] No

This change is a revert so the added test will also get reverted.

### Validation Steps:
What are the steps to validate that this fix works?

To verify the fix on master (it has already landed on master), run this app:
```dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SizedBox(
          child: ListView(
            children: [
              TextButton(
                child: Text('hide keyboard'),
                onPressed: () =>
                    SystemChannels.textInput.invokeListMethod("TextInput.hide"),
              ),
              TextField(
                controller: TextEditingController(text: '️a' * 20),
                maxLines: 1,
              ),
            ],
          ),
        ),
      ),
    );
  }
}
```
focus the text field and then click the hide keyboard button. The text "aaaaaa..." should remain after the button is clicked.
2025-07-25 18:51:53 +00:00
flutteractionsbot
da1b28974b
[CP-beta] Add a warning on usage of dartPluginClass: 'none'. (#172498)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/57497

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

N/A (Beta)

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Provides a CLI-issued warning to plugins using a workaround we wanted to remove in 2020.

Once this is CP'd in 3.35, the `master` branch (post-3.35) can remove the workaround/tech debt.

### Workaround:
Is there a workaround for this issue?

N/A

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

N/A
2025-07-22 15:09:15 +00:00
Matan Lurey
c0f2a1dd60
[3.35] Update engine.version (#172473)
to use, correctly, 1c9c20e7c3.
3.35.0-0.1.pre
2025-07-21 17:13:44 +00:00
flutteractionsbot
1c9c20e7c3
[CP-beta]Remove emoji from ci.yaml, because we still live with CP1252 for some silly reason (#172263)
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

https://github.com/flutter/flutter/issues/172257

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples

N/A

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

Cannot release (Windows builder fails)

### Workaround:
Is there a workaround for this issue?

No

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

Try publishing another release
2025-07-18 16:37:15 +00:00
Matan Lurey
d86b4e9fd5
[3.35] Update engine.version (+CPs Use release-*.version) (#172237)
Cherrypick's https://github.com/flutter/flutter/pull/172236 into the 3.35 release branch _and_ tests it live by setting `engine.version` in this PR.
3.35.0-0.0.pre
2025-07-16 19:49:11 +00:00
Matan Lurey
f85f6b62b6
[3.35] Create release-candidate-branch.version (#172191)
Towards https://github.com/flutter/flutter/issues/172014.
2025-07-15 23:42:09 +00:00
Matan Lurey
9e70384fba
Allow a release without engine cherrypicks (adds fallback logic) (#172184)
Closes https://github.com/flutter/flutter/issues/172179.
2025-07-15 22:26:23 +00:00
Kaylee Lubick
81e1d5ec26
[skia] Add missing param to makeRasterImage calls (#172122)
Skia's makeRasterImage takes a (now required) `GrDirectContext` param.
This updates Flutter to provide something there - either nullptr or a
context that seemed to be related.

## 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- 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
2025-07-15 22:16:00 +00:00
Mikhail Novoseltsev
adca65f43f
[Android] remove obsolete gradle api in FGP (#172085)
fixes #170791 

This PR replaces the deprecated (and removed in 9.0) Gradle fileMode API
in favor of filePermissions.
This change finally unlocks builds with gradle 9 (confirmed in smoke
tests, 9.0.0-rc.2 is the latest prerelease version to the date).

**Testing strategy**

There's an attempt to add a Kotlin unit test that confirms that
`filePermissions` were called during plugin application. I failed to
find a more precise way to check if the new code works as intended (such
as testing that permissions were really changed or something like that),
but on the other hand, it should not be required since it will transform
the test in a way that it will start to test Gradle APIs and their
behavior, and I believe it's a bit out of scope: Gradle APIs are tested
in Gradle tests :)

Anyway, this new test is a bit cumbersome because it's required to mock
all the behaviours related to variants configuration and capturing calls
– If it is not desired im not hesitant to remove it.

<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

## 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.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- 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
2025-07-15 21:11:53 +00:00
engine-flutter-autoroll
40cbea246d
Roll Skia from 8ffff8c8e01b to fec78c0da2e6 (6 revisions) (#172178)
https://skia.googlesource.com/skia.git/+log/8ffff8c8e01b..fec78c0da2e6

2025-07-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 4e8bc564952b to dd4d30b3bfd0 (2 revisions)
2025-07-15 kjlubick@google.com Build skottie-final without Bazel
2025-07-15 borenet@google.com [cdn] Use cdn.skia.org instead of
gs://skia-world-readable
2025-07-15 michaelludwig@google.com [graphite] Add more stat tracking to
insertRecording
2025-07-15 nicolettep@google.com Promote Vulkan min version check from
debug --> fatal
2025-07-15 nicolettep@google.com [graphite] Add build flag to enable
trace events for pipeline + RP labels

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 jlavrova@google.com,jsimmons@google.com,kjlubick@google.com 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
2025-07-15 20:42:09 +00:00
engine-flutter-autoroll
edf47581fb
Roll Skia from 2f4ad5d83704 to 8ffff8c8e01b (7 revisions) (#172169)
https://skia.googlesource.com/skia.git/+log/2f4ad5d83704..8ffff8c8e01b

2025-07-15 lukasza@google.com Revert "[rust png] Gracefully handle input
stream that shrinks over time."
2025-07-15 lukasza@chromium.org [rust png] Gracefully handle input
stream that shrinks over time.
2025-07-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from a18894e3915b to f26a853e1821 (8 revisions)
2025-07-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from c1f7fbbec4e1 to 65b2c4777e5f (1 revision)
2025-07-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 9c310928b8c1 to 4e8bc564952b (16 revisions)
2025-07-14 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version
2025-07-14
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).

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 jlavrova@google.com,jsimmons@google.com,kjlubick@google.com 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
2025-07-15 18:16:37 +00:00
Ivan Inozemtsev
d70c9528f8
Roll Dart SDK to 3.9.0-333.2.beta (#172167)
Fixes #172117

Changes since last Dart roll:

```
a4e60e5add7 Version 3.9.0-333.2.beta
071e2a7a727 [beta] Revert the http_rev back to 7d2d87e
c479b1b69b2 Version 3.9.0-333.1.beta
```

## 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.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- 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
2025-07-15 17:12:37 +00:00
John "codefu" McDole
cc3110c590
feat: Tag Fuchsia artifacts by content hash (#172132)
After the fuchsia build process, be sure to tag uploaded artifacts with
`content_aware_hash:` if configured.

fixes #171985

This was a bit of a rabbit hole, with some "magic parameters" that
control uploading / tagging. I'm not sure cipd supports two tags with
the say keys; but I wouldn't want the content hash having the key
"git_revision".

Pre-submits: Not affected since --engine-version is always '' which is
read as "do not upload"
Post-submits: Reads the `linux_fuchsia.json` builder to look for flags.

> Note: This needs to land before the tool can be updated to download
the content_aware_hash tag.

Tested: locally, on linux, after building all the x64 targets. With and
without engine-version, with and without linux_fuchsia.json flags.

```shell
$ src/flutter/tools/fuchsia/merge_and_upload_debug_symbols.py --target-arch x64 --engine 'abcd' --upload --out-dir tmp  --symbol-dirs out/ci/fuchsia_debug_x64/.build-id out/ci/fuchsia_release_x64/.build-id out/ci/fuchsia_profile_x64/.build-id

Using content hash 2201006225127f112f6576fcf73dd00671b2012e for engine version
['cipd', 'create', '-pkg-def', '/usr/local/google/home/codefu/src/flutter/engine/tmp/debug_symbols.cipd.yaml', '-ref', 'latest', '-tag', 'git_revision:abcd', '-verification-timeout', '10m0s', '-tag', 'content_aware_hash:2201006225127f112f6576fcf73dd00671b2012e']
```

```
$ python3 src/flutter/tools/fuchsia/build_fuchsia_artifacts.py --archs x64 --engine 'abc' --cipd-dry-run --upload

Using content hash 2201006225127f112f6576fcf73dd00671b2012e for engine version
codefu: ['cipd', 'create', '-pkg-def', 'fuchsia.cipd.yaml', '-ref', 'latest', '-tag', 'git_revision:abc', '-tag', 'content_aware_hash:2201006225127f112f6576fcf73dd00671b2012e']
```
2025-07-15 16:55:02 +00:00
Flutter GitHub Bot
6e1ebc7a13
Marks Linux_android_emu native_assets_android to be unflaky (#171145)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_android_emu native_assets_android"
}
-->
The issue https://github.com/flutter/flutter/issues/170529 has been
closed, and the test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_android_emu%20native_assets_android%22).
This test can be marked as unflaky.
2025-07-15 11:29:34 +00:00
Ben Konyi
ec9e07d9b9
[ Tool ] Fix flutter upgrade stating that an upgrade is available on main when up to date (#172141)
The `frameworkVersion` string written to the version files wasn't
actually parsable by `GitTagVersion` as it didn't match the format
output by `git`.

This change updates the `frameworkVersion` format to use a `-` instead
of a `.` before the commit count and adds support to the version parsing
regex to handle both `.` and `-` separators before the commit count.

Fixes https://github.com/flutter/flutter/issues/172091
2025-07-15 01:00:38 +00:00
Loïc Sharma
6474b04e6d
Reland "Add feature flags to the framework" (#171545)
This relands https://github.com/flutter/flutter/pull/168437. The google3
fixes were landed in: https://github.com/flutter/flutter/pull/171547,
https://critique.corp.google.com/cl/781275353,
https://github.com/flutter/flutter/pull/171933.

This PR is split into two commits:

1. d6253794e8982348c5c21cb63e8f6bf785664be6, code from
https://github.com/flutter/flutter/pull/168437 without any changes
2. f35d29e4af630d2d4fdb0cda8686b6ff9f77227a, updates the PR to omit
obvious types.

Original PR description:

## Motivation

We'd like to let users opt-in to experimental features so that they can
give early feedback while we iterate on the feature. For example:

Example feature flags:

1. Android sensitive content:
https://github.com/flutter/flutter/pull/158473. When enabled, Flutter
will tell Android when the view contains sensitive content like a
password.
3. Desktop multi-window. When enabled, Flutter will use child windows to
allow things like a context menu to "escape" outside of the current
window.

### Use case

Users will be able to turn on features by:

* **Option 1**: Run `flutter config --enable-my-feature`. This enables
the feature for all projects on the machine
* **Option 2**: Add `enable-my-feature: true` in their `pubspec.yaml`,
under the `flutter` section. This would enable the for a single project
on the machine.

Turning on a feature affects _both_ development-time (`flutter run`) and
deployment-time (`flutter build x`). For example, I can `flutter build
windows` to create an `.exe` with multi-window features enabled.

## How this works

This adds a new
[`runtimeId`](https://github.com/flutter/flutter/pull/168437/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R243-R247)
property to the tool's `Feature` class. If a feature is on and has a
`runtimeId`, its `runtimeId` will be [stamped into the Dart application
as a Dart
define](https://github.com/flutter/flutter/pull/168437/files#diff-bd662448bdc2e6f50e47cd3b20b22b41a828561bce65cb4d54ea4f5011cc604eR293-R327).
The framework uses this Dart define to [determine which features are
enabled](https://github.com/flutter/flutter/pull/168437/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45).

### Multi-window example

https://github.com/flutter/flutter/pull/168697 shows how this new
feature flag system can be used to add a multi-window feature flag:

1. It adds a new [multi-window
feature](https://github.com/flutter/flutter/pull/168697/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R189-R198)
to the Flutter tool. This can be turned on using `flutter config
--enable-multi-window` or by putting `enable-multi-window: true` in an
app's .pubspec, under the `flutter` section.
2. It adds a new
[`isMultiWindowEnabled`](https://github.com/flutter/flutter/pull/168697/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45R7-R11)
property to the framework.
4. The Material library can use this new property to determine whether
it should create a new window.
[Example](https://github.com/flutter/flutter/pull/168697/files#diff-2cbc1634ed6b61d61dfa090e7bfbbb7c60b74c8abc3a28df6f79eee691fd1b73).

## Limitations

### Tool and framework only

For now, these feature flags are available only to the Flutter tool and
Flutter framework. The flags are not automatically available to the
embedder or the engine.

For example, embedders need to configure their surfaces differently if
Impeller is enabled. This configuration must happen before the Dart
isolate is launched. As a result, the framework's feature flags is not a
viable solution for this scenario for now. For these kinds of scenarios,
we should continue to use platform-specific configuration like the
`AndroidManifest.xml` or `Info.plist` files.

This is a fixable limitation, we just need to invest in this plumbing :)

### Tree shaking

Feature flags are not designed to help tree shaking. For example, you
cannot conditionally import Dart code depending on the enabled feature
flags. Code that is feature flagged off will still be imported into
user's apps.
2025-07-15 00:02:16 +00:00
Pedro Massango
50d5f022c0
chore: unskip tests cases (#172031)
Issues have been solved, we can now have the tests back


## 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].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
2025-07-14 23:15:52 +00:00