-
Notifications
You must be signed in to change notification settings - Fork 30.6k
Comparing changes
Open a pull request
base repository: flutter/flutter
base: 91b2d41
head repository: flutter/flutter
compare: dad6f9d
- 20 commits
- 40 files changed
- 9 contributors
Commits on Feb 20, 2026
-
Update CHANGELOG for 3.41.2 stable hotfix (#182647)
Stable branch PR: #182561 ## Pre-launch Checklist - [ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [ ] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [ ] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [ ] 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
Configuration menu - View commit details
-
Copy full SHA for 9dc7888 - Browse repository at this point
Copy the full SHA 9dc7888View commit details -
[Impeller] libImpeller: Dispose thread local caches on each Vulkan fr…
…ame (#182402) The Impeller Vulkan back end caches command pools in thread-local storage. These caches can grow unbounded unless the embedder calls ContextVK::DisposeThreadLocalCachedResources() This PR ensures that libImpeller Vulkan apps do this on each frame by calling DisposeThreadLocalCachedResources inside the ImpellerVulkanSwapchainAcquireNextSurfaceNew API.
Configuration menu - View commit details
-
Copy full SHA for 5655697 - Browse repository at this point
Copy the full SHA 5655697View commit details -
Correct PerformanceOverlay optionsMask checks and add tests (#182309)
This re-stages the changes from #174814 That PR had some outstanding feedback to resolve, this is now done and we can get this change in, with thanks to @jihanurrahman33 ! From the original PR: > Fix bitmask checks in RenderPerformanceOverlay._intrinsicHeight: > > Use bitwise AND (&) and compare against 0 instead of bitwise OR (|). > This ensures the intrinsic height is 0 when no options are enabled, 80.0 for one graph, > and 160.0 when both rasterizer and engine graphs are enabled. > Add tests in rendering/performance_overlay_test.dart to verify intrinsic height for > various masks. ## 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
Configuration menu - View commit details
-
Copy full SHA for f38a3e0 - Browse repository at this point
Copy the full SHA f38a3e0View commit details -
Don't compile shaders to SkSL unless --sksl arg is present (#182519)
The main change of this PR is to make `impellerc_main` no longer use `TargetPlatformBundlesSkSL(switches.SelectDefaultTargetPlatform())` to determine whether to compile to SkSL. Addresses the "sksl unexpectedly compiling when building for ios" mentioned in #182400. `TargetPlatformBundlesSkSL()` returned `true` when running impellerc targeting *any* runtime shaders. So even though https://github.com/flutter/flutter/pull/163144/changes changed iOS runtime shaders to no longer call impellerc with the `--sksl` runtime target, it would still compile to SkSL because of the `--runtime-stage-metal` runtime target. After this PR, impellerc will only compile to SkSL if `--sksl` is explicitly provided when calling impellerc. The rest of the changes in this PR are related changes to improve code organization and to update tests. - `impellerc_main.cc`: - `OutputIPLR()`: Remove the custom logic for compiling to SkSL. SkSL is now treated the same as all the other compile targets in the `for (const auto& platform : switches.PlatformsToCompile())` loop. This is the only change with a behavioral difference in the PR. We no longer use `TargetPlatformBundlesSkSL(switches.SelectDefaultTargetPlatform())` to determine whether to compile to SkSL. Instead, it's treated the same as any other compilation target and will only be targeted when it is specified as an arg to the executable. - Remove the `CompileSkSL()` helper function. This had the exact same logic as what is used for all the other compilation targets in the `for (const auto& platform : switches.PlatformsToCompile())` loop. So it is not needed. - `OutputDepfile()`: Remove the switch/case. The `TargetPlatform::kUnknown` case is unreachable, so this used the other case 100% of the time. - `Main()`: `switches.CreateSourceOptions()` no longer has a default platform target parameter. It doesn't matter which target it's called with here. Arbitrarily call it with `switches.PlatformsToCompile().front()`. - `types.h/cc`: - Remove the `TargetPlatformBundlesSkSL()` function. The only place this was used was for `impellerc_main.cc`'s special case logic for SkSL, which was removed as described above. - `switches.h/cc`: - Remove the optional/default parameter for `CreateSourceOptions()`. This used to fall back to calling `SelectDefaultTargetPlatform()` to determine the default value. I found this to be very unclear behavior. The only place this was actually called with the default parameter is in one function in `shader_bundle.cc` where the selected target platform does not actually matter, so it doesn't even need this somewhat-convoluted logic to select a platform with `SelectDefaultTargetPlatform()`. I changed `CreateSourceOptions()` to require an explicit parameter, which I think makes the function's behavior clearer by removing the confusing default parameter. - Remove the `SelectDefaultTargetPlatform()` function. I think it was a little unclear/nonobvious what this was actually returning. It was only used in 3 places, all of which were kind of confusing/unneeded: 1. In this same file, to pick the default target platform in `switches.CreateSourceOptions()`. As described above, this seems entirely unnecessary. 1. In `impeller_main.cc`, used in `TargetPlatformBundlesSkSL(switches.SelectDefaultTargetPlatform())` to determine whether to compile to SkSL. As described above, we don't want this behavior. I think it was also kind of confusing. 1. In `impeller_main.cc`, used for the switch/case in `OutputDepfile()`. As described above, this switch/case is entirely unnecessary. - Change the `kKnownRuntimeStages` map to be a vector of pairs. This is iterated through to populate the returned `runtime_stages_` list of `Switches::PlatformsToCompile()`. Making it a vector makes the `runtime_stages_` list maintain the ordering of `kKnownRuntimeStages` (previously, iterating through the map would iterate in alphabetical order of the keys). - `impellerc_main.cc`'s `OutputIPLR()` now compiles to targets based on `Switches::PlatformsToCompile()`, without special case logic to always compile to "sksl" first. Changing this to a vector with "sksl" as the first value preserves the original behavior of compiling to "sksl" before any other targets. We do this because certain tests that perform a failed shader compilation check specifically for an SkSL-based error message (e.g. [this one](https://github.com/flutter/flutter/blob/64866862f623ceeb45fd8be4782e8db8b58910c0/packages/flutter_tools/test/integration.shard/shader_compiler_test.dart#L150-L170)). So for these tests, we need to try/fail with the SkSL compiler first, before trying/failing with other compilers which would produce a different error message. - `shader_bundle.cc` - As described above, change the usage of `switches.CreateSourceOptions()` to require an explicit target platform parameter. This particular usage doesn't matter, so use `TargetPlatform::kUnknown` and add an explanatory comment. - `compiler.cc` - In `CreateCompiler()`, Add an `FML_UNREACHABLE` for the `TargetPlatform::kUnknown` case, instead of falling back to using a vulkan compiler. It doesn't make sense to call `CreateCompiler()` with `TargetPlatform::kUnknown`. And currently, it can't happen: The only use of `CreateCompiler()` is in the `Compiler` constructor on [line 432](https://github.com/flutter/flutter/blob/24ce716cfddfef201027c1a5fa2299a8aeffb03e/engine/src/flutter/impeller/compiler/compiler.cc#L432), and there is a check preventing `TargetPlatform::kUnknown` earlier on [line 292](https://github.com/flutter/flutter/blob/24ce716cfddfef201027c1a5fa2299a8aeffb03e/engine/src/flutter/impeller/compiler/compiler.cc#L292). - `compiler_unittests.cc`, `compiler_test.h` - The `INSTANTIATE_{TARGET|RUNTIME_TARGET|SKSL_TARGET}_PLATFORM_TEST_SUITE_P` defines were oddly located in the file in the middle of the tests. Move them to the top of the file. - `INSTANTIATE_TARGET_PLATFORM_TEST_SUITE_P` - Remove the `kSkSL` target. These tests seem to be specifically for non-runtime targets, so SkSL doesn't belong here. All of these tests had a filter to skip for SkSL, so none of them actually ran for SkSL. These skips are now removed. - Add the `kVulkan` target, so all non-runtime platform targets are covered: opengles, openglesdesktop, metaldesktop, metalios, vulkan. - `INSTANTIATE_RUNTIME_TARGET_PLATFORM_TEST_SUITE_P` - This used to only test with `kRuntimeStageMetal`. For better coverage, I added all other runtime stages to this. It now tests on the metal, gles, gles3, vulkan, and sksl runtime targets. - Two tests, `UniformsAppearInJson` and `PositionedUniformsAppearInJson` fail when running with vulkan and with sksl. I added skips for these. I haven't dug deeper, but the failures seem unexpected to me. It's possible that this is revealing a bug with the vulkan and sksl compilers. - `INSTANTIATE_UNKNOWN_TARGET_PLATFORM_TEST_SUITE_P` - Added this new define for running tests with `TargetPlatform::kUnknown`. - Added a `MustFailDueToUnknownPlatform` test for this case. - `fixtures/BUILD.gn`, `runtime_stage_unittests.cc` - For the `impellerc("runtime_stages")` build target, add `--sksl` to the impellerc flags. This preserves the existing behavior of these targets being compiled for SkSL. They used to compile for SkSL because other runtime targets are specified. But now impellerc only compiles to SkSL when `--sksl` is explicitly specified. - Create a new `impellerc("runtime_stages_non_sksl")` target that runs impellerc without `--sksl`. Use this for a new `ContainsExpectedShaderTypesNoSksl` test in the unit test file. That test is the same as the existing `ContainsExpectedShaderTypes` test, but using the non-sksl output from `impellerc("runtime_stages_non_sksl")`. ### Update for commit 2 of the PR: The original PR had an issue that failed CI because a build rule expected an impellerc output to include C++ reflection data, but the reflection data was not output. I added a sizable commit to address this: - Fix compiler.gni logic around when to generate reflection state. - This used to incorrectly generate reflection state whenever the last shader_target_flags is not "--sksl". - Instead, generate reflection state when any non-runtime target is in shader_target_flags. - Consolidate some of the if/else logic to reduce duplicate code. - Remove the TargetPlatformNeedsReflection check in impeller_main.cc. - Instead, whether reflection state is generated depends only on the presence or absense of "reflection_{json|header|cc}_name" flags. - The logic of whether to include these flags is already in compiler.gni. So it's redundant to also have logic for whether to generate the reflection state here. - The TargetPlatformNeedsReflection method had faulty logic. - It returned true for everything except SkSL, even though reflection state isn't needed for runtime targets. - It was called on the target from Switches::SelectDefaultTargetPlatform. When impellerc is used with multiple runtime targets, this would return the runtime target that is first alphabetically by flag name. So if --sksl is provided along with any other --runtime-stage-* target, SelectDefaultTargetPlatform returns the non-sksl runtime target. Effectively this meant that TargetPlatformNeedsReflection returns true except for when --sksl is the only provided runtime target. - Removes the TargetPlatformNeedsReflection function entirely. ## 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
Configuration menu - View commit details
-
Copy full SHA for 3109939 - Browse repository at this point
Copy the full SHA 3109939View commit details -
Manual dart sdk flutter 174bcc79 25ff 4267 8e26 d0e902f18681 17714864…
…49 (#182624) fixes #182617 manual roll for #182591 https://dart.googlesource.com/sdk.git/+log/2642761fca94..f8fac50475b8 --------- Co-authored-by: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Configuration menu - View commit details
-
Copy full SHA for 4c020ad - Browse repository at this point
Copy the full SHA 4c020adView commit details -
Roll Skia from ce5854495a3a to c91ad88e89f8 (58 revisions) (#182678)
Roll Skia from ce5854495a3a to c91ad88e89f8 (58 revisions) https://skia.googlesource.com/skia.git/+log/ce5854495a3a..c91ad88e89f8 2026-02-20 bungeman@google.com Remove debugger force identity matrix 2026-02-20 mike@reedtribe.org Move hashtable into pimpl 2026-02-20 borenet@google.com Roll Skia Infra from 64c7b19e265b to 416a772a9154 (18 revisions) 2026-02-20 cwallez@chromium.org Rename wgpu::TextureFormat::External -> OpaqueYCbCrAndroid 2026-02-20 nscobie@google.com Revert "Reland "[graphite] Define TextureUsage bit mask to generalize texture caps"" 2026-02-20 borenet@google.com [infra] Move Mac builds to new Mac Mini M4 Pro machines 2026-02-20 nicolettep@google.com Reland "[graphite] Separate backend GPU resource label update step" 2026-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from cdd52676dc73 to 01c32bf96210 (4 revisions) 2026-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f7be8b663ba2 to 57a5cdef988c (3 revisions) 2026-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 42ae4b5eee73 to cfe1bfd1f9bf (10 revisions) 2026-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 70bfa35054f7 to cdd52676dc73 (9 revisions) 2026-02-19 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2026-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0400617b8b2f to f7be8b663ba2 (3 revisions) 2026-02-19 from Dev Box [rust icc] Fix endianness of u16 table/grid data for skcms 2026-02-19 michaelludwig@google.com Reland "[graphite] Define TextureUsage bit mask to generalize texture caps" 2026-02-19 robertphillips@google.com Delete perma-failing *SAN jobs 2026-02-19 fmalita@google.com Remove sk_float_rsqrt_portable 2026-02-19 fmalita@google.com Remove SkPopCount_portable 2026-02-19 bungeman@google.com Implement MSKPPlayer::CmdRecordCanvas with SkNWayCanvas 2026-02-19 kjlubick@google.com Remove SK_DIRECT3D #ifdefs from GrDirectContext.h 2026-02-19 kjlubick@google.com Make bin/* scripts more platform independent 2026-02-19 kjlubick@google.com Replace SKNX_NO_SIMD with SKVX_DISABLE_SIMD 2026-02-19 fmalita@google.com Remove some portable math helpers 2026-02-19 bungeman@google.com Implement more MSKPPlayer 2026-02-19 kjlubick@google.com Remove some files that are no longer used 2026-02-19 robertphillips@google.com Fix Android Graphite Vulkan HWASAN job's name 2026-02-19 michaelludwig@google.com Revert "[graphite] Define TextureUsage bit mask to generalize texture caps" 2026-02-19 robertphillips@google.com Remove all Vulkan jobs from AlphaR2/RadeonR9M470X 2026-02-19 thomsmit@google.com [graphite] Add Experimental DrawListLayer 2026-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from ebe186f173eb to 64c7b19e265b (11 revisions) 2026-02-19 borenet@google.com [infra] Remove QuadroP400 Vulkan test job from CQ 2026-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 6d3c8e9fd2a6 to 70bfa35054f7 (5 revisions) 2026-02-19 arthursonzogni@chromium.org Disable PartitionAlloc by default. 2026-02-19 michaelludwig@google.com [graphite] Define TextureUsage bit mask to generalize texture caps 2026-02-19 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2026-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 24ca4366b725 to 0400617b8b2f (4 revisions) 2026-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1603b2a8f1cb to 42ae4b5eee73 (10 revisions) 2026-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 82df30ad2557 to 6d3c8e9fd2a6 (11 revisions) 2026-02-18 skia-autoroll@skia-public.iam.gserviceaccount.com MiraclePtr: Enable PartitionAlloc in tests. 2026-02-18 bungeman@google.com Implement more MSKPPlayer 2026-02-18 borenet@google.com [infra] Fix missing provisioning profile for iOS18 builds 2026-02-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from bf29606bcfcf to 24ca4366b725 (6 revisions) 2026-02-18 kjlubick@google.com Fix rewrite_includes.py on Windows 2026-02-18 kjlubick@google.com Use Direct3D as backend for Raster in viewer when available 2026-02-18 jmbetancourt@google.com Add logging level Info to Skia 2026-02-18 mike@reedtribe.org Reapply "Remove bespoke CLZ and CTZ implemenatations" ...
Configuration menu - View commit details
-
Copy full SHA for 5b5a69f - Browse repository at this point
Copy the full SHA 5b5a69fView commit details -
Fix Chat invite link (#182675)
The old one does not exist anymore. Flagged in https://discord.com/channels/608014603317936148/611619879153565715/1474353602951909397 ## 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
Configuration menu - View commit details
-
Copy full SHA for 1af98a6 - Browse repository at this point
Copy the full SHA 1af98a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 075faff - Browse repository at this point
Copy the full SHA 075faffView commit details -
fix(web_ui): use static whitelist for image codec tests (#182648)
The `codecs_test.dart` previously fetched all images from `/test_images/` dynamically. This caused flakiness when Skia added new images that were purposely undecodable or problematic for the Flutter web engine. This change introduces a static whitelist of verified test images and removes the dynamic fetching logic. It also cleans up obsolete skip conditions for images that are no longer in the whitelist. Fixes #182629 ## 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
Configuration menu - View commit details
-
Copy full SHA for 6d42ae5 - Browse repository at this point
Copy the full SHA 6d42ae5View commit details
Commits on Feb 21, 2026
-
Add fields getter to FormState (#180815)
This PR exposes a public `FormState.fields` getter that returns all registered `FormFieldState` instances associated with a `Form`. Fixes #110760 Fixes #67283 Partially fixes #107528 Partially fixes #108110 ## 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]. - [ ] 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
Configuration menu - View commit details
-
Copy full SHA for 9c8defe - Browse repository at this point
Copy the full SHA 9c8defeView commit details -
Shortcircuit if Tooltip message and richMessage are empty (#182524)
Configuration menu - View commit details
-
Copy full SHA for e6e3696 - Browse repository at this point
Copy the full SHA e6e3696View commit details -
Roll Skia from c91ad88e89f8 to 3ca547c8b816 (9 revisions) (#182696)
https://skia.googlesource.com/skia.git/+log/c91ad88e89f8..3ca547c8b816 2026-02-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b236d9397ad7 to 95f2b1547e2b (2 revisions) 2026-02-20 thomsmit@google.com [graphite] Add drawListLayer flag and jobs 2026-02-20 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2026-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from cfe1bfd1f9bf to 9f7f7705f689 (11 revisions) 2026-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll vulkan-deps from 57a5cdef988c to b236d9397ad7 (13 revisions) 2026-02-20 michaelludwig@google.com [ganesh] Guard verb counts in tessellation accumulation against overflow 2026-02-20 briansalomon@gmail.com Fix missing include in SkTInternalLList.h 2026-02-20 nscobie@google.com Revert "Remove mipmaps from SkBitmap's implementation" 2026-02-20 borenet@google.com [infra] Add jobs for GalaxyS25+ 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,kjlubick@google.com,robertphillips@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
Configuration menu - View commit details
-
Copy full SHA for 2a4b712 - Browse repository at this point
Copy the full SHA 2a4b712View commit details -
Roll Skia from 3ca547c8b816 to 34fa7b2373f3 (2 revisions) (#182711)
https://skia.googlesource.com/skia.git/+log/3ca547c8b816..34fa7b2373f3 2026-02-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 95f2b1547e2b to 8f413c72c076 (2 revisions) 2026-02-21 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 01c32bf96210 to 0fd9b013f3b7 (13 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,kjlubick@google.com,robertphillips@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
Configuration menu - View commit details
-
Copy full SHA for 3f0a731 - Browse repository at this point
Copy the full SHA 3f0a731View commit details
Commits on Feb 22, 2026
-
Roll Skia from 34fa7b2373f3 to f6ea7ef42d14 (1 revision) (#182721)
https://skia.googlesource.com/skia.git/+log/34fa7b2373f3..f6ea7ef42d14 2026-02-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8f413c72c076 to a3eaea1fab67 (1 revision) 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,kjlubick@google.com,robertphillips@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
Configuration menu - View commit details
-
Copy full SHA for 3ff83f3 - Browse repository at this point
Copy the full SHA 3ff83f3View commit details -
Roll Skia from f6ea7ef42d14 to e59de8a12e7e (1 revision) (#182726)
https://skia.googlesource.com/skia.git/+log/f6ea7ef42d14..e59de8a12e7e 2026-02-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SKP CIPD package from 553 to 554 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,fmalita@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
Configuration menu - View commit details
-
Copy full SHA for 8774a3b - Browse repository at this point
Copy the full SHA 8774a3bView commit details -
Roll Skia from e59de8a12e7e to 141ed451f007 (1 revision) (#182729)
https://skia.googlesource.com/skia.git/+log/e59de8a12e7e..141ed451f007 2026-02-22 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from 9f7f7705f689 to d34c2bf3ce62 (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 aaclarke@google.com,fmalita@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
Configuration menu - View commit details
-
Copy full SHA for d2d2a7a - Browse repository at this point
Copy the full SHA d2d2a7aView commit details -
Roll Skia from 141ed451f007 to 256e2b47b303 (1 revision) (#182732)
https://skia.googlesource.com/skia.git/+log/141ed451f007..256e2b47b303 2026-02-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a3eaea1fab67 to 3f282946f440 (1 revision) 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,fmalita@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
Configuration menu - View commit details
-
Copy full SHA for efb43ec - Browse repository at this point
Copy the full SHA efb43ecView commit details
Commits on Feb 23, 2026
-
Roll Skia from 256e2b47b303 to 55fae1660572 (1 revision) (#182741)
https://skia.googlesource.com/skia.git/+log/256e2b47b303..55fae1660572 2026-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from 8e3b6d97c1c6 to 40c834a730e3 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,fmalita@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
Configuration menu - View commit details
-
Copy full SHA for 1e1df36 - Browse repository at this point
Copy the full SHA 1e1df36View commit details -
Roll Skia from 55fae1660572 to 9a5a3c92c336 (7 revisions) (#182749)
https://skia.googlesource.com/skia.git/+log/55fae1660572..9a5a3c92c336 2026-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from d34c2bf3ce62 to dba7ad242852 (3 revisions) 2026-02-23 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial). 2026-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 416a772a9154 to 4748f1cf565a (14 revisions) 2026-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 0fd9b013f3b7 to e056c4505461 (7 revisions) 2026-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from 44807f17a4cc to 451d5bbc86ae 2026-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-base from 1b7f09f5d7a2 to 73709477111f 2026-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 4dc2907743fd to 4be913bfbea5 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,fmalita@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
Configuration menu - View commit details
-
Copy full SHA for 95144d4 - Browse repository at this point
Copy the full SHA 95144d4View commit details -
Roll Packages from 9da22bf24a36 to 12b43a192e1f (19 revisions) (#182758)
flutter/packages@9da22bf...12b43a1 2026-02-20 rick.hohler@gmail.com [webview_flutter_wkwebview] Fix crash when calling setOnConsoleMessage multiple times (flutter/packages#10922) 2026-02-20 engine-flutter-autoroll@skia.org Manual roll Flutter from c023e5b to 91b2d41 (31 revisions) (flutter/packages#11088) 2026-02-20 kallentu@google.com [rfw] Remove old TODOs for code block languages. (flutter/packages#11080) 2026-02-20 matt.boetger@gmail.com [google_maps_flutter] Remove usesCleartextTraffic (flutter/packages#11079) 2026-02-20 stuartmorgan@google.com [google_maps_flutter] Improve iOS shared code validation (flutter/packages#11070) 2026-02-20 mdebbar@google.com Revert "#167410: _initCalled completed twice (#9694)" (flutter/packages#11084) 2026-02-20 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump androidx.activity:activity from 1.12.2 to 1.12.4 in /packages/image_picker/image_picker_android/android (flutter/packages#11033) 2026-02-20 matt.boetger@gmail.com [interactive_media_ads] Remove usesCleartextTraffic (flutter/packages#11065) 2026-02-19 matt.boetger@gmail.com [image_picker] Remove usesCleartextTraffic (flutter/packages#11076) 2026-02-19 matt.boetger@gmail.com [quick_actions_android] Remove deprecated usesCleartextTraffic (flutter/packages#11063) 2026-02-19 matt.boetger@gmail.com [quick_actions] Remove usesCleartextTraffic (flutter/packages#11064) 2026-02-19 matt.boetger@gmail.com [google_maps_flutter_android] Remove usesCleartextTraffic (flutter/packages#11078) 2026-02-19 louisehsu@google.com [google_maps_flutter_ios] Migrate to UIScene (flutter/packages#11001) 2026-02-19 matt.boetger@gmail.com [image_picker_android] Remove deprecated usesCleartextTraffic (flutter/packages#11059) 2026-02-19 matt.boetger@gmail.com [file_selector_android] Remove deprecated usesCleartextTraffic (flutter/packages#11057) 2026-02-19 matt.boetger@gmail.com [webview_flutter_android] Remove usesCleartextTraffic (flutter/packages#11066) 2026-02-19 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump exoplayer_version from 1.9.1 to 1.9.2 in /packages/video_player/video_player_android/android (flutter/packages#10985) 2026-02-19 stuartmorgan@google.com [google_maps_flutter] Fix add-marker crash on Android (flutter/packages#11061) 2026-02-19 42980667+srivats22@users.noreply.github.com #167410: _initCalled completed twice (flutter/packages#9694) 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
Configuration menu - View commit details
-
Copy full SHA for dad6f9d - Browse repository at this point
Copy the full SHA dad6f9dView 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 91b2d41...dad6f9d