Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created August 14, 2023 11:45

Revisions

  1. vs-mobiletools-engineering-service2 created this gist Aug 14, 2023.
    2,022 changes: 2,022 additions & 0 deletions ios-api-diff.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,2022 @@
    ---
    title: "Xamarin.iOS SDK API diff: 16.1.1 vs 16.99.0"
    description: List of API changes between Xamarin.iOS versions 16.1.1 and 16.99.0.
    author: spouliot
    ms.author: sepoulio
    ms.date: 8/14/2023
    ms.topic: article
    ms.assetid: 8fe411e5-1aa9-1dd1-f3a2-e785e50b5ac7
    ms.prod: xamarin
    ---

    # Xamarin.iOS SDK API diff: 16.1.1 vs 16.99.0

    <a name="Xamarin.iOS.dll" />

    ## Xamarin.iOS.dll

    ### Namespace AVFoundation

    #### Type Changed: AVFoundation.AVAssetImageGenerator

    Added method:

    ```csharp
    public virtual void GenerateCGImageAsynchronously (CoreMedia.CMTime requestedTime, AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler handler);
    ```


    #### Type Changed: AVFoundation.AVAssetWriter

    Obsoleted properties:

    ```diff
    [Obsolete ("Use the 'Inputs' property instead.")]
    public virtual AVAssetWriterInput[] inputs { get; }
    ```

    Added property:

    ```csharp
    public virtual AVAssetWriterInput[] Inputs { get; }
    ```


    #### Type Changed: AVFoundation.AVAudioSession

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
    public static Foundation.NSString CategoryAmbient { get; }
    [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
    public static Foundation.NSString CategoryAudioProcessing { get; }
    [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
    public static Foundation.NSString CategoryMultiRoute { get; }
    [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
    public static Foundation.NSString CategoryPlayAndRecord { get; }
    [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
    public static Foundation.NSString CategoryPlayback { get; }
    [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
    public static Foundation.NSString CategoryRecord { get; }
    [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
    public static Foundation.NSString CategorySoloAmbient { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString ModeDefault { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString ModeGameChat { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString ModeMeasurement { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString ModeMoviePlayback { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString ModeSpokenAudio { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString ModeVideoChat { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString ModeVideoRecording { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString ModeVoiceChat { get; }
    [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
    public static Foundation.NSString VoicePrompt { get; }
    ```

    Added methods:

    ```csharp
    public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
    public Foundation.NSError SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionCategoryOptions options);
    public Foundation.NSError SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionCategoryOptions options);
    public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
    public bool SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
    public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
    public bool SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
    public bool SetMode (AVAudioSessionMode mode, out Foundation.NSError error);
    ```


    #### Type Changed: AVFoundation.AVAudioSinkNode

    Obsoleted constructors:

    ```diff
    [Obsolete ("Use the overload that takes a delegate that does not take a 'ref AudioBuffers' instead. Assigning a value to the 'inputData' parameter in the callback has no effect.")]
    public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler receiverHandler);
    ```

    Added constructors:

    ```csharp
    public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler2 receiverHandler);
    public AVAudioSinkNode (AVAudioSinkNodeReceiverHandlerRaw receiverHandler);
    ```


    #### Type Changed: AVFoundation.AVCaptureDeviceFormat

    Obsoleted properties:

    ```diff
    [Obsolete ("Use the 'IsVideoHdrSupported' property instead.")]
    public virtual bool videoHDRSupportedVideoHDREnabled { get; }
    ```

    Added properties:

    ```csharp
    public virtual bool IsVideoHdrSupported { get; }
    public virtual nfloat[] SecondaryNativeResolutionZoomFactors { get; }
    public virtual CoreMedia.CMVideoDimensions[] SupportedMaxPhotoDimensions { get; }
    public virtual nfloat[] SupportedVideoZoomFactorsForDepthDataDelivery { get; }
    ```


    #### Type Changed: AVFoundation.AVCapturePhotoOutput

    Added properties:

    ```csharp
    public virtual CoreMedia.CMVideoDimensions MaxPhotoDimensions { get; set; }
    public virtual bool PreservesLivePhotoCaptureSuspendedOnSessionStop { get; set; }
    ```


    #### Type Changed: AVFoundation.AVCapturePhotoSettings

    Added property:

    ```csharp
    public virtual CoreMedia.CMVideoDimensions MaxPhotoDimensions { get; set; }
    ```


    #### Type Changed: AVFoundation.AVCaptureSession

    Added properties:

    ```csharp
    public virtual float HardwareCost { get; }
    public virtual bool MultitaskingCameraAccessEnabled { get; set; }
    public virtual bool MultitaskingCameraAccessSupported { get; }
    ```


    #### Type Changed: AVFoundation.AVMetadata

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'AVMetadataFormat' enum values.")]
    public static Foundation.NSString FormatHlsMetadata { get; }
    [Obsolete ("Use 'AVMetadataFormat' enum values.")]
    public static Foundation.NSString FormatID3Metadata { get; }
    [Obsolete ("Use 'AVMetadataFormat' enum values.")]
    public static Foundation.NSString FormatQuickTimeUserData { get; }
    [Obsolete ("Use 'AVMetadataFormat' enum values.")]
    public static Foundation.NSString FormatiTunesMetadata { get; }
    [Obsolete ("Use 'AVMetadataFormat' enum values.")]
    public static Foundation.NSString KFormatISOUserData { get; }
    ```


    #### Type Changed: AVFoundation.AVPlayer

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
    public static Foundation.NSString AVPlayerWaitingForCoordinatedPlaybackReason { get; }
    [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
    public static Foundation.NSString WaitingDuringInterstitialEventReason { get; }
    [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
    public static Foundation.NSString WaitingToMinimizeStallsReason { get; }
    [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
    public static Foundation.NSString WaitingWhileEvaluatingBufferingRateReason { get; }
    [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
    public static Foundation.NSString WaitingWithNoItemToPlayReason { get; }
    ```


    #### New Type: AVFoundation.AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler

    ```csharp
    public sealed delegate AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler : System.MulticastDelegate {
    // constructors
    public AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error);
    }
    ```

    #### New Type: AVFoundation.AVAudioSessionCategoryExtensions

    ```csharp
    public static class AVAudioSessionCategoryExtensions {
    // methods
    public static Foundation.NSString GetConstant (this AVAudioSessionCategory self);
    public static AVAudioSessionCategory GetValue (Foundation.NSString constant);
    }
    ```

    #### New Type: AVFoundation.AVAudioSessionMode

    ```csharp
    [Serializable]
    public enum AVAudioSessionMode {
    Default = 0,
    GameChat = 4,
    Measurement = 3,
    MoviePlayback = 5,
    SpokenAudio = 7,
    VideoChat = 6,
    VideoRecording = 2,
    VoiceChat = 1,
    VoicePrompt = 8,
    }
    ```

    #### New Type: AVFoundation.AVAudioSessionModeExtensions

    ```csharp
    public static class AVAudioSessionModeExtensions {
    // methods
    public static Foundation.NSString GetConstant (this AVAudioSessionMode self);
    public static AVAudioSessionMode GetValue (Foundation.NSString constant);
    }
    ```

    #### New Type: AVFoundation.AVAudioSinkNodeReceiverHandler2

    ```csharp
    public sealed delegate AVAudioSinkNodeReceiverHandler2 : System.MulticastDelegate {
    // constructors
    public AVAudioSinkNodeReceiverHandler2 (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers inputData, System.AsyncCallback callback, object object);
    public virtual int EndInvoke (System.IAsyncResult result);
    public virtual int Invoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers inputData);
    }
    ```

    #### New Type: AVFoundation.AVAudioSinkNodeReceiverHandlerRaw

    ```csharp
    public sealed delegate AVAudioSinkNodeReceiverHandlerRaw : System.MulticastDelegate {
    // constructors
    public AVAudioSinkNodeReceiverHandlerRaw (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (IntPtr timestamp, uint frameCount, IntPtr inputData, System.AsyncCallback callback, object object);
    public virtual int EndInvoke (System.IAsyncResult result);
    public virtual int Invoke (IntPtr timestamp, uint frameCount, IntPtr inputData);
    }
    ```


    ### Namespace AVRouting

    #### Type Changed: AVRouting.AVCustomRoutingController

    Added property:

    ```csharp
    public virtual AVCustomRoutingPartialIP[] KnownRouteIPs { get; set; }
    ```


    #### New Type: AVRouting.AVCustomRoutingPartialIP

    ```csharp
    public class AVCustomRoutingPartialIP : Foundation.NSObject {
    // constructors
    protected AVCustomRoutingPartialIP (Foundation.NSObjectFlag t);
    protected AVCustomRoutingPartialIP (IntPtr handle);
    public AVCustomRoutingPartialIP (Foundation.NSData address, Foundation.NSData mask);
    // properties
    public virtual Foundation.NSData Address { get; }
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSData Mask { get; }
    }
    ```


    ### Namespace Accessibility

    #### New Type: Accessibility.AXAnimatedImagesUtilities

    ```csharp
    public static class AXAnimatedImagesUtilities {
    // properties
    public static Foundation.NSString AnimatedImagesEnabledDidChangeNotification { get; }
    public static bool Enabled { get; }

    // inner types
    public static class Notifications {
    // methods
    public static Foundation.NSObject ObserveAnimatedImagesEnabledDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
    public static Foundation.NSObject ObserveAnimatedImagesEnabledDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
    }
    }
    ```

    #### New Type: Accessibility.AXCustomContentProvider_Extensions

    ```csharp
    public static class AXCustomContentProvider_Extensions {
    // methods
    public static System.Func<AXCustomContent[]> GetAccessibilityCustomContentHandler (this IAXCustomContentProvider This);
    public static void SetAccessibilityCustomContentHandler (this IAXCustomContentProvider This, System.Func<AXCustomContent[]> value);
    }
    ```


    ### Namespace BackgroundAssets

    #### Type Changed: BackgroundAssets.BAAppExtensionInfo

    Added property:

    ```csharp
    public virtual Foundation.NSNumber RestrictedEssentialDownloadSizeRemaining { get; }
    ```


    #### Type Changed: BackgroundAssets.BADownload

    Added property:

    ```csharp
    public virtual bool IsEssential { get; }
    ```

    Added method:

    ```csharp
    public virtual BADownload CopyAsNonEssential ();
    ```


    #### Type Changed: BackgroundAssets.BADownloadManager

    Added method:

    ```csharp
    public virtual BADownload[] FetchCurrentDownloads (out Foundation.NSError error);
    ```


    #### Type Changed: BackgroundAssets.BAUrlDownload

    Added constructors:

    ```csharp
    public BAUrlDownload (string identifier, Foundation.NSUrlRequest request, nuint fileSize, string applicationGroupIdentifier);
    public BAUrlDownload (string identifier, Foundation.NSUrlRequest request, bool essential, nuint fileSize, string applicationGroupIdentifier, nint priority);
    ```



    ### Namespace BackgroundTasks

    #### New Type: BackgroundTasks.BGHealthResearchTask

    ```csharp
    public class BGHealthResearchTask : BackgroundTasks.BGProcessingTask {
    // constructors
    public BGHealthResearchTask ();
    protected BGHealthResearchTask (Foundation.NSObjectFlag t);
    protected BGHealthResearchTask (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    }
    ```

    #### New Type: BackgroundTasks.BGHealthResearchTaskRequest

    ```csharp
    public class BGHealthResearchTaskRequest : BackgroundTasks.BGProcessingTaskRequest {
    // constructors
    public BGHealthResearchTaskRequest ();
    protected BGHealthResearchTaskRequest (Foundation.NSObjectFlag t);
    protected BGHealthResearchTaskRequest (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string ProtectionTypeOfRequiredData { get; set; }
    }
    ```


    ### Namespace CarPlay

    #### Type Changed: CarPlay.CPInformationTemplate

    Added interfaces:

    ```csharp
    ICPBarButtonProviding
    ObjCRuntime.INativeObject
    System.IDisposable
    ```

    Added properties:

    ```csharp
    public virtual CPBarButton BackButton { get; set; }
    public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
    public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
    ```


    #### Type Changed: CarPlay.CPTabBarTemplate

    Added methods:

    ```csharp
    public virtual void SelectTemplate (CPTemplate newTemplate);
    public virtual void SelectTemplate (nint index);
    ```



    ### Namespace CloudKit

    #### Type Changed: CloudKit.CKShareMetadata

    Obsoleted constructors:

    ```diff
    [Obsolete ("Get them from 'CKFetchShareMetadataOperation' or platform-specific scene / app delegate callbacks.")]
    public CKShareMetadata ();
    ```



    ### Namespace Contacts

    #### Type Changed: Contacts.CNErrorCode

    Added value:

    ```csharp
    FeatureNotAvailable = 104,
    ```



    ### Namespace CoreAnimation

    #### Type Changed: CoreAnimation.CAAnimation

    Obsoleted properties:

    ```diff
    [Obsolete ("The name has been fixed, use 'AnimationDiscrete' instead.")]
    public static Foundation.NSString AnimationDescrete { get; }
    ```


    #### Type Changed: CoreAnimation.CAGradientLayer

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'CAGradientLayerType.Axial' enum instead.")]
    public static Foundation.NSString GradientLayerAxial { get; }
    ```


    #### Type Changed: CoreAnimation.CAMetalLayer

    Added properties:

    ```csharp
    public virtual Foundation.NSDictionary DeveloperHudProperties { get; set; }
    public virtual CAEdrMetadata EdrMetadata { get; set; }
    public virtual bool WantsExtendedDynamicRangeContent { get; set; }
    ```


    #### New Type: CoreAnimation.CAEdrMetadata

    ```csharp
    public class CAEdrMetadata : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public CAEdrMetadata (Foundation.NSCoder coder);
    protected CAEdrMetadata (Foundation.NSObjectFlag t);
    protected CAEdrMetadata (IntPtr handle);
    // properties
    public static bool Available { get; }
    public override IntPtr ClassHandle { get; }
    public static CAEdrMetadata HlgMetadata { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static CAEdrMetadata GetHdr10Metadata (Foundation.NSData displayData, Foundation.NSData contentData, float scale);
    public static CAEdrMetadata GetHdr10Metadata (float minNits, float maxNits, float scale);
    }
    ```


    ### Namespace CoreBluetooth

    #### Type Changed: CoreBluetooth.CBCentralManager

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'CBConnectPeripheralOptions' instead.")]
    public static Foundation.NSString OptionNotifyOnConnectionKey { get; }
    [Obsolete ("Use 'CBConnectPeripheralOptions' instead.")]
    public static Foundation.NSString OptionNotifyOnDisconnectionKey { get; }
    [Obsolete ("Use 'CBConnectPeripheralOptions' instead.")]
    public static Foundation.NSString OptionNotifyOnNotificationKey { get; }
    ```



    ### Namespace CoreData

    #### Type Changed: CoreData.NSPersistentStoreCoordinator

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'UbiquitousContainerIdentifierKey' instead.")]
    public static Foundation.NSString eUbiquitousContainerIdentifierKey { get; }
    ```



    ### Namespace CoreFoundation

    #### Type Changed: CoreFoundation.CFRunLoop

    Added properties:

    ```csharp
    public string[] AllModes { get; }
    public string CurrentMode { get; }
    ```

    Added method:

    ```csharp
    public CFRunLoopExitReason RunInMode (string mode, double seconds, bool returnAfterSourceHandled);
    ```


    #### Type Changed: CoreFoundation.CFSocket

    Added properties:

    ```csharp
    public System.Net.IPEndPoint Address { get; }
    public System.Net.IPEndPoint RemoteAddress { get; }
    ```

    Added method:

    ```csharp
    public void Invalidate ();
    ```



    ### Namespace CoreGraphics

    #### Type Changed: CoreGraphics.CGImagePropertiesGps

    Added properties:

    ```csharp
    public string LatitudeRef { get; set; }
    public string LongitudeRef { get; set; }
    ```



    ### Namespace CoreImage

    #### Type Changed: CoreImage.CIPhotoEffect

    Added property:

    ```csharp
    public bool Extrapolate { get; set; }
    ```


    #### New Type: CoreImage.CIBlurredRectangleGenerator

    ```csharp
    public class CIBlurredRectangleGenerator : CoreImage.CIFilter, ICIBlurredRectangleGeneratorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public CIBlurredRectangleGenerator ();
    public CIBlurredRectangleGenerator (Foundation.NSCoder coder);
    protected CIBlurredRectangleGenerator (Foundation.NSObjectFlag t);
    public CIBlurredRectangleGenerator (IntPtr handle);
    // properties
    public virtual CIColor Color { get; set; }
    public virtual CoreGraphics.CGRect InputExtent { get; set; }
    public virtual CIImage OutputImage { get; }
    public virtual float Sigma { get; set; }
    }
    ```

    #### New Type: CoreImage.CICannyEdgeDetector

    ```csharp
    public class CICannyEdgeDetector : CoreImage.CIFilter, ICICannyEdgeDetectorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public CICannyEdgeDetector ();
    public CICannyEdgeDetector (Foundation.NSCoder coder);
    protected CICannyEdgeDetector (Foundation.NSObjectFlag t);
    public CICannyEdgeDetector (IntPtr handle);
    // properties
    public virtual float GaussianSigma { get; set; }
    public virtual nint HysteresisPasses { get; set; }
    public virtual CIImage InputImage { get; set; }
    public virtual CIImage OutputImage { get; }
    public virtual bool Perceptual { get; set; }
    public virtual float ThresholdHigh { get; set; }
    public virtual float ThresholdLow { get; set; }
    }
    ```

    #### New Type: CoreImage.CIPhotoEffectProtocol_Extensions

    ```csharp
    public static class CIPhotoEffectProtocol_Extensions {
    // methods
    public static bool GetExtrapolate (this ICIPhotoEffectProtocol This);
    public static void SetExtrapolate (this ICIPhotoEffectProtocol This, bool value);
    }
    ```

    #### New Type: CoreImage.CIRoundedRectangleStrokeGenerator

    ```csharp
    public class CIRoundedRectangleStrokeGenerator : CoreImage.CIFilter, ICIFilterProtocol, ICIRoundedRectangleStrokeGeneratorProtocol, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public CIRoundedRectangleStrokeGenerator ();
    public CIRoundedRectangleStrokeGenerator (Foundation.NSCoder coder);
    protected CIRoundedRectangleStrokeGenerator (Foundation.NSObjectFlag t);
    public CIRoundedRectangleStrokeGenerator (IntPtr handle);
    // properties
    public virtual CIColor Color { get; set; }
    public virtual CoreGraphics.CGRect InputExtent { get; set; }
    public virtual CIImage OutputImage { get; }
    public virtual float Radius { get; set; }
    public virtual float Width { get; set; }
    }
    ```

    #### New Type: CoreImage.CISobelGradients

    ```csharp
    public class CISobelGradients : CoreImage.CIFilter, ICIFilterProtocol, ICISobelGradientsProtocol, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public CISobelGradients ();
    public CISobelGradients (Foundation.NSCoder coder);
    protected CISobelGradients (Foundation.NSObjectFlag t);
    public CISobelGradients (IntPtr handle);
    // properties
    public virtual CIImage InputImage { get; set; }
    public virtual CIImage OutputImage { get; }
    }
    ```

    #### New Type: CoreImage.ICIBlurredRectangleGeneratorProtocol

    ```csharp
    public interface ICIBlurredRectangleGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual CIColor Color { get; set; }
    public virtual CoreGraphics.CGRect InputExtent { get; set; }
    public virtual float Sigma { get; set; }
    }
    ```

    #### New Type: CoreImage.ICICannyEdgeDetectorProtocol

    ```csharp
    public interface ICICannyEdgeDetectorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual float GaussianSigma { get; set; }
    public virtual nint HysteresisPasses { get; set; }
    public virtual CIImage InputImage { get; set; }
    public virtual bool Perceptual { get; set; }
    public virtual float ThresholdHigh { get; set; }
    public virtual float ThresholdLow { get; set; }
    }
    ```

    #### New Type: CoreImage.ICIRoundedRectangleStrokeGeneratorProtocol

    ```csharp
    public interface ICIRoundedRectangleStrokeGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual CIColor Color { get; set; }
    public virtual CoreGraphics.CGRect InputExtent { get; set; }
    public virtual float Radius { get; set; }
    public virtual float Width { get; set; }
    }
    ```

    #### New Type: CoreImage.ICISobelGradientsProtocol

    ```csharp
    public interface ICISobelGradientsProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual CIImage InputImage { get; set; }
    }
    ```


    ### Namespace CoreLocation

    #### Type Changed: CoreLocation.CLLocationPushServiceError

    Added value:

    ```csharp
    UnsupportedPlatform = 4,
    ```



    ### Namespace FileProvider

    #### Type Changed: FileProvider.NSFileProviderDomain

    Added property:

    ```csharp
    public virtual Foundation.NSUuid VolumeUuid { get; }
    ```



    ### Namespace Foundation

    #### Type Changed: Foundation.NSAttributedString

    Obsoleted methods:

    ```diff
    [Obsolete ("Use 'GetData' instead.")]
    public NSData GetDataFromRange (NSRange range, NSAttributedStringDocumentAttributes documentAttributes, ref NSError error);
    [Obsolete ("Use 'GetData' instead.")]
    public virtual NSData GetDataFromRange (NSRange range, NSDictionary attributes, ref NSError error);
    [Obsolete ("Use 'GetFileWrapper' instead.")]
    public NSFileWrapper GetFileWrapperFromRange (NSRange range, NSAttributedStringDocumentAttributes documentAttributes, ref NSError error);
    [Obsolete ("Use 'GetFileWrapper' instead.")]
    public virtual NSFileWrapper GetFileWrapperFromRange (NSRange range, NSDictionary attributes, ref NSError error);
    ```

    Added methods:

    ```csharp
    public NSData GetData (NSRange range, NSAttributedStringDocumentAttributes options, out NSError error);
    public NSData GetData (NSRange range, NSDictionary options, out NSError error);
    public NSFileWrapper GetFileWrapper (NSRange range, NSAttributedStringDocumentAttributes options, out NSError error);
    public NSFileWrapper GetFileWrapper (NSRange range, NSDictionary options, out NSError error);
    ```


    #### Type Changed: Foundation.NSBundle

    Obsoleted properties:

    ```diff
    [Obsolete ("Use the 'AllBundles' property instead.")]
    public static NSBundle[] _AllBundles { get; }
    ```

    Added property:

    ```csharp
    public static NSBundle[] AllBundles { get; }
    ```


    #### Type Changed: Foundation.NSFileProviderService

    Added methods:

    ```csharp
    public virtual void GetFileProviderConnection (System.Action<NSXpcConnection,Foundation.NSError> completionHandler);
    public virtual System.Threading.Tasks.Task<NSXpcConnection> GetFileProviderConnectionAsync ();
    ```


    #### Type Changed: Foundation.NSKeyValueObservingOptions

    Added value:

    ```csharp
    None = 0,
    ```


    #### Type Changed: Foundation.NSOperatingSystemVersion

    Added constructors:

    ```csharp
    public NSOperatingSystemVersion (nint major);
    public NSOperatingSystemVersion (nint major, nint minor);
    ```

    Added interfaces:

    ```csharp
    System.IComparable
    System.IEquatable<NSOperatingSystemVersion>
    ```

    Added methods:

    ```csharp
    public int CompareTo (NSOperatingSystemVersion otherVersion);
    public virtual int CompareTo (object obj);
    public virtual bool Equals (NSOperatingSystemVersion other);
    public override bool Equals (object obj);
    public override int GetHashCode ();
    public static bool op_Equality (NSOperatingSystemVersion os1, NSOperatingSystemVersion os2);
    public static bool op_Inequality (NSOperatingSystemVersion os1, NSOperatingSystemVersion os2);
    ```


    #### Type Changed: Foundation.NSRunLoop

    Obsoleted properties:

    ```diff
    [Obsolete ("Use the 'NSRunLoopMode' enum instead.")]
    public static NSString NSDefaultRunLoopMode { get; }
    [Obsolete ("Use the 'NSRunLoopMode' enum instead.")]
    public static NSString NSRunLoopCommonModes { get; }
    [Obsolete ("Use the 'NSRunLoopMode' enum instead.")]
    public static NSString UITrackingRunLoopMode { get; }
    ```


    #### Type Changed: Foundation.NSUrl

    Added properties:

    ```csharp
    public static NSString FileIdentifierKey { get; }
    public static NSString VolumeMountFromLocationKey { get; }
    public static NSString VolumeSubtypeKey { get; }
    public static NSString VolumeTypeNameKey { get; }
    ```

    Added methods:

    ```csharp
    public static NSUrl CreateFileUrl (string path);
    public static NSUrl CreateFileUrl (string path, bool isDir);
    ```


    #### Type Changed: Foundation.NSUrlConnection

    Obsoleted properties:

    ```diff
    [Obsolete ("The NewsstandKit framework has been removed from iOS.")]
    public virtual NewsstandKit.NKAssetDownload NewsstandAssetDownload { get; }
    ```

    Removed method:

    ```csharp
    protected override void Dispose (bool disposing);
    ```


    #### Type Changed: Foundation.NSValue

    Added property:

    ```csharp
    public virtual CoreMedia.CMVideoDimensions CMVideoDimensionsValue { get; }
    ```

    Added method:

    ```csharp
    public static NSValue FromCMVideoDimensions (CoreMedia.CMVideoDimensions value);
    ```


    #### Type Changed: Foundation.NSValueTransformer

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'NSUserDefaults.CompletedInitialSyncNotification' instead.")]
    public static NSString CompletedInitialSyncNotification { get; }
    [Obsolete ("Use 'NSUserDefaults.DidChangeAccountsNotification' instead.")]
    public static NSString DidChangeAccountsNotification { get; }
    [Obsolete ("Use 'NSUserDefaults.SizeLimitExceededNotification' instead.")]
    public static NSString SizeLimitExceededNotification { get; }
    [Obsolete ("Use 'NSUserDefaults.DidChangeNotification' instead.")]
    public static NSString UserDefaultsDidChangeNotification { get; }
    ```



    ### Namespace GameKit

    #### Type Changed: GameKit.GKMatchmaker

    Added methods:

    ```csharp
    public virtual void StartGroupActivity (System.Action<GKPlayer> handler);
    public virtual void StopGroupActivity ();
    ```



    ### Namespace HealthKit

    #### Type Changed: HealthKit.HKClinicalTypeIdentifier

    Added value:

    ```csharp
    ClinicalNoteRecord = 8,
    ```


    #### Type Changed: HealthKit.HKContactsPrescription

    Added interfaces:

    ```csharp
    Foundation.INSCoding
    Foundation.INSCopying
    Foundation.INSSecureCoding
    ObjCRuntime.INativeObject
    System.IDisposable
    ```

    Added methods:

    ```csharp
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    ```


    #### Type Changed: HealthKit.HKFhirResourceType

    Added values:

    ```csharp
    DiagnosticReport = 10,
    DocumentReference = 11,
    ```


    #### Type Changed: HealthKit.HKGlassesPrescription

    Added interfaces:

    ```csharp
    Foundation.INSCoding
    Foundation.INSCopying
    Foundation.INSSecureCoding
    ObjCRuntime.INativeObject
    System.IDisposable
    ```

    Added methods:

    ```csharp
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    ```


    #### Type Changed: HealthKit.HKMetadataKey

    Added property:

    ```csharp
    public static Foundation.NSString HeadphoneGain { get; }
    ```


    #### Type Changed: HealthKit.HKVisionPrescription

    Added interfaces:

    ```csharp
    Foundation.INSCoding
    Foundation.INSCopying
    Foundation.INSSecureCoding
    ObjCRuntime.INativeObject
    System.IDisposable
    ```

    Added methods:

    ```csharp
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    ```


    #### Type Changed: HealthKit.HKWorkoutActivity

    Added constructor:

    ```csharp
    public HKWorkoutActivity (Foundation.NSCoder coder);
    ```

    Added interfaces:

    ```csharp
    Foundation.INSCoding
    Foundation.INSCopying
    Foundation.INSSecureCoding
    ObjCRuntime.INativeObject
    System.IDisposable
    ```

    Added methods:

    ```csharp
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    ```



    ### Namespace HomeKit

    #### Type Changed: HomeKit.HMTimerTrigger

    Added constructor:

    ```csharp
    public HMTimerTrigger (string name, Foundation.NSDate fireDate, Foundation.NSDateComponents recurrence);
    ```



    ### Namespace ImageIO

    #### Type Changed: ImageIO.CGImageProperties

    Added property:

    ```csharp
    public static Foundation.NSString OpenExrCompression { get; }
    ```



    ### Namespace Intents

    #### Type Changed: Intents.INIntentIdentifier

    Added values:

    ```csharp
    AnswerCall = 26,
    HangUpCall = 27,
    ```


    #### New Type: Intents.IINAnswerCallIntentHandling

    ```csharp
    public interface IINAnswerCallIntentHandling : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void HandleAnswerCall (INAnswerCallIntent intent, System.Action<INAnswerCallIntentResponse> completion);
    }
    ```

    #### New Type: Intents.IINHangUpCallIntentHandling

    ```csharp
    public interface IINHangUpCallIntentHandling : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void HandleHangUpCall (INHangUpCallIntent intent, System.Action<INHangUpCallIntentResponse> completion);
    }
    ```

    #### New Type: Intents.INAnswerCallIntent

    ```csharp
    public class INAnswerCallIntent : Intents.INIntent {
    // constructors
    public INAnswerCallIntent ();
    public INAnswerCallIntent (Foundation.NSCoder coder);
    protected INAnswerCallIntent (Foundation.NSObjectFlag t);
    protected INAnswerCallIntent (IntPtr handle);
    public INAnswerCallIntent (INCallAudioRoute audioRoute, string callIdentifier);
    // properties
    public virtual INCallAudioRoute AudioRoute { get; }
    public virtual string CallIdentifier { get; }
    public override IntPtr ClassHandle { get; }
    }
    ```

    #### New Type: Intents.INAnswerCallIntentHandling_Extensions

    ```csharp
    public static class INAnswerCallIntentHandling_Extensions {
    // methods
    public static void ConfirmAnswerCall (this IINAnswerCallIntentHandling This, INAnswerCallIntent intent, System.Action<INAnswerCallIntentResponse> completion);
    }
    ```

    #### New Type: Intents.INAnswerCallIntentResponse

    ```csharp
    public class INAnswerCallIntentResponse : Intents.INIntentResponse {
    // constructors
    public INAnswerCallIntentResponse (Foundation.NSCoder coder);
    protected INAnswerCallIntentResponse (Foundation.NSObjectFlag t);
    protected INAnswerCallIntentResponse (IntPtr handle);
    public INAnswerCallIntentResponse (INAnswerCallIntentResponseCode code, Foundation.NSUserActivity userActivity);
    // properties
    public virtual INCallRecord[] CallRecords { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual INAnswerCallIntentResponseCode Code { get; }
    }
    ```

    #### New Type: Intents.INAnswerCallIntentResponseCode

    ```csharp
    [Serializable]
    public enum INAnswerCallIntentResponseCode {
    ContinueInApp = 2,
    Failure = 5,
    FailureRequiringAppLaunch = 6,
    InProgress = 3,
    Ready = 1,
    Success = 4,
    Unspecified = 0,
    }
    ```

    #### New Type: Intents.INHangUpCallIntent

    ```csharp
    public class INHangUpCallIntent : Intents.INIntent {
    // constructors
    public INHangUpCallIntent ();
    public INHangUpCallIntent (Foundation.NSCoder coder);
    protected INHangUpCallIntent (Foundation.NSObjectFlag t);
    protected INHangUpCallIntent (IntPtr handle);
    public INHangUpCallIntent (string callIdentifier);
    // properties
    public virtual string CallIdentifier { get; }
    public override IntPtr ClassHandle { get; }
    }
    ```

    #### New Type: Intents.INHangUpCallIntentHandling_Extensions

    ```csharp
    public static class INHangUpCallIntentHandling_Extensions {
    // methods
    public static void ConfirmHangUpCall (this IINHangUpCallIntentHandling This, INHangUpCallIntent intent, System.Action<INHangUpCallIntentResponse> completion);
    }
    ```

    #### New Type: Intents.INHangUpCallIntentResponse

    ```csharp
    public class INHangUpCallIntentResponse : Intents.INIntentResponse {
    // constructors
    public INHangUpCallIntentResponse (Foundation.NSCoder coder);
    protected INHangUpCallIntentResponse (Foundation.NSObjectFlag t);
    protected INHangUpCallIntentResponse (IntPtr handle);
    public INHangUpCallIntentResponse (INHangUpCallIntentResponseCode code, Foundation.NSUserActivity userActivity);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INHangUpCallIntentResponseCode Code { get; }
    }
    ```

    #### New Type: Intents.INHangUpCallIntentResponseCode

    ```csharp
    [Serializable]
    public enum INHangUpCallIntentResponseCode {
    Failure = 4,
    FailureNoCallToHangUp = 6,
    FailureRequiringAppLaunch = 5,
    InProgress = 2,
    Ready = 1,
    Success = 3,
    Unspecified = 0,
    }
    ```


    ### Namespace JavaScriptCore

    #### Type Changed: JavaScriptCore.JSContext

    Added property:

    ```csharp
    public virtual bool Inspectable { get; set; }
    ```



    ### Namespace MapKit

    #### Type Changed: MapKit.MKOverlayRenderer

    Added method:

    ```csharp
    public static nfloat MKRoadWidthAtZoomScale (nfloat zoomScale);
    ```


    #### Type Changed: MapKit.MKOverlayView

    Obsoleted methods:

    ```diff
    [Obsolete ("Use 'MKOverlayRenderer.MKRoadWidthAtZoomScale' instead.")]
    public static nfloat MKRoadWidthAtZoomScale (nfloat zoomScale);
    ```


    #### Type Changed: MapKit.MKReverseGeocoder

    Obsoleted properties:

    ```diff
    [Obsolete ("Use the 'Coordinate' property instead.")]
    public virtual CoreLocation.CLLocationCoordinate2D coordinate { get; }
    ```

    Added property:

    ```csharp
    public virtual CoreLocation.CLLocationCoordinate2D Coordinate { get; }
    ```



    ### Namespace MediaAccessibility

    #### New Type: MediaAccessibility.MAVideoAccommodations

    ```csharp
    public static class MAVideoAccommodations {
    // properties
    public static Foundation.NSString DimFlashingLightsChangedNotification { get; }
    // methods
    public static bool IsDimFlashingLightsEnabled ();

    // inner types
    public static class Notifications {
    // methods
    public static Foundation.NSObject ObserveDimFlashingLightsChanged (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
    public static Foundation.NSObject ObserveDimFlashingLightsChanged (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
    }
    }
    ```


    ### Namespace Metal

    #### Type Changed: Metal.IMTLRenderCommandEncoder_Extensions

    Added methods:

    ```csharp
    public static void SetScissorRects (this IMTLRenderCommandEncoder This, MTLScissorRect[] scissorRects);
    public static void SetViewports (this IMTLRenderCommandEncoder This, MTLViewport[] viewports);
    ```



    ### Namespace MetalKit

    #### Type Changed: MetalKit.MTKTextureLoaderOptions

    Modified properties:

    ```diff
    -public bool? GenerateMipmaps { get; set; }
    +public bool? GenerateMipmaps { get; }
    ```



    ### Namespace Network

    #### Type Changed: Network.NWDataTransferReport

    Obsoleted methods:

    ```diff
    [Obsolete ("Use the 'GetPathRadioType' property instead.")]
    public NWInterfaceRadioType get_path_radio_type (uint pathIndex);
    ```

    Added method:

    ```csharp
    public NWInterfaceRadioType GetPathRadioType (uint pathIndex);
    ```


    #### Type Changed: Network.NWQuicStreamType

    Added value:

    ```csharp
    Datagram = 3,
    ```



    ### Namespace NetworkExtension

    #### Type Changed: NetworkExtension.NEAppPushProvider

    Added method:

    ```csharp
    public virtual void ReportPushToTalkMessage (Foundation.NSDictionary userInfo);
    ```


    #### Type Changed: NetworkExtension.NEVpnProtocol

    Added properties:

    ```csharp
    public virtual bool ExcludeApns { get; set; }
    public virtual bool ExcludeCellularServices { get; set; }
    ```



    ### Namespace ObjCRuntime

    #### Type Changed: ObjCRuntime.BlockLiteral

    Added interface:

    ```csharp
    System.IDisposable
    ```

    Added property:

    ```csharp
    public object Context { get; }
    ```

    Added method:

    ```csharp
    public virtual void Dispose ();
    ```


    #### Type Changed: ObjCRuntime.Constants

    Removed field:

    ```csharp
    public static const string NewsstandKitLibrary = "/System/Library/Frameworks/NewsstandKit.framework/NewsstandKit";
    ```

    Modified fields:

    ```diff
    -public const string SdkVersion = "16.1";
    +public const string SdkVersion = "17.0";
    -public const string Version = "16.1.1";
    +public const string Version = "16.99.0";
    ```



    ### Namespace PassKit

    #### Type Changed: PassKit.PKAddPassesViewController

    Added constructor:

    ```csharp
    public PKAddPassesViewController (Foundation.NSData issuerData, Foundation.NSData signature, out Foundation.NSError error);
    ```


    #### Type Changed: PassKit.PKDisbursementAuthorizationControllerDelegate

    Modified methods:

    ```diff
    -public abstract void DidAuthorize (PKDisbursementAuthorizationController controller, PKDisbursementVoucher disbursementVoucher)
    +public virtual void DidAuthorize (PKDisbursementAuthorizationController controller, PKDisbursementVoucher disbursementVoucher)
    -public abstract void DidFinish (PKDisbursementAuthorizationController controller)
    +public virtual void DidFinish (PKDisbursementAuthorizationController controller)
    ```


    #### Type Changed: PassKit.PKDisbursementRequest

    Obsoleted properties:

    ```diff
    [Obsolete ("This property is removed.")]
    public virtual Foundation.NSDecimalNumber Amount { get; set; }
    [Obsolete ("This property is removed.")]
    public virtual string CountryCode { get; set; }
    [Obsolete ("This property is removed.")]
    public virtual PKDisbursementRequestSchedule RequestSchedule { get; set; }
    ```


    #### Type Changed: PassKit.PKPaymentNetwork

    Added property:

    ```csharp
    public static Foundation.NSString PKPaymentNetworkPostFinance { get; }
    ```


    #### Type Changed: PassKit.PKPaymentRequest

    Added property:

    ```csharp
    public virtual PKDeferredPaymentRequest DeferredPaymentRequest { get; set; }
    ```


    #### Type Changed: PassKit.PKPaymentRequestUpdate

    Added property:

    ```csharp
    public virtual PKDeferredPaymentRequest DeferredPaymentRequest { get; set; }
    ```


    #### New Type: PassKit.PKDeferredPaymentRequest

    ```csharp
    public class PKDeferredPaymentRequest : Foundation.NSObject {
    // constructors
    protected PKDeferredPaymentRequest (Foundation.NSObjectFlag t);
    protected PKDeferredPaymentRequest (IntPtr handle);
    public PKDeferredPaymentRequest (string paymentDescription, PKDeferredPaymentSummaryItem deferredBilling, Foundation.NSUrl managementUrl);
    // properties
    public virtual string BillingAgreement { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual PKDeferredPaymentSummaryItem DeferredBilling { get; set; }
    public virtual Foundation.NSDate FreeCancellationDate { get; set; }
    public virtual Foundation.NSTimeZone FreeCancellationDateTimeZone { get; set; }
    public virtual Foundation.NSUrl ManagementUrl { get; set; }
    public virtual string PaymentDescription { get; set; }
    public virtual Foundation.NSUrl TokenNotificationUrl { get; set; }
    }
    ```


    ### Namespace PdfKit

    #### Type Changed: PdfKit.PdfDocumentWriteOptions

    Added properties:

    ```csharp
    public bool? BurnInAnnotations { get; set; }
    public bool? OptimizeImagesForScreen { get; set; }
    public bool? SaveImagesAsJpeg { get; set; }
    public bool? SaveTextFromOcr { get; set; }
    ```



    ### Namespace PencilKit

    #### Type Changed: PencilKit.PKEraserTool

    Added constructor:

    ```csharp
    public PKEraserTool (PKEraserType eraserType, nfloat width);
    ```

    Added property:

    ```csharp
    public virtual nfloat Width { get; }
    ```

    Added methods:

    ```csharp
    public static nfloat GetDefaultWidth (PKEraserType eraserType);
    public static nfloat GetMaximumWidth (PKEraserType eraserType);
    public static nfloat GetMinimumWidth (PKEraserType eraserType);
    ```


    #### Type Changed: PencilKit.PKEraserType

    Added value:

    ```csharp
    FixedWidthBitmap = 2,
    ```



    ### Namespace Photos

    #### Type Changed: Photos.PHFetchResult

    Obsoleted properties:

    ```diff
    [Obsolete ("Use the 'FirstObject' property instead.")]
    public virtual Foundation.NSObject firstObject { get; }
    ```

    Added property:

    ```csharp
    public virtual Foundation.NSObject FirstObject { get; }
    ```


    #### Type Changed: Photos.PHVideoRequestOptions

    Added interfaces:

    ```csharp
    Foundation.INSCopying
    ObjCRuntime.INativeObject
    System.IDisposable
    ```

    Added method:

    ```csharp
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    ```



    ### Namespace SafariServices

    #### Type Changed: SafariServices.SFContentBlockerManager

    Obsoleted constructors:

    ```diff
    [Obsolete ("Constructor marked as unavailable.")]
    public SFContentBlockerManager ();
    ```



    ### Namespace SceneKit

    #### Type Changed: SceneKit.SCNHitTest

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'SearchModeKey' instead.")]
    public static Foundation.NSString OptionSearchModeKey { get; }
    ```



    ### Namespace SensorKit

    #### Type Changed: SensorKit.SRApplicationUsage

    Added properties:

    ```csharp
    public virtual double RelativeStartTime { get; }
    public virtual SRSupplementalCategory[] SupplementalCategories { get; }
    ```


    #### Type Changed: SensorKit.SRDeviceUsageReport

    Added property:

    ```csharp
    public virtual string Version { get; }
    ```


    #### Type Changed: SensorKit.SRKeyboardMetrics

    Added properties:

    ```csharp
    public virtual SensorKit.SRKeyboardProbabilityMetric<Foundation.NSUnitDuration>[] LongWordTouchUpDown { get; }
    public virtual string[] SessionIdentifiers { get; }
    public virtual SensorKit.SRKeyboardProbabilityMetric<Foundation.NSUnitDuration> TouchUpDown { get; }
    ```


    #### Type Changed: SensorKit.SRSensor

    Added value:

    ```csharp
    MediaEvents = 13,
    ```


    #### Type Changed: SensorKit.SRTextInputSession

    Added property:

    ```csharp
    public virtual string SessionIdentifier { get; }
    ```


    #### Type Changed: SensorKit.SRWristDetection

    Added properties:

    ```csharp
    public virtual Foundation.NSDate OffWristDate { get; }
    public virtual Foundation.NSDate OnWristDate { get; }
    ```


    #### New Type: SensorKit.SRMediaEvent

    ```csharp
    public class SRMediaEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SRMediaEvent ();
    public SRMediaEvent (Foundation.NSCoder coder);
    protected SRMediaEvent (Foundation.NSObjectFlag t);
    protected SRMediaEvent (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual SRMediaEventType EventType { get; }
    public virtual string MediaIdentifier { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    }
    ```

    #### New Type: SensorKit.SRMediaEventType

    ```csharp
    [Serializable]
    public enum SRMediaEventType {
    OffScreen = 2,
    OnScreen = 1,
    }
    ```

    #### New Type: SensorKit.SRSupplementalCategory

    ```csharp
    public class SRSupplementalCategory : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SRSupplementalCategory (Foundation.NSCoder coder);
    protected SRSupplementalCategory (Foundation.NSObjectFlag t);
    protected SRSupplementalCategory (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual SRDeviceUsageCategory Identifier { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    }
    ```


    ### Namespace SpriteKit

    #### Type Changed: SpriteKit.SKAction

    Modified methods:

    ```diff
    -public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orient, double sec)
    +public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orientToPath, double sec)
    -public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orient, nfloat speed)
    +public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orientToPath, nfloat speed)
    ```



    ### Namespace StoreKit

    #### Type Changed: StoreKit.StoreProductParameters

    Modified properties:

    ```diff
    -public string AdNetworkSourceAppStoreIdentifier { get; set; }
    +public string AdNetworkSourceAppStoreIdentifier { get; }
    -public string AdNetworkVersion { get; set; }
    +public string AdNetworkVersion { get; }
    -public string ProductIdentifier { get; set; }
    +public string ProductIdentifier { get; }
    -public string ProviderToken { get; set; }
    +public string ProviderToken { get; }
    ```



    ### Namespace System.Net.Http

    #### Type Changed: System.Net.Http.NSUrlSessionHandler

    Obsoleted properties:

    ```diff
    [Obsolete ("This property will be ignored in .NET 8.")]
    public bool BypassBackgroundSessionCheck { get; set; }
    ```



    ### Namespace ThreadNetwork

    #### Type Changed: ThreadNetwork.THClient

    Added methods:

    ```csharp
    public virtual void IsPreferredNetworkAvailable (System.Action<bool> completion);
    public virtual System.Threading.Tasks.Task<bool> IsPreferredNetworkAvailableAsync ();
    public virtual void RetrieveAllActiveCredentials (System.Action<Foundation.NSSet<THCredentials>> completion);
    public virtual System.Threading.Tasks.Task<Foundation.NSSet<THCredentials>> RetrieveAllActiveCredentialsAsync ();
    ```



    ### Namespace UIKit

    #### Type Changed: UIKit.NSTextList

    Added constructors:

    ```csharp
    public NSTextList (string format);
    public NSTextList (NSTextListMarkerFormats format);
    ```

    Obsoleted properties:

    ```diff
    [Obsolete ("Use 'CustomMarkerFormat' instead.")]
    public virtual string MarkerFormat { get; }
    ```

    Added property:

    ```csharp
    public string CustomMarkerFormat { get; }
    ```


    #### Type Changed: UIKit.NSTextListMarkerFormats

    Added value:

    ```csharp
    CustomString = -1,
    ```


    #### Type Changed: UIKit.NSTextListOptions

    Added value:

    ```csharp
    None = 0,
    ```


    #### Type Changed: UIKit.UIActivityItemsConfigurationInteraction

    Added value:

    ```csharp
    Copy = 1,
    ```


    #### Type Changed: UIKit.UIActivityType

    Added property:

    ```csharp
    public static Foundation.NSString AddToHomeScreen { get; }
    ```


    #### Type Changed: UIKit.UIButtonConfiguration

    Added properties:

    ```csharp
    public virtual UILineBreakMode SubtitleLineBreakMode { get; set; }
    public virtual UILineBreakMode TitleLineBreakMode { get; set; }
    ```


    #### Type Changed: UIKit.UICalendarViewDelegate

    Added method:

    ```csharp
    public virtual void DidChangeVisibleDateComponents (UICalendarView calendarView, Foundation.NSDateComponents previousDateComponents);
    ```


    #### Type Changed: UIKit.UIConfigurationColorTransformer

    Obsoleted properties:

    ```diff
    [Obsolete ("Use the 'MonochromeTint' property instead.")]
    public static IntPtr _MonochromeTint { get; }
    [Obsolete ("Use the 'PreferredTint' property instead.")]
    public static IntPtr _PreferredTint { get; }
    ```


    #### Type Changed: UIKit.UIFont

    Obsoleted properties:

    ```diff
    [Obsolete ("Use the 'XHeight' property instead.")]
    public virtual nfloat xHeight { get; }
    ```

    Added property:

    ```csharp
    public virtual nfloat XHeight { get; }
    ```


    #### Type Changed: UIKit.UIHoverGestureRecognizer

    Added property:

    ```csharp
    public virtual nfloat AltitudeAngle { get; }
    ```

    Added methods:

    ```csharp
    public virtual nfloat GetAzimuthAngle (UIView view);
    public virtual CoreGraphics.CGVector GetAzimuthUnitVector (UIView view);
    ```


    #### Type Changed: UIKit.UISearchBar

    Added property:

    ```csharp
    public virtual bool Enabled { get; set; }
    ```


    #### New Type: UIKit.UICalendarViewDelegate_Extensions

    ```csharp
    public static class UICalendarViewDelegate_Extensions {
    // methods
    public static void DidChangeVisibleDateComponents (this IUICalendarViewDelegate This, UICalendarView calendarView, Foundation.NSDateComponents previousDateComponents);
    }
    ```

    #### New Type: UIKit.UIFontWeightConstants

    ```csharp
    public static class UIFontWeightConstants {
    // properties
    public static nfloat Black { get; }
    public static nfloat Bold { get; }
    public static nfloat Heavy { get; }
    public static nfloat Light { get; }
    public static nfloat Medium { get; }
    public static nfloat Regular { get; }
    public static nfloat Semibold { get; }
    public static nfloat Thin { get; }
    public static nfloat UltraLight { get; }
    }
    ```

    #### New Type: UIKit.UIFontWeightExtensions

    ```csharp
    public static class UIFontWeightExtensions {
    // methods
    public static nfloat GetWeight (this UIFontWeight weight);
    }
    ```

    #### New Type: UIKit.UITextInputContext

    ```csharp
    public class UITextInputContext : Foundation.NSObject {
    // constructors
    protected UITextInputContext (Foundation.NSObjectFlag t);
    protected UITextInputContext (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static UITextInputContext Current { get; }
    public virtual bool DictationInputExpected { get; set; }
    public virtual bool HardwareKeyboardInputExpected { get; set; }
    public virtual bool PencilInputExpected { get; set; }
    }
    ```


    ### Namespace VideoSubscriberAccount

    #### Type Changed: VideoSubscriberAccount.VSUserAccount

    Added property:

    ```csharp
    public virtual bool SignedOut { get; set; }
    ```



    ### Namespace WebKit

    #### Type Changed: WebKit.WKPreferences

    Added property:

    ```csharp
    public virtual bool ShouldPrintBackgrounds { get; set; }
    ```


    #### Type Changed: WebKit.WKUIDelegate

    Added methods:

    ```csharp
    public virtual void WillDismissEditMenu (WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator);
    public virtual void WillPresentEditMenu (WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator);
    ```


    #### Type Changed: WebKit.WKUIDelegate_Extensions

    Added methods:

    ```csharp
    public static void WillDismissEditMenu (this IWKUIDelegate This, WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator);
    public static void WillPresentEditMenu (this IWKUIDelegate This, WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator);
    ```


    #### Type Changed: WebKit.WKWebView

    Added property:

    ```csharp
    public virtual bool Inspectable { get; set; }
    ```