Skip to content

Commit d03a073

Browse files
Add Flutter Linux merged threads migration announcement (#12534)
Raise awareness that Flutter 3.39/3.41 merged the UI/platform threads on Linux. This is a significant internal change that _might_ break apps. If so, we'd like customers to reach out to us on GitHub so that we can fix bugs, if any. --------- Co-authored-by: Parker Lougheed <parlough@gmail.com>
1 parent 252203a commit d03a073

File tree

2 files changed

+55
-4
lines changed

2 files changed

+55
-4
lines changed

src/content/release/breaking-changes/index.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,18 @@ They're sorted by release and listed in alphabetical order:
3636

3737
### Not yet released to stable
3838

39-
* [`FontWeight` also controls the weight attribute of variable fonts][]
39+
* [Merged threads on Linux][]
40+
* [Stop generating `AssetManifest.json`][]
4041
* [UISceneDelegate adoption][]
4142
* [`$FLUTTER_ROOT/version` replaced by `$FLUTTER_ROOT/bin/cache/flutter.version.json`][]
42-
* [Stop generating `AssetManifest.json`][]
43+
* [`FontWeight` also controls the weight attribute of variable fonts][]
4344
* [Deprecate `TextField.canRequestFocus`][]
4445

45-
[`FontWeight` also controls the weight attribute of variable fonts]: /release/breaking-changes/font-weight-variation
46-
[UISceneDelegate adoption]: /release/breaking-changes/uiscenedelegate
46+
[Merged threads on Linux]: /release/breaking-changes/linux-merged-threads
4747
[Stop generating `AssetManifest.json`]: /release/breaking-changes/asset-manifest-dot-json
48+
[UISceneDelegate adoption]: /release/breaking-changes/uiscenedelegate
4849
[`$FLUTTER_ROOT/version` replaced by `$FLUTTER_ROOT/bin/cache/flutter.version.json`]: /release/breaking-changes/flutter-root-version-file
50+
[`FontWeight` also controls the weight attribute of variable fonts]: /release/breaking-changes/font-weight-variation
4951
[Deprecate `TextField.canRequestFocus`]: /release/breaking-changes/can-request-focus
5052

5153
<a id="released-in-flutter-338" aria-hidden="true"></a>
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Merged threads on Linux
3+
description: >-
4+
Learn about the threading changes on Linux in Flutter 3.39.
5+
---
6+
7+
## Summary
8+
9+
Flutter 3.39 merges the UI and platform threads by default on Linux.
10+
11+
## Context
12+
13+
Originally, Flutter had separate threads to produce UI frames and
14+
to interact with the native platform.
15+
16+
The split-thread design prevented Flutter apps and plugins from using Dart FFI
17+
to interoperate with native APIs that must be called on the platform thread.
18+
19+
## Description of change
20+
21+
Flutter version 3.39 merges the UI and platform threads by default on Linux.
22+
23+
This mirrors all the other platforms, whose threads were merged by default in
24+
Flutter 3.29 (iOS and Android) and 3.35 (macOS and Windows).
25+
26+
## Migration guide
27+
28+
Merged threads shouldn't affect your app.
29+
30+
If you suspect merged threads have caused regressions to your app,
31+
please reach out on [Issue 150525][].
32+
33+
## Timeline
34+
35+
Landed in version: 3.39.0-0.1.pre<br>
36+
In stable release: Not yet
37+
38+
## References
39+
40+
Relevant issue:
41+
42+
* [Issue 150525][]
43+
44+
Relevant PRs:
45+
46+
* [PR 176759][]
47+
48+
[Issue 150525]: {{site.repo.flutter}}/issues/150525
49+
[PR 176759]: {{site.repo.flutter}}/pull/176759

0 commit comments

Comments
 (0)