Xamarin.TVOS SDK API diff: 11.12.0 vs 11.99.3

Xamarin.TVOS 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.TVOS.dll

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.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.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.IAVFragmentMinding

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

Namespace AVKit

Type Changed: AVKit.AVContentProposalViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: AVKit.AVPlayerViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: AVKit.AVRoutePickerView

Added interfaces:

UIKit.IUIFocusItemContainer
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 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 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 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);
    protected 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);
    protected 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);
    protected 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);
    protected 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);
    protected 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);
    protected 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);
    protected 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);
    protected 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);
    protected 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);
    protected 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 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 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.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.GKGameCenterViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: GameKit.GKGameSessionSharingViewController

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 HomeKit

Type Changed: HomeKit.HMCameraView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: HomeKit.HMHome

Added methods:

public virtual void RemoveUser (HMUser user, System.Action<Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task RemoveUserAsync (HMUser user);

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 MapKit

Type Changed: MapKit.MKAnnotationView

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.MKPinAnnotationView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Type Changed: MapKit.MKScaleView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

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.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);

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.MTLRenderPipelineState_Extensions

public static class MTLRenderPipelineState_Extensions {
    // methods
    public static bool GetSupportIndirectCommandBuffers (this IMTLRenderPipelineState This);
}

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 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 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 PhotosUI

Type Changed: PhotosUI.PHLivePhotoView

Added interfaces:

UIKit.IUIFocusItemContainer
UIKit.IUIUserActivityRestoring

Namespace ReplayKit

Type Changed: ReplayKit.RPBroadcastActivityViewController

Added interface:

UIKit.IUIUserActivityRestoring

Type Changed: ReplayKit.RPPreviewViewController

Added interface:

UIKit.IUIUserActivityRestoring

Namespace SceneKit

Type Changed: SceneKit.SCNGeometry

Added property:

public virtual SCNGeometryTessellator Tessellator { get; set; }

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

New Type: SceneKit.SCNGeometryTessellator

public class SCNGeometryTessellator : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public SCNGeometryTessellator (Foundation.NSCoder coder);
    protected SCNGeometryTessellator (Foundation.NSObjectFlag t);
    protected SCNGeometryTessellator (IntPtr handle);
    // properties
    public virtual bool Adaptive { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual nfloat EdgeTessellationFactor { get; set; }
    public virtual nfloat InsideTessellationFactor { get; set; }
    public virtual nfloat MaximumEdgeLength { get; set; }
    public virtual bool ScreenSpace { get; set; }
    public virtual SCNTessellationSmoothingMode SmoothingMode { get; set; }
    public virtual nfloat TessellationFactorScale { get; set; }
    public virtual Metal.MTLTessellationPartitionMode TessellationPartitionMode { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: SceneKit.SCNTessellationSmoothingMode

[Serializable]
public enum SCNTessellationSmoothingMode {
    None = 0,
    PNTriangles = 1,
    Phong = 2,
}

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 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.SKAdNetwork

Obsoleted methods:

[Obsolete ("Throws a 'NotSupportedException'.")]
 public static void RegisterAppForAdNetworkAttribution ();

Type Changed: StoreKit.SKDownload

Added property:

public virtual SKDownloadState State { get; }

Type Changed: StoreKit.SKProduct

Added properties:

public virtual Foundation.NSNumber[] ContentLengths { get; }
public virtual string ContentVersion { get; }
public virtual string SubscriptionGroupIdentifier { get; }

Namespace SystemConfiguration

Type Changed: SystemConfiguration.CaptiveNetwork

Obsoleted properties:

[Obsolete ("Always return 'null'.")]
 public static Foundation.NSString NetworkInfoKeyBSSID { get; }
 [Obsolete ("Always return 'null'.")]
 public static Foundation.NSString NetworkInfoKeySSID { get; }
 [Obsolete ("Always return 'null'.")]
 public static Foundation.NSString NetworkInfoKeySSIDData { get; }

Obsoleted methods:

[Obsolete ("Throw a 'NotSupportedException'.")]
 public static bool MarkPortalOffline (string iface);
 [Obsolete ("Throw a 'NotSupportedException'.")]
 public static bool MarkPortalOnline (string iface);
 [Obsolete ("Throw a 'NotSupportedException'.")]
 public static bool SetSupportedSSIDs (string[] ssids);
 [Obsolete ("Throw a 'NotSupportedException'.")]
 public static StatusCode TryCopyCurrentNetworkInfo (string interfaceName, out Foundation.NSDictionary currentNetworkInfo);
 [Obsolete ("Throw a 'NotSupportedException'.")]
 public static StatusCode TryGetSupportedInterfaces (out string[] supportedInterfaces);

Namespace TVMLKit

Type Changed: TVMLKit.TVApplicationControllerDelegate

Added method:

public virtual TVPlayer GetPlayer (TVApplicationController appController);

Type Changed: TVMLKit.TVApplicationControllerDelegate_Extensions

Added method:

public static TVPlayer GetPlayer (this ITVApplicationControllerDelegate This, TVApplicationController appController);

Type Changed: TVMLKit.TVInterfaceCreating_Extensions

Added method:

public static UIKit.UIViewController GetPlayerViewController (this ITVInterfaceCreating This, TVPlayer player);

Type Changed: TVMLKit.TVInterfaceFactory

Added method:

public virtual UIKit.UIViewController GetPlayerViewController (TVPlayer player);

New Type: TVMLKit.ITVPlaybackEventMarshaling

public interface ITVPlaybackEventMarshaling : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; }
}

