-
Notifications
You must be signed in to change notification settings - Fork 27.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
☂️ Raise minimum macOS version from 10.13 to 10.14 for Flutter Desktop apps #114445
Closed
9 tasks done
Labels
a: desktop
Running on desktop
c: proposal
A detailed proposal for a change to Flutter
P3
Issues that are less important to the Flutter project
platform-mac
Building on or for macOS specifically
tool
Affects the "flutter" command-line tool. See also t: labels.
Comments
This one is also post-stable, since our policy is to support |
danagbemava-nc
added
in triage
Presently being triaged by the triage team
tool
Affects the "flutter" command-line tool. See also t: labels.
platform-mac
Building on or for macOS specifically
c: proposal
A detailed proposal for a change to Flutter
a: desktop
Running on desktop
and removed
in triage
Presently being triaged by the triage team
labels
Nov 2, 2022
Merged the two items into one. |
8 tasks
cbracken
added a commit
that referenced
this issue
Nov 7, 2022
Increases the minimum macOS deployment target from macOS 10.13 (High Sierra) to 10.14 (Mojave) in the macOS app templates. Includes: * Update migration for macOS 10.11 apps to upgrade to 10.14 * Adds migration for macOS 10.13 apps to upgrade to 10.14 * Apply migration to all examples, and integration tests This does not increase version in the plugin templates since those will need to wait until the 10.14 framework rolls to stable channel, so new plugins can build with apps created with `flutter create` on stable channel. Issue: #114445 See RFC: http://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 See previous patch: #107689
cbracken
added a commit
to cbracken/flutter_buildroot
that referenced
this issue
Nov 7, 2022
Increases the minimum macOS SDK and the macOS deployment target from 10.13 to 10.14. Also enables aligned allocations on macOS. We previously set `-fno-aligned-allocation` on macOS since it was unsupported for arm64 prior to macOS 10.14. Issue: flutter/flutter#114445
8 tasks
cbracken
added a commit
to flutter/buildroot
that referenced
this issue
Nov 7, 2022
Increases the minimum macOS SDK and the macOS deployment target from 10.13 to 10.14. Also enables aligned allocations on macOS. We previously set `-fno-aligned-allocation` on macOS since it was unsupported for arm64 prior to macOS 10.14. Issue: flutter/flutter#114445
8 tasks
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 7, 2022
Includes: * Increase minimum macOS SDK from 10.13 to 10.14 (flutter/buildroot#648) Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 8, 2022
In flutter/buildroot#648 (rolled to the engine in flutter#37380) the minimum macOS SDK was bumped from 10.13 to 10.14. As of macOS 10.14, Metal is available for all users. This eliminates the macOS OpenGL rendering support code. Note that this only removes the GL-specific code in the embedder. A followup patch will land refactorings to clean up the remaining code, for example, cases where a parent interface exists only because we had both a GL and a Metal implementation. This is being does in two patches in order to keep review clear and simple and to simplify rebases of any outstanding patches that also touches this code. Issue: flutter/flutter#114445
8 tasks
knopp
pushed a commit
to flutter/engine
that referenced
this issue
Nov 9, 2022
In flutter/buildroot#648 (rolled to the engine in #37380) the minimum macOS SDK was bumped from 10.13 to 10.14. As of macOS 10.14, Metal is available for all users. This eliminates the macOS OpenGL rendering support code. Note that this only removes the GL-specific code in the embedder. A followup patch will land refactorings to clean up the remaining code, for example, cases where a parent interface exists only because we had both a GL and a Metal implementation. This is being does in two patches in order to keep review clear and simple and to simplify rebases of any outstanding patches that also touches this code. Issue: flutter/flutter#114445
naudzghebre
pushed a commit
to naudzghebre/engine
that referenced
this issue
Nov 9, 2022
In flutter/buildroot#648 (rolled to the engine in flutter#37380) the minimum macOS SDK was bumped from 10.13 to 10.14. As of macOS 10.14, Metal is available for all users. This eliminates the macOS OpenGL rendering support code. Note that this only removes the GL-specific code in the embedder. A followup patch will land refactorings to clean up the remaining code, for example, cases where a parent interface exists only because we had both a GL and a Metal implementation. This is being does in two patches in order to keep review clear and simple and to simplify rebases of any outstanding patches that also touches this code. Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 10, 2022
Now that the macOS embedders have all been updated to use a minimum macOS SDK of 10.14, eliminate the remaining @available checks dependent on that version. Issue: flutter/flutter#114445
8 tasks
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 10, 2022
Now that the macOS embedders have all been updated to use a minimum macOS SDK of 10.14, eliminate the remaining @available checks dependent on that version. Issue: flutter/flutter#114445
auto-submit bot
pushed a commit
to flutter/engine
that referenced
this issue
Nov 10, 2022
Now that the macOS embedders have all been updated to use a minimum macOS SDK of 10.14, eliminate the remaining @available checks dependent on that version. Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 10, 2022
Eliminates an undef of VK_USE_PLATFORM_METAL_EXT that works around some unguarded `@available` checks for macOS 10.13. Our minimum macOS SDK is now macOS 10.14 so we can safely assume Metal support since it's a requirement for macOS 10.14. Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 10, 2022
Eliminates an undef of VK_USE_PLATFORM_METAL_EXT that works around some unguarded `@available` checks for macOS 10.13. Our minimum macOS SDK is now macOS 10.14 so we can safely assume Metal support since it's a requirement for macOS 10.14. Issue: flutter/flutter#114445
8 tasks
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 15, 2022
Now that OpenGL support in Flutter on macOS has been removed, the only FlutterCompositor implementation is the Metal-based compositor. This patch merges it into the FlutterCompositor base class since there's no longer any reason to keep the interface separate from its implementation. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 17, 2022
Previously, external textures were modelled in the macOS embedder by a top-level FlutterMacOSExternalTexture protocol with a single textureID getter, and two implementations: FlutterExternalTextureGL and FlutterExternalTextureMetal. With the removal of OpenGL support from the macOS embedder, the only remaining external texture implementation is Metal. This patch squashes this set of types into a single FlutterExternalTexture class. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 17, 2022
Previously, external textures were modelled in the macOS embedder by a top-level FlutterMacOSExternalTexture protocol with a single textureID getter, and two implementations: FlutterExternalTextureGL and FlutterExternalTextureMetal. With the removal of OpenGL support from the macOS embedder, the only remaining external texture implementation is Metal. This patch squashes this set of types into a single FlutterExternalTexture class. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 17, 2022
Previously, FlutterSurfaceManager was a protocol with two concrete implementations: FlutterGLSurfaceManager and FlutterMetalSurfaceManager. Most of the implementation was in a shared superclass, FlutterIOSurfaceManager, which called into the OpenGL or Metal-specific subclass when backend-specific operations (such as allocating textures) was required. It did so via a delegate pattern, wherein the subclasses both implemented the FlutterIOSurfaceManagerDelegate protocol that exposed the backend-specific functionality. Now that only the Metal implementation remains, the delegate code can be inlined into the calling functions, and the class hierarchy can be squashed into a single concrete implementation class, FlutterSurfaceManager, similar to how it was originally implemented in flutter#21525 before we had two backends. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
cbracken
added a commit
to flutter/engine
that referenced
this issue
Nov 17, 2022
Previously, external textures were modelled in the macOS embedder by a top-level FlutterMacOSExternalTexture protocol with a single textureID getter, and two implementations: FlutterExternalTextureGL and FlutterExternalTextureMetal. With the removal of OpenGL support from the macOS embedder, the only remaining external texture implementation is Metal. This patch squashes this set of types into a single FlutterExternalTexture class. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
cbracken
added a commit
to flutter/engine
that referenced
this issue
Nov 17, 2022
Previously, FlutterSurfaceManager was a protocol with two concrete implementations: FlutterGLSurfaceManager and FlutterMetalSurfaceManager. Most of the implementation was in a shared superclass, FlutterIOSurfaceManager, which called into the OpenGL or Metal-specific subclass when backend-specific operations (such as allocating textures) was required. It did so via a delegate pattern, wherein the subclasses both implemented the FlutterIOSurfaceManagerDelegate protocol that exposed the backend-specific functionality. Now that only the Metal implementation remains, the delegate code can be inlined into the calling functions, and the class hierarchy can be squashed into a single concrete implementation class, FlutterSurfaceManager, similar to how it was originally implemented in #21525 before we had two backends. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 17, 2022
Eliminates an undef of VK_USE_PLATFORM_METAL_EXT that works around some unguarded `@available` checks for macOS 10.13. Our minimum macOS SDK is now macOS 10.14 so we can safely assume Metal support since it's a requirement for macOS 10.14. Issue: flutter/flutter#114445
cbracken
added a commit
to flutter/engine
that referenced
this issue
Nov 17, 2022
Eliminates an undef of VK_USE_PLATFORM_METAL_EXT that works around some unguarded `@available` checks for macOS 10.13. Our minimum macOS SDK is now macOS 10.14 so we can safely assume Metal support since it's a requirement for macOS 10.14. Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 17, 2022
Now that OpenGL support has been removed from the macOS embedder, we merge FlutterRenderBackingStore and its only implementing subclass, FlutterMetalRenderBackingStore, and similarly FlutterRenderBackingStoreProvider and its only implementing subclass FlutterMetalRenderBackingStoreProvider. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
8 tasks
cbracken
added a commit
to cbracken/flutter_engine
that referenced
this issue
Nov 18, 2022
Removes a few unncessary references to Metal in the macOS embedder. Now that Metal is the only supported rendering implementation for the macOS embedder, specifying a class as a Metal variant is redundant. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
8 tasks
cbracken
added a commit
to flutter/engine
that referenced
this issue
Nov 18, 2022
Now that OpenGL support has been removed from the macOS embedder, we merge FlutterRenderBackingStore and its only implementing subclass, FlutterMetalRenderBackingStore, and similarly FlutterRenderBackingStoreProvider and its only implementing subclass FlutterMetalRenderBackingStoreProvider. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
cbracken
added a commit
to flutter/engine
that referenced
this issue
Nov 18, 2022
Removes a few unncessary references to Metal in the macOS embedder. Now that Metal is the only supported rendering implementation for the macOS embedder, specifying a class as a Metal variant is redundant. Issue: flutter/flutter#108304 Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_website
that referenced
this issue
Nov 21, 2022
Flutter 3.3 is the last stable release to support macOS 10.11 through 10.13. As of the next stable release, the minimum supported version of macOS will be 10.14 (Mojave). RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 Issue: flutter/flutter#114445
3 tasks
cbracken
added a commit
to flutter/website
that referenced
this issue
Nov 21, 2022
Flutter 3.3 is the last stable release to support macOS 10.11 through 10.13. As of the next stable release, the minimum supported version of macOS will be 10.14 (Mojave). RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 Issue: flutter/flutter#114445
shogohida
pushed a commit
to shogohida/flutter
that referenced
this issue
Dec 7, 2022
…#114713) Increases the minimum macOS deployment target from macOS 10.13 (High Sierra) to 10.14 (Mojave) in the macOS app templates. Includes: * Update migration for macOS 10.11 apps to upgrade to 10.14 * Adds migration for macOS 10.13 apps to upgrade to 10.14 * Apply migration to all examples, and integration tests This does not increase version in the plugin templates since those will need to wait until the 10.14 framework rolls to stable channel, so new plugins can build with apps created with `flutter create` on stable channel. Issue: flutter#114445 See RFC: http://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 See previous patch: flutter#107689
gspencergoog
pushed a commit
to gspencergoog/flutter
that referenced
this issue
Jan 19, 2023
…#114713) Increases the minimum macOS deployment target from macOS 10.13 (High Sierra) to 10.14 (Mojave) in the macOS app templates. Includes: * Update migration for macOS 10.11 apps to upgrade to 10.14 * Adds migration for macOS 10.13 apps to upgrade to 10.14 * Apply migration to all examples, and integration tests This does not increase version in the plugin templates since those will need to wait until the 10.14 framework rolls to stable channel, so new plugins can build with apps created with `flutter create` on stable channel. Issue: flutter#114445 See RFC: http://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 See previous patch: flutter#107689
3 tasks
cbracken
added a commit
to cbracken/flutter_website
that referenced
this issue
Mar 7, 2023
Flutter 3.3 was the last stable release to support macOS 10.11 through 10.13. As of Flutter 3.7, the minimum supported version of macOS is 10.14 (Mojave). This should have landed with the release rollout, but I missed updating the website. RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_website
that referenced
this issue
Mar 7, 2023
Flutter 3.3 was the last stable release to support macOS 10.11 through 10.13. As of Flutter 3.7, the minimum supported version of macOS is 10.14 (Mojave). This should have landed with the release rollout, but I missed updating the website. RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/flutter_website
that referenced
this issue
Mar 7, 2023
Flutter 3.3 was the last stable release to support macOS 10.11 through 10.13. As of Flutter 3.7, the minimum supported version of macOS is 10.14 (Mojave). This should have landed with the release rollout, but I missed updating the website. RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 Issue: flutter/flutter#114445
cbracken
added a commit
to flutter/website
that referenced
this issue
Mar 7, 2023
Flutter 3.3 was the last stable release to support macOS 10.11 through 10.13. As of Flutter 3.7, the minimum supported version of macOS is 10.14 (Mojave). This should have landed with the release rollout, but I missed updating the website. RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 Issue: flutter/flutter#114445
cbracken
added a commit
to cbracken/packages
that referenced
this issue
Mar 7, 2023
For all plugins whose macOS minimum deployment target was less than 10.14, bump the deployment target to 10.14 (Mojave), which is the minimum supported macOS version on Flutter's stable branch as of Flutter 3.7. RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4 Issue: flutter/flutter#114445
11 tasks
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
a: desktop
Running on desktop
c: proposal
A detailed proposal for a change to Flutter
P3
Issues that are less important to the Flutter project
platform-mac
Building on or for macOS specifically
tool
Affects the "flutter" command-line tool. See also t: labels.
What is being proposed?
Raise the minimum supported macOS version to 10.14 (Mojave), dropping support for the current minimum supported version, macOS 10.13 (High Sierra). As Mojave requires Metal support, this will also eliminate the OpenGL backend. Support for the following hardware will be dropped:
RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4
Sub-tasks
Cleanups
@available
checks predicated on macOS 10.14Post-stable
At most, packages in the https://github.com/flutter/packages repo support current
stable
release and the two previous stable releases. When Flutter 3.7 becomes the "stable - 2" release:This can be done via the following command, followed by whatever changes are necessary to clean up:
The text was updated successfully, but these errors were encountered: