Bug 1696513 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Once we build all macOS variants of Firefox with the macOS 11 SDK in CI (bug 1696504), and once we've given developers enough of a heads-up to update their macOS version or obtain the macOS 11 SDK, we should increase our minimum required SDK version to the macOS 11 SDK.

We will no longer have coverage of older SDKs in CI, so it would be easy to accidentally introduce breakage for developers who build with older SDKs.

Increasing the minimum required SDK will unlock the following improvements for Firefox macOS development:

 - We will not need to worry about breaking SDKs that we don't have CI coverage for.
 - Taking advantage of modern macOS APIs will be much easier. See [Using new APIs with old SDKs](https://firefox-source-docs.mozilla.org/widget/cocoa/macos-apis.html#using-new-apis-with-old-sdks) for a list of workarounds that we currently have to employ. These workarounds can be a serious impediment to getting things done - see bug 1671626 comment 8 for an example where we had trouble using the MediaPlayer framework before we were building with the 10.12 SDK.
 - The compiler will catch any missing runtime version checks of the form `if (@available(macOS 10.14, *)) {` when accessing modern APIs, because the header definitions from the modern SDKs are annotated with the correct `API_AVAILABLE` attributes. (This would have caught bug 1602813, for example.)
Once we build all macOS variants of Firefox with the macOS 11 SDK in CI (bug 1696504), and once we've given developers enough of a heads-up to update their macOS version or obtain the macOS 11 SDK, we should increase our minimum required SDK version to the macOS 11 SDK.

We will no longer have coverage of older SDKs in CI, so it would be easy to accidentally introduce breakage for developers who build with older SDKs.

Increasing the minimum required SDK will unlock the following improvements for Firefox macOS development:

 - We will not need to worry about breaking SDKs that we don't have CI coverage for.
 - Taking advantage of modern macOS APIs will be much easier. See [Using new APIs with old SDKs](https://firefox-source-docs.mozilla.org/widget/cocoa/macos-apis.html#using-new-apis-with-old-sdks) for a list of workarounds that we currently have to employ. These workarounds can be a serious impediment to getting things done - see bug 1671626 comment 8 for an example where we had trouble using the MediaPlayer framework before we were building with the 10.12 SDK.
 - We can remove the existing workarounds, i.e. [any code that's only needed for old SDKs.](https://searchfox.org/mozilla-central/search?q=MAC_OS_X_VERSION_MAX_ALLOWED&path=&case=false&regexp=false).
 - The compiler will catch any missing runtime version checks of the form `if (@available(macOS 10.14, *)) {` when accessing modern APIs, because the header definitions from the modern SDKs are annotated with the correct `API_AVAILABLE` attributes. (This would have caught bug 1602813, for example.)

Back to Bug 1696513 Comment 0