New Type: TVMLKit.TVHighlight

public class TVHighlight : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected TVHighlight (Foundation.NSObjectFlag t);
    protected TVHighlight (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string HighlightDescription { get; }
    public virtual Foundation.NSUrl ImageUrl { get; }
    public virtual string LocalizedName { get; }
    public virtual TVTimeRange TimeRange { get; }
}

New Type: TVMLKit.TVHighlightGroup

public class TVHighlightGroup : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected TVHighlightGroup (Foundation.NSObjectFlag t);
    protected TVHighlightGroup (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual TVHighlight[] Highlights { get; }
    public virtual string LocalizedName { get; }
}

New Type: TVMLKit.TVMediaItem

public class TVMediaItem : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected TVMediaItem (Foundation.NSObjectFlag t);
    protected TVMediaItem (IntPtr handle);
    // properties
    public virtual Foundation.NSUrl ArtworkImageUrl { get; }
    public override IntPtr ClassHandle { get; }
    public TVMediaItemContentRatingDomain ContentRatingDomain { get; }
    public virtual Foundation.NSNumber ContentRatingRanking { get; }
    public virtual bool ExplicitContent { get; }
    public virtual TVHighlightGroup[] HighlightGroups { get; }
    public virtual TVTimeRange[] Interstitials { get; }
    public virtual string ItemDescription { get; }
    public virtual double ResumeTime { get; }
    public virtual string Subtitle { get; }
    public virtual string Title { get; }
    public TVMediaItemType Type { get; }
    public virtual Foundation.NSUrl Url { get; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> UserInfo { get; }
    public virtual Foundation.NSString WeakContentRatingDomain { get; }
    public virtual Foundation.NSString WeakType { get; }
}

New Type: TVMLKit.TVMediaItemContentRatingDomain

[Serializable]
public enum TVMediaItemContentRatingDomain {
    Movie = 1,
    Music = 3,
    None = 0,
    TVShow = 2,
    UnknownCustomExtension = -1,
}

New Type: TVMLKit.TVMediaItemContentRatingDomainExtensions

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

New Type: TVMLKit.TVMediaItemType

[Serializable]
public enum TVMediaItemType {
    Audio = 1,
    None = 0,
    UnknownCustomExtension = -1,
    Video = 2,
}

New Type: TVMLKit.TVMediaItemTypeExtensions

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

New Type: TVMLKit.TVPlaybackCustomEventUserInfo

public class TVPlaybackCustomEventUserInfo : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, ITVPlaybackEventMarshaling {
    // constructors
    protected TVPlaybackCustomEventUserInfo (Foundation.NSObjectFlag t);
    protected TVPlaybackCustomEventUserInfo (IntPtr handle);
    public TVPlaybackCustomEventUserInfo (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> properties, bool expectsReturnValue);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool ExpectsReturnValue { get; set; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; }
    public virtual Foundation.NSObject ReturnValue { get; }
    // methods
    public virtual void ProcessReturn (JavaScriptCore.JSValue value, JavaScriptCore.JSContext jsContext);
}

