Repository navigation
Comparing changes
Open a pull request
base repository: flutter/flutter
base: 5a6cfa7f3d26
head repository: flutter/flutter
compare: 63170e984e19
- 15 commits
- 71 files changed
- 4 contributors
Commits on Sep 4, 2026
-
[tool] Migrate DevicesCommand to modular dependency injection (#190768)
## Summary Part 10 of the modular dependency injection migration. * Migrates `DevicesCommand` and `DevicesCommandOutput` to constructor dependency injection with zero global fallbacks: ```dart DevicesCommand({ required DeviceManager deviceManager, required Doctor doctor, required super.toolContext, super.verboseHelp, }) ``` * Requires non-nullable `DeviceManager`, `Doctor`, and `ToolContext`, eliminating ambient `globals.*` fallbacks and imports from `devices.dart`. * Destructures `toolContext.logger` and `toolContext.terminal` for CLI device output and deprecation warnings. * Wires dependencies via `toolDependencies.toolContext` in `executable.dart`. * Migrates unit tests in `packages/flutter_tools/test/commands.shard/hermetic/devices_test.dart` to hermetic `testWithoutContext` using `FakeToolContext`, while preserving permeable suite tests in `packages/flutter_tools/test/commands.shard/permeable/devices_test.dart`. Part of #188471Configuration menu - View commit details
-
Copy full SHA for 06071c4 - Browse repository at this point
Copy the full SHA 06071c4View commit details -
[tool] Migrate LogsCommand to modular dependency injection (#190765)
## Summary Part 8 of the modular dependency injection migration. * Migrates `LogsCommand` to constructor dependency injection: ```dart LogsCommand({ ApplicationPackageFactory? applicationPackageFactory, ProcessSignal? sigint, ProcessSignal? sigterm, super.toolContext, }) ``` * Resolves logger via `toolContext?.logger ?? globals.logger` for backwards compatibility with ambient callers. * Wires `toolContext: toolDependencies.toolContext` in `executable.dart`. * Migrates unit tests in `packages/flutter_tools/test/commands.shard/hermetic/logs_test.dart` to hermetic `testWithoutContext`. Part of #188471Configuration menu - View commit details
-
Copy full SHA for 74cef67 - Browse repository at this point
Copy the full SHA 74cef67View commit details -
[flutter_tools] Safely handle non-JSON messages in test stream parsers (
#192089) When communicating with remote test runners or browsers over test streams or WebSockets, unhandled non-JSON strings (such as dynamic library loading errors or missing snapshot warnings) caused `_ChunkedJsonParser` to throw an unhandled `FormatException` at character 1, crashing the tool. This changes `pipeHarnessToRemote` in `flutter_platform.dart` and `BrowserManager` in `flutter_web_platform.dart` to intercept non-JSON payloads, log warnings and traces, and ignore invalid frames rather than crashing the tool process. Fixes #191898 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools. - [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 in-code documentation (doc comments with `///`). - [ ] If this PR introduces a new feature or capability, I created and linked a website documentation issue or PR in [flutter/website] (or verified none is needed). - [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 [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines [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 [flutter/website]: https://github.com/flutter/website [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Configuration menu - View commit details
-
Copy full SHA for ed37ea9 - Browse repository at this point
Copy the full SHA ed37ea9View commit details -
[tool] Migrate Apple build subcommands and toolchain to modular depen…
…dency injection (#190780) ## Summary Part 15 of the modular dependency injection migration. * Migrates Apple build subcommands to modular constructor dependency injection: - `BuildIOSCommand({required super.appleContext, required super.buildSystem, required super.toolContext, required super.verboseHelp})` - `BuildIOSFrameworkCommand({required super.appleContext, required super.buildSystem, required super.toolContext, required super.verboseHelp})` - `BuildMacOSCommand({required BuildSystem buildSystem, required ToolContext toolContext, required bool verboseHelp})` - `BuildMacOSFrameworkCommand({required super.appleContext, required super.buildSystem, required super.toolContext, required super.verboseHelp})` * Uses object destructuring to extract context members (`appleContext`, `toolContext`) and eliminates ambient globals. * Adds `fake_build_command.dart` test helper and adds `Terminal` support to `FakeToolContext`. * Converts unit tests across `test/commands.shard/hermetic/build_ios_test.dart`, `build_macos_test.dart`, and `build_darwin_framework_test.dart` to hermetic `testWithoutContext`. Part of #188471
Configuration menu - View commit details
-
Copy full SHA for a14d975 - Browse repository at this point
Copy the full SHA a14d975View commit details -
[tool] Migrate AssembleCommand and GenerateCommand to modular depende…
…ncy injection (#190773) ## Summary Part 13 of the modular dependency injection migration. * Migrates `AssembleCommand`, `GenerateCommand`, and `GenerateLocalizationsCommand` to constructor dependency injection: - `AssembleCommand({required BuildSystem buildSystem, required FeatureFlags featureFlags, required ToolContext toolContext, bool verboseHelp = false})` - `GenerateCommand({required ToolContext toolContext})` - `GenerateLocalizationsCommand({required ToolContext toolContext})` * Eliminates `globals.featureFlags` and ambient context lookups across assemble/generate workflows; exposes `featureFlags` on `ToolDependencies`. * Requires explicit `logger` in `parseLocalizationsOptionsFromCommand` and explicit `featureFlags` in `artifactFromTargetPlatform`. * Migrates unit tests in `packages/flutter_tools/test/commands.shard/hermetic/assemble_test.dart` and `generate_localizations_test.dart` to hermetic `testWithoutContext`. Part of #188471
Configuration menu - View commit details
-
Copy full SHA for 079138d - Browse repository at this point
Copy the full SHA 079138dView commit details -
Roll Skia from 93ac1e630d1d to 9b1e5fd08d2c (3 revisions) (#192314)
https://skia.googlesource.com/skia.git/+log/93ac1e630d1d..9b1e5fd08d2c 2026-09-04 [email protected] [gpu] Don't mark GlyphData's atlas generation on a partial update 2026-09-04 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2026-09-04 [email protected] Roll vulkan-deps from 7ad9422fbe3b to 18718f0b2672 (5 revisions) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 04d081a - Browse repository at this point
Copy the full SHA 04d081aView commit details -
[iOS] Add native deep link lifecycle integration tests for UIScene pl…
…ugins (#192173) ### Description Extends native iOS Add-to-App UIScene lifecycle testing by validating deep link (Universal Links and custom URL schemes) delivery to plugins across both cold and warm starts. As discussed on #191443, this PR decouples native plugin lifecycle verification from the standalone app route delivery test: - Renames `module_uiscene_test_ios` to `uiscene_plugin_lifecycle_test_ios` across CI (`.ci.yaml`), `TESTOWNERS`, and task runners to accurately reflect its role in verifying plugin lifecycle events. - Adds two new test scenarios to `uiscene_plugin_lifecycle_test_ios.dart`: - `AppMigrated-FlutterSceneDelegate-PluginMigrated-DeepLink`: Verifies plugins adopting `FlutterSceneLifeCycleDelegate` receive connection options, `openURLContexts`, and `continueUserActivity`. - `AppMigrated-FlutterSceneDelegate-PluginNotMigrated-DeepLink`: Verifies legacy plugins implementing `FlutterApplicationLifeCycleDelegate` receive fallback callbacks via `FlutterPluginAppLifeCycleDelegate`. - . Adds `UITests-DeepLinks.swift` verifying warm/cold × universal link/custom scheme Part of #191443 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools. - [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 in-code documentation (doc comments with `///`). - [x] If this PR introduces a new feature or capability, I created and linked a website documentation issue or PR in [flutter/website] (or verified none is needed). - [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 [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines [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 [flutter/website]: https://github.com/flutter/website [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Configuration menu - View commit details
-
Copy full SHA for 2d39b7d - Browse repository at this point
Copy the full SHA 2d39b7dView commit details -
Roll Dart SDK from 5501d02b583d to 5744c2480a12 (5 revisions) (#192316)
https://dart.googlesource.com/sdk.git/+log/5501d02b583d..5744c2480a12 2026-09-04 [email protected] Version 3.14.0-199.0.dev 2026-09-04 [email protected] Version 3.14.0-198.0.dev 2026-09-04 [email protected] Version 3.14.0-197.0.dev 2026-09-04 [email protected] Version 3.14.0-196.0.dev 2026-09-04 [email protected] Version 3.14.0-195.0.dev If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dart-sdk-flutter Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 74b0fcd - Browse repository at this point
Copy the full SHA 74b0fcdView commit details -
[devicelab] Fix Mac ios_universal_link_test CI build and scheme confi…
…guration (#192321) The `ios_universal_link_test` devicelab task introduced in #191443 failed in post-submit CI during `flutter build ios --simulator` with "No Xcode build settings have been found." On headless CI bots that lack developer provisioning profiles, physical device code signing specifiers in `project.pbxproj` prevented Xcode from querying build settings. In addition, running a full simulator build prior to `runXcodeTests` triggered redundant code signing evaluations on bots without codesigning support. This fixes the failure by removing the `PROVISIONING_PROFILE_SPECIFIER` properties from `project.pbxproj` and building with `--config-only` during the task's preliminary Flutter build step, matching the pattern in `native_platform_view_ui_tests_ios`. It also sets `deviceOperatingSystem = DeviceOperatingSystem.ios` for proper Devicelab device handling, updates `Runner.xcscheme` to reference `RunnerUITests` under Debug configuration, wires up the missing target dependency in `project.pbxproj`, and simplifies `setUpWithError` in `RunnerUITests.swift`. Fixes #192320 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools. - [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 in-code documentation (doc comments with `///`). - [ ] If this PR introduces a new feature or capability, I created and linked a website documentation issue or PR in [flutter/website] (or verified none is needed). - [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 [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines [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 [flutter/website]: https://github.com/flutter/website [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Configuration menu - View commit details
-
Copy full SHA for 2f9c7b1 - Browse repository at this point
Copy the full SHA 2f9c7b1View commit details
Commits on Sep 5, 2026
-
ci(engine): target ignore_phone|none for new macs (#192317)
Experimenting with new macs for speed in merge queue. Currently we see about 17 to 25 minutes to build on a drone.
Configuration menu - View commit details
-
Copy full SHA for 071847c - Browse repository at this point
Copy the full SHA 071847cView commit details -
Roll Skia from 9b1e5fd08d2c to 10652f9d64d6 (4 revisions) (#192329)
https://skia.googlesource.com/skia.git/+log/9b1e5fd08d2c..10652f9d64d6 2026-09-04 [email protected] Roll skcms from 0ca108fc7831 to 7e711e0a4467 (1 revision) 2026-09-04 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2026-09-04 [email protected] Add HAGC tag support to Rust ICC parser and ICC writer 2026-09-04 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 6368fd9 - Browse repository at this point
Copy the full SHA 6368fd9View commit details -
Roll Dart SDK from 5744c2480a12 to 6882c3b4b542 (1 revision) (#192331)
https://dart.googlesource.com/sdk.git/+log/5744c2480a12..6882c3b4b542 2026-09-05 [email protected] Version 3.14.0-200.0.dev If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dart-sdk-flutter Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for a8f8d93 - Browse repository at this point
Copy the full SHA a8f8d93View commit details -
Roll Fuchsia Linux SDK from FgDQeF6jb1dVRVh3K... to _IgixhH4vEgdz9Oqn…
…... (#192333) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 5c6c2e1 - Browse repository at this point
Copy the full SHA 5c6c2e1View commit details -
Roll Skia from 10652f9d64d6 to db200e27a634 (1 revision) (#192338)
https://skia.googlesource.com/skia.git/+log/10652f9d64d6..db200e27a634 2026-09-05 [email protected] Roll vulkan-deps from 18718f0b2672 to 55e61648c412 (7 revisions) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for c17c1e4 - Browse repository at this point
Copy the full SHA c17c1e4View commit details -
Roll Dart SDK from 6882c3b4b542 to 77094991d1c1 (1 revision) (#192339)
https://dart.googlesource.com/sdk.git/+log/6882c3b4b542..77094991d1c1 2026-09-05 [email protected] Version 3.14.0-201.0.dev If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dart-sdk-flutter Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 63170e9 - Browse repository at this point
Copy the full SHA 63170e9View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 5a6cfa7f3d26...63170e984e19