Jenn Magder
0494591c09
More graphs
2025-07-23 14:02:42 -07:00
Jenn Magder
c5f9e16793
Move "Flutter iOS PlatformView (Engine) Overview" design doc to markdown doc
...
Fixes https://github.com/flutter/flutter/issues/148071
2025-07-22 17:34:47 -07:00
Matan Lurey
6d62770d08
Omit instruction to cd . after flutter create ( #172513 )
...
Closes https://github.com/flutter/flutter/issues/100588 .
2025-07-22 22:45:14 +00:00
Alex Talebi
c45a67e4ac
Improve assertion message in AlignmentDirectional.resolve ( #172096 )
...
Replaces the generic assertion in `AlignmentDirectional.resolve` and
`_MixedAlignment.resolve` with
`debugCheckCanResolveTextDirection`.
This change provides a more helpful and descriptive error message when
the `TextDirection` is null, improving the developer experience by
clearly stating why the resolution failed and how to fix it.
Fixes : #171813 , Fixes : #171814 , also fixes : #171812
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-22 22:11:01 +00:00
jesswrd
e12d263d3d
Update warnGradleVersion to 8.7.0 ( #172576 )
...
When using a lower Gradle version, a warning to update to at least 8.7.2
is shown, but 8.7.2 is not a valid version. Changed warnGradleVersion
from 8.7.2 to 8.7.0.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-22 21:20:08 +00:00
Matan Lurey
3038239932
Use a fake representation of cache/artifacts/gradle_wrapper ( #172503 )
...
... so that it doesn't require downloading cache artifacts to run
`general.shard/project_test.dart`.
Closes https://github.com/flutter/flutter/issues/83275 .
2025-07-22 21:13:03 +00:00
LongCatIsLooong
be9526fbaa
Revert #160653 Fix view removal process for AutofillContextAction.cancel ( #172490 )
...
Between #145681 (autofill save prompt shows up for password fields when
you dismiss the keyboard) and #172250 (calling `TextInput.hide` causes
the current active text field to lose its text) the latter seems to be
the worse bug. The framework `EditableText` implementation only calls
`TextInput.hide` when switching input controls, so #172250 typically
does not affect flutter text fields itself, but becomes a problem if the
app wishes to add UI (similar to the iOS down-arrow button that would
show up above the keyboard when you're filling out a form) to dismiss
the keyboard.
This reopens #145681 . See
https://github.com/flutter/flutter/issues/145681#issuecomment-3098865633
@koji-1009 does reverting sound ok to you?
## Pre-launch Checklist
- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-22 18:34:11 +00:00
Michael Goderbauer
6b7d92852c
Bump meta to 0.17.0 ( #172541 )
...
Unclear why the bot didn't bump this.
2025-07-22 17:51:20 +00:00
gaaclarke
ee0cc6652b
Licenses cpp ignore whitespace ( #172512 )
...
2 big changes:
1) \s+ is assumed for any whitespace in the source matcher
1) trailing space is no longer captured in matched text
I didn't change any of the data files, so that can be done in a more
controlled pr.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-22 17:39:19 +00:00
John "codefu" McDole
ff983d3598
feat: start using the content aware hash for downloading artifacts ( #172552 )
...
reland of https://github.com/flutter/flutter/pull/171927
towards https://github.com/flutter/flutter/issues/171790
Use the content aware hash when downloading engine artifacts. These are
currently produced when changes to DEPs, engine/, or the release file
are changed in a not-seen-before way.
We can eventually remove engine.version being tracked in release
branches as an optimization.
FLUTTER_PREBUILT_ENGINE_VERSION will stay for overriding the
engine.version for testing. Though Cocoon does not need to actually set
it for framework only PRs anymore.
fxies post submit tests for content_hash download:
SHARD=framework_tests SUBSHARD=misc dart --enable-asserts
dev/bots/test.dart
SHARD=tool_host_cross_arch_tests dart --enable-asserts
dev/bots/test.dart
```
╔═╡ERROR https://github.com/flutter/flutter/pull/1╞════════════════════════════════════════════════════════════════════
║ Expected "Flutter Engine Version: 45b085ab2118f30441ae6e2daab4b8eb3e4a063c", but found "Flutter Engine Version: 407c051ec9 ".
╚═══════════════════════════════════════════════════════════════════════════════
```
```
Expected: contains '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
Which: does not contain '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
```
2025-07-22 17:35:26 +00:00
nakanoh
404fb3f14f
fix: correct typo in analysis_options.yaml comment (disabeling -> disabling) ( #170206 )
...
This PR fixes a typo in the comment of `analysis_options.yaml`, changing
'disabeling' to 'disabling'. This is a simple typo fix in a comment that
improves code readability.
No issue is required as this is a trivial typo fix in a comment.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide].
- [x] I signed the [CLA].
2025-07-22 14:59:28 +00:00
Matan Lurey
d16e5b9971
Hide flutter assemble unless --verbose ( #172508 )
...
Towards https://github.com/flutter/flutter/issues/97505 .
2025-07-22 05:34:22 +00:00
Huy
db38e71bfc
Fix PopupMenuButton crashes when being hidden immediately ( #171970 )
...
- Fix https://github.com/flutter/flutter/issues/171422 (and maybe also
https://github.com/flutter/flutter/issues/167180 , and
https://github.com/flutter/flutter/issues/163477 )
- Investigation: Per discussion in
https://github.com/flutter/flutter/issues/171422 , the issue is probably
happening due to accessing inherited widgets via `context` in
`positionBuilder`(like `PopupMenuTheme`) when PopupMenu's State is
inactive. This PR proposed a fix by caching the necessary objects in
`didChangeDependencies` method. Some of `RenderBox` are also cached to
avoid another exception like _Cannot get renderObject of inactive
element._.This solution can also be seen at another widget like
`CalendarDatePicker`:
d6b2a95215/packages/flutter/lib/src/material/calendar_date_picker.dart (L225-L232)
<details open>
<summary>Demo</summary>
| before | after |
| --------------- | --------------- |
<video
src="https://github.com/user-attachments/assets/2af0a4cb-216c-4033-bdd6-d288338bdf6b "/>
| <video
src="https://github.com/user-attachments/assets/c3e46f9c-9ead-4060-9df7-208bee7be740 "/>
</details>
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Signed-off-by: huycozy <huy@nevercode.io>
Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-07-22 03:16:48 +00:00
Victor Sanni
6a3ebfe3f3
Add hitTestChildren to baseline-aligned stack ( #172485 )
...
Fixes http://github.com/flutter/flutter/issues/171510
2025-07-22 03:13:06 +00:00
engine-flutter-autoroll
3ceb2e0a48
Roll Skia from 4aba494b8108 to eea1c33fbe84 (11 revisions) ( #172515 )
...
https://skia.googlesource.com/skia.git/+log/4aba494b8108..eea1c33fbe84
2025-07-21 kjlubick@google.com Remove IWYU build logic from Bazel
2025-07-21
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-21 michaelludwig@google.com [graphite] Tighter bounds for
stroked [r]rects
2025-07-21 michaelludwig@google.com [graphite] Check for scissor before
converting to clear/discard op
2025-07-21 michaelludwig@google.com [graphite] Fix paint_depends_on_dst
logic
2025-07-21 kjlubick@google.com Remove old Bazel docker files
2025-07-21 michaelludwig@google.com [graphite] Fix draw/clip contains
priority
2025-07-21
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-21 michaelludwig@google.com [graphite] Don't allow clip/draw
intersections to produce subpixel draws
2025-07-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from c8bd17b0ce68 to af70cb4dfd93 (3 revisions)
2025-07-21 lukasza@chromium.org [rust png] Verify `IHDR` dimensions
*before* constructing encoded info.
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC bwils@google.com ,jsimmons@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2025-07-22 02:25:37 +00:00
gaaclarke
f63b38f275
Replaces legacy licenses check with licenses_cpp ( #172486 )
...
Successful run example:
https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_license/35497/overview
The output of licenses_cpp was verified by comparing it's output with
`//flutter/tools/license_file_compare`. All copyrights from the old tool
exist in the new tool.
major differences:
1) runtime - 30s locally
1) macos compatibility
1) there are no more checked-in goldens, instead the log from the run is
used to audit
design doc:
https://docs.google.com/document/d/1TldHod_Ske3llv26l4eIyt64bg8TeDc7Jk7u9L7gnvM/edit?tab=t.0#heading=h.17wg41voij6q
work left:
1) delete old license checker
1) clean up the handling of licenses that exist across multiple comments
(boost license)
1) clean up the data directory so that whitespace between words is
ignored. (remove `\s+` usage)
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-22 00:43:09 +00:00
Matan Lurey
359b29382a
Omit w (widget tree), t (render tree) from flutter run --profile h ( #172506 )
...
Closes https://github.com/flutter/flutter/issues/91690 .
2025-07-22 00:41:09 +00:00
Matan Lurey
ffd1baa342
Refactor checks for --machine ( #172504 )
...
Was already fixed in https://github.com/flutter/flutter/pull/150138 , so
removes duplicate flag.
Already tested by existing test suite.
2025-07-22 00:41:08 +00:00
Ricardo Dalarme
f95c68ec14
feat(IconButton): add property to specify a states controller ( #169821 )
...
## Description
Enable specifying a custom statesController to the IconButton widget.
This increase consistency since other widgets expose this property as
well.
## Related Issues
- Closes https://github.com/flutter/flutter/issues/139372
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-07-22 00:33:25 +00:00
auto-submit[bot]
c5465e9eb7
Reverts "feat: start using the content aware hash for downloading artifacts ( #171927 )" ( #172505 )
...
<!-- start_original_pr_link -->
Reverts: flutter/flutter#171927
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Broke the tree, due to naughty tests but too
intensive to fix forward.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: jtmcdole
<!-- end_original_pr_author -->
<!-- start_reviewers -->
Reviewed By: {matanlurey, chingjun}
<!-- end_reviewers -->
<!-- start_revert_body -->
This change reverts the following previous change:
towards #171790
Use the content aware hash when downloading engine artifacts. These are
currently produced when changes to DEPs, engine/, or the release file
are changed in a not-seen-before way.
We can eventually remove `engine.version` being tracked in release
branches as an optimization.
`FLUTTER_PREBUILT_ENGINE_VERSION` will stay for overriding the
engine.version for testing. Though Cocoon does not need to actually set
it for framework only PRs anymore.
<!-- end_revert_body -->
Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-07-21 23:09:47 +00:00
Robert Ancell
407c051ec9
Render Flutter in its own EGL context ( #172330 )
...
This allows Flutter to render without any GTK windows present (required
for multi-window)
2025-07-21 21:59:37 +00:00
Kishan Rathore
89b7248437
Feat: Add momentary varient of CupertinoSlidingSegmentedControl ( #164262 )
...
This PR introduces a new boolean flag, `isMomentary`, to the
`CupertinoSlidingSegmentedControl` widget.
When `isMomentary` is set to `true`, the segmented control behaves like
a momentary switch. Selecting a segment triggers its associated action
(e.g., via `onValueChanged`), but the segment doesn't stay visually
selected after the interaction ends. The control visually returns to its
previous state or a default state (often no segment selected).
When `isMomentary` is `false` (the default behavior), the control
maintains the selection state visually, highlighting the last chosen
segment.
**Motivation**
Currently, `CupertinoSlidingSegmentedControl` always maintains a
selected state. There are use cases where developers might want to use
the segmented control purely for triggering actions without persisting a
visual selection state, similar to how a `UISegmentedControl` can be
configured on iOS with `isMomentary = true`. This provides more
flexibility and aligns the Flutter widget closer to its native
counterpart's capabilities.
For example, this could be useful for triggering sorting actions, view
changes, or other immediate operations where maintaining a persistent
"selected" state isn't desired or meaningful.
**Related Issues**
fixes : #164077
**Videos**
UISegmentedControl behaviour when `isMomentary` flag is set to true.
https://github.com/user-attachments/assets/84d00312-4530-4b7a-9696-142f60ad89c0
CupertinoSlidingSegmentedControl behaviour when `isMomentary` flag is
set to true.
https://github.com/user-attachments/assets/b308b4fa-e641-417a-a518-4e0908876eed
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-07-21 20:59:34 +00:00
engine-flutter-autoroll
989e196fec
Roll Packages from cb8fef62993f to 9c85e5e72e7b (10 revisions) ( #172479 )
...
cb8fef6299...9c85e5e72e
2025-07-21 engine-flutter-autoroll@skia.org Roll Flutter from
70a3c3cc935e to 70cdc0c933d6 (4 revisions) (flutter/packages#9658 )
2025-07-21 stuartmorgan@google.com [google_sign_in] Update to
GoogleSignIn-iOS 9 (flutter/packages#9655 )
2025-07-20 engine-flutter-autoroll@skia.org Roll Flutter from
440713c3b287 to 70a3c3cc935e (11 revisions) (flutter/packages#9653 )
2025-07-20 stuartmorgan@google.com Have Gemini ignore Flutter version
pin (flutter/packages#9647 )
2025-07-18 engine-flutter-autoroll@skia.org Roll Flutter from
9c626d9f9afa to 440713c3b287 (19 revisions) (flutter/packages#9646 )
2025-07-18 robert.odrowaz@leancode.pl [camera_avfoundation]
Implementation swift migration - part 8 (flutter/packages#9635 )
2025-07-17 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump com.android.tools.build:gradle from 8.9.0 to 8.11.1
in /packages/webview_flutter/webview_flutter_android/android
(flutter/packages#9609 )
2025-07-17 katelovett@google.com [two_dimensional_scrollables] Fix
missing leading cache extent for TableView (flutter/packages#9636 )
2025-07-17 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump com.android.tools.build:gradle from 8.9.0 to 8.11.1
in /packages/interactive_media_ads/android (flutter/packages#9623 )
2025-07-17 10687576+bparrishMines@users.noreply.github.com [pigeon] Adds
overrides for constructors and static members of ProxyApis
(flutter/packages#9515 )
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-flutter-autoroll
Please CC flutter-ecosystem@google.com 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
2025-07-21 19:21:08 +00:00
Matan Lurey
852760424a
Wrap ShutdownHook calls to avoid crashing the tool ( #171917 )
...
Closes https://github.com/flutter/flutter/issues/57351 .
2025-07-21 18:41:08 +00:00
p1318k
b2a6cdb520
fix: macOS Mojave Crash on Flutter Desktop Startup ( #172282 )
...
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->
Overview
This PR fixes a crash that occurs when launching Flutter desktop
applications on macOS Mojave (10.14).
Changes Made
• Added conditional checks to ensure the code using the
`hasUnifiedMemory` API only runs on macOS 10.15 or later, since
`hasUnifiedMemory` is only supported starting from macOS 10.15.
• Ensured that the fix maintains compatibility with newer macOS versions
without affecting existing functionality.
Testing
• Verified that Flutter desktop apps launch and run normally on both
macOS Mojave and later macOS versions.
• Confirmed no side effects by running default Flutter desktop sample
apps.
Additional Notes
•
https://developer.apple.com/documentation/metal/mtldevice/hasunifiedmemory
This PR aims to improve the stability of Flutter desktop applications on
macOS Mojave.
Thank you for your review and consideration.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Co-authored-by: Kim Ki Cheol <kim.kicheol@sk.com>
2025-07-21 18:18:26 +00:00
engine-flutter-autoroll
1b293a8814
Roll Skia from 9587301e33bc to 4aba494b8108 (41 revisions) ( #172471 )
...
Roll Skia from 9587301e33bc to 4aba494b8108 (41 revisions)
https://skia.googlesource.com/skia.git/+log/9587301e33bc..4aba494b8108
2025-07-21 mike@reedtribe.org Change matrix::invert to return optional
2025-07-21 kjlubick@google.com Manually Roll Dawn from 81e90f7fd7f3 to
f286693b70bd
2025-07-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 6a04a50f98ca to faf1bb4b3e72 (3 revisions)
2025-07-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 382fe7d5f3d0 to 4a7db687eea1 (6 revisions)
2025-07-21
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 827e0dba01ad to c8bd17b0ce68 (3 revisions)
2025-07-21 msta@google.com Fix missing include for atoi call
2025-07-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 62162b8f056a to 827e0dba01ad (1 revision)
2025-07-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from e6d6f02f4e9a to 62162b8f056a (3 revisions)
2025-07-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 5b38fae98a66 to e6d6f02f4e9a (7 revisions)
2025-07-18
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-18 mike@reedtribe.org add gm to excercise matrix-order
correctness in scalercontext
2025-07-18 vigneshv@google.com SkCrabbyAvifCodec: Compute profile for PQ
and HLG images
2025-07-18 mike@reedtribe.org Return computed matrices by value,
allowing const and temp values
2025-07-18 michaelludwig@google.com [graphite] Unify clear/discard load
op handling inside drawGeometry
2025-07-18 bungeman@google.com [pdf] Fix zero extended glyph to code
point maps
2025-07-18 mike@reedtribe.org Use optional version of
SkPath::ReadFromMemory
2025-07-18 kjlubick@google.com Fix permissions on Docker build scripts
2025-07-18
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from ff48a069ed93 to 5b38fae98a66 (6 revisions)
2025-07-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ed15cbd416d8 to 6a04a50f98ca (6 revisions)
2025-07-18 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 1198e6ff0d0c to 382fe7d5f3d0 (6 revisions)
2025-07-18
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-18
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-17 thomsmit@google.com [graphite] Update trace to new DenseBiMap
2025-07-17
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-17 kjlubick@google.com Build debugger/jsfiddle/shaders directly
with Docker
2025-07-17 jlavrova@google.com Update dependency on abseil (for Dawn)
2025-07-17 thomsmit@google.com [graphite] Dynamic Samplers
2025-07-17 vigneshv@google.com SkCodec: Support RGBA_1010102 in
initializeColorXform
2025-07-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 286b9f0629a4 to ff48a069ed93 (2 revisions)
2025-07-17 kjlubick@google.com Fix canvaskit build after update to
emscripten 4.0.7
2025-07-17 mike@reedtribe.org Use pathbuilder or path-factories
2025-07-17 thomsmit@google.com Allow fallback to SWPathRenderer for high
verb counts
2025-07-17 michaelludwig@google.com Revert "[graphite] Snap scissor
rects to 4px boundaries"
2025-07-17 kjlubick@google.com Remove code guarded by
SK_DISABLE_LEGACY_NONRECORDER_IMAGE_APIS
2025-07-17 robertphillips@google.com [graphite] Add a stub for Android's
RuntimeEffectManager
2025-07-17 michaelludwig@google.com [graphite] Increase area required
for inner fill
2025-07-17 kjlubick@google.com Remove copy-pasta from make_image_tag.sh
2025-07-17 michaelludwig@google.com [graphite] Only add RenderStep
coverage SkSL if step reports coverage
2025-07-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 890b5d8fa298 to ed15cbd416d8 (2 revisions)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC bwils@google.com ,jsimmons@google.com,kjlubick@google.com on
the revert to ensure that a human
...
2025-07-21 17:57:12 +00:00
stuartmorgan-g
0fdde5a2b0
Add CLA note to tree hygiene ( #172475 )
...
Adds a note about the CLA to the steps to contributing code to Flutter,
including suggested language for how this applies to use of generative
tools.
2025-07-21 17:53:10 +00:00
Valentin Vignal
257b4f524b
Add radioInnerRadius to RadioListTile ( #171851 )
...
Part of https://github.com/flutter/flutter/issues/168787
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-21 17:49:21 +00:00
Srujan Gaddam
932cb033e6
Use baseUri always when doing a hot reload or hot restart ( #172271 )
...
We already use the baseUri when computing hot reload sources metadata as
it can never be null. The member is changed to be non-nullable to
reflect that.
To be consistent, we also use the baseUri (full url) for a hot restart
when running with the DDC library bundle format.
Related PR: https://github.com/dart-lang/webdev/pull/2650
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-07-21 17:40:57 +00:00
John "codefu" McDole
40992ec4f8
feat: start using the content aware hash for downloading artifacts ( #171927 )
...
towards #171790
Use the content aware hash when downloading engine artifacts. These are
currently produced when changes to DEPs, engine/, or the release file
are changed in a not-seen-before way.
We can eventually remove `engine.version` being tracked in release
branches as an optimization.
`FLUTTER_PREBUILT_ENGINE_VERSION` will stay for overriding the
engine.version for testing. Though Cocoon does not need to actually set
it for framework only PRs anymore.
2025-07-21 17:41:44 +00:00
Matan Lurey
80f4a0f251
Add support for /? to alias to --help ( #172328 )
...
Closes https://github.com/flutter/flutter/issues/70616 .
2025-07-21 17:20:08 +00:00
Jason Simmons
99b69feaca
Upgrade flutter_lints in project template pubspec.yaml files ( #172400 )
...
The version of flutter_lints used by newly created projects should match
the version used by flutter_tools. This ensures that "pub get --offline"
will work on a project that was generated by "flutter create".
Also restore the Mac tool_tests_commands that were temporarily disabled
in https://github.com/flutter/flutter/pull/172388
Fixes https://github.com/flutter/flutter/issues/172375
2025-07-21 17:11:59 +00:00
Matan Lurey
7b99061e06
Use $dartSdkVersion when creating "dummy" pubspec for create_api_docs ( #172327 )
...
Closes https://github.com/flutter/flutter/issues/70239 .
/cc @ievdokdm
2025-07-21 17:09:18 +00:00
Matan Lurey
8667c183af
Adds (defaults to ___) when using flutter config --help ( #172329 )
...
Closes https://github.com/flutter/flutter/issues/81665 .
2025-07-21 17:09:17 +00:00
Matan Lurey
5ed913b2db
Add a warning on usage of dartPluginClass: 'none'. ( #172315 )
...
Towards https://github.com/flutter/flutter/issues/57497 .
Supersedes https://github.com/flutter/flutter/pull/171922 based on
@stuartmorgan-g's advice for a warning release.
I'll CP this into `3.35` (beta) so that we can clean it up on `master`
anytime.
2025-07-21 17:08:51 +00:00
Matan Lurey
599ed5252e
Skip [tool] crash reporting on --local-engine ( #172326 )
...
Closes https://github.com/flutter/flutter/issues/70238 .
2025-07-21 17:08:51 +00:00
Matan Lurey
1c1f234b87
Remove IDE validation from flutter doctor ( #171924 )
...
Closes https://github.com/flutter/flutter/issues/61246 .
I open to doing this behind a flag, but given we decided already 5 years
ago to do this, I'm leaning limiting this to an announcement
(`flutter-announce@`) and just landing this cleanup.
Open to suggestions.
2025-07-21 17:08:50 +00:00
Rusino
70cdc0c933
WebParagraph initial commit ( #167559 )
...
This is the current (initial) state of WebParagraph project which is an
implementation of SkParagraph
on top of TextCluster
(https://github.com/fserb/canvas2D/blob/master/spec/enhanced-textmetrics.md ).
Multilined text, mixed LTR/RTL text supported.
---------
Co-authored-by: Mouad Debbar <mdebbar@google.com>
2025-07-21 16:09:22 +00:00
engine-flutter-autoroll
73f5ee844e
Roll Dart SDK from a821b47e7a4d to da9e0299c120 (1 revision) ( #172457 )
...
https://dart.googlesource.com/sdk.git/+log/a821b47e7a4d..da9e0299c120
2025-07-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.10.0-15.0.dev
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com ,jsimmons@google.com 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
2025-07-21 14:54:33 +00:00
Kaylee Lubick
140b67fbb2
[skia] Update call to SkImage::makeSubset ( #172456 )
...
In https://skia-review.googlesource.com/c/skia/+/1021216 , Skia removed
some legacy APIs. There was one usage still in Flutter and this fixes
that.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-21 14:49:14 +00:00
engine-flutter-autoroll
1cd101d578
Roll Fuchsia Linux SDK from 8MyOdk7FEK-MqkzIF... to a_55b5hqpRnigzuNC... ( #172439 )
...
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jsimmons@google.com ,zra@google.com 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
2025-07-21 02:06:10 +00:00
Musaddiq Ahmed Khan
70a3c3cc93
Add optional splashColor property to ExpansionTile ( #172224 )
...
This PR adds support for customizing the `splashColor` in the
`ExpansionTile` widget.
Currently, ExpansionTile uses the theme’s default splash color without
allowing overrides.
This change introduces a new optional splashColor parameter so
developers can better control the ripple effect color when the tile is
tapped.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
---------
Co-authored-by: Victor Sanni <victorsanniay@gmail.com>
2025-07-20 02:13:21 +00:00
engine-flutter-autoroll
fa5d6aac56
Roll Fuchsia Linux SDK from 6agRTm-nf09sDmfQG... to 8MyOdk7FEK-MqkzIF... ( #172420 )
...
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jsimmons@google.com ,zra@google.com 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
2025-07-20 00:03:36 +00:00
engine-flutter-autoroll
4b5a936761
Roll Dart SDK from ca7224f7dfd7 to a821b47e7a4d (1 revision) ( #172407 )
...
https://dart.googlesource.com/sdk.git/+log/ca7224f7dfd7..a821b47e7a4d
2025-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.10.0-14.0.dev
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com ,jsimmons@google.com 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
2025-07-19 08:19:39 +00:00
engine-flutter-autoroll
9eb13ff1d4
Roll Dart SDK from 9982ab49440a to ca7224f7dfd7 (2 revisions) ( #172401 )
...
https://dart.googlesource.com/sdk.git/+log/9982ab49440a..ca7224f7dfd7
2025-07-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.10.0-13.0.dev
2025-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.10.0-12.0.dev
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com ,jsimmons@google.com 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
2025-07-19 03:10:33 +00:00
John "codefu" McDole
107997effa
fix: produce pom/jar files with content_hash ( #172378 )
...
fixes : #172259
The contents of the files (pom, .jar) produced by android also reference
the artifacts version number (which includes the git-hash). The flutter
recipies are just dumb re-uploaders for the content hash at the moment.
In order to change the contents, we can just update some GN files. This
has some local duplication of files, but is acceptible for now.
I've also added the content-hash as a string in the .so file and its
printed out next to the hash.
"Why is the folder name the git-hash?"
The recipies have a quirk - the logs will have you believe they upload
individual files such that "gsutil cp a.jar b.jar" would produce
"b.jar"; but that's not what's going on. The recipies recurisively
upload from the root of the temporary folder the files are copied to. At
the moment, the "Ensure" step of builder.py updates the URL path, so it
will handling uploading to the correct path, but not the file or its
contents (hence this change).
Plan for the future: at some point we can stop producing git-ref hashes.
E.g.
git-hash: dfd7318efc71019bce1665bc41c0e8c21d1344f9 content-hash:
3bfa6013b7be2b0bbadc22a9c3495d4efa46aba7
```shell
zip_archives
└── download.flutter.io
└── io
└── flutter
├── arm64_v8a_debug
│ └── 1.0.0-dfd7318efc71019bce1665bc41c0e8c21d1344f9
│ ├── arm64_v8a_debug-1.0.0-3bfa6013b7be2b0bbadc22a9c3495d4efa46aba7.jar
│ ├── arm64_v8a_debug-1.0.0-3bfa6013b7be2b0bbadc22a9c3495d4efa46aba7.pom
│ ├── arm64_v8a_debug-1.0.0-dfd7318efc71019bce1665bc41c0e8c21d1344f9.jar
│ └── arm64_v8a_debug-1.0.0-dfd7318efc71019bce1665bc41c0e8c21d1344f9.pom
└── flutter_embedding_debug
└── 1.0.0-dfd7318efc71019bce1665bc41c0e8c21d1344f9
├── flutter_embedding_debug-1.0.0-3bfa6013b7be2b0bbadc22a9c3495d4efa46aba7-sources.jar
├── flutter_embedding_debug-1.0.0-3bfa6013b7be2b0bbadc22a9c3495d4efa46aba7.jar
├── flutter_embedding_debug-1.0.0-3bfa6013b7be2b0bbadc22a9c3495d4efa46aba7.pom
├── flutter_embedding_debug-1.0.0-dfd7318efc71019bce1665bc41c0e8c21d1344f9-sources.jar
├── flutter_embedding_debug-1.0.0-dfd7318efc71019bce1665bc41c0e8c21d1344f9.jar
└── flutter_embedding_debug-1.0.0-dfd7318efc71019bce1665bc41c0e8c21d1344f9.pom
```
2025-07-19 01:35:59 +00:00
engine-flutter-autoroll
2de480caac
Roll Dart SDK from fe2232bd5b9f to 9982ab49440a (2 revisions) ( #172393 )
...
https://dart.googlesource.com/sdk.git/+log/fe2232bd5b9f..9982ab49440a
2025-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.10.0-11.0.dev
2025-07-18 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.10.0-10.0.dev
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com ,jsimmons@google.com 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
2025-07-18 21:57:07 +00:00
engine-flutter-autoroll
ff45dd43b9
Roll Fuchsia Linux SDK from HXdm7P0a4ZJVm_TE-... to 6agRTm-nf09sDmfQG... ( #172392 )
...
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jsimmons@google.com ,zra@google.com 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
2025-07-18 21:55:08 +00:00
Harkirat Singh [SSW]
50bae580d4
Adopt Null-Aware Elements in packages/flutter/lib/src/material ( #172285 )
...
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->
This pr aims to complete #172188 by refactoring all files in
`packages/flutter/lib/src/material` to adopt Dart 3.8's null-aware
elements feature. Each file was refactored in its own commit for clear,
incremental changes and traceable history.
### Motivation
Following the
https://github.com/flutter/flutter/issues/172188#issuecomment-3076061395 ,
this PR is intentionally scoped to a single folder to keep the review
surface manageable. Migrating package by package enables more focused
code review, easier troubleshooting, and a safer incremental adoption of
the new language feature.
### Approach
- **Scope:** Only files under `packages/flutter/lib/src/material` have
been refactored.
- **Commits:** Each file refactored in its own commit for granularity
and traceability.
- **Code style:** Changed list element conditionals to use null-aware
elements where applicable, improving readability and reducing verbosity.
### Testing
- All existing tests were run after each change.
- All tests passed except for `chip_test.dart`, which was already
failing before these changes and continues to fail after. No new test
failures were introduced by this PR.
### Additional Notes
- No functional or behavioral changes were made; this is a pure refactor
for code clarity and modernization.
- Adhering to the incremental migration strategy proposed in the
referenced issue for safer and more effective review.
---
Ready for review! 🚀
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-18 20:00:09 +00:00
Loïc Sharma
8a12504a84
Recommend using Flutter feature flags over platform-specific configs ( #172324 )
...
See: https://github.com/flutter/flutter/issues/172183
2025-07-18 19:58:23 +00:00