New Type: TVMLKit.TVPlaybackEventMarshaling_Extensions

public static class TVPlaybackEventMarshaling_Extensions {
    // methods
    public static void ProcessReturn (this ITVPlaybackEventMarshaling This, JavaScriptCore.JSValue value, JavaScriptCore.JSContext jsContext);
}

New Type: TVMLKit.TVPlaybackState

[Serializable]
public enum TVPlaybackState {
    Begin = 1,
    End = 8,
    FastForwarding = 6,
    Loading = 2,
    Paused = 4,
    Playing = 3,
    Rewinding = 7,
    Scanning = 5,
    Undefined = 0,
}

New Type: TVMLKit.TVPlayer

public class TVPlayer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public TVPlayer (AVFoundation.AVPlayer player);
    protected TVPlayer (Foundation.NSObjectFlag t);
    protected TVPlayer (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual TVMediaItem CurrentMediaItem { get; }
    public virtual TVMediaItem NextMediaItem { get; }
    public virtual AVFoundation.AVPlayer Player { get; }
    public virtual TVPlaylist Playlist { get; }
    public virtual TVMediaItem PreviousMediaItem { get; }
    public virtual TVPlaybackState State { get; }
    // methods
    public virtual void ChangeToMediaItem (nint index);
    public virtual void DispatchEvent (string event, ITVPlaybackEventMarshaling userInfo, System.Action<bool> completion);
    public virtual System.Threading.Tasks.Task<bool> DispatchEventAsync (string event, ITVPlaybackEventMarshaling userInfo);
    public virtual void Next ();
    public virtual void Pause ();
    public virtual void Previous ();
}

New Type: TVMLKit.TVPlaylist

public class TVPlaylist : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected TVPlaylist (Foundation.NSObjectFlag t);
    protected TVPlaylist (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual TVPlaylistEndAction EndAction { get; }
    public virtual TVMediaItem[] MediaItems { get; }
    public virtual TVPlaylistRepeatMode RepeatMode { get; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> UserInfo { get; }
}

New Type: TVMLKit.TVPlaylistEndAction

[Serializable]
public enum TVPlaylistEndAction {
    Pause = 1,
    Stop = 0,
    WaitForMoreItems = 2,
}

New Type: TVMLKit.TVPlaylistRepeatMode

[Serializable]
public enum TVPlaylistRepeatMode {
    All = 1,
    None = 0,
    One = 2,
}

New Type: TVMLKit.TVTimeRange

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

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.UIActivityIndicatorView

Added interfaces:

IUIFocusItemContainer
IUIUserActivityRestoring

Type Changed: UIKit.UIAlertController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIApplication

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIButton

Added interfaces:

IUIFocusItemContainer
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.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.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

Added property:

public virtual bool EnablesMarqueeWhenAncestorFocused { get; set; }

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.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.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.UISplitViewController

Added interface:

IUIUserActivityRestoring

Type Changed: UIKit.UIStackView

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.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.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.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);
}

Namespace UserNotifications

Type Changed: UserNotifications.UNAuthorizationOptions

Added values:

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

Type Changed: UserNotifications.UNAuthorizationStatus

Added value:

Provisional = 3,

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,
}

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 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,
}

New Namespace TVUIKit

New Type: TVUIKit.ITVLockupViewComponent

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

New Type: TVUIKit.TVCaptionButtonView

public class TVCaptionButtonView : TVUIKit.TVLockupView, 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.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public TVCaptionButtonView ();
    public TVCaptionButtonView (CoreGraphics.CGRect frame);
    public TVCaptionButtonView (Foundation.NSCoder coder);
    protected TVCaptionButtonView (Foundation.NSObjectFlag t);
    protected TVCaptionButtonView (IntPtr handle);
    // properties
    public static TVCaptionButtonView.TVCaptionButtonViewAppearance Appearance { get; }
    public override IntPtr ClassHandle { get; }
    public virtual UIKit.UIImage ContentImage { get; set; }
    public virtual string ContentText { get; set; }
    public virtual TVCaptionButtonViewMotionDirection MotionDirection { get; set; }
    public virtual string Subtitle { get; set; }
    public virtual string Title { get; set; }
    // methods
    public static TVCaptionButtonView.TVCaptionButtonViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
    public static TVCaptionButtonView.TVCaptionButtonViewAppearance GetAppearance<T> ();
    public static TVCaptionButtonView.TVCaptionButtonViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static TVCaptionButtonView.TVCaptionButtonViewAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static TVCaptionButtonView.TVCaptionButtonViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static TVCaptionButtonView.TVCaptionButtonViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

    // inner types
    public class TVCaptionButtonViewAppearance : TVUIKit.TVLockupView+TVLockupViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
        // constructors
        protected TVCaptionButtonView.TVCaptionButtonViewAppearance (IntPtr handle);
    }
}

