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.
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].*
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.
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
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.
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.
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)
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.
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?
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();
}
```
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).
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`.
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
**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
> [!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.
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.
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.
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.
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.
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._

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