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