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: bebbb5724eb1
Choose a base ref
...
head repository: flutter/packages
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c2b58e1a97fb
Choose a head ref
  • 8 commits
  • 84 files changed
  • 6 contributors

Commits on Sep 15, 2026

  1. [cross_file] Move cross_file into a federated cross_file directory (#…

    …12869)
    
    Moves `packages/cross_file/` into `packages/cross_file/cross_file` to prepare for flutter/flutter#91869.
    
    ## 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.
    bparrishMines authored Sep 15, 2026
    Configuration menu
    Copy the full SHA
    cb4f49d View commit details
    Browse the repository at this point in the history
  2. [cross_file_platform_interface] Platform interface implementation of …

    …`cross_file` (#12825)
    
    Platform interface of `cross_file`.
    
    This depends on #12869 to land first.
    
    ## 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.
    bparrishMines authored Sep 15, 2026
    Configuration menu
    Copy the full SHA
    f96bdf5 View commit details
    Browse the repository at this point in the history
  3. [material_ui] Add sortIconBuilder to DataTable, PaginatedDataTable, a…

    …nd DataTableThemeData (#12645)
    
    *This PR ports flutter/flutter#188729 from flutter/flutter to flutter/packages*
    
    Fixes: flutter/flutter#91801
    ## 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.
    puneetkukreja98 authored Sep 15, 2026
    Configuration menu
    Copy the full SHA
    c41644a View commit details
    Browse the repository at this point in the history
  4. [ci] Checks unmerged batch release sync back before next release (#12868

    )
    
    To avoid the new batch release is created before sync back pr is merged. The workflow now checks for unmerged release branch before create a new one
    
    ## 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.
    chunhtai authored Sep 15, 2026
    Configuration menu
    Copy the full SHA
    b1c05d9 View commit details
    Browse the repository at this point in the history
  5. [pointer_interceptor] Adopt code-excerpts for README (#12641)

    Replaces the hand-written Dart snippets in `pointer_interceptor`'s README with `<?code-excerpt?>` pragmas backed by a new `example/lib/readme_excerpts.dart`, so the README's examples are validated against compilable, analyzed source (`update-excerpts --fail-on-change`) instead of free-hand text. One of the previous snippets was actually invalid Dart (a stray trailing comma), which this now catches. Also removes the package's `ci_config.yaml`, whose only content was `exempt_from_excerpts: true`, now that the excerpt validation actually runs and passes.
    
    Part of flutter/flutter#102679.
    
    ## Pre-Review Checklist
    
    ## Test plan
    
    [^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.
    
    **Note**: The Flutter team is currently trialing [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from `gemini-code-assist[bot]` aren't authoritative Flutter-team feedback; I'll wait for a human reviewer's guidance on which automated comments (if any) should be addressed.
    danielleon-cmd authored Sep 15, 2026
    Configuration menu
    Copy the full SHA
    e3202be View commit details
    Browse the repository at this point in the history
  6. [espresso] Adopt code-excerpts for README (#12644)

    The excerpt validator (`readme_validator.dart`) only requires `<?code-excerpt?>` management for **Dart** code blocks, so the README's Java/Groovy/XML/sh snippets are left untouched. The one Dart block — the `test_driver/` script — used the deprecated `flutter_driver` `enableFlutterDriverExtension()` API, which no longer has a real, compilable counterpart in this repo now that the example app migrated to the `integration_test` package. Points the excerpt at the example's actual `test_driver/integration_test.dart` (`integrationDriver()`) instead, and updates the surrounding prose and the `./gradlew` command to match the real filename. Also drops the package's `ci_config.yaml`, whose only purpose was opting it out of that validation.
    
    Follows the same pattern as #12641 ([pointer_interceptor] Adopt code-excerpts for README) and #12643 ([quick_actions] Adopt code-excerpts for README).
    
    Part of flutter/flutter#102679.
    
    ## Pre-Review Checklist
    
    ## Test plan
    
    [^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.
    
    **Note**: The Flutter team is currently trialing [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from `gemini-code-assist[bot]` aren't authoritative Flutter-team feedback; I'll wait for a human reviewer's guidance on which automated comments (if any) should be addressed.
    danielleon-cmd authored Sep 15, 2026
    Configuration menu
    Copy the full SHA
    6171e00 View commit details
    Browse the repository at this point in the history
  7. [pigeon] Treat NSNull as null for non-null Flutter API returns (#12531)

    ## Description
    
    `FlutterStandardReader` substitutes `NSNull` for a `nil` element when it decodes a list, so a null reply for a non-null return value reaches the generated Swift code as `NSNull` rather than as `nil`. The generated guard only checks `listResponse[0] == nil`, so `NSNull` falls through to the force cast below it and aborts the process:
    
    ```swift
    } else if listResponse[0] == nil {
      completion(.failure(PigeonError(code: "null-error", ...)))
    } else {
      let result = listResponse[0] as! AuthenticationChallengeResponse  // 💥
    ```
    
    This crashes production apps through `webview_flutter_wkwebview`: the plugin clears its native instance manager in `WebViewFlutterPlugin.tearDownProxyAPIRegistrar()`, which iOS triggers on `sceneDidDisconnect` / `applicationWillTerminate`. A `WKNavigationDelegate.didReceiveAuthenticationChallenge` reply that is still in flight then carries an identifier the native instance manager can no longer resolve, the codec reader returns `nil`, and the app dies with:
    
    ```
    Could not cast value of type 'NSNull' (0x...) to 'webview_flutter_wkwebview.AuthenticationChallengeResponse' (0x...).
    ```
    
    The same shape was reported before for other types (`URLRequestWrapper` in flutter/flutter#162437), which is expected: the generator emits this guard for every non-null return value, so any unresolvable instance crashes instead of reporting an error.
    
    This PR treats `NSNull` as a null reply, so the existing `null-error` path handles it.
    
    ## Verification
    
    * Added a Swift generator unit test asserting the generated guard covers `NSNull`.
    * Added a native regression test in `platform_tests` that replies `NSNull` to a non-null Flutter API return. It passes with this change; with the generated guard reverted it aborts with `Could not cast value of type 'NSNull' (0x...) to 'test_plugin.AllNullableTypes' (0x...)`.
    * `dart test` and `flutter_plugin_tools format` pass locally.
    
    *Fixes flutter/flutter#191254*
    
    ## Pre-Review Checklist
    Xelorium authored Sep 15, 2026
    Configuration menu
    Copy the full SHA
    d8aba48 View commit details
    Browse the repository at this point in the history
  8. [local_auth] Convert implementation to Kotlin (#12635)

    Converts the implementation of the plugin to Kotlin, so that it can be used to dogfood the new async/await support in Pigeon 28 (not added in this PR; this is just to unblock adding that in a later PR).
    
    The process was as described [here](flutter/flutter#188630 (comment)):
    - Initial conversion was done using the deterministic Android Studio converter
    - I did manual cleanup for some small errors that resulted from the auto-converter, as well as improving nullability in general (e.g., generics in Java can't be annotated, so the auto-converted assumes they are all nullable)
    - I fixed warnings and suggestions flagged by Android Studio
    - I had Gemini do a local code review focusing on idiomatic Kotlin, and incorporated some of its suggestions to make code more Kotlin-y and less Java-in-Kotlin.
    
    Tests will be converted in a follow-up PR, so that we aren't making massive changes to implementation and tests in the same PR, since it's intended to be behavior-neutral.
    
    Part of flutter/flutter#188630
    
    ## Pre-Review Checklist
    
    [^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.
    stuartmorgan-g authored Sep 15, 2026
    Configuration menu
    Copy the full SHA
    c2b58e1 View commit details
    Browse the repository at this point in the history
Loading