86307 Commits

Author SHA1 Message Date
flutteractionsbot
ff219d675f
[CP-beta]fix: infra out of resources (#178392)
Flutter devicelab infrastructure was updated to 15.7 for x86 macs; required to test anything on dashboard:

https://github.com/flutter/flutter/issues/178384
2025-11-12 19:42:36 +00:00
Camille Simon
a0e9b9dbf7
Update engine.version for 3.38 stable release (#178324)
To last commit merged, which was when the engine was last updated: cb467e31a5

**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.
3.38.0
2025-11-11 21:00:09 +00:00
Elijah Okoroh
cb467e31a5
[CP-beta] Update .ci.yaml in flutter/flutter to use 15.5 (#177939) (#178132)
Update .ci.yaml in flutter/flutter to use 15.5 

Note: (Not all devicelab bots are macOS 15.5. Some are 15.1 and 15.6.1)

*List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.*

Fixes #177394

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2025-11-11 19:15:58 +00:00
flutteractionsbot
5205556b41
[CP-beta][ Tool ] Add Stream.transformWithCallSite to provide more useful stack traces (#177994)
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?

Example issue: https://github.com/flutter/flutter/issues/81666

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

Improve logging for UTF-8 decoding errors.

### 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 an exception is thrown within a transformer provided to `Stream.transform(...)`, an asynchronous stack trace pointing to the internal transformation machinery is reported instead of where the call to `transform(...)` was made, making tracking down where these exceptions come from extremely difficult.

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

Not a fix, just additional logging. Tests have been added to ensure this extension works as expected.
2025-11-11 17:53:20 +00:00
flutteractionsbot
aef5bdc7c2
[CP-beta][web] Move webparagraph tests to their right location (#178304)
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:

N/A

### Changelog Description:

Move the new font collection test to the correct folder.

### Impact Description:

Flakiness in CI.

### Workaround:

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:

Notice there are no font collection-related failures in [`Linux linux_web_engine_tests`](https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20linux_web_engine_tests)
2025-11-11 17:34:58 +00:00
flutteractionsbot
db95cb7370
[CP-beta][ Widget Preview ] Add analytic event that's reported when the previewer is opened (#177960)
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/177948

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

Add additional analytics for `flutter widget-preview start`

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

Analytics collected for `flutter widget-preview start` won't give an accurate representation of usage as IDE plugins will start launching the widget previewer by default. This will result in `widget-preview` analytics effectively tracking the number of IDE users rather than actual usage of the widget previewer.

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

N/A
2025-11-11 17:10:06 +00:00
Camille Simon
45eb4587f8
Retry 3.38 release stamp (#178256)
My take on https://github.com/flutter/flutter/pull/178178

**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-11-10 22:03:24 +00:00
John "codefu" McDole
fd7f423ff3
[CP-Beta] Cherry-pick ninja+cmake deps (#178244)
Pulls in #178054 and #178079

Please note there is one "bringup: true" in this change:
bringup: true # Failing: #178060
2025-11-10 18:09:11 +00:00
Camille Simon
f16b4ff892
Update engine.version for 3.38.1 hotfix release (#177675)
Updates the `engine.version` to the last commit to touch the engine: d7ec7e8064

Verified by the `flutter/bin/internal/last_engine_commit.sh` script.

**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.
3.38.0-0.2.pre
2025-10-28 19:32:10 +00:00
flutteractionsbot
d74f2fc56c
[CP-beta]Add guided error for precompiled cache error (#177607)
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/176462

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

Provides guided error message when building for iOS fails due to precompiled headers cache error.

### 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 using Xcode 26 and switching between branches or upgrading to new beta/stable, it throws an error due to headers of the Flutter framework changing.

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

Run `flutter clean`

### 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. git checkout 3.35.5
2. `flutter create my_app`
3. `flutter build ios`
4. git checkout main
5. `flutter build ios` (it should error)
2025-10-28 17:40:54 +00:00
Reid Baker
46b0f4eaed
Revert "Resolve resolve native Flutter dependencies in Android Studio… (#177605)
Fixes #177037 on 3.38 branch. 

This reverts commit 0c0406a6158eb07d28a70350a22801ee8f6870c9.
Leaves `isInvokedFromAndroidStudio`
2025-10-28 17:39:11 +00:00
jesswrd
ea0f4435cf
[CP-Beta] Bump Templates To Correct Versions (#177416) (#177608)
This is a manual cherry pick of https://github.com/flutter/flutter/pull/177416 to beta.

**Impacted Users (Approximately who will hit this issue, ex. all Flutter devs, Windows developers, all end-customers, apps using X framework feature).**
Flutter devs who ship to Android. Template versions are changing.

**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 shipping a production app? ex. the app crashes on launch).**
Affects flutter build to android.

**Workaround (Is there a workaround for this issue?)**
Use compatible depency versioning.

**Risk (What is the risk level of this cherry-pick?)**
Low

**Test Coverage (Are you confident that your fix is well-tested by automated tests?)**
Yes. Integration tests with new versioning have passed.

**Validation Steps (What are the steps to validate that this fix works?)**
Ran `flutter analyze --suggestions` and `flutter build apk` to verify versioning combination is valid.

---
I bumped templates to the correct versions. I also included a fix for kgp and agp compatability.

AGP 8.11.0 -> 8.11.1
Gradle 8.13 -> 8.14
KGP 2.2.0 -> 2.2.20

I ran `flutter analyze --suggestions` and `flutter build apk` to ensure these are safe versions.

Will cherry pick this to beta after the pr merges.

Fixes https://github.com/flutter/flutter/issues/177320

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

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/
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

<!--
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
-->

*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

*List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.*

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

**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-10-28 17:17:52 +00:00
flutteractionsbot
46485b19bb
[CP-beta][ Tool ] Output DTD URI for Flutter web applications (#177321)
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/176310

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

`app.dtd` event is not emitted for Flutter web applications run with `--machine`.

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

Makes it impossible for tooling to connect to the DTD instance associated with a Flutter web application. This impacts the Flutter MCP extension.

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

No workaround available.

### 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 web application using `flutter run -d chrome --machine` and verify there's an `app.dtd` event once the application has started.
2025-10-27 22:59:32 +00:00
flutteractionsbot
d7ec7e8064
[CP-beta] Fix crash when NSAttributedString is passed to insertText on macOS (#177401)
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?

There does not appear to be a dedicated issue. The issue description can be found in the PR description:
https://github.com/flutter/flutter/pull/176329

The PR fixes a macOS text input crash caused by down-casting the string argument from `Any` to a `NSString`, from [this API](https://developer.apple.com/documentation/appkit/nstextinputclient/inserttext(_:replacementrange:)#parameters). The documentation says it can either be a `NSString` or `NSAttributedString`

### 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 crash on macOS when the input method (or other services) inserts a `NSAttributedString` instead of `NSString` into a 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)

App crashes on macOS when interacting with certain IMEs or other system services, if they decided to use `NSAttributedString` instead of `NSString`. It affects production apps.

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

None. Users or app developers have little control over what the IME / services decide to do. The problematic code path in the engine directly interacts with system services so app developer can't workaround that.

### 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 PR description does not have repro steps. @p1318k could you add the steps to trigger the bug here?
2025-10-27 22:55:52 +00:00
flutteractionsbot
082bd44a7c
[CP-beta]Configure FfiNative resolver on dart:io (#177308)
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:

None

### Changelog Description:

Calling `FileSystemEntity.watch(...)` will throw on Mac OS and Windows.

### Impact Description:

Calling `FileSystemEntity.watch(...)` will throw on Mac OS and Windows, instead of correctly watching the path.

### Workaround:

No user level work-around. `dart:io` is broken.

### Risk:

What is the risk level of this cherry-pick?

### Test Coverage:

Are you confident that your fix is well-tested by automated tests?

It's tested by tests in Dart SDK

### Validation Steps:

Run a Mac OS or Windows app with the following `main`. It should do nothing - rather than throw an exception.

```dart
import 'dart:async';
import 'dart:io';

void main() async {
  final sub = Directory.systemTemp.watch(recursive: true).listen((_) {});
  await Future.delayed(Duration(seconds: 1));
  sub.cancel();
}
```
2025-10-27 22:53:59 +00:00
flutteractionsbot
069ba6054d
[CP-beta][tool/dap] Forward app.warning events from Flutter to DAP client (#176997)
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/176206 / https://github.com/Dart-Code/Dart-Code/issues/5730

This is related to another cherry-pick at https://github.com/flutter/flutter/pull/176976. That cherry-pick adds a warning to `flutter run` and this cherry-pick ensures the warning is forwarded correctly to DAP clients (like VS Code).

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

Warns the developer that wireless debugging may be slow on iOS 26 in VS Code.

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

Debugging wirelessly on iOS 26 may be slow. This change forwards the warning (which is being cherry-picked by https://github.com/flutter/flutter/pull/176976) to DAP clients so that it can be shown more prominently in VS Code.

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

This change is to show a workaround for the slow debugging to the user.

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

Testing requires using a DAP client. The automated test verifies the event is forwarded, and I tested manually with the Dart-Code changes when I added this change (screenshots at https://github.com/Dart-Code/Dart-Code/issues/5730#issuecomment-3389479520).
2025-10-27 20:16:06 +00:00
flutteractionsbot
252283499f
[CP-beta]Add structured warning event for slow wireless debugging on iOS 26+ d… (#176976)
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/176206

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

Warns the developer that wireless debugging may be slow on iOS 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)

Debugging wirelessly on iOS 26 may be slow. This warning suggests that the developer use a wired connection.
Additionally, this will be surfaced in IDEs: https://github.com/Dart-Code/Dart-Code/issues/5730

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

The tool is proposing the workaround.

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

Connect an iPhone running iOS 26 wirelessly, `flutter run`.
2025-10-27 18:49:08 +00:00
flutteractionsbot
067045cd78
[CP-beta]Fix accessibility events not being correctly translated to ATK (#177427)
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/176360

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

Fix accessibility events regression on Linux which makes apps not announced with screen reader.

### 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 Linux accessibility code was not correctly updated to new API which caused the focus events to no longer be reported. This means using a Linux app with an accessibility tool like a screen reader to not function correctly.

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

No workaround other than using a version of Flutter < 3.25.

### 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. Create a basic skeleton app with text buttons
2. Turn on the screen reader
3. Focus a button, and hear announcement when the button gets focus
2025-10-27 17:20:21 +00:00
Jessy Yameogo
7c3f912c87
[beta] CP: Fixes hot reload/restart crashes after closing browser tab on web-server device (#177456)
**Impacted Users:**
Flutter web developers using the `web-server` device for hot reload/restart.

**Impact Description:**
Hot reload/restart crashes when the browser tab is closed, causing “Bad state: No element” errors and breaking the DWDS connection.

**Workaround:**
Rerun the app.

**Risk:**
Low — changes only affect hot reload/restart handling when no clients are connected.

**Test Coverage:**
Yes — covered by automated integration tests and verified with manual testing across reload/restart scenarios.

**Validation Steps:**

1. run the app on webserver `flutter run -d web-server`
2. open the url
3. do hot reload
4. close the browser
5. do hot reload 

You should see a warning `WebSocketProxyService: No clients available.` along with `Recompile complete. No client connected.` printed in the console. The app should no longer crash.

**Merged PR:** https://github.com/flutter/flutter/pull/177026
**Changes in DWDS (Parent PR):** [https://github.com/dart-lang/webdev/pull/2699](https://github.com/dart-lang/webdev/pull/2699)

Fixes https://github.com/flutter/flutter/issues/174791
2025-10-27 17:18:06 +00:00
Camille Simon
53f2819097
[CP-beta][Android] Refactor ImageReaderSurfaceProducer restoration after app resumes (#177121)
> [!NOTE]  
> To release engineer: this can definitely wait to be included in a hotfix beta release. I also want to CP this to stable: https://github.com/flutter/flutter/pull/177112

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

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

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

Mitigates a memory leak that occurs on Android, when `Activities` are not kept upon exit and an Activity is exited and re-entered.

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

Memory leak that will occur in production app but does not impact development.

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

Not that I know of.

### 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 the steps in the [issue description](https://github.com/flutter/flutter/issues/173770#issue-3322196704), roughly:

 1. Create a Flutter project.
2. Enter the developer options, set not to keep activities, (destroy each activity as soon as the user leaves it)
3. Entering the activity, clicking the home button, exiting the activity, and then entering the activity again will trigger the destruction and reconstruction of the activity.
4. Check memory leaks through profiler and find memory leaks.

**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-10-23 19:06:50 +00:00
Justin McCandless
7e592fef32
3.38.0 beta engine version (#177178)
The version I set in https://github.com/flutter/flutter/pull/176799 was incorrect so the release build failed. This updates it to the correct engine version.
3.38.0-0.1.pre
2025-10-17 23:08:19 +00:00
Justin McCandless
060c2cc550
Trigger engine build, and clean up trigger file (#177181)
My PR updating engine.version (https://github.com/flutter/flutter/pull/177178) for the 3.38.0 beta release isn't passing the analyzer because the engine artifacts don't exist. This PR will trigger another engine build, and then I'll use its merge SHA in engine.version. And it conveniently deletes the file used for this same purpose in https://github.com/flutter/flutter/pull/176842.
2025-10-17 20:51:19 +00:00
Camille Simon
2d15161f8d
Update engine.version (#176799)
Sets `engine.version` to release build from 3eead6b048. Part of https://github.com/flutter/flutter/issues/176744

**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-10-16 19:55:09 +00:00
John "codefu" McDole
ced5a9334e
[CP-Beta] fix: content hash check for LUCI_CONTEXT (#176867) (#176883)
When running on LUCI, the environment variable is LUCI_CONTEXT

fixes: #176838
2025-10-13 15:29:10 +00:00
Camille Simon
2b8e65b526
Trigger an engine build for the 3.38 beta release (#176842)
The file added will be deleted. This is just to trigger an engine build.

Work around for https://github.com/flutter/flutter/issues/176838.
2025-10-10 11:16:03 -07:00
Camille Simon
3eead6b048
[3.38] Create release-candidate-branch.version & engine.version (#176746)
Part of https://github.com/flutter/flutter/issues/176744.

The `engine.version` is set to the SHA cutoff point for this beta release -- df87ee3db0

**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-10-09 15:29:07 +00:00
engine-flutter-autoroll
df87ee3db0
Roll Skia from d10a0d877ff4 to ea7cdbc6b986 (15 revisions) (#176686)
https://skia.googlesource.com/skia.git/+log/d10a0d877ff4..ea7cdbc6b986

2025-10-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from aa211644ec30 to 8f4fc402f4b1 (4 revisions)
2025-10-08
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-10-07 robertphillips@google.com [graphite] Add testing for Vulkan's
PersistentPipelineStorage
2025-10-07
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-10-07
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-10-07 mike@reedtribe.org Revert "Add dump() helper to pathbuilder"
2025-10-07 mike@reedtribe.org Add dump() helper to pathbuilder
2025-10-07 mike@reedtribe.org Use pathbuilder to keep path geometry
immutable
2025-10-07 kjlubick@google.com Use shortened builder name on CI jobs
2025-10-07 kjlubick@google.com Add CMake to all dawn tasks
2025-10-07 fmalita@google.com [fontations] Use SkMatrix::mapRect for
bounds mapping
2025-10-07 robertphillips@google.com [graphite] Add PersistentStorage
API and use for Vulkan pipeline cache
2025-10-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 5925e8cb6a0d to aa211644ec30 (5 revisions)
2025-10-07
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-10-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from fc98b3f62a98 to 6a997ce2351a (8 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 aaclarke@google.com,egdaniel@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-10-08 02:53:35 +00:00
engine-flutter-autoroll
7e3c8469df
Roll Fuchsia Linux SDK from jJr3my9C6TwYWPygi... to xrIAL91ngrd-wNr9S... (#176682)
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 aaclarke@google.com,zra@google.com 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
2025-10-08 01:28:10 +00:00
Bruno Leroux
8c4e1057e0
Fix InputDecoration helper/error padding is not compliant (#176353)
## Description

This PR fixes the InputDecoration helper/error padding.
When a counter is defined, this PR fixes the width of the gap between
helper/error and the counter.

M3 specs:

<img width="1090" height="430" alt="Screenshot 2025-10-07 at 5 36 05 PM"
src="https://github.com/user-attachments/assets/cf83b30b-4cfb-4379-8cb0-7e35cd5fe414"
/>


## Before

<img width="759" height="172" alt="image"
src="https://github.com/user-attachments/assets/b8f733f5-4688-478a-b475-06130e4f6691"
/>

## After

<img width="759" height="172" alt="image"
src="https://github.com/user-attachments/assets/a40eb328-8447-4c24-9ced-95ea619f2e1c"
/>

## Related Issue

Fixes [InputDecoration helper/error end padding is not compliant with M3
spec](https://github.com/flutter/flutter/issues/175993)

## Tests

- Adds 2 tests. One to verify the new padding. Another to verify the
change in intrinsic height calculation. This second test does not fail
without the PR but it would have failed if the PR changes only the
padding and did not update the intrinsic height logic.
- Updates 1 test related to the gap between error/helper and counter.
2025-10-08 01:20:29 +00:00
Kostia Sokolovskyi
1cee136823
Fix PopupMenu does not update when PopupMenuTheme in Theme changes. (#175513)
Fixes https://github.com/flutter/flutter/issues/43824

### Description

- Fixes `PopupMenu` does not update when `PopupMenuTheme` in `Theme`
changes

<details closed><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';

void main() => runApp(const App());

class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: const ColorScheme.light(),
        popupMenuTheme: PopupMenuThemeData(
          elevation: 10,
          color: Colors.red,
          shadowColor: Colors.black,
          surfaceTintColor: Colors.white,
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(10),
          ),
          menuPadding: EdgeInsets.all(10),
        ),
      ),
      darkTheme: ThemeData(
        colorScheme: const ColorScheme.dark(),
        popupMenuTheme: PopupMenuThemeData(
          elevation: 20,
          color: Colors.blue,
          shadowColor: Colors.white,
          surfaceTintColor: Colors.black,
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(20),
          ),
          menuPadding: EdgeInsets.all(20),
        ),
      ),
      home: const HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Hello Flutter'),
        actions: [
          PopupMenuButton<int>(
            itemBuilder: (context) => <PopupMenuEntry<int>>[
              const PopupMenuItem<int>(value: 1, child: Text('Item 1')),
              const PopupMenuItem<int>(value: 2, child: Text('Item 2')),
              const PopupMenuItem<int>(value: 3, child: Text('Item 3')),
            ],
          )
        ],
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: const [Text('Nothing here')],
        ),
      ),
    );
  }
}
```

</details>

| BEFORE | AFTER |
| - | - |
| <video alt="before"
src="https://github.com/user-attachments/assets/cb8450fe-9426-481f-bff8-2d690486a36a"
/> | <video alt="after"
src="https://github.com/user-attachments/assets/86bbfb46-8b9c-4ad0-b45e-8733861123ad"
/> |

## 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
2025-10-08 00:27:22 +00:00
Ivan Inozemtsev
4b7ee522d8
Roll Dart SDK to 3.10.0-290.1.beta (#176629)
Rolling Dart SDK 3.10 beta3

## 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.
2025-10-07 22:57:22 +00:00
Ben Konyi
c8c09f6d05
[ Tool ] Output app.dtd and app.devTools in machine mode (#176655)
Fixes https://github.com/flutter/flutter/issues/176310
2025-10-07 22:55:27 +00:00
Victoria Ashworth
00da9435e3
Rename UIScene integration test projects and fix Xcode compatibility (#176635)
This PR renames the UIScene integration test projects, makes them
compatible with Xcode 16, and organizes the tests.

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

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

<!-- 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-10-07 21:56:01 +00:00
Elliott Brooks
a50b9d56d4
Selecting an implementation widget with the on-device inspector opens the code location for the nearest project widget (#176530)
Fixes https://github.com/flutter/devtools/issues/9252

Previously, if a user selected a widget that was not created in their
project files using the on-device inspector, we would open the code
location for that widget. Now, we open the code location of the nearest
ancestor widget in their project files. (e.g., a user selects `RichText`
in the framework, we open the `Text` widget in their project)

Users can still open the code location for a Flutter framework or
third-party package widget by explicitly selecting it in the DevTools
widget tree. See more details/rationale on issue comment
https://github.com/flutter/devtools/issues/9252#issuecomment-3368491936

_Note: This resolves one of the top user complaints in the 2025 DevTools
user survey._


![project_file_fix](https://github.com/user-attachments/assets/e3839ada-52b6-4d4d-b1d7-7fea93c7380c)
2025-10-07 21:05:21 +00:00
Valentin Vignal
3dbd33d3aa
Migrate to WidgetStateInputBorder (#176386)
Follow up https://github.com/flutter/flutter/pull/176330

Migrate the remaining files from `MaterialStateOutlineInputBorder` and
`MaterialStateUnderlineInputBorder ` to `WidgetStateInputBorder `. This
PR only focus on `WidgetStateInputBorder`.

- This minimizes conflicts and reduces the size of the PR for easier
reviews and follow up
- I'll work on the other elements of
`packages/flutter/lib/src/material/material_state.dart` into other PRs

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

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

<!-- 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-10-07 20:13:57 +00:00
Gray Mackall
202dc3b970
Make it clear that you need to install clangd in VSCode intellisense c++ config (#176609)
Make it clear that you need to install clangd in VSCode intellisense c++
config

Co-authored-by: Gray Mackall <mackall@google.com>
2025-10-07 20:12:27 +00:00
Paul Berry
08def364d2
Bump the customer tests to pick up an update to Zulip's tests. (#176463)
Picks up

986c4326b4,
which unblocks https://dart-review.googlesource.com/c/sdk/+/452528 by
picking up an `// ignore` comment.

<!--
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].
- [ ] 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.

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

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

<!-- 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-10-07 16:12:11 +00:00
engine-flutter-autoroll
9e97c5893e
Roll Packages from d3ef88b5feb8 to 8ca6416d680d (2 revisions) (#176633)
d3ef88b5fe...8ca6416d68

2025-10-06 jessiewong401@gmail.com Update CI to Test Against SDK 36v3
(flutter/packages#10169)
2025-10-06 1063596+reidbaker@users.noreply.github.com [espresso] updates
build files to use JVM 17 (flutter/packages#10162)

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 flutter-ecosystem@google.com 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
2025-10-07 15:57:25 +00:00
Victoria Ashworth
884512c06f
Add fallback for 'scene:willConnectToSession:options' (#176580)
This adds an application lifecycle event fallback for when the app has
migrated to UIScene but the plugin has not. So if the app has migrated
to UIScene and receives the `scene:willConnectToSession:options` event,
if no other plugins process the event, it'll attempt to use
`application:didFinishLaunchingWithOptions` event if there are
meaningful launch arguments.

This is a best attempt and may not cover all use cases.

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

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

<!-- 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-10-07 15:01:20 +00:00
engine-flutter-autoroll
e20c5f5594
Roll Skia from d09786dfb854 to d10a0d877ff4 (11 revisions) (#176616)
https://skia.googlesource.com/skia.git/+log/d09786dfb854..d10a0d877ff4

2025-10-07
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-10-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from d8f0feef7c17 to 2677a29136e6 (10 revisions)
2025-10-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 18d4f3db9407 to 794b0cfce1d8 (1 revision)
2025-10-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from b57557664701 to 199e640f88d7 (10 revisions)
2025-10-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from ea4cd2b85ec4 to 5925e8cb6a0d (9 revisions)
2025-10-06 mike@reedtribe.org Use pathbuilder to keep paths' immutable
(their geometry)
2025-10-06 thomsmit@google.com [graphite] Disable lighten/darken test
IntelUHD630
2025-10-06 kjlubick@google.com Remove old define in hairline code
2025-10-06 michaelludwig@google.com [graphite] Relax circular corner
detection for analytic clip
2025-10-06 kjlubick@google.com Remove SkOnce from function local
initializations
2025-10-06 michaelludwig@google.com [graphite] Rename
BufferManager::BufferInfo to BufferState + other renames

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 egdaniel@google.com,jimgraham@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-10-07 07:47:40 +00:00
Ben Konyi
38dc1c88e9
[ Widget Preview ] Rework UI and theming (#176581)
This change consists of several UI changes:

- Added theming support for light and dark mode based on system
preferences
 - Pulled in a subset of the DevTools theming constants
 - Reduced size of widget preview buttons and controls
- Added initial support for setting theme based on IDE parameters passed
as query parameters. This does not include responding to theme changes
made after the widget previewer is loaded.
- Fixed issue where the `WidgetPreviewErrorWidget` would still show
controls, even though they aren't relevant


**IDE Theming Example:**
<img width="1149" height="571" alt="image"
src="https://github.com/user-attachments/assets/d84beacd-6b1c-4186-b793-88aae58613c1"
/>
2025-10-07 03:37:53 +00:00
Victoria Ashworth
5c66c53a31
Handle FlutterEngine registration when embedded in Multi-Scene apps (#176490)
When Multi-Scene is enabled, Flutter cannot automatically associate the
engine with a scene during the scene connection phase in most cases.
However, the `scene:willConnectToSession:options:` event is critical for
some Flutter plugins that rely on scene connection options (the
scene-equivalent of application launch options).

To workaround this, this PR adds two things:
* Adds a way to manually register a `FlutterEngine` with a
`FlutterPluginSceneLifeCycleDelegate`. Manually registered engines must
also be manually unregistered.
  * This use case is for add to app
* Automatically registers a `FlutterEngine` if the `rootViewController`
of the scene is a `FlutterViewController`
* This use case is for if a Flutter app (not add-to-app) were to enable
multi-scene since the `rootViewController` of the storyboard is a
`FlutterViewController`
  
This PR also makes a fix for when a `FlutterView` is removed from the
scene:
* If a `FlutterView` is removed from a scene, keep the `FlutterEngine`
associated with the scene until it is assigned to a new scene

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

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

<!-- 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-10-07 02:40:02 +00:00
Robert Ancell
bdbffa11cd
Fix code style in Linux embedder template (#176256)
As noticed by Gemini in another PR
2025-10-07 02:14:21 +00:00
Victoria Ashworth
af8e9801a4
Add tooling to migrate to UIScene (#176427)
Migrates Flutter iOS apps to be compatible with UIScene lifecycle by
migrating the AppDelegate and Info.plist. If the AppDelegate does not
match Flutter's original template exactly, or if the Info.plist is not
found or can't be updated, then prompt the user to migrate manually.

This is hidden behind a feature flag so we can test it out first.

Fixes https://github.com/flutter/flutter/issues/170167.

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

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

<!-- 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-10-07 02:12:26 +00:00
Danny Tuppeny
8f9d55e7af
Bump customer tests.version to 986c4326b4e4bb4e37bc963c2cc2aaa10b943859 (#176594)
This bumps the customer tests from
[20af51f6c62f7134c0c387d0ec2e13db33b1b9e4](20af51f6c6)
to
[986c4326b4e4bb4e37bc963c2cc2aaa10b943859](986c4326b4)
to get some fixes to unblock some analysis server changes that are
failing on the Flutter customer testing bots.

Related changes:

- https://dart-review.googlesource.com/c/sdk/+/448063
- https://github.com/flutter/tests/pull/470
- https://github.com/flutter/tests/pull/472
- https://dart-review.googlesource.com/c/sdk/+/452528
2025-10-06 20:35:10 +00:00
Thomas Duffin
5a6ba3c355
Fix typo in pages.dart (#176438)
<!--
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
-->

Fixes a minor typo in a doc comment for `PageRouteBuilder`. There's no
specific issue for this as I wasn't sure that was a necessary step for
typo PRs, but one can be made if necessary.

## 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.
  - Do I need an issue opened for a minor typo?
- [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].

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

<!-- 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-10-06 19:46:19 +00:00
Kishan Rathore
fafb7a2a31
Fix: Update anchorRect for overlayBuilder when anchor moves (#169814)
Fix: Update anchorRect for overlayBuilder when anchor moves
fixes: #169457 
part of https://github.com/flutter/flutter/issues/173440

## 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.
2025-10-06 19:09:24 +00:00
engine-flutter-autoroll
b48b3fe0c1
Roll Fuchsia Linux SDK from Zm6K_3gP3VCaMy9rH... to jJr3my9C6TwYWPygi... (#176591)
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 jimgraham@google.com,zra@google.com 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
2025-10-06 18:30:46 +00:00
alexskobozev
c18530cbaa
Fix deprecated configureStatusBarForFullscreenFlutterExperience for Android 15+ (#175501)
<!--
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
-->

This PR addresses [issue #175507] by fixing
FlutterActivity.configureStatusBarForFullscreenFlutterExperience() which
no longer works on Android 15 (API 35) because setStatusBarColor is
deprecated and ignored.

## Changes 

- Wrapped window.setStatusBarColor in a version check (if
(Build.VERSION.SDK_INT < 35)).
- Removed the @Deprecated annotation from
configureStatusBarForFullscreenFlutterExperience, since it still works
fine on API <35 and gives a consistent experience with iOS.

## Why

- On API 35+, the call is ignored and the status bar is fully
transparent.
- This is visually acceptable (fullscreen experience looks good), and
matches iOS behavior.

## Screenshots

### API 27
<img width="540" height="960" alt="api27_legacy"
src="https://github.com/user-attachments/assets/f19515e4-5a2d-46fd-af66-93d401f7e2ee"
/>

### API 35
<img width="720" height="1544" alt="api35_legacy"
src="https://github.com/user-attachments/assets/dd946ee4-1945-4209-86cc-a566c474681e"
/>

### iOS

<img width="603" height="1311" alt="ios"
src="https://github.com/user-attachments/assets/9d1cb68d-2abd-4844-a949-1ef33c134792"
/>

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

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

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

<!-- 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-10-06 17:54:11 +00:00
gaaclarke
6baea94c1c
updates docs for flutter engine footprint (#176217)
## 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].

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

<!-- 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-10-06 17:50:20 +00:00