Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: flutter/flutter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0f0246377b1c
Choose a base ref
...
head repository: flutter/flutter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c83f80b2367b
Choose a head ref
  • 7 commits
  • 11 files changed
  • 6 contributors

Commits on Jul 28, 2026

  1. Roll Packages from 6969329 to 3e63635 (6 revisions) (#190142)

    flutter/packages@6969329...3e63635
    
    2026-07-28 [email protected]
    [camera_android_camerax] Add the ability to unit test skills.
    (flutter/packages#12285)
    2026-07-28 [email protected] [ci] Tag dependabot PRs with
    `triage-android` (flutter/packages#12142)
    2026-07-26 [email protected] Roll Flutter from
    e292197 to 9988960 (1 revision) (flutter/packages#12288)
    2026-07-25 [email protected] Roll Flutter from
    b65f4d9 to e292197 (19 revisions) (flutter/packages#12287)
    2026-07-24 [email protected] Roll Flutter from
    2a2a79d to b65f4d9 (30 revisions) (flutter/packages#12284)
    2026-07-24 [email protected] Roll Flutter (stable) from
    84fc5cb to 058e0af (6 revisions) (flutter/packages#12282)
    
    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 [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
    engine-flutter-autoroll authored Jul 28, 2026
    Configuration menu
    Copy the full SHA
    d6d999e View commit details
    Browse the repository at this point in the history
  2. Made linter more robust to non-utf8 files (#190012)

    Fixing a problem a ran into locally.
    
    ## 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].
    - [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/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: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
    gaaclarke and gemini-code-assist[bot] authored Jul 28, 2026
    Configuration menu
    Copy the full SHA
    6bfd8f4 View commit details
    Browse the repository at this point in the history
  3. Roll Skia from 62442d6cf0ec to d78865e708ad (30 revisions) (#190152)

    https://skia.googlesource.com/skia.git/+log/62442d6cf0ec..d78865e708ad
    
    2026-07-28 [email protected] Use hermetic Python directly from
    dawn_repo.bzl
    2026-07-28 [email protected] Add missing GN deps on shaper
    2026-07-28 [email protected] [infra] Remove all remaining references to
    gsutil
    2026-07-28 [email protected] [bazel] Add Windows CI job for building
    viewer
    2026-07-28
    [email protected] Merge 4
    release notes into RELEASE_NOTES.md
    2026-07-28
    [email protected] Update
    Skia milestone to 153
    2026-07-28 [email protected] Ganesh: honor subset when flattening a
    YUVA image to a special image
    2026-07-28 [email protected] Manual roll
    Skia Infra from d47334d0785d to 42f146e4e61d (40 revisions)
    2026-07-28 [email protected] [recipes] Switch from "gsutil" to "gcloud
    storage"
    2026-07-28 [email protected] Roll
    vulkan-deps from b97f97b70455 to 0d9c229af89c (6 revisions)
    2026-07-28
    recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
    Roll recipe dependencies (trivial).
    2026-07-28
    recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
    Roll recipe dependencies (trivial).
    2026-07-28 [email protected] Roll Dawn
    from 1e897275172a to 10934785b43b (18 revisions)
    2026-07-28 [email protected] Roll ANGLE
    from c3ede28106e9 to ff4855759c68 (11 revisions)
    2026-07-28 [email protected] Roll
    debugger-app-base from b4889b3141e3 to a46a65d7ba05
    2026-07-27 [email protected] Add missing <cstdlib> header to
    FrontBufferedStream.cpp
    2026-07-27
    recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
    Roll recipe dependencies (trivial).
    2026-07-27 [email protected] Roll
    vulkan-deps from 70a303980973 to b97f97b70455 (5 revisions)
    2026-07-27 [email protected] miracleptr: Add RAW_PTR_EXCLUSION
    for pointers in stable C ABIs
    2026-07-27 [email protected] [skottie] Add support for Skottie
    ColorOverlay style
    2026-07-27 [email protected] [graphite] SparseStrips approximate
    conics with cubics
    2026-07-27
    recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
    Roll recipe dependencies (trivial).
    2026-07-27 [email protected] Roll ANGLE
    from 92de898b7a32 to c3ede28106e9 (3 revisions)
    2026-07-27 [email protected] Roll
    vulkan-deps from f147dcdbea36 to 70a303980973 (2 revisions)
    2026-07-27 [email protected] Roll Dawn
    from a56ab87a19a0 to 1e897275172a (16 revisions)
    2026-07-27 [email protected] Roll
    debugger-app-base from 773cb2ff3ea5 to b4889b3141e3
    2026-07-27
    recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
    Roll recipe dependencies (trivial).
    2026-07-26 [email protected] Roll
    vulkan-deps from 59e03a8479a3 to f147dcdbea36 (1 revision)
    2026-07-26 [email protected] Roll SKP
    CIPD package from 569 to 570
    2026-07-25 [email protected] Roll
    vulkan-deps from 8e393ad533ce to 59e03a8479a3 (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 [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
    engine-flutter-autoroll authored Jul 28, 2026
    Configuration menu
    Copy the full SHA
    d063bd8 View commit details
    Browse the repository at this point in the history
  4. iOS: Fix use-after-free race during shell teardown (#190132)

    -[FlutterEngine waitForFirstFrame:callback:] dispatches a block to a
    QOS_CLASS_BACKGROUND queue that dereferences the `_shell` unique_ptr and
    blocks in `Shell::WaitForFirstFrame()` on Shell-owned
    `waiting_for_first_frame_mutex_`/`waiting_for_first_frame_condition_`.
    
    Previously, nothing prevented `-destroyContext` from running
    concurrently on the main thread and calling `_shell.reset()` while that
    background block was still running, or hadn't started yet.
    `Shell::~Shell` only joins the platform/UI/raster/IO task runners. It
    has no idea a separate GCD thread might be parked (or about to park)
    inside the object, so `_shell.reset()` can free the Shell out from under
    the block, which then reads and locks/unlocks freed memory.
    
    Specifically:
    * We dispatch the background block in `-[FlutterEngine
    waitForFirstFrame:callback:]`, which captures `weakSelf`.
    * Before the block runs, or while it's blocked on the condition
    variable, the main thread calls `destroyContext`, which resets `_shell`.
    * The block resolves `strongSelf` which is still valid -- that's the
    FlutterEngine wrapper, not `_shell`, and calls
    `strongSelf.shell.WaitForFirstFrame(...)` on a Shell that's already been
    freed.
    
    This is reachable via -sendDeepLinkToFramework:completionHandler:, which
    calls waitForFirstFrame: with a 3s timeout, racing any concurrent
    lifecycle teardown (scene disconnect, view controller dealloc).
    
    This adds `Shell::CancelWaitForFirstFrame()`, which flips a cancelled
    flag under `waiting_for_first_frame_mutex_` and notifies the condition
    var, causing any current/upcoming `WaitForFirstFrame()` call to return
    `kAborted` promptly instead of blocking out its timeout. We call this
    before resetting the shell in `-destroyContext`, then wait on a
    dispatch_group for that block to actually finish touching `_shell`
    before freeing it.
    
    This is a separate dispatch_group to the one that already blocks the
    completion callback, so that concurrent waitForFirstFrame: calls don't
    have their callbacks coupled to each other.
    
    The unit tests was copied (near-)verbatim from repro on the bug.
    
    Issue: b/521830222
    
    <!--
    Thanks for filing a pull request!
    Reviewers are typically assigned within a week of filing a request.
    To learn more about code review, see our documentation on Tree Hygiene:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
    -->
    
    ## Pre-launch Checklist
    
    - [X] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [X] I read the [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].
    - [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/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
    cbracken authored Jul 28, 2026
    Configuration menu
    Copy the full SHA
    99a98f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2026

  1. Roll Skia from d78865e708ad to 70733f74d415 (2 revisions) (#190168)

    https://skia.googlesource.com/skia.git/+log/d78865e708ad..70733f74d415
    
    2026-07-28 [email protected] [graphite] Start refactoring
    Layer::test for more early-out conditions
    2026-07-28 [email protected] Revert "[infra] Remove all remaining
    references to gsutil"
    
    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
    engine-flutter-autoroll authored Jul 29, 2026
    Configuration menu
    Copy the full SHA
    d2e3754 View commit details
    Browse the repository at this point in the history
  2. Scope SemanticsTester per test in scrollable_semantics_test (#189800)

    The test file used a single top-level `SemanticsTester semantics;`
    shared across all tests. That is an anti-pattern: state can bleed
    between tests if one fails to dispose it.
    
    This scopes the `SemanticsTester` locally within each test instead,
    removing the shared top-level variable. No behavior change to the tests
    themselves.
    
    Fixes #189799
    
    ## 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].
    - [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].
    mbcorona authored Jul 29, 2026
    Configuration menu
    Copy the full SHA
    3656164 View commit details
    Browse the repository at this point in the history
  3. Use super-parameter in two_dimensional_utils (#189957)

    Work towards dart-lang/sdk#59226
    
    We are reporting some missed cases of 'use_super_parameters'.
    
    ## 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 documentation (doc comments with `///`).
    - [x] I added new tests to check the change I am making, or this PR is
    [test-exempt].
    - [x] I followed the [breaking change policy] and added [Data Driven
    Fixes] where supported.
    - [x] All existing and new tests are passing.
    
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
    [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
    srawlins authored Jul 29, 2026
    Configuration menu
    Copy the full SHA
    c83f80b View commit details
    Browse the repository at this point in the history
Loading