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: 670b30ed698a
Choose a base ref
...
head repository: flutter/packages
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 04781623f406
Choose a head ref
  • 15 commits
  • 58 files changed
  • 12 contributors

Commits on Nov 4, 2026

  1. Roll Flutter from 934720261be0 to 3623d2d34543 (25 revisions) (#13555)

    flutter/flutter@9347202...3623d2d
    
    2026-11-04 [email protected] Roll Skia from 49ec2655bf51 to aaa39bfcd393 (5 revisions) (flutter/flutter#195956)
    2026-11-04 [email protected] Roll pub packages (flutter/flutter#195950)
    2026-11-04 [email protected] Roll pub packages (flutter/flutter#195948)
    2026-11-04 [email protected] local_engine_builds_common out of bringup (flutter/flutter#195862)
    2026-11-04 [email protected] [web][a11y] Initialize slider semantics values when enabling (flutter/flutter#195564)
    2026-11-04 [email protected] Drop Android SDK, JDK, and Gradle dependencies from framework_tests_misc (flutter/flutter#195869)
    2026-11-04 [email protected] Roll Fuchsia Test Scripts from B6zarykZp6PKWRueg... to Jo-ZgQSNDuPsjlZ4s... (flutter/flutter#195937)
    2026-11-04 [email protected] Balance tool_tests_commands and web_tool_tests subshards by duration (flutter/flutter#195863)
    2026-11-04 [email protected] Roll Fuchsia Linux SDK from T_-6-6X1lDMghhAvX... to p0HDXLISPIElJfSz7... (flutter/flutter#195939)
    2026-11-03 [email protected] Roll Skia from 3eeafac94f07 to 49ec2655bf51 (8 revisions) (flutter/flutter#195933)
    2026-11-03 [email protected] Roll pub packages (flutter/flutter#195932)
    2026-11-03 [email protected] [flutter_tools] Lazily initialize AppleContext dependencies via builder closures (flutter/flutter#191992)
    2026-11-03 [email protected] [Android] Upgrade linux_android_emu_vulkan_stable avd_cipd_version to 36.1.9 (build_id:8670032186093418337) (flutter/flutter#195856)
    2026-11-03 [email protected] [vulkan]: adds "color attachment read" dst dependency to subpass (flutter/flutter#195714)
    2026-11-03 [email protected] [flutter_tools] Stream web dev server proxy responses instead of buffering them (flutter/flutter#194934)
    2026-11-03 [email protected] Roll Skia from d80db8f8f856 to 3eeafac94f07 (6 revisions) (flutter/flutter#195926)
    2026-11-03 [email protected] [flutter_tools] Add flutter assemble support for tool extension assemble targets (flutter/flutter#194563)
    2026-11-03 [email protected] Manual roll Dart SDK from fe609902984b to e362a23e9738 (2 revisions) (flutter/flutter#195914)
    2026-11-03 [email protected] feat(flutter_test): add startHover and startHoverAt helper to WidgetTester (flutter/flutter#190630)
    2026-11-03 [email protected] [flutter_tools] Remove trailing dots from bug report URLs (flutter/flutter#194132)
    2026-11-03 [email protected] Update skills_lint to 0.5.3 (flutter/flutter#195796)
    2026-11-03 [email protected] Roll Skia from 58295d932350 to d80db8f8f856 (5 revisions) (flutter/flutter#195900)
    2026-11-03 [email protected] [flutter_tools] Make DeviceLogReader.dispose asynchronous (flutter/flutter#195389)
    2026-11-03 [email protected] Roll Packages from 3f34a6f to 1df8447 (10 revisions) (flutter/flutter#195895)
    2026-11-03 [email protected] Roll Skia from c733ad3e37cb to 58295d932350 (1 revision) (flutter/flutter#195894)
    
    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 Nov 4, 2026
    Configuration menu
    Copy the full SHA
    718b7cf View commit details
    Browse the repository at this point in the history
  2. [file_selector] Convert unit tests to Kotlin (#13102)

    Converts `file_selector_android` native unit tests from Java to Kotlin.
    
    Similar to my other conversions, the process was:
    - Use the Android Studio deterministic auto-conversion.
    - Do manual cleanup and improvement as several separate commits.
      - This included adopting `mockito-kotlin` to make the mocking 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.
    
    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 Nov 4, 2026
    Configuration menu
    Copy the full SHA
    cec8ebf View commit details
    Browse the repository at this point in the history
  3. Sync release-cupertino_ui-1.1.6 to main (#13547)

    This automated PR syncs the changes from the release branch release-cupertino_ui-1.1.6 back to the main branch.
    fluttergithubbot authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    e3af8f9 View commit details
    Browse the repository at this point in the history
  4. [camera_android_camerax] Add magic number guideline to TESTING.md (#…

    …13081)
    
    To improve agent-author test clarity, adds testing guidance for agents regarding asserting against number literal without explanation or instead of a variable unnecessarily.
    
    ## 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 Nov 4, 2026
    Configuration menu
    Copy the full SHA
    8590bda View commit details
    Browse the repository at this point in the history
  5. Sync release-material_ui-1.10.0 to main (#13546)

    This automated PR syncs the changes from the release branch release-material_ui-1.10.0 back to the main branch.
    fluttergithubbot authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    1864e5b View commit details
    Browse the repository at this point in the history
  6. Sync release-go_router-18.1.3 to main (#13559)

    This automated PR syncs the changes from the release branch release-go_router-18.1.3 back to the main branch.
    fluttergithubbot authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    75ce712 View commit details
    Browse the repository at this point in the history
  7. [in_app_purchase] Convert example app to Swift (#13556)

    Replaces the Obj-C boilerplate example app's app delegate and main.m with a Swift app delegate using the `@main` annotation, following the standard Swift Flutter example app format, and migrates the test-specific handling into the new file.
    
    Part of flutter/flutter#119106
    
    ## 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 authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    f7c47a2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    10edd9c View commit details
    Browse the repository at this point in the history
  9. [go_router] Stop inactive StatefulShellRoute branches from vetoing po…

    …ps (#12972)
    
    The Navigator of every StatefulShellRoute branch is wrapped in a PopScope that  
      keeps the shell itself from being popped, for example by an iOS back gesture,   
      while the branch has an active sub-route.
    
      Inactive branches stay mounted, so their PopScope stays registered as a pop     
      entry of the same enclosing route as the active one, and ModalRoute only allows 
      a pop if every registered entry allows it. Switching away from a branch that    
      still had a sub-route therefore suppressed the system back button for the whole 
      app: popRoute() reported the pop as handled without popping anything, so Android
      never closed the activity.
    
      The guard now only applies to the active branch. StatefulNavigationShell        
      publishes which of its branches is active through an ActiveBranchScope inherited
      widget, and the PopScope depends on it, so canPop is also kept up to date when  
      the user switches branches without the route matches of a branch changing.      
      Behavior is unchanged for a plain ShellRoute, which has no enclosing
      ActiveBranchScope.
    
      Tests added to `test/stateful_shell_route_system_back_test.dart`, next to the   
      existing issue 120353 gesture tests: the issue's repro, back still popping the  
      sub-route once the branch is active again, and a per-branch `canPop` check      
      confirming the active branch still guards the shell. Also verified manually on  
      an Android 15 device.
    
      Fixes flutter/flutter#193098
    
    *Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*
    
    *List which issues are fixed by this PR. You must list at least one issue.*
    
    ## 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.
    IbrarIlyas authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    3c7764b View commit details
    Browse the repository at this point in the history
  10. [material_ui] Add Material 3 Expressive ElevatedButton (#13084)

    Adds Material 3 Expressive support to `ElevatedButton`. As with `IconButton` (#12832), apps opt in with `ElevatedButtonThemeData(variant: StyleVariant.material3Expressive)`. Without it, `ElevatedButton` keeps the Material 3 style.
    
    With Material 3 Expressive, `ElevatedButton` supports:
    
    * Sizes (`ButtonStyle.sizeVariant`): extra small through extra large. Each size has its own height, padding, icon size, label text style, and gap between the icon and the label.
    * Shapes (`ButtonStyle.shapeVariant`): round and square, including the pressed shape and the shape change when a toggle button is selected.
    * Toggle buttons: a button with a non-null `isSelected` is selectable, and uses the selected colors and selected semantics when `isSelected` is true.
    
    The defaults are generated from the Material Design tokens by a new `ButtonTemplateM3E` in `gen_defaults`.
    
    New APIs:
    
    * `ElevatedButtonThemeData.variant` and `ElevatedButtonTheme.variantOf`. A theme that doesn't specify `variant` inherits it from the enclosing themes, the same way as `IconButtonThemeData.variant` (#13263).
    * `ButtonStyleButton.isSelected` and `ElevatedButton.isSelected`.
    * `sizeVariant` and `shapeVariant` parameters for `ElevatedButton.styleFrom`.
    
    <img src="https://gist.githubusercontent.com/QuncCccccc/aba2243afce554b515eec724e62e5650/raw/44b10f43dfb6f42d2c0800928d993cec53df15c2/elevated_button_m3e.png" width="320" alt="Material 3 Expressive ElevatedButton sizes, shapes, toggle buttons, and disabled buttons">
    
    Fixes flutter/flutter#194202
    Part of flutter/flutter#184937
    
    ## 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.
    QuncCccccc authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    41990f9 View commit details
    Browse the repository at this point in the history
  11. [material_ui] Fix dismissal near minimum extent when shouldCloseOnMin…

    …Extent (#12545)
    
    This PR ports flutter/flutter#190810 by @kirya355 from flutter/flutter to flutter/packages.
    
    Fixes bottom sheet dismissal when a `DraggableScrollableNotification` extent
    is within floating-point precision of `minExtent`, instead of requiring exact
    equality.
    
    Updates both the modal `BottomSheet` and standard `Scaffold` bottom sheet
    handlers. Adds regression tests for both paths using `extent: 0.20000000001`
    and `minExtent: 0.2`.
    
    This PR fix [flutter/flutter#116982](flutter/flutter#116982)
    
    ## Pre-Review Checklist
    kirya355 authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    2c2b1e7 View commit details
    Browse the repository at this point in the history
  12. [in_app_purchase_storekit] Use purchase(confirmIn:) for StoreKit 2 pu…

    …rchases (#13410)
    
    Fixes flutter/flutter#194373 Fixes flutter/flutter#195494
    
    This PR switches StoreKit 2 purchases from the scene-less Product.purchase(options:) to Product.purchase(confirmIn:options:) whenever the plugin has a view controller attached to a window scene (iOS 17+) or an NSWindow (macOS 15.2+).
    
    `purchase(confirmIn:)` is Apple's recommended purchase API for UIKit/AppKit apps. The
    scene-less variant relies on StoreKit locating a UI anchor itself; on iOS 27 / iPadOS 27
    that lookup fails (`Could not find a UI anchor for … purchase`) and the `await` never
    returns. In the field this surfaced as App Review rejecting iPad subscription purchases
    (#194373); on the iOS 27 simulator it surfaced as every StoreKit 2 purchase test timing
    out (#195494). The scene-less call remains the fallback for iOS < 17 / macOS < 15.2 and
    for headless engines whose registrar has no view in a window.
    
    **Test changes**
    
    The test `setUp` now hands the plugin a registrar stub backed by the test host's root
    view controller, mirroring how the plugin runs inside a real Flutter app, so the
    existing purchase tests exercise the `confirmIn:` path.
    
    Two further adjustments were needed for the iOS 27 ipad simulator:
    
    - `testGetTransactionJsonRepresentation` makes a purchase and then asks the plugin to look
      that transaction up by its ID. It took the ID from the test framework's
      `SKTestTransaction.originalTransactionIdentifier`, which only worked because, on earlier
      OS versions, that value happened to equal the StoreKit 2 `Transaction.id` the plugin
      matches on (both are 0 for the first purchase). On iOS 27 StoreKitTest numbers
      transactions differently (`identifier` is a non-zero counter, `originalTransactionIdentifier`
      is reported as 0), so the lookup found nothing. The test now uses `identifier`, which is the
      field that corresponds to `Transaction.id` on every OS version. 
    - `testFailedProductUnavilablePurchase` and `testPurchaseWithIntroductoryOfferEligibilityJWS`
      are skipped on iOS 27+. Both make a purchase that fails by design, and on iOS 27
      StoreKitTest shows an error dialog for failed purchases even with `disableDialogs`
      ([iOS 27 release notes, known issue 184255116](https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-27-release-notes)), so the purchase never completes. Since StoreKit serializes purchases per process, each of those also blocked every later purchase test, which is the cascade you see in the CI log.
    
    ## Pre-Review Checklist
    LouiseHsu authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    d2b9d20 View commit details
    Browse the repository at this point in the history
  13. [pointer_interceptor] Use dart.library.js_interop in example export (#…

    …13558)
    
    Replace `if (dart.library.html)` with `if (dart.library.js_interop)` in `packages/pointer_interceptor/pointer_interceptor/example/lib/native_widget.dart` (`native_widget_web.dart` already uses `package:web/web.dart`).
    
    This resolves the last legacy `dart.library.html` conditional directive in `flutter/packages` so the upcoming `deprecated_web_configuration` analyzer warning (dart-lang/sdk#61875) passes `flutter-analyze`.
    
    Related issue:
    - dart-lang/sdk#61875
    
    ## 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.
    kevmoo authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    5309763 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2026

  1. [material_ui] Make SearchAnchor.bar respect SearchBarThemeData padding (

    #13360)
    
    Fixes flutter/flutter#185889
    Ports flutter/flutter#186037. Part of flutter/flutter#188444.
    
    Makes `SearchAnchor.bar` use `SearchBarThemeData.padding` when `barPadding` is null.
    
    cc @CoderBoxer
    
    I used AI assistance to port the approved fix.
    
    ## 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.
    samar70 authored Nov 5, 2026
    Configuration menu
    Copy the full SHA
    3dbab32 View commit details
    Browse the repository at this point in the history
  2. [material_ui] Document RefreshIndicator mouse behavior on desktop and…

    … web (#13286)
    
    Adds a "Refresh indicator does not respond to a mouse" section to the
    `RefreshIndicator` troubleshooting docs. It explains that:
    
    - Clicking and dragging with a mouse doesn't trigger the refresh
    indicator by default, because `ScrollBehavior.dragDevices` doesn't
    include `PointerDeviceKind.mouse`.
    - Mouse wheel scrolling never triggers it, because it isn't a drag
    gesture.
    - Touch screens trigger it on all platforms, and trackpads do in desktop
    apps. On the web, trackpad scrolling is handled like mouse wheel
    scrolling, so it doesn't.
    - To support mouse users, apps can add a refresh button or shortcut that
    calls `RefreshIndicatorState.show`, or add `PointerDeviceKind.mouse` to
    `ScrollBehavior.dragDevices` (with a code example and a note about the
    text-selection trade-off).
    
    This is a documentation-only change (test-exempt) with no behavior
    changes. It adds a pending changelog entry (`version: patch`).
    
    Fixes flutter/flutter#135510
    
    %23%23 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 %23hackers-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%23ai-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%23style
    [the auto-formatter]:
    https://github.com/flutter/packages/blob/main/script/tool/README.md%23format-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%23overview
    [the version and CHANGELOG instructions]:
    https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md%23version-and-changelog-updates
    [semantic versioning]:
    https://dart.dev/tools/pub/versioning%23semantic-versions
    [repository CHANGELOG style]:
    https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md%23changelog-style
    [test exemption]:
    https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md%23tests
    muralikrishmt authored Nov 5, 2026
    Configuration menu
    Copy the full SHA
    0478162 View commit details
    Browse the repository at this point in the history
Loading