Xamarin.WatchOS SDK API diff: 11.9.1 vs 11.10.1

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

Removed methods:

public System.IAsyncResult BeginExecuteNonQuery (System.AsyncCallback callback, object stateObject);
public System.IAsyncResult BeginExecuteXmlReader (System.AsyncCallback callback, object stateObject);
public int EndExecuteNonQuery (System.IAsyncResult asyncResult);
public SqlDataReader EndExecuteReader (System.IAsyncResult asyncResult);
public System.Xml.XmlReader EndExecuteXmlReader (System.IAsyncResult asyncResult);

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

Modified constructors:

-public SqlConnection (string connectionString, SqlCredential cred)
+public SqlConnection (string connectionString, SqlCredential credential)

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

Added value:

Merge = 16,

Type Changed: System.Data.SqlClient.SqlParameter

Removed method:

public override string ToString ();

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.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.WatchOS.dll

Namespace CloudKit

Type Changed: CloudKit.CKAsset

Added interface:

ICKRecordValue

Type Changed: CloudKit.CKReference

Added interface:

ICKRecordValue

Namespace CoreData

Type Changed: CoreData.NSManagedObject

Added interface:

INSFetchRequestResult

Type Changed: CoreData.NSManagedObjectID

Added interface:

INSFetchRequestResult

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

Type Changed: HealthKit.HKBloodGlucoseMealTime

Obsoleted fields:

 [Obsolete ("Use 'Postprandial' instead.")]
 Ostprandial = 2,
 [Obsolete ("Use 'Preprandial' instead.")]
 Reprandial = 1,

Added values:

Postprandial = 2,
Preprandial = 1,

Type Changed: HealthKit.HKInsulinDeliveryReason

Obsoleted fields:

 [Obsolete ("Use 'Basal' instead.")]
 Asal = 1,
 [Obsolete ("Use 'Bolus' instead.")]
 Olus = 2,

Added values:

Basal = 1,
Bolus = 2,

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 ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

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

Added field:

public static const string AccelerateImageLibrary = "/System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage";

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

New Namespace Accelerate

New Type: Accelerate.Pixel8888

public struct Pixel8888 {
	// fields
	public byte A;
	public byte B;
	public byte G;
	public byte R;
	public static Pixel8888 Zero;
}

New Type: Accelerate.PixelARGB16S

public struct PixelARGB16S {
	// fields
	public short A;
	public short B;
	public short G;
	public short R;
	public static PixelARGB16S Zero;
}

New Type: Accelerate.PixelARGB16U

public struct PixelARGB16U {
	// fields
	public ushort A;
	public ushort B;
	public ushort G;
	public ushort R;
	public static PixelARGB16U Zero;
}

New Type: Accelerate.PixelFFFF

public struct PixelFFFF {
	// fields
	public float A;
	public float B;
	public float G;
	public float R;
	public static PixelFFFF Zero;
}

New Type: Accelerate.vImage

public static class vImage {
	// methods
	public static vImageError BoxConvolveARGB8888 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, uint kernel_height, uint kernel_width, Pixel8888* backgroundColor, vImageFlags flags);
	public static vImageError BoxConvolveARGB8888 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, uint kernel_height, uint kernel_width, Pixel8888 backgroundColor, vImageFlags flags);
	public static vImageError BoxConvolvePlanar8 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, uint kernel_height, uint kernel_width, byte backgroundColor, vImageFlags flags);
	public static vImageError ConvolveARGB8888 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, short* kernel, uint kernel_height, uint kernel_width, int divisor, Pixel8888* backgroundColor, vImageFlags flags);
	public static vImageError ConvolveARGBFFFF (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, float* kernel, uint kernel_height, uint kernel_width, PixelFFFF backgroundColor, vImageFlags flags);
	public static vImageError ConvolveMultiKernelARGB8888 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, short[][] kernels, uint kernel_height, uint kernel_width, int[] divisors, int[] biases, Pixel8888 backgroundColor, vImageFlags flags);
	public static vImageError ConvolveMultiKernelARGBFFFF (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, float[][] kernels, uint kernel_height, uint kernel_width, float[] biases, PixelFFFF backgroundColor, vImageFlags flags);
	public static vImageError ConvolvePlanar8 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, short* kernel, uint kernel_height, uint kernel_width, int divisor, byte backgroundColor, vImageFlags flags);
	public static vImageError ConvolvePlanarF (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, float* kernel, uint kernel_height, uint kernel_width, float backgroundColor, vImageFlags flags);
	public static vImageError ConvolveWithBiasARGB8888 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, short* kernel, uint kernel_height, uint kernel_width, int divisor, int bias, Pixel8888 backgroundColor, vImageFlags flags);
	public static vImageError ConvolveWithBiasARGBFFFF (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, float* kernel, uint kernel_height, uint kernel_width, float bias, PixelFFFF backgroundColor, vImageFlags flags);
	public static vImageError ConvolveWithBiasPlanar8 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, short* kernel, uint kernel_height, uint kernel_width, int divisor, int bias, byte backgroundColor, vImageFlags flags);
	public static vImageError ConvolveWithBiasPlanarF (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, float* kernel, uint kernel_height, uint kernel_width, float bias, float backgroundColor, vImageFlags flags);
	public static vImageError MatrixMultiplyARGB8888 (ref vImageBuffer src, ref vImageBuffer dest, short[] matrix, int divisor, short[] pre_bias, int[] post_bias, vImageFlags flags);
	public static vImageError RichardsonLucyDeConvolveARGB8888 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, short* kernel, short* kernel2, uint kernel_height, uint kernel_width, uint kernel_height2, uint kernel_width2, int divisor, int divisor2, Pixel8888 backgroundColor, uint iterationCount, vImageFlags flags);
	public static vImageError RichardsonLucyDeConvolveARGBFFFF (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, float* kernel, float* kernel2, uint kernel_height, uint kernel_width, uint kernel_height2, uint kernel_width2, PixelFFFF backgroundColor, uint iterationCount, vImageFlags flags);
	public static vImageError RichardsonLucyDeConvolvePlanar8 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, short* kernel, short* kernel2, uint kernel_height, uint kernel_width, uint kernel_height2, uint kernel_width2, int divisor, int divisor2, byte backgroundColor, uint iterationCount, vImageFlags flags);
	public static vImageError RichardsonLucyDeConvolvePlanarF (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, float* kernel, float* kernel2, uint kernel_height, uint kernel_width, uint kernel_height2, uint kernel_width2, float backgroundColor, uint iterationCount, vImageFlags flags);
	public static vImageError TentConvolveARGB8888 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, uint kernel_height, uint kernel_width, Pixel8888 backgroundColor, vImageFlags flags);
	public static vImageError TentConvolvePlanar8 (ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, nint srcOffsetToROI_X, nint srcOffsetToROI_Y, uint kernel_height, uint kernel_width, byte backgroundColor, vImageFlags flags);
}

