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

Commits on Oct 29, 2026

  1. [vector_graphics_compiler] Fix em units in text positions (#13388)

    Text `x`, `y`, `dx` and `dy` values in `em` were treated as pixels. For example, `dy=".35em"` with `font-size="425px"` moved the text down by 0.35 pixels instead of about 149, so text centered this way was drawn too high.
    
    `DoubleOrPercentage.fromString` stripped the unit with `parseDouble`, so an `em` value ended up the same as a plain number. Now it remembers that the value is in `em`, and `computeTextPosition` multiplies it by the element's font size, including one inherited from a parent. Without a font size it uses `kDefaultFontSize` (16), the same default `computeTextConfig` uses when drawing the text. The bug is in `vector_graphics_compiler`, which `flutter_svg` uses to parse SVGs.
    
    Fixes flutter/flutter#158758
    
    ## 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.
    rohanjariwala03 authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    10f15b3 View commit details
    Browse the repository at this point in the history
  2. Sync release-cupertino_ui-1.1.5 to main (#13481)

    This automated PR syncs the changes from the release branch release-cupertino_ui-1.1.5 back to the main branch.
    fluttergithubbot authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    1c01533 View commit details
    Browse the repository at this point in the history
  3. Sync release-go_router-18.1.2 to main (#13480)

    This automated PR syncs the changes from the release branch release-go_router-18.1.2 back to the main branch.
    fluttergithubbot authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    c99c1e1 View commit details
    Browse the repository at this point in the history
  4. [camera_android_x] implement CameraX RecordingStats and VideoRecordEv…

    …ent APIs (#13330)
    
    Fixes flutter/flutter#148138
    
    ## 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.
    Mairramer authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    faab724 View commit details
    Browse the repository at this point in the history
  5. [vector_graphics] Dispose pictures decoded after their VectorGraphic …

    …is removed (#13435)
    
    If a `VectorGraphic` was removed while its picture was still loading, the picture was never disposed, so it leaked.
    
    The fix caches the picture first, and lets a removed widget release it a moment later. That way, if another widget is waiting on the same load, it can still pick it up, and the picture only gets disposed when nobody is using it.
    
    I didn't use the fix suggested in the issue because it disposes the picture too early when two widgets share a load, and the remaining one ends up drawing a disposed picture. There's a test for that case too.
    
    Fixes flutter/flutter#190185
    
    ## 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.
    mackings authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    ccbe75f View commit details
    Browse the repository at this point in the history
  6. [material_ui] Unskip web tests that pass on CanvasKit and Skwasm: tim…

    …e_picker_test (#13471)
    
    Removes the `@TestOn('!chrome')` annotation from `packages/material_ui/test/time_picker_test.dart` so that its tests run on the web. All 190 tests in the file now pass on Chrome under both CI web renderers (CanvasKit with dart2js and Skwasm with dart2wasm). The time picker state restoration group still does not work on the web, so it is now skipped individually with `skip: kIsWeb` instead of skipping the whole file.
    
    Part of flutter/flutter#33615 (the state restoration group remains skipped on web pending that issue).
    
    This is a test-only change, so it is exempt from version and CHANGELOG updates.
    
    ## 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.
    harryterkelsen authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    8615faf View commit details
    Browse the repository at this point in the history
  7. Sync release-material_ui-1.9.0 to main (#13479)

    This automated PR syncs the changes from the release branch release-material_ui-1.9.0 back to the main branch.
    fluttergithubbot authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    fb19211 View commit details
    Browse the repository at this point in the history
  8. [image_picker_ios] PR 4/5 Migrate the view provider, PHPicker save op…

    …eration, and image utilities to Swift (#13394)
    
    Migrates the Objective-C helpers that `ImagePickerPlugin` calls into the Swift target:
    
    * `FIPViewProvider` becomes `ViewProvider` / `DefaultViewProvider`.
    * `FLTPHPickerSaveImageToPathOperation` becomes `PHPickerSaveImageToPathOperation`.
    * `FLTImagePickerImageUtil`, `FLTImagePickerMetaDataUtil`, and `FLTImagePickerPhotoAssetUtil` become `ImagePickerImageUtil`, `ImagePickerMetaDataUtil`, and `ImagePickerPhotoAssetUtil`.
    * The `PHImageManager` seam becomes `ImageDataRequesting`.
    * `PHPickerResult` conforms to `PickerItem`, replacing the `BridgedPickerItem` wrapper.
    
    Deletes the custom module map and `image_picker_ios.h` umbrella header. The `image_picker_ios_objc` target remains for the Pigeon messages until the next PR. CocoaPods no longer sets `s.module_map`.
    
    Bumps image_picker_ios to **0.8.13+14**.
    
    PR 4/5 of the Obj-C → Swift migration, stacked on #13235. Part of flutter/flutter#119107
    
    ## 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.
    victogomez-cs authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    09e67ff View commit details
    Browse the repository at this point in the history
  9. [pigeon] Separate native interop Dart bindings into a conditionally i…

    …mported companion file (#13393)
    
    Separates generated Dart native interop code (`dart:ffi`, `dart:io`, `package:jni`, `package:ffi`, `package:objective_c`, and `.ffi.dart`/`.jni.dart` bindings) into a companion `*.native_interop.g.dart` file that is conditionally imported (`if (dart.library.ffi)`) by the main `*.g.dart` file.
    
    This allows the main generated `*.g.dart` file (data classes, enums, codecs, and method-channel APIs) to be imported on Web without failing `dart2js` / `dart2wasm` compilation due to transitive `dart:ffi` / `dart:io` imports (preventing the issue worked around in #13380).
    
    ## 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.
    tarrinneal authored Oct 29, 2026
    Configuration menu
    Copy the full SHA
    3258d45 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2026

  1. manual roll and manual build and copy (#13495)

    removes deprecated method and bumps ci flutter master version.
    
    Unblocks roller
    tarrinneal authored Oct 30, 2026
    Configuration menu
    Copy the full SHA
    b9975c9 View commit details
    Browse the repository at this point in the history
  2. [material_ui] Fix Escape key not closing MenuAnchor opened by tap or …

    …click (#13430)
    
    Fixes an issue where pressing the `Escape` key does not close a `MenuAnchor` menu that was opened by a tap or click when `childFocusNode` is not provided.
    
    ### Root Cause
    1. When a `MenuAnchor` is opened via a tap or click (e.g. from a `TextButton` or `IconButton`) without a `childFocusNode`, the button does not request focus on tap and `RawMenuAnchorState.open` only requests focus on `widget.childFocusNode`. As a result, `FocusManager.instance.primaryFocus` remains outside both `RawMenuAnchor` and `_Submenu`, so key events never route through their `Shortcuts` or `Actions` widgets.
    2. In `_Submenu.build`, `FocusScope(node: anchor._menuScopeNode)` was placed above `Actions` and `Shortcuts`, so even when `_menuScopeNode` itself had primary focus, key events walked up past `FocusScope` without passing through `_Submenu`'s `Shortcuts` and `Actions`.
    
    ### Fix
    1. Wrap `FocusScope(node: anchor._menuScopeNode)` inside `Actions` and `Shortcuts` in `_Submenu.build` so key events dispatched to `_menuScopeNode` walk up through `_kMenuTraversalShortcuts` and `DismissMenuAction`.
    2. In `_MenuAnchorState._handleMenuOpenRequest`, when a root menu opens without a `childFocusNode` and focus is not already inside the `MenuAnchor` subtree, move focus to `_menuScopeNode` via `FocusScope.of(context).setFirstFocus(_menuScopeNode)` (and detach `_menuScopeNode` cleanly if closed/disposed before `FocusScope` mounts).
    
    Fixes flutter/flutter#195059
    
    ## 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.
    mmohankrishna-lab authored Oct 30, 2026
    Configuration menu
    Copy the full SHA
    e830a53 View commit details
    Browse the repository at this point in the history
  3. [pigeon] Allow event channel unregistration (#13438)

    Adds a new class for each event channel API that wraps the underlying EventChannel and allows setting the stream handler, matching the underlying Flutter API. This allows clients that need to set a new handler later (notably, removing a handler to avoid an engine-lifetime reference to a handler for a transient channel) to do so, using the same API that non-Pigeon event channel code would use.
    
    The existing static `register` method is kept to avoid unnecessary breaking changes, but clients no longer need to use it if they want to create the channel directly.
    
    Fixes flutter/flutter#195049
    
    ## 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 Oct 30, 2026
    Configuration menu
    Copy the full SHA
    3742a4e View commit details
    Browse the repository at this point in the history
Loading