Skip to content
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

Release notes: .NET 8 supported macOS versions are inconsistent #9038

Open
Aldaviva opened this issue Jan 3, 2024 · 17 comments
Open

Release notes: .NET 8 supported macOS versions are inconsistent #9038

Aldaviva opened this issue Jan 3, 2024 · 17 comments

Comments

@Aldaviva
Copy link

Aldaviva commented Jan 3, 2024

Description

Are macOS 10.15 and 11.0 supported by .NET 8?

The answer is different across official Microsoft documentation:

What is the correct answer, and who needs to update their documentation to be correct?

Screenshots

Release notes Microsoft Learn
image image

Configuration

  • .NET 8
  • macOS 10.15 and 11.0
@wfurt
Copy link
Member

wfurt commented Jan 4, 2024

can somebody clarify @richlander @leecow ?
I don't think we are running tests on 10.15any more but I see no reason why .NET would not work.

@richlander
Copy link
Member

Which macOS versions are we running tests on?

@wfurt
Copy link
Member

wfurt commented Jan 8, 2024

I look at the 8.0 release branch and it seems like we are running only on 12.0.

@richlander
Copy link
Member

OK. I read that docs are correct.

#9048

@akoeplinger
Copy link
Member

In dotnet/runtime#93167 we established that 10.15 is the minimum macOS version supported for .NET 8 and I updated the installer to enforce that: dotnet/installer#17480

I think this again boils down to what "support" means, i.e. whether we prevent actively prevent running on older releases or just don't run tests there.

Note that .NET MAUI is another angle to this, we document 10.15 as a supported platform for running apps there: https://learn.microsoft.com/en-us/dotnet/maui/supported-platforms?view=net-maui-8.0

@richlander
Copy link
Member

It is critical that we test with our min supported version. If there are reported bugs, we need a way to validate resolving those bugs and to avoid regressing them. In short, we need the green checks in GitHub to help us deliver on our supported min versions. Otherwise, these versions are "best effort", at best.

I think it is fine to make installer blocks be less than supported versions.

This topic has come up with other OSes. It would be good if we had better clarity on these topics. I'd be happy to write them down somewhere.

@jkotas

@jkotas
Copy link
Member

jkotas commented Jan 16, 2024

There is difference between "supported" and "probably works". We can only support .NET on supported OSes.

10.15 is the minimum macOS version supported for .NET 8

According to https://en.wikipedia.org/wiki/MacOS_Catalina, 10.15 Catalina reached EOL on November 30, 2022. So it can be in "probably works" category at best.

It is very difficult to test on unsupported OSes. It is why we are running tests on 12.0 (that is still supported) and not on 10.15.

@akoeplinger
Copy link
Member

This topic has come up with other OSes. It would be good if we had better clarity on these topics. I'd be happy to write them down somewhere.

Agreed, I think it should look something like Rust's three-tier system: https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html

In short, we need the green checks in GitHub to help us deliver on our supported min versions.

Looks like we removed 10.15 testing in dotnet/runtime with dotnet/runtime@5da4464 so that already happened during the 7.0 release.

I think it is fine to make installer blocks be less than supported versions.

Yeah if we have two tiers "supported" and "best effort" then we could block on the latter.
During the lifetime of a release the "supported" version might be bumped but we'd never bump the "best effort" one.
Not sure how we'd communicate that though.

@richlander
Copy link
Member

I think our existing communication approach is good. It's not clear to me that there is sufficient benefit to documenting multiple tiers of support relative to the confusion that comes with it.

If there is a doc specifically about targeting macOS (for MAUI or related), I think it is fine to include a line that says that our installer might require a lesser version than what our official support dictates.

@akoeplinger
Copy link
Member

akoeplinger commented Jan 16, 2024

If there is a doc specifically about targeting macOS (for MAUI or related), I think it is fine to include a line that says that our installer might require a lesser version than what our official support dictates.

It's not just about the installer, MAUI documents 10.15 support right now for end user apps.

@richlander
Copy link
Member

Can you file a bug on their docs?

@akoeplinger
Copy link
Member

akoeplinger commented Jan 17, 2024

/cc @Redth on the MAUI min support topic.

If we say we only support what we test in dotnet/runtime then we'd also need to update .NET 6 and 7 to bump that min version there (both branches don't test on 10.15 anymore).

@richlander
Copy link
Member

I merged the PR. MAUI folks should update their docs.

@Redth
Copy link
Member

Redth commented Feb 9, 2024

From a MAUI perspective there's a couple different ways to look at this across OS's but let's stick to macOS for this purpose:

1. Min Supported OS for developing MAUI apps
We support building dotnet MAUI apps only on the latest version of macOS that the latest stable xcode is supported on (Apple states that Xcode 15.2 is supported only on macOS 13.5 Ventura and newer, and upcoming Xcode 15.3 appears to be macOS 14 Sonoma and newer)

2. Min Supported OS for running MAUI apps
I think you're mostly interested in this one... For MacCatalyst, the minimum is currently macOS 13.1 in MAUI apps, or at least that's what we put in our templates. I see our docs don't align with that and we should definitely fix that.

Side note, for iOS I believe the runtime team is only testing with Xcode 13 (so ~iOS 15?), but MAUI does declare a min supported version of 11.0 in our templates currently, so there's some gap in terms of testing coverage on the runtime side for iOS.

@jkotas
Copy link
Member

jkotas commented Feb 9, 2024

MAUI does declare a min supported version of 11.0 in our templates currently,

Do you test MAUI on this min supported version?

@Redth
Copy link
Member

Redth commented Feb 9, 2024

MAUI does declare a min supported version of 11.0 in our templates currently,

Do you test MAUI on this min supported version?

Yeah I think this is a fair point to discuss if that should really be our min version. Given we move with the latest stable xcode, and generally we require a particular version of xcode to build apps against, maybe we should declare our minimum supported iOS version to be the minimum/oldest iOS simulator version that xcode version supports installing.

In this case, Xcode 15.2 only allows me to download as far back as iOS 15.0.

We have tried to generally test on older iOS versions in our own MAUI test pipelines, but we don't go as far back as iOS 11.0 given it's just not really plausible to actually install and test with due to these constraints.

@Redth
Copy link
Member

Redth commented Feb 9, 2024

/cc @davidortinau

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants