Xamarin.TVOS SDK API diff: 11.9.1 vs 11.10.1

MonoTouch.Dialog-1.dll

Namespace MonoTouch.Dialog

Type Changed: MonoTouch.Dialog.DialogViewController

Added interface:

Foundation.INSExtensionRequestHandling

MonoTouch.NUnitLite.dll

Namespace MonoTouch.NUnit.UI

Type Changed: MonoTouch.NUnit.UI.TouchViewController

Added interface:

Foundation.INSExtensionRequestHandling

mscorlib.dll

Namespace System

Type Changed: System.BitConverter

Added method:

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

Type Changed: System.Double

Added method:

public static bool IsFinite (double d);

Type Changed: System.Int32

Added method:

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

Type Changed: System.Single

Added method:

public static bool IsFinite (float f);

Type Changed: System.String

Added constructor:

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

Added method:

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

Type Changed: System.Type

Added property:

public virtual bool IsCollectible { get; }

New Type: System.Memory`1

public struct Memory`1 {
	// constructors
	public Memory`1 (T[] array);
	public Memory`1 (T[] array, int start, int length);
	// properties
	public static System.Memory<T> Empty { get; }
	public bool IsEmpty { get; }
	public int Length { get; }
	public System.Span<T> Span { get; }
	// methods
	public void CopyTo (System.Memory<T> destination);
	public bool Equals (System.Memory<T> other);
	public override bool Equals (object obj);
	public override int GetHashCode ();
	public System.Memory<T> Slice (int start);
	public System.Memory<T> Slice (int start, int length);
	public T[] ToArray ();
	public bool TryCopyTo (System.Memory<T> destination);
	public bool TryGetArray (out System.ArraySegment<T> arraySegment);
	public static System.Memory<T> op_Implicit (System.ArraySegment<T> arraySegment);
	public static System.ReadOnlyMemory<T> op_Implicit (System.Memory<T> memory);
	public static System.Memory<T> op_Implicit (T[] array);
}

New Type: System.ReadOnlyMemory`1

public struct ReadOnlyMemory`1 {
	// constructors
	public ReadOnlyMemory`1 (T[] array);
	public ReadOnlyMemory`1 (T[] array, int start, int length);
	// properties
	public static System.ReadOnlyMemory<T> Empty { get; }
	public bool IsEmpty { get; }
	public int Length { get; }
	public System.ReadOnlySpan<T> Span { get; }
	// methods
	public void CopyTo (System.Memory<T> destination);
	public override bool Equals (object obj);
	public bool Equals (System.ReadOnlyMemory<T> other);
	public override int GetHashCode ();
	public System.ReadOnlyMemory<T> Slice (int start);
	public System.ReadOnlyMemory<T> Slice (int start, int length);
	public T[] ToArray ();
	public bool TryCopyTo (System.Memory<T> destination);
	public static System.ReadOnlyMemory<T> op_Implicit (System.ArraySegment<T> arraySegment);
	public static System.ReadOnlyMemory<T> op_Implicit (T[] array);
}

New Type: System.ReadOnlySpan`1

public struct ReadOnlySpan`1 {
	// constructors
	public ReadOnlySpan`1 (T[] array);
	public ReadOnlySpan`1 (void* pointer, int length);
	public ReadOnlySpan`1 (T[] array, int start, int length);
	// properties
	public static System.ReadOnlySpan<T> Empty { get; }
	public bool IsEmpty { get; }
	public T& modreq(System.Runtime.InteropServices.InAttribute) Item { get; }
	public int Length { get; }
	// methods
	public void CopyTo (System.Span<T> destination);
	public static System.ReadOnlySpan<T> DangerousCreate (object obj, ref T objectData, int length);

	[Obsolete ("Equals() on ReadOnlySpan will always throw an exception. Use == instead.")]
public override bool Equals (object obj);
	public System.ReadOnlySpan<Enumerator[T> GetEnumerator ();

	[Obsolete ("GetHashCode() on ReadOnlySpan will always throw an exception.")]
public override int GetHashCode ();
	public System.ReadOnlySpan<T> Slice (int start);
	public System.ReadOnlySpan<T> Slice (int start, int length);
	public T[] ToArray ();
	public bool TryCopyTo (System.Span<T> destination);
	public static bool op_Equality (System.ReadOnlySpan<T> left, System.ReadOnlySpan<T> right);
	public static System.ReadOnlySpan<T> op_Implicit (System.ArraySegment<T> arraySegment);
	public static System.ReadOnlySpan<T> op_Implicit (T[] array);
	public static bool op_Inequality (System.ReadOnlySpan<T> left, System.ReadOnlySpan<T> right);

	// inner types
	public struct Enumerator {
		// properties
		public T& modreq(System.Runtime.InteropServices.InAttribute) Current { get; }
		// methods
		public bool MoveNext ();
	}
}

New Type: System.Span`1

public struct Span`1 {
	// constructors
	public Span`1 (T[] array);
	public Span`1 (void* pointer, int length);
	public Span`1 (T[] array, int start, int length);
	// properties
	public static System.Span<T> Empty { get; }
	public bool IsEmpty { get; }
	public  T Item { get; }
	public int Length { get; }
	// methods
	public void Clear ();
	public void CopyTo (System.Span<T> destination);
	public static System.Span<T> DangerousCreate (object obj, ref T objectData, int length);

