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/packages
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: df2ba94faea6
Choose a base ref
...
head repository: flutter/packages
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 740f09361ccc
Choose a head ref
  • 17 commits
  • 58 files changed
  • 14 contributors

Commits on Aug 24, 2026

  1. [tool] Fix dart_test.yaml parsing (#12574)

    Use YAML parsing rather than a regex to extract the `test_on` value from package-level dart_test.yaml files. This avoids failing to recognize valid values just because they don't match the exact regex format.
    
    Fixes flutter/flutter#191495
    stuartmorgan-g authored Aug 24, 2026
    Configuration menu
    Copy the full SHA
    4b8cb3f View commit details
    Browse the repository at this point in the history
  2. Roll Flutter from 65c9a8dc60bc to 9a8278982588 (17 revisions) (#12578)

    flutter/flutter@65c9a8d...9a82789
    
    2026-08-24 [email protected] Roll Packages from 252bb33 to df2ba94 (5 revisions) (flutter/flutter#191578)
    2026-08-24 [email protected] Roll Dart SDK from cb056da580b6 to 78bbc37b6ff6 (13 revisions) (flutter/flutter#191574)
    2026-08-24 [email protected] Roll Skia from 50452b13f05b to 57968d087d18 (1 revision) (flutter/flutter#191572)
    2026-08-24 [email protected] Move more RSE rendering cases to complex_rse.frag (flutter/flutter#191235)
    2026-08-24 [email protected] Roll Skia from 925e13559532 to 50452b13f05b (2 revisions) (flutter/flutter#191570)
    2026-08-24 [email protected] iOS: Add stylus pointer tests (flutter/flutter#191564)
    2026-08-24 [email protected] iOS: Improve FlutterEngineGroup tests (flutter/flutter#191563)
    2026-08-24 [email protected] Roll Skia from c78782c7c1c2 to 925e13559532 (5 revisions) (flutter/flutter#191568)
    2026-08-24 [email protected] Roll Skia from 886302c7c68e to c78782c7c1c2 (1 revision) (flutter/flutter#191566)
    2026-08-24 [email protected] Revert "Improve initial size and placement logic for popups and toolt…ips on Linux (#189994) (flutter/flutter#191498)
    2026-08-23 [email protected] Roll Fuchsia Linux SDK from Cqs-NyeELd60hqv1e... to 8Xu4ujBJniC0nQGx3... (flutter/flutter#191561)
    2026-08-23 [email protected] Fixes MSAA on the linux embedder. (flutter/flutter#191379)
    2026-08-23 [email protected] Remove Material/Cupertino references in error messages (flutter/flutter#191305)
    2026-08-23 [email protected] Roll Skia from a1825062f832 to 886302c7c68e (1 revision) (flutter/flutter#191559)
    2026-08-23 [email protected] Roll Skia from ad2106c0bb64 to a1825062f832 (1 revision) (flutter/flutter#191555)
    2026-08-22 [email protected] Roll Fuchsia Linux SDK from ic6GjOSn-KN508XyK... to Cqs-NyeELd60hqv1e... (flutter/flutter#191547)
    2026-08-22 [email protected] [WebParagraph] Fixing minor problem with getBoxesForRange (flutter/flutter#191419)
    
    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
    Please CC [email protected],[email protected] on the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Packages: 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 Aug 24, 2026
    Configuration menu
    Copy the full SHA
    629f27e View commit details
    Browse the repository at this point in the history
  3. [material_ui] Port flutter/flutter #185149 "Slider label clips the sc…

    …reen" (#12572)
    
    Ports flutter/flutter#185149 from flutter/flutter to flutter/packages, following the porting instructions in flutter/flutter#188444.
    
    Long text in a `Slider` or `RangeSlider` label clipped off the edges of the screen. This limits the label's `maxWidth` to the screen width minus a calculated horizontal buffer (`_kValueIndicatorHorizontalBuffer`), forces `maxLines = 1`, and applies the Unicode ellipsis (`\u2026`), so the text no longer expands past the screen boundary and the bubble shape no longer breaks vertically. A `screenSize.width.isFinite && screenSize.width > 0` guard keeps the constraint inert when no valid size is available.
    
    The original PR was reviewed and approved by @QuncCccccc. No merge commits were included; the five commits cherry-picked onto `material_ui` with no conflicts.
    
    Validation:
    - `dart format --set-exit-if-changed` on the four changed files
    - `git diff --check`
    - `flutter test test/slider_test.dart test/range_slider_test.dart`
    
    Fixes flutter/flutter#63293
    
    ## Pre-Review Checklist
    
    **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.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    mbcorona authored Aug 24, 2026
    Configuration menu
    Copy the full SHA
    fd8d150 View commit details
    Browse the repository at this point in the history
  4. [go_router] Clarify onEnter/redirect ordering, add regression test (#…

    …12337)
    
    ## What this does
    
    Clarifies the `onEnter` doc comment on `RoutingConfig` to explicitly warn
    that `onEnter` is evaluated once, against the literal navigated-to URI,
    and is never re-invoked for locations reached only through a `redirect:`
    chain. Adds a regression test locking in this behavior for the exact
    scenario reported in flutter/flutter#188014, plus a second test
    demonstrating the correct workaround (putting the guard inside
    `redirect:` instead of `onEnter`).
    
    ## Why
    
    flutter/flutter#188014 reports what looks like a bug: an `onEnter` guard
    checking for an intermediate redirect target (`/a`, reached via a
    `redirect:` on `/`) never fires. Tracing the pipeline shows this is
    actually intended, existing behavior — see the
    `'onEnter called once when top-level redirect chains'` test (written for
    the related #178984), which asserts the same ordering. The docs didn't
    make this ordering/visibility gap explicit though, so it's an easy trap.
    This PR closes that documentation gap and adds test coverage so the
    behavior can't silently change without a test failing.
    
    ## Related
    
    Fixes flutter/flutter#188014 (as a documentation clarification, not a
    behavior change — see discussion on the issue).
    
    ## Pre-Review Checklist
    
    > [!IMPORTANT]
    > This PR was prepared with assistance from an AI agent (Claude). The
    > code, doc comment, and tests have been reviewed by the author, who
    > understands the change and takes responsibility for it.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    developerashkan authored Aug 24, 2026
    Configuration menu
    Copy the full SHA
    b16aef1 View commit details
    Browse the repository at this point in the history
  5. [camera_android_camerax] Migrate from dart_skills_lint to skills_lint (…

    …#12543)
    
    The skills_lint code is moving out of flutter/agent-plugins to its own github repo skills_lint.dart. 
    -@reidbaker
    
    ---
    Relevant prompts 
    ```
    ok our task today is to migrate (and document how to migrate) the use of dart_skills_lint in the package repo to skills_lint.dart. 
    
    Feel free to ask me questions  
    ```
    ---
    Agent authored description 
    Migrates `camera_android_camerax` from the legacy `dart_skills_lint` dependency to `skills_lint` from `google/skills_lint.dart` pinned to commit hash `e6e695e1550f81342fe5acd4dbe65040b5aa44c3`.
    
    - Renames `dart_skills_lint.yaml` to `skills_lint.yaml` and updates root key to `skills_lint:`.
    - Updates Dart imports in `test/validate_skills_test.dart` and `test/enforce_tracked_skills_prevent_publishing_rule.dart` to `package:skills_lint/skills_lint.dart`.
    - Updates diagnostic messages and skill documentation references.
    
    ## Pre-Review Checklist
    reidbaker-agent authored Aug 24, 2026
    Configuration menu
    Copy the full SHA
    90ba788 View commit details
    Browse the repository at this point in the history
  6. [google_sign_in] Increase iOS coverage tests (#12484)

    Adds native unit tests for previously untested paths in
    `FLTGoogleSignInPlugin.m` before the Objective-C → Swift migration.
    Production code is unchanged.
    
    This is a tests-only change, so it does not bump the package version or
    CHANGELOG.
    
    Native unit tests go from 21 tests / 6 suites to 31 tests / 11 suites.
    
    ### New test cases
    
    **`urlHandling` (iOS / Mac Catalyst only)** — these APIs do not exist on
    macOS (`handleOpenURLs:` is the macOS path):
    - `applicationOpenURL` — `application:openURL:options:` forwards the URL
    to GID and returns `true`
    - `applicationOpenURLReturnsHandleResult` — same path returns `false`
    when GID does
    - `sceneOpenURLContexts` — `scene:openURLContexts:` forwards the URL
    from a `UIOpenURLContext` stand-in
    
    **`errorMapping`:**
    - `mapsRemainingGIDSignInErrorCodes` (parameterized):
      - `GIDSignInError.keychain` → `FSIGoogleSignInErrorCode.keychainError`
      - `GIDSignInError.EMM` → `FSIGoogleSignInErrorCode.eemError`
      - `GIDSignInError.unknown` → `FSIGoogleSignInErrorCode.unknown`
      - unrecognized SDK code (`12345`) → `FSIGoogleSignInErrorCode.unknown`
    - `sanitizesComplexUserInfoInFlutterError` — `FSISanitizedUserInfo`
    keeps strings/numbers/URLs/arrays/dicts/nested errors and stringifies
    unsupported types (e.g. `Date`)
    
    **`disconnect`:**
    - `disconnectReturnsFlutterErrorOnFailure` — a GID disconnect failure is
    returned as a Flutter error with domain/code and userInfo
    
    **`userData`:**
    - `signInWithoutProfileImageOmitsPhotoUrl` — a user with no profile
    photo gets `photoUrl == nil` and still maps `displayName`
    
    **`topViewController` (iOS / Mac Catalyst only)** — macOS presents with
    `NSWindow`, not a `UIViewController` hierarchy:
    - `usesNavigationControllerVisibleController` — presents from the nav
    stack’s top VC
    - `usesTabBarControllerSelectedController` — presents from the selected
    tab VC
    - `usesPresentedViewController` — presents from a presented VC
    
    Also records URLs passed to `TestSignIn.handle(_:)` so the URL-handling
    cases can assert the fake was called.
    
    First part of Swift migration to backfill code coverage for
    flutter/flutter#119103
    
    ## Pre-Review 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] page, which explains my
    responsibilities.
    - [x] I read and followed the [relevant style guides] and ran [the
    auto-formatter].
    - [x] I signed the [CLA].
    - [x] The title of the PR starts with the name of the package surrounded
    by square brackets, e.g. `[shared_preferences]`
    - [x] I [linked to at least one issue that this PR fixes] in the
    description above.
    - [x] I followed [the version and CHANGELOG instructions], using
    [semantic versioning] and the [repository CHANGELOG style], or I have
    commented below to indicate which documented exception this PR falls
    under[^1].
    - [x] I updated/added any relevant documentation (doc comments with
    `///`).
    - [x] I added new tests to check the change I am making, or I have
    commented below to indicate which [test exemption] this PR falls
    under[^1].
    - [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.
    
    [^1]: Regular contributors who have demonstrated familiarity with the
    repository guidelines only need to comment if the PR is not
    auto-exempted by repo tooling.
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/packages/blob/main/CONTRIBUTING.md
    [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/master/docs/contributing/Tree-hygiene.md
    [relevant style guides]:
    https://github.com/flutter/packages/blob/main/CONTRIBUTING.md#style
    [the auto-formatter]:
    https://github.com/flutter/packages/blob/main/script/tool/README.md#format-code
    [CLA]: https://cla.developers.google.com/
    [Discord]:
    https://github.com/flutter/flutter/blob/master/docs/contributing/Chat.md
    [linked to at least one issue that this PR fixes]:
    https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#overview
    [the version and CHANGELOG instructions]:
    https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#version-and-changelog-updates
    [semantic versioning]:
    https://dart.dev/tools/pub/versioning#semantic-versions
    [repository CHANGELOG style]:
    https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changelog-style
    [test exemption]:
    https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#tests
    victogomez-cs authored Aug 24, 2026
    Configuration menu
    Copy the full SHA
    5db6716 View commit details
    Browse the repository at this point in the history
  7. Fix RangeSlider thumb overlay remains visible after touch interaction…

    … ends (#12560)
    
    Ports flutter/flutter#189610 to material_ui, per the porting instructions in flutter/flutter#188444.
    
    Fixes flutter/flutter#189205
    
    After a RangeSlider thumb was touched or dragged, the selected thumb could retain focus and continue painting the focused overlay after the touch gesture ended. This happened because the focused thumb requested keyboard focus during pointer interaction, and RangeSlider painted its focused overlay directly from FocusNode.hasFocus.
    
    This PR separates actual thumb focus from the visual focus highlight. Touch interaction can still move focus to the selected thumb for semantics and keyboard continuation, but the focused overlay is only painted when Flutter's focus highlight mode says it should be shown, such as keyboard/traditional focus.
    
    This PR also fixes the active drag overlay disappearing while a touch gesture is still in progress. Previously, if the finger moved outside the thumb's overlay bounds during a drag, hover tracking could reverse the shared overlay animation even though the slider was still active. The overlay now remains visible for the active drag and dismisses when the interaction ends.
    
    Original PR: flutter/flutter#189610
    
    ## Pre-Review Checklist
    KarthikManikuttan authored Aug 24, 2026
    Configuration menu
    Copy the full SHA
    994fff1 View commit details
    Browse the repository at this point in the history
  8. [quick_actions_ios]unskip XCUITests (#12436)

    It looks like flutter/flutter#169928 has been addressed, so the test should already been passing. 
    
    See also: flutter/flutter#170180 (comment)
    
    *List which issues are fixed by this PR. You must list at least one issue.*
    
    Fixes flutter/flutter#190966
    
    ## Pre-Review Checklist
    
    **Comment: only test change**
    
    **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.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    hellohuanlin authored Aug 24, 2026
    Configuration menu
    Copy the full SHA
    f8e559d View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2026

  1. Sync release-cupertino_ui-1.0.1 to main (#12576)

    This automated PR syncs the changes from the release branch release-cupertino_ui-1.0.1 back to the main branch.
    fluttergithubbot authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    5060ed4 View commit details
    Browse the repository at this point in the history
  2. Sync release-material_ui-1.1.0 to main (#12577)

    This automated PR syncs the changes from the release branch release-material_ui-1.1.0 back to the main branch.
    fluttergithubbot authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    845949f View commit details
    Browse the repository at this point in the history
  3. Sync release-go_router-18.0.0 to main (#12575)

    This automated PR syncs the changes from the release branch release-go_router-18.0.0 back to the main branch.
    fluttergithubbot authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    4bc6e39 View commit details
    Browse the repository at this point in the history
  4. [cupertino_ui] Fix covered sheet revealing root route through top gap (…

    …#12530)
    
    Ports flutter/flutter#187058 to `cupertino_ui` following flutter/flutter#188444.
    
    Fixes flutter/flutter#187057.
    
    When multiple `CupertinoSheetRoute`s are stacked, the covered sheet's top gap can reveal the root route because the top-gap padding sits outside the secondary route transition.
    
    This change applies the covered sheet's secondary transition outside the top-gap padding, so the sheet and its gap move together. It also adds a coordinate-based regression test that verifies the root route remains fully covered.
    
    ## Tests
    
    - `flutter test test/sheet_test.dart --no-pub`
    - `dart run script/tool/bin/flutter_plugin_tools.dart analyze --packages cupertino_ui`
    - `dart run script/tool/bin/flutter_plugin_tools.dart validate --packages cupertino_ui --base-sha=252bb33ad3666c7d28621c87edccafff86e210fd --check-for-missing-changes`
    - `dart run script/tool/bin/flutter_plugin_tools.dart publish-check --packages cupertino_ui`
    
    ## Pre-Review Checklist
    huahua8893 authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    4fc3e81 View commit details
    Browse the repository at this point in the history
  5. [cupertino_ui] Remove two items assert to allow CupertinoTabBar to ha…

    …ve one tab (#12546)
    
    Based on [discussion](flutter/flutter#42430 (comment))
    Removed assert to enable CupertinoTabBar to support 1 tab and updated the test.
    
    Fixes [#42430](flutter/flutter#42430)
    
    ## Pre-Review Checklist
    
    **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.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    Wreos authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    9f595f3 View commit details
    Browse the repository at this point in the history
  6. [cross_file] fixed readAsString decoding in-memory bytes as UTF-16 (#…

    …12479)
    
    `XFile.fromData(utf8.encode('😀')).readAsString()` hands back mojibake
    
    The bytes branch uses `String.fromCharCodes` which just widens each byte into
    its own UTF-16 code unit so anything outside ASCII comes out mangled and the
    `encoding` parameter the method accepts never gets used at all. The file-backed
    branch right below it passes `encoding` through fine, and web already does
    `readAsBytes().then(encoding.decode)` so this is mostly just making native do
    what web has been doing all along.
    
    I made the method `async` while I was in there and that bit is deliberate
    rather than cosmetic: `encoding.decode` can throw on bad input where
    `fromCharCodes` never could and without `async` that would come out
    synchronously instead of as a failed future, which isn't what you get from
    either the web version or the `_file.readAsString` path.
    
    fixes flutter/flutter#165120
    
    AI usgae: I used antigravity (with gemini 3.7 flash)
    glitchfl authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    40f0b93 View commit details
    Browse the repository at this point in the history
  7. Ignore shared code for iOS platform implementation of Google Maps plu…

    …gin (#12529)
    
    There are hundreds of analyzer errors surfaced by this directory since
    it has no pubspec. Exclude it from analysis
    guidezpl authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    71f2b70 View commit details
    Browse the repository at this point in the history
  8. [material_ui] Remove unused parameters from constructors of generic c…

    …lasses. (#12458)
    
    We already don't allow unused parameters from non-generic classes. There was a bug preventing us from reporting such parameters on generic classes.
    
    This is work towards dart-lang/sdk#47839.
    
    ## Pre-Review Checklist
    
    Test exempt, as this code is covered by existing static and runtime checks.
    srawlins authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    c9d051d View commit details
    Browse the repository at this point in the history
  9. [cupertino_ui] Remove unused parameters from constructors of generic …

    …classes. (#12457)
    
    We already don't allow unused parameters from non-generic classes. There was a bug preventing us from reporting such parameters on generic classes.
    
    This is work towards dart-lang/sdk#47839.
    
    ## Pre-Review Checklist
    
    Test exempt, as this code is covered by existing static and runtime checks.
    srawlins authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    740f093 View commit details
    Browse the repository at this point in the history
Loading