New Type: TVUIKit.TVCaptionButtonViewMotionDirection

[Serializable]
public enum TVCaptionButtonViewMotionDirection {
    All = 3,
    Horizontal = 1,
    None = 0,
    Vertical = 2,
}

New Type: TVUIKit.TVCardView

public class TVCardView : TVUIKit.TVLockupView, 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.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public TVCardView ();
    public TVCardView (CoreGraphics.CGRect frame);
    public TVCardView (Foundation.NSCoder coder);
    protected TVCardView (Foundation.NSObjectFlag t);
    protected TVCardView (IntPtr handle);
    // properties
    public static TVCardView.TVCardViewAppearance Appearance { get; }
    public virtual UIKit.UIColor CardBackgroundColor { get; set; }
    public override IntPtr ClassHandle { get; }
    // methods
    public static TVCardView.TVCardViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
    public static TVCardView.TVCardViewAppearance GetAppearance<T> ();
    public static TVCardView.TVCardViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static TVCardView.TVCardViewAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static TVCardView.TVCardViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static TVCardView.TVCardViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

    // inner types
    public class TVCardViewAppearance : TVUIKit.TVLockupView+TVLockupViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
        // constructors
        protected TVCardView.TVCardViewAppearance (IntPtr handle);
    }
}

New Type: TVUIKit.TVDigitEntryViewController

public class TVDigitEntryViewController : 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.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public TVDigitEntryViewController ();
    public TVDigitEntryViewController (Foundation.NSCoder coder);
    protected TVDigitEntryViewController (Foundation.NSObjectFlag t);
    protected TVDigitEntryViewController (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual System.Action<Foundation.NSString> EntryCompletionHandler { get; set; }
    public virtual uint NumberOfDigits { get; set; }
    public virtual string PromptText { get; set; }
    public virtual bool SecureDigitEntry { get; set; }
    public virtual string TitleText { get; set; }
    // methods
    public virtual void ClearEntry (bool animated);
}

New Type: TVUIKit.TVLockupHeaderFooterView

public class TVLockupHeaderFooterView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, ITVLockupViewComponent, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public TVLockupHeaderFooterView (CoreGraphics.CGRect frame);
    public TVLockupHeaderFooterView (Foundation.NSCoder coder);
    protected TVLockupHeaderFooterView (Foundation.NSObjectFlag t);
    protected TVLockupHeaderFooterView (IntPtr handle);
    // properties
    public static TVLockupHeaderFooterView.TVLockupHeaderFooterViewAppearance Appearance { get; }
    public override IntPtr ClassHandle { get; }
    public virtual bool ShowsOnlyWhenAncestorFocused { get; set; }
    public virtual UIKit.UILabel SubtitleLabel { get; }
    public virtual UIKit.UILabel TitleLabel { get; }
    // methods
    public static TVLockupHeaderFooterView.TVLockupHeaderFooterViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
    public static TVLockupHeaderFooterView.TVLockupHeaderFooterViewAppearance GetAppearance<T> ();
    public static TVLockupHeaderFooterView.TVLockupHeaderFooterViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static TVLockupHeaderFooterView.TVLockupHeaderFooterViewAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static TVLockupHeaderFooterView.TVLockupHeaderFooterViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static TVLockupHeaderFooterView.TVLockupHeaderFooterViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
    public virtual void UpdateAppearanceForLockupView (UIKit.UIControlState state);

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

New Type: TVUIKit.TVLockupView