	[Obsolete ("Equals() on Span will always throw an exception. Use == instead.")]
public override bool Equals (object obj);
	public void Fill (T value);
	public System.Span<Enumerator[T> GetEnumerator ();

	[Obsolete ("GetHashCode() on Span will always throw an exception.")]
public override int GetHashCode ();
	public System.Span<T> Slice (int start);
	public System.Span<T> Slice (int start, int length);
	public T[] ToArray ();
	public bool TryCopyTo (System.Span<T> destination);
	public static bool op_Equality (System.Span<T> left, System.Span<T> right);
	public static System.Span<T> op_Implicit (System.ArraySegment<T> arraySegment);
	public static System.ReadOnlySpan<T> op_Implicit (System.Span<T> span);
	public static System.Span<T> op_Implicit (T[] array);
	public static bool op_Inequality (System.Span<T> left, System.Span<T> right);

	// inner types
	public struct Enumerator {
		// properties
		public  T Current { get; }
		// methods
		public bool MoveNext ();
	}
}

New Type: System.WeakAttribute

public sealed class WeakAttribute : System.Attribute {
	// constructors
	public WeakAttribute ();
}

Namespace System.Collections.Generic

Type Changed: System.Collections.Generic.Dictionary`2

Added method:

public int EnsureCapacity (int capacity);

Namespace System.IO

Type Changed: System.IO.Stream

Modified methods:

 public ---virtual--- void CopyTo (Stream destination, int bufferSize)

Added 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.Runtime.CompilerServices

Type Changed: System.Runtime.CompilerServices.RuntimeWrappedException

Added constructor:

public RuntimeWrappedException (object thrownObject);

New Type: System.Runtime.CompilerServices.AsyncMethodBuilderAttribute

public sealed class AsyncMethodBuilderAttribute : System.Attribute {
	// constructors
	public AsyncMethodBuilderAttribute (System.Type builderType);
	// properties
	public System.Type BuilderType { get; }
}

New Type: System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1

public struct AsyncValueTaskMethodBuilder`1 {
	// properties
	public System.Threading.Tasks.ValueTask<TResult> Task { get; }
	// methods
	public void AwaitOnCompleted<TAwaiter, TStateMachine> (ref TAwaiter awaiter, ref TStateMachine stateMachine);
	public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine> (ref TAwaiter awaiter, ref TStateMachine stateMachine);
	public static System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder<TResult> Create ();
	public void SetException (System.Exception exception);
	public void SetResult (TResult result);
	public void SetStateMachine (IAsyncStateMachine stateMachine);
	public void Start<TStateMachine> (ref TStateMachine stateMachine);
}

New Type: System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1

public struct ConfiguredValueTaskAwaitable`1 {
	// methods
	public System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<ConfiguredValueTaskAwaiter[TResult> GetAwaiter ();

	// inner types
	public struct ConfiguredValueTaskAwaiter, ICriticalNotifyCompletion, INotifyCompletion {
		// properties
		public bool IsCompleted { get; }
		// methods
		public TResult GetResult ();
		public virtual void OnCompleted (System.Action continuation);
		public virtual void UnsafeOnCompleted (System.Action continuation);
	}
}

New Type: System.Runtime.CompilerServices.ValueTaskAwaiter`1

public struct ValueTaskAwaiter`1, ICriticalNotifyCompletion, INotifyCompletion {
	// properties
	public bool IsCompleted { get; }
	// methods
	public TResult GetResult ();
	public virtual void OnCompleted (System.Action continuation);
	public virtual void UnsafeOnCompleted (System.Action continuation);
}

Namespace System.Runtime.InteropServices

New Type: System.Runtime.InteropServices.Architecture

[Serializable]
public enum Architecture {
	Arm = 2,
	Arm64 = 3,
	X64 = 1,
	X86 = 0,
}

New Type: System.Runtime.InteropServices.OSPlatform

public struct OSPlatform, System.IEquatable<OSPlatform> {
	// properties
	public static OSPlatform Linux { get; }
	public static OSPlatform OSX { get; }
	public static OSPlatform Windows { get; }
	// methods
	public static OSPlatform Create (string osPlatform);
	public override bool Equals (object obj);
	public virtual bool Equals (OSPlatform other);
	public override int GetHashCode ();
	public override string ToString ();
	public static bool op_Equality (OSPlatform left, OSPlatform right);
	public static bool op_Inequality (OSPlatform left, OSPlatform right);
}

New Type: System.Runtime.InteropServices.RuntimeInformation

public static class RuntimeInformation {
	// properties
	public static string FrameworkDescription { get; }
	public static Architecture OSArchitecture { get; }
	public static string OSDescription { get; }
	public static Architecture ProcessArchitecture { get; }
	// methods
	public static bool IsOSPlatform (OSPlatform osPlatform);
}

Namespace System.Text

Type Changed: System.Text.Encoding

Added method:

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

Namespace System.Threading.Tasks

Type Changed: System.Threading.Tasks.Task

Added property:

public bool IsCompletedSuccessfully { get; }

New Type: System.Threading.Tasks.ValueTask`1

public struct ValueTask`1, System.IEquatable<System.Threading.Tasks.ValueTask<TResult>> {
	// constructors
	public ValueTask`1 (System.Threading.Tasks.Task<TResult> task);
	public ValueTask`1 (TResult result);
	// properties
	public bool IsCanceled { get; }
	public bool IsCompleted { get; }
	public bool IsCompletedSuccessfully { get; }
	public bool IsFaulted { get; }
	public TResult Result { get; }
	// methods
	public System.Threading.Tasks.Task<TResult> AsTask ();
	public System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult> ConfigureAwait (bool continueOnCapturedContext);
	public static System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder<TResult> CreateAsyncMethodBuilder ();
	public override bool Equals (object obj);
	public virtual bool Equals (System.Threading.Tasks.ValueTask<TResult> other);
	public System.Runtime.CompilerServices.ValueTaskAwaiter<TResult> GetAwaiter ();
	public override int GetHashCode ();
	public override string ToString ();
	public static bool op_Equality (System.Threading.Tasks.ValueTask<TResult> left, System.Threading.Tasks.ValueTask<TResult> right);
	public static bool op_Inequality (System.Threading.Tasks.ValueTask<TResult> left, System.Threading.Tasks.ValueTask<TResult> right);
}

New Namespace System.Buffers

New Type: System.Buffers.OperationStatus

[Serializable]
public enum OperationStatus {
	DestinationTooSmall = 1,
	Done = 0,
	InvalidData = 3,
	NeedMoreData = 2,
}

System.Data.dll

Namespace Microsoft.SqlServer.Server

Type Changed: Microsoft.SqlServer.Server.SqlDataRecord

Removed method:

public virtual System.Data.IDataReader GetData (int ordinal);

Type Changed: Microsoft.SqlServer.Server.SqlMetaData

Added constructors:

public SqlMetaData (string name, System.Data.SqlDbType dbType, System.Type userDefinedType, string serverTypeName);
public SqlMetaData (string name, System.Data.SqlDbType dbType, System.Type userDefinedType, string serverTypeName, bool useServerDefault, bool isUniqueKey, System.Data.SqlClient.SortOrder columnSortOrder, int sortOrdinal);

Added property:

public System.Type Type { get; }

Namespace System.Data

Type Changed: System.Data.DBConcurrencyException

Modified methods:

-public override void GetObjectData (System.Runtime.Serialization.SerializationInfo si, System.Runtime.Serialization.StreamingContext context)
+public override void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)

Namespace System.Data.SqlClient

Type Changed: System.Data.SqlClient.SqlCommand

Added methods:

protected override System.Threading.Tasks.Task<System.Data.Common.DbDataReader> ExecuteDbDataReaderAsync (System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ExecuteNonQueryAsync (System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<object> ExecuteScalarAsync (System.Threading.CancellationToken cancellationToken);

Type Changed: System.Data.SqlClient.SqlConnection

Added methods:

public override void EnlistTransaction (System.Transactions.Transaction transaction);
protected override void OnStateChange (System.Data.StateChangeEventArgs stateChange);
public override System.Threading.Tasks.Task OpenAsync (System.Threading.CancellationToken cancellationToken);

Type Changed: System.Data.SqlClient.SqlConnectionStringBuilder

Removed property:

public override bool IsFixedSize { get; }

Obsoleted properties:

 [Obsolete ("This property is ignored beginning in .NET Framework 4.5.For more information about SqlClient support for asynchronous programming, see https://learn.microsoft.com/dotnet/framework/data/adonet/asynchronous-programming")]
 public bool AsynchronousProcessing { get; set; }

Removed method:

protected override void GetProperties (System.Collections.Hashtable propertyDescriptors);

Type Changed: System.Data.SqlClient.SqlDataAdapter

Added method:

protected override bool GetBatchedRecordsAffected (int commandIdentifier, out int recordsAffected, out System.Exception error);

Type Changed: System.Data.SqlClient.SqlDataReader

Added interface:

System.Data.Common.IDbColumnSchemaGenerator

Modified methods:

-protected bool IsCommandBehavior (System.Data.CommandBehavior condition)
+protected bool IsCommandBehavior (System.Data.CommandBehavior condition)

Added methods:

protected override void Dispose (bool disposing);
public virtual System.Collections.ObjectModel.ReadOnlyCollection<System.Data.Common.DbColumn> GetColumnSchema ();
public override System.Threading.Tasks.Task<bool> NextResultAsync (System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<bool> ReadAsync (System.Threading.CancellationToken cancellationToken);

Type Changed: System.Data.SqlClient.SqlException

Added method:

public override string ToString ();

Type Changed: System.Data.SqlClient.SqlNotificationInfo

Added value:

Merge = 16,

Type Changed: System.Data.SqlClient.SqlParameterCollection

Removed properties:

public override bool IsFixedSize { get; }
public override bool IsReadOnly { get; }
public override bool IsSynchronized { get; }

System.IO.Compression.dll

Namespace System.IO.Compression

Type Changed: System.IO.Compression.ZipArchiveEntry

Added property:

public uint Crc32 { get; }

System.dll

Namespace System.IO.Compression

Type Changed: System.IO.Compression.GZipStream

Added methods:

public override void CopyTo (System.IO.Stream destination, int bufferSize);
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.Security

Type Changed: System.Net.Security.SslStream

Added method:

public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);

Namespace System.Net.WebSockets

Type Changed: System.Net.WebSockets.ClientWebSocket

Added 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

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

New Type: System.Net.WebSockets.ValueWebSocketReceiveResult

public struct ValueWebSocketReceiveResult {
	// constructors
	public ValueWebSocketReceiveResult (int count, WebSocketMessageType messageType, bool endOfMessage);
	// properties
	public int Count { get; }
	public bool EndOfMessage { get; }
	public WebSocketMessageType MessageType { get; }
}

System.Numerics.dll

Namespace System.Numerics

Type Changed: System.Numerics.BigInteger

Added constructor:

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

Added methods:

public int GetByteCount (bool isUnsigned);
public static BigInteger Parse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider);
public byte[] ToByteArray (bool isUnsigned, bool isBigEndian);
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);

System.Xml.dll

Namespace System.Xml.XmlConfiguration

Type Changed: System.Xml.XmlConfiguration.XmlReaderSection

Added property:

public string CollapseWhiteSpaceIntoEmptyStringString { get; set; }

Xamarin.TVOS.dll

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioPlayerDelegate

Added method:

public virtual void EndInterruption (AVAudioPlayer player, AVAudioSessionInterruptionFlags flags);

Type Changed: AVFoundation.AVAudioPlayerDelegate_Extensions

Added method:

public static void EndInterruption (this IAVAudioPlayerDelegate This, AVAudioPlayer player, AVAudioSessionInterruptionFlags flags);

Namespace AVKit

Type Changed: AVKit.AVContentProposalViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: AVKit.AVPlayerViewController

Added interface:

Foundation.INSExtensionRequestHandling

Namespace CloudKit

Type Changed: CloudKit.CKAsset

Added interface:

ICKRecordValue

Type Changed: CloudKit.CKReference

Added interface:

ICKRecordValue

Namespace CoreAnimation

Type Changed: CoreAnimation.CAAnimationDelegate

Added interface:

ICAAnimationDelegate

New Type: CoreAnimation.CAAnimationDelegate_Extensions

public static class CAAnimationDelegate_Extensions {
	// methods
	public static void AnimationStarted (this ICAAnimationDelegate This, CAAnimation anim);
	public static void AnimationStopped (this ICAAnimationDelegate This, CAAnimation anim, bool finished);
}

New Type: CoreAnimation.ICAAnimationDelegate

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

Namespace CoreData

Type Changed: CoreData.NSManagedObject

Added interface:

INSFetchRequestResult

Type Changed: CoreData.NSManagedObjectID

Added interface:

INSFetchRequestResult

Namespace CoreImage

Type Changed: CoreImage.CIContext_ImageRepresentation

Added methods:

public static Foundation.NSData GetHeifRepresentation (this CIContext This, CIImage image, CIFormat format, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options);
public static Foundation.NSData GetJpegRepresentation (this CIContext This, CIImage image, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options);
public static Foundation.NSData GetPngRepresentation (this CIContext This, CIImage image, CIFormat format, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options);
public static Foundation.NSData GetTiffRepresentation (this CIContext This, CIImage image, CIFormat format, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options);
public static bool WriteHeifRepresentation (this CIContext This, CIImage image, Foundation.NSUrl url, CIFormat format, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options, out Foundation.NSError error);
public static bool WriteJpegRepresentation (this CIContext This, CIImage image, Foundation.NSUrl url, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options, out Foundation.NSError error);
public static bool WritePngRepresentation (this CIContext This, CIImage image, Foundation.NSUrl url, CIFormat format, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options, out Foundation.NSError error);
public static bool WriteTiffRepresentation (this CIContext This, CIImage image, Foundation.NSUrl url, CIFormat format, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options, out Foundation.NSError error);

Namespace CoreLocation

Type Changed: CoreLocation.CLLocation

Added interface:

CloudKit.ICKRecordValue

Namespace Foundation

Type Changed: Foundation.ModelAttribute

Added properties:

public bool AutoGeneratedName { get; set; }
public string Name { get; set; }

Type Changed: Foundation.NSArray

Added interface:

CloudKit.ICKRecordValue

Modified methods:

-public T[] EnumsFromHandle<T : System.ValueType, System.IConvertible> (IntPtr handle)
+public T[] EnumsFromHandle<T : System.IConvertible, System.ValueType> (IntPtr handle)

Type Changed: Foundation.NSArray`1

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.NSBundle

Obsoleted methods:

