From c6f61e6a1d6e077bb608f8a99ec248c59f576641 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Fri, 10 Oct 2025 11:09:38 +1300 Subject: [PATCH 1/2] Add Flutter Linux merged threads migration annoucement Raise awareness that Flutter FIXME:RELEASED_VERSION 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. --- src/content/release/breaking-changes/index.md | 2 + .../breaking-changes/linux-merged-threads.md | 50 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/content/release/breaking-changes/linux-merged-threads.md diff --git a/src/content/release/breaking-changes/index.md b/src/content/release/breaking-changes/index.md index 729a213ef17..3242bd47a7d 100644 --- a/src/content/release/breaking-changes/index.md +++ b/src/content/release/breaking-changes/index.md @@ -50,6 +50,7 @@ They're sorted by release and listed in alphabetical order: * [`$FLUTTER_ROOT/version` replaced by `$FLUTTER_ROOT/bin/cache/flutter.version.json`][] * [SnackBar with action no longer auto-dismisses][] * [Deprecate `SemanticsProperties.focusable` and `SemanticsConfiguration.isFocusable`][] +* [Merged threads on Linux][] [Deprecate `OverlayPortal.targetsRootOverlay`]: /release/breaking-changes/deprecate-overlay-portal-targets-root [Deprecate `TextField.canRequestFocus`]: /release/breaking-changes/can-request-focus @@ -59,6 +60,7 @@ They're sorted by release and listed in alphabetical order: [`$FLUTTER_ROOT/version` replaced by `$FLUTTER_ROOT/bin/cache/flutter.version.json`]: /release/breaking-changes/flutter-root-version-file [SnackBar with action no longer auto-dismisses]: /release/breaking-changes/snackbar-with-action-behavior-update [Deprecate `SemanticsProperties.focusable` and `SemanticsConfiguration.isFocusable`]: /release/breaking-changes/deprecate-focusable +[Merged threads on Linux]: /release/breaking-changes/linux-merged-threads ### Released in Flutter 3.35 diff --git a/src/content/release/breaking-changes/linux-merged-threads.md b/src/content/release/breaking-changes/linux-merged-threads.md new file mode 100644 index 00000000000..116ea2d3d55 --- /dev/null +++ b/src/content/release/breaking-changes/linux-merged-threads.md @@ -0,0 +1,50 @@ +--- +title: Merged threads on Linux +description: >- + Learn about threading changes on Linux in Flutter FIXME:RELEASE_VERSION +--- + +## Summary + +Flutter FIXME:RELEASE_VERSION merges the UI and platform threads by default on Linux. + +## Context + +Originally, Flutter had separate threads to produce UI frames and to +interact with the native platform. + +The split-thread design prevented Flutter apps and plugins from using Dart FFI +to interoperate with native APIs that must be called on the platform thread. + +## Description of change + +Flutter FIXME:Next version merges the UI and platform threads by default on Linux. + +This mirrors all the other platforms, whose threads were merged by default in +Flutter 3.29 (iOS and Android) and 3.35 (macOS and Windows). + +## Migration guide + +Merged threads should not affect your app. + +If you suspect merged threads has regressed your app, please reach out on +[Issue 150525][]. + +## Timeline + +Landed in version: FIXME:LANDED_VERSION
+In stable release: FIXME:RELEASE_VERSION + +## References + +Relevant issue: + +* [Issue 150525][] + +Relevant PRs: + +* [PR 176759][] + +[Issue 150525]: {{site.repo.flutter}}/issues/150525 +[PR 176759]: {{site.repo.flutter}}/pull/176759 + From 2ddf2a2b180ddeaac85e4064d4b02f42a41efdd4 Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Sun, 16 Nov 2025 11:19:18 -0600 Subject: [PATCH 2/2] Replace version placeholders --- .../breaking-changes/linux-merged-threads.md | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/content/release/breaking-changes/linux-merged-threads.md b/src/content/release/breaking-changes/linux-merged-threads.md index 116ea2d3d55..d3fa8956bfc 100644 --- a/src/content/release/breaking-changes/linux-merged-threads.md +++ b/src/content/release/breaking-changes/linux-merged-threads.md @@ -1,39 +1,39 @@ --- title: Merged threads on Linux description: >- - Learn about threading changes on Linux in Flutter FIXME:RELEASE_VERSION + Learn about the threading changes on Linux in Flutter 3.39. --- ## Summary -Flutter FIXME:RELEASE_VERSION merges the UI and platform threads by default on Linux. +Flutter 3.39 merges the UI and platform threads by default on Linux. ## Context -Originally, Flutter had separate threads to produce UI frames and to -interact with the native platform. +Originally, Flutter had separate threads to produce UI frames and +to interact with the native platform. The split-thread design prevented Flutter apps and plugins from using Dart FFI to interoperate with native APIs that must be called on the platform thread. ## Description of change -Flutter FIXME:Next version merges the UI and platform threads by default on Linux. +Flutter version 3.39 merges the UI and platform threads by default on Linux. This mirrors all the other platforms, whose threads were merged by default in Flutter 3.29 (iOS and Android) and 3.35 (macOS and Windows). ## Migration guide -Merged threads should not affect your app. +Merged threads shouldn't affect your app. -If you suspect merged threads has regressed your app, please reach out on -[Issue 150525][]. +If you suspect merged threads have caused regressions to your app, +please reach out on [Issue 150525][]. ## Timeline -Landed in version: FIXME:LANDED_VERSION
-In stable release: FIXME:RELEASE_VERSION +Landed in version: 3.39.0-0.1.pre
+In stable release: Not yet ## References @@ -47,4 +47,3 @@ Relevant PRs: [Issue 150525]: {{site.repo.flutter}}/issues/150525 [PR 176759]: {{site.repo.flutter}}/pull/176759 -