Closed
Description
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:
- 2009-2010 MacBook
- 2010-2011 MacBook Pro
- 2010-2011 MacBook Air
- 2010-2011 Mac mini
- 2009-2011 iMac
- 2010 Mac Pro (unless GPU been upgraded to a Metal-capable GPU)
RFC: https://flutter.dev/go/flutter-drop-macOS-10.13-2022-q4
Sub-tasks
- Update app templates. Increase minimum macOS version from 10.13 to 10.14 in app template. Enforce plugins build for minimum macOS 10.14. (Increase minimum supported macOS version from 10.13 to 10.14 #114713)
- In project migrator, migrate existing app minimum macOS version from 10.13 to 10.14. (Do not modify if >= 10.14) (Increase minimum supported macOS version from 10.13 to 10.14 #114713)
- Update all code examples/tests to macOS 10.14 (Increase minimum supported macOS version from 10.13 to 10.14 #114713)
- Set mac_sdk_min to 10.13 and macos_deployment_target to 10.14.0 in flutter/buildroot (Increase minimum macOS SDK from 10.13 to 10.14 buildroot#648)
- Roll updated buildroot (Roll buildroot to d13d64086f5e301bd0415eede895b34af220ef42 engine#37380)
- Update minimum supported macOS version to 10.14 in flutter/website
Cleanups
- Locate and clean up any
@available
checks predicated on macOS 10.14 - Remove macOS OpenGL backend when we roll macOS 10.14 SDK #108304
Post-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:
- Update plugins to 10.14 and enforce minimum macOS version 10.14 ([various] Update min macOS versions packages#3987)
This can be done via the following command, followed by whatever changes are necessary to clean up:
dart script/tool/bin/flutter_plugin_tools.dart update-min-sdk \
--flutter-min=3.7.0 \
--run-on-changed-packages \
--base-branch=upstream/main