Repository navigation
Comparing changes
Open a pull request
base repository: flutter/flutter
base: 5e805bfd5816
head repository: flutter/flutter
compare: ee8b48245d7a
- 17 commits
- 229 files changed
- 14 contributors
Commits on Oct 30, 2026
-
[flutter_tools] Inject dependencies into iOS, macOS, and Windows appl…
…ication packages (#194047) Eliminates ambient `globals.dart` usage in `ios/application_package.dart`, `macos/application_package.dart`, `windows/application_package.dart`, and `flutter_application_package.dart` by injecting `PlistParser` and `ToolContext` explicitly. Part of #47161 ## 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] All existing and new tests are passing.
Configuration menu - View commit details
-
Copy full SHA for a1ba683 - Browse repository at this point
Copy the full SHA a1ba683View commit details -
Use uniforms in the Porter Duff blend shader instead of specializatio…
…n constants (#195458) Changes the Porter Duff blend shader to use uniforms instead of specialization constants for the blending coefficients. As each specialized variant triggered a full shader compile, this removes 14 shader compiles (~23%) from the engine initialization path, it also removes overhead from swapping shaders. This was how the shader was initially configured. It was modified to use specialization constants because of compilation issues on adreno chips using Vulkan ([PR](#161273), [issue](#161209)). However, those chips are now blacklisted from Vulkan ([PR](#178833)) - so no compilation issues occur. ## 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.
Configuration menu - View commit details
-
Copy full SHA for 5d7f53a - Browse repository at this point
Copy the full SHA 5d7f53aView commit details -
Roll Skia from c0c46ee9f938 to 121d04c01e2d (9 revisions) (#195687)
https://skia.googlesource.com/skia.git/+log/c0c46ee9f938..121d04c01e2d 2026-10-30 [email protected] [sksl] Add subgroup arithmetic intrinsics 2026-10-30 [email protected] Reland "miracleptr: Rewrite src/core references to raw_ref" 2026-10-30 [email protected] Roll vulkan-deps from 3e43f3a7c7a0 to 771ad08d3047 (3 revisions) 2026-10-30 [email protected] [SkRecorder] Implement SkContext::makeRecorder and BackendSelection 2026-10-30 [email protected] Add raw_ptr overloads for sk_ref_sp and SkRef 2026-10-30 [email protected] Disable skia_use_partition_alloc on Wasm 2026-10-30 [email protected] Revert "miracleptr: Rewrite src/core references to raw_ref" 2026-10-30 [email protected] Add missing std headers to no-op raw_ptr/raw_ref 2026-10-30 [email protected] [Ganesh] Ensure flush token is advanced at the end of every flush If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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 cc8dbed - Browse repository at this point
Copy the full SHA cc8dbedView commit details -
Apply view metrics overrides below the framework (#194311)
Part of flutter/devtools#9893 (the DevTools accessibility page). Design: [flutter.dev/go/view-metrics-overrides](https://flutter.dev/go/view-metrics-overrides). #192764 added the `debugViewMetricsOverrides` registry and the `ext.flutter.viewMetricsOverride` service extension. This PR makes those overrides take effect, which the DevTools override controls depend on. Next up: `flutter_test` support for test views with their own ids, and moving `ext.flutter.brightnessOverride` onto the registry. ## What this does In debug mode, `BindingBase.platformDispatcher` wraps `PlatformDispatcher.instance`. The wrapper and its views report overridden metrics, so everything that reads them through the binding (`MediaQuery`, `RenderView`, gestures, semantics, image resolution, accessibility evaluations) sees the overrides without any override-specific code. Changing an override fires the same `dart:ui` callbacks a real platform change would. `RenderView`, `View`, `RawView` and `MediaQueryData.fromView` map a raw engine view to the binding's wrapped one, so overrides apply to it too. Widget tests see overrides through `TestWidgetsFlutterBinding`, and explicit test values still take precedence. Profile and release builds are unchanged. New API: `debugApplyViewMetricsOverrides` wraps a dispatcher, for bindings that supply their own, and `debugViewWithMetricsOverrides` maps a raw engine view to its wrapper. ## Behavior changes and caveats - Debug only: `View.of(context)` and the binding's views are no longer `identical` to the ones `PlatformDispatcher.instance` reports. A view's `platformDispatcher` is a wrapper for that view, not `PlatformDispatcher.instance` or an app binding's dispatcher. Compare views by `viewId`. - Debug only: a `FlutterView` test double passed to `View`, `RawView`, `RenderView` or `MediaQueryData.fromView` must implement `platformDispatcher` and `viewId`. - `TestPlatformDispatcher.scaleFontSize` asks the wrapped dispatcher unless `textScaleFactorTestValue` is set, so non-linear text scaling applies in tests. A fake dispatcher without `scaleFontSize` still gets linear scaling. - An overridden `physicalSize` lays out at that size but still renders into the real surface, anchored top-left. - An ancestor `MediaQuery` still wins over platform-wide overrides, as it does over real platform settings. `debugBrightnessOverride` still wins over an overridden brightness. - `ui.window`, direct `PlatformDispatcher.instance` reads and engine-drawn content (platform views, system UI, keyboard) don't see overrides. - Text scalers compare by `textScaleFactor`, so a new `textScaling` table with the same first-point ratio only reaches already laid-out text when that text lays out again. ## Tests - `foundation/debug_view_metrics_override_test.dart`: the wrappers, per metric and per view, plus view identity, normalization, change notifications and validation. - `widgets/debug_view_metrics_override_test.dart`: end to end through `MediaQuery`, views, layout, pointer events, semantics, images and accessibility evaluations, and precedence of explicit test values. - `service_extensions_test.dart` covers an override set through the extension. `platform_dispatcher_test.dart` covers `scaleFontSize` delegation and its fallback for fakes. ## 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. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/CONTRIBUTING.ai.md [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 0c2e34f - Browse repository at this point
Copy the full SHA 0c2e34fView commit details -
[tool] Migrate Cache.flutterRoot static state to instance configurati…
…on (#190795) Replaces static `Cache.flutterRoot` state and ambient `globals` usage across `Cache` and its callers with instance configuration and explicit `ToolContext` dependency injection, and consolidates `ToolContext` parameter passing across call sites. Part of #47161 ## 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] All existing and new tests are passing.
Configuration menu - View commit details
-
Copy full SHA for 7dae021 - Browse repository at this point
Copy the full SHA 7dae021View commit details -
Update golden file testing docs (#195449)
This updates documentation on golden file testing in flutter/flutter that had fallen out of date ## 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]. - [ ] 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. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance. **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 [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/CONTRIBUTING.ai.md [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 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 03c32a3 - Browse repository at this point
Copy the full SHA 03c32a3View commit details -
[web] Anchor platform view slots to top-left to fix RTL document layo…
…ut (#194601) Platform view slots use `position: absolute` with CSS transforms to position elements. When the host document uses `dir="rtl"`, the browser defaults the static position of unconstrained absolute elements to the right edge instead of the left, pushing the slot offscreen when the 2D translation matrix is applied. This explicitly sets `top: 0` and `left: 0` in `_resetAnchor` to ensure the transform origin and base coordinates always start at (0, 0). ## Description When Flutter Web is embedded in a webpage where `<html dir="rtl">` or `<body dir="rtl">` is set, platform views (`HtmlElementView`) render offscreen to the right. Fixes #195150 ### Cause `<flt-platform-view-slot>` uses `position: absolute` without explicit `top`/`left` anchors. Per CSS 2.1 §10.3.7, an unconstrained absolutely positioned element's static horizontal position aligns to the containing block's right edge in an RTL context. When Flutter translates the element with `transform: matrix(1, 0, 0, 1, x, y)`, the `+x` translation offsets from the right edge rather than (0, 0) top-left, throwing the view offscreen. ### Fix Explicitly set `top: 0` and `left: 0` in `_resetAnchor` (`embedder.dart`) for platform view slots so coordinate transforms always calculate from (0, 0). ## Tests Added - `test/ui/platform_view_position_test.dart`: Added `Platform view slot coordinates are anchored to top-left even in RTL document` validating slot position and rect when `domDocument.documentElement.dir == 'rtl'`. ## 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. --------- Co-authored-by: Mouad Debbar <[email protected]> Co-authored-by: Mouad Debbar <[email protected]> Co-authored-by: zhongliugo <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 52f8db0 - Browse repository at this point
Copy the full SHA 52f8db0View commit details -
Roll Skia from 121d04c01e2d to ce0b85b46db6 (6 revisions) (#195699)
https://skia.googlesource.com/skia.git/+log/121d04c01e2d..ce0b85b46db6 2026-10-30 [email protected] [skparagraph] Leave room for the soft hyphen when justifying 2026-10-30 [email protected] [skparagraph] Do not make invalid cluster ranges in justify 2026-10-30 [email protected] Make SkRemoteGlyphCache_b576664769 bounds check scaler independent 2026-10-30 [email protected] Prepare src/core for the raw_ptr rewrite 2026-10-30 [email protected] Fix integer overflow and oversized glyph rasterization in SDF generation 2026-10-30 [email protected] [sfnt] Validate table bounds in RenameFont If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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 5253d01 - Browse repository at this point
Copy the full SHA 5253d01View commit details -
[Android] Let the raster thread use every core of a chip without litt…
…le cores (#195071) `CPUSpeedTracker` counts the CPUs with the lowest `cpuinfo_max_freq` as efficiency cores, and the raster thread is set to the other cores (`kNotEfficiency`, renamed `kNotLittle` in this PR). On a chip without little cores, those are full-size cores. On the Snapdragon 8 Elite and 8 Elite Gen 5 (two prime and six performance Oryon cores) the raster thread only gets the two prime cores. They are mostly idle, so raster frames start at the cluster's lowest frequency. See #195070 for measurements. This change also reads `/sys/devices/system/cpu/cpuN/cpu_capacity`, the kernel's rating of each CPU, scaled so that the fastest is 1024. When every CPU has a capacity and none is below half of the fastest, the chip has no little cores, and `kNotLittle` is every core. - Why half: little cores rate well below it. Upstream SM8650 device trees put the Cortex-A520 at about 37% of the X4 at their top frequencies. The SM8850's performance cores are at 762 of 1024. - Equal capacities, or a CPU without one, change nothing. A kernel without capacity data reports 1024 for every CPU. - Other affinities do not change. `kEfficiency` is still the slowest group, so background threads stay off the prime cores. - `kNotEfficiency` is renamed `kNotLittle`, since on these chips it includes the efficiency cores. Each `CpuAffinity` value's doc says which cores it covers, and that performance and efficiency there are speed groups, not the industry's core types. - Chips with little cores (Snapdragon 8 Gen 1–3, Tensor, Exynos 2400) should keep the current set. I have only read the capacities of the SM8850. - Other chips without little cores also get every core. Examples: Dimensity 9300/9400 (the slowest group is four Cortex-A720), Snapdragon 8s Gen 4, and Snapdragon 8 Elite Gen 6. On the 8 Elite Gen 6 the six performance cores report two top frequencies (4.03 and 3.74 GHz), so today three of them count as efficiency cores. I have not measured these chips. - On the Dimensity 9600 Pro (2 × C2-Ultra at 4.55 GHz, 3 × C2-Pro at 4.35 GHz, 3 × C2-Pro at 3.1 GHz), the 3.1 GHz cores should rate near half, so it may go either way. Either way the raster thread keeps at least the five cores it gets today. This keeps the current design and only widens it where the capacities are clear. A chip whose performance cores rate below half of its prime cores would still leave the raster thread on the prime cores. The more general fix would be to stop pinning the raster thread, as Android does not pin a native app's RenderThread. That needs measurements on the devices that flutter-team-archive/engine#45673 and #153690 were about, so this change leaves it out. Tests: three new `CpuAffinity` tests in `fml_unittests`. `NoLittleCores` fails without this change. I ran the `CpuAffinity` tests against the changed files in a standalone build with clang++ and g++, not in a full engine build. On an SM8850 phone, setting the raster threads to every core from the app (the same result as this change) gave the numbers in #195070. I have not tested a custom engine build on the device. Fixes #195070 ## 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. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/CONTRIBUTING.ai.md [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 e65eafa - Browse repository at this point
Copy the full SHA e65eafaView commit details -
Adds Vulkan sync validation test run (#195596)
Adds new test run that just runs a handful of tests with vulkan synchronization validation layers on. The synchronization layers are heavy so we opted for this instead of running every tests with them on. fixes #195502 ## 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. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance. **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 [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/CONTRIBUTING.ai.md [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 184243b - Browse repository at this point
Copy the full SHA 184243bView commit details -
Roll Skia from ce0b85b46db6 to 466994d27b1e (3 revisions) (#195711)
https://skia.googlesource.com/skia.git/+log/ce0b85b46db6..466994d27b1e 2026-10-30 [email protected] [graphite] Cleanup PathAtlas API 2026-10-30 [email protected] [raster] Copy temporarily immutable bitmaps in asLegacyBitmap() 2026-10-30 [email protected] [skparagraph] Report a hit on the ellipsis or hyphen as upstream If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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 7d3f5d0 - Browse repository at this point
Copy the full SHA 7d3f5d0View commit details -
Document that Positioned also works inside an Overlay (#190607)
`Positioned` works inside an `Overlay` as well as a `Stack`, but its documentation only described the `Stack` case. This updates the documentation across `Positioned`, `PositionedDirectional`, the animated variants and the transition variants. Fixes #107903. The path restriction now covers both `RenderObjectWidget`s and other `ParentDataWidget`s, including `Expanded`, and identifies the boundary for each of the three overlay builders. `Overlay` documents the positioned-child alignment and normal non-positioned-child sizing, with links to `canSizeOverlay` and `alwaysSizeToContent` for the cases where a child determines the overlay size. Documentation only; no behavior or API changes. Validation from the review rounds is recorded in the inline replies and summary comments. The latest corrections are in `a9cecb891`. ## 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 documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. This PR is test-exempt because it only edits dartdoc text, with no behavioral or API changes. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [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 [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 --------- Co-authored-by: Victor Sanni <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c478de9 - Browse repository at this point
Copy the full SHA c478de9View commit details -
Fix XcodeProjectInterpreter dependency cycle in flutter_tools (#195694)
Defer `xcode` and `xcodeProjectInterpreter` evaluation in `globals.projectFactory` by passing `xcodeBuilder: () => xcode` and `xcodeProjectInterpreterBuilder: () => xcodeProjectInterpreter` instead of eagerly evaluating the `context.get` getters. Previously, accessing `globals.projectFactory` (e.g., via `Cache` during `Analytics` initialization) eagerly evaluated `globals.xcode` and `globals.xcodeProjectInterpreter`, triggering an `AppContext` dependency cycle (`Analytics -> Cache -> Xcode -> XcodeProjectInterpreter`). Includes a regression test in `packages/flutter_tools/test/general.shard/globals_test.dart`. Part of #47161 Related to #188471 ## 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. - [ ] 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/CONTRIBUTING.ai.md [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 f696546 - Browse repository at this point
Copy the full SHA f696546View commit details
Commits on Oct 31, 2026
-
Roll Skia from 466994d27b1e to 3a3f56f7ddd4 (1 revision) (#195719)
https://skia.googlesource.com/skia.git/+log/466994d27b1e..3a3f56f7ddd4 2026-10-30 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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 d4143a7 - Browse repository at this point
Copy the full SHA d4143a7View commit details -
Roll Skia from 3a3f56f7ddd4 to 284054bec98a (1 revision) (#195724)
https://skia.googlesource.com/skia.git/+log/3a3f56f7ddd4..284054bec98a 2026-10-31 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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 da87ea6 - Browse repository at this point
Copy the full SHA da87ea6View commit details -
Roll Skia from 284054bec98a to 9bab765df357 (2 revisions) (#195726)
https://skia.googlesource.com/skia.git/+log/284054bec98a..9bab765df357 2026-10-31 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2026-10-31 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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 3480cd0 - Browse repository at this point
Copy the full SHA 3480cd0View commit details -
Roll Skia from 9bab765df357 to 607de4b035dc (1 revision) (#195728)
https://skia.googlesource.com/skia.git/+log/9bab765df357..607de4b035dc 2026-10-31 [email protected] Roll vulkan-deps from 771ad08d3047 to 0b67fd39dd3b (9 revisions) If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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 ee8b482 - Browse repository at this point
Copy the full SHA ee8b482View 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 5e805bfd5816...ee8b48245d7a