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

Commits on Nov 3, 2026

  1. Roll Flutter from fcfb4f203eae to 934720261be0 (38 revisions) (#13540)

    Roll Flutter from fcfb4f203eae to 934720261be0 (38 revisions)
    
    flutter/flutter@fcfb4f2...9347202
    
    2026-11-03 [email protected] Roll Skia from 5bceaa033999 to c733ad3e37cb (5 revisions) (flutter/flutter#195872)
    2026-11-03 [email protected] Roll Skia from 34d2bf479385 to 5bceaa033999 (9 revisions) (flutter/flutter#195864)
    2026-11-03 [email protected] fix: prefer pointer events over semantics tap for mouse clicks on web (flutter/flutter#191529)
    2026-11-03 [email protected] [VPAT] Expose a semantics text field value while it is not being edited (flutter/flutter#195445)
    2026-11-03 [email protected] [Impeller] Make a GL context current before constructing an AiksContext without a surface (flutter/flutter#195629)
    2026-11-03 [email protected] [flutter_tools] Eliminate globals.dart from project.dart (flutter/flutter#194066)
    2026-11-03 [email protected] [tool] Complete context runner elimination and migrate AppContext usages to ToolContext (flutter/flutter#190797)
    2026-11-03 [email protected] [web] Unify font collections between CanvasKit and Skwasm (flutter/flutter#195539)
    2026-11-03 [email protected] [Android] Replay predictive back state for retained engines (flutter/flutter#192286)
    2026-11-03 [email protected] [vulkan]: Adds depth/stencil synchronization for subpasses (flutter/flutter#195689)
    2026-11-03 [email protected] [web] Honor requested upscaling in instantiateImageCodecWithSize and ImageDescriptor.instantiateCodec (flutter/flutter#195836)
    2026-11-03 [email protected] Roll Skia from 866b61ca92c9 to 34d2bf479385 (9 revisions) (flutter/flutter#195848)
    2026-11-03 [email protected] Roll Fuchsia Test Scripts from xl1LWBuppzu-BnOzV... to B6zarykZp6PKWRueg... (flutter/flutter#195847)
    2026-11-03 [email protected] Remove unused ffi (flutter/flutter#195710)
    2026-11-02 [email protected] Revert: [Android] Let the raster thread use every core of a chip without little cores (flutter/flutter#195838)
    2026-11-02 [email protected] Run 10 impeller iOS benchmarks as one devicelab task (flutter/flutter#195661)
    2026-11-02 [email protected] Use named uniforms instead of setFloat in StretchEffect (flutter/flutter#195372)
    2026-11-02 [email protected] [flutter_tools] Report when the browser disconnects during a web test run (flutter/flutter#192198)
    2026-11-02 [email protected] fix: Resolve memory leak in image_list example (flutter/flutter#189526)
    2026-11-02 [email protected] Only run the common local engine configurations in presubmit (flutter/flutter#195688)
    2026-11-02 [email protected] Update gcloud_version to version [email protected] (flutter/flutter#195769)
    2026-11-02 [email protected] [Impeller] Order the Vulkan copy-texture-to-texture layout transition after the copy (flutter/flutter#195814)
    2026-11-02 [email protected] [Impeller] Order the Vulkan ResizeTexture layout transition after its blit (flutter/flutter#195721)
    2026-11-02 [email protected] [web] Fix CanvasKit fragment shader uniforms being freed or mutated after recording (flutter/flutter#195718)
    2026-11-02 [email protected] Roll Fuchsia Linux SDK from MqypI6RNyVZ_FLUE-... to T_-6-6X1lDMghhAvX... (flutter/flutter#195809)
    2026-11-02 [email protected] [Android] Log why Impeller falls back to OpenGLES (flutter/flutter#194764)
    2026-11-02 [email protected] Roll Skia from 3f35fb6e591b to 866b61ca92c9 (11 revisions) (flutter/flutter#195802)
    2026-11-02 [email protected] Roll Skia from 3f35fb6e591b to 866b61ca92c9 (11 revisions) (flutter/flutter#195802)
    2026-11-02 [email protected] Only run the common local engine configurations in presubmit (flutter/flutter#195688)
    2026-11-02 [email protected] Balance tool_integration_tests subshards by expected duration (flutter/flutter#195628)
    2026-11-02 [email protected] [web_paragraph] Map code units without a cluster to a cluster (flutter/flutter#195384)
    2026-11-02 [email protected] [web] Hide synthetic autofill inputs from assistive technology (flutter/flutter#195618)
    2026-11-02 [email protected] Roll Packages from 3742a4e to 3f34a6f (8 revisions) (flutter/flutter#195795)
    2026-11-02 [email protected] [web] Unskip web tests that pass on CanvasKit and Skwasm: platform_view_test, route_notification_messages_test (flutter/flutter#195605)
    2026-11-02 [email protected] Roll Skia from e5ad3868b8db to 3f35fb6e591b (1 revision) (flutter/flutter#195789)
    2026-11-02 [email protected] Roll Skia from f5215e74aa16 to e5ad3868b8db (3 revisions) (flutter/flutter#195779)
    2026-11-02 [email protected] Roll Skia from e43478a2f9f8 to f5215e74aa16 (1 revision) (flutter/flutter#195776)
    2026-11-01 [email protected] Roll Fuchsia Linux SDK from kW0A0xxNkqf38ljm4... to MqypI6RNyVZ_FLUE-... (flutter/flutter#195768)
    
    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
    ...
    engine-flutter-autoroll authored Nov 3, 2026
    Configuration menu
    Copy the full SHA
    9da3462 View commit details
    Browse the repository at this point in the history
  2. [camera_android_camerax] Update skills_lint to 0.5.3 (#13530)

    Update to skills_lint 0.5.3 and enable new configs for published skills. 
    Along the way we found that a skill was not being limited. 
    
    @reidbaker 
    <details>
    Updates the `skills_lint` dev dependency from `^0.5.1` to `^0.5.3` and turns on more checks in `skills_lint.yaml`:
    
    * New in 0.5.3, for the published `skills/` directory: `pub-archive-includes-skill` (reports a skill or linked file that `dart pub publish` would leave out) and `check-relative-paths` with `within-skill: true` (reports relative links that leave the skill directory). `skills/` has only a README today, so these guard future skills.
    * Also for `skills/`: `published-skill-name`, which checks the `package:skills` naming convention (added in 0.5.2).
    * For all skills: `check-absolute-paths` and `disallowed-field`. Both rules already existed before 0.5.3. `disallowed-field` checks the `SKILL.md` frontmatter keys.
    * Marks `.agents/skills/pre-push-skill` as internal (`metadata: internal: true`) and lists it under `individual_skills` with `prevent-skills-sh-publishing`, the same way as `check-readiness`.
    * `test/validate_skills_test.dart` now checks `expect(config.parsingErrors, isEmpty)`. The 0.5.3 CHANGELOG notes that `validateSkills` returns `true` even when `config.parsingErrors` is not empty, so a typo in `skills_lint.yaml` (for example, an unknown rule name) would otherwise pass the test.
    
    This is a dev-only change: it touches a dev dependency, the lint config, a dev skill and a test, with no change to the published plugin. It needs the `override: no versioning needed` and `override: no changelog needed` labels, as #12684 (the previous skills_lint bump) used, because the `version-check` tool does not treat `pubspec.yaml` and `skills_lint.yaml` as dev-only paths.
    
    No issue tracks this routine dependency update, so this PR does not link one.
    
    I prepared this change with help from an AI agent and reviewed it.
    
    Local checks, against skills_lint 0.5.3 from pub.dev: `flutter test` passes (including `test/validate_skills_test.dart`), `dart run skills_lint` exits 0, and the repo tool's `format`, `analyze`, `license-check` and `publish-check` report no issues. `validate --check-for-missing-changes` passes when given the two override labels above.
    </details> 
    
    ## 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.
    reidbaker-agent authored Nov 3, 2026
    Configuration menu
    Copy the full SHA
    dae4525 View commit details
    Browse the repository at this point in the history
  3. [material_ui] Migrate M3 Time Picker template to use new gen_defaults (…

    …#13164)
    
    Work toward flutter/flutter#187899.
    Fixes flutter/flutter#188439
    
    ## 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.
    ValentinVignal authored Nov 3, 2026
    Configuration menu
    Copy the full SHA
    140b51f View commit details
    Browse the repository at this point in the history
  4. [material_ui] Fix discrete Slider selecting the neighboring tick near…

    … the track ends (#12927)
    
    Ports flutter/flutter#188012 to `material_ui` now that the Material/Cupertino code freeze has lifted, per the instructions in flutter/flutter#188444.
    
    Original PR description:
    
    ---
    
    Fixes flutter/flutter#194855
    
    Tick marks and the thumb on discrete rounded tracks are *painted* in a padded coordinate space:
    ```
    dx = trackLeft + i/d * (trackWidth − padding) + padding/2
    ```
    where `padding = trackHeight` (4 px on M2's `RoundedRectSliderTrackShape`, up to 16 px on M3's `GappedSliderTrackShape`). But tap detection inverted a different, unpadded formula, so the snap midpoints in tap space diverged from the visual midpoints between tick marks. Lower-half ticks consistently landed in the wrong snap bucket.
    
    Fix: `_getValueFromGlobalPosition` now uses the padded inverse formula when `isDiscrete && trackShape.isRounded`. The drag-delta normalizer in `_handleDragUpdate` is updated to match so a tap followed immediately by a drag is consistent.
    
    Applied to both `Slider` and `RangeSlider`.
    
    ## Tests
    
    Added regression tests to `slider_test.dart` and `range_slider_test.dart`. They fail without the fix and pass with it:
    
    - `Slider` snaps at the visual midpoint between every pair of ticks, tapping 0.05px either side of the midpoint, for the default Material 3 track (LTR and RTL) and the gapped track from `Slider.year2023: false` (LTR and RTL), which has the largest padding. Tapping exactly on a tick center can't expose the bug, because the old and new mappings differ by only a couple of pixels there.
    - A full-track drag after a tap on a 100-division gapped slider, which covers the drag delta normalizer.
    - `RangeSlider` snaps at the visual midpoint between ticks for both thumbs.
    - A tick-center sanity check for `Slider`.
    
    All of `slider_test.dart` and `range_slider_test.dart` pass locally.
    
    ---
    
    Fixes flutter/flutter#194855
    
    Closes flutter/flutter#188012 (superseded by this PR)
    
    ## 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.
    hkarmoush authored Nov 3, 2026
    Configuration menu
    Copy the full SHA
    e244038 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2026

  1. [tool] Regenerate MockGitDir for package:git 2.5.0 (#13544)

    `package:git` `2.4.0` and `2.5.0` were recently published to pub.dev and added an optional named parameter (`{bool includeUntracked = true}`) to `GitDir.isWorkingTreeClean`, along with several new methods on `GitDir`.
    
    Because `script/tool` does not check in a `pubspec.lock`, `dart pub get` in CI (`Linux repo_checks` -> `tool unit tests`) now resolves `git 2.5.0`, causing `package_command_test.dart` to fail compilation against the checked-in `MockGitDir`:
    
    ```
    test/common/package_command_test.mocks.dart:204:20: Error: The method 'MockGitDir.isWorkingTreeClean' has fewer named arguments than those of overridden method 'GitDir.isWorkingTreeClean'.
      _i6.Future<bool> isWorkingTreeClean() =>
                       ^
    ```
    
    This PR:
    - Regenerates `script/tool/test/common/package_command_test.mocks.dart` with `build_runner` against `package:git` `2.5.0`.
    - Leaves `git: ^2.0.0` in `script/tool/pubspec.yaml` so that `Linux analyze_legacy N-2` (which runs on Flutter `3.41.9` / Dart `3.11.5`, whereas `git >=2.4.0` requires Dart `>=3.12.0`) can still resolve `git 2.3.2` when bootstrapping `script/tool` in `prepare_tool.sh`.
    
    Part of flutter/flutter#195938
    
    ## 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.
    Piinks authored Nov 4, 2026
    Configuration menu
    Copy the full SHA
    b7e0312 View commit details
    Browse the repository at this point in the history
  2. [material_ui] Inherit IconButtonThemeData.variant from enclosing th…

    …emes (#13263)
    
    `IconButton` resolves its Material style variant from the closest `IconButtonTheme` only. An `IconButtonTheme` that doesn't set `variant` therefore resets its subtree to Material 3, even when an ancestor opted into Material 3 Expressive. `ListTile`, `InputDecorator`, and `AppBar` hit this too, because they wrap their children in an internal `IconButtonTheme` without a variant.
    
    This PR makes a null `IconButtonThemeData.variant` inherit the variant of the enclosing icon button themes:
    
    * Adds `IconButtonTheme.variantOf`, which returns the **first non-null `variant`** of the enclosing `IconButtonTheme`s, and then falls back to `ThemeData.iconButtonTheme.variant`, and then to `StyleVariant.material3`. `IconButton` now uses it instead of `IconButtonTheme.of(context).variant`.
    * Keeps the current behavior of `style`: the closest theme replaces its ancestors. An explicit `variant: StyleVariant.material3` still opts a subtree out.
    * Documents that an enclosing `IconButtonTheme` takes precedence over `ThemeData.iconButtonTheme`, and that `IconButtonTheme.of` only returns the variant specified by the closest theme.
    
    Fixes flutter/flutter#194414
    
    TODO: 
    * Follow-up PR:
       - `AppBar`, `ListTile`, and `InputDecorator` set `variant: IconButtonTheme.variantOf(context)` on the themes they create. This fixes the common cases above.
       - I'll also add some notes to the `variant` docs: dialogs, bottom sheets, and menus only get the closest theme, so set the variant in `ThemeData` or on that theme.
    * Update the M3E migration checklist (the migration skill): a theme that a widget creates internally should always set `variant`, either to `variantOf(context)` or to `StyleVariant.material3`.
    
    ## 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
    670b30e View commit details
    Browse the repository at this point in the history
Loading