From c6f61e6a1d6e077bb608f8a99ec248c59f576641 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Fri, 10 Oct 2025 11:09:38 +1300 Subject: [PATCH] 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 729a213ef1..3242bd47a7 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 0000000000..116ea2d3d5 --- /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 +