Xamarin.iOS SDK API diff: 11.12.0 vs 11.99.3

Xamarin.iOS SDK API diff: 11.12.0 vs 11.99.3

MonoTouch.Dialog-1.dll

Namespace MonoTouch.Dialog

Type Changed: MonoTouch.Dialog.BaseBooleanImageElement

Type Changed: MonoTouch.Dialog.BaseBooleanImageElement.TextWithImageCellView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MonoTouch.Dialog.DialogViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: MonoTouch.Dialog.GlassButton

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MonoTouch.Dialog.MessageSummaryView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MonoTouch.Dialog.RefreshTableHeaderView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

MonoTouch.NUnitLite.dll

Namespace MonoTouch.NUnit.UI

Type Changed: MonoTouch.NUnit.UI.TouchViewController

Added interface:

UIKit.IUIUserActivityRestoring

mscorlib.dll

Namespace System

Type Changed: System.BitConverter

Removed method:

public static int ToInt32 (System.ReadOnlySpan<byte> value);

Type Changed: System.Int32

Removed method:

public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);

Type Changed: System.String

Removed constructor:

public String (System.ReadOnlySpan<char> value);

Removed method:

public static System.ReadOnlySpan<char> op_Implicit (string value);

Removed Type System.Memory`1

Removed Type System.ReadOnlyMemory`1

Namespace System.Buffers

New Type: System.Buffers.IRetainable

public interface IRetainable {
    // methods
    public virtual bool Release ();
    public virtual void Retain ();
}

New Type: System.Buffers.MemoryHandle

public struct MemoryHandle, System.IDisposable {
    // constructors
    public MemoryHandle (IRetainable retainable, void* pointer, System.Runtime.InteropServices.GCHandle handle);
    // properties
    public bool HasPointer { get; }
    public void* Pointer { get; }
    // methods
    public virtual void Dispose ();
}

Namespace System.IO

Type Changed: System.IO.Stream

Removed methods:

public virtual int Read (System.Span<byte> destination);
public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public virtual void Write (System.ReadOnlySpan<byte> source);

Namespace System.Text

Type Changed: System.Text.Encoding

Removed method:

public string GetString (System.ReadOnlySpan<byte> bytes);

OpenTK-1.0.dll

Namespace OpenTK.Platform.iPhoneOS

Type Changed: OpenTK.Platform.iPhoneOS.iPhoneOSGameView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

System.dll

Namespace System.IO.Compression

Type Changed: System.IO.Compression.GZipStream

Removed methods:

public override int Read (System.Span<byte> destination);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> source);

Namespace System.Net

Type Changed: System.Net.HttpWebRequest

Added method:

public override System.Threading.Tasks.Task<System.IO.Stream> GetRequestStreamAsync ();

Namespace System.Net.WebSockets

Type Changed: System.Net.WebSockets.ClientWebSocket

Removed methods:

public override System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);

Type Changed: System.Net.WebSockets.WebSocket

Removed methods:

public static WebSocket CreateFromStream (System.IO.Stream stream, bool isServer, string subProtocol, System.TimeSpan keepAliveInterval, System.Memory<byte> buffer);
public virtual System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);

System.Numerics.dll

Namespace System.Numerics

Type Changed: System.Numerics.BigInteger

Removed constructor:

public BigInteger (System.ReadOnlySpan<byte> value, bool isUnsigned, bool isBigEndian);

Removed methods:

public static BigInteger Parse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider);
public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, System.IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> value, out BigInteger result);
public static bool TryParse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out BigInteger result);
public bool TryWriteBytes (System.Span<byte> destination, out int bytesWritten, bool isUnsigned, bool isBigEndian);

Xamarin.iOS.dll

Namespace ARKit

Type Changed: ARKit.ARAnchor

Added constructors:

public ARAnchor (ARAnchor anchor);
public ARAnchor (string name, OpenTK.NMatrix4 transform);

Added interface:

IARAnchorCopying

Added property:

public virtual string Name { get; }

Type Changed: ARKit.ARBlendShapeLocationOptions

Added property:

public float? TongueOut { get; set; }

Type Changed: ARKit.ARCamera

Obsoleted methods:

[Obsolete ("Use 'Project' instead.")]
 public virtual CoreGraphics.CGPoint GetProjectPoint (OpenTK.NVector3 point, UIKit.UIInterfaceOrientation orientation, CoreGraphics.CGSize viewportSize);

Added methods:

public virtual CoreGraphics.CGPoint Project (OpenTK.NVector3 point, UIKit.UIInterfaceOrientation orientation, CoreGraphics.CGSize viewportSize);
public virtual OpenTK.NVector3 Unproject (CoreGraphics.CGPoint point, OpenTK.NMatrix4 planeTransform, UIKit.UIInterfaceOrientation orientation, CoreGraphics.CGSize viewportSize);

Type Changed: ARKit.ARErrorCode

Added values:

FileIOFailed = 500,
InsufficientFeatures = 400,
InvalidConfiguration = 303,
InvalidReferenceObject = 301,
InvalidWorldMap = 302,
ObjectMergeFailed = 401,

Type Changed: ARKit.ARFaceAnchor

Added constructor:

public ARFaceAnchor (ARAnchor anchor);

Added interface:

IARAnchorCopying

Added properties:

public virtual OpenTK.NMatrix4 LeftEyeTransform { get; }
public virtual OpenTK.NVector3 LookAtPoint { get; }
public virtual OpenTK.NMatrix4 RightEyeTransform { get; }

Type Changed: ARKit.ARFrame

Added property:

public virtual ARWorldMappingStatus WorldMappingStatus { get; }

Type Changed: ARKit.ARImageAnchor

Added constructor:

public ARImageAnchor (ARAnchor anchor);

Added interfaces:

IARAnchorCopying
IARTrackable

Added property:

public virtual bool IsTracked { get; }

Type Changed: ARKit.ARPlaneAnchor

Added constructor:

public ARPlaneAnchor (ARAnchor anchor);

Added interface:

IARAnchorCopying

Type Changed: ARKit.ARSCNView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Added method:

public virtual OpenTK.NVector3 Unproject (CoreGraphics.CGPoint point, OpenTK.NMatrix4 planeTransform);

Type Changed: ARKit.ARSKView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: ARKit.ARSession

Added methods:

public virtual void CreateReferenceObject (OpenTK.NMatrix4 transform, OpenTK.NVector3 center, OpenTK.NVector3 extent, System.Action<ARReferenceObject,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<ARReferenceObject> CreateReferenceObjectAsync (OpenTK.NMatrix4 transform, OpenTK.NVector3 center, OpenTK.NVector3 extent);
public virtual void GetCurrentWorldMap (System.Action<ARWorldMap,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<ARWorldMap> GetCurrentWorldMapAsync ();
public virtual void Run (ARConfiguration configuration);

Type Changed: ARKit.ARSessionRunOptions

Added value:

None = 0,

Type Changed: ARKit.ARWorldTrackingConfiguration

Added properties:

public virtual Foundation.NSSet<ARReferenceObject> DetectionObjects { get; set; }
public virtual AREnvironmentTexturing EnvironmentTexturing { get; set; }
public virtual ARWorldMap InitialWorldMap { get; set; }
public virtual nint MaximumNumberOfTrackedImages { get; set; }

New Type: ARKit.AREnvironmentProbeAnchor

public class AREnvironmentProbeAnchor : ARKit.ARAnchor, IARAnchorCopying, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public AREnvironmentProbeAnchor (ARAnchor anchor);
    public AREnvironmentProbeAnchor (Foundation.NSCoder coder);
    protected AREnvironmentProbeAnchor (Foundation.NSObjectFlag t);
    protected AREnvironmentProbeAnchor (IntPtr handle);
    public AREnvironmentProbeAnchor (OpenTK.NMatrix4 transform, OpenTK.NVector3 extent);
    public AREnvironmentProbeAnchor (string name, OpenTK.NMatrix4 transform, OpenTK.NVector3 extent);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Metal.IMTLTexture EnvironmentTexture { get; }
    public virtual OpenTK.NVector3 Extent { get; }
}

New Type: ARKit.AREnvironmentTexturing

[Serializable]
public enum AREnvironmentTexturing {
    Automatic = 2,
    Manual = 1,
    None = 0,
}

New Type: ARKit.ARImageTrackingConfiguration

public class ARImageTrackingConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ARImageTrackingConfiguration ();
    protected ARImageTrackingConfiguration (Foundation.NSObjectFlag t);
    protected ARImageTrackingConfiguration (IntPtr handle);
    // properties
    public virtual bool AutoFocusEnabled { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual nint MaximumNumberOfTrackedImages { get; set; }
    public virtual Foundation.NSSet<ARReferenceImage> TrackingImages { get; set; }
}

New Type: ARKit.ARObjectAnchor

public class ARObjectAnchor : ARKit.ARAnchor, IARAnchorCopying, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ARObjectAnchor (ARAnchor anchor);
    public ARObjectAnchor (Foundation.NSCoder coder);
    protected ARObjectAnchor (Foundation.NSObjectFlag t);
    protected ARObjectAnchor (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual ARReferenceObject ReferenceObject { get; }
}

New Type: ARKit.ARObjectScanningConfiguration

public class ARObjectScanningConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ARObjectScanningConfiguration ();
    protected ARObjectScanningConfiguration (Foundation.NSObjectFlag t);
    protected ARObjectScanningConfiguration (IntPtr handle);
    // properties
    public virtual bool AutoFocusEnabled { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual ARPlaneDetection PlaneDetection { get; set; }
}

New Type: ARKit.ARReferenceObject

public class ARReferenceObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ARReferenceObject (Foundation.NSCoder coder);
    protected ARReferenceObject (Foundation.NSObjectFlag t);
    protected ARReferenceObject (IntPtr handle);
    public ARReferenceObject (Foundation.NSUrl archiveUrl, out Foundation.NSError error);
    // properties
    public static Foundation.NSString ArchiveExtension { get; }
    public virtual OpenTK.NVector3 Center { get; }
    public override IntPtr ClassHandle { get; }
    public virtual OpenTK.NVector3 Extent { get; }
    public virtual string Name { get; set; }
    public virtual ARPointCloud RawFeaturePoints { get; }
    public virtual OpenTK.NVector3 Scale { get; }
    // methods
    public virtual ARReferenceObject ApplyTransform (OpenTK.NMatrix4 transform);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public virtual bool Export (Foundation.NSUrl url, UIKit.UIImage previewImage, out Foundation.NSError error);
    public static Foundation.NSSet<ARReferenceObject> GetReferenceObjects (string resourceGroupName, Foundation.NSBundle bundle);
    public virtual ARReferenceObject Merge (ARReferenceObject object, out Foundation.NSError error);
}

New Type: ARKit.ARWorldMap

public class ARWorldMap : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ARWorldMap (Foundation.NSCoder coder);
    protected ARWorldMap (Foundation.NSObjectFlag t);
    protected ARWorldMap (IntPtr handle);
    // properties
    public virtual ARAnchor[] Anchors { get; set; }
    public virtual OpenTK.NVector3 Center { get; }
    public override IntPtr ClassHandle { get; }
    public virtual OpenTK.NVector3 Extent { get; }
    public virtual ARPointCloud RawFeaturePoints { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: ARKit.ARWorldMappingStatus

[Serializable]
public enum ARWorldMappingStatus {
    Extending = 2,
    Limited = 1,
    Mapped = 3,
    NotAvailable = 0,
}

New Type: ARKit.IARAnchorCopying

public interface IARAnchorCopying : Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
}

Namespace AVFoundation

Type Changed: AVFoundation.AVAsset

Added properties:

public static Foundation.NSString ContainsFragmentsDidChangeNotification { get; }
public static Foundation.NSString WasDefragmentedNotification { get; }

Type Changed: AVFoundation.AVAsset.Notifications

Added methods:

public static Foundation.NSObject ObserveContainsFragmentsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveContainsFragmentsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveWasDefragmented (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveWasDefragmented (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);

Type Changed: AVFoundation.AVAssetResourceLoadingRequest

Added property:

public virtual AVAssetResourceLoadingRequestor Requestor { get; }

Type Changed: AVFoundation.AVAudioEngine

Added methods:

public virtual void ConnectMidi (AVAudioNode sourceNode, AVAudioNode destinationNode, AVAudioFormat format, AudioUnit.AUMidiOutputEventBlock tapHandler);
public virtual void ConnectMidi (AVAudioNode sourceNode, AVAudioNode[] destinationNodes, AVAudioFormat format, AudioUnit.AUMidiOutputEventBlock tapHandler);
public virtual void DisconnectMidi (AVAudioNode sourceNode, AVAudioNode destinationNode);
public virtual void DisconnectMidi (AVAudioNode sourceNode, AVAudioNode[] destinationNodes);
public virtual void DisconnectMidiInput (AVAudioNode node);
public virtual void DisconnectMidiOutput (AVAudioNode node);

Type Changed: AVFoundation.AVAudioSession

Added property:

public static Foundation.NSString VoicePrompt { get; }

Type Changed: AVFoundation.AVCaptureDevice

Added properties:

public virtual CoreMedia.CMTime ActiveDepthDataMinFrameDuration { get; set; }
public virtual CoreMedia.CMTime ActiveMaxExposureDuration { get; set; }

Type Changed: AVFoundation.AVCaptureDeviceFormat

Added property:

public virtual bool PortraitEffectsMatteStillImageDeliverySupported { get; }

Type Changed: AVFoundation.AVCaptureDeviceInput

Added property:

public virtual bool UnifiedAutoExposureDefaultsEnabled { get; set; }

Type Changed: AVFoundation.AVCaptureMovieFileOutput

Added method:

public virtual string[] GetSupportedOutputSettingsKeys (AVCaptureConnection connection);

Type Changed: AVFoundation.AVCapturePhoto

Added property:

public virtual AVPortraitEffectsMatte PortraitEffectsMatte { get; }

Added method:

public virtual Foundation.NSData GetFileDataRepresentation (IAVCapturePhotoFileDataRepresentationCustomizer customizer);

Type Changed: AVFoundation.AVCapturePhotoOutput

Added properties:

public virtual bool PortraitEffectsMatteDeliveryEnabled { get; set; }
public virtual bool PortraitEffectsMatteDeliverySupported { get; }

Type Changed: AVFoundation.AVCapturePhotoSettings

Obsoleted properties:

[Obsolete ("Use 'AvailableEmbeddedThumbnailPhotoCodecTypes' instead.")]
 public virtual AVVideoCodecType[] GetAvailableEmbeddedThumbnailPhotoCodecTypes { get; }

Modified properties:

public ---virtual--- AVVideoCodecType[] GetAvailableEmbeddedThumbnailPhotoCodecTypes { get; }

Added properties:

public virtual AVVideoCodecType[] AvailableEmbeddedThumbnailPhotoCodecTypes { get; }
public virtual AVVideoCodecType[] AvailableRawEmbeddedThumbnailPhotoCodecTypes { get; }
public virtual bool EmbedsPortraitEffectsMatteInPhoto { get; set; }
public virtual bool PortraitEffectsMatteDeliveryEnabled { get; set; }
public AVCapturePhotoSettingsThumbnailFormat RawEmbeddedThumbnailPhotoFormat { get; set; }
public virtual Foundation.NSDictionary WeakRawEmbeddedThumbnailPhotoFormat { get; set; }

Type Changed: AVFoundation.AVCaptureResolvedPhotoSettings

Added properties:

public virtual CoreMedia.CMVideoDimensions PortraitEffectsMatteDimensions { get; }
public virtual CoreMedia.CMVideoDimensions RawEmbeddedThumbnailDimensions { get; }

Type Changed: AVFoundation.AVContentKeySessionDelegate

Added methods:

public virtual void DidGenerateExpiredSessionReport (AVContentKeySession session);
public virtual void DidSucceed (AVContentKeySession session, AVContentKeyRequest keyRequest);

Type Changed: AVFoundation.AVContentKeySessionDelegate_Extensions

Added methods:

public static void DidGenerateExpiredSessionReport (this IAVContentKeySessionDelegate This, AVContentKeySession session);
public static void DidSucceed (this IAVContentKeySessionDelegate This, AVContentKeySession session, AVContentKeyRequest keyRequest);

Type Changed: AVFoundation.AVMutableCompositionTrack

Added methods:

public virtual void AddTrackAssociation (AVCompositionTrack compositionTrack, string trackAssociationType);
public virtual void RemoveTrackAssociation (AVCompositionTrack compositionTrack, string trackAssociationType);

Type Changed: AVFoundation.AVPlayer

Added property:

public virtual bool PreventsDisplaySleepDuringVideoPlayback { get; set; }

Type Changed: AVFoundation.AVSampleBufferRenderSynchronizer

Added property:

public static Foundation.NSString RateDidChangeNotification { get; }

New Type: AVFoundation.AVAssetResourceLoadingRequestor

public class AVAssetResourceLoadingRequestor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected AVAssetResourceLoadingRequestor (Foundation.NSObjectFlag t);
    protected AVAssetResourceLoadingRequestor (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool ProvidesExpiredSessionReports { get; }
}

New Type: AVFoundation.AVAudioSessionActivationOptions

[Serializable]
[Flags]
public enum AVAudioSessionActivationOptions {
    None = 0,
}

New Type: AVFoundation.AVCapturePhotoFileDataRepresentationCustomizer_Extensions

public static class AVCapturePhotoFileDataRepresentationCustomizer_Extensions {
    // methods
    public static AVDepthData GetReplacementDepthData (this IAVCapturePhotoFileDataRepresentationCustomizer This, AVCapturePhoto photo);
    public static CoreVideo.CVPixelBuffer GetReplacementEmbeddedThumbnail (this IAVCapturePhotoFileDataRepresentationCustomizer This, out Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> replacementEmbeddedThumbnailPhotoFormatOut, AVCapturePhoto photo);
    public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetReplacementMetadata (this IAVCapturePhotoFileDataRepresentationCustomizer This, AVCapturePhoto photo);
    public static AVPortraitEffectsMatte GetReplacementPortraitEffectsMatte (this IAVCapturePhotoFileDataRepresentationCustomizer This, AVCapturePhoto photo);
}

New Type: AVFoundation.AVCapturePhotoSettingsThumbnailFormat

public class AVCapturePhotoSettingsThumbnailFormat : Foundation.DictionaryContainer {
    // constructors
    public AVCapturePhotoSettingsThumbnailFormat ();
    public AVCapturePhotoSettingsThumbnailFormat (Foundation.NSDictionary dictionary);
    // properties
    public Foundation.NSString Codec { get; set; }
    public Foundation.NSNumber Height { get; set; }
    public Foundation.NSNumber Width { get; set; }
}

New Type: AVFoundation.AVFragmentedAsset

public class AVFragmentedAsset : AVFoundation.AVUrlAsset, IAVContentKeyRecipient, IAVFragmentMinding, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected AVFragmentedAsset (Foundation.NSObjectFlag t);
    protected AVFragmentedAsset (IntPtr handle);
    public AVFragmentedAsset (Foundation.NSUrl url, Foundation.NSDictionary options);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual AVFragmentedAssetTrack[] Tracks { get; }
    // methods
    public static AVFragmentedAsset FromUrl (Foundation.NSUrl url, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
    public virtual bool IsAssociatedWithFragmentMinder ();
}

New Type: AVFoundation.AVFragmentedAssetMinder

public class AVFragmentedAssetMinder : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public AVFragmentedAssetMinder ();
    protected AVFragmentedAssetMinder (Foundation.NSObjectFlag t);
    protected AVFragmentedAssetMinder (IntPtr handle);
    public AVFragmentedAssetMinder (IAVFragmentMinding asset, double mindingInterval);
    // properties
    public virtual AVAsset[] Assets { get; }
    public override IntPtr ClassHandle { get; }
    public virtual double MindingInterval { get; set; }
    // methods
    public virtual void AddFragmentedAsset (AVAsset asset);
    public static AVFragmentedAssetMinder FromAsset (AVAsset asset, double mindingInterval);
    public virtual void RemoveFragmentedAsset (AVAsset asset);
}

New Type: AVFoundation.AVFragmentedAssetTrack

public class AVFragmentedAssetTrack : AVFoundation.AVAssetTrack, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected AVFragmentedAssetTrack (Foundation.NSObjectFlag t);
    protected AVFragmentedAssetTrack (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
}

New Type: AVFoundation.AVFragmentedAsset_AVFragmentedAssetTrackInspection

public static class AVFragmentedAsset_AVFragmentedAssetTrackInspection {
    // methods
    public static AVFragmentedAssetTrack GetTrack (this AVFragmentedAsset This, int trackID);
    public static AVFragmentedAssetTrack[] GetTracks (this AVFragmentedAsset This, AVMediaCharacteristics mediaCharacteristic);
    public static AVFragmentedAssetTrack[] GetTracks (this AVFragmentedAsset This, AVMediaTypes mediaType);
    public static AVFragmentedAssetTrack[] GetTracks (this AVFragmentedAsset This, string mediaType);
    public static AVFragmentedAssetTrack[] GetTracksWithMediaCharacteristic (this AVFragmentedAsset This, string mediaCharacteristic);
}

New Type: AVFoundation.AVPortraitEffectsMatte

public class AVPortraitEffectsMatte : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected AVPortraitEffectsMatte (Foundation.NSObjectFlag t);
    protected AVPortraitEffectsMatte (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CoreVideo.CVPixelBuffer MattingImage { get; }
    public virtual uint PixelFormatType { get; }
    // methods
    public virtual AVPortraitEffectsMatte Create (ImageIO.CGImagePropertyOrientation exifOrientation);
    public virtual AVPortraitEffectsMatte Create (CoreVideo.CVPixelBuffer pixelBuffer, out Foundation.NSError outError);
    public static AVPortraitEffectsMatte Create (Foundation.NSDictionary imageSourceAuxDataInfoDictionary, out Foundation.NSError outError);
    public virtual Foundation.NSDictionary GetDictionaryRepresentation (out string outAuxDataType);
}

New Type: AVFoundation.IAVCapturePhotoFileDataRepresentationCustomizer

public interface IAVCapturePhotoFileDataRepresentationCustomizer : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: AVFoundation.IAVFragmentMinding

public interface IAVFragmentMinding : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual bool IsAssociatedWithFragmentMinder ();
}

Namespace AVKit

Type Changed: AVKit.AVPlayerViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: AVKit.AVRoutePickerView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace AddressBookUI

Type Changed: AddressBookUI.ABNewPersonViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: AddressBookUI.ABPeoplePickerNavigationController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: AddressBookUI.ABPersonViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: AddressBookUI.ABUnknownPersonViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLabel

Added values:

BinauralLeft = 208,
BinauralRight = 209,

Type Changed: AudioToolbox.AudioChannelLayoutTagExtensions

Added method:

public static bool IsReserved (this AudioChannelLayoutTag value);

New Type: AudioToolbox.AudioChannelLabelExtensions

public static class AudioChannelLabelExtensions {
    // methods
    public static bool IsReserved (this AudioChannelLabel value);
}

Namespace AudioUnit

Type Changed: AudioUnit.AUAudioUnit

Added property:

public virtual AUMidiCIProfileChangedCallback ProfileChangedCallback { get; set; }

Added methods:

public virtual bool Disable (CoreMidi.MidiCIProfile profile, byte cable, byte channel, out Foundation.NSError outError);
public virtual bool Enable (CoreMidi.MidiCIProfile profile, byte cable, byte channel, out Foundation.NSError outError);
public virtual CoreMidi.MidiCIProfileState GetProfileState (byte cable, byte channel);

New Type: AudioUnit.AUMidiCIProfileChangedCallback

public sealed delegate AUMidiCIProfileChangedCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public AUMidiCIProfileChangedCallback (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (byte cable, byte channel, CoreMidi.MidiCIProfile profile, bool enabled, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (byte cable, byte channel, CoreMidi.MidiCIProfile profile, bool enabled);
}

Namespace BusinessChat

Type Changed: BusinessChat.BCChatButton

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace CloudKit

Type Changed: CloudKit.CKFetchRecordZoneChangesOperation

Added constructor:

public CKFetchRecordZoneChangesOperation (CKRecordZoneID[] recordZoneIDs, Foundation.NSDictionary<CKRecordZoneID,CloudKit.CKFetchRecordZoneChangesConfiguration> configurationsByRecordZoneID);

Added property:

public virtual Foundation.NSDictionary<CKRecordZoneID,CloudKit.CKFetchRecordZoneChangesConfiguration> ConfigurationsByRecordZoneID { get; set; }

Type Changed: CloudKit.CKShareMetadata

Added property:

public virtual CKShareParticipantRole ParticipantRole { get; }

Type Changed: CloudKit.CKShareParticipant

Added property:

public virtual CKShareParticipantRole Role { get; set; }

New Type: CloudKit.CKFetchRecordZoneChangesConfiguration

public class CKFetchRecordZoneChangesConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CKFetchRecordZoneChangesConfiguration ();
    public CKFetchRecordZoneChangesConfiguration (Foundation.NSCoder coder);
    protected CKFetchRecordZoneChangesConfiguration (Foundation.NSObjectFlag t);
    protected CKFetchRecordZoneChangesConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string[] DesiredKeys { get; set; }
    public virtual CKServerChangeToken PreviousServerChangeToken { get; set; }
    public virtual uint ResultsLimit { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CloudKit.CKShareParticipantRole

[Serializable]
public enum CKShareParticipantRole {
    Owner = 1,
    PrivateUser = 3,
    PublicUser = 4,
    Unknown = 0,
}

Namespace Contacts

Type Changed: Contacts.CNContact

Added methods:

public static Foundation.NSPredicate GetPredicateForContacts (CNPhoneNumber phoneNumber);
public static Foundation.NSPredicate GetPredicateForContactsMatchingEmailAddress (string emailAddress);

Type Changed: Contacts.CNErrorCode

Added values:

RecordIdentifierInvalid = 205,
VCardSummarizationError = 701,

Namespace ContactsUI

Type Changed: ContactsUI.CNContactPickerViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: ContactsUI.CNContactViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace CoreAnimation

Type Changed: CoreAnimation.CAGradientLayer

Obsoleted properties:

[Obsolete ("Use 'LayerType' property instead.")]
 public virtual string Type { get; set; }

Added property:

public virtual CAGradientLayerType LayerType { get; set; }

New Type: CoreAnimation.CAGradientLayerType

[Serializable]
public enum CAGradientLayerType {
    Axial = 0,
    Conic = 2,
    Radial = 1,
}

New Type: CoreAnimation.CAGradientLayerTypeExtensions

public static class CAGradientLayerTypeExtensions {
    // methods
    public static Foundation.NSString GetConstant (this CAGradientLayerType self);
    public static CAGradientLayerType GetValue (Foundation.NSString constant);
}

Namespace CoreAudioKit

Type Changed: CoreAudioKit.AUViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: CoreAudioKit.CABTMidiCentralViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: CoreAudioKit.CABTMidiLocalPeripheralViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: CoreAudioKit.CAInterAppAudioSwitcherView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: CoreAudioKit.CAInterAppAudioTransportView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBError

Added value:

OperationNotSupported = 13,

Namespace CoreFoundation

New Type: CoreFoundation.CFPropertyList

public class CFPropertyList : ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public CFPropertyList (IntPtr handle);
    public CFPropertyList (IntPtr handle, bool owns);
    // properties
    public virtual IntPtr Handle { get; }
    public object Value { get; }
    // methods
    public System.ValueTuple<Foundation.NSData,Foundation.NSError> AsData (CFPropertyListFormat format);
    public CFPropertyList DeepCopy (CFPropertyListMutabilityOptions options);
    public virtual void Dispose ();
    public virtual void Dispose (bool disposing);
    public static System.ValueTuple<CFPropertyList,CoreFoundation.CFPropertyListFormat,Foundation.NSError> FromData (Foundation.NSData data, CFPropertyListMutabilityOptions options);
    public bool IsValid (CFPropertyListFormat format);
    protected override void ~CFPropertyList ();
}

New Type: CoreFoundation.CFPropertyListFormat

[Serializable]
public enum CFPropertyListFormat {
    BinaryFormat1 = 200,
    OpenStep = 1,
    XmlFormat1 = 100,
}

New Type: CoreFoundation.CFPropertyListMutabilityOptions

[Serializable]
[Flags]
public enum CFPropertyListMutabilityOptions {
    Immutable = 0,
    MutableContainers = 1,
    MutableContainersAndLeaves = 2,
}

New Type: CoreFoundation.DispatchData

public class DispatchData : CoreFoundation.DispatchObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public DispatchData (IntPtr handle);
    public DispatchData (IntPtr handle, bool owns);
    // properties
    public uint Size { get; }
    // methods
    public static DispatchData Concat (DispatchData data1, DispatchData data2);
    public DispatchData CreateMap (out IntPtr bufferPtr, out uint size);
    public DispatchData CreateSubrange (uint offset, uint size);
    public static DispatchData FromBuffer (IntPtr buffer, uint size);
    public static DispatchData FromByteBuffer (byte[] buffer);
    public static DispatchData FromByteBuffer (byte[] buffer, int start, int length);
}

New Type: CoreFoundation.DispatchIO

public class DispatchIO : CoreFoundation.DispatchObject, ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public static void Read (int fd, uint size, DispatchQueue dispatchQueue, DispatchIOHandler handler);
    public static void Write (int fd, DispatchData dispatchData, DispatchQueue dispatchQueue, DispatchIOHandler handler);
}

New Type: CoreFoundation.DispatchIOHandler

public sealed delegate DispatchIOHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public DispatchIOHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (DispatchData data, int error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (DispatchData data, int error);
}

New Type: CoreFoundation.NativeObject

public abstract class NativeObject : ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    protected NativeObject ();
    protected NativeObject (IntPtr handle, bool owns);
    // properties
    protected override IntPtr Handle { get; set; }
    // methods
    public virtual void Dispose ();
    protected virtual void Dispose (bool disposing);
    protected virtual void InitializeHandle (IntPtr handle);
    protected virtual void Release ();
    protected virtual void Retain ();
    protected override void ~NativeObject ();
}

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColorSpace

Added constructor:

public CGColorSpace (CoreFoundation.CFPropertyList propertyList);

Added method:

public CoreFoundation.CFPropertyList ToPropertyList ();

Type Changed: CoreGraphics.CGColorSpaceModel

Added value:

XYZ = 7,

Type Changed: CoreGraphics.CGFunction

Added property:

public CGFunction.CGFunctionEvaluate EvaluateFunction { get; set; }

Type Changed: CoreGraphics.CGImage

Added properties:

public CGImageByteOrderInfo ByteOrderInfo { get; }
public CGImagePixelFormatInfo PixelFormatInfo { get; }

Type Changed: CoreGraphics.CGPDFArray

Added methods:

public bool Apply (CGPDFArray.ApplyCallback callback, object info);
public bool GetArray (nint idx, out CGPDFArray array);
public bool GetBoolean (nint idx, out bool result);
public bool GetDictionary (nint idx, out CGPDFDictionary result);
public bool GetFloat (nint idx, out nfloat result);
public bool GetInt (nint idx, out nint result);
public bool GetName (nint idx, out string result);
public bool GetStream (nint idx, out CGPDFStream result);
public bool GetString (nint idx, out string result);

Type Changed: CoreGraphics.CGPDFDictionary

Added method:

public void Apply (CGPDFDictionary.ApplyCallback callback, object info);

New Type: CoreGraphics.CGImageByteOrderInfo

[Serializable]
[Flags]
public enum CGImageByteOrderInfo {
    ByteOrder16Big = 12288,
    ByteOrder16Little = 4096,
    ByteOrder32Big = 16384,
    ByteOrder32Little = 8192,
    ByteOrderDefault = 0,
    ByteOrderMask = 28672,
}

New Type: CoreGraphics.CGImagePixelFormatInfo

[Serializable]
public enum CGImagePixelFormatInfo {
    Mask = 983040,
    Packed = 0,
    Rgb101010 = 196608,
    Rgb555 = 65536,
    Rgb565 = 131072,
    RgbCif10 = 262144,
}

Namespace CoreImage

Type Changed: CoreImage.CIAreaMaximum

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIAreaMaximumAlpha

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIAreaMinimum

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIAreaMinimumAlpha

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIColumnAverage

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIFilterInputKey

Added properties:

public static Foundation.NSString Amount { get; }
public static Foundation.NSString MatteImage { get; }

Type Changed: CoreImage.CIImage

Added constructors:

public CIImage (AVFoundation.AVDepthData data);
public CIImage (AVFoundation.AVPortraitEffectsMatte matte);
public CIImage (AVFoundation.AVDepthData data, Foundation.NSDictionary options);
public CIImage (AVFoundation.AVPortraitEffectsMatte matte, Foundation.NSDictionary options);

Added property:

public virtual AVFoundation.AVPortraitEffectsMatte PortraitEffectsMatte { get; }

Added methods:

public virtual CIImage CreateByInsertingIntermediate ();
public virtual CIImage CreateByInsertingIntermediate (bool cache);
public static CIImage FromDepthData (AVFoundation.AVDepthData data);
public static CIImage FromDepthData (AVFoundation.AVDepthData data, Foundation.NSDictionary options);
public static CIImage FromPortraitEffectsMatte (AVFoundation.AVPortraitEffectsMatte matte);
public static CIImage FromPortraitEffectsMatte (AVFoundation.AVPortraitEffectsMatte matte, Foundation.NSDictionary options);

Type Changed: CoreImage.CIImageInitializationOptions

Added property:

public bool? AuxiliaryPortraitEffectsMatte { get; }

Type Changed: CoreImage.CIImageRepresentationOptions

Added property:

public AVFoundation.AVPortraitEffectsMatte AVPortraitEffectsMatte { get; set; }

New Type: CoreImage.CIAreaMinMax

public class CIAreaMinMax : CoreImage.CIReductionFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIAreaMinMax ();
    public CIAreaMinMax (Foundation.NSCoder coder);
    protected CIAreaMinMax (Foundation.NSObjectFlag t);
    public CIAreaMinMax (IntPtr handle);
}

New Type: CoreImage.CICameraCalibrationLensCorrection

public class CICameraCalibrationLensCorrection : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CICameraCalibrationLensCorrection ();
    public CICameraCalibrationLensCorrection (Foundation.NSCoder coder);
    protected CICameraCalibrationLensCorrection (Foundation.NSObjectFlag t);
    public CICameraCalibrationLensCorrection (IntPtr handle);
    // properties
    public AVFoundation.AVCameraCalibrationData AVCameraCalibrationData { get; set; }
    public bool UseInverseLookUpTable { get; set; }
}

New Type: CoreImage.CIContext_CIDepthBlurEffect

public static class CIContext_CIDepthBlurEffect {
    // methods
    public static CIFilter GetDepthBlurEffectFilter (this CIContext This, Foundation.NSData data, Foundation.NSDictionary options);
    public static CIFilter GetDepthBlurEffectFilter (this CIContext This, Foundation.NSUrl url, Foundation.NSDictionary options);
    public static CIFilter GetDepthBlurEffectFilter (this CIContext This, CIImage image, CIImage disparityImage, CIImage portraitEffectsMatte, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary options);
}

New Type: CoreImage.CICoreMLModelFilter

public class CICoreMLModelFilter : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CICoreMLModelFilter ();
    public CICoreMLModelFilter (Foundation.NSCoder coder);
    protected CICoreMLModelFilter (Foundation.NSObjectFlag t);
    public CICoreMLModelFilter (IntPtr handle);
    // properties
    public CoreML.MLModel Model { get; set; }
}

New Type: CoreImage.CIDither

public class CIDither : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIDither ();
    public CIDither (Foundation.NSCoder coder);
    protected CIDither (Foundation.NSObjectFlag t);
    public CIDither (IntPtr handle);
    // properties
    public float Intensity { get; set; }
}

New Type: CoreImage.CIGuidedFilter

public class CIGuidedFilter : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIGuidedFilter ();
    public CIGuidedFilter (Foundation.NSCoder coder);
    protected CIGuidedFilter (Foundation.NSObjectFlag t);
    public CIGuidedFilter (IntPtr handle);
    // properties
    public float Epsilon { get; set; }
    public CIImage GuideImage { get; set; }
    public float Radius { get; set; }
}

New Type: CoreImage.CIMeshGenerator

public class CIMeshGenerator : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIMeshGenerator ();
    public CIMeshGenerator (Foundation.NSCoder coder);
    protected CIMeshGenerator (Foundation.NSObjectFlag t);
    public CIMeshGenerator (IntPtr handle);
    // properties
    public CIColor Color { get; set; }
    public float Width { get; set; }
}

New Type: CoreImage.CIMix

public class CIMix : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIMix ();
    public CIMix (Foundation.NSCoder coder);
    protected CIMix (Foundation.NSObjectFlag t);
    public CIMix (IntPtr handle);
    // properties
    public float Amount { get; set; }
    public CIImage BackgroundImage { get; set; }
}

New Type: CoreImage.CIReductionFilter

public abstract class CIReductionFilter : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIReductionFilter (Foundation.NSCoder coder);
    protected CIReductionFilter (Foundation.NSObjectFlag t);
    public CIReductionFilter (IntPtr handle);
    protected CIReductionFilter (string name);
    // properties
    public CIVector Extent { get; set; }
}

New Type: CoreImage.CISaliencyMapFilter

public class CISaliencyMapFilter : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CISaliencyMapFilter ();
    public CISaliencyMapFilter (Foundation.NSCoder coder);
    protected CISaliencyMapFilter (Foundation.NSObjectFlag t);
    public CISaliencyMapFilter (IntPtr handle);
}

New Type: CoreImage.CISampleNearest

public class CISampleNearest : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CISampleNearest ();
    public CISampleNearest (Foundation.NSCoder coder);
    protected CISampleNearest (Foundation.NSObjectFlag t);
    public CISampleNearest (IntPtr handle);
}

Namespace CoreLocation

Type Changed: CoreLocation.CLActivityType

Added value:

Airborne = 5,

Namespace CoreML

Type Changed: CoreML.MLFeatureDescription

Added property:

public virtual MLSequenceConstraint SequenceConstraint { get; }

Type Changed: CoreML.MLFeatureType

Added value:

Sequence = 7,

Type Changed: CoreML.MLFeatureValue

Added property:

public virtual MLSequence SequenceValue { get; }

Added method:

public static MLFeatureValue Create (MLSequence sequence);

Type Changed: CoreML.MLImageConstraint

Added property:

public virtual MLImageSizeConstraint SizeConstraint { get; }

Type Changed: CoreML.MLModel

Added property:

public virtual MLModelConfiguration Configuration { get; }

Added methods:

public static MLModel Create (Foundation.NSUrl url, MLModelConfiguration configuration, out Foundation.NSError error);
public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);

Type Changed: CoreML.MLModelError

Added value:

CustomModel = 5,

Type Changed: CoreML.MLMultiArrayConstraint

Added property:

public virtual MLMultiArrayShapeConstraint ShapeConstraint { get; }

New Type: CoreML.IMLBatchProvider

public interface IMLBatchProvider : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual nint Count { get; }
    // methods
    public virtual IMLFeatureProvider GetFeatures (nint index);
}

New Type: CoreML.IMLCustomModel

public interface IMLCustomModel : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLArrayBatchProvider

public class MLArrayBatchProvider : Foundation.NSObject, IMLBatchProvider, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MLArrayBatchProvider (IMLFeatureProvider[] array);
    protected MLArrayBatchProvider (Foundation.NSObjectFlag t);
    protected MLArrayBatchProvider (IntPtr handle);
    public MLArrayBatchProvider (Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray> dictionary, out Foundation.NSError error);
    // properties
    public virtual IMLFeatureProvider[] Array { get; }
    public override IntPtr ClassHandle { get; }
    public virtual nint Count { get; }
    // methods
    public virtual IMLFeatureProvider GetFeatures (nint index);
}

New Type: CoreML.MLComputeUnits

[Serializable]
public enum MLComputeUnits {
    CpuAndGpu = 1,
    CpuOnly = 0,
}

New Type: CoreML.MLCustomModel

public abstract class MLCustomModel : Foundation.NSObject, IMLCustomModel, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLCustomModel ();
    protected MLCustomModel (Foundation.NSObjectFlag t);
    protected MLCustomModel (IntPtr handle);
    public MLCustomModel (MLModelDescription modelDescription, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> parameters, out Foundation.NSError error);
    // methods
    public virtual IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error);
    public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLCustomModel_Extensions