 [Obsolete ("Use 'GetLocalizedString' instead.")]
 public string LocalizedString (string key, string comment);
 [Obsolete ("Use 'GetLocalizedString' instead.")]
 public virtual string LocalizedString (string key, string value, string table);
 [Obsolete ("Use 'GetLocalizedString' instead.")]
 public string LocalizedString (string key, string val, string table, string comment);

Added methods:

public virtual NSString GetLocalizedString (NSString key, NSString value, NSString table);
public NSString GetLocalizedString (string key, string value, string table);

Type Changed: Foundation.NSData

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.NSDate

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.NSDateComponents

Added field:

public static nint Undefined;

Type Changed: Foundation.NSDecimalNumber

Added interfaces:

CloudKit.ICKRecordValue
CoreData.INSFetchRequestResult

Type Changed: Foundation.NSDictionary

Added interface:

CoreData.INSFetchRequestResult

Type Changed: Foundation.NSDictionary`2

Added interface:

CoreData.INSFetchRequestResult

Type Changed: Foundation.NSMutableArray

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.NSMutableArray`1

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.NSMutableData

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.NSMutableDictionary

Added interface:

CoreData.INSFetchRequestResult

Type Changed: Foundation.NSMutableDictionary`2

Added interface:

CoreData.INSFetchRequestResult

Type Changed: Foundation.NSMutableString

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.NSNull

Added interface:

CoreAnimation.ICAAction

Added method:

public virtual void RunAction (string eventKey, NSObject obj, NSDictionary arguments);

Type Changed: Foundation.NSNumber

Added interfaces:

CloudKit.ICKRecordValue
CoreData.INSFetchRequestResult

Type Changed: Foundation.NSPurgeableData

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.NSString

Added interface:

CloudKit.ICKRecordValue

Type Changed: Foundation.RegisterObjectRepresentationCompletionHandler

Modified methods:

-public virtual System.IAsyncResult BeginInvoke (INSItemProviderWriting object, NSError error, System.AsyncCallback callback, object _object)
+public virtual System.IAsyncResult BeginInvoke (INSItemProviderWriting object, NSError error, System.AsyncCallback callback, object __object)

New Type: Foundation.NSEnumerateLinguisticTagsEnumerator

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

New Type: Foundation.NSLinguisticAnalysis

public static class NSLinguisticAnalysis {
	// methods
	public static void EnumerateLinguisticTags (this NSString This, NSRange range, NSLinguisticTagScheme scheme, NSLinguisticTaggerOptions options, NSOrthography orthography, NSEnumerateLinguisticTagsEnumerator handler);
	public static void EnumerateLinguisticTags (this NSString This, NSRange range, NSString scheme, NSLinguisticTaggerOptions options, NSOrthography orthography, NSEnumerateLinguisticTagsEnumerator handler);
	public static NSLinguisticTagUnit[] GetLinguisticTags (this NSString This, NSRange range, NSLinguisticTagScheme scheme, NSLinguisticTaggerOptions options, NSOrthography orthography, out NSValue[] tokenRanges);
	public static NSLinguisticTagUnit[] GetLinguisticTags (this NSString This, NSRange range, NSString scheme, NSLinguisticTaggerOptions options, NSOrthography orthography, out NSValue[] tokenRanges);
}

New Type: Foundation.NSLinguisticTagScheme

[Serializable]
public enum NSLinguisticTagScheme {
	Language = 5,
	Lemma = 4,
	LexicalClass = 1,
	Name = 2,
	NameOrLexicalClass = 3,
	Script = 6,
	Token = 0,
}

New Type: Foundation.NSLinguisticTagSchemeExtensions

public static class NSLinguisticTagSchemeExtensions {
	// methods
	public static NSString GetConstant (this NSLinguisticTagScheme self);
	public static NSLinguisticTagScheme GetValue (NSString constant);
}

New Type: Foundation.NSLinguisticTagUnit

[Serializable]
public enum NSLinguisticTagUnit {
	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 = 29,
	Other = 3,
	OtherPunctuation = 25,
	OtherWhitespace = 27,
	OtherWord = 17,
	ParagraphBreak = 26,
	Particle = 10,
	PersonalName = 28,
	PlaceName = 30,
	Preposition = 11,
	Pronoun = 8,
	Punctuation = 1,
	Terminator = 18,
	Verb = 5,
	Whitespace = 2,
	Word = 0,
	WordJoiner = 23,
}

New Type: Foundation.NSLinguisticTagUnitExtensions

public static class NSLinguisticTagUnitExtensions {
	// methods
	public static NSString GetConstant (this NSLinguisticTagUnit self);
	public static NSLinguisticTagUnit GetValue (NSString constant);
}

Namespace GLKit

Type Changed: GLKit.GLKViewController

Added interface:

Foundation.INSExtensionRequestHandling

Namespace GameController

Type Changed: GameController.GCEventViewController

Added interface:

Foundation.INSExtensionRequestHandling

Namespace GameKit

Type Changed: GameKit.GKGameCenterViewController

Added constructor:

public GKGameCenterViewController (string nibNameOrNull, Foundation.NSBundle nibBundleOrNull);

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: GameKit.GKGameSessionSharingViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: GameKit.GKMatchmakerViewController

Added constructor:

public GKMatchmakerViewController (string nibNameOrNull, Foundation.NSBundle nibBundleOrNull);

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: GameKit.GKTurnBasedMatchmakerViewController

Added constructor:

public GKTurnBasedMatchmakerViewController (string nibNameOrNull, Foundation.NSBundle nibBundleOrNull);

Added interface:

Foundation.INSExtensionRequestHandling

Namespace MapKit

Type Changed: MapKit.MKMapItem

Added constructor:

public MKMapItem (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Namespace MetalPerformanceShaders

Type Changed: MetalPerformanceShaders.MPSImageLanczosScale

Modified base type:

-MetalPerformanceShaders.MPSUnaryImageKernel
+MetalPerformanceShaders.MPSImageScale

Removed property:

public virtual MPSScaleTransform? ScaleTransform { get; set; }

Type Changed: MetalPerformanceShaders.MPSImageScale

Modified properties:

-public virtual MPSScaleTransform ScaleTransform { get; set; }
+public virtual MPSScaleTransform? ScaleTransform { get; set; }

Namespace MultipeerConnectivity

Type Changed: MultipeerConnectivity.MCBrowserViewController

Added interface:

Foundation.INSExtensionRequestHandling

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string Version = "11.9.1";
+public const string Version = "11.10.1";

Type Changed: ObjCRuntime.Runtime

Added property:

public static bool DynamicRegistrationSupported { get; }

New Type: ObjCRuntime.BindingImplAttribute

public class BindingImplAttribute : System.Attribute {
	// constructors
	public BindingImplAttribute (BindingImplOptions options);
	// properties
	public BindingImplOptions Options { get; set; }
}

New Type: ObjCRuntime.BindingImplOptions

[Serializable]
[Flags]
public enum BindingImplOptions {
	GeneratedCode = 1,
	Optimizable = 2,
}

New Type: ObjCRuntime.NoMacAttribute

public sealed class NoMacAttribute : ObjCRuntime.UnavailableAttribute {
	// constructors
	public NoMacAttribute ();
}

New Type: ObjCRuntime.NoTVAttribute

public sealed class NoTVAttribute : ObjCRuntime.UnavailableAttribute {
	// constructors
	public NoTVAttribute ();
}

New Type: ObjCRuntime.NoWatchAttribute

public sealed class NoWatchAttribute : ObjCRuntime.UnavailableAttribute {
	// constructors
	public NoWatchAttribute ();
}

New Type: ObjCRuntime.NoiOSAttribute

public sealed class NoiOSAttribute : ObjCRuntime.UnavailableAttribute {
	// constructors
	public NoiOSAttribute ();
}

New Type: ObjCRuntime.RequiresSuperAttribute

public sealed class RequiresSuperAttribute : Foundation.AdviceAttribute {
	// constructors
	public RequiresSuperAttribute ();
}

New Type: ObjCRuntime.TVAttribute

public sealed class TVAttribute : ObjCRuntime.IntroducedAttribute {
	// constructors
	public TVAttribute (byte major, byte minor);
	public TVAttribute (byte major, byte minor, bool onlyOn64);
	public TVAttribute (byte major, byte minor, byte subminor);
	public TVAttribute (byte major, byte minor, byte subminor, bool onlyOn64);
}

New Type: ObjCRuntime.WatchAttribute

public sealed class WatchAttribute : ObjCRuntime.IntroducedAttribute {
	// constructors
	public WatchAttribute (byte major, byte minor);
	public WatchAttribute (byte major, byte minor, bool onlyOn64);
	public WatchAttribute (byte major, byte minor, byte subminor);
	public WatchAttribute (byte major, byte minor, byte subminor, bool onlyOn64);
}

Namespace ReplayKit

Type Changed: ReplayKit.RPBroadcastActivityViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: ReplayKit.RPPreviewViewController

Added interface:

Foundation.INSExtensionRequestHandling

Namespace SceneKit

New Type: SceneKit.SCNAnimatableExtensions

public static class SCNAnimatableExtensions {
	// methods
	public static void AddAnimation (this ISCNAnimatable self, SCNAnimation animation, string key);
}

Namespace Security

Type Changed: Security.SecKey

Added methods:

public static SecKey CreateRandomKey (SecKeyGenerationParameters parameters, out Foundation.NSError error);
public static SecStatusCode GenerateKeyPair (SecKeyType type, int keySizeInBits, SecPublicPrivateKeyAttrs publicAndPrivateKeyAttrs, out SecKey publicKey, out SecKey privateKey);
public static SecStatusCode GenerateKeyPair (SecKeyType type, int keySizeInBits, SecPublicPrivateKeyAttrs publicKeyAttrs, SecPublicPrivateKeyAttrs privateKeyAttrs, out SecKey publicKey, out SecKey privateKey);

New Type: Security.SecKeyGenerationParameters

public class SecKeyGenerationParameters : Foundation.DictionaryContainer {
	// constructors
	public SecKeyGenerationParameters ();
	public SecKeyGenerationParameters (Foundation.NSDictionary dictionary);
	// properties
	public SecAccessControl AccessControl { get; set; }
	public Foundation.NSData ApplicationTag { get; set; }
	public bool? CanDecrypt { get; set; }
	public bool? CanDerive { get; set; }
	public bool? CanEncrypt { get; set; }
	public bool? CanSign { get; set; }
	public bool? CanUnwrap { get; set; }
	public bool? CanVerify { get; set; }
	public bool? CanWrap { get; set; }
	public int? EffectiveKeySize { get; set; }
	public bool? IsPermanent { get; set; }
	public int? KeySizeInBits { get; set; }
	public SecKeyType KeyType { get; set; }
	public string Label { get; set; }
	public SecKeyParameters PrivateKeyAttrs { get; set; }
	public SecKeyParameters PublicKeyAttrs { get; set; }
	public SecTokenID TokenID { get; set; }
}

New Type: Security.SecKeyParameters

public class SecKeyParameters : Foundation.DictionaryContainer {
	// constructors
	public SecKeyParameters ();
	public SecKeyParameters (Foundation.NSDictionary dictionary);
	// properties
	public SecAccessControl AccessControl { get; set; }
	public Foundation.NSData ApplicationTag { get; set; }
	public bool? CanDecrypt { get; set; }
	public bool? CanDerive { get; set; }
	public bool? CanEncrypt { get; set; }
	public bool? CanSign { get; set; }
	public bool? CanUnwrap { get; set; }
	public bool? CanVerify { get; set; }
	public int? EffectiveKeySize { get; set; }
	public bool? IsPermanent { get; set; }
	public string Label { get; set; }
}

New Type: Security.SecPublicPrivateKeyAttrs

public class SecPublicPrivateKeyAttrs : Foundation.DictionaryContainer {
	// constructors
	public SecPublicPrivateKeyAttrs ();
	public SecPublicPrivateKeyAttrs (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSData ApplicationTag { get; set; }
	public bool? CanDecrypt { get; set; }
	public bool? CanDerive { get; set; }
	public bool? CanEncrypt { get; set; }
	public bool? CanSign { get; set; }
	public bool? CanUnwrap { get; set; }
	public bool? CanVerify { get; set; }
	public int? EffectiveKeySize { get; set; }
	public bool? IsPermanent { get; set; }
	public string Label { get; set; }
}

Namespace UIKit

Type Changed: UIKit.UIAccessibility

Obsoleted properties:

 [Obsolete ("Use 'DarkerSystemColorsEnabled' instead.")]
 public static bool DarkerSystemColosEnabled { get; }

Added property:

public static bool DarkerSystemColorsEnabled { get; }

Type Changed: UIKit.UIAlertController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UICollectionViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UIDevice

Modified properties:

 public ---virtual--- bool IsMultitaskingSupported { get; }
 public ---virtual--- UIUserInterfaceIdiom UserInterfaceIdiom { get; }

Type Changed: UIKit.UIInputViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UINavigationController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UIPageViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UISearchContainerViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UISearchController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UISplitViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UITabBarController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UITableViewController

Added interface:

Foundation.INSExtensionRequestHandling

Type Changed: UIKit.UIViewController

Added interface:

Foundation.INSExtensionRequestHandling

Added method:

public virtual void BeginRequestWithExtensionContext (Foundation.NSExtensionContext context);