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

Commits on Apr 9, 2026

  1. [webview_flutter_wkwebview] Updates plugin for iOS 26 (#11415)

    1. Prevents test `WKFrameInfo` from deallocating during tests to prevent crash
    2. Retrieves failing url from DNS failures from `NSURLErrorFailingURLErrorKey`.
    
    Fixes flutter/flutter#182846
    
    ## 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 Apr 9, 2026
    Configuration menu
    Copy the full SHA
    62949f4 View commit details
    Browse the repository at this point in the history
  2. [google_maps_flutter] Remove .static from Package.swift (#11392)

    The Swift Package Manager spec was requiring static builds, rather than following the Apple suggestion of letting the build process determine the build mode. This was a carryover from the CocoaPods spec, but based on commit history that was only to address some unspecified compatibility issue with Swift apps, long ago (before module builds were standard, for example).
    
    We are not aware of any reason for this setting that applies to Package.swift, so we should remove it absent new evidence that it is necessary. (Arguably we could remove it from the CP spec too, but since that's a legacy mode anyway, it's probably best to leave it as is to avoid any potential disruptions in edge cases we aren't aware of.)
    
    ## 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 Apr 9, 2026
    Configuration menu
    Copy the full SHA
    c780d2d View commit details
    Browse the repository at this point in the history
  3. [go_router] Fix chained top-level redirects not being fully resolved (#…

    …11108)
    
    Fixes flutter/flutter#178984
    
    The `onEnter` refactor (commit `9ec29b6d23`, PR #8339) split the unified `redirect()` method into `applyTopLegacyRedirect()` (top-level, runs once) and `redirect()` (route-level only). This introduced two regressions:
    
    1. **Top-level redirect chains broken**: `applyTopLegacyRedirect()` returned after one hop — a chain like `/ → /a → /b` stopped at `/a` instead of resolving to `/b`.
    2. **Route-level → top-level chains broken**: `processRouteLevelRedirect()` recursed into `redirect()` without re-evaluating the top-level redirect on the new location.
    
    ### Fix
    
    Unify top-level and route-level redirects back into `redirect()` as the single entry point for all redirect processing, while keeping the separation of concerns via `applyTopLegacyRedirect()` as an internal helper.
    
    > **Note:** An earlier revision of this PR (v1) kept the split but added recursive calls in both methods. Based on [reviewer feedback](#11108 (comment)), the approach was refactored to move `applyTopLegacyRedirect()` inside `redirect()` so the caller (`parseRouteInformationWithDependencies`) doesn't need to know about the two-phase process.
    
    #### Before (broken)
    
    ```mermaid
    sequenceDiagram
        participant Parser as parseRouteInformationWithDependencies
        participant TopRedir as applyTopLegacyRedirect
        participant Redir as redirect (route-level only)
    
        Parser->>TopRedir: / (one hop only)
        TopRedir-->>Parser: /a (stops here ✗)
        Parser->>Redir: /a
        Redir->>Redir: route-level redirects
        Note right of Redir: No top-level re-evaluation
        Redir-->>Parser: result
    ```
    
    #### After (fix)
    
    ```mermaid
    sequenceDiagram
        participant Parser as parseRouteInformationWithDependencies
        participant Redir as redirect (unified)
        participant TopRedir as applyTopLegacyRedirect
    
        Parser->>Redir: / (initial matches)
        Redir->>TopRedir: / → top-level redirect chain
        TopRedir->>TopRedir: / → /a → /b (self-recursive)
        TopRedir-->>Redir: /b (fully resolved ✓)
        Redir->>Redir: route-level redirects on /b
        Note right of Redir: If route-level changes location,<br/>recurse → top-level re-evaluated
        Redir-->>Parser: final result
    ```
    
    #### Key changes
    
    - **`configuration.dart` — `redirect()`**: Now calls `applyTopLegacyRedirect()` first at every cycle, then processes route-level redirects on the post-top-level result. Route-level `_processRouteLevelRedirects` extracted as a helper.
    - **`configuration.dart` — `applyTopLegacyRedirect()`**: Self-recursive to fully resolve top-level chains. No functional change from v1.
    - **`parser.dart` — `parseRouteInformationWithDependencies()`**: Simplified — no longer calls `applyTopLegacyRedirect` separately. Just passes initial matches to `_navigate()`.
    - **`parser.dart` — `_navigate()`**: Removed `preSharedHistory` parameter. Added `context.mounted` guard in the result `.then()` to protect the relocated async boundary.
    
    Both fixes share the existing `redirectHistory` for loop detection and respect `redirectLimit`. The `onEnter` system is completely unaffected — it runs before redirects in the pipeline.
    
    ### Tests
    
    - **19 redirect chain tests** (`redirect_chain_test.dart`): top-level chains, async chains, loop detection (including loop-to-initial), route→top cross-type chains, **async cross-type chains** (async top→route, async route→sync top, sync route→async top), **context disposal** during async top-level and route-level redirects, redirect limit boundary (exact limit succeeds, limit+1 fails), shared limit across redirect types.
    - **3 onEnter interaction tests** (`on_enter_test.dart`): onEnter called once when chains resolve, onEnter block prevents redirect evaluation.
    - **Full suite**: 418 tests pass, 0 regressions.
    
    ## Pre-Review Checklist
    
    [^1]: This PR uses `pending_changelogs/` for versioning and changelog, following the go_router batch release process.
    davidmigloz authored Apr 9, 2026
    Configuration menu
    Copy the full SHA
    4333700 View commit details
    Browse the repository at this point in the history
  4. Roll Flutter from 05e0ae02600d to 81c87ea165df (27 revisions) (#11477)

    flutter/flutter@05e0ae0...81c87ea
    
    2026-04-09 katelovett@google.com Remove last material dependency from cupertino tests (flutter/flutter#184781)
    2026-04-09 engine-flutter-autoroll@skia.org Roll Skia from 7c46cb639dba to 4d0f5389e131 (7 revisions) (flutter/flutter#184812)
    2026-04-09 goderbauer@google.com Make `windowing_test` follow repo analyzer rules (flutter/flutter#184752)
    2026-04-09 116356835+AbdeMohlbi@users.noreply.github.com Improve documentation of `frictionFactor` function (flutter/flutter#184509)
    2026-04-09 engine-flutter-autoroll@skia.org Roll Skia from d2b0bd12576a to 7c46cb639dba (1 revision) (flutter/flutter#184796)
    2026-04-09 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from JLBh4Z9PKsjIJcqDU... to SEfYx3xgueX3aFAY3... (flutter/flutter#184797)
    2026-04-09 katelovett@google.com Fixed freeze flow (flutter/flutter#184793)
    2026-04-09 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#184795)
    2026-04-09 engine-flutter-autoroll@skia.org Roll Skia from e9ed4fc9f154 to d2b0bd12576a (36 revisions) (flutter/flutter#184791)
    2026-04-08 43054281+camsim99@users.noreply.github.com [Android] Allow sensitive content to gracefully fail when unregistering host before registering (flutter/flutter#184789)
    2026-04-08 34465683+rkishan516@users.noreply.github.com Refactor: remove material from autocomplete_test, scrollable_restoration_test, semantics_tester_generate_test_semantics_expression_for_current_semantics_tree_test (flutter/flutter#184615)
    2026-04-08 jmccandless@google.com Warn about the use of TestSemantics (flutter/flutter#184369)
    2026-04-08 katelovett@google.com Change freeze flow to pull_request_target (flutter/flutter#184785)
    2026-04-08 1063596+reidbaker@users.noreply.github.com Update to the beta dart version for 3.44 branch cut.  (flutter/flutter#184770)
    2026-04-08 737941+loic-sharma@users.noreply.github.com [Dot shorthands] Migrate examples/api/test (flutter/flutter#183966)
    2026-04-08 rmacnak@google.com [fuchsia] Give AOT runners the ability to copy FFI callback thunks. (flutter/flutter#184696)
    2026-04-08 victorsanniay@gmail.com Add await or ignore lint to invokeMethod callsites (flutter/flutter#182870)
    2026-04-08 robert.ancell@canonical.com Correctly handle failure to read /proc/self/exe link (flutter/flutter#184700)
    2026-04-08 engine-flutter-autoroll@skia.org Roll Skia from e264d870a380 to e9ed4fc9f154 (11 revisions) (flutter/flutter#184713)
    2026-04-08 engine-flutter-autoroll@skia.org Roll Packages from 5299279 to 0e0a032 (5 revisions) (flutter/flutter#184720)
    2026-04-08 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#184772)
    2026-04-08 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 1rcChbOv4nSTVkUxs... to pDXMXRIjEHTw7B0sk... (flutter/flutter#184722)
    2026-04-08 73785960+xfce0@users.noreply.github.com Remove navigator_utils cross-imports from cupertino tests (flutter/flutter#184282)
    2026-04-08 victorsanniay@gmail.com Even more awaits v2 (flutter/flutter#184552)
    2026-04-08 15619084+vashworth@users.noreply.github.com Allow personal skills to be gitignored (flutter/flutter#184727)
    2026-04-08 dacoharkes@google.com [ci] mac_arm64 build_test re-enable shard 1 presubmit (flutter/flutter#184751)
    2026-04-08 katelovett@google.com Fix repo check on code freeze (flutter/flutter#184771)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/flutter-packages
    Please CC bmparr@google.com,stuartmorgan@google.com 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 Apr 9, 2026
    Configuration menu
    Copy the full SHA
    b32aa77 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2026

  1. [google_maps_flutter_ios] Exclude from Xcode analysis until upstream …

    …warning is fixed (#11480)
    
    Adds `google_maps_flutter_ios` to the Xcode warnings exceptions list to fix
    the CI analyze failure caused by a `-Wenum-enum-conversion` warning in the
    `Google-Maps-iOS-Utils` CocoaPods dependency.
    
    Upstream issue: googlemaps/google-maps-ios-utils#570
    Fixes: flutter/flutter#184470
    
    ## 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.
    okorohelijah authored Apr 10, 2026
    Configuration menu
    Copy the full SHA
    c2e3d1f View commit details
    Browse the repository at this point in the history
Loading