Skip to content

Commit

Permalink
[net8.0] Bump min OS versions to what Xcode 14 supports. Fixes #15216. (
Browse files Browse the repository at this point in the history
#16864)

Bump min OS versions to:

* iOS 11.0
* tvOS 11.0
* watchOS 4.0 (not really relevant for .NET, but matches iOS 11.0)
* macOS 10.15

Also bump the min version to execute our tooling to the macOS min version (it
doesn't make sense to be able to run our tooling on an OS you can't run the
compiled results on).

Fixes #15216.
  • Loading branch information
rolfbjarne authored Feb 7, 2023
2 parents a4b4c21 + 11a915e commit b2165df
Show file tree
Hide file tree
Showing 616 changed files with 4,316 additions and 19,693 deletions.
22 changes: 11 additions & 11 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,8 @@ MIN_SHARPIE_URL=https://download.visualstudio.microsoft.com/download/pr/7336f72c
# Minimum OSX versions for building XI/XM
MIN_OSX_BUILD_VERSION=12.5
# Minimum OSX version for executing XI/XM tooling.
MIN_OSX_VERSION_FOR_IOS=10.11
MIN_OSX_VERSION_FOR_MAC=10.11
MIN_OSX_VERSION_FOR_IOS=10.15
MIN_OSX_VERSION_FOR_MAC=10.15

# Bump the *_NUGET_VERSION variables in Make.versions instead, because that makes sure the computed commit distance for the version is correct.
IOS_SDK_VERSION=$(word 1, $(subst ., ,$(IOS_NUGET_VERSION))).$(word 2, $(subst ., ,$(IOS_NUGET_VERSION)))
Expand All @@ -243,19 +243,19 @@ MAX_TVOS_SIMULATOR_VERSION=$(TVOS_SDK_VERSION)
MAX_WATCH_SIMULATOR_VERSION=$(WATCH_SDK_VERSION)

# Minimum OS versions for running XI/XM apps.
MIN_IOS_SDK_VERSION=7.0
MIN_MACOS_SDK_VERSION=10.9
MIN_WATCHOS_SDK_VERSION=2.0
MIN_IOS_SDK_VERSION=11.0
MIN_MACOS_SDK_VERSION=10.15
MIN_WATCHOS_SDK_VERSION=4.0
MIN_WATCHOS64_32_SDK_VERSION=5.1
MIN_WATCH_OS_VERSION=2.0
MIN_TVOS_SDK_VERSION=9.0
MIN_WATCH_OS_VERSION=4.0
MIN_TVOS_SDK_VERSION=11.0
MIN_MACCATALYST_SDK_VERSION=13.1

# Minimum OS versions for dotnet6 support
DOTNET_MIN_IOS_SDK_VERSION=10.0
DOTNET_MIN_TVOS_SDK_VERSION=10.0
# Minimum OS versions for .NET 8 support
DOTNET_MIN_IOS_SDK_VERSION=11.0
DOTNET_MIN_TVOS_SDK_VERSION=11.0
DOTNET_MIN_MACCATALYST_SDK_VERSION=13.1
DOTNET_MIN_MACOS_SDK_VERSION=10.14
DOTNET_MIN_MACOS_SDK_VERSION=10.15

