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/flutter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: dba4f7747441
Choose a base ref
...
head repository: flutter/flutter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 5d3bca4500b1
Choose a head ref
  • 17 commits
  • 61 files changed
  • 10 contributors

Commits on Apr 24, 2024

  1. Configuration menu
    Copy the full SHA
    6b6ee4b View commit details
    Browse the repository at this point in the history
  2. Mark firebase tests as bringup: true (#147338)

    This helps green the tree considering firebase outage:
    #147335
    keyonghan authored Apr 24, 2024
    Configuration menu
    Copy the full SHA
    1df1c84 View commit details
    Browse the repository at this point in the history
  3. Add support for overriding reverseCurve with `ExpansionTile.expansi…

    …onAnimationStyle` (#147103)
    
    This PR adds support for overriding `reverseCurve` with `ExpansionTile.expansionAnimationStyle`.
    
    Closes #146760
    chika3742 authored Apr 24, 2024
    Configuration menu
    Copy the full SHA
    d85571b View commit details
    Browse the repository at this point in the history
  4. Add create app and plugin templates for Swift Package Manager (#147082)

    When Swift Package Manager feature is enabled, create app and create plugin will have Swift Package Manager integration already added and will not need to undergo a migration.
    
    Fixes #146371.
    
    ```
    flutter config --enable-swift-package-manager
    
    flutter create --ios-language swift --platforms ios,macos swift_app_name
    
    flutter create --ios-language objc --platforms ios objc_app_name
    
    flutter create --template=plugin --ios-language swift --platforms ios,macos swift_plugin_name
    
    flutter create --template=plugin --ios-language objc --platforms ios objc_plugin_name
    ```
    vashworth authored Apr 24, 2024
    Configuration menu
    Copy the full SHA
    5a63b1d View commit details
    Browse the repository at this point in the history
  5. Remove hidden dependencies on the default goldenFileComparator. (#146956

    )
    
    This is part 12 of a broken down version of the #140101 refactor.
    
    This only makes one dependency explicit. Further PRs will do the same for other dependencies, until these APIs have no hidden dependencies.
    Hixie authored Apr 24, 2024
    Configuration menu
    Copy the full SHA
    a2a54fe View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6c5606b View commit details
    Browse the repository at this point in the history
  7. Roll Flutter Engine from b5d5832f7144 to b30c0a765680 (14 revisions) (#…

    …147336)
    
    flutter/engine@b5d5832...b30c0a7
    
    2024-04-24 [email protected] Remove UIAccessibilityTraitKeyboardKey to fix touch typing (flutter/engine#52333)
    2024-04-24 [email protected] [Impeller] Remove libtess2 from libflutter. (flutter/engine#52357)
    2024-04-24 [email protected] Roll Skia from 510b6766d907 to afcc1db27593 (2 revisions) (flutter/engine#52367)
    2024-04-24 [email protected] [web:tests] switch to new HTML DOM matcher (flutter/engine#52354)
    2024-04-24 [email protected] [Impeller] use spec constant for gaussian shader, rename, and reuse vertex sources. (flutter/engine#52361)
    2024-04-24 [email protected] [Impeller] delete points compute shader. (flutter/engine#52346)
    2024-04-24 [email protected] [darwin] Update pixel format handling in FlutterTexture (flutter/engine#52326)
    2024-04-24 [email protected] [Impeller] make drawAtlas always use porterduff or vertices_uber shader (flutter/engine#52348)
    2024-04-24 [email protected] Migrate ios_surface files to ARC (flutter/engine#52139)
    2024-04-24 [email protected] Roll Dart SDK from f470eaaf6e6d to 38c43a01a51e (1 revision) (flutter/engine#52365)
    2024-04-24 [email protected] Roll Skia from b5dd23bd29df to 510b6766d907 (16 revisions) (flutter/engine#52364)
    2024-04-24 [email protected] Fix some warnings reported by recent versions of clang-tidy (flutter/engine#52349)
    2024-04-24 [email protected] Roll Skia from e15464e6e982 to b5dd23bd29df (1 revision) (flutter/engine#52353)
    2024-04-24 [email protected] Roll Dart SDK from 5227dc5103f6 to f470eaaf6e6d (1 revision) (flutter/engine#52359)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
    Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Flutter: 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 24, 2024
    Configuration menu
    Copy the full SHA
    3bd2980 View commit details
    Browse the repository at this point in the history
  8. Fix filled color is wrong for a focused and hovered TextField (#146976)

    ## Description
    
    This PR fixes the filled color for a focused and hovered text field.
    Before this PR, the filled color for a focused text field did not change when hovered, after this PR the filled color is blended with the hover color.
    
    The change removes a `isFocused` check which deactivated the blending. This check was introduced in #32776, at that time it was needed because there was also a focus color animation. Sometimes later, the focus animation was removed, see #33062, but the flag was not removed.
    
    **Before**:
    
    https://github.com/flutter/flutter/assets/840911/9698ba82-eb67-428a-8635-8054a4b8dfaf
    
    **After**:
    
    https://github.com/flutter/flutter/assets/840911/4c03a137-360d-4612-8946-765d7b5c698d
    
    ## Related Issue
    
    Fixes #146573
    
    ## Tests
    
    Adds 1 tests.
    bleroux authored Apr 24, 2024
    Configuration menu
    Copy the full SHA
    99411e5 View commit details
    Browse the repository at this point in the history
  9. Bump actions/checkout from 4.1.3 to 4.1.4 (#147334)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
    <blockquote>
    <h2>v4.1.4</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Disable <code>extensions.worktreeConfig</code> when disabling <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1692">actions/checkout#1692</a></li>
    <li>Add dependabot config by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1688">actions/checkout#1688</a></li>
    <li>Bump word-wrap from 1.2.3 to 1.2.5 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1643">actions/checkout#1643</a></li>
    <li>Bump the minor-actions-dependencies group with 2 updates by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1693">actions/checkout#1693</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4.1.3...v4.1.4">https://github.com/actions/checkout/compare/v4.1.3...v4.1.4</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
    <blockquote>
    <h1>Changelog</h1>
    <h2>v4.1.4</h2>
    <ul>
    <li>Disable <code>extensions.worktreeConfig</code> when disabling <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1692">actions/checkout#1692</a></li>
    <li>Add dependabot config by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1688">actions/checkout#1688</a></li>
    <li>Bump the minor-actions-dependencies group with 2 updates by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1693">actions/checkout#1693</a></li>
    <li>Bump word-wrap from 1.2.3 to 1.2.5 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1643">actions/checkout#1643</a></li>
    </ul>
    <h2>v4.1.3</h2>
    <ul>
    <li>Check git version before attempting to disable <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1656">actions/checkout#1656</a></li>
    <li>Add SSH user parameter by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1685">actions/checkout#1685</a></li>
    <li>Update <code>actions/checkout</code> version in <code>update-main-version.yml</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1650">actions/checkout#1650</a></li>
    </ul>
    <h2>v4.1.2</h2>
    <ul>
    <li>Fix: Disable sparse checkout whenever <code>sparse-checkout</code> option is not present <a href="https://github.com/dscho"><code>@�dscho</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1598">actions/checkout#1598</a></li>
    </ul>
    <h2>v4.1.1</h2>
    <ul>
    <li>Correct link to GitHub Docs by <a href="https://github.com/peterbe"><code>@�peterbe</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1511">actions/checkout#1511</a></li>
    <li>Link to release page from what's new section by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1514">actions/checkout#1514</a></li>
    </ul>
    <h2>v4.1.0</h2>
    <ul>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1396">Add support for partial checkout filters</a></li>
    </ul>
    <h2>v4.0.0</h2>
    <ul>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li>
    </ul>
    <h2>v3.6.0</h2>
    <ul>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li>
    <li><a href="https://redirect.github.com/actions/checkout/pull/579">Add option to fetch tags even if fetch-depth &gt; 0</a></li>
    </ul>
    <h2>v3.5.3</h2>
    <ul>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1196">Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in</a></li>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix typos found by codespell</a></li>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add support for sparse checkouts</a></li>
    </ul>
    <h2>v3.5.2</h2>
    <ul>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix api endpoint for GHES</a></li>
    </ul>
    <h2>v3.5.1</h2>
    <ul>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix slow checkout on Windows</a></li>
    </ul>
    <h2>v3.5.0</h2>
    <ul>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add new public key for known_hosts</a></li>
    </ul>
    <h2>v3.4.0</h2>
    <ul>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade codeql actions to v2</a></li>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade dependencies</a></li>
    <li><a href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade <code>@�actions/io</code></a></li>
    </ul>
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="https://github.com/actions/checkout/commit/0ad4b8fadaa221de15dcec353f45205ec38ea70b"><code>0ad4b8f</code></a> Prep Release v4.1.4 (<a href="https://redirect.github.com/actions/checkout/issues/1704">#1704</a>)</li>
    <li><a href="https://github.com/actions/checkout/commit/43045ae669be728bd34ed56fcd1a230c0dc4d8e2"><code>43045ae</code></a> Disable <code>extensions.worktreeConfig</code> when disabling <code>sparse-checkout</code> (<a href="https://redirect.github.com/actions/checkout/issues/1692">#1692</a>)</li>
    <li><a href="https://github.com/actions/checkout/commit/37b082107ba410260a3aaddf93122e04801ce631"><code>37b0821</code></a> Bump the minor-actions-dependencies group with 2 updates (<a href="https://redirect.github.com/actions/checkout/issues/1693">#1693</a>)</li>
    <li><a href="https://github.com/actions/checkout/commit/9839dc14a02ddc6b6995e69eb3ecb98132fc8b6b"><code>9839dc1</code></a> Add dependabot config (<a href="https://redirect.github.com/actions/checkout/issues/1688">#1688</a>)</li>
    <li><a href="https://github.com/actions/checkout/commit/9b4c13b0bfa31b4514c14f74b5a166c2708f43c6"><code>9b4c13b</code></a> Bump word-wrap from 1.2.3 to 1.2.5 (<a href="https://redirect.github.com/actions/checkout/issues/1643">#1643</a>)</li>
    <li>See full diff in <a href="https://github.com/actions/checkout/compare/1d96c772d19495a3b5c517cd2bc0cb401ea0529f...0ad4b8fadaa221de15dcec353f45205ec38ea70b">compare view</a></li>
    </ul>
    </details>
    <br />
    
    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=4.1.3&new-version=4.1.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    
    </details>
    dependabot[bot] authored Apr 24, 2024
    Configuration menu
    Copy the full SHA
    c22ed98 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2024

  1. Allow the SceneBuilder, PictureRecord, and Canvas constructor calls f…

    …rom the rendering layer to be hooked (#147271)
    
    This also includes some minor cleanup of documentation, asserts, and tests.
    Hixie authored Apr 25, 2024
    Configuration menu
    Copy the full SHA
    9751d4d View commit details
    Browse the repository at this point in the history
  2. Roll Flutter Engine from b30c0a765680 to f48f3b6a0172 (8 revisions) (#…

    …147348)
    
    flutter/engine@b30c0a7...f48f3b6
    
    2024-04-24 [email protected] [Impeller] only use porter duff or vertices.uber for drawVertices. (flutter/engine#52345)
    2024-04-24 [email protected] Roll Fuchsia Linux SDK from le_-uFgRD5DjvvqgL... to PJBX8xxRnd5vCFnQM... (flutter/engine#52376)
    2024-04-24 [email protected] [Impeller] Remove additional shader bootstrap. (flutter/engine#52368)
    2024-04-24 [email protected] Remove TODO I will never do: `runIfNot` is deprecated. (flutter/engine#52308)
    2024-04-24 [email protected] Roll Dart SDK from 38c43a01a51e to 9a0f141e9a67 (1 revision) (flutter/engine#52373)
    2024-04-24 [email protected] [Impeller] Cleanup legacy StencilModes and document overdraw prevention. (flutter/engine#52372)
    2024-04-24 [email protected] Roll Skia from afcc1db27593 to 864f6d868ec0 (1 revision) (flutter/engine#52371)
    2024-04-24 [email protected] Move zlib to //flutter/third_party (flutter/engine#52366)
    
    Also rolling transitive DEPS:
      fuchsia/sdk/core/linux-amd64 from le_-uFgRD5Dj to PJBX8xxRnd5v
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
    Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Flutter: 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 25, 2024
    Configuration menu
    Copy the full SHA
    a6a4b4d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1bfdc4f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    36a316d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f3868bc View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d2631b5 View commit details
    Browse the repository at this point in the history
  7. [native_assets] Use kernel concatenation (#147158)

    Uses kernel concatenation to concatenate the `program.dill` and `native_assets.dill`.
    
    This will enable compiling `native_assets.dill` after `program.dill` so that tree-shaking information can be used.
    
    Issue:
    
    * #146270
    
    ## Implementation choices
    
    * We can either run the frontend_server twice as a process invocation (current PR), or keep the process running after the dart compilation and then shut it down after native assets compilation to kernel. Keeping the process running would require more coordination between different `Target`s.
    * We can either chose to only do separate kernel file compilation in release (AOT) builds, or do it both for JIT and AOT (current PR). Doing it differently in JIT/AOT means more conditionals in lib/src/build_system/targets/, doing it single-shot in JIT might be more performant though.
    
    Update: Both of these are mitigated by not running the kernel compiler process if there are no native assets at all.
    
    ## Implementation notes
    
    This only updates `flutter assemble`.
    
    The kernel compilation calls in `flutter run` do not require kernel concatenation. The native-assets-kernel-mapping in `flutter run` contains results from `--dry-run` invocations of `hook/build.dart` (and in the future `hook/link.dart`). These `--dry-run` invocations do not get access to tree-shaking information, so the `link` hook to be introduced later can be run before Dart compilation.
    
    ## Tests
    
    * Updated the `Target`s tests to reflect the new implementation.
    
    ## Related CLs
    
    * frontend_server support: https://dart-review.googlesource.com/c/sdk/+/363567
    * Same PR for Dart standalone: https://dart-review.googlesource.com/c/sdk/+/362384
    dcharkes authored Apr 25, 2024
    Configuration menu
    Copy the full SHA
    e410b7c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5d3bca4 View commit details
    Browse the repository at this point in the history
Loading