New Type: Accelerate.vImageAffineTransformDouble

public struct vImageAffineTransformDouble {
	// fields
	public double a;
	public double b;
	public double c;
	public double d;
	public double tx;
	public double ty;
}

New Type: Accelerate.vImageAffineTransformFloat

public struct vImageAffineTransformFloat {
	// fields
	public float a;
	public float b;
	public float c;
	public float d;
	public float tx;
	public float ty;
}

New Type: Accelerate.vImageBuffer

public struct vImageBuffer {
	// properties
	public int BytesPerRow { get; set; }
	public IntPtr Data { get; set; }
	public int Height { get; set; }
	public int Width { get; set; }
}

New Type: Accelerate.vImageError

[Serializable]
public enum vImageError {
	BufferSizeMismatch = -21774,
	ColorSyncIsAbsent = -21779,
	InternalError = -21776,
	InvalidEdgeStyle = -21768,
	InvalidImageFormat = -21778,
	InvalidKernelSize = -21767,
	InvalidOffsetX = -21769,
	InvalidOffsetY = -21770,
	InvalidParameter = -21773,
	InvalidRowBytes = -21777,
	MemoryAllocationError = -21771,
	NoError = 0,
	NullPointerArgument = -21772,
	OutOfPlaceOperationRequired = -21780,
	RoiLargerThanInputBuffer = -21766,
	UnknownFlagsBit = -21775,
}

New Type: Accelerate.vImageFlags

[Serializable]
[Flags]
public enum vImageFlags {
	BackgroundColorFill = 4,
	CopyInPlace = 2,
	DoNotTile = 16,
	EdgeExtend = 8,
	GetTempBufferSize = 128,
	HighQualityResampling = 32,
	LeaveAlphaUnchanged = 1,
	NoAllocate = 512,
	NoFlags = 0,
	PrintDiagnosticsToConsole = 256,
	TruncateKernel = 64,
}

New Type: Accelerate.vImageGamma

[Serializable]
public enum vImageGamma {
	k11ove_5_HalfPrecision = 5,
	k11over9_HalfPrecision = 8,
	k5over11_HalfPrecision = 4,
	k5over9_HalfPrecision = 2,
	k9over11_HalfPrecision = 9,
	k9over5_HalfPrecision = 3,
	kBT709_ForwardHalfPrecision = 10,
	kBT709_ReverseHalfPrecision = 11,
	kUseGammaValue = 0,
	kUseGammaValueHalfPrecision = 1,
	ksRGB_ForwardHalfPrecision = 6,
	ksRGB_ReverseHalfPrecision = 7,
}

New Type: Accelerate.vImageInterpolationMethod

[Serializable]
public enum vImageInterpolationMethod {
	Full = 1,
	Half = 2,
	None = 0,
}

New Type: Accelerate.vImageMDTableUsageHint

[Serializable]
public enum vImageMDTableUsageHint {
	k16Q12 = 1,
	kFloat = 2,
}