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: 0ba9a8241e40
Choose a base ref
...
head repository: flutter/packages
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: d5ec6dbaf1c6
Choose a head ref
  • 11 commits
  • 73 files changed
  • 9 contributors

Commits on Sep 30, 2026

  1. [camera_android_camerax] Correct pre-push skill version validation …

    …logic (#12371)
    
    Corrects the version and merge conflict validation logic in the `pre-push` skill to compare the local branch against the upstream branch. If the merge conflict check fails, then the skill immediately reports that the code is not ready to push now.
    
    Also, adds an eval to ensure this update works as expected. Result of running it:
    
    | Eval ID | Scenario | Expected Outcome | Result | Justification |
    | :---: | :--- | :--- | :---: | :--- |
    | **1** | Behind Upstream (`setup_behind_upstream.sh`) | Detect branch is behind `upstream/main`, stop immediately without updating release info | **PASS** | Checked merge-base against `upstream/main`, halted immediately with `# NO, you are not ready to push`, and left `pubspec.yaml` and `CHANGELOG.md` unmodified. |
    | **2** | Behind Upstream with Conflicts (`setup_behind_upstream_conflict.dart`) | Detect that the branch is behind the upstream repository | **PASS** | Detected that the branch is behind the upstream repository, Ran git merge-tree and detected merge conflicts (CONFLICT (content): Merge conflict in .ci/flutter_master.version), Stopped immediately without running subsequent checks, Output # NO, you are not ready to push. and provided actionable instructions on how to resolve conflicts before pushing
    
    Ideally #12369 lands first so I can update the references of origin to upstream.
    
    ---- 
    
    Follow up from one-shot attempt #12302. See go/flutter-project-one-shot for more information on the project.
    
    ## 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.
    camsim99 authored Sep 30, 2026
    Configuration menu
    Copy the full SHA
    d4fb76a View commit details
    Browse the repository at this point in the history
  2. [pigeon] Fix JNI/FFI typed data memory lifetime bugs and update docs (#…

    …13061)
    
    Fixes flutter/flutter#193465
    
    **JNI (Android):** `JArray.getRange` returns a typed list backed by `malloc`'d
    memory whose finalizer runs when the isolate that created it exits. If a
    Pigeon call was made in `Isolate.run`, the returned `Int64List`/`Float64List`/etc.
    was freed as soon as the result was sent back, so the receiving isolate read
    garbage. The generated codec now copies these into Dart-heap typed lists.
    
    **FFI (iOS/macOS):** When reading `PigeonTypedData`, the `NSData` that owns the
    bytes could become unreachable (and be released by its finalizer) while
    `fromList` was still copying from its buffer. The generated code now uses `data`
    after the copy so it stays alive, and returns empty lists directly for empty
    data instead of calling `asTypedList` on a possibly-null pointer.
    
    The JNI fix adds one copy per array. Removing it would need `package:jni` to
    fill Dart-heap lists directly; that's better done upstream.
    
    ## Pre-Review Checklist
    
    - [] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
    
    **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.
    tarrinneal authored Sep 30, 2026
    Configuration menu
    Copy the full SHA
    9316bf0 View commit details
    Browse the repository at this point in the history
  3. [material_ui] Migrate M3 InputDecorator template to use new gen_defau…

    …lts (#13024)
    
    Work toward flutter/flutter#187899.
    Fixes flutter/flutter#188419.
    
    This PR migrates the M3 InputDecorator defaults template to use the new gen_defaults in material_ui.
    The generated defaults remain unchanged.
    
    ## Pre-Review Checklist
    QuncCccccc authored Sep 30, 2026
    Configuration menu
    Copy the full SHA
    c2c2391 View commit details
    Browse the repository at this point in the history
  4. Roll Flutter from 55b8f88e855f to d649d2bfebfe (27 revisions) (#13080)

    flutter/flutter@55b8f88...d649d2b
    
    2026-09-30 [email protected] [Android] Update the CLI to reject passing engine configuration flags with a prebuilt binary in release mode (flutter/flutter#190870)
    2026-09-30 [email protected] Roll Skia from af1e8b356dd1 to c7b323126bf0 (1 revision) (flutter/flutter#193569)
    2026-09-30 [email protected] [web] Respect text affinity in getLineBoundary at a soft wrap (flutter/flutter#192664)
    2026-09-30 [email protected] [tool] Migrate TestCommand and platform runner to modular dependency injection (flutter/flutter#190789)
    2026-09-30 [email protected] Roll Skia from 3a20a0464d25 to af1e8b356dd1 (1 revision) (flutter/flutter#193564)
    2026-09-30 [email protected] Roll Skia from 554ef62d11a9 to 3a20a0464d25 (6 revisions) (flutter/flutter#193556)
    2026-09-30 [email protected] Use null aware elements in `platform_views.dart` (flutter/flutter#193214)
    2026-09-30 [email protected] Replace deprecated `withOpacity` in `flutter_logo.dart` (flutter/flutter#192583)
    2026-09-30 [email protected] Roll Skia from f441ca223b2b to 554ef62d11a9 (72 revisions) (flutter/flutter#193548)
    2026-09-30 [email protected] Fix StrcmpFixed matching prefixes in the Vulkan embedder tests (flutter/flutter#192999)
    2026-09-30 [email protected] Update Engine to test Android 17 AVD (flutter/flutter#193239)
    2026-09-29 [email protected] Give the Vulkan test context the extensions Impeller requires (flutter/flutter#193002)
    2026-09-29 [email protected] Rename "subtext" to "supportingTextPadding" in `FormField`'s documentation (flutter/flutter#183582)
    2026-09-29 [email protected] Set --no-js-strongly-connected-components for DDC compiles by default (flutter/flutter#193485)
    2026-09-29 [email protected] Split pre-AGP 8.3 module AAR test into a Java 17 pinned target (flutter/flutter#193467)
    2026-09-29 [email protected] Remove no-shuffle from gen_defaults_test (flutter/flutter#192280)
    2026-09-29 [email protected] Update guidance on bumping Dart (flutter/flutter#193131)
    2026-09-29 [email protected] Remove vestigial `download_jdk` gclient var (flutter/flutter#188571)
    2026-09-29 [email protected] Roll pub packages (flutter/flutter#193522)
    2026-09-29 [email protected] [flutter_tools] Lazily initialize AndroidSdk platform and build-tools discovery (flutter/flutter#191972)
    2026-09-29 [email protected] [tool] Migrate Web build subcommands and toolchain to modular dependency injection (flutter/flutter#190783)
    2026-09-29 [email protected] Pin androidx.test dependencies in integration_test (flutter/flutter#193316)
    2026-09-29 [email protected] [flutter_tools] Include flutter.js.map in web builds (flutter/flutter#192257)
    2026-09-29 [email protected] [WebParagraph] Fixing edge cases for wrapping text (with newlines) (flutter/flutter#189858)
    2026-09-29 [email protected] Bump customer testing version for flutter/devtools update (flutter/flutter#193511)
    2026-09-29 [email protected] Roll Packages from ba0364a to 3c6ce59 (14 revisions) (flutter/flutter#193507)
    2026-09-29 [email protected] [flutter_tools] Guard socket streams and done futures against socket reset errors (flutter/flutter#192941)
    
    If this roll has caused a breakage, revert this CL and set the roller
    to dry run mode using the controls here:
    https://autoroll.skia.org/r/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 Sep 30, 2026
    Configuration menu
    Copy the full SHA
    913650f View commit details
    Browse the repository at this point in the history
  5. [camera_android_camerax] Fix exposure offset setting error thrown whe…

    …n canceled by a new request (#12582)
    
    When setting exposure offset is canceled (caused by a user submitting too many requests or the camera closing) return the rounded exposure offset instead of throwing an error, causing the app to crash.
    
    Fixes flutter/flutter#148521.
    
    ____
    
    Project One Shot Demonstration. Implementation plan used to execute this one shot: 781681d
    
    Related (attempt without harness): #12580
    
    ## 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.
    camsim99 authored Sep 30, 2026
    Configuration menu
    Copy the full SHA
    8d0f931 View commit details
    Browse the repository at this point in the history
  6. Allow tests to use macOS 15.7 or macOS 26.6 (#13007)

    Fixes flutter/flutter#192569.
    
    ## 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.
    vashworth authored Sep 30, 2026
    Configuration menu
    Copy the full SHA
    441bcbc View commit details
    Browse the repository at this point in the history
  7. [material_ui] Migrate M3 ListTile template to use new gen_defaults (#…

    …13056)
    
    Work toward flutter/flutter#187899.
    Fixes flutter/flutter#188420.
    
    This PR migrates the M3 ListTile defaults template to use the new gen_defaults in material_ui.
    The generated defaults remain unchanged.
    
    ## Pre-Review Checklist
    QuncCccccc authored Sep 30, 2026
    Configuration menu
    Copy the full SHA
    6f11020 View commit details
    Browse the repository at this point in the history
  8. [google_maps_flutter] Convert unit tests to Kotlin (#13072)

    Converts `google_maps_flutter_android` native unit tests from Java to Kotlin.
    
    Similar to my other conversions, the process was:
    - Use the Android Studio deterministic auto-conversion.
    - Do a bunch of manual cleanup, as separate commits by topic.
      - This included adopting `mockito-kotlin` to make the mocking much less verbose and complex
    - Do a local Gemini review for where the code could be improved as Kotlin code, and address most of that feedback.
    
    This includes a few notable changes that aren't just `mockito-kotlin` adoption or style/idiom improvement:
    - The test-only builders for some Pigeon objects that I introduced when converting the Pigeon generation to Kotlin in an earlier PR have been removed. They were a temporary shim to deal with the fact that Java tests didn't have access to Kotlin features that made builders unnecessary: named parameters, default parameter values, and `copy(...)` with sparse arguments.
    - `controller_AddMarkerThrowsErrorIfMarkerIdIsNull` was removed because marker ID is non-nullable, so this hasn't been possible since the conversion to Kotlin Pigeon. That was masked by the shim builder previously.
    - `getBitmapFromBytesThrowsErrorIfInvalidImageData` was reworked to do static mocking of `BitmapFactory`, because it turned out that the Java test was never correct. It was structured as a test-method-level `@Test(expected = IllegalArgumentException::class)`, and the first thing it did was attempt to create the data to trigger the codepath in the plugin by calling `Base64.decode` with a string that wasn't base 64... which throws an `IllegalArgumentException`, causing the test to pass before even getting to the intended test code. Fixing that broke the test because it turns out the JUnit environment returns dummy bitmaps for invalid data by default. Mocking the factory allows explicitly forcing the preconditions we need for the test.
    
    Does not include any changes to production code.
    
    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 30, 2026
    Configuration menu
    Copy the full SHA
    ff3771f View commit details
    Browse the repository at this point in the history
  9. [go_router] Expose Navigator clipBehavior on ShellRoute and StatefulS…

    …hellBranch (#12646)
    
    The `Navigator` that `ShellRoute` and each `StatefulShellBranch` build always clipped its contents, with no way to opt out. A sub-route could therefore not paint outside the bounds the shell lays out for it — a box shadow or an overflowing menu gets cut off (see the samples in the issue).
    
    This adds a `clipBehavior` parameter to `ShellRoute` and `StatefulShellBranch` that is forwarded to the `Navigator` each of them builds, as suggested by @chunhtai in flutter/flutter#131836 (comment).
    
    It defaults to `Clip.hardEdge`, which is `Navigator`'s own default, so existing behavior is unchanged. As noted in the issue discussion, setting `Clip.none` also lets route transition animations paint outside the shell's bounds; that trade-off is documented on the new `clipBehavior` doc comment so callers can make an informed choice.
    
    `StatefulShellBranch` carries the parameter rather than `StatefulShellRoute` because each branch builds its own `Navigator`, which is how `observers` and `restorationScopeId` are already configured.
    
    Fixes flutter/flutter#131836
    
    ## 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.
    m1roxx authored Sep 30, 2026
    Configuration menu
    Copy the full SHA
    738f6e5 View commit details
    Browse the repository at this point in the history
  10. [various] Allow plugin example apps to build and test on JDK 25 (#13031)

    Update plugin example apps such that they can successfully build on JDK 25. Also ensure that tests can pass on JDK 25.
    
    - Update mockito to 5.23.0 a version compatible with JDK 25
    - JDK 25's compiler added a `dangling-doc-comments` is a javac lint check that was new in JDK 23 ([JDK-8303689](https://bugs.openjdk.org/browse/JDK-8303689)) that warns when a Javadoc comment isnt attached to class, method, or field. These warnings appears in AGP generated classes, so we cannot directly address them. Instead, we can turn these warnings off and [file an issue against AGP](http://b/567587949).
    
    Fixes flutter/flutter#190069
    Partially Addresses flutter/flutter#193404
    
    ## 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.
    jesswrd authored Sep 30, 2026
    Configuration menu
    Copy the full SHA
    d00aa3b View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2026

  1. [tool] Enforce README package table order (#12316)

    Adds repository-info validation that rejects package rows in the root README when they are not sorted alphabetically. The error identifies the first out-of-order pair.
    
    This also adds regression coverage and sorts the three existing out-of-order rows so the repository passes the new validation.
    
    Fixes flutter/flutter#188727.
    
    ## Pre-Review Checklist
    
    The tool already has a `NEXT` CHANGELOG section, so this change adds its release note there without changing the package version.
    
    Validation:
    - `dart format --output=none --set-exit-if-changed lib/src/validators/repo_info_validator.dart test/validate_command_repo_info_test.dart`
    - `dart analyze --fatal-infos`
    - `dart test test/validate_command_repo_info_test.dart` (29 tests)
    - `dart test` (1,221 tests)
    
    **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.
    faheemabbas766 authored Oct 1, 2026
    Configuration menu
    Copy the full SHA
    d5ec6db View commit details
    Browse the repository at this point in the history
Loading