public static class MLCustomModel_Extensions {
    // methods
    public static IMLBatchProvider GetPredictions (this IMLCustomModel This, IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLImageSize

public class MLImageSize : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLImageSize (Foundation.NSObjectFlag t);
    protected MLImageSize (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual nint PixelsHigh { get; }
    public virtual nint PixelsWide { get; }
}

New Type: CoreML.MLImageSizeConstraint

public class MLImageSizeConstraint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLImageSizeConstraint (Foundation.NSObjectFlag t);
    protected MLImageSizeConstraint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MLImageSize[] EnumeratedImageSizes { get; }
    public virtual Foundation.NSRange PixelsHighRange { get; }
    public virtual Foundation.NSRange PixelsWideRange { get; }
    public virtual MLImageSizeConstraintType Type { get; }
}

New Type: CoreML.MLImageSizeConstraintType

[Serializable]
public enum MLImageSizeConstraintType {
    Enumerated = 2,
    Range = 3,
    Unspecified = 0,
}

New Type: CoreML.MLModelConfiguration

public class MLModelConfiguration : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MLModelConfiguration ();
    protected MLModelConfiguration (Foundation.NSObjectFlag t);
    protected MLModelConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MLComputeUnits ComputeUnits { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CoreML.MLMultiArrayShapeConstraint

public class MLMultiArrayShapeConstraint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLMultiArrayShapeConstraint (Foundation.NSObjectFlag t);
    protected MLMultiArrayShapeConstraint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSArray<Foundation.NSNumber>[] EnumeratedShapes { get; }
    public virtual Foundation.NSValue[] SizeRangeForDimension { get; }
    public virtual MLMultiArrayShapeConstraintType Type { get; }
}

New Type: CoreML.MLMultiArrayShapeConstraintType

[Serializable]
public enum MLMultiArrayShapeConstraintType {
    Enumerated = 2,
    Range = 3,
    Unspecified = 1,
}

New Type: CoreML.MLSequence

public class MLSequence : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLSequence (Foundation.NSObjectFlag t);
    protected MLSequence (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSNumber[] Int64Values { get; }
    public virtual string[] StringValues { get; }
    public virtual MLFeatureType Type { get; }
    // methods
    public static MLSequence Create (Foundation.NSNumber[] int64Values);
    public static MLSequence Create (string[] stringValues);
    public static MLSequence CreateEmpty (MLFeatureType type);
}

New Type: CoreML.MLSequenceConstraint

public class MLSequenceConstraint : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLSequenceConstraint (Foundation.NSObjectFlag t);
    protected MLSequenceConstraint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSRange CountRange { get; }
    public virtual MLFeatureDescription ValueDescription { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

Namespace CoreMedia

Type Changed: CoreMedia.CMTime

Added method:

public static CMTime Fold (CMTime time, CMTimeRange foldRange);

Namespace CoreMidi

Type Changed: CoreMidi.MidiDevice

Added properties:

public string FactoryPatchNameFile { get; set; }
public string UserPatchNameFile { get; set; }
public bool UsesSerial { get; set; }

Added method:

public int Add (string name, bool embedded, uint numSourceEndpoints, uint numDestinationEndpoints, MidiEntity newEntity);

New Type: CoreMidi.MidiCIDeviceIdentification

public struct MidiCIDeviceIdentification {
    // fields
    public byte[] Family;
    public byte[] Manufacturer;
    public byte[] ModelNumber;
    public byte[] Reserved;
    public byte[] RevisionLevel;
}

New Type: CoreMidi.MidiCIProfile

public class MidiCIProfile : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MidiCIProfile (Foundation.NSCoder coder);
    protected MidiCIProfile (Foundation.NSObjectFlag t);
    protected MidiCIProfile (IntPtr handle);
    public MidiCIProfile (Foundation.NSData data, string inName);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Name { get; }
    public virtual Foundation.NSData ProfileId { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMidi.MidiCIProfileChangedHandler

public sealed delegate MidiCIProfileChangedHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MidiCIProfileChangedHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (MidiCISession session, byte channel, MidiCIProfile profile, bool enabled, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (MidiCISession session, byte channel, MidiCIProfile profile, bool enabled);
}

New Type: CoreMidi.MidiCIProfileState

public class MidiCIProfileState : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MidiCIProfileState (Foundation.NSCoder coder);
    protected MidiCIProfileState (Foundation.NSObjectFlag t);
    protected MidiCIProfileState (IntPtr handle);
    public MidiCIProfileState (MidiCIProfile[] enabled, MidiCIProfile[] disabled);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MidiCIProfile[] DisabledProfiles { get; }
    public virtual MidiCIProfile[] EnabledProfiles { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMidi.MidiCIPropertyChangedHandler

public sealed delegate MidiCIPropertyChangedHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MidiCIPropertyChangedHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (MidiCISession session, byte channel, Foundation.NSData data, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (MidiCISession session, byte channel, Foundation.NSData data);
}

New Type: CoreMidi.MidiCIPropertyResponseHandler

public sealed delegate MidiCIPropertyResponseHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MidiCIPropertyResponseHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (MidiCISession session, byte channel, Foundation.NSData response, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (MidiCISession session, byte channel, Foundation.NSData response, Foundation.NSError error);
}

New Type: CoreMidi.MidiCISession

public class MidiCISession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MidiCISession (Foundation.NSObjectFlag t);
    protected MidiCISession (IntPtr handle);
    public MidiCISession (uint entity, System.Action handler);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MidiCIDeviceIdentification DeviceIdentification { get; }
    public virtual uint Entity { get; }
    public virtual MidiCIProfileChangedHandler ProfileChangedCallback { get; set; }
    public virtual MidiCIPropertyChangedHandler PropertyChangedCallback { get; set; }
    public virtual bool SupportsProfileCapability { get; }
    public virtual bool SupportsPropertyCapability { get; }
    // methods
    public virtual bool DisableProfile (MidiCIProfile profile, byte channel, out Foundation.NSError outError);
    public virtual bool EnableProfile (MidiCIProfile profile, byte channel, out Foundation.NSError outError);
    public virtual MidiCIProfileState GetProfileState (byte channel);
    public virtual void GetProperty (Foundation.NSData inquiry, byte channel, MidiCIPropertyResponseHandler handler);
    public virtual void HasProperty (Foundation.NSData inquiry, byte channel, MidiCIPropertyResponseHandler handler);
    public virtual void SetProperty (Foundation.NSData inquiry, byte channel, MidiCIPropertyResponseHandler handler);
}

New Type: CoreMidi.MidiDeviceList

public class MidiDeviceList : CoreMidi.MidiObject, System.IDisposable {
    // constructors
    public MidiDeviceList ();
}

Namespace CoreMotion

New Type: CoreMotion.CMDyskineticSymptomResult

public class CMDyskineticSymptomResult : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CMDyskineticSymptomResult (Foundation.NSCoder coder);
    protected CMDyskineticSymptomResult (Foundation.NSObjectFlag t);
    protected CMDyskineticSymptomResult (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public virtual float PercentLikely { get; }
    public virtual float PercentUnlikely { get; }
    public virtual Foundation.NSDate StartDate { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMotion.CMTremorResult

public class CMTremorResult : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CMTremorResult (Foundation.NSCoder coder);
    protected CMTremorResult (Foundation.NSObjectFlag t);
    protected CMTremorResult (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public virtual float PercentMild { get; }
    public virtual float PercentModerate { get; }
    public virtual float PercentNone { get; }
    public virtual float PercentSlight { get; }
    public virtual float PercentStrong { get; }
    public virtual float PercentUnknown { get; }
    public virtual Foundation.NSDate StartDate { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

Namespace CoreNFC

New Type: CoreNFC.NSUserActivity_CoreNFC

public static class NSUserActivity_CoreNFC {
    // methods
    public static NFCNdefMessage GetNdefMessagePayload (this Foundation.NSUserActivity This);
}

Namespace CoreText

Type Changed: CoreText.CTFontCollection

Added method:

public CTFontDescriptor[] GetMatchingFontDescriptors (CTFontCollectionOptions options);

Type Changed: CoreText.CTFramesetter

Added method:

public static CTFramesetter Create (CTTypesetter typesetter);

Type Changed: CoreText.CTTypesetterOptionKey

Added property:

public static Foundation.NSString AllowUnboundedLayout { get; }

Type Changed: CoreText.CTTypesetterOptions

Added property:

public bool AllowUnboundedLayout { get; set; }

Namespace CoreVideo

Type Changed: CoreVideo.CVImageBufferTransferFunction

Added value:

Linear = 11,

Type Changed: CoreVideo.CVPixelFormatDescription

Added field:

public static Foundation.NSString ContainsGrayscaleKey;

Namespace EventKit

Type Changed: EventKit.EKRecurrenceDayOfWeek

Added constructor:

public EKRecurrenceDayOfWeek (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: EventKit.EKRecurrenceEnd

Added constructor:

public EKRecurrenceEnd (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Namespace EventKitUI

Type Changed: EventKitUI.EKCalendarChooser

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: EventKitUI.EKEventEditViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: EventKitUI.EKEventViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace FileProviderUI

Type Changed: FileProviderUI.FPUIActionExtensionViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace Foundation

Type Changed: Foundation.NSFileWrapper

Added interface:

INSSecureCoding

Type Changed: Foundation.NSKeyedArchiver

Added constructor:

public NSKeyedArchiver (bool requiresSecureCoding);

Added method:

public static NSData ArchivedDataWithRootObject (NSObject object, bool requiresSecureCoding, out NSError error);

Type Changed: Foundation.NSKeyedUnarchiver

Added constructor:

public NSKeyedUnarchiver (NSData data, out NSError error);

Added methods:

public static NSObject GetUnarchivedObject (Foundation.NSSet<ObjCRuntime.Class> classes, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (ObjCRuntime.Class cls, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (System.Type type, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (System.Type[] types, NSData data, out NSError error);

Type Changed: Foundation.NSUrlRequestNetworkServiceType

Added value:

ResponsiveData = 5,

Type Changed: Foundation.NSUserActivity

Added properties:

public virtual bool EligibleForPrediction { get; set; }
public virtual string PersistentIdentifier { get; set; }
public virtual string SuggestedInvocationPhrase { get; set; }

Added methods:

public static void DeleteAllSavedUserActivities (System.Action handler);
public static System.Threading.Tasks.Task DeleteAllSavedUserActivitiesAsync ();
public static void DeleteSavedUserActivities (string[] persistentIdentifiers, System.Action handler);
public static System.Threading.Tasks.Task DeleteSavedUserActivitiesAsync (string[] persistentIdentifiers);

Type Changed: Foundation.NSValueTransformer

Added property:

public static NSString SecureUnarchiveFromDataTransformerName { get; }

Type Changed: Foundation.ProtocolMemberAttribute

Added property:

public System.Type[] ParameterBlockProxy { get; set; }

Namespace GLKit

Type Changed: GLKit.GLKView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: GLKit.GLKViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace GameController

Type Changed: GameController.GCEventViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace GameKit

Type Changed: GameKit.GKAchievementViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: GameKit.GKFriendRequestComposeViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: GameKit.GKGameCenterViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: GameKit.GKLeaderboardViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: GameKit.GKMatchmakerViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: GameKit.GKTurnBasedMatchmakerViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace GameplayKit

Type Changed: GameplayKit.GKAgent

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKAgent2D

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKAgent3D

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKComponent

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKEntity

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGraph

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGraphNode

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGraphNode2D

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGraphNode3D

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGridGraph

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGridGraphNode

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKMeshGraph`1

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKNoise

Obsoleted methods:

[Obsolete ("Use 'GKNoise.Displace' instead.")]
 public virtual void DisplaceX (GKNoise xDisplacementNoise, GKNoise yDisplacementNoise, GKNoise zDisplacementNoise);

Added method:

public virtual void Displace (GKNoise xDisplacementNoise, GKNoise yDisplacementNoise, GKNoise zDisplacementNoise);

Type Changed: GameplayKit.GKObstacleGraph

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKObstacleGraph`1

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKPolygonObstacle

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKSCNNodeComponent

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKSKNodeComponent

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKScene

Added interface:

Foundation.INSSecureCoding

Namespace HealthKit

Type Changed: HealthKit.HKHealthStore

Added property:

public virtual bool SupportsHealthRecords { get; }

Added methods:

public virtual void GetRequestStatusForAuthorizationToShare (Foundation.NSSet<HKSampleType> typesToShare, Foundation.NSSet<HKObjectType> typesToRead, HKHealthStoreGetRequestStatusForAuthorizationToShareHandler completion);
public virtual System.Threading.Tasks.Task<HKAuthorizationRequestStatus> GetRequestStatusForAuthorizationToShareAsync (Foundation.NSSet<HKSampleType> typesToShare, Foundation.NSSet<HKObjectType> typesToRead);

Type Changed: HealthKit.HKMetadata

Added properties:

public HKQuantity CrossTrainerDistance { get; set; }
public HKQuantity FitnessMachineDuration { get; set; }
public HKQuantity IndoorBikeDistance { get; set; }

Type Changed: HealthKit.HKMetadataKey

Added properties:

public static Foundation.NSString CrossTrainerDistance { get; }
public static Foundation.NSString FitnessMachineDuration { get; }
public static Foundation.NSString IndoorBikeDistance { get; }

Type Changed: HealthKit.HKObjectType

Added method:

public static HKClinicalType GetClinicalType (HKClinicalTypeIdentifier identifier);

Type Changed: HealthKit.HKPredicateKeyPath

Added properties:

public static Foundation.NSString ClinicalRecordFhirResourceIdentifier { get; }
public static Foundation.NSString ClinicalRecordFhirResourceType { get; }
public static Foundation.NSString PathSum { get; }

Type Changed: HealthKit.HKQuantitySample

Added property:

public virtual nint Count { get; }

Type Changed: HealthKit.HKQuery

Added methods:

public static Foundation.NSPredicate GetPredicateForClinicalRecords (HKFhirResourceType resourceType);
public static Foundation.NSPredicate GetPredicateForClinicalRecords (HKSource source, HKFhirResourceType resourceType, string identifier);

Type Changed: HealthKit.HKStatistics

Added properties:

public virtual HKQuantity MostRecentQuantity { get; }
public virtual Foundation.NSDateInterval MostRecentQuantityDateInterval { get; }

Added methods:

public virtual HKQuantity GetMostRecentQuantity (HKSource source);
public virtual Foundation.NSDateInterval GetMostRecentQuantityDateInterval (HKSource source);

Type Changed: HealthKit.HKWorkoutRouteBuilder

Added methods:

protected virtual void AddMetadata (Foundation.NSDictionary metadata, HKWorkoutRouteBuilderAddMetadataHandler completion);
public void AddMetadata (HKMetadata metadata, HKWorkoutRouteBuilderAddMetadataHandler completion);
protected virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddMetadataAsync (Foundation.NSDictionary metadata);
public System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddMetadataAsync (HKMetadata metadata);

New Type: HealthKit.HKAuthorizationRequestStatus

[Serializable]
public enum HKAuthorizationRequestStatus {
    ShouldRequest = 1,
    Unknown = 0,
    Unnecessary = 2,
}

New Type: HealthKit.HKClinicalRecord

public class HKClinicalRecord : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public HKClinicalRecord (Foundation.NSCoder coder);
    protected HKClinicalRecord (Foundation.NSObjectFlag t);
    protected HKClinicalRecord (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKClinicalType ClinicalType { get; }
    public virtual string DisplayName { get; }
    public virtual HKFhirResource FhirResource { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKClinicalType

public class HKClinicalType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public HKClinicalType (Foundation.NSCoder coder);
    protected HKClinicalType (Foundation.NSObjectFlag t);
    protected HKClinicalType (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKClinicalTypeIdentifier

[Serializable]
public enum HKClinicalTypeIdentifier {
    AllergyRecord = 0,
    ConditionRecord = 1,
    ImmunizationRecord = 2,
    LabResultRecord = 3,
    MedicationRecord = 4,
    ProcedureRecord = 5,
    VitalSignRecord = 6,
}

New Type: HealthKit.HKClinicalTypeIdentifierExtensions

public static class HKClinicalTypeIdentifierExtensions {
    // methods
    public static Foundation.NSString GetConstant (this HKClinicalTypeIdentifier self);
    public static HKClinicalTypeIdentifier GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKCumulativeQuantitySeriesSample

public class HKCumulativeQuantitySeriesSample : HealthKit.HKQuantitySample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public HKCumulativeQuantitySeriesSample (Foundation.NSCoder coder);
    protected HKCumulativeQuantitySeriesSample (Foundation.NSObjectFlag t);
    protected HKCumulativeQuantitySeriesSample (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKQuantity Sum { get; }
}

New Type: HealthKit.HKFhirResource

public class HKFhirResource : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public HKFhirResource (Foundation.NSCoder coder);
    protected HKFhirResource (Foundation.NSObjectFlag t);
    protected HKFhirResource (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSData Data { get; }
    public virtual string Identifier { get; }
    public virtual HKFhirResourceType ResourceType { get; }
    public virtual Foundation.NSUrl SourceUrl { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKFhirResourceType

[Serializable]
public enum HKFhirResourceType {
    AllergyIntolerance = 0,
    Condition = 1,
    Immunization = 2,
    MedicationDispense = 3,
    MedicationOrder = 4,
    MedicationStatement = 5,
    Observation = 6,
    Procedure = 7,
}

New Type: HealthKit.HKFhirResourceTypeExtensions

public static class HKFhirResourceTypeExtensions {
    // methods
    public static Foundation.NSString GetConstant (this HKFhirResourceType self);
    public static HKFhirResourceType GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKHealthStoreGetRequestStatusForAuthorizationToShareHandler

public sealed delegate HKHealthStoreGetRequestStatusForAuthorizationToShareHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public HKHealthStoreGetRequestStatusForAuthorizationToShareHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (HKAuthorizationRequestStatus requestStatus, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (HKAuthorizationRequestStatus requestStatus, Foundation.NSError error);
}

New Type: HealthKit.HKQuantitySeriesSampleBuilder

public class HKQuantitySeriesSampleBuilder : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected HKQuantitySeriesSampleBuilder (Foundation.NSObjectFlag t);
    protected HKQuantitySeriesSampleBuilder (IntPtr handle);
    public HKQuantitySeriesSampleBuilder (HKHealthStore healthStore, HKQuantityType quantityType, Foundation.NSDate startDate, HKDevice device);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKDevice Device { get; }
    public virtual HKQuantityType QuantityType { get; }
    public virtual Foundation.NSDate StartDate { get; }
    // methods
    public virtual void Discard ();
    protected virtual void FinishSeries (Foundation.NSDictionary metadata, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
    public void FinishSeries (HKMetadata metadata, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
    protected virtual System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (Foundation.NSDictionary metadata);
    public System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (HKMetadata metadata);
    public virtual bool Insert (HKQuantity quantity, Foundation.NSDate date, out Foundation.NSError error);
}

New Type: HealthKit.HKQuantitySeriesSampleBuilderFinishSeriesDelegate

public sealed delegate HKQuantitySeriesSampleBuilderFinishSeriesDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public HKQuantitySeriesSampleBuilderFinishSeriesDelegate (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (HKQuantitySample[] samples, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (HKQuantitySample[] samples, Foundation.NSError error);
}

New Type: HealthKit.HKQuantitySeriesSampleQuery

public class HKQuantitySeriesSampleQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public HKQuantitySeriesSampleQuery ();
    protected HKQuantitySeriesSampleQuery (Foundation.NSObjectFlag t);
    protected HKQuantitySeriesSampleQuery (IntPtr handle);
    public HKQuantitySeriesSampleQuery (HKQuantitySample quantitySample, HKQuantitySeriesSampleQueryQuantityDelegate quantityHandler);
    // properties
    public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKQuantitySeriesSampleQueryQuantityDelegate

public sealed delegate HKQuantitySeriesSampleQueryQuantityDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public HKQuantitySeriesSampleQueryQuantityDelegate (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (HKQuantitySeriesSampleQuery query, HKQuantity quantity, Foundation.NSDate date, bool done, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (HKQuantitySeriesSampleQuery query, HKQuantity quantity, Foundation.NSDate date, bool done, Foundation.NSError error);
}

New Type: HealthKit.HKWorkoutBuilder

public class HKWorkoutBuilder : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected HKWorkoutBuilder (Foundation.NSObjectFlag t);
    protected HKWorkoutBuilder (IntPtr handle);
    public HKWorkoutBuilder (HKHealthStore healthStore, HKWorkoutConfiguration configuration, HKDevice device);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKDevice Device { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public HKMetadata Metadata { get; }
    protected virtual Foundation.NSDictionary NativeMetadata { get; }
    public virtual Foundation.NSDate StartDate { get; }
    public virtual HKWorkoutConfiguration WorkoutConfiguration { get; }
    public virtual HKWorkoutEvent[] WorkoutEvents { get; }
    // methods
    protected virtual void Add (Foundation.NSDictionary metadata, HKWorkoutBuilderCompletionHandler completionHandler);
    public void Add (HKMetadata metadata, HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual void Add (HKSample[] samples, HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual void Add (HKWorkoutEvent[] workoutEvents, HKWorkoutBuilderCompletionHandler completionHandler);
    protected virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (Foundation.NSDictionary metadata);
    public System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKMetadata metadata);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKSample[] samples);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKWorkoutEvent[] workoutEvents);
    public virtual void BeginCollection (Foundation.NSDate startDate, HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> BeginCollectionAsync (Foundation.NSDate startDate);
    public virtual void DiscardWorkout ();
    public virtual void EndCollection (Foundation.NSDate endDate, HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> EndCollectionAsync (Foundation.NSDate endDate);
    public virtual void FinishWorkout (HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> FinishWorkoutAsync ();
    public virtual double GetElapsedTime (Foundation.NSDate date);
    public virtual HKSeriesBuilder GetSeriesBuilder (HKSeriesType seriesType);
    public virtual HKStatistics GetStatistics (HKQuantityType quantityType);
}

New Type: HealthKit.HKWorkoutBuilderCompletionHandler

public sealed delegate HKWorkoutBuilderCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public HKWorkoutBuilderCompletionHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (bool success, Foundation.NSError error);
}

New Type: HealthKit.HKWorkoutRouteBuilderAddMetadataHandler

public sealed delegate HKWorkoutRouteBuilderAddMetadataHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public HKWorkoutRouteBuilderAddMetadataHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (bool success, Foundation.NSError error);
}

Namespace HealthKitUI

Type Changed: HealthKitUI.HKActivityRingView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace HomeKit

Type Changed: HomeKit.HMCameraView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace IdentityLookup

New Type: IdentityLookup.ILCallClassificationRequest

public class ILCallClassificationRequest : IdentityLookup.ILClassificationRequest, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ILCallClassificationRequest (Foundation.NSCoder coder);
    protected ILCallClassificationRequest (Foundation.NSObjectFlag t);
    protected ILCallClassificationRequest (IntPtr handle);
    // properties
    public virtual ILCallCommunication[] CallCommunications { get; }
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: IdentityLookup.ILCallCommunication

public class ILCallCommunication : IdentityLookup.ILCommunication, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ILCallCommunication (Foundation.NSCoder coder);
    protected ILCallCommunication (Foundation.NSObjectFlag t);
    protected ILCallCommunication (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual bool IsEqualTo (ILCallCommunication communication);
}

New Type: IdentityLookup.ILClassificationAction

[Serializable]
public enum ILClassificationAction {
    None = 0,
    ReportJunk = 2,
    ReportJunkAndBlockSender = 3,
    ReportNotJunk = 1,
}

New Type: IdentityLookup.ILClassificationRequest

public abstract class ILClassificationRequest : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected ILClassificationRequest (Foundation.NSCoder coder);
    protected ILClassificationRequest (Foundation.NSObjectFlag t);
    protected ILClassificationRequest (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: IdentityLookup.ILClassificationResponse

public class ILClassificationResponse : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ILClassificationResponse (Foundation.NSCoder coder);
    protected ILClassificationResponse (Foundation.NSObjectFlag t);
    public ILClassificationResponse (ILClassificationAction action);
    protected ILClassificationResponse (IntPtr handle);
    // properties
    public virtual ILClassificationAction Action { get; }
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> UserInfo { get; set; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: IdentityLookup.ILCommunication

public abstract class ILCommunication : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected ILCommunication (Foundation.NSCoder coder);
    protected ILCommunication (Foundation.NSObjectFlag t);
    protected ILCommunication (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate DateReceived { get; }
    public virtual string Sender { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public virtual bool IsEqualTo (ILCommunication communication);
}

New Type: IdentityLookup.ILMessageClassificationRequest

public class ILMessageClassificationRequest : IdentityLookup.ILClassificationRequest, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ILMessageClassificationRequest (Foundation.NSCoder coder);
    protected ILMessageClassificationRequest (Foundation.NSObjectFlag t);
    protected ILMessageClassificationRequest (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual ILMessageCommunication[] MessageCommunications { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: IdentityLookup.ILMessageCommunication

public class ILMessageCommunication : IdentityLookup.ILCommunication, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ILMessageCommunication (Foundation.NSCoder coder);
    protected ILMessageCommunication (Foundation.NSObjectFlag t);
    protected ILMessageCommunication (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string MessageBody { get; }
    // methods
    public virtual bool IsEqualTo (ILMessageCommunication communication);
}

Namespace ImageIO

Type Changed: ImageIO.CGImageAuxiliaryDataType

Added value:

PortraitEffectsMatte = 2,

Type Changed: ImageIO.CGImageProperties

Removed property:

public static Foundation.NSString ExifCFAPattern { get; }

Added properties:

public static Foundation.NSString DNGActiveArea { get; }
public static Foundation.NSString DNGAnalogBalance { get; }
public static Foundation.NSString DNGAntiAliasStrength { get; }
public static Foundation.NSString DNGAsShotICCProfile { get; }
public static Foundation.NSString DNGAsShotPreProfileMatrix { get; }
public static Foundation.NSString DNGAsShotProfileName { get; }
public static Foundation.NSString DNGBaselineExposureOffset { get; }
public static Foundation.NSString DNGBayerGreenSplit { get; }
public static Foundation.NSString DNGBestQualityScale { get; }
public static Foundation.NSString DNGBlackLevelDeltaHorizontal { get; }
public static Foundation.NSString DNGBlackLevelDeltaVertical { get; }
public static Foundation.NSString DNGBlackLevelRepeatDim { get; }
public static Foundation.NSString DNGCfaLayout { get; }
public static Foundation.NSString DNGCfaPlaneColor { get; }
public static Foundation.NSString DNGChromaBlurRadius { get; }
public static Foundation.NSString DNGColorimetricReference { get; }
public static Foundation.NSString DNGCurrentICCProfile { get; }
public static Foundation.NSString DNGCurrentPreProfileMatrix { get; }
public static Foundation.NSString DNGDefaultBlackRender { get; }
public static Foundation.NSString DNGDefaultCropOrigin { get; }
public static Foundation.NSString DNGDefaultCropSize { get; }
public static Foundation.NSString DNGDefaultScale { get; }
public static Foundation.NSString DNGDefaultUserCrop { get; }
public static Foundation.NSString DNGExtraCameraProfiles { get; }
public static Foundation.NSString DNGForwardMatrix1 { get; }
public static Foundation.NSString DNGForwardMatrix2 { get; }
public static Foundation.NSString DNGLinearResponseLimit { get; }
public static Foundation.NSString DNGLinearizationTable { get; }
public static Foundation.NSString DNGMakerNoteSafety { get; }
public static Foundation.NSString DNGMaskedAreas { get; }
public static Foundation.NSString DNGNewRawImageDigest { get; }
public static Foundation.NSString DNGNoiseReductionApplied { get; }
public static Foundation.NSString DNGOpcodeList1 { get; }
public static Foundation.NSString DNGOpcodeList2 { get; }
public static Foundation.NSString DNGOpcodeList3 { get; }
public static Foundation.NSString DNGOriginalBestQualityFinalSize { get; }
public static Foundation.NSString DNGOriginalDefaultCropSize { get; }
public static Foundation.NSString DNGOriginalDefaultFinalSize { get; }
public static Foundation.NSString DNGOriginalRawFileData { get; }
public static Foundation.NSString DNGOriginalRawFileDigest { get; }
public static Foundation.NSString DNGOriginalRawFileName { get; }
public static Foundation.NSString DNGPreviewApplicationName { get; }
public static Foundation.NSString DNGPreviewApplicationVersion { get; }
public static Foundation.NSString DNGPreviewColorSpace { get; }
public static Foundation.NSString DNGPreviewDateTime { get; }
public static Foundation.NSString DNGPreviewSettingsDigest { get; }
public static Foundation.NSString DNGPreviewSettingsName { get; }
public static Foundation.NSString DNGProfileCopyright { get; }
public static Foundation.NSString DNGProfileEmbedPolicy { get; }
public static Foundation.NSString DNGProfileHueSatMapData1 { get; }
public static Foundation.NSString DNGProfileHueSatMapData2 { get; }
public static Foundation.NSString DNGProfileHueSatMapDims { get; }
public static Foundation.NSString DNGProfileHueSatMapEncoding { get; }
public static Foundation.NSString DNGProfileLookTableData { get; }
public static Foundation.NSString DNGProfileLookTableDims { get; }
public static Foundation.NSString DNGProfileLookTableEncoding { get; }
public static Foundation.NSString DNGProfileName { get; }
public static Foundation.NSString DNGProfileToneCurve { get; }
public static Foundation.NSString DNGRawDataUniqueId { get; }
public static Foundation.NSString DNGRawImageDigest { get; }
public static Foundation.NSString DNGRawToPreviewGain { get; }
public static Foundation.NSString DNGReductionMatrix1 { get; }
public static Foundation.NSString DNGReductionMatrix2 { get; }
public static Foundation.NSString DNGRowInterleaveFactor { get; }
public static Foundation.NSString DNGShadowScale { get; }
public static Foundation.NSString DNGSubTileBlockSize { get; }
public static Foundation.NSString ExifCfaPattern { get; }
public static Foundation.NSString PNGComment { get; }
public static Foundation.NSString PNGDisclaimer { get; }
public static Foundation.NSString PNGSource { get; }
public static Foundation.NSString PNGWarning { get; }
public static Foundation.NSString PrimaryImage { get; }

Type Changed: ImageIO.CGImageSource

Added method:

public uint GetPrimaryImageIndex ();

Namespace Intents

Type Changed: Intents.INCancelRideIntentResponse

Removed method:

protected override void Dispose (bool disposing);

Type Changed: Intents.INGetAvailableRestaurantReservationBookingDefaultsIntentResponse

Removed method:

protected override void Dispose (bool disposing);

Type Changed: Intents.INGetCarPowerLevelStatusIntentResponse

Added properties:

public virtual bool? Charging { get; set; }
public virtual double? MinutesToFull { get; set; }

Type Changed: Intents.INIntent

Added property:

public virtual string SuggestedInvocationPhrase { get; set; }

Added methods:

public virtual INImage GetImage (string parameterName);
public virtual INImage GetKeyImage ();
public virtual void SetImage (INImage image, string parameterName);

Type Changed: Intents.INIntentErrorCode

Added values:

DecodingGeneric = 9000,
EncodingFailed = 8001,
EncodingGeneric = 8000,
ImageGeneric = 6000,
ImageLoadingFailed = 6003,
ImageNoServiceAvailable = 6001,
ImageProxyInvalid = 6006,
ImageProxyLoop = 6005,
ImageProxyTimeout = 6007,
ImageRetrievalFailed = 6004,
ImageScalingFailed = 6009,
ImageServiceFailure = 6008,
ImageStorageFailed = 6002,
NoAppAvailable = 2005,
PermissionDenied = 6010,
VoiceShortcutCreationFailed = 7000,
VoiceShortcutDeleteFailed = 7002,
VoiceShortcutGetFailed = 7001,

Type Changed: Intents.INIntentHandlingStatus

Added value:

UserConfirmationRequired = 6,

Type Changed: Intents.INIntentResponse

Modified properties:

-public virtual Foundation.NSUserActivity UserActivity { get; set; }
+public virtual Foundation.NSUserActivity UserActivity { get; }

Type Changed: Intents.INMessageType

Added values:

ActivitySnippet = 23,
Animoji = 22,
File = 24,
Link = 25,
PaymentNote = 21,
PaymentRequest = 20,
PaymentSent = 19,

Type Changed: Intents.INParameter

Added interface:

Foundation.INSCopying

Added method:

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

Type Changed: Intents.INPerson

Added constructor:

public INPerson (INPersonHandle personHandle, Foundation.NSPersonNameComponents nameComponents, string displayName, INImage image, string contactIdentifier, string customIdentifier, bool isMe);

Type Changed: Intents.INPersonSuggestionType

Added value:

None = 0,

Type Changed: Intents.INPhotoAttributeOptions

Added values:

BouncePhoto = 134217728,
LivePhoto = 33554432,
LongExposurePhoto = 268435456,
LoopPhoto = 67108864,
PortraitPhoto = 16777216,

Type Changed: Intents.INRestaurantReservationUserBooking

Removed method:

protected override void Dispose (bool disposing);

Type Changed: Intents.INSearchForAccountsIntentResponseCode

Added values:

FailureNotEligible = 9,
FailureTermsAndConditionsAcceptanceRequired = 8,

Type Changed: Intents.INSearchForMessagesIntent

Added constructor:

public INSearchForMessagesIntent (INPerson[] recipients, INPerson[] senders, string[] searchTerms, INMessageAttributeOptions attributes, INDateComponentsRange dateTimeRange, string[] identifiers, string[] notificationIdentifiers, INSpeakableString[] speakableGroupNames, string[] conversationIdentifiers);

Added properties:

public virtual string[] ConversationIdentifiers { get; }
public virtual INConditionalOperator ConversationIdentifiersOperator { get; }

Type Changed: Intents.INSendMessageRecipientUnsupportedReason

Added values:

NoHandleForLabel = 6,
NoValidHandle = 4,
RequestedHandleInvalid = 5,

Type Changed: Intents.INSetClimateSettingsInCarIntent

Added constructor:

public INSetClimateSettingsInCarIntent (bool? enableFan, bool? enableAirConditioner, bool? enableClimateControl, bool? enableAutoMode, INCarAirCirculationMode airCirculationMode, int? fanSpeedIndex, double? fanSpeedPercentage, INRelativeSetting relativeFanSpeedSetting, Foundation.NSMeasurement<Foundation.NSUnitTemperature> temperature, INRelativeSetting relativeTemperatureSetting, INCarSeat climateZone, INSpeakableString carName);

Modified properties:

public ---virtual--- bool? EnableAirConditioner { get; }
 public ---virtual--- bool? EnableAutoMode { get; }
 public ---virtual--- bool? EnableClimateControl { get; }
 public ---virtual--- bool? EnableFan { get; }

Added property:

public virtual INSpeakableString CarName { get; }

Type Changed: Intents.INSetClimateSettingsInCarIntentHandling_Extensions

Added method:

public static void ResolveCarName (this IINSetClimateSettingsInCarIntentHandling This, INSetClimateSettingsInCarIntent intent, System.Action<INSpeakableStringResolutionResult> completion);

Type Changed: Intents.INSetDefrosterSettingsInCarIntent

Added constructor:

public INSetDefrosterSettingsInCarIntent (bool? enable, INCarDefroster defroster, INSpeakableString carName);

Modified properties:

public ---virtual--- bool? Enable { get; }

Added property:

public virtual INSpeakableString CarName { get; }

Type Changed: Intents.INSetDefrosterSettingsInCarIntentHandling_Extensions

Added method:

public static void ResolveCarName (this IINSetDefrosterSettingsInCarIntentHandling This, INSetDefrosterSettingsInCarIntent intent, System.Action<INSpeakableStringResolutionResult> completion);

Type Changed: Intents.INSetProfileInCarIntent

Added constructor:

public INSetProfileInCarIntent (int? profileNumber, string profileName, bool? defaultProfile, INSpeakableString carName);

Modified properties:

public ---virtual--- bool? DefaultProfile { get; }

Added property:

public virtual INSpeakableString CarName { get; }

Type Changed: Intents.INSetProfileInCarIntentHandling_Extensions

Added method:

public static void ResolveCarName (this IINSetProfileInCarIntentHandling This, INSetProfileInCarIntent intent, System.Action<INSpeakableStringResolutionResult> completion);

Type Changed: Intents.INSetSeatSettingsInCarIntent

Added constructor:

public INSetSeatSettingsInCarIntent (bool? enableHeating, bool? enableCooling, bool? enableMassage, INCarSeat seat, int? level, INRelativeSetting relativeLevelSetting, INSpeakableString carName);

Modified properties:

public ---virtual--- bool? EnableCooling { get; }
 public ---virtual--- bool? EnableHeating { get; }
 public ---virtual--- bool? EnableMassage { get; }

Added property:

public virtual INSpeakableString CarName { get; }

Type Changed: Intents.INSetSeatSettingsInCarIntentHandling_Extensions

Added method:

public static void ResolveCarName (this IINSetSeatSettingsInCarIntentHandling This, INSetSeatSettingsInCarIntent intent, System.Action<INSpeakableStringResolutionResult> completion);

Type Changed: Intents.INSpatialEventTrigger

Added interface:

Foundation.INSCopying

Added method:

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

Type Changed: Intents.INSpeakableString

Added interface:

Foundation.INSCopying

Added method:

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

Type Changed: Intents.INVisualCodeType

Added values:

Bus = 5,
Subway = 6,
Transit = 4,

Type Changed: Intents.INWorkoutNameIdentifier

Added values:

HighIntensityIntervalTraining = 19,
Hike = 18,
Swim = 20,

New Type: Intents.IINPlayMediaIntentHandling

public interface IINPlayMediaIntentHandling : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void HandlePlayMedia (INPlayMediaIntent intent, System.Action<INPlayMediaIntentResponse> completion);
}

New Type: Intents.INDailyRoutineRelevanceProvider

public class INDailyRoutineRelevanceProvider : Intents.INRelevanceProvider, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INDailyRoutineRelevanceProvider (Foundation.NSCoder coder);
    protected INDailyRoutineRelevanceProvider (Foundation.NSObjectFlag t);
    public INDailyRoutineRelevanceProvider (INDailyRoutineSituation situation);
    protected INDailyRoutineRelevanceProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INDailyRoutineSituation Situation { get; }
}

New Type: Intents.INDailyRoutineSituation

[Serializable]
public enum INDailyRoutineSituation {
    Evening = 1,
    Gym = 5,
    Home = 2,
    Morning = 0,
    School = 4,
    Work = 3,
}

New Type: Intents.INDateRelevanceProvider

public class INDateRelevanceProvider : Intents.INRelevanceProvider, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INDateRelevanceProvider (Foundation.NSCoder coder);
    protected INDateRelevanceProvider (Foundation.NSObjectFlag t);
    protected INDateRelevanceProvider (IntPtr handle);
    public INDateRelevanceProvider (Foundation.NSDate startDate, Foundation.NSDate endDate);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public virtual Foundation.NSDate StartDate { get; }
}

New Type: Intents.INDefaultCardTemplate

public class INDefaultCardTemplate : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INDefaultCardTemplate (Foundation.NSCoder coder);
    protected INDefaultCardTemplate (Foundation.NSObjectFlag t);
    protected INDefaultCardTemplate (IntPtr handle);
    public INDefaultCardTemplate (string title);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INImage Image { get; set; }
    public virtual string Subtitle { get; set; }
    public virtual string Title { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INLocationRelevanceProvider

public class INLocationRelevanceProvider : Intents.INRelevanceProvider, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INLocationRelevanceProvider (CoreLocation.CLRegion region);
    public INLocationRelevanceProvider (Foundation.NSCoder coder);
    protected INLocationRelevanceProvider (Foundation.NSObjectFlag t);
    protected INLocationRelevanceProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CoreLocation.CLRegion Region { get; }
}

New Type: Intents.INMediaItem

public class INMediaItem : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INMediaItem (Foundation.NSCoder coder);
    protected INMediaItem (Foundation.NSObjectFlag t);
    protected INMediaItem (IntPtr handle);
    public INMediaItem (string identifier, string title, INMediaItemType type, INImage artwork);
    // properties
    public virtual INImage Artwork { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string Identifier { get; }
    public virtual string Title { get; }
    public virtual INMediaItemType Type { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INMediaItemType

[Serializable]
public enum INMediaItemType {
    Album = 2,
    Artist = 3,
    AudioBook = 10,
    Genre = 4,
    Movie = 11,
    MusicStation = 9,
    MusicVideo = 14,
    Playlist = 5,
    PodcastEpisode = 7,
    PodcastPlaylist = 8,
    PodcastShow = 6,
    Song = 1,
    TVShow = 12,
    TVShowEpisode = 13,
    Unknown = 0,
}

New Type: Intents.INObject

public class INObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, IINSpeakable, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INObject (Foundation.NSCoder coder);
    protected INObject (Foundation.NSObjectFlag t);
    protected INObject (IntPtr handle);
    public INObject (string identifier, string displayString);
    public INObject (string identifier, string displayString, string pronunciationHint);
    // properties
    public virtual IINSpeakable[] AlternativeSpeakableMatches { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string DisplayString { get; }
    public virtual string Identifier { get; }
    public virtual string PronunciationHint { get; }
    public virtual string SpokenPhrase { get; }
    public virtual string VocabularyIdentifier { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INPlayMediaIntent

public class INPlayMediaIntent : Intents.INIntent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INPlayMediaIntent (Foundation.NSCoder coder);
    protected INPlayMediaIntent (Foundation.NSObjectFlag t);
    protected INPlayMediaIntent (IntPtr handle);
    public INPlayMediaIntent (INMediaItem[] mediaItems, INMediaItem mediaContainer, bool? playShuffled, INPlaybackRepeatMode playbackRepeatMode, bool? resumePlayback);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INMediaItem MediaContainer { get; }
    public virtual INMediaItem[] MediaItems { get; }
    public virtual bool? PlayShuffled { get; }
    public virtual INPlaybackRepeatMode PlaybackRepeatMode { get; }
    public virtual bool? ResumePlayback { get; }
}

New Type: Intents.INPlayMediaIntentHandling_Extensions

public static class INPlayMediaIntentHandling_Extensions {
    // methods
    public static void Confirm (this IINPlayMediaIntentHandling This, INPlayMediaIntent intent, System.Action<INPlayMediaIntentResponse> completion);
}

New Type: Intents.INPlayMediaIntentResponse

public class INPlayMediaIntentResponse : Intents.INIntentResponse, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INPlayMediaIntentResponse (Foundation.NSCoder coder);
    protected INPlayMediaIntentResponse (Foundation.NSObjectFlag t);
    protected INPlayMediaIntentResponse (IntPtr handle);
    public INPlayMediaIntentResponse (INPlayMediaIntentResponseCode code, Foundation.NSUserActivity userActivity);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INPlayMediaIntentResponseCode Code { get; }
    public virtual Foundation.NSDictionary WeakNowPlayingInfo { get; set; }
}

New Type: Intents.INPlayMediaIntentResponseCode

[Serializable]
public enum INPlayMediaIntentResponseCode {
    ContinueInApp = 2,
    Failure = 6,
    FailureNoUnplayedContent = 9,
    FailureRequiringAppLaunch = 7,
    FailureRestrictedContent = 10,
    FailureUnknownMediaType = 8,
    HandleInApp = 5,
    InProgress = 3,
    Ready = 1,
    Success = 4,
    Unspecified = 0,
}

New Type: Intents.INPlaybackRepeatMode

[Serializable]
public enum INPlaybackRepeatMode {
    All = 2,
    None = 1,
    One = 3,
    Unknown = 0,
}

New Type: Intents.INRelevanceProvider

public abstract class INRelevanceProvider : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INRelevanceProvider (Foundation.NSCoder coder);
    protected INRelevanceProvider (Foundation.NSObjectFlag t);
    protected INRelevanceProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INRelevantShortcut

public class INRelevantShortcut : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INRelevantShortcut (Foundation.NSCoder coder);
    protected INRelevantShortcut (Foundation.NSObjectFlag t);
    public INRelevantShortcut (INShortcut shortcut);
    protected INRelevantShortcut (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INRelevanceProvider[] RelevanceProviders { get; set; }
    public virtual INShortcut Shortcut { get; }
    public virtual INRelevantShortcutRole ShortcutRole { get; set; }
    public virtual INDefaultCardTemplate WatchTemplate { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INRelevantShortcutRole

[Serializable]
public enum INRelevantShortcutRole {
    Action = 0,
    Information = 1,
}

New Type: Intents.INRelevantShortcutStore

public class INRelevantShortcutStore : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INRelevantShortcutStore (Foundation.NSObjectFlag t);
    protected INRelevantShortcutStore (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static INRelevantShortcutStore DefaultStore { get; }
    // methods
    public virtual void SetRelevantShortcuts (INRelevantShortcut[] shortcuts, System.Action<Foundation.NSError> completionHandler);
    public virtual System.Threading.Tasks.Task SetRelevantShortcutsAsync (INRelevantShortcut[] shortcuts);
}

New Type: Intents.INShortcut

public class INShortcut : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INShortcut (Foundation.NSCoder coder);
    protected INShortcut (Foundation.NSObjectFlag t);
    public INShortcut (Foundation.NSUserActivity userActivity);
    public INShortcut (INIntent intent);
    protected INShortcut (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INIntent Intent { get; }
    public virtual Foundation.NSUserActivity UserActivity { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INUpcomingMediaManager

public class INUpcomingMediaManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INUpcomingMediaManager (Foundation.NSObjectFlag t);
    protected INUpcomingMediaManager (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static INUpcomingMediaManager SharedManager { get; }
    // methods
    public virtual void SetPredictionMode (INUpcomingMediaPredictionMode mode, INMediaItemType type);
    public virtual void SetSuggestedMediaIntents (Foundation.NSOrderedSet<INPlayMediaIntent> intents);
}

New Type: Intents.INUpcomingMediaPredictionMode

[Serializable]
public enum INUpcomingMediaPredictionMode {
    Default = 0,
    OnlyPredictSuggestedIntents = 1,
}

New Type: Intents.INVoiceShortcut

public class INVoiceShortcut : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INVoiceShortcut (Foundation.NSCoder coder);
    protected INVoiceShortcut (Foundation.NSObjectFlag t);
    protected INVoiceShortcut (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSUuid Identifier { get; }
    public virtual string InvocationPhrase { get; }
    public virtual INShortcut Shortcut { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INVoiceShortcutCenter

public class INVoiceShortcutCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INVoiceShortcutCenter (Foundation.NSObjectFlag t);
    protected INVoiceShortcutCenter (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static INVoiceShortcutCenter SharedCenter { get; }
    // methods
    public virtual void GetAllVoiceShortcuts (INVoiceShortcutCenterGetVoiceShortcutsHandler completionHandler);
    public virtual System.Threading.Tasks.Task<INVoiceShortcut[]> GetAllVoiceShortcutsAsync ();
    public virtual void GetVoiceShortcut (Foundation.NSUuid identifier, System.Action<INVoiceShortcut,Foundation.NSError> completionHandler);
    public virtual System.Threading.Tasks.Task<INVoiceShortcut> GetVoiceShortcutAsync (Foundation.NSUuid identifier);
    public virtual void SetShortcutSuggestions (INShortcut[] suggestions);
}

New Type: Intents.INVoiceShortcutCenterGetVoiceShortcutsHandler

public sealed delegate INVoiceShortcutCenterGetVoiceShortcutsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public INVoiceShortcutCenterGetVoiceShortcutsHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (INVoiceShortcut[] voiceShortcuts, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (INVoiceShortcut[] voiceShortcuts, Foundation.NSError error);
}

Namespace IntentsUI

New Type: IntentsUI.IINUIAddVoiceShortcutButtonDelegate

public interface IINUIAddVoiceShortcutButtonDelegate : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void PresentAddVoiceShortcut (INUIAddVoiceShortcutViewController addVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton);
    public virtual void PresentEditVoiceShortcut (INUIEditVoiceShortcutViewController editVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton);
}

New Type: IntentsUI.IINUIAddVoiceShortcutViewControllerDelegate

public interface IINUIAddVoiceShortcutViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void DidCancel (INUIAddVoiceShortcutViewController controller);
    public virtual void DidFinish (INUIAddVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error);
}

New Type: IntentsUI.IINUIEditVoiceShortcutViewControllerDelegate

public interface IINUIEditVoiceShortcutViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void DidCancel (INUIEditVoiceShortcutViewController controller);
    public virtual void DidDelete (INUIEditVoiceShortcutViewController controller, Foundation.NSUuid deletedVoiceShortcutIdentifier);
    public virtual void DidUpdate (INUIEditVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error);
}

New Type: IntentsUI.INUIAddVoiceShortcutButton

public class INUIAddVoiceShortcutButton : UIKit.UIButton, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityContentSizeCategoryImageAdjusting, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUIPasteConfigurationSupporting, UIKit.IUISpringLoadedInteractionSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public INUIAddVoiceShortcutButton (Foundation.NSCoder coder);
    protected INUIAddVoiceShortcutButton (Foundation.NSObjectFlag t);
    public INUIAddVoiceShortcutButton (INUIAddVoiceShortcutButtonStyle style);
    protected INUIAddVoiceShortcutButton (IntPtr handle);
    // properties
    public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance Appearance { get; }
    public override IntPtr ClassHandle { get; }
    public IINUIAddVoiceShortcutButtonDelegate Delegate { get; set; }
    public virtual Intents.INShortcut Shortcut { get; set; }
    public virtual INUIAddVoiceShortcutButtonStyle Style { get; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    // methods
    public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance AppearanceWhenContainedIn (System.Type[] containers);
    protected override void Dispose (bool disposing);
    public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance<T> ();
    public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

    // inner types
    public class INUIAddVoiceShortcutButtonAppearance : UIKit.UIButton+UIButtonAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
        // constructors
        protected INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance (IntPtr handle);
    }
}

New Type: IntentsUI.INUIAddVoiceShortcutButtonDelegate

public abstract class INUIAddVoiceShortcutButtonDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IINUIAddVoiceShortcutButtonDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INUIAddVoiceShortcutButtonDelegate ();
    protected INUIAddVoiceShortcutButtonDelegate (Foundation.NSObjectFlag t);
    protected INUIAddVoiceShortcutButtonDelegate (IntPtr handle);
    // methods
    public virtual void PresentAddVoiceShortcut (INUIAddVoiceShortcutViewController addVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton);
    public virtual void PresentEditVoiceShortcut (INUIEditVoiceShortcutViewController editVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton);
}

New Type: IntentsUI.INUIAddVoiceShortcutButtonStyle

[Serializable]
public enum INUIAddVoiceShortcutButtonStyle {
    Black = 2,
    BlackOutline = 3,
    White = 0,
    WhiteOutline = 1,
}

New Type: IntentsUI.INUIAddVoiceShortcutViewController

public class INUIAddVoiceShortcutViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public INUIAddVoiceShortcutViewController (Foundation.NSCoder coder);
    protected INUIAddVoiceShortcutViewController (Foundation.NSObjectFlag t);
    public INUIAddVoiceShortcutViewController (Intents.INShortcut shortcut);
    protected INUIAddVoiceShortcutViewController (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public IINUIAddVoiceShortcutViewControllerDelegate Delegate { get; set; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    // methods
    protected override void Dispose (bool disposing);
}

New Type: IntentsUI.INUIAddVoiceShortcutViewControllerDelegate

public abstract class INUIAddVoiceShortcutViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IINUIAddVoiceShortcutViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INUIAddVoiceShortcutViewControllerDelegate ();
    protected INUIAddVoiceShortcutViewControllerDelegate (Foundation.NSObjectFlag t);
    protected INUIAddVoiceShortcutViewControllerDelegate (IntPtr handle);
    // methods
    public virtual void DidCancel (INUIAddVoiceShortcutViewController controller);
    public virtual void DidFinish (INUIAddVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error);
}

New Type: IntentsUI.INUIEditVoiceShortcutViewController

public class INUIEditVoiceShortcutViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public INUIEditVoiceShortcutViewController (Foundation.NSCoder coder);
    protected INUIEditVoiceShortcutViewController (Foundation.NSObjectFlag t);
    public INUIEditVoiceShortcutViewController (Intents.INVoiceShortcut voiceShortcut);
    protected INUIEditVoiceShortcutViewController (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public IINUIEditVoiceShortcutViewControllerDelegate Delegate { get; set; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    // methods
    protected override void Dispose (bool disposing);
}

New Type: IntentsUI.INUIEditVoiceShortcutViewControllerDelegate

public abstract class INUIEditVoiceShortcutViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IINUIEditVoiceShortcutViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INUIEditVoiceShortcutViewControllerDelegate ();
    protected INUIEditVoiceShortcutViewControllerDelegate (Foundation.NSObjectFlag t);
    protected INUIEditVoiceShortcutViewControllerDelegate (IntPtr handle);
    // methods
    public virtual void DidCancel (INUIEditVoiceShortcutViewController controller);
    public virtual void DidDelete (INUIEditVoiceShortcutViewController controller, Foundation.NSUuid deletedVoiceShortcutIdentifier);
    public virtual void DidUpdate (INUIEditVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error);
}

Namespace MapKit

Type Changed: MapKit.MKAnnotationView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKCircleView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKCompassButton

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKMapView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Added event:

public event System.EventHandler DidChangeVisibleRegion;

Type Changed: MapKit.MKMapViewDelegate

Added method:

public virtual void DidChangeVisibleRegion (MKMapView mapView);

Type Changed: MapKit.MKMapViewDelegate_Extensions

Added method:

public static void DidChangeVisibleRegion (this IMKMapViewDelegate This, MKMapView mapView);

Type Changed: MapKit.MKMarkerAnnotationView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKOverlayPathView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKOverlayView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKPinAnnotationView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKPolygonView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKPolylineView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKScaleView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKUserTrackingBarButtonItem

Obsoleted constructors:

[Obsolete ("Does not return a valid instance on iOS 12.")]
 public MKUserTrackingBarButtonItem ();

Type Changed: MapKit.MKUserTrackingButton

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace MediaPlayer

Type Changed: MediaPlayer.MPMediaPickerController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: MediaPlayer.MPMoviePlayerViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: MediaPlayer.MPVolumeView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace MessageUI

Type Changed: MessageUI.MFMailComposeViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: MessageUI.MFMessageComposeViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace Messages

Type Changed: Messages.MSMessageErrorCode

Added value:

APIUnavailableInPresentationContext = 11,

Type Changed: Messages.MSMessagesAppViewController

Added interface:

UIKit.IUIUserActivityRestoring

Added property:

public virtual MSMessagesAppPresentationContext PresentationContext { get; }

Type Changed: Messages.MSStickerBrowserView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: Messages.MSStickerBrowserViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: Messages.MSStickerView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

New Type: Messages.MSMessagesAppPresentationContext

[Serializable]
public enum MSMessagesAppPresentationContext {
    Media = 1,
    Messages = 0,
}

Namespace Metal

Type Changed: Metal.MTLArgumentEncoder_Extensions

Added methods:

public static IMTLArgumentEncoder CreateArgumentEncoder (this IMTLArgumentEncoder This, uint index);
public static void SetIndirectCommandBuffer (this IMTLArgumentEncoder This, IMTLIndirectCommandBuffer indirectCommandBuffer, uint index);
public static void SetIndirectCommandBuffers (this IMTLArgumentEncoder This, IMTLIndirectCommandBuffer[] buffers, Foundation.NSRange range);

Type Changed: Metal.MTLBlitCommandEncoder_Extensions

Added methods:

public static void Copy (this IMTLBlitCommandEncoder This, IMTLIndirectCommandBuffer source, Foundation.NSRange sourceRange, IMTLIndirectCommandBuffer destination, uint destinationIndex);
public static void Optimize (this IMTLBlitCommandEncoder This, IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange range);
public static void OptimizeContentsForCpuAccess (this IMTLBlitCommandEncoder This, IMTLTexture texture);
public static void OptimizeContentsForCpuAccess (this IMTLBlitCommandEncoder This, IMTLTexture texture, uint slice, uint level);
public static void OptimizeContentsForGpuAccess (this IMTLBlitCommandEncoder This, IMTLTexture texture);
public static void OptimizeContentsForGpuAccess (this IMTLBlitCommandEncoder This, IMTLTexture texture, uint slice, uint level);
public static void ResetCommands (this IMTLBlitCommandEncoder This, IMTLIndirectCommandBuffer buffer, Foundation.NSRange range);

Type Changed: Metal.MTLCommandBuffer_Extensions

Added methods:

public static IMTLComputeCommandEncoder ComputeCommandEncoderDispatch (this IMTLCommandBuffer This, MTLDispatchType dispatchType);
public static void EncodeSignal (this IMTLCommandBuffer This, IMTLEvent event, ulong value);
public static void EncodeWait (this IMTLCommandBuffer This, IMTLEvent event, ulong value);

Type Changed: Metal.MTLComputeCommandEncoder_Extensions

Added methods:

public static MTLDispatchType GetDispatchType (this IMTLComputeCommandEncoder This);
public static void MemoryBarrier (this IMTLComputeCommandEncoder This, MTLBarrierScope scope);
public static void MemoryBarrier (this IMTLComputeCommandEncoder This, IMTLResource[] resources, uint count);
public static void SetStageInRegion (this IMTLComputeCommandEncoder This, IMTLBuffer indirectBuffer, uint indirectBufferOffset);

Type Changed: Metal.MTLComputePipelineDescriptor

Added property:

public virtual uint MaxTotalThreadsPerThreadgroup { get; set; }

Type Changed: Metal.MTLDataType

Added values:

IndirectCommandBuffer = 80,
RenderPipeline = 78,

Type Changed: Metal.MTLDevice_Extensions

Added methods:

public static IMTLEvent CreateEvent (this IMTLDevice This);
public static IMTLIndirectCommandBuffer CreateIndirectCommandBuffer (this IMTLDevice This, MTLIndirectCommandBufferDescriptor descriptor, uint maxCount, MTLResourceOptions options);
public static IMTLSharedEvent CreateSharedEvent (this IMTLDevice This);
public static IMTLSharedEvent CreateSharedEvent (this IMTLDevice This, MTLSharedEventHandle sharedEventHandle);
public static uint GetMaxArgumentBufferSamplerCount (this IMTLDevice This);
public static uint GetMaxBufferLength (this IMTLDevice This);
public static uint GetMinimumTextureBufferAlignment (this IMTLDevice This, MTLPixelFormat format);

Type Changed: Metal.MTLFeatureSet

Added values:

iOS_GPUFamily1_v5 = 12,
iOS_GPUFamily2_v5 = 13,
iOS_GPUFamily3_v4 = 14,
iOS_GPUFamily4_v2 = 15,
tvOS_GPUFamily1_v4 = 30004,

Type Changed: Metal.MTLLanguageVersion

Added value:

v2_1 = 131073,

Type Changed: Metal.MTLRenderCommandEncoder_Extensions

Added method:

public static void ExecuteCommands (this IMTLRenderCommandEncoder This, IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange);

Type Changed: Metal.MTLRenderPipelineDescriptor

Added property:

public virtual bool SupportIndirectCommandBuffers { get; set; }

Type Changed: Metal.MTLRenderPipelineState_Extensions

Added method:

public static bool GetSupportIndirectCommandBuffers (this IMTLRenderPipelineState This);

Type Changed: Metal.MTLTextureDescriptor

Added property:

public virtual bool AllowGpuOptimizedContents { get; set; }

Added method:

public static MTLTextureDescriptor CreateTextureBufferDescriptor (MTLPixelFormat pixelFormat, uint width, MTLResourceOptions resourceOptions, MTLTextureUsage usage);

Type Changed: Metal.MTLTextureType

Added values:

k2DMultisampleArray = 8,
kTextureBuffer = 9,

Type Changed: Metal.MTLTexture_Extensions

Added method:

public static bool GetAllowGpuOptimizedContents (this IMTLTexture This);

Type Changed: Metal.MTLTileRenderPipelineDescriptor

Added property:

public virtual uint MaxTotalThreadsPerThreadgroup { get; set; }

New Type: Metal.IMTLEvent

public interface IMTLEvent : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual IMTLDevice Device { get; }
    public virtual string Label { get; set; }
}

New Type: Metal.IMTLIndirectCommandBuffer

public interface IMTLIndirectCommandBuffer : IMTLResource, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual uint Size { get; }
    // methods
    public virtual IMTLIndirectRenderCommand CreateIndirectRenderCommand (uint commandIndex);
    public virtual void Reset (Foundation.NSRange range);
}

New Type: Metal.IMTLIndirectRenderCommand

public interface IMTLIndirectRenderCommand : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, uint indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, uint indexBufferOffset, uint instanceCount, nint baseVertex, uint baseInstance);
    public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, uint vertexStart, uint vertexCount, uint instanceCount, uint baseInstance);
    public virtual void Reset ();
    public virtual void SetFragmentBuffer (IMTLBuffer buffer, uint offset, uint index);
    public virtual void SetVertexBuffer (IMTLBuffer buffer, uint offset, uint index);
}

New Type: Metal.IMTLSharedEvent

public interface IMTLSharedEvent : IMTLEvent, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual ulong SignaledValue { get; set; }
    // methods
    public virtual MTLSharedEventHandle CreateSharedEventHandle ();
    public virtual void NotifyListener (MTLSharedEventListener listener, ulong atValue, MTLSharedEventNotificationBlock block);
}

New Type: Metal.MTLBarrierScope

[Serializable]
[Flags]
public enum MTLBarrierScope {
    Buffers = 1,
    RenderTargets = 4,
    Textures = 2,
}

New Type: Metal.MTLDispatchType

[Serializable]
public enum MTLDispatchType {
    Concurrent = 1,
    Serial = 0,
}

New Type: Metal.MTLIndirectCommandBufferDescriptor

public class MTLIndirectCommandBufferDescriptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MTLIndirectCommandBufferDescriptor ();
    protected MTLIndirectCommandBufferDescriptor (Foundation.NSObjectFlag t);
    protected MTLIndirectCommandBufferDescriptor (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MTLIndirectCommandType CommandTypes { get; set; }
    public virtual bool InheritBuffers { get; set; }
    public virtual uint MaxFragmentBufferBindCount { get; set; }
    public virtual uint MaxVertexBufferBindCount { get; set; }
}

New Type: Metal.MTLIndirectCommandType

[Serializable]
[Flags]
public enum MTLIndirectCommandType {
    Draw = 1,
    Indexed = 2,
}

New Type: Metal.MTLSharedEventHandle

public class MTLSharedEventHandle : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MTLSharedEventHandle ();
    public MTLSharedEventHandle (Foundation.NSCoder coder);
    protected MTLSharedEventHandle (Foundation.NSObjectFlag t);
    protected MTLSharedEventHandle (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Label { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Metal.MTLSharedEventListener

public class MTLSharedEventListener : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MTLSharedEventListener ();
    public MTLSharedEventListener (CoreFoundation.DispatchQueue dispatchQueue);
    protected MTLSharedEventListener (Foundation.NSObjectFlag t);
    protected MTLSharedEventListener (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CoreFoundation.DispatchQueue DispatchQueue { get; }
}

New Type: Metal.MTLSharedEventNotificationBlock

public sealed delegate MTLSharedEventNotificationBlock : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MTLSharedEventNotificationBlock (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (IMTLSharedEvent event, ulong value, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (IMTLSharedEvent event, ulong value);
}

New Type: Metal.MTLStageInRegionIndirectArguments

public struct MTLStageInRegionIndirectArguments {
    // fields
    public uint StageInOrigin1;
    public uint StageInOrigin2;
    public uint StageInOrigin3;
    public uint StageInSize1;
    public uint StageInSize2;
    public uint StageInSize3;
}

Namespace MetalKit

Type Changed: MetalKit.MTKView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace MetalPerformanceShaders

Type Changed: MetalPerformanceShaders.IMPSCnnConvolutionDataSource

Added interface:

Foundation.INSCopying

Type Changed: MetalPerformanceShaders.MPSCnnConvolutionDataSource

Added interface:

Foundation.INSCopying

Added method:

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

Type Changed: MetalPerformanceShaders.MPSImageDescriptor

Added interface:

Foundation.INSCopying

Added method:

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

Namespace MobileCoreServices

Type Changed: MobileCoreServices.UTType

Added method:

public static bool Equals (Foundation.NSString uti1, Foundation.NSString uti2);

Namespace ModelIO

Type Changed: ModelIO.MDLSkeleton

Added property:

public virtual MDLMatrix4x4Array JointRestTransforms { get; }

Type Changed: ModelIO.MDLTexture

Obsoleted methods:

[Obsolete ("Use 'CreateTexture' instead.")]
 public static MDLTexture FromBundle (string name);
 [Obsolete ("Use 'CreateTexture' instead.")]
 public static MDLTexture FromBundle (string name, Foundation.NSBundle bundleOrNil);

Added methods:

public static MDLTexture CreateTexture (string name);
public static MDLTexture CreateTexture (string name, Foundation.NSBundle bundleOrNil);
public static MDLTexture CreateTexture (string name, IMDLAssetResolver resolver);

Namespace MultipeerConnectivity

Type Changed: MultipeerConnectivity.MCBrowserViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace NetworkExtension

Type Changed: NetworkExtension.NWHostEndpoint

Obsoleted constructors:

[Obsolete ("Use the 'Create' method instead.")]
 public NWHostEndpoint ();

Type Changed: NetworkExtension.NWPath

Obsoleted constructors:

[Obsolete ("This type is not meant to be user created.")]
 public NWPath ();

Namespace ObjCRuntime

Type Changed: ObjCRuntime.BlockLiteral

Added method:

public static T GetTarget<T> (IntPtr block);

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "11.4";
+public const string SdkVersion = "12.0";
-public const string Version = "11.12.0";
+public const string Version = "11.99.3";

Added fields:

public static const string AdSupportLibrary = "/System/Library/Frameworks/AdSupport.framework/AdSupport";
public static const string AuthenticationServicesLibrary = "/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices";
public static const string CarPlayLibrary = "/System/Library/Frameworks/CarPlay.framework/CarPlay";
public static const string IdentityLookupUILibrary = "/System/Library/Frameworks/IdentityLookupUI.framework/IdentityLookupUI";
public static const string NaturalLanguageLibrary = "/System/Library/Frameworks/Frameworks/NaturalLanguage.framework/NaturalLanguage";
public static const string NetworkLibrary = "/System/Library/Frameworks/Network.framework/Network";
public static const string libcompression = "/usr/lib/libcompression.dylib";

Namespace PassKit

Type Changed: PassKit.PKAddPassButton

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: PassKit.PKAddPassesViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: PassKit.PKAddPaymentPassRequestConfiguration

Added property:

public virtual PKAddPaymentPassStyle Style { get; set; }

Type Changed: PassKit.PKAddPaymentPassViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: PassKit.PKPaymentAuthorizationViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: PassKit.PKPaymentButton

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Added property:

public virtual nfloat CornerRadius { get; set; }

Type Changed: PassKit.PKPaymentNetwork

Added properties:

public static Foundation.NSString Eftpos { get; }
public static Foundation.NSString Electron { get; }
public static Foundation.NSString Maestro { get; }
public static Foundation.NSString VPay { get; }

New Type: PassKit.PKAddPaymentPassStyle

[Serializable]
public enum PKAddPaymentPassStyle {
    Access = 1,
    Payment = 0,
}

Namespace PdfKit

Type Changed: PdfKit.PdfAnnotation

Added property:

public virtual PdfAnnotation Popup { get; set; }

Type Changed: PdfKit.PdfDestination

Added property:

public static nfloat UnspecifiedValue { get; }

Type Changed: PdfKit.PdfThumbnailView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: PdfKit.PdfView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Added property:

public virtual bool PageShadowsEnabled { get; set; }

Namespace PhotosUI

Type Changed: PhotosUI.PHLivePhotoView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

New Type: PhotosUI.PHEditingExtensionContext

public class PHEditingExtensionContext : Foundation.NSExtensionContext, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected PHEditingExtensionContext (Foundation.NSObjectFlag t);
    protected PHEditingExtensionContext (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
}

Namespace QuickLook

Type Changed: QuickLook.QLPreviewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace ReplayKit

Type Changed: ReplayKit.RPBroadcastActivityViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: ReplayKit.RPPreviewViewController

Added interface:

UIKit.IUIUserActivityRestoring

New Type: ReplayKit.RPSystemBroadcastPickerView

public class RPSystemBroadcastPickerView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public RPSystemBroadcastPickerView ();
    public RPSystemBroadcastPickerView (CoreGraphics.CGRect frame);
    public RPSystemBroadcastPickerView (Foundation.NSCoder coder);
    protected RPSystemBroadcastPickerView (Foundation.NSObjectFlag t);
    protected RPSystemBroadcastPickerView (IntPtr handle);
    // properties
    public static RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance Appearance { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string PreferredExtension { get; set; }
    public virtual bool ShowsMicrophoneButton { get; set; }
    // methods
    public static RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance GetAppearance<T> ();
    public static RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

    // inner types
    public class RPSystemBroadcastPickerViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
        // constructors
        protected RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance (IntPtr handle);
    }
}

Namespace SafariServices

Type Changed: SafariServices.SFSafariViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace SceneKit

Type Changed: SceneKit.SCNHitTest

Added property:

public static Foundation.NSString SearchModeKey { get; }

Type Changed: SceneKit.SCNHitTestOptions

Obsoleted properties:

[Obsolete ("Use 'SearchMode' instead.")]
 public SCNHitTestSearchMode? OptionSearchMode { get; }

Added property:

public SCNHitTestSearchMode? SearchMode { get; set; }

Type Changed: SceneKit.SCNNode

Added properties:

public virtual UIKit.IUIFocusItemContainer FocusItemContainer { get; }
public virtual CoreGraphics.CGRect Frame { get; }
public virtual UIKit.IUIFocusEnvironment ParentFocusEnvironment { get; }

Added method:

public virtual void DidHintFocusMovement (UIKit.UIFocusMovementHint hint);

Type Changed: SceneKit.SCNPhysicsBody

Added properties:

public virtual nfloat AngularRestingThreshold { get; set; }
public virtual SCNVector3 CenterOfMassOffset { get; set; }
public virtual nfloat ContinuousCollisionDetectionThreshold { get; set; }
public virtual nfloat LinearRestingThreshold { get; set; }

Added method:

public virtual void SetResting (bool resting);

Type Changed: SceneKit.SCNPhysicsShape

Obsoleted methods:

[Obsolete ("Use the 'Create' method that takes a 'SCNMatrix4 []'.")]
 public static SCNPhysicsShape Create (SCNPhysicsShape[] shapes, SCNVector3[] transforms);

Added method:

public static SCNPhysicsShape Create (SCNPhysicsShape[] shapes, SCNMatrix4[] transforms);

Type Changed: SceneKit.SCNView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace Security

Type Changed: Security.SslCipherSuite

Added values:

SSL_NO_SUCH_CIPHERSUITE = 65535,
SSL_RSA_WITH_3DES_EDE_CBC_MD5 = 65411,
SSL_RSA_WITH_DES_CBC_MD5 = 65410,
SSL_RSA_WITH_IDEA_CBC_MD5 = 65409,
SSL_RSA_WITH_RC2_CBC_MD5 = 65408,
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178,
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170,
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179,
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171,
TLS_DHE_PSK_WITH_NULL_SHA256 = 180,
TLS_DHE_PSK_WITH_NULL_SHA384 = 181,
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165,
TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 255,
TLS_PSK_WITH_AES_128_GCM_SHA256 = 168,
TLS_PSK_WITH_AES_256_GCM_SHA384 = 169,
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182,
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172,
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183,
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173,
TLS_RSA_PSK_WITH_NULL_SHA256 = 184,
TLS_RSA_PSK_WITH_NULL_SHA384 = 185,

New Type: Security.SecCertificate2

public class SecCertificate2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecCertificate2 (SecCertificate certificate);
    public SecCertificate2 (IntPtr handle, bool owns);
    // properties
    public SecCertificate Certificate { get; }
}

New Type: Security.SecIdentity2

public class SecIdentity2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecIdentity2 (SecIdentity identity);
    public SecIdentity2 (SecIdentity identity, SecCertificate[] certificates);
    public SecIdentity2 (IntPtr handle, bool owns);
    // properties
    public SecCertificate[] Certificates { get; }
    public SecIdentity Identity { get; }
}

New Type: Security.SecProtocolChallenge

public sealed delegate SecProtocolChallenge : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolChallenge (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, SecProtocolChallengeComplete challengeComplete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, SecProtocolChallengeComplete challengeComplete);
}

New Type: Security.SecProtocolChallengeComplete

public sealed delegate SecProtocolChallengeComplete : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolChallengeComplete (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecIdentity2 identity, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecIdentity2 identity);
}

New Type: Security.SecProtocolKeyUpdate

public sealed delegate SecProtocolKeyUpdate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolKeyUpdate (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, System.Action complete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, System.Action complete);
}

New Type: Security.SecProtocolMetadata

public class SecProtocolMetadata : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public bool EarlyDataAccepted { get; }
    public SslCipherSuite NegotiatedCipherSuite { get; }
    public string NegotiatedProtocol { get; }
    public SslProtocol NegotiatedProtocolVersion { get; }
    public CoreFoundation.DispatchData PeerPublicKey { get; }
}

New Type: Security.SecProtocolOptions

public class SecProtocolOptions : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public void AddPreSharedKey (CoreFoundation.DispatchData parameters);
    public void AddTlsApplicationProtocol (string applicationProtocol);
    public void AddTlsCipherSuite (SslCipherSuite cipherSuite);
    public void AddTlsCipherSuiteGroup (SslCipherSuiteGroup cipherSuiteGroup);
    public void SetKeyUpdateCallback (SecProtocolKeyUpdate keyUpdate, CoreFoundation.DispatchQueue keyUpdateQueue);
    public void SetLocalIdentity (SecIdentity2 identity);
    public void SetPeerAuthenticationRequired (bool peerAuthenticationRequired);
    public void SetTlsDiffieHellmanParameters (CoreFoundation.DispatchData parameters);
    public void SetTlsFalseStartEnabled (bool falseStartEnabled);
    public void SetTlsIsFallbackAttempt (bool isFallbackAttempt);
    public void SetTlsMaxVersion (SslProtocol protocol);
    public void SetTlsMinVersion (SslProtocol protocol);
    public void SetTlsOcspEnabled (bool ocspEnabled);
    public void SetTlsRenegotiationEnabled (bool renegotiationEnabled);
    public void SetTlsResumptionEnabled (bool resumptionEnabled);
    public void SetTlsServerName (string serverName);
    public void SetTlsSignCertificateTimestampEnabled (bool sctEnabled);
    public void SetTlsTicketsEnabled (bool ticketsEnabled);
}

New Type: Security.SecProtocolVerify

public sealed delegate SecProtocolVerify : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolVerify (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, SecTrust2 trust, SecProtocolVerifyComplete verifyComplete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, SecTrust2 trust, SecProtocolVerifyComplete verifyComplete);
}

New Type: Security.SecProtocolVerifyComplete

public sealed delegate SecProtocolVerifyComplete : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolVerifyComplete (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (bool complete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (bool complete);
}

New Type: Security.SecTrust2

public class SecTrust2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecTrust2 (SecTrust trust);
    public SecTrust2 (IntPtr handle, bool owns);
    // properties
    public SecTrust Trust { get; }
}

New Type: Security.SslCipherSuiteGroup

[Serializable]
public enum SslCipherSuiteGroup {
    Ats = 3,
    AtsCompatibility = 4,
    Compatibility = 1,
    Default = 0,
    Legacy = 2,
}

Namespace Social

Type Changed: Social.SLComposeServiceViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: Social.SLComposeViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace SpriteKit

Type Changed: SpriteKit.SK3DNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKAction

Added interface:

Foundation.INSSecureCoding

Obsoleted properties:

[Obsolete ("Use 'TimingFunction2' instead.")]
 public virtual SKActionTimingFunction TimingFunction { get; set; }

Added property:

public virtual SKActionTimingFunction2 TimingFunction2 { get; set; }

Type Changed: SpriteKit.SKAttribute

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAttributeValue

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAudioNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKCameraNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKConstraint

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKCropNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKEffectNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKEmitterNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKFieldNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKKeyframeSequence

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKLabelNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKLightNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKMutableTexture

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Added properties:

public virtual UIKit.IUIFocusItemContainer FocusItemContainer { get; }
public virtual UIKit.IUIFocusEnvironment ParentFocusEnvironment { get; }

Added methods:

public static SKNode Create (string filename, Foundation.NSSet<ObjCRuntime.Class> classes, out Foundation.NSError error);
public static SKNode Create (string filename, System.Type[] types, out Foundation.NSError error);
public virtual void DidHintFocusMovement (UIKit.UIFocusMovementHint hint);

Type Changed: SpriteKit.SKPhysicsBody

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJoint

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointFixed

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointLimit

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointPin

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointSliding

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointSpring

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsWorld

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKRange

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKReachConstraints

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKReferenceNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKRegion

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKScene

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKShader

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKShapeNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKSpriteNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKTexture

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTextureAtlas

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileDefinition

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileGroup

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileGroupRule

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileMapNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKTileSet

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTransformNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKUniform

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKVideoNode

Added interfaces:

Foundation.INSSecureCoding
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: SpriteKit.SKWarpGeometry

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKWarpGeometryGrid

Added interface:

Foundation.INSSecureCoding

New Type: SpriteKit.SKActionTimingFunction2

public sealed delegate SKActionTimingFunction2 : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SKActionTimingFunction2 (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (float time, System.AsyncCallback callback, object object);
    public virtual float EndInvoke (System.IAsyncResult result);
    public virtual float Invoke (float time);
}

Namespace StoreKit

Type Changed: StoreKit.SKCloudServiceSetupViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: StoreKit.SKDownload

Added property:

public virtual SKDownloadState State { get; }

Type Changed: StoreKit.SKProduct

Added property:

public virtual string SubscriptionGroupIdentifier { get; }

Type Changed: StoreKit.SKStoreProductViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace Twitter

Type Changed: Twitter.TWTweetComposeViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace UIKit

Type Changed: UIKit.NSLayoutManager

Added property:

public virtual bool LimitsLayoutForSuspiciousContents { get; set; }

Type Changed: UIKit.NSShadow

Added interface:

Foundation.INSSecureCoding

Type Changed: UIKit.UIActionSheet

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIActivityIndicatorView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIActivityViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIAlertController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIAlertView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIApplication

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIButton

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UICloudSharingController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UICollectionReusableView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UICollectionView

Added interfaces:

IUIFocusItemContainer
IUIFocusItemScrollableContainer
IUIUserActivityRestoring

Type Changed: UIKit.UICollectionViewCell

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UICollectionViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIControl

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIDatePicker

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIDocument

Added interface:

IUIUserActivityRestoring

Modified methods:

-public virtual void RestoreUserActivityState (Foundation.NSUserActivity userActivity)
+public virtual void RestoreUserActivityState (Foundation.NSUserActivity activity)

Type Changed: UIKit.UIDocumentBrowserViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIDocumentBrowserViewControllerDelegate

Added method:

public virtual void DidPickDocumentsAtUrls (UIDocumentBrowserViewController controller, Foundation.NSUrl[] documentUrls);

Type Changed: UIKit.UIDocumentBrowserViewControllerDelegate_Extensions

Added method:

public static void DidPickDocumentsAtUrls (this IUIDocumentBrowserViewControllerDelegate This, UIDocumentBrowserViewController controller, Foundation.NSUrl[] documentUrls);

Type Changed: UIKit.UIDocumentMenuViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIDocumentPickerExtensionViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIDocumentPickerViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIFocusEnvironment_Extensions

Added methods:

public static IUIFocusItemContainer GetFocusItemContainer (this IUIFocusEnvironment This);
public static IUIFocusEnvironment GetParentFocusEnvironment (this IUIFocusEnvironment This);

Type Changed: UIKit.UIFocusSystem

Added property:

public virtual IUIFocusItem FocusedItem { get; }

Added methods:

public static UIFocusSystem Create (IUIFocusEnvironment environment);
protected override void Dispose (bool disposing);
public virtual void RequestFocusUpdate (IUIFocusEnvironment environment);
public virtual void UpdateFocusIfNeeded ();

Type Changed: UIKit.UIGraphicsImageRendererFormat

Added property:

public virtual UIGraphicsImageRendererFormatRange PreferredRange { get; set; }

Type Changed: UIKit.UIImagePickerController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIImageView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIInputView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIInputViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UILabel

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIManagedDocument

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UINavigationBar

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UINavigationController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIPageControl

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIPageViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIPickerView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIPopoverBackgroundView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIPresentationController

Added properties:

public virtual IUIFocusItemContainer FocusItemContainer { get; }
public virtual IUIFocusEnvironment ParentFocusEnvironment { get; }

Type Changed: UIKit.UIProgressView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIReferenceLibraryViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIRefreshControl

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIResponder

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIScrollView

Added interfaces:

IUIFocusItemContainer
IUIFocusItemScrollableContainer
IUIUserActivityRestoring

Added properties:

public virtual IUICoordinateSpace CoordinateSpace { get; }
public virtual CoreGraphics.CGSize VisibleSize { get; }

Added method:

public virtual IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect);

Type Changed: UIKit.UISearchBar

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Added property:

public virtual UITextInputPasswordRules PasswordRules { get; set; }

Type Changed: UIKit.UISearchContainerViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UISearchController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UISegmentedControl

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UISlider

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UISplitViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIStackView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIStepper

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UISwitch

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UITabBar

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UITabBarController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UITableView

Added interfaces:

IUIFocusItemContainer
IUIFocusItemScrollableContainer
IUIUserActivityRestoring

Type Changed: UIKit.UITableViewCell

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UITableViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UITableViewHeaderFooterView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UITextContentType

Added properties:

public static Foundation.NSString NewPassword { get; }
public static Foundation.NSString OneTimeCode { get; }

Type Changed: UIKit.UITextDocumentProxy

Added property:

public virtual UITextInputPasswordRules PasswordRules { get; set; }

Type Changed: UIKit.UITextField

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Added property:

public virtual UITextInputPasswordRules PasswordRules { get; set; }

Type Changed: UIKit.UITextInputTraits_Extensions

Added methods:

public static UITextInputPasswordRules GetPasswordRules (this IUITextInputTraits This);
public static void SetPasswordRules (this IUITextInputTraits This, UITextInputPasswordRules value);

Type Changed: UIKit.UITextView

Added interfaces:

IUIFocusItemContainer
IUIFocusItemScrollableContainer
IUIUserActivityRestoring

Added property:

public virtual UITextInputPasswordRules PasswordRules { get; set; }

Type Changed: UIKit.UIToolbar

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UITraitCollection

Added property:

public virtual UIUserInterfaceStyle UserInterfaceStyle { get; }

Added method:

public static UITraitCollection FromUserInterfaceStyle (UIUserInterfaceStyle userInterfaceStyle);

Type Changed: UIKit.UIVideoEditorController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Added properties:

public virtual IUICoordinateSpace CoordinateSpace { get; }
public virtual IUIFocusItemContainer FocusItemContainer { get; }
public virtual IUIFocusEnvironment ParentFocusEnvironment { get; }

Added methods:

public virtual void DidHintFocusMovement (UIFocusMovementHint hint);
public virtual IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect);

Type Changed: UIKit.UIViewController

Added interface:

IUIUserActivityRestoring

Added properties:

public virtual IUIFocusItemContainer FocusItemContainer { get; }
public virtual IUIFocusEnvironment ParentFocusEnvironment { get; }

Type Changed: UIKit.UIVisualEffectView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIWebView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIWindow

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

New Type: UIKit.IUIFocusItemContainer

public interface IUIFocusItemContainer : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual IUICoordinateSpace CoordinateSpace { get; }
    // methods
    public virtual IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect);
}

New Type: UIKit.IUIFocusItemScrollableContainer

public interface IUIFocusItemScrollableContainer : ObjCRuntime.INativeObject, System.IDisposable, IUIFocusItemContainer {
    // properties
    public virtual CoreGraphics.CGPoint ContentOffset { get; set; }
    public virtual CoreGraphics.CGSize ContentSize { get; }
    public virtual CoreGraphics.CGSize VisibleSize { get; }
}

New Type: UIKit.IUIUserActivityRestoring

public interface IUIUserActivityRestoring : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void RestoreUserActivityState (Foundation.NSUserActivity activity);
}

New Type: UIKit.UIFocusItem_Extensions

public static class UIFocusItem_Extensions {
    // methods
    public static void DidHintFocusMovement (this IUIFocusItem This, UIFocusMovementHint hint);
    public static CoreGraphics.CGRect GetFrame (this IUIFocusItem This);
}

New Type: UIKit.UIFocusMovementHint

public class UIFocusMovementHint : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected UIFocusMovementHint (Foundation.NSObjectFlag t);
    protected UIFocusMovementHint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CoreAnimation.CATransform3D InteractionTransform { get; }
    public virtual CoreGraphics.CGVector MovementDirection { get; }
    public virtual CoreAnimation.CATransform3D PerspectiveTransform { get; }
    public virtual CoreGraphics.CGVector Rotation { get; }
    public virtual CoreGraphics.CGVector Translation { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: UIKit.UIGraphicsImageRendererFormatRange

[Serializable]
public enum UIGraphicsImageRendererFormatRange {
    Automatic = 0,
    Extended = 1,
    Standard = 2,
    Unspecified = -1,
}

New Type: UIKit.UIPrintErrorCode

[Serializable]
public enum UIPrintErrorCode {
    JobFailedError = 4,
    NoContentError = 2,
    NotAvailableError = 1,
    UnknownImageFormatError = 3,
}

New Type: UIKit.UITextInputPasswordRules

public class UITextInputPasswordRules : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UITextInputPasswordRules (Foundation.NSCoder coder);
    protected UITextInputPasswordRules (Foundation.NSObjectFlag t);
    protected UITextInputPasswordRules (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string PasswordRulesDescriptor { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public static UITextInputPasswordRules Create (string passwordRulesDescriptor);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: UIKit.UIUserInterfaceStyle

[Serializable]
public enum UIUserInterfaceStyle {
    Dark = 2,
    Light = 1,
    Unspecified = 0,
}

Namespace UserNotifications

Type Changed: UserNotifications.UNAuthorizationOptions

Added values:

CriticalAlert = 16,
ProvidesAppNotificationSettings = 32,
Provisional = 64,

Type Changed: UserNotifications.UNAuthorizationStatus

Added value:

Provisional = 3,

Type Changed: UserNotifications.UNMutableNotificationContent

Added properties:

public virtual string SummaryArgument { get; set; }
public virtual uint SummaryArgumentCount { get; set; }

Type Changed: UserNotifications.UNNotificationCategory

Added property:

public virtual string CategorySummaryFormat { get; }

Added method:

public static UNNotificationCategory FromIdentifier (string identifier, UNNotificationAction[] actions, string[] intentIdentifiers, string hiddenPreviewsBodyPlaceholder, string categorySummaryFormat, UNNotificationCategoryOptions options);

Type Changed: UserNotifications.UNNotificationContent

Added properties:

public virtual string SummaryArgument { get; }
public virtual uint SummaryArgumentCount { get; }

Type Changed: UserNotifications.UNNotificationSettings

Added properties:

public virtual UNNotificationSetting CriticalAlertSetting { get; }
public virtual bool ProvidesAppNotificationSettings { get; }

Type Changed: UserNotifications.UNNotificationSound

Added property:

public static UNNotificationSound DefaultCriticalSound { get; }

Added methods:

public static UNNotificationSound GetCriticalSound (string name);
public static UNNotificationSound GetCriticalSound (string name, float volume);
public static UNNotificationSound GetDefaultCriticalSound (float volume);

Type Changed: UserNotifications.UNUserNotificationCenterDelegate

Added method:

public virtual void OpenSettings (UNUserNotificationCenter center, UNNotification notification);

Type Changed: UserNotifications.UNUserNotificationCenterDelegate_Extensions

Added method:

public static void OpenSettings (this IUNUserNotificationCenterDelegate This, UNUserNotificationCenter center, UNNotification notification);

Namespace UserNotificationsUI

Type Changed: UserNotificationsUI.NSExtensionContext_UNNotificationContentExtension

Added methods:

public static void DismissNotificationContentExtension (this Foundation.NSExtensionContext This);
public static UserNotifications.UNNotificationAction[] GetNotificationActions (this Foundation.NSExtensionContext This);
public static void PerformNotificationDefaultAction (this Foundation.NSExtensionContext This);
public static void SetNotificationActions (this Foundation.NSExtensionContext This, UserNotifications.UNNotificationAction[] actions);

Namespace VideoToolbox

Type Changed: VideoToolbox.VTCompressionProperties

Added properties:

public bool? AllowOpenGop { get; set; }
public bool? MaximizePowerEfficiency { get; set; }

Type Changed: VideoToolbox.VTCompressionPropertyKey

Added properties:

public static Foundation.NSString AllowOpenGop { get; }
public static Foundation.NSString MaximizePowerEfficiency { get; }

Type Changed: VideoToolbox.VTDecompressionProperties

Added property:

public bool? MaximizePowerEfficiency { get; set; }

Type Changed: VideoToolbox.VTDecompressionPropertyKey

Added property:

public static Foundation.NSString MaximizePowerEfficiency { get; }

Namespace Vision

Type Changed: Vision.VNBarcodeObservation

Added interface:

IVNRequestRevisionProviding

Added method:

public static VNBarcodeObservation FromBoundingBox (VNBarcodeObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);

Type Changed: Vision.VNClassificationObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNCoreMLFeatureValueObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNCoreMLRequest

Added properties:

public static VNCoreMLRequestRevision CurrentRevision { get; }
public static VNCoreMLRequestRevision DefaultRevision { get; }
public virtual VNCoreMLRequestRevision Revision { get; set; }
public static VNCoreMLRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectBarcodesRequest

Added properties:

public static VNDetectBarcodesRequestRevision CurrentRevision { get; }
public static VNDetectBarcodesRequestRevision DefaultRevision { get; }
public virtual VNDetectBarcodesRequestRevision Revision { get; set; }
public static VNDetectBarcodesRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectFaceLandmarksRequest

Added properties:

public static VNDetectFaceLandmarksRequestRevision CurrentRevision { get; }
public static VNDetectFaceLandmarksRequestRevision DefaultRevision { get; }
public virtual VNDetectFaceLandmarksRequestRevision Revision { get; set; }
public static VNDetectFaceLandmarksRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectFaceRectanglesRequest

Added properties:

public static VNDetectFaceRectanglesRequestRevision CurrentRevision { get; }
public static VNDetectFaceRectanglesRequestRevision DefaultRevision { get; }
public virtual VNDetectFaceRectanglesRequestRevision Revision { get; set; }
public static VNDetectFaceRectanglesRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectHorizonRequest

Added properties:

public static VNDetectHorizonRequestRevision CurrentRevision { get; }
public static VNDetectHorizonRequestRevision DefaultRevision { get; }
public virtual VNDetectHorizonRequestRevision Revision { get; set; }
public static VNDetectHorizonRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectRectanglesRequest

Added properties:

public static VNDetectRectanglesRequestRevision CurrentRevision { get; }
public static VNDetectRectanglesRequestRevision DefaultRevision { get; }
public virtual VNDetectRectanglesRequestRevision Revision { get; set; }
public static VNDetectRectanglesRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectTextRectanglesRequest

Added properties:

public static VNDetectTextRectanglesRequestRevision CurrentRevision { get; }
public static VNDetectTextRectanglesRequestRevision DefaultRevision { get; }
public virtual VNDetectTextRectanglesRequestRevision Revision { get; set; }
public static VNDetectTextRectanglesRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectedObjectObservation

Added interface:

IVNRequestRevisionProviding

Added method:

public static VNDetectedObjectObservation FromBoundingBox (VNDetectedObjectObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);

Type Changed: Vision.VNErrorCode

Added value:

UnsupportedRevision = 16,

Type Changed: Vision.VNFaceObservation

Added interface:

IVNRequestRevisionProviding

Added properties:

public virtual nfloat? Roll { get; }
public virtual nfloat? Yaw { get; }

Added methods:

public static VNFaceObservation FromBoundingBox (VNFaceObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);
public static VNFaceObservation FromBoundingBox (VNFaceObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox, nfloat? roll, nfloat? yaw);

Type Changed: Vision.VNHomographicImageRegistrationRequest

Added properties:

public static VNHomographicImageRegistrationRequestRevision CurrentRevision { get; }
public static VNHomographicImageRegistrationRequestRevision DefaultRevision { get; }
public virtual VNHomographicImageRegistrationRequestRevision Revision { get; set; }
public static VNHomographicImageRegistrationRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNHorizonObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNImageAlignmentObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNImageHomographicAlignmentObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNImageTranslationAlignmentObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNObservation

Added interface:

IVNRequestRevisionProviding

Added property:

public virtual VNRequestRevision RequestRevision { get; }

Type Changed: Vision.VNPixelBufferObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNRectangleObservation

Added interface:

IVNRequestRevisionProviding

Added method:

public static VNRectangleObservation FromBoundingBox (VNRectangleObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);

Type Changed: Vision.VNTextObservation

Modified base type:

-Vision.VNDetectedObjectObservation
+Vision.VNRectangleObservation

Added interface:

IVNRequestRevisionProviding

Added method:

public static VNTextObservation FromBoundingBox (VNTextObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);

Type Changed: Vision.VNTrackObjectRequest

Added properties:

public static VNTrackObjectRequestRevision CurrentRevision { get; }
public static VNTrackObjectRequestRevision DefaultRevision { get; }
public virtual VNTrackObjectRequestRevision Revision { get; set; }
public static VNTrackObjectRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNTrackRectangleRequest

Added properties:

public static VNTrackRectangleRequestRevision CurrentRevision { get; }
public static VNTrackRectangleRequestRevision DefaultRevision { get; }
public virtual VNTrackRectangleRequestRevision Revision { get; set; }
public static VNTrackRectangleRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNTranslationalImageRegistrationRequest

Added properties:

public static VNTranslationalImageRegistrationRequestRevision CurrentRevision { get; }
public static VNTranslationalImageRegistrationRequestRevision DefaultRevision { get; }
public static VNTranslationalImageRegistrationRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

New Type: Vision.IVNRequestRevisionProviding

public interface IVNRequestRevisionProviding : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual VNRequestRevision RequestRevision { get; }
}

New Type: Vision.VNBarcodeObservationRequestRevision

[Serializable]
public enum VNBarcodeObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNCoreMLRequestRevision

[Serializable]
public enum VNCoreMLRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectBarcodesRequestRevision

[Serializable]
public enum VNDetectBarcodesRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectFaceLandmarksRequestRevision

[Serializable]
public enum VNDetectFaceLandmarksRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNDetectFaceRectanglesRequestRevision

[Serializable]
public enum VNDetectFaceRectanglesRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNDetectHorizonRequestRevision

[Serializable]
public enum VNDetectHorizonRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectRectanglesRequestRevision

[Serializable]
public enum VNDetectRectanglesRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectTextRectanglesRequestRevision

[Serializable]
public enum VNDetectTextRectanglesRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectedObjectObservationRequestRevision

[Serializable]
public enum VNDetectedObjectObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNFaceObservationRequestRevision

[Serializable]
public enum VNFaceObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNHomographicImageRegistrationRequestRevision

[Serializable]
public enum VNHomographicImageRegistrationRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNRecognizedObjectObservation

public class VNRecognizedObjectObservation : Vision.VNDetectedObjectObservation, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IVNRequestRevisionProviding {
    // constructors
    public VNRecognizedObjectObservation (Foundation.NSCoder coder);
    protected VNRecognizedObjectObservation (Foundation.NSObjectFlag t);
    protected VNRecognizedObjectObservation (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual VNClassificationObservation[] Labels { get; }
    // methods
    public static VNRecognizedObjectObservation FromBoundingBox (CoreGraphics.CGRect boundingBox);
    public static VNRecognizedObjectObservation FromBoundingBox (VNRecognizedObjectObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);
}

New Type: Vision.VNRecognizedObjectObservationRequestRevision

[Serializable]
public enum VNRecognizedObjectObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNRectangleObservationRequestRevision

[Serializable]
public enum VNRectangleObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNRequestRevision

[Serializable]
public enum VNRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNTextObservationRequestRevision

[Serializable]
public enum VNTextObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNTrackObjectRequestRevision

[Serializable]
public enum VNTrackObjectRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNTrackRectangleRequestRevision

[Serializable]
public enum VNTrackRectangleRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNTranslationalImageRegistrationRequestRevision

[Serializable]
public enum VNTranslationalImageRegistrationRequestRevision {
    One = 1,
    Unspecified = 0,
}

Namespace WatchConnectivity

Type Changed: WatchConnectivity.WCSessionFileTransfer

Added property:

public virtual Foundation.NSProgress Progress { get; }

Namespace WatchKit

Type Changed: WatchKit.WKUserNotificationInterfaceController

Added method:

public virtual void DismissController ();

Namespace WebKit

Type Changed: WebKit.WKWebView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace iAd

Type Changed: iAd.ADBannerView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Added method:

public static CoreGraphics.CGSize GetClampedBannerSize (CoreGraphics.CGSize size);

New Type: iAd.ADInterstitialAdPresentationViewController

public class ADInterstitialAdPresentationViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public ADInterstitialAdPresentationViewController (Foundation.NSCoder coder);
    protected ADInterstitialAdPresentationViewController (Foundation.NSObjectFlag t);
    protected ADInterstitialAdPresentationViewController (IntPtr handle);
    public ADInterstitialAdPresentationViewController (ADInterstitialAd interstitialAd);
    public ADInterstitialAdPresentationViewController (string nibName, Foundation.NSBundle bundle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual bool ShouldTestVisibility (CoreGraphics.CGPoint point);
}

New Namespace AuthenticationServices

New Type: AuthenticationServices.ASCredentialIdentityStore

public class ASCredentialIdentityStore : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected ASCredentialIdentityStore (Foundation.NSObjectFlag t);
    protected ASCredentialIdentityStore (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static ASCredentialIdentityStore SharedStore { get; }
    // methods
    public virtual void GetCredentialIdentityStoreState (System.Action<ASCredentialIdentityStoreState> completion);
    public virtual System.Threading.Tasks.Task<ASCredentialIdentityStoreState> GetCredentialIdentityStoreStateAsync ();
    public virtual void RemoveAllCredentialIdentities (System.Action<System.Boolean,Foundation.NSError> completion);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RemoveAllCredentialIdentitiesAsync ();
    public virtual void RemoveCredentialIdentities (ASPasswordCredentialIdentity[] credentialIdentities, ASCredentialIdentityStoreCompletionHandler completion);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RemoveCredentialIdentitiesAsync (ASPasswordCredentialIdentity[] credentialIdentities);
    public virtual void ReplaceCredentialIdentities (ASPasswordCredentialIdentity[] newCredentialIdentities, ASCredentialIdentityStoreCompletionHandler completion);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> ReplaceCredentialIdentitiesAsync (ASPasswordCredentialIdentity[] newCredentialIdentities);
    public virtual void SaveCredentialIdentities (ASPasswordCredentialIdentity[] credentialIdentities, ASCredentialIdentityStoreCompletionHandler completion);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> SaveCredentialIdentitiesAsync (ASPasswordCredentialIdentity[] credentialIdentities);
}

New Type: AuthenticationServices.ASCredentialIdentityStoreCompletionHandler

public sealed delegate ASCredentialIdentityStoreCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public ASCredentialIdentityStoreCompletionHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (bool success, Foundation.NSError error);
}

New Type: AuthenticationServices.ASCredentialIdentityStoreErrorCode

[Serializable]
public enum ASCredentialIdentityStoreErrorCode {
    InternalError = 0,
    StoreBusy = 2,
    StoreDisabled = 1,
}

New Type: AuthenticationServices.ASCredentialIdentityStoreErrorCodeExtensions

public static class ASCredentialIdentityStoreErrorCodeExtensions {
    // methods
    public static Foundation.NSString GetDomain (this ASCredentialIdentityStoreErrorCode self);
}

New Type: AuthenticationServices.ASCredentialIdentityStoreState

public class ASCredentialIdentityStoreState : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected ASCredentialIdentityStoreState (Foundation.NSObjectFlag t);
    protected ASCredentialIdentityStoreState (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool Enabled { get; }
    public virtual bool SupportsIncrementalUpdates { get; }
}

New Type: AuthenticationServices.ASCredentialProviderExtensionContext

public class ASCredentialProviderExtensionContext : Foundation.NSExtensionContext, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected ASCredentialProviderExtensionContext (Foundation.NSObjectFlag t);
    protected ASCredentialProviderExtensionContext (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual void CancelRequest (Foundation.NSError error);
    public virtual void CompleteExtensionConfigurationRequest ();
    public virtual void CompleteRequest (ASPasswordCredential credential, ASCredentialProviderExtensionRequestCompletionHandler completionHandler);
}

New Type: AuthenticationServices.ASCredentialProviderExtensionRequestCompletionHandler

public sealed delegate ASCredentialProviderExtensionRequestCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public ASCredentialProviderExtensionRequestCompletionHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (bool expired, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (bool expired);
}

New Type: AuthenticationServices.ASCredentialProviderViewController

public class ASCredentialProviderViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public ASCredentialProviderViewController ();
    public ASCredentialProviderViewController (Foundation.NSCoder coder);
    protected ASCredentialProviderViewController (Foundation.NSObjectFlag t);
    protected ASCredentialProviderViewController (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual ASCredentialProviderExtensionContext ExtensionContext { get; }
    // methods
    public virtual void PrepareCredentialList (ASCredentialServiceIdentifier[] serviceIdentifiers);
    public virtual void PrepareInterfaceForExtensionConfiguration ();
    public virtual void PrepareInterfaceToProvideCredential (ASPasswordCredentialIdentity credentialIdentity);
    public virtual void ProvideCredentialWithoutUserInteraction (ASPasswordCredentialIdentity credentialIdentity);
}

New Type: AuthenticationServices.ASCredentialServiceIdentifier

public class ASCredentialServiceIdentifier : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ASCredentialServiceIdentifier (Foundation.NSCoder coder);
    protected ASCredentialServiceIdentifier (Foundation.NSObjectFlag t);
    protected ASCredentialServiceIdentifier (IntPtr handle);
    public ASCredentialServiceIdentifier (string identifier, ASCredentialServiceIdentifierType type);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Identifier { get; }
    public virtual ASCredentialServiceIdentifierType Type { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASCredentialServiceIdentifierType

[Serializable]
public enum ASCredentialServiceIdentifierType {
    Domain = 0,
    Url = 1,
}

New Type: AuthenticationServices.ASExtensionErrorCode

[Serializable]
public enum ASExtensionErrorCode {
    CredentialIdentityNotFound = 101,
    Failed = 0,
    UserCanceled = 1,
    UserInteractionRequired = 100,
}

New Type: AuthenticationServices.ASExtensionErrorCodeExtensions

public static class ASExtensionErrorCodeExtensions {
    // methods
    public static Foundation.NSString GetDomain (this ASExtensionErrorCode self);
}

New Type: AuthenticationServices.ASPasswordCredential

public class ASPasswordCredential : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ASPasswordCredential (Foundation.NSCoder coder);
    protected ASPasswordCredential (Foundation.NSObjectFlag t);
    protected ASPasswordCredential (IntPtr handle);
    public ASPasswordCredential (string user, string password);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Password { get; }
    public virtual string User { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public static ASPasswordCredential Create (string user, string password);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasswordCredentialIdentity

public class ASPasswordCredentialIdentity : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ASPasswordCredentialIdentity (Foundation.NSCoder coder);
    protected ASPasswordCredentialIdentity (Foundation.NSObjectFlag t);
    protected ASPasswordCredentialIdentity (IntPtr handle);
    public ASPasswordCredentialIdentity (ASCredentialServiceIdentifier serviceIdentifier, string user, string recordIdentifier);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual nint Rank { get; set; }
    public virtual string RecordIdentifier { get; }
    public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; }
    public virtual string User { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public static ASPasswordCredentialIdentity Create (ASCredentialServiceIdentifier serviceIdentifier, string user, string recordIdentifier);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASWebAuthenticationSession

public class ASWebAuthenticationSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected ASWebAuthenticationSession (Foundation.NSObjectFlag t);
    protected ASWebAuthenticationSession (IntPtr handle);
    public ASWebAuthenticationSession (Foundation.NSUrl url, string callbackUrlScheme, ASWebAuthenticationSessionCompletionHandler completionHandler);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual void Cancel ();
    public virtual bool Start ();
}

New Type: AuthenticationServices.ASWebAuthenticationSessionCompletionHandler

public sealed delegate ASWebAuthenticationSessionCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public ASWebAuthenticationSessionCompletionHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (Foundation.NSUrl callbackUrl, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (Foundation.NSUrl callbackUrl, Foundation.NSError error);
}

New Type: AuthenticationServices.ASWebAuthenticationSessionErrorCode

[Serializable]
public enum ASWebAuthenticationSessionErrorCode {
    CanceledLogin = 1,
}

New Type: AuthenticationServices.ASWebAuthenticationSessionErrorCodeExtensions

public static class ASWebAuthenticationSessionErrorCodeExtensions {
    // methods
    public static Foundation.NSString GetDomain (this ASWebAuthenticationSessionErrorCode self);
}

New Namespace CarPlay

New Type: CarPlay.CPActionSheetTemplate

public class CPActionSheetTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPActionSheetTemplate (Foundation.NSCoder coder);
    protected CPActionSheetTemplate (Foundation.NSObjectFlag t);
    protected CPActionSheetTemplate (IntPtr handle);
    public CPActionSheetTemplate (string title, string message, CPAlertAction[] actions);
    // properties
    public virtual CPAlertAction[] Actions { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string Message { get; }
    public virtual string Title { get; }
}

New Type: CarPlay.CPAlertAction

public class CPAlertAction : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPAlertAction (Foundation.NSCoder coder);
    protected CPAlertAction (Foundation.NSObjectFlag t);
    protected CPAlertAction (IntPtr handle);
    public CPAlertAction (string title, CPAlertActionStyle style, System.Action<CPAlertAction> handler);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual System.Action<CPAlertAction> Handler { get; }
    public virtual CPAlertActionStyle Style { get; }
    public virtual string Title { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPAlertActionStyle

[Serializable]
public enum CPAlertActionStyle {
    Cancel = 1,
    Default = 0,
    Destructive = 2,
}

New Type: CarPlay.CPAlertTemplate

public class CPAlertTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPAlertTemplate (Foundation.NSCoder coder);
    protected CPAlertTemplate (Foundation.NSObjectFlag t);
    protected CPAlertTemplate (IntPtr handle);
    public CPAlertTemplate (string[] titleVariants, CPAlertAction[] actions);
    // properties
    public virtual CPAlertAction[] Actions { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string[] TitleVariants { get; }
}

New Type: CarPlay.CPApplicationDelegate

public abstract class CPApplicationDelegate : Foundation.NSObject, ICPApplicationDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIApplicationDelegate {
    // constructors
    protected CPApplicationDelegate ();
    protected CPApplicationDelegate (Foundation.NSObjectFlag t);
    protected CPApplicationDelegate (IntPtr handle);
    // properties
    public virtual UIKit.UIWindow Window { get; set; }
    // methods
    public virtual bool AccessibilityPerformMagicTap ();
    public virtual void ApplicationSignificantTimeChange (UIKit.UIApplication application);
    public virtual void ChangedStatusBarFrame (UIKit.UIApplication application, CoreGraphics.CGRect oldStatusBarFrame);
    public virtual bool ContinueUserActivity (UIKit.UIApplication application, Foundation.NSUserActivity userActivity, UIKit.UIApplicationRestorationHandler completionHandler);
    public virtual void DidChangeStatusBarOrientation (UIKit.UIApplication application, UIKit.UIInterfaceOrientation oldStatusBarOrientation);
    public virtual void DidConnectCarInterfaceController (UIKit.UIApplication application, CPInterfaceController interfaceController, CPWindow window);
    public virtual void DidDecodeRestorableState (UIKit.UIApplication application, Foundation.NSCoder coder);
    public virtual void DidDisconnectCarInterfaceController (UIKit.UIApplication application, CPInterfaceController interfaceController, CPWindow window);
    public virtual void DidEnterBackground (UIKit.UIApplication application);
    public virtual void DidFailToContinueUserActivitiy (UIKit.UIApplication application, string userActivityType, Foundation.NSError error);
    public virtual void DidReceiveRemoteNotification (UIKit.UIApplication application, Foundation.NSDictionary userInfo, System.Action<UIKit.UIBackgroundFetchResult> completionHandler);
    public virtual void DidRegisterUserNotificationSettings (UIKit.UIApplication application, UIKit.UIUserNotificationSettings notificationSettings);
    public virtual void DidSelectManeuver (UIKit.UIApplication application, CPManeuver maneuver);
    public virtual void DidSelectNavigationAlert (UIKit.UIApplication application, CPNavigationAlert navigationAlert);
    public virtual void FailedToRegisterForRemoteNotifications (UIKit.UIApplication application, Foundation.NSError error);
    public virtual void FinishedLaunching (UIKit.UIApplication application);
    public virtual bool FinishedLaunching (UIKit.UIApplication application, Foundation.NSDictionary launchOptions);
    public virtual UIKit.UIInterfaceOrientationMask GetSupportedInterfaceOrientations (UIKit.UIApplication application, UIKit.UIWindow forWindow);
    public virtual UIKit.UIViewController GetViewController (UIKit.UIApplication application, string[] restorationIdentifierComponents, Foundation.NSCoder coder);
    public virtual void HandleAction (UIKit.UIApplication application, string actionIdentifier, Foundation.NSDictionary remoteNotificationInfo, System.Action completionHandler);
    public virtual void HandleAction (UIKit.UIApplication application, string actionIdentifier, UIKit.UILocalNotification localNotification, System.Action completionHandler);
    public virtual void HandleAction (UIKit.UIApplication application, string actionIdentifier, Foundation.NSDictionary remoteNotificationInfo, Foundation.NSDictionary responseInfo, System.Action completionHandler);
    public virtual void HandleAction (UIKit.UIApplication application, string actionIdentifier, UIKit.UILocalNotification localNotification, Foundation.NSDictionary responseInfo, System.Action completionHandler);
    public virtual void HandleEventsForBackgroundUrl (UIKit.UIApplication application, string sessionIdentifier, System.Action completionHandler);
    public virtual void HandleIntent (UIKit.UIApplication application, Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler);
    public virtual bool HandleOpenURL (UIKit.UIApplication application, Foundation.NSUrl url);
    public virtual void HandleWatchKitExtensionRequest (UIKit.UIApplication application, Foundation.NSDictionary userInfo, System.Action<Foundation.NSDictionary> reply);
    public virtual void OnActivated (UIKit.UIApplication application);
    public virtual void OnResignActivation (UIKit.UIApplication application);
    public virtual bool OpenUrl (UIKit.UIApplication app, Foundation.NSUrl url, Foundation.NSDictionary options);
    public bool OpenUrl (UIKit.UIApplication app, Foundation.NSUrl url, UIKit.UIApplicationOpenUrlOptions options);
    public virtual bool OpenUrl (UIKit.UIApplication application, Foundation.NSUrl url, string sourceApplication, Foundation.NSObject annotation);
    public virtual void PerformActionForShortcutItem (UIKit.UIApplication application, UIKit.UIApplicationShortcutItem shortcutItem, UIKit.UIOperationHandler completionHandler);
    public virtual void PerformFetch (UIKit.UIApplication application, System.Action<UIKit.UIBackgroundFetchResult> completionHandler);
    public virtual void ProtectedDataDidBecomeAvailable (UIKit.UIApplication application);
    public virtual void ProtectedDataWillBecomeUnavailable (UIKit.UIApplication application);
    public virtual void ReceiveMemoryWarning (UIKit.UIApplication application);
    public virtual void ReceivedLocalNotification (UIKit.UIApplication application, UIKit.UILocalNotification notification);
    public virtual void ReceivedRemoteNotification (UIKit.UIApplication application, Foundation.NSDictionary userInfo);
    public virtual void RegisteredForRemoteNotifications (UIKit.UIApplication application, Foundation.NSData deviceToken);
    public virtual bool ShouldAllowExtensionPointIdentifier (UIKit.UIApplication application, Foundation.NSString extensionPointIdentifier);
    public virtual void ShouldRequestHealthAuthorization (UIKit.UIApplication application);
    public virtual bool ShouldRestoreApplicationState (UIKit.UIApplication application, Foundation.NSCoder coder);
    public virtual bool ShouldSaveApplicationState (UIKit.UIApplication application, Foundation.NSCoder coder);
    public virtual void UserActivityUpdated (UIKit.UIApplication application, Foundation.NSUserActivity userActivity);
    public virtual void UserDidAcceptCloudKitShare (UIKit.UIApplication application, CloudKit.CKShareMetadata cloudKitShareMetadata);
    public virtual void WillChangeStatusBarFrame (UIKit.UIApplication application, CoreGraphics.CGRect newStatusBarFrame);
    public virtual void WillChangeStatusBarOrientation (UIKit.UIApplication application, UIKit.UIInterfaceOrientation newStatusBarOrientation, double duration);
    public virtual bool WillContinueUserActivity (UIKit.UIApplication application, string userActivityType);
    public virtual void WillEncodeRestorableState (UIKit.UIApplication application, Foundation.NSCoder coder);
    public virtual void WillEnterForeground (UIKit.UIApplication application);
    public virtual bool WillFinishLaunching (UIKit.UIApplication application, Foundation.NSDictionary launchOptions);
    public virtual void WillTerminate (UIKit.UIApplication application);
}

New Type: CarPlay.CPApplicationDelegate_Extensions

public static class CPApplicationDelegate_Extensions {
    // methods
    public static void DidSelectManeuver (this ICPApplicationDelegate This, UIKit.UIApplication application, CPManeuver maneuver);
    public static void DidSelectNavigationAlert (this ICPApplicationDelegate This, UIKit.UIApplication application, CPNavigationAlert navigationAlert);
}

New Type: CarPlay.CPBarButton

public class CPBarButton : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPBarButton (Foundation.NSCoder coder);
    protected CPBarButton (Foundation.NSObjectFlag t);
    protected CPBarButton (IntPtr handle);
    public CPBarButton (CPBarButtonType type, System.Action<CPBarButton> handler);
    // properties
    public virtual CPBarButtonType ButtonType { get; }
    public override IntPtr ClassHandle { get; }
    public virtual bool Enabled { get; set; }
    public virtual UIKit.UIImage Image { get; set; }
    public virtual string Title { get; set; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPBarButtonType

[Serializable]
public enum CPBarButtonType {
    Image = 1,
    Text = 0,
}

New Type: CarPlay.CPGridButton

public class CPGridButton : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPGridButton (Foundation.NSCoder coder);
    protected CPGridButton (Foundation.NSObjectFlag t);
    protected CPGridButton (IntPtr handle);
    public CPGridButton (string[] titleVariants, UIKit.UIImage image, System.Action<CPGridButton> handler);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool Enabled { get; set; }
    public virtual UIKit.UIImage Image { get; }
    public virtual string[] TitleVariants { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPGridTemplate

public class CPGridTemplate : CarPlay.CPTemplate, ICPBarButtonProviding, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPGridTemplate (Foundation.NSCoder coder);
    protected CPGridTemplate (Foundation.NSObjectFlag t);
    protected CPGridTemplate (IntPtr handle);
    public CPGridTemplate (string title, CPGridButton[] gridButtons);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CPGridButton[] GridButtons { get; }
    public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
    public virtual string Title { get; }
    public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
}

New Type: CarPlay.CPImageSet

public class CPImageSet : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPImageSet (Foundation.NSCoder coder);
    protected CPImageSet (Foundation.NSObjectFlag t);
    protected CPImageSet (IntPtr handle);
    public CPImageSet (UIKit.UIImage lightImage, UIKit.UIImage darkImage);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual UIKit.UIImage DarkContentImage { get; }
    public virtual UIKit.UIImage LightContentImage { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPInterfaceController

public class CPInterfaceController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CPInterfaceController (Foundation.NSObjectFlag t);
    protected CPInterfaceController (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public ICPInterfaceControllerDelegate Delegate { get; set; }
    public virtual CPTemplate PresentedTemplate { get; }
    public virtual CPTemplate RootTemplate { get; }
    public virtual CPTemplate[] Templates { get; }
    public virtual CPTemplate TopTemplate { get; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    // methods
    public virtual void DismissTemplate (bool animated);
    protected override void Dispose (bool disposing);
    public virtual void PopTemplate (bool animated);
    public virtual void PopToRootTemplate (bool animated);
    public virtual void PopToTemplate (CPTemplate targetTemplate, bool animated);
    public virtual void PresentTemplate (CPTemplate templateToPresent, bool animated);
    public virtual void PushTemplate (CPTemplate templateToPush, bool animated);
    public virtual void SetRootTemplate (CPTemplate rootTemplate, bool animated);
}

New Type: CarPlay.CPInterfaceControllerDelegate

public class CPInterfaceControllerDelegate : Foundation.NSObject, ICPInterfaceControllerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPInterfaceControllerDelegate ();
    protected CPInterfaceControllerDelegate (Foundation.NSObjectFlag t);
    protected CPInterfaceControllerDelegate (IntPtr handle);
    // methods
    public virtual void TemplateDidAppear (CPTemplate aTemplate, bool animated);
    public virtual void TemplateDidDisappear (CPTemplate aTemplate, bool animated);
    public virtual void TemplateWillAppear (CPTemplate aTemplate, bool animated);
    public virtual void TemplateWillDisappear (CPTemplate aTemplate, bool animated);
}

New Type: CarPlay.CPInterfaceControllerDelegate_Extensions

public static class CPInterfaceControllerDelegate_Extensions {
    // methods
    public static void TemplateDidAppear (this ICPInterfaceControllerDelegate This, CPTemplate aTemplate, bool animated);
    public static void TemplateDidDisappear (this ICPInterfaceControllerDelegate This, CPTemplate aTemplate, bool animated);
    public static void TemplateWillAppear (this ICPInterfaceControllerDelegate This, CPTemplate aTemplate, bool animated);
    public static void TemplateWillDisappear (this ICPInterfaceControllerDelegate This, CPTemplate aTemplate, bool animated);
}

New Type: CarPlay.CPLimitableUserInterface

[Serializable]
[Flags]
public enum CPLimitableUserInterface {
    Keyboard = 1,
    Lists = 2,
}

New Type: CarPlay.CPListItem

public class CPListItem : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPListItem (Foundation.NSCoder coder);
    protected CPListItem (Foundation.NSObjectFlag t);
    protected CPListItem (IntPtr handle);
    public CPListItem (string text, string detailText);
    public CPListItem (string text, string detailText, UIKit.UIImage image);
    public CPListItem (string text, string detailText, UIKit.UIImage image, bool showsDisclosureIndicator);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string DetailText { get; }
    public virtual UIKit.UIImage Image { get; }
    public static CoreGraphics.CGSize MaximumListItemImageSize { get; }
    public virtual bool ShowsDisclosureIndicator { get; }
    public virtual string Text { get; }
    public virtual Foundation.NSObject UserInfo { get; set; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPListSection

public class CPListSection : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPListSection (CPListItem[] items);
    public CPListSection (Foundation.NSCoder coder);
    protected CPListSection (Foundation.NSObjectFlag t);
    protected CPListSection (IntPtr handle);
    public CPListSection (CPListItem[] items, string header, string sectionIndexTitle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Header { get; }
    public virtual CPListItem[] Items { get; }
    public virtual string SectionIndexTitle { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPListTemplate

public class CPListTemplate : CarPlay.CPTemplate, ICPBarButtonProviding, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPListTemplate (Foundation.NSCoder coder);
    protected CPListTemplate (Foundation.NSObjectFlag t);
    protected CPListTemplate (IntPtr handle);
    public CPListTemplate (string title, CPListSection[] sections);
    // properties
    public override IntPtr ClassHandle { get; }
    public ICPListTemplateDelegate Delegate { get; set; }
    public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
    public virtual CPListSection[] Sections { get; }
    public virtual string Title { get; }
    public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    // methods
    protected override void Dispose (bool disposing);
    public virtual void UpdateSections (CPListSection[] sections);
}

New Type: CarPlay.CPListTemplateDelegate

public abstract class CPListTemplateDelegate : Foundation.NSObject, ICPListTemplateDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CPListTemplateDelegate ();
    protected CPListTemplateDelegate (Foundation.NSObjectFlag t);
    protected CPListTemplateDelegate (IntPtr handle);
    // methods
    public virtual void DidSelectListItem (CPListTemplate listTemplate, CPListItem item, System.Action completionHandler);
}

New Type: CarPlay.CPManeuver

public class CPManeuver : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPManeuver ();
    public CPManeuver (Foundation.NSCoder coder);
    protected CPManeuver (Foundation.NSObjectFlag t);
    protected CPManeuver (IntPtr handle);
    // properties
    public virtual Foundation.NSAttributedString[] AttributedInstructionVariants { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CPTravelEstimates InitialTravelEstimates { get; set; }
    public virtual string[] InstructionVariants { get; set; }
    public virtual CPImageSet SymbolSet { get; set; }
    public virtual Foundation.NSObject UserInfo { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPManeuverDisplayStyle

[Serializable]
[Flags]
public enum CPManeuverDisplayStyle {
    Default = 0,
    InstructionOnly = 4,
    LeadingSymbol = 1,
    SymbolOnly = 3,
    TrailingSymbol = 2,
}

New Type: CarPlay.CPMapButton

public class CPMapButton : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPMapButton (Foundation.NSCoder coder);
    protected CPMapButton (Foundation.NSObjectFlag t);
    public CPMapButton (System.Action<CPMapButton> handler);
    protected CPMapButton (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool Enabled { get; set; }
    public virtual UIKit.UIImage FocusedImage { get; set; }
    public virtual bool Hidden { get; set; }
    public virtual UIKit.UIImage Image { get; set; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPMapTemplate

public class CPMapTemplate : CarPlay.CPTemplate, ICPBarButtonProviding, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPMapTemplate (Foundation.NSCoder coder);
    protected CPMapTemplate (Foundation.NSObjectFlag t);
    protected CPMapTemplate (IntPtr handle);
    // properties
    public virtual bool AutomaticallyHidesNavigationBar { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CPNavigationAlert CurrentNavigationAlert { get; }
    public virtual UIKit.UIColor GuidanceBackgroundColor { get; set; }
    public virtual bool HidesButtonsWithNavigationBar { get; set; }
    public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
    public virtual CPMapButton[] MapButtons { get; set; }
    public ICPMapTemplateDelegate MapDelegate { get; set; }
    public virtual bool PanningInterfaceVisible { get; }
    public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
    public virtual CPTripEstimateStyle TripEstimateStyle { get; set; }
    public virtual Foundation.NSObject WeakMapDelegate { get; set; }
    // methods
    public virtual void DismissNavigationAlert (bool animated, System.Action<bool> completion);
    public virtual System.Threading.Tasks.Task<bool> DismissNavigationAlertAsync (bool animated);
    public virtual void DismissPanningInterface (bool animated);
    protected override void Dispose (bool disposing);
    public virtual void HideTripPreviews ();
    public virtual void PresentNavigationAlert (CPNavigationAlert navigationAlert, bool animated);
    public virtual void ShowPanningInterface (bool animated);
    public virtual void ShowRouteChoicesPreview (CPTrip tripPreview, CPTripPreviewTextConfiguration textConfiguration);
    public virtual void ShowTripPreviews (CPTrip[] tripPreviews, CPTripPreviewTextConfiguration textConfiguration);
    public virtual CPNavigationSession StartNavigationSession (CPTrip trip);
    public virtual void UpdateTravelEstimates (CPTravelEstimates estimates, CPTrip trip);
    public virtual void UpdateTravelEstimates (CPTravelEstimates estimates, CPTrip trip, CPTimeRemainingColor timeRemainingColor);
}

New Type: CarPlay.CPMapTemplateDelegate

public class CPMapTemplateDelegate : Foundation.NSObject, ICPMapTemplateDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPMapTemplateDelegate ();
    protected CPMapTemplateDelegate (Foundation.NSObjectFlag t);
    protected CPMapTemplateDelegate (IntPtr handle);
    // methods
    public virtual void DidBeginPanGesture (CPMapTemplate mapTemplate);
    public virtual void DidCancelNavigation (CPMapTemplate mapTemplate);
    public virtual void DidDismissNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
    public virtual void DidDismissPanningInterface (CPMapTemplate mapTemplate);
    public virtual void DidEndPanGesture (CPMapTemplate mapTemplate, CoreGraphics.CGPoint velocity);
    public virtual void DidShowNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
    public virtual void DidShowPanningInterface (CPMapTemplate mapTemplate);
    public virtual void DidUpdatePanGesture (CPMapTemplate mapTemplate, CoreGraphics.CGPoint translation, CoreGraphics.CGPoint velocity);
    public virtual CPManeuverDisplayStyle GetDisplayStyle (CPMapTemplate mapTemplate, CPManeuver maneuver);
    public virtual void Pan (CPMapTemplate mapTemplate, CPPanDirection direction);
    public virtual void PanBegan (CPMapTemplate mapTemplate, CPPanDirection direction);
    public virtual void PanEnded (CPMapTemplate mapTemplate, CPPanDirection direction);
    public virtual void SelectedPreview (CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
    public virtual bool ShouldShowNotificationForManeuver (CPMapTemplate mapTemplate, CPManeuver maneuver);
    public virtual bool ShouldShowNotificationForNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
    public virtual bool ShouldUpdateNotificationForManeuver (CPMapTemplate mapTemplate, CPManeuver maneuver, CPTravelEstimates travelEstimates);
    public virtual void StartedTrip (CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
    public virtual void WillDismissNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
    public virtual void WillDismissPanningInterface (CPMapTemplate mapTemplate);
    public virtual void WillShowNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
}

New Type: CarPlay.CPMapTemplateDelegate_Extensions

public static class CPMapTemplateDelegate_Extensions {
    // methods
    public static void DidBeginPanGesture (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
    public static void DidCancelNavigation (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
    public static void DidDismissNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
    public static void DidDismissPanningInterface (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
    public static void DidEndPanGesture (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CoreGraphics.CGPoint velocity);
    public static void DidShowNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
    public static void DidShowPanningInterface (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
    public static void DidUpdatePanGesture (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CoreGraphics.CGPoint translation, CoreGraphics.CGPoint velocity);
    public static CPManeuverDisplayStyle GetDisplayStyle (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPManeuver maneuver);
    public static void Pan (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPPanDirection direction);
    public static void PanBegan (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPPanDirection direction);
    public static void PanEnded (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPPanDirection direction);
    public static void SelectedPreview (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
    public static bool ShouldShowNotificationForManeuver (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPManeuver maneuver);
    public static bool ShouldShowNotificationForNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
    public static bool ShouldUpdateNotificationForManeuver (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPManeuver maneuver, CPTravelEstimates travelEstimates);
    public static void StartedTrip (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
    public static void WillDismissNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
    public static void WillDismissPanningInterface (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
    public static void WillShowNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
}

New Type: CarPlay.CPNavigationAlert

public class CPNavigationAlert : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPNavigationAlert (Foundation.NSCoder coder);
    protected CPNavigationAlert (Foundation.NSObjectFlag t);
    protected CPNavigationAlert (IntPtr handle);
    public CPNavigationAlert (string[] titleVariants, string[] subtitleVariants, CPImageSet imageSet, CPAlertAction primaryAction, CPAlertAction secondaryAction, double duration);
    // fields
    public static const double MinimumDuration;
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual double Duration { get; }
    public virtual CPImageSet ImageSet { get; }
    public virtual CPAlertAction PrimaryAction { get; }
    public virtual CPAlertAction SecondaryAction { get; }
    public virtual string[] SubtitleVariants { get; }
    public virtual string[] TitleVariants { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public virtual void UpdateTitleVariants (string[] newTitleVariants, string[] newSubtitleVariants);
}

New Type: CarPlay.CPNavigationAlertDismissalContext

[Serializable]
public enum CPNavigationAlertDismissalContext {
    SystemDismissed = 2,
    Timeout = 0,
    UserDismissed = 1,
}

New Type: CarPlay.CPNavigationSession

public class CPNavigationSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CPNavigationSession (Foundation.NSObjectFlag t);
    protected CPNavigationSession (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CPTrip Trip { get; }
    public virtual CPManeuver[] UpcomingManeuvers { get; set; }
    // methods
    public virtual void CancelTrip ();
    public virtual void FinishTrip ();
    public virtual void PauseTrip (CPTripPauseReason reason, string description);
    public virtual void UpdateTravelEstimates (CPTravelEstimates estimates, CPManeuver maneuver);
}

New Type: CarPlay.CPPanDirection

[Serializable]
[Flags]
public enum CPPanDirection {
    Down = 8,
    Left = 1,
    None = 0,
    Right = 2,
    Up = 4,
}

New Type: CarPlay.CPRouteChoice

public class CPRouteChoice : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPRouteChoice (Foundation.NSCoder coder);
    protected CPRouteChoice (Foundation.NSObjectFlag t);
    protected CPRouteChoice (IntPtr handle);
    public CPRouteChoice (string[] summaryVariants, string[] additionalInformationVariants, string[] selectionSummaryVariants);
    // properties
    public virtual string[] AdditionalInformationVariants { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string[] SelectionSummaryVariants { get; }
    public virtual string[] SummaryVariants { get; }
    public virtual Foundation.NSObject UserInfo { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPSearchTemplate

public class CPSearchTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPSearchTemplate ();
    public CPSearchTemplate (Foundation.NSCoder coder);
    protected CPSearchTemplate (Foundation.NSObjectFlag t);
    protected CPSearchTemplate (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public ICPSearchTemplateDelegate Delegate { get; set; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    // methods
    protected override void Dispose (bool disposing);
}

New Type: CarPlay.CPSearchTemplateDelegate

public abstract class CPSearchTemplateDelegate : Foundation.NSObject, ICPSearchTemplateDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CPSearchTemplateDelegate ();
    protected CPSearchTemplateDelegate (Foundation.NSObjectFlag t);
    protected CPSearchTemplateDelegate (IntPtr handle);
    // methods
    public virtual void SearchButtonPressed (CPSearchTemplate searchTemplate);
    public virtual void SelectedResult (CPSearchTemplate searchTemplate, CPListItem item, System.Action completionHandler);
    public virtual void UpdatedSearchText (CPSearchTemplate searchTemplate, string searchText, CPSearchTemplateDelegateUpdateHandler completionHandler);
}

New Type: CarPlay.CPSearchTemplateDelegateUpdateHandler

public sealed delegate CPSearchTemplateDelegateUpdateHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public CPSearchTemplateDelegateUpdateHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (CPListItem[] searchResults, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (CPListItem[] searchResults);
}

New Type: CarPlay.CPSearchTemplateDelegate_Extensions

public static class CPSearchTemplateDelegate_Extensions {
    // methods
    public static void SearchButtonPressed (this ICPSearchTemplateDelegate This, CPSearchTemplate searchTemplate);
}

New Type: CarPlay.CPSessionConfiguration

public class CPSessionConfiguration : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPSessionConfiguration (ICPSessionConfigurationDelegate delegate);
    protected CPSessionConfiguration (Foundation.NSObjectFlag t);
    protected CPSessionConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public ICPSessionConfigurationDelegate Delegate { get; set; }
    public virtual CPLimitableUserInterface LimitedUserInterfaces { get; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    // methods
    protected override void Dispose (bool disposing);
}

New Type: CarPlay.CPSessionConfigurationDelegate

public abstract class CPSessionConfigurationDelegate : Foundation.NSObject, ICPSessionConfigurationDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CPSessionConfigurationDelegate ();
    protected CPSessionConfigurationDelegate (Foundation.NSObjectFlag t);
    protected CPSessionConfigurationDelegate (IntPtr handle);
    // methods
    public virtual void LimitedUserInterfacesChanged (CPSessionConfiguration sessionConfiguration, CPLimitableUserInterface limitedUserInterfaces);
}

New Type: CarPlay.CPTemplate

public abstract class CPTemplate : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CPTemplate ();
    protected CPTemplate (Foundation.NSCoder coder);
    protected CPTemplate (Foundation.NSObjectFlag t);
    protected CPTemplate (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSObject UserInfo { get; set; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPTimeRemainingColor

[Serializable]
public enum CPTimeRemainingColor {
    Default = 0,
    Green = 1,
    Orange = 2,
    Red = 3,
}

New Type: CarPlay.CPTravelEstimates

public class CPTravelEstimates : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPTravelEstimates (Foundation.NSCoder coder);
    protected CPTravelEstimates (Foundation.NSObjectFlag t);
    protected CPTravelEstimates (IntPtr handle);
    public CPTravelEstimates (Foundation.NSMeasurement<Foundation.NSUnitLength> distance, double time);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSMeasurement<Foundation.NSUnitLength> DistanceRemaining { get; }
    public virtual double TimeRemaining { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPTrip

public class CPTrip : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPTrip (Foundation.NSCoder coder);
    protected CPTrip (Foundation.NSObjectFlag t);
    protected CPTrip (IntPtr handle);
    public CPTrip (MapKit.MKMapItem origin, MapKit.MKMapItem destination, CPRouteChoice[] routeChoices);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MapKit.MKMapItem Destination { get; }
    public virtual MapKit.MKMapItem Origin { get; }
    public virtual CPRouteChoice[] RouteChoices { get; }
    public virtual Foundation.NSObject UserInfo { get; set; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPTripEstimateStyle

[Serializable]
public enum CPTripEstimateStyle {
    Dark = 1,
    Light = 0,
}

New Type: CarPlay.CPTripPauseReason

[Serializable]
public enum CPTripPauseReason {
    Arrived = 1,
    Loading = 2,
    Locating = 3,
    ProceedToRoute = 5,
    Rerouting = 4,
}

New Type: CarPlay.CPTripPreviewTextConfiguration

public class CPTripPreviewTextConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPTripPreviewTextConfiguration ();
    public CPTripPreviewTextConfiguration (Foundation.NSCoder coder);
    protected CPTripPreviewTextConfiguration (Foundation.NSObjectFlag t);
    protected CPTripPreviewTextConfiguration (IntPtr handle);
    public CPTripPreviewTextConfiguration (string startButtonTitle, string additionalRoutesButtonTitle, string overviewButtonTitle);
    // properties
    public virtual string AdditionalRoutesButtonTitle { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string OverviewButtonTitle { get; }
    public virtual string StartButtonTitle { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPVoiceControlState

public class CPVoiceControlState : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPVoiceControlState ();
    public CPVoiceControlState (Foundation.NSCoder coder);
    protected CPVoiceControlState (Foundation.NSObjectFlag t);
    protected CPVoiceControlState (IntPtr handle);
    public CPVoiceControlState (string identifier, string[] titleVariants, UIKit.UIImage image, bool repeats);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Identifier { get; }
    public virtual UIKit.UIImage Image { get; }
    public virtual bool Repeats { get; }
    public virtual string[] TitleVariants { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPVoiceControlTemplate

public class CPVoiceControlTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CPVoiceControlTemplate (CPVoiceControlState[] voiceControlStates);
    public CPVoiceControlTemplate (Foundation.NSCoder coder);
    protected CPVoiceControlTemplate (Foundation.NSObjectFlag t);
    protected CPVoiceControlTemplate (IntPtr handle);
    // properties
    public virtual string ActiveStateIdentifier { get; }
    public override IntPtr ClassHandle { get; }
    public virtual CPVoiceControlState[] VoiceControlStates { get; }
    // methods
    public virtual void ActivateVoiceControlState (string identifier);
}

New Type: CarPlay.CPWindow

public class CPWindow : UIKit.UIWindow, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public CPWindow ();
    public CPWindow (CoreGraphics.CGRect frame);
    public CPWindow (Foundation.NSCoder coder);
    protected CPWindow (Foundation.NSObjectFlag t);
    protected CPWindow (IntPtr handle);
    // properties
    public static CPWindow.CPWindowAppearance Appearance { get; }
    public override IntPtr ClassHandle { get; }
    public virtual UIKit.UILayoutGuide MapButtonSafeAreaLayoutGuide { get; }
    // methods
    public static CPWindow.CPWindowAppearance AppearanceWhenContainedIn (System.Type[] containers);
    public static CPWindow.CPWindowAppearance GetAppearance<T> ();
    public static CPWindow.CPWindowAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static CPWindow.CPWindowAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static CPWindow.CPWindowAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static CPWindow.CPWindowAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

    // inner types
    public class CPWindowAppearance : UIKit.UIWindow+UIWindowAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
        // constructors
        protected CPWindow.CPWindowAppearance (IntPtr handle);
    }
}

New Type: CarPlay.ICPApplicationDelegate

public interface ICPApplicationDelegate : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUIApplicationDelegate {
    // methods
    public virtual void DidConnectCarInterfaceController (UIKit.UIApplication application, CPInterfaceController interfaceController, CPWindow window);
    public virtual void DidDisconnectCarInterfaceController (UIKit.UIApplication application, CPInterfaceController interfaceController, CPWindow window);
}

New Type: CarPlay.ICPBarButtonProviding

public interface ICPBarButtonProviding : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
    public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
}

New Type: CarPlay.ICPInterfaceControllerDelegate

public interface ICPInterfaceControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CarPlay.ICPListTemplateDelegate

public interface ICPListTemplateDelegate : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void DidSelectListItem (CPListTemplate listTemplate, CPListItem item, System.Action completionHandler);
}

New Type: CarPlay.ICPMapTemplateDelegate

public interface ICPMapTemplateDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CarPlay.ICPSearchTemplateDelegate

public interface ICPSearchTemplateDelegate : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void SelectedResult (CPSearchTemplate searchTemplate, CPListItem item, System.Action completionHandler);
    public virtual void UpdatedSearchText (CPSearchTemplate searchTemplate, string searchText, CPSearchTemplateDelegateUpdateHandler completionHandler);
}

New Type: CarPlay.ICPSessionConfigurationDelegate

public interface ICPSessionConfigurationDelegate : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void LimitedUserInterfacesChanged (CPSessionConfiguration sessionConfiguration, CPLimitableUserInterface limitedUserInterfaces);
}

New Namespace Compression

New Type: Compression.CompressionAlgorithm

[Serializable]
public enum CompressionAlgorithm {
    LZ4 = 256,
    LZ4Raw = 257,
    Lzfse = 2049,
    Lzma = 774,
    Zlib = 517,
}

New Type: Compression.CompressionStream

public class CompressionStream : System.IO.Stream, System.IDisposable {
    // constructors
    public CompressionStream (System.IO.Stream stream, CompressionAlgorithm algorithm);
    public CompressionStream (System.IO.Stream stream, CompressionAlgorithm algorithm, bool leaveOpen);
    public CompressionStream (System.IO.Stream stream, System.IO.Compression.CompressionMode mode, CompressionAlgorithm algorithm);
    public CompressionStream (System.IO.Stream stream, System.IO.Compression.CompressionMode mode, CompressionAlgorithm algorithm, bool leaveOpen);
    // properties
    public System.IO.Stream BaseStream { get; }
    public override bool CanRead { get; }
    public override bool CanSeek { get; }
    public override bool CanWrite { get; }
    public override long Length { get; }
    public override long Position { get; set; }
    // methods
    public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
    public override System.IAsyncResult BeginWrite (byte[] array, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
    public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
    protected override void Dispose (bool disposing);
    public override int EndRead (System.IAsyncResult asyncResult);
    public override void EndWrite (System.IAsyncResult asyncResult);
    public override void Flush ();
    public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);
    public override int Read (byte[] array, int offset, int count);
    public override System.Threading.Tasks.Task<int> ReadAsync (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
    public override int ReadByte ();
    public override long Seek (long offset, System.IO.SeekOrigin origin);
    public override void SetLength (long value);
    public override void Write (byte[] array, int offset, int count);
    public override System.Threading.Tasks.Task WriteAsync (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
}

New Namespace IdentityLookupUI

New Type: IdentityLookupUI.ILClassificationUIExtensionContext

public class ILClassificationUIExtensionContext : Foundation.NSExtensionContext, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ILClassificationUIExtensionContext ();
    protected ILClassificationUIExtensionContext (Foundation.NSObjectFlag t);
    protected ILClassificationUIExtensionContext (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool ReadyForClassificationResponse { get; set; }
}

New Type: IdentityLookupUI.ILClassificationUIExtensionViewController

public class ILClassificationUIExtensionViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public ILClassificationUIExtensionViewController ();
    public ILClassificationUIExtensionViewController (Foundation.NSCoder coder);
    protected ILClassificationUIExtensionViewController (Foundation.NSObjectFlag t);
    protected ILClassificationUIExtensionViewController (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual ILClassificationUIExtensionContext ExtensionContext { get; }
    // methods
    public virtual IdentityLookup.ILClassificationResponse GetClassificationResponse (IdentityLookup.ILClassificationRequest request);
    public virtual void Prepare (IdentityLookup.ILClassificationRequest request);
}

New Namespace NaturalLanguage

New Type: NaturalLanguage.NLLanguage

[Serializable]
public enum NLLanguage {
    Amharic = 1,
    Arabic = 2,
    Armenian = 3,
    Bengali = 4,
    Bulgarian = 5,
    Burmese = 6,
    Catalan = 7,
    Cherokee = 8,
    Croatian = 9,
    Czech = 10,
    Danish = 11,
    Dutch = 12,
    English = 13,
    Finnish = 14,
    French = 15,
    Georgian = 16,
    German = 17,
    Greek = 18,
    Gujarati = 19,
    Hebrew = 20,
    Hindi = 21,
    Hungarian = 22,
    Icelandic = 23,
    Indonesian = 24,
    Italian = 25,
    Japanese = 26,
    Kannada = 27,
    Khmer = 28,
    Korean = 29,
    Lao = 30,
    Malay = 31,
    Malayalam = 32,
    Marathi = 33,
    Mongolian = 34,
    Norwegian = 35,
    Oriya = 36,
    Persian = 37,
    Polish = 38,
    Portuguese = 39,
    Punjabi = 40,
    Romanian = 41,
    Russian = 42,
    SimplifiedChinese = 43,
    Sinhalese = 44,
    Slovak = 45,
    Spanish = 46,
    Swedish = 47,
    Tamil = 48,
    Telugu = 49,
    Thai = 50,
    Tibetan = 51,
    TraditionalChinese = 52,
    Turkish = 53,
    Ukrainian = 54,
    Undetermined = 0,
    Urdu = 55,
    Vietnamese = 56,
}

New Type: NaturalLanguage.NLLanguageExtensions

public static class NLLanguageExtensions {
    // methods
    public static Foundation.NSString GetConstant (this NLLanguage self);
    public static NLLanguage GetValue (Foundation.NSString constant);
}

New Type: NaturalLanguage.NLLanguageRecognizer

public class NLLanguageRecognizer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public NLLanguageRecognizer ();
    protected NLLanguageRecognizer (Foundation.NSObjectFlag t);
    protected NLLanguageRecognizer (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public NLLanguage DominantLanguage { get; }
    public virtual NLLanguage[] LanguageConstraints { get; set; }
    public System.Collections.Generic.Dictionary<NLLanguage,System.Double> LanguageHints { get; set; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> NativeLanguageHints { get; set; }
    // methods
    public static NLLanguage GetDominantLanguage (string string);
    public System.Collections.Generic.Dictionary<NLLanguage,System.Double> GetLanguageHypotheses (uint maxHypotheses);
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> GetNativeLanguageHypotheses (uint maxHypotheses);
    public virtual void Process (string string);
    public virtual void Reset ();
}

New Type: NaturalLanguage.NLModel

public class NLModel : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLModel (Foundation.NSObjectFlag t);
    protected NLModel (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual NLModelConfiguration Configuration { get; }
    // methods
    public static NLModel Create (CoreML.MLModel mlModel, out Foundation.NSError error);
    public static NLModel Create (Foundation.NSUrl url, out Foundation.NSError error);
    public virtual string GetPredictedLabel (string string);
    public virtual string[] GetPredictedLabels (string[] tokens);
}

New Type: NaturalLanguage.NLModelConfiguration

public class NLModelConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public NLModelConfiguration ();
    public NLModelConfiguration (Foundation.NSCoder coder);
    protected NLModelConfiguration (Foundation.NSObjectFlag t);
    protected NLModelConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual NLLanguage Language { get; }
    public virtual uint Revision { get; }
    public virtual NLModelType Type { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static uint GetCurrentRevision (NLModelType type);
    public static Foundation.NSIndexSet GetSupportedRevisions (NLModelType type);
}

New Type: NaturalLanguage.NLModelType

[Serializable]
public enum NLModelType {
    Classifier = 0,
    Sequence = 1,
}

New Type: NaturalLanguage.NLTag

[Serializable]
public enum NLTag {
    Adjective = 6,
    Adverb = 7,
    Classifier = 15,
    CloseParenthesis = 22,
    CloseQuote = 20,
    Conjunction = 13,
    Dash = 24,
    Determiner = 9,
    Idiom = 16,
    Interjection = 14,
    Noun = 4,
    Number = 12,
    OpenParenthesis = 21,
    OpenQuote = 19,
    OrganizationName = 30,
    Other = 3,
    OtherPunctuation = 25,
    OtherWhitespace = 27,
    OtherWord = 17,
    ParagraphBreak = 26,
    Particle = 10,
    PersonalName = 28,
    PlaceName = 29,
    Preposition = 11,
    Pronoun = 8,
    Punctuation = 1,
    SentenceTerminator = 18,
    Verb = 5,
    Whitespace = 2,
    Word = 0,
    WordJoiner = 23,
}

New Type: NaturalLanguage.NLTagExtensions

public static class NLTagExtensions {
    // methods
    public static Foundation.NSString GetConstant (this NLTag self);
    public static NLTag GetValue (Foundation.NSString constant);
}

New Type: NaturalLanguage.NLTagScheme

[Serializable]
public enum NLTagScheme {
    Language = 5,
    Lemma = 4,
    LexicalClass = 1,
    NameType = 2,
    NameTypeOrLexicalClass = 3,
    Script = 6,
    TokenType = 0,
}

New Type: NaturalLanguage.NLTagSchemeExtensions

public static class NLTagSchemeExtensions {
    // methods
    public static Foundation.NSString GetConstant (this NLTagScheme self);
    public static NLTagScheme GetValue (Foundation.NSString constant);
}

New Type: NaturalLanguage.NLTagger

public class NLTagger : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLTagger (Foundation.NSObjectFlag t);
    public NLTagger (Foundation.NSString[] tagSchemes);
    public NLTagger (NLTagScheme[] tagSchemes);
    protected NLTagger (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public NLLanguage DominantLanguage { get; }
    public virtual string String { get; set; }
    public NLTagScheme[] TagSchemes { get; }
    // methods
    public virtual void EnumerateTags (Foundation.NSRange range, NLTokenUnit unit, Foundation.NSString scheme, NLTaggerOptions options, NLTaggerEnumerateTagsContinuationHandler handler);
    public void EnumerateTags (Foundation.NSRange range, NLTokenUnit unit, NLTagScheme scheme, NLTaggerOptions options, NLTaggerEnumerateTagsContinuationHandler handler);
    public static Foundation.NSString[] GetAvailableTagSchemes (NLTokenUnit unit, Foundation.NSString language);
    public static NLTagScheme[] GetAvailableTagSchemes (NLTokenUnit unit, NLLanguage language);
    public virtual NLModel[] GetModels (Foundation.NSString tagScheme);
    public NLModel[] GetModels (NLTagScheme tagScheme);
    public virtual Foundation.NSString GetTag (uint characterIndex, NLTokenUnit unit, Foundation.NSString scheme, Foundation.NSRange tokenRange);
    public NLTag GetTag (uint characterIndex, NLTokenUnit unit, NLTagScheme scheme, Foundation.NSRange tokenRange);
    public virtual Foundation.NSString[] GetTags (Foundation.NSRange range, NLTokenUnit unit, Foundation.NSString scheme, NLTaggerOptions options, out Foundation.NSValue[] tokenRanges);
    public NLTag[] GetTags (Foundation.NSRange range, NLTokenUnit unit, NLTagScheme scheme, NLTaggerOptions options, out Foundation.NSValue[] tokenRanges);
    public virtual Foundation.NSRange GetTokenRange (uint characterIndex, Foundation.NSString unit);
    public virtual void SetLanguage (Foundation.NSString language, Foundation.NSRange range);
    public void SetLanguage (NLLanguage language, Foundation.NSRange range);
    public virtual void SetModels (NLModel[] models, Foundation.NSString tagScheme);
    public void SetModels (NLModel[] models, NLTagScheme tagScheme);
    public virtual void SetOrthography (Foundation.NSOrthography orthography, Foundation.NSRange range);
}

New Type: NaturalLanguage.NLTaggerEnumerateTagsContinuationHandler

public sealed delegate NLTaggerEnumerateTagsContinuationHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NLTaggerEnumerateTagsContinuationHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (Foundation.NSString tag, Foundation.NSRange tokenRange, out bool stop, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
    public virtual void Invoke (Foundation.NSString tag, Foundation.NSRange tokenRange, out bool stop);
}

New Type: NaturalLanguage.NLTaggerOptions

[Serializable]
[Flags]
public enum NLTaggerOptions {
    JoinContractions = 32,
    JoinNames = 16,
    OmitOther = 8,
    OmitPunctuation = 2,
    OmitWhitespace = 4,
    OmitWords = 1,
}

New Type: NaturalLanguage.NLTokenUnit

[Serializable]
public enum NLTokenUnit {
    Document = 3,
    Paragraph = 2,
    Sentence = 1,
    Word = 0,
}

New Type: NaturalLanguage.NLTokenizer

public class NLTokenizer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLTokenizer (Foundation.NSObjectFlag t);
    public NLTokenizer (NLTokenUnit unit);
    protected NLTokenizer (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string String { get; set; }
    public virtual NLTokenUnit Unit { get; }
    // methods
    public virtual void EnumerateTokens (Foundation.NSRange range, NLTokenizerEnumerateContinuationHandler handler);
    public virtual Foundation.NSRange GetTokenRange (uint characterIndex);
    public virtual Foundation.NSValue[] GetTokens (Foundation.NSRange range);
    public void SetLanguage (NLLanguage language);
}

New Type: NaturalLanguage.NLTokenizerAttributes

[Serializable]
[Flags]
public enum NLTokenizerAttributes {
    Emoji = 4,
    Numeric = 1,
    Symbolic = 2,
}

New Type: NaturalLanguage.NLTokenizerEnumerateContinuationHandler

public sealed delegate NLTokenizerEnumerateContinuationHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NLTokenizerEnumerateContinuationHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (Foundation.NSRange tokenRange, NLTokenizerAttributes flags, out bool stop, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
    public virtual void Invoke (Foundation.NSRange tokenRange, NLTokenizerAttributes flags, out bool stop);
}

New Namespace Network

New Type: Network.NWAdvertiseDescriptor

public class NWAdvertiseDescriptor : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWAdvertiseDescriptor (IntPtr handle, bool owns);
    // properties
    public bool NoAutoRename { get; set; }
    // methods
    public static NWAdvertiseDescriptor CreateBonjourService (string name, string type, string domain);
    public void SetTxtRecord (string txt);
}

New Type: Network.NWConnection

public class NWConnection : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWConnection (NWEndpoint endpoint, NWParameters parameters);
    public NWConnection (IntPtr handle, bool owns);
    // properties
    public NWPath CurrentPath { get; }
    public string Description { get; }
    public NWEndpoint Endpoint { get; }
    public uint MaximumDatagramSize { get; }
    public NWParameters Parameters { get; }
    // methods
    public void Batch (System.Action method);
    public void Cancel ();
    public void CancelCurrentEndpoint ();
    public void ForceCancel ();
    public NWProtocolMetadata GetProtocolMetadata (NWProtocolDefinition definition);
    public void Receive (uint minimumIncompleteLength, uint maximumLength, NWConnectionReceiveCompletion callback);
    public void ReceiveData (uint minimumIncompleteLength, uint maximumLength, NWConnectionReceiveDispatchDataCompletion callback);
    public void ReceiveMessage (NWConnectionReceiveCompletion callback);
    public void ReceiveMessageData (NWConnectionReceiveDispatchDataCompletion callback);
    public void Restart ();
    public void Send (CoreFoundation.DispatchData buffer, NWContentContext context, bool isComplete, System.Action<NWError> callback);
    public void Send (byte[] buffer, NWContentContext context, bool isComplete, System.Action<NWError> callback);
    public void Send (byte[] buffer, int start, int length, NWContentContext context, bool isComplete, System.Action<NWError> callback);
    public void SendIdempotent (CoreFoundation.DispatchData buffer, NWContentContext context, bool isComplete);
    public void SendIdempotent (byte[] buffer, NWContentContext context, bool isComplete);
    public void SetBetterPathAvailableHandler (System.Action<bool> callback);
    public void SetBooleanChangeHandler (System.Action<bool> callback);
    public void SetPathChangedHandler (System.Action<NWPath> callback);
    public void SetQueue (CoreFoundation.DispatchQueue queue);
    public void SetStateChangeHandler (System.Action<NWConnectionState,Network.NWError> stateHandler);
    public void Start ();
}

New Type: Network.NWConnectionReceiveCompletion

public sealed delegate NWConnectionReceiveCompletion : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NWConnectionReceiveCompletion (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (IntPtr data, uint dataSize, NWContentContext context, bool isComplete, NWError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (IntPtr data, uint dataSize, NWContentContext context, bool isComplete, NWError error);
}

New Type: Network.NWConnectionReceiveDispatchDataCompletion

public sealed delegate NWConnectionReceiveDispatchDataCompletion : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NWConnectionReceiveDispatchDataCompletion (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (CoreFoundation.DispatchData data, NWContentContext context, bool isComplete, NWError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (CoreFoundation.DispatchData data, NWContentContext context, bool isComplete, NWError error);
}

New Type: Network.NWConnectionState

[Serializable]
public enum NWConnectionState {
    Cancelled = 5,
    Failed = 4,
    Invalid = 0,
    Preparing = 2,
    Ready = 3,
    Waiting = 1,
}

New Type: Network.NWContentContext

public class NWContentContext : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWContentContext (string contextIdentifier);
    public NWContentContext (IntPtr handle, bool owns);
    // properties
    public NWContentContext Antecedent { get; set; }
    public static NWContentContext DefaultMessage { get; }
    public static NWContentContext DefaultStream { get; }
    public ulong ExpirationMilliseconds { get; set; }
    public static NWContentContext FinalMessage { get; }
    public string Identifier { get; }
    public bool IsFinal { get; set; }
    public double RelativePriority { get; set; }
    // methods
    public NWProtocolMetadata GetProtocolMetadata (NWProtocolDefinition protocolDefinition);
    public void IterateProtocolMetadata (System.Action<NWProtocolDefinition,Network.NWProtocolMetadata> callback);
    protected override void Release ();
    public void SetMetadata (NWProtocolMetadata protocolMetadata);
}

New Type: Network.NWEndpoint

public class NWEndpoint : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWEndpoint (IntPtr handle, bool owns);
    // properties
    public string Address { get; }
    public string BonjourServiceDomain { get; }
    public string BonjourServiceName { get; }
    public string BonjourServiceType { get; }
    public string Hostname { get; }
    public string Port { get; }
    public ushort PortNumber { get; }
    public NWEndpointType Type { get; }
    // methods
    public static NWEndpoint Create (string hostname, string port);
    public static NWEndpoint CreateBonjourService (string name, string serviceType, string domain);
}

New Type: Network.NWEndpointType

[Serializable]
public enum NWEndpointType {
    Address = 1,
    BonjourService = 3,
    Host = 2,
    Invalid = 0,
}

New Type: Network.NWError

public class NWError : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWError (IntPtr handle, bool owns);
    // properties
    public CoreFoundation.CFException CFError { get; }
    public int ErrorCode { get; }
    public NWErrorDomain ErrorDomain { get; }
}

New Type: Network.NWErrorDomain

[Serializable]
public enum NWErrorDomain {
    Dns = 2,
    Invalid = 0,
    Posix = 1,
    Tls = 3,
}

New Type: Network.NWIPEcnFlag

[Serializable]
public enum NWIPEcnFlag {
    Ce = 3,
    Ect = 2,
    Ect1 = 1,
    NonEct = 0,
}

New Type: Network.NWIPVersion

[Serializable]
public enum NWIPVersion {
    Any = 0,
    Version4 = 1,
    Version6 = 2,
}

New Type: Network.NWInterface

public class NWInterface : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWInterface (IntPtr handle, bool owns);
    // properties
    public uint Index { get; }
    public NWInterfaceType InterfaceType { get; }
    public string Name { get; }
}

New Type: Network.NWInterfaceType

[Serializable]
public enum NWInterfaceType {
    Cellular = 2,
    Loopback = 4,
    Other = 0,
    Wifi = 1,
    Wired = 3,
}

New Type: Network.NWListener

public class NWListener : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWListener (IntPtr handle, bool owns);
    // properties
    public ushort Port { get; }
    // methods
    public void Cancel ();
    public static NWListener Create (NWParameters parameters);
    public static NWListener Create (NWConnection connection, NWParameters parameters);
    public static NWListener Create (string port, NWParameters parameters);
    public void SetAdvertiseDescriptor (NWAdvertiseDescriptor descriptor);
    public void SetAdvertisedEndpointChangedHandler (NWListener.AdvertisedEndpointChanged callback);
    public void SetNewConnectionHandler (System.Action<NWConnection> callback);
    public void SetQueue (CoreFoundation.DispatchQueue queue);
    public void SetStateChangedHandler (System.Action<NWListenerState,Network.NWError> callback);
    public void Start ();

    // inner types
    public sealed delegate AdvertisedEndpointChanged : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
        // constructors
        public NWListener.AdvertisedEndpointChanged (object object, IntPtr method);
        // methods
        public virtual System.IAsyncResult BeginInvoke (NWEndpoint endpoint, bool added, System.AsyncCallback callback, object object);
        public virtual void EndInvoke (System.IAsyncResult result);
        public virtual void Invoke (NWEndpoint endpoint, bool added);
    }
}

New Type: Network.NWListenerState

[Serializable]
public enum NWListenerState {
    Cancelled = 4,
    Failed = 3,
    Invalid = 0,
    Ready = 2,
    Waiting = 1,
}

New Type: Network.NWMultiPathService

[Serializable]
public enum NWMultiPathService {
    Aggregate = 3,
    Disabled = 0,
    Handover = 1,
    Interactive = 2,
}

New Type: Network.NWParameters

public class NWParameters : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWParameters ();
    public NWParameters (IntPtr handle, bool owns);
    // properties
    public NWParametersExpiredDnsBehavior ExpiredDnsBehavior { get; set; }
    public bool FastOpenEnabled { get; set; }
    public NWInterface Interface { get; }
    public NWEndpoint LocalEndpoint { get; set; }
    public bool LocalOnly { get; set; }
    public NWMultiPathService MultipathService { get; set; }
    public bool PreferNoProxy { get; set; }
    public bool ProhibitExpensive { get; set; }
    public NWProtocolStack ProtocolStack { get; }
    public NWInterfaceType RequiredInterfaceType { get; set; }
    public bool ReuseLocalAddress { get; set; }
    public NWServiceClass ServiceClass { get; set; }
    // methods
    public void ClearProhibitedInterfaceTypes ();
    public void ClearProhibitedInterfaces ();
    public NWParameters Clone ();
    public static NWParameters CreateSecureTcp (System.Action<NWProtocolOptions> configureTls, System.Action<NWProtocolOptions> configureTcp);
    public static NWParameters CreateSecureUdp (System.Action<NWProtocolOptions> configureTls, System.Action<NWProtocolOptions> configureUdp);
    public static NWParameters CreateTcp (System.Action<NWProtocolOptions> configureTcp);
    public static NWParameters CreateUdp (System.Action<NWProtocolOptions> configureUdp);
    public void IterateProhibitedInterfaces (System.Func<NWInterface,System.Boolean> iterationCallback);
    public void IterateProhibitedInterfaces (System.Func<NWInterfaceType,System.Boolean> callback);
    public void ProhibitInterface (NWInterface iface);
    public void ProhibitInterfaceType (NWInterfaceType ifaceType);
    public void RequireInterface (NWInterface iface);
}

New Type: Network.NWParametersExpiredDnsBehavior

[Serializable]
public enum NWParametersExpiredDnsBehavior {
    Allow = 1,
    Default = 0,
    Prohibit = 2,
}

New Type: Network.NWPath

public class NWPath : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWPath (IntPtr handle, bool owns);
    // properties
    public NWEndpoint EffectiveLocalEndpoint { get; }
    public NWEndpoint EffectiveRemoteEndpoint { get; }
    public bool HasDns { get; }
    public bool HasIPV4 { get; }
    public bool HasIPV6 { get; }
    public bool IsExpensive { get; }
    public NWPathStatus Status { get; }
    // methods
    public void EnumerateInterfaces (System.Action<NWInterface> callback);
    public bool EqualsTo (NWPath other);
    public bool UsesInterfaceType (NWInterfaceType type);
}

New Type: Network.NWPathMonitor

public class NWPathMonitor : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWPathMonitor ();
    public NWPathMonitor (NWInterfaceType interfaceType);
    public NWPathMonitor (IntPtr handle, bool owns);
    // methods
    public void Cancel ();
    public void SetQueue (CoreFoundation.DispatchQueue queue);
    public void Start ();
}

New Type: Network.NWPathStatus

[Serializable]
public enum NWPathStatus {
    Invalid = 0,
    Satisfiable = 3,
    Satisfied = 1,
    Unsatisfied = 2,
}

New Type: Network.NWProtocolDefinition

public class NWProtocolDefinition : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWProtocolDefinition (IntPtr handle, bool owns);
    // properties
    public static NWProtocolDefinition IPDefinition { get; }
    public static NWProtocolDefinition TcpDefinition { get; }
    public static NWProtocolDefinition TlsDefinition { get; }
    public static NWProtocolDefinition UdpDefinition { get; }
    // methods
    public bool Equals (object other);
}

New Type: Network.NWProtocolMetadata

public class NWProtocolMetadata : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWProtocolMetadata (IntPtr handle, bool owns);
    // properties
    public NWIPEcnFlag IPMetadataEcnFlag { get; set; }
    public bool IsIP { get; }
    public bool IsTls { get; }
    public bool IsUdp { get; }
    public NWProtocolDefinition ProtocolDefinition { get; }
    public Security.SecProtocolMetadata SecProtocolMetadata { get; }
    public NWServiceClass ServiceClass { get; set; }
    // methods
    public uint TcpGetAvailableReceiveBuffer ();
    public uint TcpGetAvailableSendBuffer ();
}

New Type: Network.NWProtocolOptions

public class NWProtocolOptions : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWProtocolOptions (IntPtr handle, bool owns);
    // properties
    public NWProtocolDefinition ProtocolDefinition { get; }
    public Security.SecProtocolOptions TlsProtocolOptions { get; }
    // methods
    public static NWProtocolOptions CreateTcp ();
    public static NWProtocolOptions CreateTls ();
    public static NWProtocolOptions CreateUdp ();
    public void IPSetDisableFragmentation (bool disableFragmentation);
    public void IPSetHopLimit (byte hopLimit);
    public void IPSetUseMinimumMtu (bool useMinimumMtu);
    public void IPSetVersion (NWIPVersion version);
    public void TcpSetConnectionTimeout (uint connectionTimeout);
    public void TcpSetDisableAckStretching (bool disableAckStretching);
    public void TcpSetDisableEcn (bool disableEcn);
    public void TcpSetEnableFastOpen (bool enableFastOpen);
    public void TcpSetEnableKeepAlive (bool enableKeepAlive);
    public void TcpSetKeepAliveCount (uint keepaliveCount);
    public void TcpSetKeepAliveIdleTime (uint keepaliveIdleTime);
    public void TcpSetKeepAliveInterval (uint keepaliveInterval);
    public void TcpSetMaximumSegmentSize (uint maximumSegmentSize);
    public void TcpSetNoDelay (bool noDelay);
    public void TcpSetNoOptions (bool noOptions);
    public void TcpSetNoPush (bool noPush);
    public void TcpSetPersistTimeout (uint persistTimeout);
    public void TcpSetRetransmitConnectionDropTime (uint retransmitConnectionDropTime);
    public void TcpSetRetransmitFinDrop (bool retransmitFinDrop);
    public void UdpSetPreferNoChecksum (bool preferNoChecksums);
}

New Type: Network.NWProtocolStack

public class NWProtocolStack : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWProtocolStack (IntPtr handle, bool owns);
    // properties
    public NWProtocolOptions InternetProtocol { get; }
    public NWProtocolOptions TransportProtocol { get; set; }
    // methods
    public void ClearApplicationProtocols ();
    public void IterateProtocols (System.Action<NWProtocolOptions> callback);
    public void PrependApplicationProtocol (NWProtocolOptions options);
}

New Type: Network.NWServiceClass

[Serializable]
public enum NWServiceClass {
    Background = 1,
    BestEffort = 0,
    InteractiveVideo = 2,
    InteractiveVoice = 3,
    ResponsiveData = 4,
    Signaling = 5,
}

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.