# The min simulator version available in the Xcode we're using
MIN_IOS_SIMULATOR_VERSION=12.4
Expand Down
27 changes: 0 additions & 27 deletions Versions-ios.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,6 @@
<dict>
<key>iOS</key>
<array>
<string>7.0</string>
<string>7.1</string>
<string>8.0</string>
<string>8.1</string>
<string>8.2</string>
<string>8.3</string>
<string>8.4</string>
<string>9.0</string>
<string>9.1</string>
<string>9.2</string>
<string>9.3</string>
<string>10.0</string>
<string>10.1</string>
<string>10.2</string>
<string>10.3</string>
<string>11.0</string>
<string>11.1</string>
<string>11.2</string>
Expand Down Expand Up @@ -55,12 +40,6 @@
</array>
<key>tvOS</key>
<array>
<string>9.0</string>
<string>9.1</string>
<string>9.2</string>
<string>10.0</string>
<string>10.1</string>
<string>10.2</string>
<string>11.0</string>
<string>11.1</string>
<string>11.2</string>
Expand Down Expand Up @@ -88,12 +67,6 @@
</array>
<key>watchOS</key>
<array>
<string>2.0</string>
<string>2.1</string>
<string>2.2</string>
<string>3.0</string>
<string>3.1</string>
<string>3.2</string>
<string>4.0</string>
<string>4.1</string>
<string>4.2</string>
Expand Down
6 changes: 0 additions & 6 deletions Versions-mac.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,6 @@
<dict>
<key>macOS</key>
<array>
<string>10.9</string>
<string>10.10</string>
<string>10.11</string>
<string>10.12</string>
<string>10.13</string>
<string>10.14</string>
<string>10.15</string>
<string>10.16</string>
<string>11.0</string>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment version="101400" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
<deployment version="101500" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"description": "Overrides SupportedOSPlatformVersion in the project file",
"replaces": "minOSVersion",
"datatype": "string",
"defaultValue": "10.14"
"defaultValue": "10.15"
}
},
"defaultName": "macOSApp1"
Expand Down
5 changes: 2 additions & 3 deletions msbuild/Xamarin.Shared/Xamarin.Shared.props
Original file line number Diff line number Diff line change
Expand Up @@ -193,10 +193,9 @@ Copyright (C) 2020 Microsoft. All rights reserved.
<!-- The default architecture for Xamarin.Mac is x86_64 -->
<TargetArchitectures Condition="'$(TargetArchitectures)' == '' And '$(_PlatformName)' == 'macOS'">x86_64</TargetArchitectures>
<!-- There should always be an MtouchArch value in newer projects, but for older projects default to old values -->
<TargetArchitectures Condition="'$(TargetArchitectures)' == '' And '$(_PlatformName)' != 'macOS' And '$(ComputedPlatform)' == 'iPhoneSimulator'">i386</TargetArchitectures>
<TargetArchitectures Condition="'$(TargetArchitectures)' == '' And '$(_PlatformName)' != 'macOS' And '$(ComputedPlatform)' == 'iPhoneSimulator'">x86_64</TargetArchitectures>
<TargetArchitectures Condition="'$(TargetArchitectures)' == '' And '$(_PlatformName)' != 'macOS' And '$(ComputedPlatform)' == 'iPhone' And '$(TargetFrameworkIdentifier)' == 'Xamarin.WatchOS'">ARMv7k</TargetArchitectures>
<TargetArchitectures Condition="'$(TargetArchitectures)' == '' And '$(_PlatformName)' != 'macOS' And '$(ComputedPlatform)' == 'iPhone' And '$(TargetFrameworkIdentifier)' == 'Xamarin.TVOS'">ARM64</TargetArchitectures>
<TargetArchitectures Condition="'$(TargetArchitectures)' == '' And '$(_PlatformName)' != 'macOS' And '$(ComputedPlatform)' == 'iPhone'">ARMv7</TargetArchitectures>
<TargetArchitectures Condition="'$(TargetArchitectures)' == '' And '$(_PlatformName)' != 'macOS' And '$(ComputedPlatform)' == 'iPhone'">ARM64</TargetArchitectures>
</PropertyGroup>