public class TVLockupView : UIKit.UIControl, 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.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public TVLockupView (CoreGraphics.CGRect frame);
    public TVLockupView (Foundation.NSCoder coder);
    protected TVLockupView (Foundation.NSObjectFlag t);
    protected TVLockupView (IntPtr handle);
    // properties
    public static TVLockupView.TVLockupViewAppearance Appearance { get; }
    public override IntPtr ClassHandle { get; }
    public virtual CoreGraphics.CGSize ContentSize { get; set; }
    public virtual UIKit.UIView ContentView { get; }
    public virtual UIKit.NSDirectionalEdgeInsets ContentViewInsets { get; set; }
    public virtual UIKit.NSDirectionalEdgeInsets FocusSizeIncrease { get; set; }
    public virtual TVLockupHeaderFooterView FooterView { get; set; }
    public virtual TVLockupHeaderFooterView HeaderView { get; set; }
    // methods
    public static TVLockupView.TVLockupViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
    public static TVLockupView.TVLockupViewAppearance GetAppearance<T> ();
    public static TVLockupView.TVLockupViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static TVLockupView.TVLockupViewAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static TVLockupView.TVLockupViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static TVLockupView.TVLockupViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

    // inner types
    public class TVLockupViewAppearance : UIKit.UIControl+UIControlAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
        // constructors
        protected TVLockupView.TVLockupViewAppearance (IntPtr handle);
    }
}

New Type: TVUIKit.TVLockupViewComponent_Extensions

public static class TVLockupViewComponent_Extensions {
    // methods
    public static void UpdateAppearanceForLockupView (this ITVLockupViewComponent This, UIKit.UIControlState state);
}

New Type: TVUIKit.TVMonogramView

public class TVMonogramView : TVUIKit.TVLockupView, 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.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public TVMonogramView ();
    public TVMonogramView (CoreGraphics.CGRect frame);
    public TVMonogramView (Foundation.NSCoder coder);
    protected TVMonogramView (Foundation.NSObjectFlag t);
    protected TVMonogramView (IntPtr handle);
    // properties
    public static TVMonogramView.TVMonogramViewAppearance Appearance { get; }
    public override IntPtr ClassHandle { get; }
    public virtual UIKit.UIImage Image { get; set; }
    public virtual Foundation.NSPersonNameComponents PersonNameComponents { get; set; }
    public virtual string Subtitle { get; set; }
    public virtual string Title { get; set; }
    // methods
    public static TVMonogramView.TVMonogramViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
    public static TVMonogramView.TVMonogramViewAppearance GetAppearance<T> ();
    public static TVMonogramView.TVMonogramViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static TVMonogramView.TVMonogramViewAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static TVMonogramView.TVMonogramViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static TVMonogramView.TVMonogramViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

    // inner types
    public class TVMonogramViewAppearance : TVUIKit.TVLockupView+TVLockupViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
        // constructors
        protected TVMonogramView.TVMonogramViewAppearance (IntPtr handle);
    }
}

New Type: TVUIKit.TVPosterView

public class TVPosterView : TVUIKit.TVLockupView, 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.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
    // constructors
    public TVPosterView ();
    public TVPosterView (CoreGraphics.CGRect frame);
    public TVPosterView (Foundation.NSCoder coder);
    protected TVPosterView (Foundation.NSObjectFlag t);
    protected TVPosterView (IntPtr handle);
    public TVPosterView (UIKit.UIImage image);
    // properties
    public static TVPosterView.TVPosterViewAppearance Appearance { get; }
    public override IntPtr ClassHandle { get; }
    public virtual UIKit.UIImage Image { get; set; }
    public virtual UIKit.UIImageView ImageView { get; }
    public virtual string Subtitle { get; set; }
    public virtual string Title { get; set; }
    // methods
    public static TVPosterView.TVPosterViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
    public static TVPosterView.TVPosterViewAppearance GetAppearance<T> ();
    public static TVPosterView.TVPosterViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
    public static TVPosterView.TVPosterViewAppearance GetAppearance (UIKit.UITraitCollection traits);
    public static TVPosterView.TVPosterViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
    public static TVPosterView.TVPosterViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

    // inner types
    public class TVPosterViewAppearance : TVUIKit.TVLockupView+TVLockupViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
        // constructors
        protected TVPosterView.TVPosterViewAppearance (IntPtr handle);
    }
}

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.