<PropertyGroup>
Expand Down
5 changes: 1 addition & 4 deletions src/AVFoundation/AVAudioConverterPrimeInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,10 @@
namespace AVFoundation {

#if NET
[SupportedOSPlatform ("ios9.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("maccatalyst")]
[SupportedOSPlatform ("tvos")]
#else
[iOS (9, 0)]
[Mac (10, 11)]
#endif
[StructLayout (LayoutKind.Sequential)]
public struct AVAudioConverterPrimeInfo {
Expand Down
4 changes: 2 additions & 2 deletions src/AVFoundation/AVAudioFormat.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ public partial class AVAudioFormat {

[Export ("StreamDescription")]
#if NET
[SupportedOSPlatform ("ios8.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("tvos")]
[SupportedOSPlatform ("maccatalyst")]
#endif
public virtual AudioStreamBasicDescription StreamDescription {
#if NET
[SupportedOSPlatform ("ios8.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("tvos")]
[SupportedOSPlatform ("maccatalyst")]
Expand Down
5 changes: 1 addition & 4 deletions src/AVFoundation/AVAudioRecorder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,10 @@ public partial class AVAudioRecorder {
}

#if NET
[SupportedOSPlatform ("ios10.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("maccatalyst")]
[UnsupportedOSPlatform ("tvos")]
#else
[iOS (10, 0)]
[Mac (10, 12)]
#endif
public static AVAudioRecorder? Create (NSUrl url, AVAudioFormat? format, out NSError? error)
{
Expand Down
5 changes: 1 addition & 4 deletions src/AVFoundation/AVBeatRange.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,10 @@
namespace AVFoundation {

#if NET
[SupportedOSPlatform ("ios9.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("maccatalyst")]
[SupportedOSPlatform ("tvos")]
#else
[iOS (9, 0)]
[Mac (10, 11)]
#endif
[StructLayout (LayoutKind.Sequential)]
public struct AVBeatRange {
Expand Down
4 changes: 1 addition & 3 deletions src/AVFoundation/AVCaptureVideoPreviewLayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@ public partial class AVCaptureVideoPreviewLayer {
public enum InitMode {
WithConnection,
#if NET
[SupportedOSPlatform ("ios8.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("maccatalyst")]
#else
[iOS (8, 0)]
#endif
WithNoConnection,
}
Expand Down
7 changes: 2 additions & 5 deletions src/AVFoundation/AVPlayerItem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,12 @@ namespace AVFoundation {
public partial class AVPlayerItem {

#if NET
[SupportedOSPlatform ("tvos11.0")]
[SupportedOSPlatform ("tvos")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("ios11.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("maccatalyst")]
#else
[TV (11, 0)]
[NoWatch]
[Mac (10, 13)]
[iOS (11, 0)]
#endif
public AVVideoApertureMode VideoApertureMode {
get { return AVVideoApertureModeExtensions.GetValue (_VideoApertureMode); }
Expand Down
5 changes: 1 addition & 4 deletions src/AVFoundation/AVPlayerLayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,10 @@
namespace AVFoundation {
public partial class AVPlayerLayer {
#if NET
[SupportedOSPlatform ("ios9.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("maccatalyst")]
[SupportedOSPlatform ("tvos")]
#else
[iOS (9, 0)]
[Mac (10, 11)]
#endif
public CVPixelBufferAttributes? PixelBufferAttributes {
get {
Expand Down
8 changes: 1 addition & 7 deletions src/AVFoundation/AVTypes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,6 @@ public static CGRect WithAspectRatio (this CGRect self, CGSize aspectRatio)
[UnsupportedOSPlatform ("ios")]
[UnsupportedOSPlatform ("tvos")]
#else
[Mac (10, 10)]
[NoiOS]
[NoWatch]
[NoTV]
Expand All @@ -331,7 +330,6 @@ public struct AVSampleCursorSyncInfo {
[UnsupportedOSPlatform ("ios")]
[UnsupportedOSPlatform ("tvos")]
#else
[Mac (10, 10)]
[NoiOS]
[NoWatch]
[NoTV]
Expand Down Expand Up @@ -366,7 +364,6 @@ public struct AVSampleCursorDependencyInfo {
[UnsupportedOSPlatform ("ios")]
[UnsupportedOSPlatform ("tvos")]
#else
[Mac (10, 10)]
[NoiOS]
[NoWatch]
[NoTV]
Expand All @@ -386,7 +383,6 @@ public struct AVSampleCursorStorageRange {
[UnsupportedOSPlatform ("ios")]
[UnsupportedOSPlatform ("tvos")]
#else
[Mac (10, 10)]
[NoiOS]
[NoWatch]
[NoTV]
Expand All @@ -412,10 +408,8 @@ public struct AVSampleCursorChunkInfo {
#if MONOMAC || __MACCATALYST__

#if NET
[SupportedOSPlatform ("macos10.15")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("maccatalyst15.0")]
#else
[Mac (10,15)]
#endif
[StructLayout (LayoutKind.Sequential)]
public struct AVSampleCursorAudioDependencyInfo {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,12 @@
namespace AVFoundation {

#if NET
[SupportedOSPlatform ("tvos11.0")]
[SupportedOSPlatform ("tvos")]
[SupportedOSPlatform ("macos")]
[SupportedOSPlatform ("ios11.0")]
[SupportedOSPlatform ("ios")]
[SupportedOSPlatform ("maccatalyst")]
#else
[TV (11, 0)]
[NoWatch]
[Mac (10, 13)]
[iOS (11, 0)]
#endif
public partial class AudioRendererWasFlushedAutomaticallyEventArgs {
public CMTime AudioRendererFlushTime {
Expand Down
Loading

4 comments on commit b2165df

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ API diff for current PR / commit

Legacy Xamarin (No breaking changes)
  • iOS (no change detected)
  • tvOS (no change detected)
  • watchOS (no change detected)
  • macOS (no change detected)
NET (empty diffs)
  • iOS: (empty diff detected)
  • tvOS: (empty diff detected)
  • MacCatalyst: (empty diff detected)
  • macOS: (empty diff detected)

✅ API diff vs stable

Legacy Xamarin (No breaking changes)
.NET (No breaking changes)
Legacy Xamarin (stable) vs .NET

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: b2165df28dbbbe4deb52367202cac34316c25560 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💻 [CI Build] Tests on macOS M1 - Mac Big Sur (11.5) passed 💻

All tests on macOS M1 - Mac Big Sur (11.5) passed.

Pipeline on Agent
Hash: b2165df28dbbbe4deb52367202cac34316c25560 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📚 [CI Build] Artifacts 📚

Packages generated

View packages

Pipeline on Agent XAMMINI-062.Monterey'
Hash: b2165df28dbbbe4deb52367202cac34316c25560 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 [CI Build] Test results 🚀

Test results

✅ All tests passed on VSTS: simulator tests.

🎉 All 219 tests passed 🎉

Tests counts

✅ bcl: All 69 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests: All 1 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 7 tests passed. Html Report (VSDrops) Download
✅ framework: All 8 tests passed. Html Report (VSDrops) Download
✅ generator: All 2 tests passed. Html Report (VSDrops) Download
✅ interdependent_binding_projects: All 7 tests passed. Html Report (VSDrops) Download
✅ install_source: All 1 tests passed. Html Report (VSDrops) Download
✅ introspection: All 8 tests passed. Html Report (VSDrops) Download
✅ linker: All 65 tests passed. Html Report (VSDrops) Download
✅ mac_binding_project: All 1 tests passed. Html Report (VSDrops) Download
✅ mmp: All 2 tests passed. Html Report (VSDrops) Download
✅ mononative: All 6 tests passed. Html Report (VSDrops) Download
✅ monotouch: All 25 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ mtouch: All 1 tests passed. Html Report (VSDrops) Download
✅ xammac: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 8 tests passed. Html Report (VSDrops) Download
✅ xtro: All 2 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: b2165df28dbbbe4deb52367202cac34316c25560 [CI build]

Please sign in to comment.