Xamarin.WatchOS SDK API diff: 12.14.0 vs 13.2.0

Mono.Data.Sqlite.dll

Namespace Mono.Data.Sqlite

Type Changed: Mono.Data.Sqlite.SqliteCommand

Added interface:

System.IAsyncDisposable

Type Changed: Mono.Data.Sqlite.SqliteConnection

Added interface:

System.IAsyncDisposable

Type Changed: Mono.Data.Sqlite.SqliteDataReader

Added interface:

System.IAsyncDisposable

Type Changed: Mono.Data.Sqlite.SqliteTransaction

Added interface:

System.IAsyncDisposable

MonoTouch.NUnitLite.dll

Namespace MonoTouch.NUnit

Type Changed: MonoTouch.NUnit.NUnitOutputTextWriter

Added interface:

System.IAsyncDisposable

Type Changed: MonoTouch.NUnit.TcpTextWriter

Added interface:

System.IAsyncDisposable

Namespace NUnit.Framework.Api

Type Changed: NUnit.Framework.Api.ResultState

Added method:

public override bool Equals (object o);

Namespace NUnit.Framework.Constraints

Type Changed: NUnit.Framework.Constraints.MessageWriter

Added interface:

System.IAsyncDisposable

Namespace NUnit.Framework.Internal

Type Changed: NUnit.Framework.Internal.Test

Modified fields:

-[NonSerialized]
++[NonSerialized]
-protected System.Reflection.MethodInfo[] setUpMethods;
++protected System.Reflection.MethodInfo[] setUpMethods;
-[NonSerialized]
++[NonSerialized]
-protected System.Reflection.MethodInfo[] tearDownMethods;
++protected System.Reflection.MethodInfo[] tearDownMethods;

Type Changed: NUnit.Framework.Internal.TextMessageWriter

Added interface:

System.IAsyncDisposable

Namespace NUnitLite.Runner

Type Changed: NUnitLite.Runner.CommandLineOptions

Added properties:

public string Android { get; }
public string Remote { get; }
public string WebAssembly { get; }
public string iOS { get; }

Type Changed: NUnitLite.Runner.ConsoleWriter

Added interface:

System.IAsyncDisposable

Type Changed: NUnitLite.Runner.DebugWriter

Added interface:

System.IAsyncDisposable

mscorlib.dll

Namespace System

Type Changed: System.AppDomainSetup

Added properties:

public string AppDomainManagerAssembly { get; set; }
public string AppDomainManagerType { get; set; }
public string[] PartialTrustVisibleAssemblies { get; set; }

Type Changed: System.Decimal

Modified methods:

-public Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style = 7, IFormatProvider provider = NULL)
+public Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style = 111, IFormatProvider provider = NULL)

Type Changed: System.MemoryExtensions

Added methods:

public static System.ReadOnlyMemory<char> AsMemory (this string text, Index startIndex);
public static System.ReadOnlyMemory<char> AsMemory (this string text, Range range);
public static System.Memory<T> AsMemory<T> (this T[] array, Index startIndex);
public static System.Memory<T> AsMemory<T> (this T[] array, Range range);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, Index startIndex);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, Range range);
public static System.Span<T> AsSpan<T> (this T[] array, Index startIndex);
public static System.Span<T> AsSpan<T> (this T[] array, Range range);

Type Changed: System.Memory`1

Added interface:

System.IEquatable<System.Memory<T>>

Type Changed: System.ReadOnlyMemory`1

Added interface:

System.IEquatable<System.ReadOnlyMemory<T>>

New Type: System.Index

public struct Index, System.IEquatable<Index> {
	// constructors
	public Index (int value, bool fromEnd);
	// properties
	public static Index End { get; }
	public bool IsFromEnd { get; }
	public static Index Start { get; }
	public int Value { get; }
	// methods
	public virtual bool Equals (Index other);
	public override bool Equals (object value);
	public static Index FromEnd (int value);
	public static Index FromStart (int value);
	public override int GetHashCode ();
	public int GetOffset (int length);
	public override string ToString ();
	public static Index op_Implicit (int value);
}

New Type: System.Range

public struct Range, System.IEquatable<Range> {
	// constructors
	public Range (Index start, Index end);
	// properties
	public static Range All { get; }
	public Index End { get; }
	public Index Start { get; }
	// methods
	public static Range EndAt (Index end);
	public override bool Equals (object value);
	public virtual bool Equals (Range other);
	public override int GetHashCode ();
	public System.ValueTuple<Int32,System.Int32> GetOffsetAndLength (int length);
	public static Range StartAt (Index start);
	public override string ToString ();
}

Namespace System.Diagnostics.Tracing

Type Changed: System.Diagnostics.Tracing.EventCounter

Modified base type:

-System.Object
+System.Diagnostics.Tracing.DiagnosticCounter

Removed method:

public virtual void Dispose ();

Added method:

public void WriteMetric (double value);

Type Changed: System.Diagnostics.Tracing.EventWrittenEventArgs

Added properties:

public long OSThreadId { get; }
public System.DateTime TimeStamp { get; }

New Type: System.Diagnostics.Tracing.DiagnosticCounter

public abstract class DiagnosticCounter : System.IDisposable {
	// properties
	public string DisplayName { get; set; }
	public string DisplayUnits { get; set; }
	public EventSource EventSource { get; }
	public string Name { get; }
	// methods
	public void AddMetadata (string key, string value);
	public virtual void Dispose ();
}

New Type: System.Diagnostics.Tracing.IncrementingEventCounter

public class IncrementingEventCounter : System.Diagnostics.Tracing.DiagnosticCounter, System.IDisposable {
	// constructors
	public IncrementingEventCounter (string name, EventSource eventSource);
	// properties
	public System.TimeSpan DisplayRateTimeScale { get; set; }
	// methods
	public void Increment (double increment);
}

New Type: System.Diagnostics.Tracing.IncrementingPollingCounter

public class IncrementingPollingCounter : System.Diagnostics.Tracing.DiagnosticCounter, System.IDisposable {
	// constructors
	public IncrementingPollingCounter (string name, EventSource eventSource, System.Func<double> totalValueProvider);
	// properties
	public System.TimeSpan DisplayRateTimeScale { get; set; }
}

New Type: System.Diagnostics.Tracing.PollingCounter

public class PollingCounter : System.Diagnostics.Tracing.DiagnosticCounter, System.IDisposable {
	// constructors
	public PollingCounter (string name, EventSource eventSource, System.Func<double> metricProvider);
}

Namespace System.IO

Type Changed: System.IO.BinaryReader

Added methods:

public virtual int Read (System.Span<byte> buffer);
public virtual int Read (System.Span<char> buffer);

Type Changed: System.IO.BinaryWriter

Added interface:

System.IAsyncDisposable

Added methods:

public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual void Write (System.ReadOnlySpan<byte> buffer);
public virtual void Write (System.ReadOnlySpan<char> buffer);

Type Changed: System.IO.BufferedStream

Added interface:

System.IAsyncDisposable

Added method:

public override System.Threading.Tasks.ValueTask DisposeAsync ();

Type Changed: System.IO.FileStream

Added interface:

System.IAsyncDisposable

Modified properties:

 public ---virtual--- string Name { get; }

Type Changed: System.IO.MemoryStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Path

Added methods:

public static System.ReadOnlySpan<char> GetExtension (System.ReadOnlySpan<char> path);
public static System.ReadOnlySpan<char> GetFileNameWithoutExtension (System.ReadOnlySpan<char> path);
public static string GetFullPath (string path, string basePath);
public static System.ReadOnlySpan<char> GetPathRoot (System.ReadOnlySpan<char> path);
public static string GetRelativePath (string relativeTo, string path);
public static bool HasExtension (System.ReadOnlySpan<char> path);
public static bool IsPathFullyQualified (System.ReadOnlySpan<char> path);
public static bool IsPathFullyQualified (string path);

Type Changed: System.IO.Stream

Added interface:

System.IAsyncDisposable

Added method:

public virtual System.Threading.Tasks.ValueTask DisposeAsync ();

Type Changed: System.IO.StreamWriter

Added interface:

System.IAsyncDisposable

Added method:

public override System.Threading.Tasks.ValueTask DisposeAsync ();

Type Changed: System.IO.StringWriter

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.TextWriter

Added interface:

System.IAsyncDisposable

Added method:

public virtual System.Threading.Tasks.ValueTask DisposeAsync ();

Type Changed: System.IO.UnmanagedMemoryStream

Added interface:

System.IAsyncDisposable

Namespace System.IO.IsolatedStorage

Type Changed: System.IO.IsolatedStorage.IsolatedStorage

Modified methods:

-protected abstract System.Security.Permissions.IsolatedStoragePermission GetPermission (System.Security.PermissionSet ps)
+protected virtual System.Security.Permissions.IsolatedStoragePermission GetPermission (System.Security.PermissionSet ps)

Type Changed: System.IO.IsolatedStorage.IsolatedStorageFileStream

Added interface:

System.IAsyncDisposable

Namespace System.Numerics

Type Changed: System.Numerics.Vector`1

Added constructor:

public Vector`1 (System.Span<T> values);

Namespace System.Reflection

Type Changed: System.Reflection.Assembly

Modified constructors:

-protected Assembly ()
+public Assembly ()

Added method:

public virtual System.Type[] GetForwardedTypes ();

Namespace System.Reflection.Emit

Type Changed: System.Reflection.Emit.AssemblyBuilder

Added properties:

public override string EscapedCodeBase { get; }
public override System.Security.Policy.Evidence Evidence { get; }

Added method:

public override string ToString ();

Type Changed: System.Reflection.Emit.EventToken

Added interface:

System.IEquatable<EventToken>

Type Changed: System.Reflection.Emit.FieldToken

Added interface:

System.IEquatable<FieldToken>

Type Changed: System.Reflection.Emit.Label

Added interface:

System.IEquatable<Label>

Type Changed: System.Reflection.Emit.MethodToken

Added interface:

System.IEquatable<MethodToken>

Type Changed: System.Reflection.Emit.OpCode

Added interface:

System.IEquatable<OpCode>

Type Changed: System.Reflection.Emit.ParameterToken

Added interface:

System.IEquatable<ParameterToken>

Type Changed: System.Reflection.Emit.PropertyToken

Added interface:

System.IEquatable<PropertyToken>

Type Changed: System.Reflection.Emit.SignatureToken

Added interface:

System.IEquatable<SignatureToken>

Type Changed: System.Reflection.Emit.StringToken

Added interface:

System.IEquatable<StringToken>

Type Changed: System.Reflection.Emit.TypeToken

Added interface:

System.IEquatable<TypeToken>

Namespace System.Runtime

New Type: System.Runtime.AmbiguousImplementationException

[Serializable]
public sealed class AmbiguousImplementationException : System.Exception, Serialization.ISerializable {
	// constructors
	public AmbiguousImplementationException ();
	public AmbiguousImplementationException (string message);
	public AmbiguousImplementationException (string message, System.Exception innerException);
}

Namespace System.Runtime.CompilerServices

Type Changed: System.Runtime.CompilerServices.RuntimeFeature

Added field:

public static const string DefaultImplementationsOfInterfaces = "DefaultImplementationsOfInterfaces";

Added properties:

public static bool IsDynamicCodeCompiled { get; }
public static bool IsDynamicCodeSupported { get; }

Type Changed: System.Runtime.CompilerServices.RuntimeHelpers

Added method:

public static T[] GetSubArray<T> (T[] array, System.Range range);

New Type: System.Runtime.CompilerServices.EnumeratorCancellationAttribute

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

New Type: System.Runtime.CompilerServices.SwitchExpressionException

[Serializable]
public sealed class SwitchExpressionException : System.InvalidOperationException, System.Runtime.Serialization.ISerializable {
	// constructors
	public SwitchExpressionException ();
	public SwitchExpressionException (System.Exception innerException);
	public SwitchExpressionException (object unmatchedValue);
	public SwitchExpressionException (string message);
	public SwitchExpressionException (string message, System.Exception innerException);
	// properties
	public override string Message { get; }
	public object UnmatchedValue { get; }
	// methods
	public override void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
}

Namespace System.Runtime.InteropServices

Type Changed: System.Runtime.InteropServices.Marshal

Added methods:

public static System.Guid GenerateGuidForType (System.Type type);
public static string GenerateProgIdForType (System.Type type);
public static object GetComObjectData (object obj, object key);
public static IntPtr GetHINSTANCE (System.Reflection.Module m);
public static IntPtr GetIDispatchForObject (object o);
public static object GetTypedObjectForIUnknown (IntPtr pUnk, System.Type t);
public static bool SetComObjectData (object obj, object key, object data);
public static IntPtr StringToCoTaskMemUTF8 (string s);

Namespace System.Security.Cryptography

Type Changed: System.Security.Cryptography.AsymmetricAlgorithm

Added methods:

public virtual byte[] ExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters);
public virtual byte[] ExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, PbeParameters pbeParameters);
public virtual byte[] ExportPkcs8PrivateKey ();
public virtual byte[] ExportSubjectPublicKeyInfo ();
public virtual void ImportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportPkcs8PrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportSubjectPublicKeyInfo (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters, System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, PbeParameters pbeParameters, System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportPkcs8PrivateKey (System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportSubjectPublicKeyInfo (System.Span<byte> destination, out int bytesWritten);

Type Changed: System.Security.Cryptography.CryptoStream

Added constructor:

public CryptoStream (System.IO.Stream stream, ICryptoTransform transform, CryptoStreamMode mode, bool leaveOpen);

Added interface:

System.IAsyncDisposable

Added methods:

public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback callback, object state);
public override System.IAsyncResult BeginWrite (byte[] buffer, int offset, int count, System.AsyncCallback callback, object state);
public override int EndRead (System.IAsyncResult asyncResult);
public override void EndWrite (System.IAsyncResult asyncResult);
public override int ReadByte ();
public override void WriteByte (byte value);

Type Changed: System.Security.Cryptography.DSA

Added methods:

public static DSA Create (int keySizeInBits);
public static DSA Create (DSAParameters parameters);
public virtual bool TryCreateSignature (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm);
public virtual bool VerifySignature (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature);

Type Changed: System.Security.Cryptography.RSA

Added methods:

public static RSA Create (int keySizeInBits);
public static RSA Create (RSAParameters parameters);
public virtual byte[] ExportRSAPrivateKey ();
public virtual byte[] ExportRSAPublicKey ();
public virtual void ImportRSAPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportRSAPublicKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryDecrypt (System.ReadOnlySpan<byte> data, System.Span<byte> destination, RSAEncryptionPadding padding, out int bytesWritten);
public virtual bool TryEncrypt (System.ReadOnlySpan<byte> data, System.Span<byte> destination, RSAEncryptionPadding padding, out int bytesWritten);
public virtual bool TryExportRSAPrivateKey (System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportRSAPublicKey (System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding, out int bytesWritten);
public virtual bool TrySignHash (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);
public virtual bool VerifyHash (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);

Type Changed: System.Security.Cryptography.RandomNumberGenerator

Added methods:

public virtual void GetBytes (System.Span<byte> data);
public static int GetInt32 (int toExclusive);
public static int GetInt32 (int fromInclusive, int toExclusive);
public virtual void GetNonZeroBytes (System.Span<byte> data);

Type Changed: System.Security.Cryptography.Rfc2898DeriveBytes

Added constructors:

public Rfc2898DeriveBytes (byte[] password, byte[] salt, int iterations, HashAlgorithmName hashAlgorithm);
public Rfc2898DeriveBytes (string password, byte[] salt, int iterations, HashAlgorithmName hashAlgorithm);
public Rfc2898DeriveBytes (string password, int saltSize, int iterations, HashAlgorithmName hashAlgorithm);

Added property:

public HashAlgorithmName HashAlgorithm { get; }

New Type: System.Security.Cryptography.AesCcm

public sealed class AesCcm : System.IDisposable {
	// constructors
	public AesCcm (byte[] key);
	public AesCcm (System.ReadOnlySpan<byte> key);
	// properties
	public static KeySizes NonceByteSizes { get; }
	public static KeySizes TagByteSizes { get; }
	// methods
	public void Decrypt (byte[] nonce, byte[] ciphertext, byte[] tag, byte[] plaintext, byte[] associatedData);
	public void Decrypt (System.ReadOnlySpan<byte> nonce, System.ReadOnlySpan<byte> ciphertext, System.ReadOnlySpan<byte> tag, System.Span<byte> plaintext, System.ReadOnlySpan<byte> associatedData);
	public virtual void Dispose ();
	public void Encrypt (byte[] nonce, byte[] plaintext, byte[] ciphertext, byte[] tag, byte[] associatedData);
	public void Encrypt (System.ReadOnlySpan<byte> nonce, System.ReadOnlySpan<byte> plaintext, System.Span<byte> ciphertext, System.Span<byte> tag, System.ReadOnlySpan<byte> associatedData);
}

New Type: System.Security.Cryptography.AesGcm

public sealed class AesGcm : System.IDisposable {
	// constructors
	public AesGcm (byte[] key);
	public AesGcm (System.ReadOnlySpan<byte> key);
	// properties
	public static KeySizes NonceByteSizes { get; }
	public static KeySizes TagByteSizes { get; }
	// methods
	public void Decrypt (byte[] nonce, byte[] ciphertext, byte[] tag, byte[] plaintext, byte[] associatedData);
	public void Decrypt (System.ReadOnlySpan<byte> nonce, System.ReadOnlySpan<byte> ciphertext, System.ReadOnlySpan<byte> tag, System.Span<byte> plaintext, System.ReadOnlySpan<byte> associatedData);
	public virtual void Dispose ();
	public void Encrypt (byte[] nonce, byte[] plaintext, byte[] ciphertext, byte[] tag, byte[] associatedData);
	public void Encrypt (System.ReadOnlySpan<byte> nonce, System.ReadOnlySpan<byte> plaintext, System.Span<byte> ciphertext, System.Span<byte> tag, System.ReadOnlySpan<byte> associatedData);
}

New Type: System.Security.Cryptography.PbeEncryptionAlgorithm

[Serializable]
public enum PbeEncryptionAlgorithm {
	Aes128Cbc = 1,
	Aes192Cbc = 2,
	Aes256Cbc = 3,
	TripleDes3KeyPkcs12 = 4,
	Unknown = 0,
}

New Type: System.Security.Cryptography.PbeParameters

public sealed class PbeParameters {
	// constructors
	public PbeParameters (PbeEncryptionAlgorithm encryptionAlgorithm, HashAlgorithmName hashAlgorithm, int iterationCount);
	// properties
	public PbeEncryptionAlgorithm EncryptionAlgorithm { get; }
	public HashAlgorithmName HashAlgorithm { get; }
	public int IterationCount { get; }
}

Namespace System.Threading

Type Changed: System.Threading.CancellationTokenRegistration

Added interface:

System.IAsyncDisposable

Added method:

public virtual Tasks.ValueTask DisposeAsync ();

Type Changed: System.Threading.Interlocked

Added method:

public static void MemoryBarrierProcessWide ();

Type Changed: System.Threading.Timer

Added interface:

System.IAsyncDisposable

Added method:

public virtual Tasks.ValueTask DisposeAsync ();

Type Changed: System.Threading.WaitHandle

Modified base type:

-System.Object
+System.MarshalByRefObject

Namespace System.Threading.Tasks

New Type: System.Threading.Tasks.TaskAsyncEnumerableExtensions

public static class TaskAsyncEnumerableExtensions {
	// methods
	public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> ConfigureAwait<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, bool continueOnCapturedContext);
	public static System.Runtime.CompilerServices.ConfiguredAsyncDisposable ConfigureAwait (this System.IAsyncDisposable source, bool continueOnCapturedContext);
	public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> WithCancellation<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, System.Threading.CancellationToken cancellationToken);
}

System.Core.dll

Namespace System.IO.MemoryMappedFiles

Type Changed: System.IO.MemoryMappedFiles.MemoryMappedViewStream

Added interface:

System.IAsyncDisposable

Namespace System.IO.Pipes

Type Changed: System.IO.Pipes.AnonymousPipeClientStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.AnonymousPipeServerStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.NamedPipeClientStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.NamedPipeServerStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.PipeStream

Added interface:

System.IAsyncDisposable

Namespace System.Security.Cryptography

Type Changed: System.Security.Cryptography.ECDsa

Added methods:

public virtual byte[] ExportECPrivateKey ();
public virtual void ImportECPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryExportECPrivateKey (System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignHash (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm);
public virtual bool VerifyHash (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature);

Type Changed: System.Security.Cryptography.IncrementalHash

Added methods:

public void AppendData (System.ReadOnlySpan<byte> data);
public bool TryGetHashAndReset (System.Span<byte> destination, out int bytesWritten);

New Type: System.Security.Cryptography.ECDiffieHellman

public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm, System.IDisposable {
	// constructors
	protected ECDiffieHellman ();
	// properties
	public override string KeyExchangeAlgorithm { get; }
	public virtual ECDiffieHellmanPublicKey PublicKey { get; }
	public override string SignatureAlgorithm { get; }
	// methods
	public static ECDiffieHellman Create ();
	public static ECDiffieHellman Create (ECCurve curve);
	public static ECDiffieHellman Create (ECParameters parameters);
	public static ECDiffieHellman Create (string algorithm);
	public byte[] DeriveKeyFromHash (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm);
	public virtual byte[] DeriveKeyFromHash (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] secretPrepend, byte[] secretAppend);
	public byte[] DeriveKeyFromHmac (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] hmacKey);
	public virtual byte[] DeriveKeyFromHmac (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);
	public virtual byte[] DeriveKeyMaterial (ECDiffieHellmanPublicKey otherPartyPublicKey);
	public virtual byte[] DeriveKeyTls (ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed);
	public virtual byte[] ExportECPrivateKey ();
	public virtual ECParameters ExportExplicitParameters (bool includePrivateParameters);
	public virtual ECParameters ExportParameters (bool includePrivateParameters);
	public virtual void GenerateKey (ECCurve curve);
	public virtual void ImportECPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
	public virtual void ImportParameters (ECParameters parameters);
	public virtual bool TryExportECPrivateKey (System.Span<byte> destination, out int bytesWritten);
}

Namespace System.Security.Cryptography.X509Certificates

Type Changed: System.Security.Cryptography.X509Certificates.ECDsaCertificateExtensions

Added method:

public static X509Certificate2 CopyWithPrivateKey (this X509Certificate2 certificate, System.Security.Cryptography.ECDsa privateKey);

Namespace System.Threading.Tasks

Type Changed: System.Threading.Tasks.TaskExtensions

Removed methods:

public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> ConfigureAwait<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, bool continueOnCapturedContext);
public static System.Runtime.CompilerServices.ConfiguredAsyncDisposable ConfigureAwait (this System.IAsyncDisposable source, bool continueOnCapturedContext);
public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> WithCancellation<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, System.Threading.CancellationToken cancellationToken);

New Namespace System.Net.Sockets

New Type: System.Net.Sockets.UnixDomainSocketEndPoint

public sealed class UnixDomainSocketEndPoint : System.Net.EndPoint {
	// constructors
	public UnixDomainSocketEndPoint (string path);
	// properties
	public override AddressFamily AddressFamily { get; }
	// methods
	public override System.Net.EndPoint Create (System.Net.SocketAddress socketAddress);
	public override System.Net.SocketAddress Serialize ();
	public override string ToString ();
}

New Namespace System.Reflection

New Type: System.Reflection.DispatchProxy

public abstract class DispatchProxy {
	// constructors
	protected DispatchProxy ();
	// methods
	public static T Create<T, TProxy> ();
	protected virtual object Invoke (MethodInfo targetMethod, object[] args);
}

System.Data.dll

Namespace System.Data

Type Changed: System.Data.DataTableReader

Added interface:

System.IAsyncDisposable

New Type: System.Data.DataReaderExtensions

public static class DataReaderExtensions {
	// methods
	public static bool GetBoolean (this Common.DbDataReader reader, string name);
	public static byte GetByte (this Common.DbDataReader reader, string name);
	public static long GetBytes (this Common.DbDataReader reader, string name, long dataOffset, byte[] buffer, int bufferOffset, int length);
	public static char GetChar (this Common.DbDataReader reader, string name);
	public static long GetChars (this Common.DbDataReader reader, string name, long dataOffset, char[] buffer, int bufferOffset, int length);
	public static Common.DbDataReader GetData (this Common.DbDataReader reader, string name);
	public static string GetDataTypeName (this Common.DbDataReader reader, string name);
	public static System.DateTime GetDateTime (this Common.DbDataReader reader, string name);
	public static System.Decimal GetDecimal (this Common.DbDataReader reader, string name);
	public static double GetDouble (this Common.DbDataReader reader, string name);
	public static System.Type GetFieldType (this Common.DbDataReader reader, string name);
	public static T GetFieldValue<T> (this Common.DbDataReader reader, string name);
	public static System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (this Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken);
	public static float GetFloat (this Common.DbDataReader reader, string name);
	public static System.Guid GetGuid (this Common.DbDataReader reader, string name);
	public static short GetInt16 (this Common.DbDataReader reader, string name);
	public static int GetInt32 (this Common.DbDataReader reader, string name);
	public static long GetInt64 (this Common.DbDataReader reader, string name);
	public static System.Type GetProviderSpecificFieldType (this Common.DbDataReader reader, string name);
	public static object GetProviderSpecificValue (this Common.DbDataReader reader, string name);
	public static System.IO.Stream GetStream (this Common.DbDataReader reader, string name);
	public static string GetString (this Common.DbDataReader reader, string name);
	public static System.IO.TextReader GetTextReader (this Common.DbDataReader reader, string name);
	public static object GetValue (this Common.DbDataReader reader, string name);
	public static bool IsDBNull (this Common.DbDataReader reader, string name);
	public static System.Threading.Tasks.Task<bool> IsDBNullAsync (this Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken);
}

Namespace System.Data.Common

Type Changed: System.Data.Common.DbCommand

Added interface:

System.IAsyncDisposable

Added methods:

public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual System.Threading.Tasks.Task PrepareAsync (System.Threading.CancellationToken cancellationToken);

Type Changed: System.Data.Common.DbConnection

Added interface:

System.IAsyncDisposable

Added methods:

protected virtual System.Threading.Tasks.ValueTask<DbTransaction> BeginDbTransactionAsync (System.Data.IsolationLevel isolationLevel, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask<DbTransaction> BeginTransactionAsync (System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask<DbTransaction> BeginTransactionAsync (System.Data.IsolationLevel isolationLevel, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task ChangeDatabaseAsync (string databaseName, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task CloseAsync ();
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();

Type Changed: System.Data.Common.DbDataReader

Added interface:

System.IAsyncDisposable

Added methods:

public virtual System.Threading.Tasks.Task CloseAsync ();
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();

Type Changed: System.Data.Common.DbProviderFactory

Added properties:

public virtual bool CanCreateCommandBuilder { get; }
public virtual bool CanCreateDataAdapter { get; }

Type Changed: System.Data.Common.DbTransaction

Added interface:

System.IAsyncDisposable

Added methods:

public virtual System.Threading.Tasks.Task CommitAsync (System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual System.Threading.Tasks.Task RollbackAsync (System.Threading.CancellationToken cancellationToken);

New Type: System.Data.Common.DbProviderFactories

public static class DbProviderFactories {
	// methods
	public static DbProviderFactory GetFactory (DbConnection connection);
	public static DbProviderFactory GetFactory (System.Data.DataRow providerRow);
	public static DbProviderFactory GetFactory (string providerInvariantName);
	public static System.Data.DataTable GetFactoryClasses ();
	public static System.Collections.Generic.IEnumerable<string> GetProviderInvariantNames ();
	public static void RegisterFactory (string providerInvariantName, DbProviderFactory factory);
	public static void RegisterFactory (string providerInvariantName, string factoryTypeAssemblyQualifiedName);
	public static void RegisterFactory (string providerInvariantName, System.Type providerFactoryClass);
	public static bool TryGetFactory (string providerInvariantName, out DbProviderFactory factory);
	public static bool UnregisterFactory (string providerInvariantName);
}

Namespace System.Data.SqlClient

Type Changed: System.Data.SqlClient.SqlCommand

Added interface:

System.IAsyncDisposable

Type Changed: System.Data.SqlClient.SqlConnection

Added interface:

System.IAsyncDisposable

Type Changed: System.Data.SqlClient.SqlDataReader

Added interface:

System.IAsyncDisposable

Type Changed: System.Data.SqlClient.SqlTransaction

Added interface:

System.IAsyncDisposable

System.IO.Compression.dll

Namespace System.IO.Compression

New Type: System.IO.Compression.BrotliDecoder

public struct BrotliDecoder, System.IDisposable {
	// methods
	public System.Buffers.OperationStatus Decompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten);
	public virtual void Dispose ();
	public static bool TryDecompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
}

New Type: System.IO.Compression.BrotliEncoder

public struct BrotliEncoder, System.IDisposable {
	// constructors
	public BrotliEncoder (int quality, int window);
	// methods
	public System.Buffers.OperationStatus Compress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock);
	public virtual void Dispose ();
	public System.Buffers.OperationStatus Flush (System.Span<byte> destination, out int bytesWritten);
	public static int GetMaxCompressedLength (int length);
	public static bool TryCompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
	public static bool TryCompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten, int quality, int window);
}

New Type: System.IO.Compression.BrotliStream

public sealed class BrotliStream : System.IO.Stream, System.IAsyncDisposable, System.IDisposable {
	// constructors
	public BrotliStream (System.IO.Stream stream, CompressionLevel compressionLevel);
	public BrotliStream (System.IO.Stream stream, CompressionMode mode);
	public BrotliStream (System.IO.Stream stream, CompressionLevel compressionLevel, bool leaveOpen);
	public BrotliStream (System.IO.Stream stream, CompressionMode mode, 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[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
	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 (System.Span<byte> buffer);
	public override int Read (byte[] buffer, int offset, int count);
	public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
	public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
	public override long Seek (long offset, System.IO.SeekOrigin origin);
	public override void SetLength (long value);
	public override void Write (System.ReadOnlySpan<byte> buffer);
	public override void Write (byte[] buffer, int offset, int count);
	public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken);
	public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
}

System.dll

Namespace System.CodeDom.Compiler

Type Changed: System.CodeDom.Compiler.IndentedTextWriter

Added interface:

System.IAsyncDisposable

Namespace System.Diagnostics

Type Changed: System.Diagnostics.ProcessStartInfo

Added properties:

public System.Collections.ObjectModel.Collection<string> ArgumentList { get; }
public System.Text.Encoding StandardInputEncoding { get; set; }

Namespace System.IO.Compression

Type Changed: System.IO.Compression.DeflateStream

Added interface:

System.IAsyncDisposable

Added method:

protected override void ~DeflateStream ();

Type Changed: System.IO.Compression.GZipStream

Added interface:

System.IAsyncDisposable

Namespace System.Net

Type Changed: System.Net.HttpWebResponse

Added constructor:

public HttpWebResponse ();

Type Changed: System.Net.IPAddress

Added constructors:

public IPAddress (System.ReadOnlySpan<byte> address);
public IPAddress (System.ReadOnlySpan<byte> address, long scopeid);

Added methods:

public static IPAddress Parse (System.ReadOnlySpan<char> ipSpan);
public bool TryFormat (System.Span<char> destination, out int charsWritten);
public static bool TryParse (System.ReadOnlySpan<char> ipSpan, out IPAddress address);
public bool TryWriteBytes (System.Span<byte> destination, out int bytesWritten);

Type Changed: System.Net.SecurityProtocolType

Added value:

Tls13 = 12288,

Namespace System.Net.Security

Type Changed: System.Net.Security.AuthenticatedStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Security.NegotiateStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Security.SslStream

Added interface:

System.IAsyncDisposable

Added property:

public SslApplicationProtocol NegotiatedApplicationProtocol { get; }

Added methods:

public virtual void AuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public System.Threading.Tasks.Task AuthenticateAsClientAsync (SslClientAuthenticationOptions sslClientAuthenticationOptions, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public virtual void AuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public System.Threading.Tasks.Task AuthenticateAsServerAsync (SslServerAuthenticationOptions sslServerAuthenticationOptions, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public virtual System.IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginAuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public override System.Threading.Tasks.ValueTask DisposeAsync ();
public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);

New Type: System.Net.Security.ServerCertificateSelectionCallback

public sealed delegate ServerCertificateSelectionCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ServerCertificateSelectionCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (object sender, string hostName, System.AsyncCallback callback, object object);
	public virtual System.Security.Cryptography.X509Certificates.X509Certificate EndInvoke (System.IAsyncResult result);
	public virtual System.Security.Cryptography.X509Certificates.X509Certificate Invoke (object sender, string hostName);
}

New Type: System.Net.Security.SslApplicationProtocol

public struct SslApplicationProtocol, System.IEquatable<SslApplicationProtocol> {
	// constructors
	public SslApplicationProtocol (byte[] protocol);
	public SslApplicationProtocol (string protocol);
	// fields
	public static SslApplicationProtocol Http11;
	public static SslApplicationProtocol Http2;
	// properties
	public System.ReadOnlyMemory<byte> Protocol { get; }
	// methods
	public virtual bool Equals (SslApplicationProtocol other);
	public override bool Equals (object obj);
	public override int GetHashCode ();
	public override string ToString ();
	public static bool op_Equality (SslApplicationProtocol left, SslApplicationProtocol right);
	public static bool op_Inequality (SslApplicationProtocol left, SslApplicationProtocol right);
}

New Type: System.Net.Security.SslClientAuthenticationOptions

public class SslClientAuthenticationOptions {
	// constructors
	public SslClientAuthenticationOptions ();
	// properties
	public bool AllowRenegotiation { get; set; }
	public System.Collections.Generic.List<SslApplicationProtocol> ApplicationProtocols { get; set; }
	public System.Security.Cryptography.X509Certificates.X509RevocationMode CertificateRevocationCheckMode { get; set; }
	public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get; set; }
	public System.Security.Authentication.SslProtocols EnabledSslProtocols { get; set; }
	public EncryptionPolicy EncryptionPolicy { get; set; }
	public LocalCertificateSelectionCallback LocalCertificateSelectionCallback { get; set; }
	public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
	public string TargetHost { get; set; }
}

New Type: System.Net.Security.SslServerAuthenticationOptions

public class SslServerAuthenticationOptions {
	// constructors
	public SslServerAuthenticationOptions ();
	// properties
	public bool AllowRenegotiation { get; set; }
	public System.Collections.Generic.List<SslApplicationProtocol> ApplicationProtocols { get; set; }
	public System.Security.Cryptography.X509Certificates.X509RevocationMode CertificateRevocationCheckMode { get; set; }
	public bool ClientCertificateRequired { get; set; }
	public System.Security.Authentication.SslProtocols EnabledSslProtocols { get; set; }
	public EncryptionPolicy EncryptionPolicy { get; set; }
	public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
	public System.Security.Cryptography.X509Certificates.X509Certificate ServerCertificate { get; set; }
	public ServerCertificateSelectionCallback ServerCertificateSelectionCallback { get; set; }
}

Namespace System.Net.Sockets

Type Changed: System.Net.Sockets.NetworkStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Sockets.Socket

Added methods:

public int Receive (System.Span<byte> buffer, SocketFlags socketFlags, out SocketError errorCode);
public int Send (System.ReadOnlySpan<byte> buffer, SocketFlags socketFlags, out SocketError errorCode);

Type Changed: System.Net.Sockets.SocketAsyncEventArgs

Added method:

public void SetBuffer (System.Memory<byte> buffer);

Type Changed: System.Net.Sockets.SocketTaskExtensions

Added methods:

public static System.Threading.Tasks.ValueTask<int> ReceiveAsync (this Socket socket, System.Memory<byte> memory, SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.ValueTask<int> SendAsync (this Socket socket, System.ReadOnlyMemory<byte> buffer, SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken);

Namespace System.Security.Authentication

Type Changed: System.Security.Authentication.SslProtocols

Added value:

Tls13 = 12288,

Namespace System.Security.Cryptography

Removed Type System.Security.Cryptography.CryptographicOperations

Namespace System.Security.Cryptography.X509Certificates

Type Changed: System.Security.Cryptography.X509Certificates.X509Store

Added constructors:

public X509Store (StoreName storeName, StoreLocation storeLocation, OpenFlags openFlags);
public X509Store (string storeName, StoreLocation storeLocation, OpenFlags openFlags);

Added property:

public bool IsOpen { get; }

New Type: System.Security.Cryptography.X509Certificates.CertificateRequest

public sealed class CertificateRequest {
	// constructors
	public CertificateRequest (X500DistinguishedName subjectName, System.Security.Cryptography.ECDsa key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (X500DistinguishedName subjectName, PublicKey publicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (string subjectName, System.Security.Cryptography.ECDsa key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (X500DistinguishedName subjectName, System.Security.Cryptography.RSA key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
	public CertificateRequest (string subjectName, System.Security.Cryptography.RSA key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
	// properties
	public System.Collections.ObjectModel.Collection<X509Extension> CertificateExtensions { get; }
	public System.Security.Cryptography.HashAlgorithmName HashAlgorithm { get; }
	public PublicKey PublicKey { get; }
	public X500DistinguishedName SubjectName { get; }
	// methods
	public X509Certificate2 Create (X509Certificate2 issuerCertificate, System.DateTimeOffset notBefore, System.DateTimeOffset notAfter, byte[] serialNumber);
	public X509Certificate2 Create (X500DistinguishedName issuerName, X509SignatureGenerator generator, System.DateTimeOffset notBefore, System.DateTimeOffset notAfter, byte[] serialNumber);
	public X509Certificate2 CreateSelfSigned (System.DateTimeOffset notBefore, System.DateTimeOffset notAfter);
	public byte[] CreateSigningRequest ();
	public byte[] CreateSigningRequest (X509SignatureGenerator signatureGenerator);
}

New Type: System.Security.Cryptography.X509Certificates.SubjectAlternativeNameBuilder

public sealed class SubjectAlternativeNameBuilder {
	// constructors
	public SubjectAlternativeNameBuilder ();
	// methods
	public void AddDnsName (string dnsName);
	public void AddEmailAddress (string emailAddress);
	public void AddIpAddress (System.Net.IPAddress ipAddress);
	public void AddUri (System.Uri uri);
	public void AddUserPrincipalName (string upn);
	public X509Extension Build (bool critical);
}

New Type: System.Security.Cryptography.X509Certificates.X509SignatureGenerator

public abstract class X509SignatureGenerator {
	// constructors
	protected X509SignatureGenerator ();
	// properties
	public PublicKey PublicKey { get; }
	// methods
	protected virtual PublicKey BuildPublicKey ();
	public static X509SignatureGenerator CreateForECDsa (System.Security.Cryptography.ECDsa key);
	public static X509SignatureGenerator CreateForRSA (System.Security.Cryptography.RSA key, System.Security.Cryptography.RSASignaturePadding signaturePadding);
	public virtual byte[] GetSignatureAlgorithmIdentifier (System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public virtual byte[] SignData (byte[] data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
}

Removed Namespace System.IO.Enumeration

Removed Type System.IO.Enumeration.FileSystemName

System.Net.Http.dll

Namespace System.Net.Http

Type Changed: System.Net.Http.HttpClient

Added methods:

public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (string requestUri, HttpContent content);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (System.Uri requestUri, HttpContent content);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (string requestUri, HttpContent content, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (System.Uri requestUri, HttpContent content, System.Threading.CancellationToken cancellationToken);

Type Changed: System.Net.Http.HttpClientHandler

Added property:

public static System.Func<HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,System.Boolean> DangerousAcceptAnyServerCertificateValidator { get; }

Type Changed: System.Net.Http.HttpMethod

Added property:

public static HttpMethod Patch { get; }

Type Changed: System.Net.Http.HttpResponseMessage

Added property:

public Headers.HttpResponseHeaders TrailingHeaders { get; }

New Type: System.Net.Http.ReadOnlyMemoryContent

public sealed class ReadOnlyMemoryContent : System.Net.Http.HttpContent, System.IDisposable {
	// constructors
	public ReadOnlyMemoryContent (System.ReadOnlyMemory<byte> content);
	// methods
	protected override System.Threading.Tasks.Task SerializeToStreamAsync (System.IO.Stream stream, System.Net.TransportContext context);
	protected override bool TryComputeLength (out long length);
}

System.Xml.dll

Namespace System.Xml.Serialization

Type Changed: System.Xml.Serialization.XmlSchemaImporter

Modified base type:

-System.Object
+System.Xml.Serialization.SchemaImporter

New Type: System.Xml.Serialization.SchemaImporter

public abstract class SchemaImporter {
	// constructors
	protected SchemaImporter ();
}

Xamarin.WatchOS.dll

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioEngine

Added property:

public virtual Foundation.NSSet<AVAudioNode> AttachedNodes { get; }

Type Changed: AVFoundation.AVAudioFormat

Added constructor:

public AVAudioFormat (CoreMedia.CMAudioFormatDescription formatDescription);

Added property:

public virtual CoreMedia.CMAudioFormatDescription FormatDescription { get; }

Type Changed: AVFoundation.AVAudioIONode

Added property:

public virtual bool VoiceProcessingEnabled { get; }

Added method:

public virtual bool SetVoiceProcessingEnabled (bool enabled, out Foundation.NSError outError);

Type Changed: AVFoundation.AVAudioInputNode

Added properties:

public virtual bool VoiceProcessingAgcEnabled { get; set; }
public virtual bool VoiceProcessingBypassed { get; set; }
public virtual bool VoiceProcessingInputMuted { get; set; }

Type Changed: AVFoundation.AVAudioSession

Added property:

public virtual bool AllowHapticsAndSystemSoundsDuringRecording { get; }

Added method:

public virtual bool SetAllowHapticsAndSystemSoundsDuringRecording (bool inValue, out Foundation.NSError outError);

Type Changed: AVFoundation.AVAudioSessionErrorCode

Obsoleted fields:

 [Obsolete ("Use 'ResourceNotAvailable' instead.")]
 CodeResourceNotAvailable = 561145203,

Added values:

ExpiredSession = 561210739,
ResourceNotAvailable = 561145203,
SessionNotActive = 1768841571,

Type Changed: AVFoundation.AVSpeechSynthesisVoice

Added properties:

public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> AudioFileSettings { get; }
public virtual AVSpeechSynthesisVoiceGender Gender { get; }

Type Changed: AVFoundation.AVSpeechSynthesizer

Added properties:

public virtual bool MixToTelephonyUplink { get; set; }
public virtual bool UsesApplicationAudioSession { get; set; }

Added methods:

public virtual void WriteUtterance (AVSpeechUtterance utterance, System.Action<AVAudioBuffer> bufferCallback);
public virtual System.Threading.Tasks.Task<AVAudioBuffer> WriteUtteranceAsync (AVSpeechUtterance utterance);

New Type: AVFoundation.AVAsset

public class AVAsset : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAsset (Foundation.NSObjectFlag t);
	protected AVAsset (IntPtr handle);
	// properties
	public virtual AVMediaSelection[] AllMediaSelections { get; }
	public virtual Foundation.NSLocale[] AvailableChapterLocales { get; }
	public virtual string[] AvailableMediaCharacteristicsWithMediaSelectionOptions { get; }
	public virtual string[] AvailableMetadataFormats { get; }
	public virtual bool CanContainFragments { get; }
	public static Foundation.NSString ChapterMetadataGroupsDidChangeNotification { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVMetadataItem[] CommonMetadata { get; }
	public virtual bool CompatibleWithAirPlayVideo { get; }
	public virtual bool CompatibleWithSavedPhotosAlbum { get; }
	public virtual bool Composable { get; }
	public virtual bool ContainsFragments { get; }
	public virtual AVMetadataItem CreationDate { get; }
	public virtual CoreMedia.CMTime Duration { get; }
	public static Foundation.NSString DurationDidChangeNotification { get; }
	public virtual bool Exportable { get; }
	public virtual string Lyrics { get; }
	public static Foundation.NSString MediaSelectionGroupsDidChangeNotification { get; }
	public virtual AVMetadataItem[] Metadata { get; }
	public virtual CoreMedia.CMTime MinimumTimeOffsetFromLive { get; }
	public virtual CoreGraphics.CGSize NaturalSize { get; }
	public virtual CoreMedia.CMTime OverallDurationHint { get; }
	public virtual bool Playable { get; }
	public virtual AVMediaSelection PreferredMediaSelection { get; }
	public virtual float PreferredRate { get; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; }
	public virtual float PreferredVolume { get; }
	public virtual bool ProtectedContent { get; }
	public virtual bool ProvidesPreciseDurationAndTiming { get; }
	public virtual bool Readable { get; }
	public virtual AVAssetReferenceRestrictions ReferenceRestrictions { get; }
	public virtual AVAssetTrackGroup[] TrackGroups { get; }
	public virtual AVAssetTrack[] Tracks { get; }
	public virtual int UnusedTrackId { get; }
	// methods
	public virtual void CancelLoading ();
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static AVAsset FromUrl (Foundation.NSUrl url);
	public virtual AVTimedMetadataGroup[] GetChapterMetadataGroups (Foundation.NSLocale forLocale, AVMetadataItem[] commonKeys);
	public virtual AVTimedMetadataGroup[] GetChapterMetadataGroupsBestMatchingPreferredLanguages (string[] languages);
	public AVMediaSelectionGroup GetMediaSelectionGroupForMediaCharacteristic (AVMediaCharacteristics avMediaCharacteristic);
	public AVMetadataItem[] GetMetadataForFormat (AVMetadataFormat format);
	public virtual AVMetadataItem[] GetMetadataForFormat (Foundation.NSString format);
	public AVAssetTrack[] GetTracks (AVMediaCharacteristics mediaCharacteristic);
	public AVAssetTrack[] GetTracks (AVMediaTypes mediaType);
	public virtual void LoadValuesAsynchronously (string[] keys, System.Action handler);
	public virtual System.Threading.Tasks.Task LoadValuesTaskAsync (string[] keys);
	public virtual AVMediaSelectionGroup MediaSelectionGroupForMediaCharacteristic (string avMediaCharacteristic);

	[Obsolete ("Use 'GetMetadataForFormat' with enum values AVMetadataFormat.")]
public virtual AVMetadataItem[] MetadataForFormat (string format);
	public virtual AVKeyValueStatus StatusOfValue (string key, out Foundation.NSError error);
	public virtual AVAssetTrack TrackWithTrackID (int trackID);
	public virtual AVAssetTrack[] TracksWithMediaCharacteristic (string mediaCharacteristic);
	public virtual AVAssetTrack[] TracksWithMediaType (string mediaType);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveChapterMetadataGroupsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveChapterMetadataGroupsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveDurationDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveDurationDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveMediaSelectionGroupsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveMediaSelectionGroupsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: AVFoundation.AVAssetExportSessionStatus

[Serializable]
public enum AVAssetExportSessionStatus {
	Cancelled = 5,
	Completed = 3,
	Exporting = 2,
	Failed = 4,
	Unknown = 0,
	Waiting = 1,
}

New Type: AVFoundation.AVAssetImageGeneratorResult

[Serializable]
public enum AVAssetImageGeneratorResult {
	Cancelled = 2,
	Failed = 1,
	Succeeded = 0,
}

New Type: AVFoundation.AVAssetReaderStatus

[Serializable]
public enum AVAssetReaderStatus {
	Cancelled = 4,
	Completed = 2,
	Failed = 3,
	Reading = 1,
	Unknown = 0,
}

New Type: AVFoundation.AVAssetReferenceRestrictions

[Serializable]
public enum AVAssetReferenceRestrictions {
	ForbidAll = 65535,
	ForbidCrossSiteReference = 4,
	ForbidLocalReferenceToLocal = 8,
	ForbidLocalReferenceToRemote = 2,
	ForbidNone = 0,
	ForbidRemoteReferenceToLocal = 1,
}

New Type: AVFoundation.AVAssetResourceLoaderDelegate

public class AVAssetResourceLoaderDelegate : Foundation.NSObject, IAVAssetResourceLoaderDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVAssetResourceLoaderDelegate ();
	protected AVAssetResourceLoaderDelegate (Foundation.NSObjectFlag t);
	protected AVAssetResourceLoaderDelegate (IntPtr handle);
}

New Type: AVFoundation.AVAssetTrack

public class AVAssetTrack : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetTrack (Foundation.NSObjectFlag t);
	protected AVAssetTrack (IntPtr handle);
	// properties
	public virtual AVAsset Asset { get; }
	public virtual string[] AvailableMetadataFormats { get; }
	public virtual Foundation.NSString[] AvailableTrackAssociationTypes { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVMetadataItem[] CommonMetadata { get; }
	public virtual bool Decodable { get; }
	public virtual bool Enabled { get; }
	public virtual float EstimatedDataRate { get; }
	public virtual string ExtendedLanguageTag { get; }
	public CoreMedia.CMFormatDescription[] FormatDescriptions { get; }
	public virtual Foundation.NSObject[] FormatDescriptionsAsObjects { get; }
	public virtual bool HasAudioSampleDependencies { get; }
	public virtual string LanguageCode { get; }
	public virtual string MediaType { get; }
	public virtual AVMetadataItem[] Metadata { get; }
	public virtual CoreMedia.CMTime MinFrameDuration { get; }
	public virtual CoreGraphics.CGSize NaturalSize { get; }
	public virtual int NaturalTimeScale { get; }
	public virtual float NominalFrameRate { get; }
	public virtual bool Playable { get; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; }
	public virtual float PreferredVolume { get; }
	public virtual bool RequiresFrameReordering { get; }
	public virtual AVAssetTrackSegment[] Segments { get; }
	public static Foundation.NSString SegmentsDidChangeNotification { get; }
	public virtual bool SelfContained { get; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
	public static Foundation.NSString TimeRangeDidChangeNotification { get; }
	public virtual long TotalSampleDataLength { get; }
	public static Foundation.NSString TrackAssociationsDidChangeNotification { get; }
	public virtual int TrackID { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	protected override void Dispose (bool disposing);
	public virtual AVAssetTrack[] GetAssociatedTracks (Foundation.NSString avAssetTrackTrackAssociationType);
	public virtual bool HasMediaCharacteristic (string mediaCharacteristic);
	public virtual AVMetadataItem[] MetadataForFormat (string format);
	public virtual CoreMedia.CMTime SamplePresentationTimeForTrackTime (CoreMedia.CMTime trackTime);
	public virtual AVAssetTrackSegment SegmentForTrackTime (CoreMedia.CMTime trackTime);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveSegmentsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveSegmentsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveTimeRangeDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveTimeRangeDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveTrackAssociationsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveTrackAssociationsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: AVFoundation.AVAssetTrackGroup

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

New Type: AVFoundation.AVAssetTrackSegment

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

New Type: AVFoundation.AVAssetTrackTrackAssociation

public static class AVAssetTrackTrackAssociation {
	// properties
	public static Foundation.NSString AudioFallback { get; }
	public static Foundation.NSString ChapterList { get; }
	public static Foundation.NSString ForcedSubtitlesOnly { get; }
	public static Foundation.NSString MetadataReferent { get; }
	public static Foundation.NSString SelectionFollower { get; }
	public static Foundation.NSString Timecode { get; }
}

New Type: AVFoundation.AVAssetWriterStatus

[Serializable]
public enum AVAssetWriterStatus {
	Cancelled = 4,
	Completed = 2,
	Failed = 3,
	Unknown = 0,
	Writing = 1,
}

New Type: AVFoundation.AVAsynchronousKeyValueLoading

public abstract class AVAsynchronousKeyValueLoading : Foundation.NSObject, IAVAsynchronousKeyValueLoading, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAsynchronousKeyValueLoading ();
	protected AVAsynchronousKeyValueLoading (Foundation.NSObjectFlag t);
	protected AVAsynchronousKeyValueLoading (IntPtr handle);
	// methods
	public virtual void LoadValuesAsynchronously (string[] keys, System.Action handler);
	public virtual AVKeyValueStatus StatusOfValueForKeyerror (string key, IntPtr outError);
}

New Type: AVFoundation.AVAudioMix

public class AVAudioMix : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVAudioMix ();
	protected AVAudioMix (Foundation.NSObjectFlag t);
	protected AVAudioMix (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVAudioMixInputParameters[] InputParameters { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVAudioMixInputParameters

public class AVAudioMixInputParameters : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVAudioMixInputParameters ();
	protected AVAudioMixInputParameters (Foundation.NSObjectFlag t);
	protected AVAudioMixInputParameters (IntPtr handle);
	// properties
	public virtual Foundation.NSString AudioTimePitchAlgorithm { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual int TrackID { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual bool GetVolumeRamp (CoreMedia.CMTime forTime, ref float startVolume, ref float endVolume, ref CoreMedia.CMTimeRange timeRange);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVAudioSinkNode

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

New Type: AVFoundation.AVAudioSinkNodeReceiverHandler

public sealed delegate AVAudioSinkNodeReceiverHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public AVAudioSinkNodeReceiverHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers inputData, System.AsyncCallback callback, object object);
	public virtual int EndInvoke (ref AudioToolbox.AudioBuffers inputData, System.IAsyncResult result);
	public virtual int Invoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers inputData);
}

New Type: AVFoundation.AVAudioSourceNode

public class AVAudioSourceNode : AVFoundation.AVAudioNode, IAVAudioMixing, IAVAudioStereoMixing, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVAudioSourceNode (AVAudioSourceNodeRenderHandler renderHandler);
	protected AVAudioSourceNode (Foundation.NSObjectFlag t);
	protected AVAudioSourceNode (IntPtr handle);
	public AVAudioSourceNode (AVAudioFormat format, AVAudioSourceNodeRenderHandler renderHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float Pan { get; set; }
	public virtual float Volume { get; set; }
	// methods
	public virtual AVAudioMixingDestination DestinationForMixer (AVAudioNode mixer, nuint bus);
}

New Type: AVFoundation.AVAudioSourceNodeRenderHandler

public sealed delegate AVAudioSourceNodeRenderHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public AVAudioSourceNodeRenderHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool isSilence, AudioToolbox.AudioTimeStamp timestamp, uint frameCunt, ref AudioToolbox.AudioBuffers outputData, System.AsyncCallback callback, object object);
	public virtual int EndInvoke (ref AudioToolbox.AudioBuffers outputData, System.IAsyncResult result);
	public virtual int Invoke (bool isSilence, AudioToolbox.AudioTimeStamp timestamp, uint frameCunt, ref AudioToolbox.AudioBuffers outputData);
}

New Type: AVFoundation.AVAudioTimePitchAlgorithm

public static class AVAudioTimePitchAlgorithm {
	// properties
	public static Foundation.NSString LowQualityZeroLatency { get; }
	public static Foundation.NSString Spectral { get; }
	public static Foundation.NSString TimeDomain { get; }
	public static Foundation.NSString Varispeed { get; }
}

New Type: AVFoundation.AVCaptureDevice

public static class AVCaptureDevice {
	// properties
	public static float LensPositionCurrent { get; }
}

New Type: AVFoundation.AVCompletion

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

New Type: AVFoundation.AVComposition

public class AVComposition : AVFoundation.AVAsset, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVComposition ();
	protected AVComposition (Foundation.NSObjectFlag t);
	protected AVComposition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGSize NaturalSize { get; set; }
	public virtual AVCompositionTrack[] Tracks { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> UrlAssetInitializationOptions { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVCompositionTrack

public class AVCompositionTrack : AVFoundation.AVAssetTrack, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVCompositionTrack (Foundation.NSObjectFlag t);
	protected AVCompositionTrack (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVCompositionTrackFormatDescriptionReplacement[] FormatDescriptionReplacements { get; }
	public virtual AVCompositionTrackSegment[] Segments { get; }
}

New Type: AVFoundation.AVCompositionTrackFormatDescriptionReplacement

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

New Type: AVFoundation.AVCompositionTrackSegment

public class AVCompositionTrackSegment : AVFoundation.AVAssetTrackSegment, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCompositionTrackSegment ();
	public AVCompositionTrackSegment (CoreMedia.CMTimeRange timeRange);
	protected AVCompositionTrackSegment (Foundation.NSObjectFlag t);
	protected AVCompositionTrackSegment (IntPtr handle);
	public AVCompositionTrackSegment (Foundation.NSUrl URL, int trackID, CoreMedia.CMTimeRange sourceTimeRange, CoreMedia.CMTimeRange targetTimeRange);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Empty { get; }
	public virtual int SourceTrackID { get; }
	public virtual Foundation.NSUrl SourceUrl { get; }
	// methods
	public static IntPtr FromTimeRange (CoreMedia.CMTimeRange timeRange);
	public static IntPtr FromUrl (Foundation.NSUrl url, int trackID, CoreMedia.CMTimeRange sourceTimeRange, CoreMedia.CMTimeRange targetTimeRange);
}

New Type: AVFoundation.AVComposition_AVCompositionTrackInspection

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

New Type: AVFoundation.AVContentKeyRequest

public static class AVContentKeyRequest {
	// properties
	public static Foundation.NSString RequiresValidationDataInSecureTokenKey { get; }
}

New Type: AVFoundation.AVDateRangeMetadataGroup

public class AVDateRangeMetadataGroup : AVFoundation.AVMetadataGroup, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVDateRangeMetadataGroup ();
	protected AVDateRangeMetadataGroup (Foundation.NSObjectFlag t);
	protected AVDateRangeMetadataGroup (IntPtr handle);
	public AVDateRangeMetadataGroup (AVMetadataItem[] items, Foundation.NSDate startDate, Foundation.NSDate endDate);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate EndDate { get; set; }
	public virtual AVMetadataItem[] Items { get; set; }
	public virtual Foundation.NSDate StartDate { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVError

[Serializable]
public enum AVError {
	AirPlayControllerRequiresInternet = -11856,
	AirPlayReceiverRequiresInternet = -11857,
	ApplicationIsNotAuthorized = -11836,
	ApplicationIsNotAuthorizedToUseDevice = -11852,
	CompositionTrackSegmentsNotContiguous = -11824,
	ContentIsNotAuthorized = -11835,
	ContentIsProtected = -11831,
	ContentIsUnavailable = -11863,
	ContentNotUpdated = -11866,
	DecodeFailed = -11821,
	DecoderNotFound = -11833,
	DecoderTemporarilyUnavailable = -11839,
	DeviceAlreadyUsedByAnotherSession = -11804,
	DeviceInUseByAnotherApplication = -11815,
	DeviceIsNotAvailableInBackground = -11837,
	DeviceLockedForConfigurationByAnotherProcess = -11817,
	DeviceNotConnected = -11814,
	DeviceWasDisconnected = -11808,
	DiskFull = -11807,
	DisplayWasDisabled = -11845,
	EncoderNotFound = -11834,
	EncoderTemporarilyUnavailable = -11840,
	ExportFailed = -11820,
	FailedToLoadMediaData = -11849,
	FailedToParse = -11829,
	FailedToParse2 = -11853,
	FileAlreadyExists = -11823,
	FileTypeDoesNotSupportSampleReferences = -11854,
	FormatNotRecognized = -11828,
	FormatUnsupported = -11864,
	IncompatibleAsset = -11848,
	InvalidCompositionTrackSegmentDuration = -11825,
	InvalidCompositionTrackSegmentSourceDuration = -11827,
	InvalidCompositionTrackSegmentSourceStartTime = -11826,
	InvalidOutputURLPathExtension = -11843,
	InvalidSourceMedia = -11822,
	InvalidVideoComposition = -11841,
	MalformedDepth = -11865,
	MaximumDurationReached = -11810,
	MaximumFileSizeReached = -11811,
	MaximumNumberOfSamplesForFileFormatReached = -11813,
	MaximumStillImageCaptureRequestsExceeded = -11830,
	MediaChanged = -11809,
	MediaDiscontinuity = -11812,
	MediaServicesWereReset = -11819,
	NoCompatibleAlternatesForExternalDisplay = -11868,
	NoDataCaptured = -11805,
	NoImageAtTime = -11832,
	NoLongerPlayable = -11867,
	NoSourceTrack = -11869,
	OperationInterrupted = -11847,
	OperationNotAllowed = -11862,
	OperationNotSupportedForAsset = -11838,
	OutOfMemory = -11801,
	RecordingAlreadyInProgress = -11859,
	ReferenceForbiddenByReferencePolicy = -11842,
	ScreenCaptureFailed = -11844,
	ServerIncorrectlyConfigured = -11850,
	SessionConfigurationChanged = -11806,
	SessionNotRunning = -11803,
	SessionWasInterrupted = -11818,
	TorchLevelUnavailable = -11846,
	UndecodableMediaData = -11855,
	Unknown = -11800,
	UnsupportedOutputSettings = -11861,
	VideoCompositorFailed = -11858,
}

New Type: AVFoundation.AVErrorKeys

public static class AVErrorKeys {
	// properties
	public static Foundation.NSString Device { get; }
	public static Foundation.NSString ErrorDomain { get; }
	public static Foundation.NSString FileSize { get; }
	public static Foundation.NSString FileType { get; }
	public static Foundation.NSString MediaSubType { get; }
	public static Foundation.NSString MediaType { get; }
	public static Foundation.NSString PersistentTrackID { get; }
	public static Foundation.NSString Pid { get; }
	public static Foundation.NSString PresentationTimeStamp { get; }
	public static Foundation.NSString RecordingSuccessfullyFinished { get; }
	public static Foundation.NSString Time { get; }
}

New Type: AVFoundation.AVFileTypes

[Serializable]
public enum AVFileTypes {
	AC3 = 13,
	Aifc = 8,
	Aiff = 7,
	Amr = 9,
	AppleM4V = 2,
	AppleM4a = 4,
	Avci = 18,
	CoreAudioFormat = 5,
	Dng = 16,
	EnhancedAC3 = 14,
	Heic = 17,
	Heif = 19,
	Jpeg = 15,
	Mpeg4 = 1,
	MpegLayer3 = 11,
	QuickTimeMovie = 0,
	SunAU = 12,
	ThreeGpp = 3,
	ThreeGpp2 = 10,
	Tiff = 20,
	Wave = 6,
}

New Type: AVFoundation.AVFileTypesExtensions

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

New Type: AVFoundation.AVFragmentedAsset

public class AVFragmentedAsset : AVFoundation.AVUrlAsset, 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.AVFragmentedMovie

public class AVFragmentedMovie : AVFoundation.AVMovie, IAVFragmentMinding, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVFragmentedMovie (Foundation.NSObjectFlag t);
	protected AVFragmentedMovie (IntPtr handle);
	public AVFragmentedMovie (Foundation.NSData data, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	public AVFragmentedMovie (Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ContainsMovieFragmentsDidChangeNotification { get; }
	public static Foundation.NSString DurationDidChangeNotification { get; }
	public virtual AVFragmentedMovieTrack[] Tracks { get; }
	public static Foundation.NSString WasDefragmentedNotification { get; }
	// methods
	public virtual bool IsAssociatedWithFragmentMinder ();

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveContainsMovieFragmentsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveContainsMovieFragmentsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveDurationDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveDurationDidChange (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);
	}
}

New Type: AVFoundation.AVFragmentedMovieMinder

public class AVFragmentedMovieMinder : AVFoundation.AVFragmentedAssetMinder, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVFragmentedMovieMinder ();
	protected AVFragmentedMovieMinder (Foundation.NSObjectFlag t);
	protected AVFragmentedMovieMinder (IntPtr handle);
	public AVFragmentedMovieMinder (AVFragmentedMovie movie, double mindingInterval);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double MindingInterval { get; set; }
	public virtual AVFragmentedMovie[] Movies { get; }
	// methods
	public virtual void Add (AVFragmentedMovie movie);
	public static AVFragmentedMovieMinder FromMovie (AVFragmentedMovie movie, double mindingInterval);
	public virtual void Remove (AVFragmentedMovie movie);
}

New Type: AVFoundation.AVFragmentedMovieTrack

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

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveSegmentsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveSegmentsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveTimeRangeDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveTimeRangeDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: AVFoundation.AVFragmentedMovie_AVFragmentedMovieTrackInspection

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

New Type: AVFoundation.AVKeyValueStatus

[Serializable]
public enum AVKeyValueStatus {
	Cancelled = 4,
	Failed = 3,
	Loaded = 2,
	Loading = 1,
	Unknown = 0,
}

New Type: AVFoundation.AVMediaCharacteristics

[Serializable]
public enum AVMediaCharacteristics {
	Audible = 1,
	ContainsOnlyForcedSubtitles = 7,
	DescribesMusicAndSoundForAccessibility = 9,
	DescribesVideoForAccessibility = 10,
	DubbedTranslation = 13,
	EasyToRead = 11,
	FrameBased = 3,
	IsAuxiliaryContent = 6,
	IsMainProgramContent = 5,
	IsOriginalContent = 15,
	LanguageTranslation = 12,
	Legible = 2,
	TranscribesSpokenDialogForAccessibility = 8,
	UsesWideGamutColorSpace = 4,
	Visual = 0,
	VoiceOverTranslation = 14,
}

New Type: AVFoundation.AVMediaCharacteristicsExtensions

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

New Type: AVFoundation.AVMediaDataStorage

public class AVMediaDataStorage : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVMediaDataStorage (Foundation.NSObjectFlag t);
	protected AVMediaDataStorage (IntPtr handle);
	public AVMediaDataStorage (Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl URL { get; }
}

New Type: AVFoundation.AVMediaSelection

public class AVMediaSelection : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMediaSelection ();
	protected AVMediaSelection (Foundation.NSObjectFlag t);
	protected AVMediaSelection (IntPtr handle);
	// properties
	public virtual AVAsset Asset { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual bool CriteriaCanBeAppliedAutomaticallyToMediaSelectionGroup (AVMediaSelectionGroup mediaSelectionGroup);
	protected override void Dispose (bool disposing);
	public virtual AVMediaSelectionOption GetSelectedMediaOption (AVMediaSelectionGroup mediaSelectionGroup);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVMediaSelectionGroup

public class AVMediaSelectionGroup : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMediaSelectionGroup ();
	protected AVMediaSelectionGroup (Foundation.NSObjectFlag t);
	protected AVMediaSelectionGroup (IntPtr handle);
	// properties
	public virtual bool AllowsEmptySelection { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVMediaSelectionOption DefaultOption { get; }
	public virtual AVMediaSelectionOption[] Options { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual AVMediaSelectionOption GetMediaSelectionOptionForPropertyList (Foundation.NSObject propertyList);
	public static AVMediaSelectionOption[] MediaSelectionOptions (AVMediaSelectionOption[] source, Foundation.NSLocale locale);
	public static AVMediaSelectionOption[] MediaSelectionOptions (AVMediaSelectionOption[] source, Foundation.NSString[] avmediaCharacteristics);
	public static AVMediaSelectionOption[] MediaSelectionOptionsExcludingCharacteristics (AVMediaSelectionOption[] source, Foundation.NSString[] avmediaCharacteristics);
	public static AVMediaSelectionOption[] MediaSelectionOptionsFilteredAndSorted (AVMediaSelectionOption[] mediaSelectionOptions, string[] preferredLanguages);
	public static AVMediaSelectionOption[] PlayableMediaSelectionOptions (AVMediaSelectionOption[] source);
}

New Type: AVFoundation.AVMediaSelectionOption

public class AVMediaSelectionOption : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMediaSelectionOption ();
	protected AVMediaSelectionOption (Foundation.NSObjectFlag t);
	protected AVMediaSelectionOption (IntPtr handle);
	// properties
	public virtual string[] AvailableMetadataFormats { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVMetadataItem[] CommonMetadata { get; }
	public virtual string DisplayName { get; }
	public virtual string ExtendedLanguageTag { get; }
	public virtual Foundation.NSLocale Locale { get; }
	public virtual Foundation.NSNumber[] MediaSubTypes { get; }
	public virtual string MediaType { get; }
	public virtual bool Playable { get; }
	public virtual Foundation.NSObject PropertyList { get; }
	// methods
	public virtual AVMediaSelectionOption AssociatedMediaSelectionOptionInMediaSelectionGroup (AVMediaSelectionGroup mediaSelectionGroup);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual string GetDisplayName (Foundation.NSLocale locale);
	public virtual AVMetadataItem[] GetMetadataForFormat (string format);
	public virtual bool HasMediaCharacteristic (string mediaCharacteristic);
}

New Type: AVFoundation.AVMediaTypes

[Serializable]
public enum AVMediaTypes {
	Audio = 1,
	ClosedCaption = 3,
	DepthData = 10,
	Metadata = 9,
	MetadataObject = 8,
	Muxed = 7,
	Subtitle = 4,
	Text = 2,
	Timecode = 5,
	TimedMetadata = 6,
	Video = 0,
}

New Type: AVFoundation.AVMediaTypesExtensions

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

New Type: AVFoundation.AVMetadata

public static class AVMetadata {
	// properties
	public static Foundation.NSString CommonKeyAlbumName { get; }
	public static Foundation.NSString CommonKeyArtist { get; }
	public static Foundation.NSString CommonKeyArtwork { get; }
	public static Foundation.NSString CommonKeyAuthor { get; }
	public static Foundation.NSString CommonKeyContributor { get; }
	public static Foundation.NSString CommonKeyCopyrights { get; }
	public static Foundation.NSString CommonKeyCreationDate { get; }
	public static Foundation.NSString CommonKeyCreator { get; }
	public static Foundation.NSString CommonKeyDescription { get; }
	public static Foundation.NSString CommonKeyFormat { get; }
	public static Foundation.NSString CommonKeyIdentifier { get; }
	public static Foundation.NSString CommonKeyLanguage { get; }
	public static Foundation.NSString CommonKeyLastModifiedDate { get; }
	public static Foundation.NSString CommonKeyLocation { get; }
	public static Foundation.NSString CommonKeyMake { get; }
	public static Foundation.NSString CommonKeyModel { get; }
	public static Foundation.NSString CommonKeyPublisher { get; }
	public static Foundation.NSString CommonKeyRelation { get; }
	public static Foundation.NSString CommonKeySoftware { get; }
	public static Foundation.NSString CommonKeySource { get; }
	public static Foundation.NSString CommonKeySubject { get; }
	public static Foundation.NSString CommonKeyTitle { get; }
	public static Foundation.NSString CommonKeyType { get; }
	public static Foundation.NSString FormatHlsMetadata { get; }
	public static Foundation.NSString FormatID3Metadata { get; }
	public static Foundation.NSString FormatQuickTimeMetadata { get; }
	public static Foundation.NSString FormatQuickTimeUserData { get; }
	public static Foundation.NSString FormatiTunesMetadata { get; }
	public static Foundation.NSString ID3MetadataKeyAlbumSortOrder { get; }
	public static Foundation.NSString ID3MetadataKeyAlbumTitle { get; }
	public static Foundation.NSString ID3MetadataKeyAttachedPicture { get; }
	public static Foundation.NSString ID3MetadataKeyAudioEncryption { get; }
	public static Foundation.NSString ID3MetadataKeyAudioSeekPointIndex { get; }
	public static Foundation.NSString ID3MetadataKeyBand { get; }
	public static Foundation.NSString ID3MetadataKeyBeatsPerMinute { get; }
	public static Foundation.NSString ID3MetadataKeyComments { get; }
	public static Foundation.NSString ID3MetadataKeyCommercial { get; }
	public static Foundation.NSString ID3MetadataKeyCommercialInformation { get; }
	public static Foundation.NSString ID3MetadataKeyCommerical { get; }
	public static Foundation.NSString ID3MetadataKeyComposer { get; }
	public static Foundation.NSString ID3MetadataKeyConductor { get; }
	public static Foundation.NSString ID3MetadataKeyContentGroupDescription { get; }
	public static Foundation.NSString ID3MetadataKeyContentType { get; }
	public static Foundation.NSString ID3MetadataKeyCopyright { get; }
	public static Foundation.NSString ID3MetadataKeyCopyrightInformation { get; }
	public static Foundation.NSString ID3MetadataKeyDate { get; }
	public static Foundation.NSString ID3MetadataKeyEncodedBy { get; }
	public static Foundation.NSString ID3MetadataKeyEncodedWith { get; }
	public static Foundation.NSString ID3MetadataKeyEncodingTime { get; }
	public static Foundation.NSString ID3MetadataKeyEncryption { get; }
	public static Foundation.NSString ID3MetadataKeyEqualization { get; }
	public static Foundation.NSString ID3MetadataKeyEqualization2 { get; }
	public static Foundation.NSString ID3MetadataKeyEventTimingCodes { get; }
	public static Foundation.NSString ID3MetadataKeyFileOwner { get; }
	public static Foundation.NSString ID3MetadataKeyFileType { get; }
	public static Foundation.NSString ID3MetadataKeyGeneralEncapsulatedObject { get; }
	public static Foundation.NSString ID3MetadataKeyGroupIdentifier { get; }
	public static Foundation.NSString ID3MetadataKeyInitialKey { get; }
	public static Foundation.NSString ID3MetadataKeyInternationalStandardRecordingCode { get; }
	public static Foundation.NSString ID3MetadataKeyInternetRadioStationName { get; }
	public static Foundation.NSString ID3MetadataKeyInternetRadioStationOwner { get; }
	public static Foundation.NSString ID3MetadataKeyInvolvedPeopleList { get; }
	public static Foundation.NSString ID3MetadataKeyInvolvedPeopleList_v24 { get; }
	public static Foundation.NSString ID3MetadataKeyLanguage { get; }
	public static Foundation.NSString ID3MetadataKeyLeadPerformer { get; }
	public static Foundation.NSString ID3MetadataKeyLength { get; }
	public static Foundation.NSString ID3MetadataKeyLink { get; }
	public static Foundation.NSString ID3MetadataKeyLyricist { get; }
	public static Foundation.NSString ID3MetadataKeyMPEGLocationLookupTable { get; }
	public static Foundation.NSString ID3MetadataKeyMediaType { get; }
	public static Foundation.NSString ID3MetadataKeyModifiedBy { get; }
	public static Foundation.NSString ID3MetadataKeyMood { get; }
	public static Foundation.NSString ID3MetadataKeyMusicCDIdentifier { get; }
	public static Foundation.NSString ID3MetadataKeyMusicianCreditsList { get; }
	public static Foundation.NSString ID3MetadataKeyOfficialArtistWebpage { get; }
	public static Foundation.NSString ID3MetadataKeyOfficialAudioFileWebpage { get; }
	public static Foundation.NSString ID3MetadataKeyOfficialAudioSourceWebpage { get; }
	public static Foundation.NSString ID3MetadataKeyOfficialInternetRadioStationHomepage { get; }
	public static Foundation.NSString ID3MetadataKeyOfficialPublisherWebpage { get; }
	public static Foundation.NSString ID3MetadataKeyOriginalAlbumTitle { get; }
	public static Foundation.NSString ID3MetadataKeyOriginalArtist { get; }
	public static Foundation.NSString ID3MetadataKeyOriginalFilename { get; }
	public static Foundation.NSString ID3MetadataKeyOriginalLyricist { get; }
	public static Foundation.NSString ID3MetadataKeyOriginalReleaseTime { get; }
	public static Foundation.NSString ID3MetadataKeyOriginalReleaseYear { get; }
	public static Foundation.NSString ID3MetadataKeyOwnership { get; }
	public static Foundation.NSString ID3MetadataKeyPartOfASet { get; }
	public static Foundation.NSString ID3MetadataKeyPayment { get; }
	public static Foundation.NSString ID3MetadataKeyPerformerSortOrder { get; }
	public static Foundation.NSString ID3MetadataKeyPlayCounter { get; }
	public static Foundation.NSString ID3MetadataKeyPlaylistDelay { get; }
	public static Foundation.NSString ID3MetadataKeyPopularimeter { get; }
	public static Foundation.NSString ID3MetadataKeyPositionSynchronization { get; }
	public static Foundation.NSString ID3MetadataKeyPrivate { get; }
	public static Foundation.NSString ID3MetadataKeyProducedNotice { get; }
	public static Foundation.NSString ID3MetadataKeyPublisher { get; }
	public static Foundation.NSString ID3MetadataKeyRecommendedBufferSize { get; }
	public static Foundation.NSString ID3MetadataKeyRecordingDates { get; }
	public static Foundation.NSString ID3MetadataKeyRecordingTime { get; }
	public static Foundation.NSString ID3MetadataKeyRelativeVolumeAdjustment { get; }
	public static Foundation.NSString ID3MetadataKeyRelativeVolumeAdjustment2 { get; }
	public static Foundation.NSString ID3MetadataKeyReleaseTime { get; }
	public static Foundation.NSString ID3MetadataKeyReverb { get; }
	public static Foundation.NSString ID3MetadataKeySeek { get; }
	public static Foundation.NSString ID3MetadataKeySetSubtitle { get; }
	public static Foundation.NSString ID3MetadataKeySignature { get; }
	public static Foundation.NSString ID3MetadataKeySize { get; }
	public static Foundation.NSString ID3MetadataKeySubTitle { get; }
	public static Foundation.NSString ID3MetadataKeySynchronizedLyric { get; }
	public static Foundation.NSString ID3MetadataKeySynchronizedTempoCodes { get; }
	public static Foundation.NSString ID3MetadataKeyTaggingTime { get; }
	public static Foundation.NSString ID3MetadataKeyTermsOfUse { get; }
	public static Foundation.NSString ID3MetadataKeyTime { get; }
	public static Foundation.NSString ID3MetadataKeyTitleDescription { get; }
	public static Foundation.NSString ID3MetadataKeyTitleSortOrder { get; }
	public static Foundation.NSString ID3MetadataKeyTrackNumber { get; }
	public static Foundation.NSString ID3MetadataKeyUniqueFileIdentifier { get; }
	public static Foundation.NSString ID3MetadataKeyUnsynchronizedLyric { get; }
	public static Foundation.NSString ID3MetadataKeyUserText { get; }
	public static Foundation.NSString ID3MetadataKeyUserURL { get; }
	public static Foundation.NSString ID3MetadataKeyYear { get; }
	public static Foundation.NSString ISOUserDataKeyCopyright { get; }
	public static Foundation.NSString IcyMetadataKeyStreamTitle { get; }
	public static Foundation.NSString IcyMetadataKeyStreamUrl { get; }
	public static Foundation.NSString IsoUserDataKeyDate { get; }
	public static Foundation.NSString IsoUserDataKeyTaggedCharacteristic { get; }
	public static Foundation.NSString K3GPUserDataKeyAlbumAndTrack { get; }
	public static Foundation.NSString K3GPUserDataKeyAuthor { get; }
	public static Foundation.NSString K3GPUserDataKeyCollection { get; }
	public static Foundation.NSString K3GPUserDataKeyCopyright { get; }
	public static Foundation.NSString K3GPUserDataKeyDescription { get; }
	public static Foundation.NSString K3GPUserDataKeyGenre { get; }
	public static Foundation.NSString K3GPUserDataKeyKeywordList { get; }
	public static Foundation.NSString K3GPUserDataKeyLocation { get; }
	public static Foundation.NSString K3GPUserDataKeyMediaClassification { get; }
	public static Foundation.NSString K3GPUserDataKeyMediaRating { get; }
	public static Foundation.NSString K3GPUserDataKeyPerformer { get; }
	public static Foundation.NSString K3GPUserDataKeyRecordingYear { get; }
	public static Foundation.NSString K3GPUserDataKeyThumbnail { get; }
	public static Foundation.NSString K3GPUserDataKeyTitle { get; }
	public static Foundation.NSString K3GPUserDataKeyUserRating { get; }
	public static Foundation.NSString KFormatISOUserData { get; }
	public static Foundation.NSString KKeySpaceISOUserData { get; }
	public static Foundation.NSString KeySpaceAudioFile { get; }
	public static Foundation.NSString KeySpaceCommon { get; }
	public static Foundation.NSString KeySpaceHlsDateRange { get; }
	public static Foundation.NSString KeySpaceID3 { get; }
	public static Foundation.NSString KeySpaceIcy { get; }
	public static Foundation.NSString KeySpaceQuickTimeMetadata { get; }
	public static Foundation.NSString KeySpaceQuickTimeUserData { get; }
	public static Foundation.NSString KeySpaceiTunes { get; }
	public static Foundation.NSString QuickTimeMetadataKeyAlbum { get; }
	public static Foundation.NSString QuickTimeMetadataKeyArranger { get; }
	public static Foundation.NSString QuickTimeMetadataKeyArtist { get; }
	public static Foundation.NSString QuickTimeMetadataKeyArtwork { get; }
	public static Foundation.NSString QuickTimeMetadataKeyAuthor { get; }
	public static Foundation.NSString QuickTimeMetadataKeyCameraFrameReadoutTime { get; }
	public static Foundation.NSString QuickTimeMetadataKeyCameraIdentifier { get; }
	public static Foundation.NSString QuickTimeMetadataKeyCollectionUser { get; }
	public static Foundation.NSString QuickTimeMetadataKeyComment { get; }
	public static Foundation.NSString QuickTimeMetadataKeyComposer { get; }
	public static Foundation.NSString QuickTimeMetadataKeyContentIdentifier { get; }
	public static Foundation.NSString QuickTimeMetadataKeyCopyright { get; }
	public static Foundation.NSString QuickTimeMetadataKeyCreationDate { get; }
	public static Foundation.NSString QuickTimeMetadataKeyCredits { get; }
	public static Foundation.NSString QuickTimeMetadataKeyDescription { get; }
	public static Foundation.NSString QuickTimeMetadataKeyDirectionFacing { get; }
	public static Foundation.NSString QuickTimeMetadataKeyDirectionMotion { get; }
	public static Foundation.NSString QuickTimeMetadataKeyDirector { get; }
	public static Foundation.NSString QuickTimeMetadataKeyDisplayName { get; }
	public static Foundation.NSString QuickTimeMetadataKeyEncodedBy { get; }
	public static Foundation.NSString QuickTimeMetadataKeyGenre { get; }
	public static Foundation.NSString QuickTimeMetadataKeyInformation { get; }
	public static Foundation.NSString QuickTimeMetadataKeyKeywords { get; }
	public static Foundation.NSString QuickTimeMetadataKeyLocationBody { get; }
	public static Foundation.NSString QuickTimeMetadataKeyLocationDate { get; }
	public static Foundation.NSString QuickTimeMetadataKeyLocationISO6709 { get; }
	public static Foundation.NSString QuickTimeMetadataKeyLocationName { get; }
	public static Foundation.NSString QuickTimeMetadataKeyLocationNote { get; }
	public static Foundation.NSString QuickTimeMetadataKeyLocationRole { get; }
	public static Foundation.NSString QuickTimeMetadataKeyMake { get; }
	public static Foundation.NSString QuickTimeMetadataKeyModel { get; }
	public static Foundation.NSString QuickTimeMetadataKeyOriginalArtist { get; }
	public static Foundation.NSString QuickTimeMetadataKeyPerformer { get; }
	public static Foundation.NSString QuickTimeMetadataKeyPhonogramRights { get; }
	public static Foundation.NSString QuickTimeMetadataKeyProducer { get; }
	public static Foundation.NSString QuickTimeMetadataKeyPublisher { get; }
	public static Foundation.NSString QuickTimeMetadataKeyRatingUser { get; }
	public static Foundation.NSString QuickTimeMetadataKeySoftware { get; }
	public static Foundation.NSString QuickTimeMetadataKeyTitle { get; }
	public static Foundation.NSString QuickTimeMetadataKeyYear { get; }
	public static Foundation.NSString QuickTimeMetadataKeyiXML { get; }
	public static Foundation.NSString QuickTimeUserDataKeyAlbum { get; }
	public static Foundation.NSString QuickTimeUserDataKeyArranger { get; }
	public static Foundation.NSString QuickTimeUserDataKeyArtist { get; }
	public static Foundation.NSString QuickTimeUserDataKeyAuthor { get; }
	public static Foundation.NSString QuickTimeUserDataKeyChapter { get; }
	public static Foundation.NSString QuickTimeUserDataKeyComment { get; }
	public static Foundation.NSString QuickTimeUserDataKeyComposer { get; }
	public static Foundation.NSString QuickTimeUserDataKeyCopyright { get; }
	public static Foundation.NSString QuickTimeUserDataKeyCreationDate { get; }
	public static Foundation.NSString QuickTimeUserDataKeyCredits { get; }
	public static Foundation.NSString QuickTimeUserDataKeyDescription { get; }
	public static Foundation.NSString QuickTimeUserDataKeyDirector { get; }
	public static Foundation.NSString QuickTimeUserDataKeyDisclaimer { get; }
	public static Foundation.NSString QuickTimeUserDataKeyEncodedBy { get; }
	public static Foundation.NSString QuickTimeUserDataKeyFullName { get; }
	public static Foundation.NSString QuickTimeUserDataKeyGenre { get; }
	public static Foundation.NSString QuickTimeUserDataKeyHostComputer { get; }
	public static Foundation.NSString QuickTimeUserDataKeyInformation { get; }
	public static Foundation.NSString QuickTimeUserDataKeyKeywords { get; }
	public static Foundation.NSString QuickTimeUserDataKeyLocationISO6709 { get; }
	public static Foundation.NSString QuickTimeUserDataKeyMake { get; }
	public static Foundation.NSString QuickTimeUserDataKeyModel { get; }
	public static Foundation.NSString QuickTimeUserDataKeyOriginalArtist { get; }
	public static Foundation.NSString QuickTimeUserDataKeyOriginalFormat { get; }
	public static Foundation.NSString QuickTimeUserDataKeyOriginalSource { get; }
	public static Foundation.NSString QuickTimeUserDataKeyPerformers { get; }
	public static Foundation.NSString QuickTimeUserDataKeyPhonogramRights { get; }
	public static Foundation.NSString QuickTimeUserDataKeyProducer { get; }
	public static Foundation.NSString QuickTimeUserDataKeyProduct { get; }
	public static Foundation.NSString QuickTimeUserDataKeyPublisher { get; }
	public static Foundation.NSString QuickTimeUserDataKeySoftware { get; }
	public static Foundation.NSString QuickTimeUserDataKeySpecialPlaybackRequirements { get; }
	public static Foundation.NSString QuickTimeUserDataKeyTaggedCharacteristic { get; }
	public static Foundation.NSString QuickTimeUserDataKeyTrack { get; }
	public static Foundation.NSString QuickTimeUserDataKeyTrackName { get; }
	public static Foundation.NSString QuickTimeUserDataKeyURLLink { get; }
	public static Foundation.NSString QuickTimeUserDataKeyWarning { get; }
	public static Foundation.NSString QuickTimeUserDataKeyWriter { get; }
	public static Foundation.NSString iTunesMetadataKeyAccountKind { get; }
	public static Foundation.NSString iTunesMetadataKeyAcknowledgement { get; }
	public static Foundation.NSString iTunesMetadataKeyAlbum { get; }
	public static Foundation.NSString iTunesMetadataKeyAlbumArtist { get; }
	public static Foundation.NSString iTunesMetadataKeyAppleID { get; }
	public static Foundation.NSString iTunesMetadataKeyArranger { get; }
	public static Foundation.NSString iTunesMetadataKeyArtDirector { get; }
	public static Foundation.NSString iTunesMetadataKeyArtist { get; }
	public static Foundation.NSString iTunesMetadataKeyArtistID { get; }
	public static Foundation.NSString iTunesMetadataKeyAuthor { get; }
	public static Foundation.NSString iTunesMetadataKeyBeatsPerMin { get; }
	public static Foundation.NSString iTunesMetadataKeyComposer { get; }
	public static Foundation.NSString iTunesMetadataKeyConductor { get; }
	public static Foundation.NSString iTunesMetadataKeyContentRating { get; }
	public static Foundation.NSString iTunesMetadataKeyCopyright { get; }
	public static Foundation.NSString iTunesMetadataKeyCoverArt { get; }
	public static Foundation.NSString iTunesMetadataKeyCredits { get; }
	public static Foundation.NSString iTunesMetadataKeyDescription { get; }
	public static Foundation.NSString iTunesMetadataKeyDirector { get; }
	public static Foundation.NSString iTunesMetadataKeyDiscCompilation { get; }
	public static Foundation.NSString iTunesMetadataKeyDiscNumber { get; }
	public static Foundation.NSString iTunesMetadataKeyEQ { get; }
	public static Foundation.NSString iTunesMetadataKeyEncodedBy { get; }
	public static Foundation.NSString iTunesMetadataKeyEncodingTool { get; }
	public static Foundation.NSString iTunesMetadataKeyExecProducer { get; }
	public static Foundation.NSString iTunesMetadataKeyGenreID { get; }
	public static Foundation.NSString iTunesMetadataKeyGrouping { get; }
	public static Foundation.NSString iTunesMetadataKeyLinerNotes { get; }
	public static Foundation.NSString iTunesMetadataKeyLyrics { get; }
	public static Foundation.NSString iTunesMetadataKeyOnlineExtras { get; }
	public static Foundation.NSString iTunesMetadataKeyOriginalArtist { get; }
	public static Foundation.NSString iTunesMetadataKeyPerformer { get; }
	public static Foundation.NSString iTunesMetadataKeyPhonogramRights { get; }
	public static Foundation.NSString iTunesMetadataKeyPlaylistID { get; }
	public static Foundation.NSString iTunesMetadataKeyPredefinedGenre { get; }
	public static Foundation.NSString iTunesMetadataKeyProducer { get; }
	public static Foundation.NSString iTunesMetadataKeyPublisher { get; }
	public static Foundation.NSString iTunesMetadataKeyRecordCompany { get; }
	public static Foundation.NSString iTunesMetadataKeyReleaseDate { get; }
	public static Foundation.NSString iTunesMetadataKeySoloist { get; }
	public static Foundation.NSString iTunesMetadataKeySongID { get; }
	public static Foundation.NSString iTunesMetadataKeySongName { get; }
	public static Foundation.NSString iTunesMetadataKeySoundEngineer { get; }
	public static Foundation.NSString iTunesMetadataKeyThanks { get; }
	public static Foundation.NSString iTunesMetadataKeyTrackNumber { get; }
	public static Foundation.NSString iTunesMetadataKeyTrackSubTitle { get; }
	public static Foundation.NSString iTunesMetadataKeyUserComment { get; }
	public static Foundation.NSString iTunesMetadataKeyUserGenre { get; }
}

New Type: AVFoundation.AVMetadataExtraAttribute

public static class AVMetadataExtraAttribute {
	// properties
	public static Foundation.NSString BaseUriKey { get; }
	public static Foundation.NSString InfoKey { get; }
	public static Foundation.NSString ValueUriKey { get; }
}

New Type: AVFoundation.AVMetadataFormat

[Serializable]
public enum AVMetadataFormat {
	FormatHlsMetadata = 0,
	FormatID3Metadata = 2,
	FormatISOUserData = 3,
	FormatQuickTimeUserData = 4,
	FormatiTunesMetadata = 1,
	Unknown = 5,
}

New Type: AVFoundation.AVMetadataFormatExtensions

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

New Type: AVFoundation.AVMetadataGroup

public class AVMetadataGroup : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMetadataGroup ();
	protected AVMetadataGroup (Foundation.NSObjectFlag t);
	protected AVMetadataGroup (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ClassifyingLabel { get; }
	public virtual AVMetadataItem[] Items { get; }
	public virtual string UniqueID { get; }
}

New Type: AVFoundation.AVMetadataItem

public class AVMetadataItem : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMetadataItem ();
	protected AVMetadataItem (Foundation.NSObjectFlag t);
	protected AVMetadataItem (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string CommonKey { get; }
	public virtual Foundation.NSString DataType { get; set; }
	public virtual Foundation.NSData DataValue { get; }
	public virtual Foundation.NSDate DateValue { get; }
	public virtual CoreMedia.CMTime Duration { get; set; }
	public virtual string ExtendedLanguageTag { get; set; }
	public virtual Foundation.NSDictionary ExtraAttributes { get; set; }
	public virtual Foundation.NSObject Key { get; }
	public virtual string KeySpace { get; set; }
	public virtual Foundation.NSLocale Locale { get; set; }
	public virtual Foundation.NSString MetadataIdentifier { get; set; }
	public virtual Foundation.NSNumber NumberValue { get; }
	public virtual Foundation.NSDate StartDate { get; set; }
	public virtual string StringValue { get; }
	public virtual CoreMedia.CMTime Time { get; set; }
	public virtual Foundation.NSObject Value { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static AVMetadataItem[] FilterFromPreferredLanguages (AVMetadataItem[] metadataItems, string[] preferredLanguages);
	public static AVMetadataItem[] FilterWithIdentifier (AVMetadataItem[] metadataItems, Foundation.NSString metadataIdentifer);
	public static AVMetadataItem[] FilterWithKey (AVMetadataItem[] metadataItems, Foundation.NSObject key, string keySpace);
	public static AVMetadataItem[] FilterWithLocale (AVMetadataItem[] arrayToFilter, Foundation.NSLocale locale);
	public static Foundation.NSObject GetKeyForIdentifier (Foundation.NSString identifier);
	public static Foundation.NSString GetKeySpaceForIdentifier (Foundation.NSString identifier);
	public static Foundation.NSString GetMetadataIdentifier (Foundation.NSObject key, Foundation.NSString keySpace);
	public static AVMetadataItem GetMetadataItem (AVMetadataItem metadataItem, System.Action<AVMetadataItemValueRequest> handler);
	public virtual void LoadValuesAsynchronously (string[] keys, System.Action handler);
	public virtual System.Threading.Tasks.Task LoadValuesTaskAsync (string[] keys);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
	public virtual AVKeyValueStatus StatusOfValueForKeyerror (string key, out Foundation.NSError error);
}

New Type: AVFoundation.AVMetadataItemValueRequest

public class AVMetadataItemValueRequest : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMetadataItemValueRequest ();
	protected AVMetadataItemValueRequest (Foundation.NSObjectFlag t);
	protected AVMetadataItemValueRequest (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVMetadataItem MetadataItem { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void Respond (Foundation.NSError error);
	public virtual void Respond (Foundation.NSObject value);
}

New Type: AVFoundation.AVMovie

public class AVMovie : AVFoundation.AVAsset, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVMovie (Foundation.NSObjectFlag t);
	protected AVMovie (IntPtr handle);
	public AVMovie (Foundation.NSData data, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	public AVMovie (Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	// properties
	public virtual bool CanContainMovieFragments { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool ContainsMovieFragments { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual AVMediaDataStorage DefaultMediaDataStorage { get; }
	public static string[] MovieTypes { get; }
	public static Foundation.NSString ReferenceRestrictionsKey { get; }
	public virtual AVMovieTrack[] Tracks { get; }
	public virtual Foundation.NSUrl URL { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static AVMovie FromData (Foundation.NSData data, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	public static AVMovie FromUrl (Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVMovieTrack

public class AVMovieTrack : AVFoundation.AVAssetTrack, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVMovieTrack (Foundation.NSObjectFlag t);
	protected AVMovieTrack (IntPtr handle);
	// properties
	public virtual nint AlternateGroupID { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVMediaDataStorage MediaDataStorage { get; }
	public virtual CoreMedia.CMTimeRange MediaDecodeTimeRange { get; }
	public virtual CoreMedia.CMTimeRange MediaPresentationTimeRange { get; }
}

New Type: AVFoundation.AVMovieWritingOptions

[Serializable]
public enum AVMovieWritingOptions {
	AddMovieHeaderToDestination = 0,
	TruncateDestinationToMovieHeaderOnly = 1,
}

New Type: AVFoundation.AVMovie_AVMovieMovieHeaderSupport

public static class AVMovie_AVMovieMovieHeaderSupport {
	// methods
	public static Foundation.NSData GetMovieHeader (this AVMovie This, string fileType, out Foundation.NSError outError);
	public static bool IsCompatibleWithFileType (this AVMovie This, string fileType);
	public static bool WriteMovieHeader (this AVMovie This, Foundation.NSUrl URL, string fileType, AVMovieWritingOptions options, out Foundation.NSError outError);
}

New Type: AVFoundation.AVMovie_AVMovieTrackInspection

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

New Type: AVFoundation.AVMutableAudioMix

public class AVMutableAudioMix : AVFoundation.AVAudioMix, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableAudioMix ();
	protected AVMutableAudioMix (Foundation.NSObjectFlag t);
	protected AVMutableAudioMix (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVAudioMixInputParameters[] InputParameters { get; set; }
	// methods
	public static AVMutableAudioMix Create ();
}

New Type: AVFoundation.AVMutableAudioMixInputParameters

public class AVMutableAudioMixInputParameters : AVFoundation.AVAudioMixInputParameters, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableAudioMixInputParameters ();
	protected AVMutableAudioMixInputParameters (Foundation.NSObjectFlag t);
	protected AVMutableAudioMixInputParameters (IntPtr handle);
	// properties
	public override Foundation.NSString AudioTimePitchAlgorithm { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual int TrackID { get; set; }
	// methods
	public static AVMutableAudioMixInputParameters Create ();
	public static AVMutableAudioMixInputParameters FromTrack (AVAssetTrack track);
	public virtual void SetVolume (float volume, CoreMedia.CMTime atTime);
	public virtual void SetVolumeRamp (float startVolume, float endVolume, CoreMedia.CMTimeRange timeRange);
}

New Type: AVFoundation.AVMutableComposition

public class AVMutableComposition : AVFoundation.AVComposition, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableComposition ();
	protected AVMutableComposition (Foundation.NSObjectFlag t);
	protected AVMutableComposition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public override CoreGraphics.CGSize NaturalSize { get; set; }
	// methods
	public virtual AVMutableCompositionTrack AddMutableTrack (string mediaType, int preferredTrackId);
	public static AVMutableComposition Create ();
	public virtual AVMutableCompositionTrack CreateMutableTrack (AVAssetTrack referenceTrack);
	public static AVMutableComposition FromOptions (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> urlAssetInitializationOptions);
	public virtual void InserEmptyTimeRange (CoreMedia.CMTimeRange timeRange);
	public virtual bool Insert (CoreMedia.CMTimeRange insertTimeRange, AVAsset sourceAsset, CoreMedia.CMTime atTime, out Foundation.NSError error);
	public virtual void RemoveTimeRange (CoreMedia.CMTimeRange timeRange);
	public virtual void RemoveTrack (AVCompositionTrack track);
	public virtual void ScaleTimeRange (CoreMedia.CMTimeRange timeRange, CoreMedia.CMTime duration);
}

New Type: AVFoundation.AVMutableCompositionTrack

public class AVMutableCompositionTrack : AVFoundation.AVCompositionTrack, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVMutableCompositionTrack (Foundation.NSObjectFlag t);
	protected AVMutableCompositionTrack (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ExtendedLanguageTag { get; set; }
	public virtual string LanguageCode { get; set; }
	public virtual int NaturalTimeScale { get; set; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; set; }
	public virtual float PreferredVolume { get; set; }
	public virtual AVCompositionTrackSegment[] Segments { get; set; }
	// methods
	public virtual void AddTrackAssociation (AVCompositionTrack compositionTrack, string trackAssociationType);
	public virtual void InsertEmptyTimeRange (CoreMedia.CMTimeRange timeRange);
	public virtual bool InsertTimeRange (CoreMedia.CMTimeRange timeRange, AVAssetTrack ofTrack, CoreMedia.CMTime atTime, out Foundation.NSError error);
	public virtual bool InsertTimeRanges (Foundation.NSValue[] cmTimeRanges, AVAssetTrack[] tracks, CoreMedia.CMTime startTime, out Foundation.NSError error);
	public virtual void RemoveTimeRange (CoreMedia.CMTimeRange timeRange);
	public virtual void RemoveTrackAssociation (AVCompositionTrack compositionTrack, string trackAssociationType);
	public virtual void ReplaceFormatDescription (CoreMedia.CMFormatDescription originalFormatDescription, CoreMedia.CMFormatDescription replacementFormatDescription);
	public virtual void ScaleTimeRange (CoreMedia.CMTimeRange timeRange, CoreMedia.CMTime duration);
	public virtual bool ValidateTrackSegments (AVCompositionTrackSegment[] trackSegments, out Foundation.NSError error);
}

New Type: AVFoundation.AVMutableComposition_AVMutableCompositionTrackInspection

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

New Type: AVFoundation.AVMutableDateRangeMetadataGroup

public class AVMutableDateRangeMetadataGroup : AVFoundation.AVDateRangeMetadataGroup, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableDateRangeMetadataGroup ();
	protected AVMutableDateRangeMetadataGroup (Foundation.NSObjectFlag t);
	protected AVMutableDateRangeMetadataGroup (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public override Foundation.NSDate EndDate { get; set; }
	public override AVMetadataItem[] Items { get; set; }
	public override Foundation.NSDate StartDate { get; set; }
}

New Type: AVFoundation.AVMutableMediaSelection

public class AVMutableMediaSelection : AVFoundation.AVMediaSelection, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableMediaSelection ();
	protected AVMutableMediaSelection (Foundation.NSObjectFlag t);
	protected AVMutableMediaSelection (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SelectMediaOption (AVMediaSelectionOption mediaSelectionOption, AVMediaSelectionGroup mediaSelectionGroup);
}

New Type: AVFoundation.AVMutableMetadataItem

public class AVMutableMetadataItem : AVFoundation.AVMetadataItem, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableMetadataItem ();
	protected AVMutableMetadataItem (Foundation.NSObjectFlag t);
	protected AVMutableMetadataItem (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public override Foundation.NSString DataType { get; set; }
	public override CoreMedia.CMTime Duration { get; set; }
	public override string ExtendedLanguageTag { get; set; }
	public override Foundation.NSDictionary ExtraAttributes { get; set; }
	public virtual Foundation.NSObject Key { get; set; }
	public override string KeySpace { get; set; }
	public override Foundation.NSLocale Locale { get; set; }
	public override Foundation.NSString MetadataIdentifier { get; set; }
	public override Foundation.NSDate StartDate { get; set; }
	public override CoreMedia.CMTime Time { get; set; }
	public override Foundation.NSObject Value { get; set; }
	// methods
	public static AVMutableMetadataItem Create ();
}

New Type: AVFoundation.AVMutableMovie

public class AVMutableMovie : AVFoundation.AVMovie, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableMovie ();
	protected AVMutableMovie (Foundation.NSObjectFlag t);
	protected AVMutableMovie (IntPtr handle);
	public AVMutableMovie (AVMovie movie, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError outError);
	public AVMutableMovie (Foundation.NSData data, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError outError);
	public AVMutableMovie (Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError outError);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVMediaDataStorage DefaultMediaDataStorage { get; set; }
	public virtual CoreMedia.CMTime InterleavingPeriod { get; set; }
	public virtual AVMetadataItem[] Metadata { get; set; }
	public virtual bool Modified { get; set; }
	public virtual float PreferredRate { get; set; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; set; }
	public virtual float PreferredVolume { get; set; }
	public virtual int Timescale { get; set; }
	public virtual AVMutableMovieTrack[] Tracks { get; }
	// methods
	public static AVMutableMovie FromData (Foundation.NSData data, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError outError);
	public static AVMutableMovie FromMovie (AVMovie movie, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError outError);
	public static AVMutableMovie FromUrl (Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError outError);
}

New Type: AVFoundation.AVMutableMovieTrack

public class AVMutableMovieTrack : AVFoundation.AVMovieTrack, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVMutableMovieTrack (Foundation.NSObjectFlag t);
	protected AVMutableMovieTrack (IntPtr handle);
	// properties
	public virtual nint AlternateGroupID { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGSize CleanApertureDimensions { get; set; }
	public virtual bool Enabled { get; set; }
	public virtual CoreGraphics.CGSize EncodedPixelsDimensions { get; set; }
	public virtual string ExtendedLanguageTag { get; set; }
	public virtual bool HasProtectedContent { get; }
	public virtual string LanguageCode { get; set; }
	public virtual nint Layer { get; set; }
	public virtual AVMediaDataStorage MediaDataStorage { get; set; }
	public virtual AVMetadataItem[] Metadata { get; set; }
	public virtual bool Modified { get; set; }
	public virtual CoreGraphics.CGSize NaturalSize { get; set; }
	public virtual nint PreferredMediaChunkAlignment { get; set; }
	public virtual CoreMedia.CMTime PreferredMediaChunkDuration { get; set; }
	public virtual nint PreferredMediaChunkSize { get; set; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; set; }
	public virtual float PreferredVolume { get; set; }
	public virtual CoreGraphics.CGSize ProductionApertureDimensions { get; set; }
	public virtual Foundation.NSUrl SampleReferenceBaseURL { get; set; }
	public virtual int Timescale { get; set; }
	// methods
	public virtual bool AppendSampleBuffer (CoreMedia.CMSampleBuffer sampleBuffer, out CoreMedia.CMTime outDecodeTime, out CoreMedia.CMTime presentationTime, out Foundation.NSError error);
	public virtual bool InsertMediaTimeRange (CoreMedia.CMTimeRange mediaTimeRange, CoreMedia.CMTimeRange trackTimeRange);
	public virtual void ReplaceFormatDescription (CoreMedia.CMFormatDescription formatDescription, CoreMedia.CMFormatDescription newFormatDescription);
}

New Type: AVFoundation.AVMutableMovieTrack_AVMutableMovieTrackTrackAssociations

public static class AVMutableMovieTrack_AVMutableMovieTrackTrackAssociations {
	// methods
	public static void AddTrackAssociation (this AVMutableMovieTrack This, AVMovieTrack movieTrack, string trackAssociationType);
	public static void RemoveTrackAssociation (this AVMutableMovieTrack This, AVMovieTrack movieTrack, string trackAssociationType);
}

New Type: AVFoundation.AVMutableMovieTrack_AVMutableMovieTrack_TrackLevelEditing

public static class AVMutableMovieTrack_AVMutableMovieTrack_TrackLevelEditing {
	// methods
	public static void InsertEmptyTimeRange (this AVMutableMovieTrack This, CoreMedia.CMTimeRange timeRange);
	public static bool InsertTimeRange (this AVMutableMovieTrack This, CoreMedia.CMTimeRange timeRange, AVAssetTrack track, CoreMedia.CMTime startTime, bool copySampleData, out Foundation.NSError outError);
	public static void RemoveTimeRange (this AVMutableMovieTrack This, CoreMedia.CMTimeRange timeRange);
	public static void ScaleTimeRange (this AVMutableMovieTrack This, CoreMedia.CMTimeRange timeRange, CoreMedia.CMTime duration);
}

New Type: AVFoundation.AVMutableMovie_AVMutableMovieMovieLevelEditing

public static class AVMutableMovie_AVMutableMovieMovieLevelEditing {
	// methods
	public static void InsertEmptyTimeRange (this AVMutableMovie This, CoreMedia.CMTimeRange timeRange);
	public static bool InsertTimeRange (this AVMutableMovie This, CoreMedia.CMTimeRange timeRange, AVAsset asset, CoreMedia.CMTime startTime, bool copySampleData, out Foundation.NSError outError);
	public static void RemoveTimeRange (this AVMutableMovie This, CoreMedia.CMTimeRange timeRange);
	public static void ScaleTimeRange (this AVMutableMovie This, CoreMedia.CMTimeRange timeRange, CoreMedia.CMTime duration);
}

New Type: AVFoundation.AVMutableMovie_AVMutableMovieTrackInspection

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

New Type: AVFoundation.AVMutableMovie_AVMutableMovieTrackLevelEditing

public static class AVMutableMovie_AVMutableMovieTrackLevelEditing {
	// methods
	public static AVMutableMovieTrack AddMutableTrack (this AVMutableMovie This, string mediaType, AVAssetTrack track, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	public static AVMutableMovieTrack[] AddMutableTracks (this AVMutableMovie This, AVAssetTrack[] existingTracks, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	public static AVMutableMovieTrack GetMutableTrack (this AVMutableMovie This, AVAssetTrack track);
	public static void RemoveTrack (this AVMutableMovie This, AVMovieTrack track);
}

New Type: AVFoundation.AVMutableTimedMetadataGroup

public class AVMutableTimedMetadataGroup : AVFoundation.AVTimedMetadataGroup, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableTimedMetadataGroup ();
	protected AVMutableTimedMetadataGroup (Foundation.NSObjectFlag t);
	protected AVMutableTimedMetadataGroup (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public override AVMetadataItem[] Items { get; set; }
	public override CoreMedia.CMTimeRange TimeRange { get; set; }
}

New Type: AVFoundation.AVPlayer

public class AVPlayer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayer ();
	public AVPlayer (AVPlayerItem item);
	protected AVPlayer (Foundation.NSObjectFlag t);
	public AVPlayer (Foundation.NSUrl URL);
	protected AVPlayer (IntPtr handle);
	// properties
	public virtual AVPlayerActionAtItemEnd ActionAtItemEnd { get; set; }
	public virtual bool AirPlayVideoActive { get; }
	public virtual bool AllowsAirPlayVideo { get; set; }
	public virtual bool AllowsExternalPlayback { get; set; }
	public virtual bool AppliesMediaSelectionCriteriaAutomatically { get; set; }
	public virtual bool AutomaticallyWaitsToMinimizeStalling { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual bool ClosedCaptionDisplayEnabled { get; set; }
	public virtual AVPlayerItem CurrentItem { get; }
	public virtual CoreMedia.CMTime CurrentTime { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual bool ExternalPlaybackActive { get; }
	public virtual CoreMedia.CMClock MasterClock { get; set; }
	public virtual bool Muted { get; set; }
	public virtual bool OutputObscuredDueToInsufficientExternalProtection { get; }
	public virtual float Rate { get; set; }
	public virtual string ReasonForWaitingToPlay { get; }
	public virtual AVPlayerStatus Status { get; }
	public virtual AVPlayerTimeControlStatus TimeControlStatus { get; }
	public virtual bool UsesAirPlayVideoWhileAirPlayScreenIsActive { get; set; }
	public virtual bool UsesExternalPlaybackWhileExternalScreenIsActive { get; set; }
	public virtual float Volume { get; set; }
	public static Foundation.NSString WaitingToMinimizeStallsReason { get; }
	public static Foundation.NSString WaitingWhileEvaluatingBufferingRateReason { get; }
	public static Foundation.NSString WaitingWithNoItemToPlayReason { get; }
	protected virtual Foundation.NSString WeakExternalPlaybackVideoGravity { get; set; }
	// methods
	public virtual Foundation.NSObject AddBoundaryTimeObserver (Foundation.NSValue[] times, CoreFoundation.DispatchQueue queue, System.Action handler);
	public virtual Foundation.NSObject AddPeriodicTimeObserver (CoreMedia.CMTime interval, CoreFoundation.DispatchQueue queue, System.Action<CoreMedia.CMTime> handler);
	public virtual void CancelPendingPrerolls ();
	public static AVPlayer FromPlayerItem (AVPlayerItem item);
	public static AVPlayer FromUrl (Foundation.NSUrl URL);
	public virtual AVPlayerMediaSelectionCriteria MediaSelectionCriteriaForMediaCharacteristic (Foundation.NSString avMediaCharacteristic);
	public virtual void Pause ();
	public virtual void Play ();
	public virtual void PlayImmediatelyAtRate (float rate);
	public virtual void Preroll (float rate, AVCompletion onComplete);
	public virtual System.Threading.Tasks.Task<bool> PrerollAsync (float rate);
	public virtual void RemoveTimeObserver (Foundation.NSObject observer);
	public virtual void ReplaceCurrentItemWithPlayerItem (AVPlayerItem item);
	public virtual void Seek (CoreMedia.CMTime toTime);
	public virtual void Seek (Foundation.NSDate date);
	public virtual void Seek (CoreMedia.CMTime time, AVCompletion completion);
	public virtual void Seek (Foundation.NSDate date, AVCompletion onComplete);
	public virtual void Seek (CoreMedia.CMTime toTime, CoreMedia.CMTime toleranceBefore, CoreMedia.CMTime toleranceAfter);
	public virtual void Seek (CoreMedia.CMTime time, CoreMedia.CMTime toleranceBefore, CoreMedia.CMTime toleranceAfter, AVCompletion completion);
	public virtual System.Threading.Tasks.Task<bool> SeekAsync (CoreMedia.CMTime time);
	public virtual System.Threading.Tasks.Task<bool> SeekAsync (Foundation.NSDate date);
	public virtual System.Threading.Tasks.Task<bool> SeekAsync (CoreMedia.CMTime time, CoreMedia.CMTime toleranceBefore, CoreMedia.CMTime toleranceAfter);
	public virtual void SetMediaSelectionCriteria (AVPlayerMediaSelectionCriteria criteria, Foundation.NSString avMediaCharacteristic);
	public virtual void SetRate (float rate, CoreMedia.CMTime itemTime, CoreMedia.CMTime hostClockTime);
}

New Type: AVFoundation.AVPlayerActionAtItemEnd

[Serializable]
public enum AVPlayerActionAtItemEnd {
	Advance = 0,
	None = 2,
	Pause = 1,
}

New Type: AVFoundation.AVPlayerItem

public class AVPlayerItem : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItem (AVAsset asset);
	protected AVPlayerItem (Foundation.NSObjectFlag t);
	public AVPlayerItem (Foundation.NSUrl URL);
	protected AVPlayerItem (IntPtr handle);
	public AVPlayerItem (AVAsset asset, Foundation.NSString[] automaticallyLoadedAssetKeys);
	// properties
	public virtual AVPlayerItemAccessLog AccessLog { get; }
	public virtual AVAsset Asset { get; }
	public virtual AVAudioMix AudioMix { get; set; }
	public virtual Foundation.NSString AudioTimePitchAlgorithm { get; set; }
	public virtual Foundation.NSString[] AutomaticallyLoadedAssetKeys { get; }
	public virtual bool AutomaticallyPreservesTimeOffsetFromLive { get; set; }
	public virtual bool CanPlayFastForward { get; }
	public virtual bool CanPlayFastReverse { get; }
	public virtual bool CanPlayReverse { get; }
	public virtual bool CanPlaySlowForward { get; }
	public virtual bool CanPlaySlowReverse { get; }
	public virtual bool CanStepBackward { get; }
	public virtual bool CanStepForward { get; }
	public virtual bool CanUseNetworkResourcesForLiveStreamingWhilePaused { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CoreMedia.CMTime ConfiguredTimeOffsetFromLive { get; set; }
	public virtual Foundation.NSDate CurrentDate { get; }
	public virtual AVMediaSelection CurrentMediaSelection { get; }
	public virtual CoreMedia.CMTime CurrentTime { get; }
	public static Foundation.NSString DidPlayToEndTimeNotification { get; }
	public virtual CoreMedia.CMTime Duration { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual AVPlayerItemErrorLog ErrorLog { get; }
	public virtual CoreMedia.CMTime ForwardPlaybackEndTime { get; set; }
	public static Foundation.NSString ItemFailedToPlayToEndTimeErrorKey { get; }
	public static Foundation.NSString ItemFailedToPlayToEndTimeNotification { get; }
	public virtual Foundation.NSValue[] LoadedTimeRanges { get; }
	public virtual AVPlayerItemMediaDataCollector[] MediaDataCollectors { get; }
	public static Foundation.NSString MediaSelectionDidChangeNotification { get; }
	public static Foundation.NSString NewAccessLogEntryNotification { get; }
	public static Foundation.NSString NewErrorLogEntryNotification { get; }
	public virtual AVPlayerItemOutput[] Outputs { get; }
	public virtual bool PlaybackBufferEmpty { get; }
	public virtual bool PlaybackBufferFull { get; }
	public virtual bool PlaybackLikelyToKeepUp { get; }
	public static Foundation.NSString PlaybackStalledNotification { get; }
	public virtual double PreferredForwardBufferDuration { get; set; }
	public virtual CoreGraphics.CGSize PreferredMaximumResolution { get; set; }
	public virtual double PreferredPeakBitRate { get; set; }
	public virtual CoreGraphics.CGSize PresentationSize { get; }
	public virtual CoreMedia.CMTime RecommendedTimeOffsetFromLive { get; }
	public static Foundation.NSString RecommendedTimeOffsetFromLiveDidChangeNotification { get; }
	public virtual CoreMedia.CMTime ReversePlaybackEndTime { get; set; }
	public virtual Foundation.NSValue[] SeekableTimeRanges { get; }
	public virtual bool SeekingWaitsForVideoCompositionRendering { get; set; }
	public virtual AVPlayerItemStatus Status { get; }
	public static Foundation.NSString TimeJumpedNotification { get; }
	public virtual CoreMedia.CMTimebase Timebase { get; }
	public virtual AVPlayerItemTrack[] Tracks { get; }
	// methods
	public virtual void AddMediaDataCollector (AVPlayerItemMediaDataCollector collector);
	public virtual void AddOutput (AVPlayerItemOutput output);
	public virtual void CancelPendingSeeks ();
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static AVPlayerItem FromAsset (AVAsset asset);
	public static AVPlayerItem FromAsset (AVAsset asset, Foundation.NSString[] automaticallyLoadedAssetKeys);
	public static AVPlayerItem FromUrl (Foundation.NSUrl URL);
	public virtual void RemoveMediaDataCollector (AVPlayerItemMediaDataCollector collector);
	public virtual void RemoveOutput (AVPlayerItemOutput output);
	public virtual void Seek (CoreMedia.CMTime time);
	public virtual bool Seek (Foundation.NSDate date);
	public virtual void Seek (CoreMedia.CMTime time, AVCompletion completion);
	public virtual bool Seek (Foundation.NSDate date, AVCompletion completion);
	public virtual void Seek (CoreMedia.CMTime time, CoreMedia.CMTime toleranceBefore, CoreMedia.CMTime toleranceAfter);
	public virtual void Seek (CoreMedia.CMTime time, CoreMedia.CMTime toleranceBefore, CoreMedia.CMTime toleranceAfter, AVCompletion completion);
	public virtual System.Threading.Tasks.Task<bool> SeekAsync (CoreMedia.CMTime time);
	public virtual System.Threading.Tasks.Task<bool> SeekAsync (Foundation.NSDate date);
	public virtual System.Threading.Tasks.Task<bool> SeekAsync (Foundation.NSDate date, out bool result);
	public virtual System.Threading.Tasks.Task<bool> SeekAsync (CoreMedia.CMTime time, CoreMedia.CMTime toleranceBefore, CoreMedia.CMTime toleranceAfter);
	public virtual void SelectMediaOption (AVMediaSelectionOption mediaSelectionOption, AVMediaSelectionGroup mediaSelectionGroup);
	public virtual void SelectMediaOptionAutomaticallyInMediaSelectionGroup (AVMediaSelectionGroup mediaSelectionGroup);
	public virtual AVMediaSelectionOption SelectedMediaOption (AVMediaSelectionGroup inMediaSelectionGroup);
	public virtual void StepByCount (nint stepCount);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveDidPlayToEndTime (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveDidPlayToEndTime (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveItemFailedToPlayToEndTime (System.EventHandler<AVPlayerItemErrorEventArgs> handler);
		public static Foundation.NSObject ObserveItemFailedToPlayToEndTime (Foundation.NSObject objectToObserve, System.EventHandler<AVPlayerItemErrorEventArgs> handler);
		public static Foundation.NSObject ObserveMediaSelectionDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveMediaSelectionDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveNewAccessLogEntry (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveNewAccessLogEntry (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveNewErrorLogEntry (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveNewErrorLogEntry (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObservePlaybackStalled (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObservePlaybackStalled (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveRecommendedTimeOffsetFromLiveDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveRecommendedTimeOffsetFromLiveDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveTimeJumped (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveTimeJumped (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: AVFoundation.AVPlayerItemAccessLog

public class AVPlayerItemAccessLog : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemAccessLog ();
	protected AVPlayerItemAccessLog (Foundation.NSObjectFlag t);
	protected AVPlayerItemAccessLog (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVPlayerItemAccessLogEvent[] Events { get; }
	public virtual Foundation.NSData ExtendedLogData { get; }
	public virtual Foundation.NSStringEncoding ExtendedLogDataStringEncoding { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVPlayerItemAccessLogEvent

public class AVPlayerItemAccessLogEvent : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemAccessLogEvent ();
	protected AVPlayerItemAccessLogEvent (Foundation.NSObjectFlag t);
	protected AVPlayerItemAccessLogEvent (IntPtr handle);
	// properties
	public virtual double AverageAudioBitrate { get; }
	public virtual double AverageVideoBitrate { get; }
	public virtual long BytesTransferred { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nint DownloadOverdue { get; }
	public virtual nint DroppedVideoFrameCount { get; }
	public virtual double DurationWatched { get; }
	public virtual double IndicatedAverageBitrate { get; }
	public virtual double IndicatedBitrate { get; }
	public virtual nint MediaRequestsWWAN { get; }
	public virtual nint NumberOfMediaRequests { get; }
	public virtual double ObservedBitrate { get; }
	public virtual double ObservedBitrateStandardDeviation { get; }
	public virtual double ObservedMaxBitrate { get; }
	public virtual double ObservedMinBitrate { get; }
	public virtual string PlaybackSessionID { get; }
	public virtual Foundation.NSData PlaybackStartDate { get; }
	public virtual double PlaybackStartOffset { get; }
	public virtual string PlaybackType { get; }
	public virtual nint SegmentedDownloadedCount { get; }
	public virtual double SegmentsDownloadedDuration { get; }
	public virtual string ServerAddress { get; }
	public virtual nint ServerAddressChangeCount { get; }
	public virtual nint StallCount { get; }
	public virtual double StartupTime { get; }
	public virtual double SwitchBitrate { get; }
	public virtual double TransferDuration { get; }
	public virtual string Uri { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVPlayerItemErrorEventArgs

public class AVPlayerItemErrorEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public AVPlayerItemErrorEventArgs (Foundation.NSNotification notification);
	// properties
	public Foundation.NSError Error { get; }
}

New Type: AVFoundation.AVPlayerItemErrorLog

public class AVPlayerItemErrorLog : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemErrorLog ();
	protected AVPlayerItemErrorLog (Foundation.NSObjectFlag t);
	protected AVPlayerItemErrorLog (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVPlayerItemErrorLogEvent[] Events { get; }
	public virtual Foundation.NSData ExtendedLogData { get; }
	public virtual Foundation.NSStringEncoding ExtendedLogDataStringEncoding { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVPlayerItemErrorLogEvent

public class AVPlayerItemErrorLogEvent : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemErrorLogEvent ();
	protected AVPlayerItemErrorLogEvent (Foundation.NSObjectFlag t);
	protected AVPlayerItemErrorLogEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual string ErrorComment { get; }
	public virtual string ErrorDomain { get; }
	public virtual nint ErrorStatusCode { get; }
	public virtual string PlaybackSessionID { get; }
	public virtual string ServerAddress { get; }
	public virtual string Uri { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVPlayerItemLegibleOutputPushDelegate

public class AVPlayerItemLegibleOutputPushDelegate : AVFoundation.AVPlayerItemOutputPushDelegate, IAVPlayerItemLegibleOutputPushDelegate, IAVPlayerItemOutputPushDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemLegibleOutputPushDelegate ();
	protected AVPlayerItemLegibleOutputPushDelegate (Foundation.NSObjectFlag t);
	protected AVPlayerItemLegibleOutputPushDelegate (IntPtr handle);
}

New Type: AVFoundation.AVPlayerItemMediaDataCollector

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

New Type: AVFoundation.AVPlayerItemMetadataCollector

public class AVPlayerItemMetadataCollector : AVFoundation.AVPlayerItemMediaDataCollector, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlayerItemMetadataCollector (Foundation.NSObjectFlag t);
	protected AVPlayerItemMetadataCollector (IntPtr handle);
	public AVPlayerItemMetadataCollector (string[] identifiers, string[] classifyingLabels);
	// properties
	public override IntPtr ClassHandle { get; }
	public IAVPlayerItemMetadataCollectorPushDelegate Delegate { get; }
	public virtual CoreFoundation.DispatchQueue DelegateQueue { get; }
	public virtual Foundation.NSObject WeakDelegate { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void SetDelegate (IAVPlayerItemMetadataCollectorPushDelegate pushDelegate, CoreFoundation.DispatchQueue delegateQueue);
}

New Type: AVFoundation.AVPlayerItemMetadataCollectorPushDelegate

public abstract class AVPlayerItemMetadataCollectorPushDelegate : Foundation.NSObject, IAVPlayerItemMetadataCollectorPushDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlayerItemMetadataCollectorPushDelegate ();
	protected AVPlayerItemMetadataCollectorPushDelegate (Foundation.NSObjectFlag t);
	protected AVPlayerItemMetadataCollectorPushDelegate (IntPtr handle);
	// methods
	public virtual void DidCollectDateRange (AVPlayerItemMetadataCollector metadataCollector, AVDateRangeMetadataGroup[] metadataGroups, Foundation.NSIndexSet indexesOfNewGroups, Foundation.NSIndexSet indexesOfModifiedGroups);
}

New Type: AVFoundation.AVPlayerItemMetadataOutput

public class AVPlayerItemMetadataOutput : AVFoundation.AVPlayerItemOutput, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemMetadataOutput ();
	protected AVPlayerItemMetadataOutput (Foundation.NSObjectFlag t);
	public AVPlayerItemMetadataOutput (Foundation.NSString[] metadataIdentifiers);
	protected AVPlayerItemMetadataOutput (IntPtr handle);
	// properties
	public virtual double AdvanceIntervalForDelegateInvocation { get; set; }
	public override IntPtr ClassHandle { get; }
	public IAVPlayerItemMetadataOutputPushDelegate Delegate { get; }
	public virtual CoreFoundation.DispatchQueue DelegateQueue { get; }
	public virtual Foundation.NSObject WeakDelegate { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void SetDelegate (IAVPlayerItemMetadataOutputPushDelegate pushDelegate, CoreFoundation.DispatchQueue delegateQueue);
}

New Type: AVFoundation.AVPlayerItemMetadataOutputPushDelegate

public class AVPlayerItemMetadataOutputPushDelegate : Foundation.NSObject, IAVPlayerItemMetadataOutputPushDelegate, IAVPlayerItemOutputPushDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemMetadataOutputPushDelegate ();
	protected AVPlayerItemMetadataOutputPushDelegate (Foundation.NSObjectFlag t);
	protected AVPlayerItemMetadataOutputPushDelegate (IntPtr handle);
	// methods
	public virtual void DidOutputTimedMetadataGroups (AVPlayerItemMetadataOutput output, AVTimedMetadataGroup[] groups, AVPlayerItemTrack track);
	public virtual void OutputSequenceWasFlushed (AVPlayerItemOutput output);
}

New Type: AVFoundation.AVPlayerItemMetadataOutputPushDelegate_Extensions

public static class AVPlayerItemMetadataOutputPushDelegate_Extensions {
	// methods
	public static void DidOutputTimedMetadataGroups (this IAVPlayerItemMetadataOutputPushDelegate This, AVPlayerItemMetadataOutput output, AVTimedMetadataGroup[] groups, AVPlayerItemTrack track);
}

New Type: AVFoundation.AVPlayerItemOutput

public class AVPlayerItemOutput : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlayerItemOutput (Foundation.NSObjectFlag t);
	protected AVPlayerItemOutput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool SuppressesPlayerRendering { get; set; }
	// methods
	public virtual CoreMedia.CMTime GetItemTime (double hostTimeInSeconds);
	public virtual CoreMedia.CMTime GetItemTime (long machAbsoluteTime);
}

New Type: AVFoundation.AVPlayerItemOutputPullDelegate

public class AVPlayerItemOutputPullDelegate : Foundation.NSObject, IAVPlayerItemOutputPullDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemOutputPullDelegate ();
	protected AVPlayerItemOutputPullDelegate (Foundation.NSObjectFlag t);
	protected AVPlayerItemOutputPullDelegate (IntPtr handle);
	// methods
	public virtual void OutputMediaDataWillChange (AVPlayerItemOutput sender);
	public virtual void OutputSequenceWasFlushed (AVPlayerItemOutput output);
}

New Type: AVFoundation.AVPlayerItemOutputPullDelegate_Extensions

public static class AVPlayerItemOutputPullDelegate_Extensions {
	// methods
	public static void OutputMediaDataWillChange (this IAVPlayerItemOutputPullDelegate This, AVPlayerItemOutput sender);
	public static void OutputSequenceWasFlushed (this IAVPlayerItemOutputPullDelegate This, AVPlayerItemOutput output);
}

New Type: AVFoundation.AVPlayerItemOutputPushDelegate

public class AVPlayerItemOutputPushDelegate : Foundation.NSObject, IAVPlayerItemOutputPushDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerItemOutputPushDelegate ();
	protected AVPlayerItemOutputPushDelegate (Foundation.NSObjectFlag t);
	protected AVPlayerItemOutputPushDelegate (IntPtr handle);
	// methods
	public virtual void OutputSequenceWasFlushed (AVPlayerItemOutput output);
}

New Type: AVFoundation.AVPlayerItemOutputPushDelegate_Extensions

public static class AVPlayerItemOutputPushDelegate_Extensions {
	// methods
	public static void OutputSequenceWasFlushed (this IAVPlayerItemOutputPushDelegate This, AVPlayerItemOutput output);
}

New Type: AVFoundation.AVPlayerItemStatus

[Serializable]
public enum AVPlayerItemStatus {
	Failed = 2,
	ReadyToPlay = 1,
	Unknown = 0,
}

New Type: AVFoundation.AVPlayerItemTrack

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

New Type: AVFoundation.AVPlayerLooperStatus

[Serializable]
public enum AVPlayerLooperStatus {
	Cancelled = 3,
	Failed = 2,
	Ready = 1,
	Unknown = 0,
}

New Type: AVFoundation.AVPlayerMediaSelectionCriteria

public class AVPlayerMediaSelectionCriteria : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerMediaSelectionCriteria ();
	protected AVPlayerMediaSelectionCriteria (Foundation.NSObjectFlag t);
	protected AVPlayerMediaSelectionCriteria (IntPtr handle);
	public AVPlayerMediaSelectionCriteria (string[] preferredLanguages, Foundation.NSString[] preferredMediaCharacteristics);
	public AVPlayerMediaSelectionCriteria (AVMediaCharacteristics[] principalMediaCharacteristics, AVMediaCharacteristics[] preferredLanguages, string[] preferredMediaCharacteristics);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string[] PreferredLanguages { get; }
	public virtual Foundation.NSString[] PreferredMediaCharacteristics { get; }
	public virtual AVMediaCharacteristics[] PrincipalMediaCharacteristics { get; }
}

New Type: AVFoundation.AVPlayerStatus

[Serializable]
public enum AVPlayerStatus {
	Failed = 2,
	ReadyToPlay = 1,
	Unknown = 0,
}

New Type: AVFoundation.AVPlayerTimeControlStatus

[Serializable]
public enum AVPlayerTimeControlStatus {
	Paused = 0,
	Playing = 2,
	WaitingToPlayAtSpecifiedRate = 1,
}

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

public class AVQueuePlayer : AVFoundation.AVPlayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVQueuePlayer ();
	public AVQueuePlayer (AVPlayerItem[] items);
	protected AVQueuePlayer (Foundation.NSObjectFlag t);
	protected AVQueuePlayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVPlayerItem[] Items { get; }
	// methods
	public virtual void AdvanceToNextItem ();
	public virtual bool CanInsert (AVPlayerItem item, AVPlayerItem afterItem);
	public static AVQueuePlayer FromItems (AVPlayerItem[] items);
	public virtual void InsertItem (AVPlayerItem item, AVPlayerItem afterItem);
	public virtual void RemoveAllItems ();
	public virtual void RemoveItem (AVPlayerItem item);
}

New Type: AVFoundation.AVQueuedSampleBufferRenderingStatus

[Serializable]
public enum AVQueuedSampleBufferRenderingStatus {
	Failed = 2,
	Rendering = 1,
	Unknown = 0,
}

New Type: AVFoundation.AVSampleBufferAudioRenderer

public class AVSampleBufferAudioRenderer : Foundation.NSObject, IAVQueuedSampleBufferRendering, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVSampleBufferAudioRenderer ();
	protected AVSampleBufferAudioRenderer (Foundation.NSObjectFlag t);
	protected AVSampleBufferAudioRenderer (IntPtr handle);
	// properties
	public static Foundation.NSString AudioRendererWasFlushedAutomaticallyNotification { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual bool Muted { get; set; }
	public virtual string PitchAlgorithm { get; set; }
	public virtual bool ReadyForMoreMediaData { get; }
	public virtual AVQueuedSampleBufferRenderingStatus Status { get; }
	public virtual CoreMedia.CMTimebase Timebase { get; }
	public virtual float Volume { get; set; }
	// methods
	public virtual void Enqueue (CoreMedia.CMSampleBuffer sampleBuffer);
	public virtual void Flush ();
	public virtual void Flush (CoreMedia.CMTime time, System.Action<bool> completionHandler);
	public virtual System.Threading.Tasks.Task<bool> FlushAsync (CoreMedia.CMTime time);
	public virtual void RequestMediaData (CoreFoundation.DispatchQueue queue, System.Action handler);
	public virtual void StopRequestingMediaData ();

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveAudioRendererWasFlushedAutomatically (System.EventHandler<AudioRendererWasFlushedAutomaticallyEventArgs> handler);
		public static Foundation.NSObject ObserveAudioRendererWasFlushedAutomatically (Foundation.NSObject objectToObserve, System.EventHandler<AudioRendererWasFlushedAutomaticallyEventArgs> handler);
	}
}

New Type: AVFoundation.AVSampleBufferRenderSynchronizer

public class AVSampleBufferRenderSynchronizer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVSampleBufferRenderSynchronizer ();
	protected AVSampleBufferRenderSynchronizer (Foundation.NSObjectFlag t);
	protected AVSampleBufferRenderSynchronizer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreMedia.CMTime CurrentTime { get; }
	public virtual float Rate { get; set; }
	public static Foundation.NSString RateDidChangeNotification { get; }
	public virtual IAVQueuedSampleBufferRendering[] Renderers { get; }
	public virtual CoreMedia.CMTimebase Timebase { get; }
	// methods
	public virtual void Add (IAVQueuedSampleBufferRendering renderer);
	public virtual Foundation.NSObject AddBoundaryTimeObserver (Foundation.NSValue[] times, CoreFoundation.DispatchQueue queue, System.Action handler);
	public virtual Foundation.NSObject AddPeriodicTimeObserver (CoreMedia.CMTime interval, CoreFoundation.DispatchQueue queue, System.Action<CoreMedia.CMTime> handler);
	public virtual void Remove (IAVQueuedSampleBufferRendering renderer, CoreMedia.CMTime time, System.Action<bool> completionHandler);
	public virtual System.Threading.Tasks.Task<bool> RemoveAsync (IAVQueuedSampleBufferRendering renderer, CoreMedia.CMTime time);
	public virtual void RemoveTimeObserver (Foundation.NSObject observer);
	public virtual void SetRate (float rate, CoreMedia.CMTime time);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveRateDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveRateDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: AVFoundation.AVSemanticSegmentationMatte

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

New Type: AVFoundation.AVSemanticSegmentationMatteType

[Serializable]
public enum AVSemanticSegmentationMatteType {
	Hair = 2,
	None = 0,
	Skin = 1,
	Teeth = 3,
}

New Type: AVFoundation.AVSemanticSegmentationMatteTypeExtensions

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

New Type: AVFoundation.AVSpeechSynthesisVoiceGender

[Serializable]
public enum AVSpeechSynthesisVoiceGender {
	Female = 2,
	Male = 1,
	Unspecified = 0,
}

New Type: AVFoundation.AVStreamingKeyDelivery

public static class AVStreamingKeyDelivery {
	// properties
	public static Foundation.NSString ContentKeyType { get; }
	public static Foundation.NSString PersistentContentKeyType { get; }
}

New Type: AVFoundation.AVTimedMetadataGroup

public class AVTimedMetadataGroup : AVFoundation.AVMetadataGroup, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVTimedMetadataGroup ();
	public AVTimedMetadataGroup (CoreMedia.CMSampleBuffer sampleBuffer);
	protected AVTimedMetadataGroup (Foundation.NSObjectFlag t);
	protected AVTimedMetadataGroup (IntPtr handle);
	public AVTimedMetadataGroup (AVMetadataItem[] items, CoreMedia.CMTimeRange timeRange);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVMetadataItem[] Items { get; set; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual CoreMedia.CMFormatDescription CopyFormatDescription ();
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVUrlAsset

public class AVUrlAsset : AVFoundation.AVAsset, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVUrlAsset (Foundation.NSObjectFlag t);
	public AVUrlAsset (Foundation.NSUrl url);
	protected AVUrlAsset (IntPtr handle);
	public AVUrlAsset (Foundation.NSUrl url, AVUrlAssetOptions options);
	public AVUrlAsset (Foundation.NSUrl url, Foundation.NSDictionary options);
	// properties
	public static Foundation.NSString AllowsCellularAccessKey { get; }
	public static Foundation.NSString AllowsConstrainedNetworkAccessKey { get; }
	public static Foundation.NSString AllowsExpensiveNetworkAccessKey { get; }
	public static string[] AudiovisualMimeTypes { get; }
	public static string[] AudiovisualTypes { get; }
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString HttpCookiesKey { get; }
	public static Foundation.NSString PreferPreciseDurationAndTimingKey { get; }
	public virtual Foundation.NSUrl Url { get; }
	// methods
	public virtual AVAssetTrack CompatibleTrack (AVCompositionTrack forCompositionTrack);
	public static AVUrlAsset Create (Foundation.NSUrl url);
	public static AVUrlAsset Create (Foundation.NSUrl url, AVUrlAssetOptions options);
	public static bool IsPlayable (string extendedMimeType);
}

New Type: AVFoundation.AVUrlAssetOptions

public class AVUrlAssetOptions : Foundation.DictionaryContainer {
	// constructors
	public AVUrlAssetOptions ();
	public AVUrlAssetOptions (Foundation.NSDictionary dictionary);
}

New Type: AVFoundation.AVVideoCompositionValidationHandling

public class AVVideoCompositionValidationHandling : Foundation.NSObject, IAVVideoCompositionValidationHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVVideoCompositionValidationHandling (Foundation.NSObjectFlag t);
	protected AVVideoCompositionValidationHandling (IntPtr handle);
}

New Type: AVFoundation.AudioRendererWasFlushedAutomaticallyEventArgs

public class AudioRendererWasFlushedAutomaticallyEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public AudioRendererWasFlushedAutomaticallyEventArgs (Foundation.NSNotification notification);
}

New Type: AVFoundation.IAVAssetResourceLoaderDelegate

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

New Type: AVFoundation.IAVAsynchronousKeyValueLoading

public interface IAVAsynchronousKeyValueLoading : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void LoadValuesAsynchronously (string[] keys, System.Action handler);
	public virtual AVKeyValueStatus StatusOfValueForKeyerror (string key, IntPtr outError);
}

New Type: AVFoundation.IAVFragmentMinding

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

New Type: AVFoundation.IAVPlayerItemLegibleOutputPushDelegate

public interface IAVPlayerItemLegibleOutputPushDelegate : IAVPlayerItemOutputPushDelegate, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: AVFoundation.IAVPlayerItemMetadataCollectorPushDelegate

public interface IAVPlayerItemMetadataCollectorPushDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidCollectDateRange (AVPlayerItemMetadataCollector metadataCollector, AVDateRangeMetadataGroup[] metadataGroups, Foundation.NSIndexSet indexesOfNewGroups, Foundation.NSIndexSet indexesOfModifiedGroups);
}

New Type: AVFoundation.IAVPlayerItemMetadataOutputPushDelegate

public interface IAVPlayerItemMetadataOutputPushDelegate : IAVPlayerItemOutputPushDelegate, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: AVFoundation.IAVPlayerItemOutputPullDelegate

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

New Type: AVFoundation.IAVPlayerItemOutputPushDelegate

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

New Type: AVFoundation.IAVQueuedSampleBufferRendering

public interface IAVQueuedSampleBufferRendering : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool ReadyForMoreMediaData { get; }
	public virtual CoreMedia.CMTimebase Timebase { get; }
	// methods
	public virtual void Enqueue (CoreMedia.CMSampleBuffer sampleBuffer);
	public virtual void Flush ();
	public virtual void RequestMediaData (CoreFoundation.DispatchQueue queue, System.Action handler);
	public virtual void StopRequestingMediaData ();
}

New Type: AVFoundation.IAVVideoCompositionValidationHandling

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

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelBit

Added values:

CenterTopRear = 33554432,
LeftTopRear = 16777216,
RightTopMiddle = 8388608,
RightTopRear = 67108864,

Type Changed: AudioToolbox.AudioChannelLabel

Added values:

CenterTopRear = 53,
LeftTopRear = 52,
RightTopMiddle = 51,
RightTopRear = 54,

Type Changed: AudioToolbox.AudioChannelLayoutTag

Added values:

Atmos_5_1_2 = 12713992,
Atmos_7_1_4 = 12582924,
Atmos_9_1_6 = 12648464,
Wave_2_1 = 8716291,
Wave_3_0 = 7405571,
Wave_4_0_A = 8650756,
Wave_4_0_B = 12124164,
Wave_5_0_A = 7667717,
Wave_5_0_B = 12189701,
Wave_5_1_A = 7929862,
Wave_5_1_B = 12255238,
Wave_6_1 = 12320775,
Wave_7_1 = 12386312,

Type Changed: AudioToolbox.AudioFormatType

Added values:

LatmInLoas = 1819238771,
MpegD_Usac = 1970495843,

New Type: AudioToolbox.AudioFormat

public struct AudioFormat {
	// fields
	public AudioChannelLayoutTag AudioChannelLayoutTag;
	public AudioStreamBasicDescription AudioStreamBasicDescription;
	// methods
	public override string ToString ();
}

Namespace ClockKit

Type Changed: ClockKit.CLKComplicationDataSource

Added method:

public virtual void GetAlwaysOnTemplate (CLKComplication complication, System.Action<CLKComplicationTemplate> handler);

Type Changed: ClockKit.CLKComplicationDataSource_Extensions

Added method:

public static void GetAlwaysOnTemplate (this ICLKComplicationDataSource This, CLKComplication complication, System.Action<CLKComplicationTemplate> handler);

Type Changed: ClockKit.CLKDateTextProvider

Added property:

public virtual bool Uppercase { get; set; }

Type Changed: ClockKit.CLKFullColorImageProvider

Added property:

public virtual CLKImageProvider TintedImageProvider { get; set; }

Added method:

public static CLKFullColorImageProvider Create (UIKit.UIImage image, CLKImageProvider tintedImageProvider);

Type Changed: ClockKit.CLKRelativeDateStyle

Added values:

NaturalFull = 5,
OffsetShort = 4,

Type Changed: ClockKit.CLKSimpleTextProvider

Removed property:

public virtual string AccessibilityLabel { get; set; }

Type Changed: ClockKit.CLKTextProvider

Added property:

public virtual string AccessibilityLabel { get; set; }

New Type: ClockKit.CLKComplicationTemplateGraphicCircularStackImage

public class CLKComplicationTemplateGraphicCircularStackImage : ClockKit.CLKComplicationTemplateGraphicCircular, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CLKComplicationTemplateGraphicCircularStackImage ();
	protected CLKComplicationTemplateGraphicCircularStackImage (Foundation.NSObjectFlag t);
	protected CLKComplicationTemplateGraphicCircularStackImage (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CLKFullColorImageProvider Line1ImageProvider { get; set; }
	public virtual CLKTextProvider Line2TextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCircularStackText

public class CLKComplicationTemplateGraphicCircularStackText : ClockKit.CLKComplicationTemplateGraphicCircular, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CLKComplicationTemplateGraphicCircularStackText ();
	protected CLKComplicationTemplateGraphicCircularStackText (Foundation.NSObjectFlag t);
	protected CLKComplicationTemplateGraphicCircularStackText (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CLKTextProvider Line1TextProvider { get; set; }
	public virtual CLKTextProvider Line2TextProvider { get; set; }
}

Namespace CloudKit

Type Changed: CloudKit.CKDatabase

Added methods:

public virtual void DeleteSubscription (string subscriptionID, CKDatabaseDeleteSubscriptionHandler completionHandler);
public virtual System.Threading.Tasks.Task<string> DeleteSubscriptionAsync (string subscriptionID);
public virtual void FetchAllSubscriptions (System.Action<CKSubscription[],Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<CKSubscription[]> FetchAllSubscriptionsAsync ();
public virtual void FetchSubscription (string subscriptionId, System.Action<CKSubscription,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<CKSubscription> FetchSubscriptionAsync (string subscriptionId);
public virtual void SaveSubscription (CKSubscription subscription, System.Action<CKSubscription,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<CKSubscription> SaveSubscriptionAsync (CKSubscription subscription);

New Type: CloudKit.CKDatabaseDeleteSubscriptionHandler

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

New Type: CloudKit.CKDatabaseSubscription

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

New Type: CloudKit.CKFetchSubscriptionsCompleteHandler

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

New Type: CloudKit.CKFetchSubscriptionsOperation

public class CKFetchSubscriptionsOperation : CloudKit.CKDatabaseOperation, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CKFetchSubscriptionsOperation ();
	protected CKFetchSubscriptionsOperation (Foundation.NSObjectFlag t);
	protected CKFetchSubscriptionsOperation (IntPtr handle);
	public CKFetchSubscriptionsOperation (string[] subscriptionIds);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKFetchSubscriptionsCompleteHandler Completed { get; set; }
	public virtual string[] SubscriptionIds { get; set; }
	// methods
	public static CKFetchSubscriptionsOperation FetchAllSubscriptionsOperation ();
}

New Type: CloudKit.CKModifySubscriptionsHandler

public sealed delegate CKModifySubscriptionsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifySubscriptionsHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKSubscription[] savedSubscriptions, string[] deletedSubscriptionIds, Foundation.NSError operationError, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKSubscription[] savedSubscriptions, string[] deletedSubscriptionIds, Foundation.NSError operationError);
}

New Type: CloudKit.CKModifySubscriptionsOperation

public class CKModifySubscriptionsOperation : CloudKit.CKDatabaseOperation, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CKModifySubscriptionsOperation ();
	protected CKModifySubscriptionsOperation (Foundation.NSObjectFlag t);
	protected CKModifySubscriptionsOperation (IntPtr handle);
	public CKModifySubscriptionsOperation (CKSubscription[] subscriptionsToSave, string[] subscriptionIdsToDelete);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKModifySubscriptionsHandler Completed { get; set; }
	public virtual string[] SubscriptionIdsToDelete { get; set; }
	public virtual CKSubscription[] SubscriptionsToSave { get; set; }
}

New Type: CloudKit.CKNotificationInfo

public class CKNotificationInfo : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CKNotificationInfo ();
	public CKNotificationInfo (Foundation.NSCoder coder);
	protected CKNotificationInfo (Foundation.NSObjectFlag t);
	protected CKNotificationInfo (IntPtr handle);
	// properties
	public virtual string AlertActionLocalizationKey { get; set; }
	public virtual string AlertBody { get; set; }
	public virtual string AlertLaunchImage { get; set; }
	public virtual string[] AlertLocalizationArgs { get; set; }
	public virtual string AlertLocalizationKey { get; set; }
	public virtual string Category { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string CollapseIdKey { get; set; }
	public virtual string[] DesiredKeys { get; set; }
	public virtual bool ShouldBadge { get; set; }
	public virtual bool ShouldSendContentAvailable { get; set; }
	public virtual bool ShouldSendMutableContent { get; set; }
	public virtual string SoundName { get; set; }
	public virtual string Subtitle { get; set; }
	public virtual string[] SubtitleLocalizationArgs { get; set; }
	public virtual string SubtitleLocalizationKey { get; set; }
	public virtual string Title { get; set; }
	public virtual string[] TitleLocalizationArgs { get; set; }
	public virtual string TitleLocalizationKey { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CloudKit.CKQuerySubscription

public class CKQuerySubscription : CloudKit.CKSubscription, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CKQuerySubscription (Foundation.NSCoder coder);
	protected CKQuerySubscription (Foundation.NSObjectFlag t);
	protected CKQuerySubscription (IntPtr handle);
	public CKQuerySubscription (string recordType, Foundation.NSPredicate predicate, CKQuerySubscriptionOptions querySubscriptionOptions);
	public CKQuerySubscription (string recordType, Foundation.NSPredicate predicate, string subscriptionID, CKQuerySubscriptionOptions querySubscriptionOptions);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSPredicate Predicate { get; }
	public virtual string RecordType { get; }
	public virtual CKQuerySubscriptionOptions SubscriptionOptions { get; }
	public virtual CKRecordZoneID ZoneID { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CloudKit.CKQuerySubscriptionOptions

[Serializable]
public enum CKQuerySubscriptionOptions {
	FiresOnce = 8,
	RecordCreation = 1,
	RecordDeletion = 4,
	RecordUpdate = 2,
}

New Type: CloudKit.CKRecordZoneSubscription

public class CKRecordZoneSubscription : CloudKit.CKSubscription, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CKRecordZoneSubscription (CKRecordZoneID zoneID);
	public CKRecordZoneSubscription (Foundation.NSCoder coder);
	protected CKRecordZoneSubscription (Foundation.NSObjectFlag t);
	protected CKRecordZoneSubscription (IntPtr handle);
	public CKRecordZoneSubscription (CKRecordZoneID zoneID, string subscriptionID);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string RecordType { get; set; }
	public virtual CKRecordZoneID ZoneID { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CloudKit.CKSubscription

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

New Type: CloudKit.CKSubscriptionType

[Serializable]
public enum CKSubscriptionType {
	Database = 3,
	Query = 1,
	RecordZone = 2,
}

Namespace Compression

Type Changed: Compression.CompressionStream

Added interface:

System.IAsyncDisposable

Namespace Contacts

Type Changed: Contacts.CNContactFetchRequest

Modified base type:

-Foundation.NSObject
+Contacts.CNFetchRequest

Type Changed: Contacts.CNContactStore

Added property:

public virtual Foundation.NSData CurrentHistoryToken { get; }

Added methods:

public virtual Contacts.CNFetchResult<Foundation.NSEnumerator<CNChangeHistoryEvent>> GetEnumeratorForChangeHistory (CNChangeHistoryFetchRequest request, out Foundation.NSError error);
public virtual Contacts.CNFetchResult<Foundation.NSEnumerator<CNContact>> GetEnumeratorForContact (CNContactFetchRequest request, out Foundation.NSError error);

Type Changed: Contacts.CNErrorCode

Added values:

FeatureDisabledByUser = 103,
ParentContainerNotWritable = 207,
RecordNotWritable = 206,
UnauthorizedKeys = 102,

Type Changed: Contacts.CNLabelContactRelationKey

Added properties:

public static Foundation.NSString Aunt { get; }
public static Foundation.NSString AuntFathersBrothersWife { get; }
public static Foundation.NSString AuntFathersElderBrothersWife { get; }
public static Foundation.NSString AuntFathersElderSister { get; }
public static Foundation.NSString AuntFathersSister { get; }
public static Foundation.NSString AuntFathersYoungerBrothersWife { get; }
public static Foundation.NSString AuntFathersYoungerSister { get; }
public static Foundation.NSString AuntMothersBrothersWife { get; }
public static Foundation.NSString AuntMothersElderSister { get; }
public static Foundation.NSString AuntMothersSister { get; }
public static Foundation.NSString AuntMothersYoungerSister { get; }
public static Foundation.NSString AuntParentsElderSister { get; }
public static Foundation.NSString AuntParentsSister { get; }
public static Foundation.NSString AuntParentsYoungerSister { get; }
public static Foundation.NSString Boyfriend { get; }
public static Foundation.NSString BrotherInLaw { get; }
public static Foundation.NSString BrotherInLawElderSistersHusband { get; }
public static Foundation.NSString BrotherInLawHusbandsBrother { get; }
public static Foundation.NSString BrotherInLawHusbandsSistersHusband { get; }
public static Foundation.NSString BrotherInLawSistersHusband { get; }
public static Foundation.NSString BrotherInLawSpousesBrother { get; }
public static Foundation.NSString BrotherInLawWifesBrother { get; }
public static Foundation.NSString BrotherInLawWifesSistersHusband { get; }
public static Foundation.NSString BrotherInLawYoungerSistersHusband { get; }
public static Foundation.NSString ChildInLaw { get; }
public static Foundation.NSString CoBrotherInLaw { get; }
public static Foundation.NSString CoFatherInLaw { get; }
public static Foundation.NSString CoMotherInLaw { get; }
public static Foundation.NSString CoParentInLaw { get; }
public static Foundation.NSString CoSiblingInLaw { get; }
public static Foundation.NSString CoSisterInLaw { get; }
public static Foundation.NSString Colleague { get; }
public static Foundation.NSString Cousin { get; }
public static Foundation.NSString CousinFathersBrothersDaughter { get; }
public static Foundation.NSString CousinFathersBrothersSon { get; }
public static Foundation.NSString CousinFathersSistersDaughter { get; }
public static Foundation.NSString CousinFathersSistersSon { get; }
public static Foundation.NSString CousinGrandparentsSiblingsChild { get; }
public static Foundation.NSString CousinGrandparentsSiblingsDaughter { get; }
public static Foundation.NSString CousinGrandparentsSiblingsSon { get; }
public static Foundation.NSString CousinMothersBrothersDaughter { get; }
public static Foundation.NSString CousinMothersBrothersSon { get; }
public static Foundation.NSString CousinMothersSistersDaughter { get; }
public static Foundation.NSString CousinMothersSistersSon { get; }
public static Foundation.NSString CousinOrSiblingsChild { get; }
public static Foundation.NSString CousinParentsSiblingsChild { get; }
public static Foundation.NSString CousinParentsSiblingsDaughter { get; }
public static Foundation.NSString CousinParentsSiblingsSon { get; }
public static Foundation.NSString DaughterInLaw { get; }
public static Foundation.NSString DaughterInLawOrSisterInLaw { get; }
public static Foundation.NSString DaughterInLawOrStepdaughter { get; }
public static Foundation.NSString ElderBrother { get; }
public static Foundation.NSString ElderBrotherInLaw { get; }
public static Foundation.NSString ElderCousin { get; }
public static Foundation.NSString ElderCousinFathersBrothersDaughter { get; }
public static Foundation.NSString ElderCousinFathersBrothersSon { get; }
public static Foundation.NSString ElderCousinFathersSistersDaughter { get; }
public static Foundation.NSString ElderCousinFathersSistersSon { get; }
public static Foundation.NSString ElderCousinMothersBrothersDaughter { get; }
public static Foundation.NSString ElderCousinMothersBrothersSon { get; }
public static Foundation.NSString ElderCousinMothersSiblingsDaughterOrFathersSistersDaughter { get; }
public static Foundation.NSString ElderCousinMothersSiblingsSonOrFathersSistersSon { get; }
public static Foundation.NSString ElderCousinMothersSistersDaughter { get; }
public static Foundation.NSString ElderCousinMothersSistersSon { get; }
public static Foundation.NSString ElderCousinParentsSiblingsDaughter { get; }
public static Foundation.NSString ElderCousinParentsSiblingsSon { get; }
public static Foundation.NSString ElderSibling { get; }
public static Foundation.NSString ElderSiblingInLaw { get; }
public static Foundation.NSString ElderSister { get; }
public static Foundation.NSString ElderSisterInLaw { get; }
public static Foundation.NSString EldestBrother { get; }
public static Foundation.NSString EldestSister { get; }
public static Foundation.NSString FatherInLaw { get; }
public static Foundation.NSString FatherInLawHusbandsFather { get; }
public static Foundation.NSString FatherInLawOrStepfather { get; }
public static Foundation.NSString FatherInLawWifesFather { get; }
public static Foundation.NSString FemaleCousin { get; }
public static Foundation.NSString FemaleFriend { get; }
public static Foundation.NSString FemalePartner { get; }
public static Foundation.NSString Girlfriend { get; }
public static Foundation.NSString GirlfriendOrBoyfriend { get; }
public static Foundation.NSString Grandaunt { get; }
public static Foundation.NSString Grandchild { get; }
public static Foundation.NSString GrandchildOrSiblingsChild { get; }
public static Foundation.NSString Granddaughter { get; }
public static Foundation.NSString GranddaughterDaughtersDaughter { get; }
public static Foundation.NSString GranddaughterSonsDaughter { get; }
public static Foundation.NSString Grandfather { get; }
public static Foundation.NSString GrandfatherFathersFather { get; }
public static Foundation.NSString GrandfatherMothersFather { get; }
public static Foundation.NSString Grandmother { get; }
public static Foundation.NSString GrandmotherFathersMother { get; }
public static Foundation.NSString GrandmotherMothersMother { get; }
public static Foundation.NSString Grandnephew { get; }
public static Foundation.NSString GrandnephewBrothersGrandson { get; }
public static Foundation.NSString GrandnephewSistersGrandson { get; }
public static Foundation.NSString Grandniece { get; }
public static Foundation.NSString GrandnieceBrothersGranddaughter { get; }
public static Foundation.NSString GrandnieceSistersGranddaughter { get; }
public static Foundation.NSString Grandparent { get; }
public static Foundation.NSString Grandson { get; }
public static Foundation.NSString GrandsonDaughtersSon { get; }
public static Foundation.NSString GrandsonSonsSon { get; }
public static Foundation.NSString Granduncle { get; }
public static Foundation.NSString GreatGrandchild { get; }
public static Foundation.NSString GreatGrandchildOrSiblingsGrandchild { get; }
public static Foundation.NSString GreatGranddaughter { get; }
public static Foundation.NSString GreatGrandfather { get; }
public static Foundation.NSString GreatGrandmother { get; }
public static Foundation.NSString GreatGrandparent { get; }
public static Foundation.NSString GreatGrandson { get; }
public static Foundation.NSString Husband { get; }
public static Foundation.NSString MaleCousin { get; }
public static Foundation.NSString MaleFriend { get; }
public static Foundation.NSString MalePartner { get; }
public static Foundation.NSString MotherInLaw { get; }
public static Foundation.NSString MotherInLawHusbandsMother { get; }
public static Foundation.NSString MotherInLawOrStepmother { get; }
public static Foundation.NSString MotherInLawWifesMother { get; }
public static Foundation.NSString Nephew { get; }
public static Foundation.NSString NephewBrothersSon { get; }
public static Foundation.NSString NephewBrothersSonOrHusbandsSiblingsSon { get; }
public static Foundation.NSString NephewOrCousin { get; }
public static Foundation.NSString NephewSistersSon { get; }
public static Foundation.NSString NephewSistersSonOrWifesSiblingsSon { get; }
public static Foundation.NSString Niece { get; }
public static Foundation.NSString NieceBrothersDaughter { get; }
public static Foundation.NSString NieceBrothersDaughterOrHusbandsSiblingsDaughter { get; }
public static Foundation.NSString NieceOrCousin { get; }
public static Foundation.NSString NieceSistersDaughter { get; }
public static Foundation.NSString NieceSistersDaughterOrWifesSiblingsDaughter { get; }
public static Foundation.NSString ParentInLaw { get; }
public static Foundation.NSString ParentsElderSibling { get; }
public static Foundation.NSString ParentsSibling { get; }
public static Foundation.NSString ParentsSiblingFathersElderSibling { get; }
public static Foundation.NSString ParentsSiblingFathersSibling { get; }
public static Foundation.NSString ParentsSiblingFathersYoungerSibling { get; }
public static Foundation.NSString ParentsSiblingMothersElderSibling { get; }
public static Foundation.NSString ParentsSiblingMothersSibling { get; }
public static Foundation.NSString ParentsSiblingMothersYoungerSibling { get; }
public static Foundation.NSString ParentsYoungerSibling { get; }
public static Foundation.NSString Sibling { get; }
public static Foundation.NSString SiblingInLaw { get; }
public static Foundation.NSString SiblingsChild { get; }
public static Foundation.NSString SisterInLaw { get; }
public static Foundation.NSString SisterInLawBrothersWife { get; }
public static Foundation.NSString SisterInLawElderBrothersWife { get; }
public static Foundation.NSString SisterInLawHusbandsBrothersWife { get; }
public static Foundation.NSString SisterInLawHusbandsSister { get; }
public static Foundation.NSString SisterInLawSpousesSister { get; }
public static Foundation.NSString SisterInLawWifesBrothersWife { get; }
public static Foundation.NSString SisterInLawWifesSister { get; }
public static Foundation.NSString SisterInLawYoungerBrothersWife { get; }
public static Foundation.NSString SonInLaw { get; }
public static Foundation.NSString SonInLawOrBrotherInLaw { get; }
public static Foundation.NSString SonInLawOrStepson { get; }
public static Foundation.NSString Stepbrother { get; }
public static Foundation.NSString Stepchild { get; }
public static Foundation.NSString Stepdaughter { get; }
public static Foundation.NSString Stepfather { get; }
public static Foundation.NSString Stepmother { get; }
public static Foundation.NSString Stepparent { get; }
public static Foundation.NSString Stepsister { get; }
public static Foundation.NSString Stepson { get; }
public static Foundation.NSString Teacher { get; }
public static Foundation.NSString Uncle { get; }
public static Foundation.NSString UncleFathersBrother { get; }
public static Foundation.NSString UncleFathersElderBrother { get; }
public static Foundation.NSString UncleFathersElderSistersHusband { get; }
public static Foundation.NSString UncleFathersSistersHusband { get; }
public static Foundation.NSString UncleFathersYoungerBrother { get; }
public static Foundation.NSString UncleFathersYoungerSistersHusband { get; }
public static Foundation.NSString UncleMothersBrother { get; }
public static Foundation.NSString UncleMothersElderBrother { get; }
public static Foundation.NSString UncleMothersSistersHusband { get; }
public static Foundation.NSString UncleMothersYoungerBrother { get; }
public static Foundation.NSString UncleParentsBrother { get; }
public static Foundation.NSString UncleParentsElderBrother { get; }
public static Foundation.NSString UncleParentsYoungerBrother { get; }
public static Foundation.NSString Wife { get; }
public static Foundation.NSString YoungerBrother { get; }
public static Foundation.NSString YoungerBrotherInLaw { get; }
public static Foundation.NSString YoungerCousin { get; }
public static Foundation.NSString YoungerCousinFathersBrothersDaughter { get; }
public static Foundation.NSString YoungerCousinFathersBrothersSon { get; }
public static Foundation.NSString YoungerCousinFathersSistersDaughter { get; }
public static Foundation.NSString YoungerCousinFathersSistersSon { get; }
public static Foundation.NSString YoungerCousinMothersBrothersDaughter { get; }
public static Foundation.NSString YoungerCousinMothersBrothersSon { get; }
public static Foundation.NSString YoungerCousinMothersSiblingsDaughterOrFathersSistersDaughter { get; }
public static Foundation.NSString YoungerCousinMothersSiblingsSonOrFathersSistersSon { get; }
public static Foundation.NSString YoungerCousinMothersSistersDaughter { get; }
public static Foundation.NSString YoungerCousinMothersSistersSon { get; }
public static Foundation.NSString YoungerCousinParentsSiblingsDaughter { get; }
public static Foundation.NSString YoungerCousinParentsSiblingsSon { get; }
public static Foundation.NSString YoungerSibling { get; }
public static Foundation.NSString YoungerSiblingInLaw { get; }
public static Foundation.NSString YoungerSister { get; }
public static Foundation.NSString YoungerSisterInLaw { get; }
public static Foundation.NSString YoungestBrother { get; }
public static Foundation.NSString YoungestSister { get; }

Type Changed: Contacts.CNLabelKey

Added property:

public static Foundation.NSString School { get; }

New Type: Contacts.CNChangeHistoryAddContactEvent

public class CNChangeHistoryAddContactEvent : Contacts.CNChangeHistoryEvent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CNChangeHistoryAddContactEvent (Foundation.NSCoder coder);
	protected CNChangeHistoryAddContactEvent (Foundation.NSObjectFlag t);
	protected CNChangeHistoryAddContactEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CNContact Contact { get; }
	public virtual string ContainerIdentifier { get; }
}

New Type: Contacts.CNChangeHistoryAddGroupEvent

public class CNChangeHistoryAddGroupEvent : Contacts.CNChangeHistoryEvent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CNChangeHistoryAddGroupEvent (Foundation.NSCoder coder);
	protected CNChangeHistoryAddGroupEvent (Foundation.NSObjectFlag t);
	protected CNChangeHistoryAddGroupEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ContainerIdentifier { get; }
	public virtual CNGroup Group { get; }
}

New Type: Contacts.CNChangeHistoryAddMemberToGroupEvent

public class CNChangeHistoryAddMemberToGroupEvent : Contacts.CNChangeHistoryEvent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CNChangeHistoryAddMemberToGroupEvent (Foundation.NSCoder coder);
	protected CNChangeHistoryAddMemberToGroupEvent (Foundation.NSObjectFlag t);
	protected CNChangeHistoryAddMemberToGroupEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CNGroup Group { get; }
	public virtual CNContact Member { get; }
}

New Type: Contacts.CNChangeHistoryAddSubgroupToGroupEvent

public class CNChangeHistoryAddSubgroupToGroupEvent : Contacts.CNChangeHistoryEvent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CNChangeHistoryAddSubgroupToGroupEvent (Foundation.NSCoder coder);
	protected CNChangeHistoryAddSubgroupToGroupEvent (Foundation.NSObjectFlag t);
	protected CNChangeHistoryAddSubgroupToGroupEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CNGroup Group { get; }
	public virtual CNGroup Subgroup { get; }
}

New Type: Contacts.CNChangeHistoryDeleteContactEvent

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

New Type: Contacts.CNChangeHistoryDeleteGroupEvent

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

New Type: Contacts.CNChangeHistoryDropEverythingEvent

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

New Type: Contacts.CNChangeHistoryEvent

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

New Type: Contacts.CNChangeHistoryEventVisitor_Extensions

public static class CNChangeHistoryEventVisitor_Extensions {
	// methods
	public static void AddGroup (this ICNChangeHistoryEventVisitor This, CNChangeHistoryAddGroupEvent event);
	public static void AddMemberToGroup (this ICNChangeHistoryEventVisitor This, CNChangeHistoryAddMemberToGroupEvent event);
	public static void AddSubgroupToGroup (this ICNChangeHistoryEventVisitor This, CNChangeHistoryAddSubgroupToGroupEvent event);
	public static void DeleteGroup (this ICNChangeHistoryEventVisitor This, CNChangeHistoryDeleteGroupEvent event);
	public static void RemoveMemberFromGroup (this ICNChangeHistoryEventVisitor This, CNChangeHistoryRemoveMemberFromGroupEvent event);
	public static void RemoveSubgroupFromGroup (this ICNChangeHistoryEventVisitor This, CNChangeHistoryRemoveSubgroupFromGroupEvent event);
	public static void UpdateGroup (this ICNChangeHistoryEventVisitor This, CNChangeHistoryUpdateGroupEvent event);
}

New Type: Contacts.CNChangeHistoryFetchRequest

public class CNChangeHistoryFetchRequest : Contacts.CNFetchRequest, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CNChangeHistoryFetchRequest ();
	public CNChangeHistoryFetchRequest (Foundation.NSCoder coder);
	protected CNChangeHistoryFetchRequest (Foundation.NSObjectFlag t);
	protected CNChangeHistoryFetchRequest (IntPtr handle);
	// properties
	public virtual ICNKeyDescriptor[] AdditionalContactKeyDescriptors { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string[] ExcludedTransactionAuthors { get; set; }
	public virtual bool IncludeGroupChanges { get; set; }
	public virtual bool MutableObjects { get; set; }
	public virtual bool ShouldUnifyResults { get; set; }
	public virtual Foundation.NSData StartingToken { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Contacts.CNChangeHistoryRemoveMemberFromGroupEvent

public class CNChangeHistoryRemoveMemberFromGroupEvent : Contacts.CNChangeHistoryEvent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CNChangeHistoryRemoveMemberFromGroupEvent (Foundation.NSCoder coder);
	protected CNChangeHistoryRemoveMemberFromGroupEvent (Foundation.NSObjectFlag t);
	protected CNChangeHistoryRemoveMemberFromGroupEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CNGroup Group { get; }
	public virtual CNContact Member { get; }
}

New Type: Contacts.CNChangeHistoryRemoveSubgroupFromGroupEvent

public class CNChangeHistoryRemoveSubgroupFromGroupEvent : Contacts.CNChangeHistoryEvent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CNChangeHistoryRemoveSubgroupFromGroupEvent (Foundation.NSCoder coder);
	protected CNChangeHistoryRemoveSubgroupFromGroupEvent (Foundation.NSObjectFlag t);
	protected CNChangeHistoryRemoveSubgroupFromGroupEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CNGroup Group { get; }
	public virtual CNGroup Subgroup { get; }
}

New Type: Contacts.CNChangeHistoryUpdateContactEvent

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

New Type: Contacts.CNChangeHistoryUpdateGroupEvent

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

New Type: Contacts.CNFetchRequest

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

New Type: Contacts.CNFetchResult`1

public class CNFetchResult`1 : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CNFetchResult`1 (Foundation.NSObjectFlag t);
	protected CNFetchResult`1 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData CurrentHistoryToken { get; }
	public virtual Foundation.NSObject Value { get; }
}

New Type: Contacts.ICNChangeHistoryEventVisitor

public interface ICNChangeHistoryEventVisitor : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void AddContact (CNChangeHistoryAddContactEvent event);
	public virtual void DeleteContact (CNChangeHistoryDeleteContactEvent event);
	public virtual void DropEverything (CNChangeHistoryDropEverythingEvent event);
	public virtual void UpdateContact (CNChangeHistoryUpdateContactEvent event);
}

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBCentralManager

Added events:

public event System.EventHandler<CBPeripheralConnectionEventEventArgs> ConnectionEventDidOccur;
public event System.EventHandler<CBAncsAuthorizationUpdateEventArgs> DidUpdateAncsAuthorization;

Added methods:

public void ConnectPeripheral (CBPeripheral peripheral, CBConnectPeripheralOptions options);
public void RegisterForConnectionEvents (CBConnectionEventMatchingOptions options);
public virtual void RegisterForConnectionEvents (Foundation.NSDictionary options);
public static bool SupportsFeatures (CBCentralManagerFeature features);

Type Changed: CoreBluetooth.CBCentralManagerDelegate

Added methods:

public virtual void ConnectionEventDidOccur (CBCentralManager central, CBConnectionEvent connectionEvent, CBPeripheral peripheral);
public virtual void DidUpdateAncsAuthorization (CBCentralManager central, CBPeripheral peripheral);

Type Changed: CoreBluetooth.CBCentralManagerDelegate_Extensions

Added methods:

public static void ConnectionEventDidOccur (this ICBCentralManagerDelegate This, CBCentralManager central, CBConnectionEvent connectionEvent, CBPeripheral peripheral);
public static void DidUpdateAncsAuthorization (this ICBCentralManagerDelegate This, CBCentralManager central, CBPeripheral peripheral);

Type Changed: CoreBluetooth.CBManager

Added property:

public static CBManagerAuthorization Authorization { get; }

Type Changed: CoreBluetooth.CBPeripheral

Added property:

public virtual bool AncsAuthorized { get; }

New Type: CoreBluetooth.CBAncsAuthorizationUpdateEventArgs

public class CBAncsAuthorizationUpdateEventArgs : System.EventArgs {
	// constructors
	public CBAncsAuthorizationUpdateEventArgs (CBPeripheral peripheral);
	// properties
	public CBPeripheral Peripheral { get; set; }
}

New Type: CoreBluetooth.CBCentralManagerFeature

[Serializable]
[Flags]
public enum CBCentralManagerFeature {
	ExtendedScanAndConnect = 1,
}

New Type: CoreBluetooth.CBConnectPeripheralOptions

public class CBConnectPeripheralOptions : Foundation.DictionaryContainer {
	// constructors
	public CBConnectPeripheralOptions ();
	public CBConnectPeripheralOptions (Foundation.NSDictionary dictionary);
	// properties
	public bool? EnableTransportBridging { get; set; }
	public bool? NotifyOnConnection { get; set; }
	public bool? NotifyOnDisconnection { get; set; }
	public bool? NotifyOnNotification { get; set; }
	public bool? RequiresAncs { get; set; }
}

New Type: CoreBluetooth.CBConnectionEvent

[Serializable]
public enum CBConnectionEvent {
	Connected = 1,
	Disconnected = 0,
}

New Type: CoreBluetooth.CBConnectionEventMatchingOptions

public class CBConnectionEventMatchingOptions : Foundation.DictionaryContainer {
	// constructors
	public CBConnectionEventMatchingOptions ();
	public CBConnectionEventMatchingOptions (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSUuid[] PeripheralUuids { get; set; }
	public CBUUID[] ServiceUuids { get; set; }
}

New Type: CoreBluetooth.CBManagerAuthorization

[Serializable]
public enum CBManagerAuthorization {
	AllowedAlways = 3,
	Denied = 2,
	NotDetermined = 0,
	Restricted = 1,
}

New Type: CoreBluetooth.CBPeripheralConnectionEventEventArgs

public class CBPeripheralConnectionEventEventArgs : System.EventArgs {
	// constructors
	public CBPeripheralConnectionEventEventArgs (CBConnectionEvent connectionEvent, CBPeripheral peripheral);
	// properties
	public CBConnectionEvent ConnectionEvent { get; set; }
	public CBPeripheral Peripheral { get; set; }
}

Namespace CoreData

Type Changed: CoreData.NSAttributeDescription

Added property:

public virtual bool PreservesValueInHistoryOnDeletion { get; set; }

Type Changed: CoreData.NSPersistentHistoryChange

Added properties:

public static NSEntityDescription EntityDescription { get; }
public static NSFetchRequest FetchRequest { get; }

Added method:

public static NSEntityDescription GetEntityDescription (NSManagedObjectContext context);

Type Changed: CoreData.NSPersistentHistoryChangeRequest

Added property:

public virtual NSFetchRequest FetchRequest { get; set; }

Added method:

public static NSPersistentHistoryChangeRequest FetchHistory (NSFetchRequest fetchRequest);

Type Changed: CoreData.NSPersistentHistoryTransaction

Added properties:

public static NSEntityDescription EntityDescription { get; }
public static NSFetchRequest FetchRequest { get; }

Added method:

public static NSEntityDescription GetEntityDescription (NSManagedObjectContext context);

Type Changed: CoreData.NSPersistentStore

Added properties:

public static Foundation.NSString RemoteChangeNotificationPostOptionKey { get; }
public static Foundation.NSString StoreRemoteChangeNotification { get; }

Type Changed: CoreData.NSPersistentStoreCoordinator

Added method:

public virtual NSPersistentHistoryToken GetCurrentPersistentHistoryToken (Foundation.NSObject[] stores);

Type Changed: CoreData.NSPersistentStoreDescription

Added property:

public virtual NSPersistentCloudKitContainerOptions CloudKitContainerOptions { get; set; }

New Type: CoreData.NSBatchInsertRequest

public class NSBatchInsertRequest : CoreData.NSPersistentStoreRequest, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSBatchInsertRequest ();
	protected NSBatchInsertRequest (Foundation.NSObjectFlag t);
	protected NSBatchInsertRequest (IntPtr handle);
	public NSBatchInsertRequest (NSEntityDescription entity, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>[] dictionaries);
	public NSBatchInsertRequest (string entityName, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>[] dictionaries);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSEntityDescription Entity { get; }
	public virtual string EntityName { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>[] ObjectsToInsert { get; set; }
	public virtual NSBatchInsertRequestResultType ResultType { get; set; }
	// methods
	public static NSBatchInsertRequest BatchInsertRequest (string entityName, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>[] dictionaries);
}

New Type: CoreData.NSBatchInsertRequestResultType

[Serializable]
public enum NSBatchInsertRequestResultType {
	Count = 2,
	ObjectIds = 1,
	StatusOnly = 0,
}

New Type: CoreData.NSBatchInsertResult

public class NSBatchInsertResult : CoreData.NSPersistentStoreResult, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSBatchInsertResult ();
	protected NSBatchInsertResult (Foundation.NSObjectFlag t);
	protected NSBatchInsertResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSObject Result { get; }
	public virtual NSBatchInsertRequestResultType ResultType { get; }
}

New Type: CoreData.NSDerivedAttributeDescription

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

New Type: CoreData.NSPersistentCloudKitContainer

public class NSPersistentCloudKitContainer : CoreData.NSPersistentContainer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NSPersistentCloudKitContainer (Foundation.NSObjectFlag t);
	protected NSPersistentCloudKitContainer (IntPtr handle);
	public NSPersistentCloudKitContainer (string name, NSManagedObjectModel model);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual CloudKit.CKRecord GetRecord (NSManagedObjectID managedObjectId);
	public virtual CloudKit.CKRecordID GetRecordId (NSManagedObjectID managedObjectId);
	public virtual Foundation.NSDictionary<NSManagedObjectID,CloudKit.CKRecordID> GetRecordIds (NSManagedObjectID[] managedObjectIds);
	public virtual Foundation.NSDictionary<NSManagedObjectID,CloudKit.CKRecord> GetRecords (NSManagedObjectID[] managedObjectIds);
	public virtual bool Initialize (NSPersistentCloudKitContainerSchemaInitializationOptions options, out Foundation.NSError error);
}

New Type: CoreData.NSPersistentCloudKitContainerOptions

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

New Type: CoreData.NSPersistentCloudKitContainerSchemaInitializationOptions

[Serializable]
[Flags]
public enum NSPersistentCloudKitContainerSchemaInitializationOptions {
	DryRun = 2,
	None = 0,
	PrintSchema = 4,
}

New Type: CoreData.NSPersistentStoreRemoteChangeEventArgs

public class NSPersistentStoreRemoteChangeEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public NSPersistentStoreRemoteChangeEventArgs (Foundation.NSNotification notification);
	// properties
	public NSPersistentHistoryToken PersistentHistoryTracking { get; }
	public string Url { get; }
	public Foundation.NSUuid Uuid { get; }
}

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColor

Added methods:

public static CGColor CreateGenericGrayGamma2_2 (nfloat gray, nfloat alpha);
public static CGColor CreateSrgb (nfloat red, nfloat green, nfloat blue, nfloat alpha);

Type Changed: CoreGraphics.CGColorConversionInfo

Modified constructors:

-public CGColorConversionInfo (CGColorSpace src, CGColorSpace dst---destination---)
+public CGColorConversionInfo (CGColorSpace source, CGColorSpace +++dst+++destination)

Added constructors:

public CGColorConversionInfo (CGColorSpace source, CGColorSpace destination, CGColorConversionOptions options);
public CGColorConversionInfo (CGColorSpace source, CGColorSpace destination, Foundation.NSDictionary options);

Type Changed: CoreGraphics.CGColorSpace

Added property:

public bool IsHdr { get; }

Type Changed: CoreGraphics.CGColorSpaceNames

Added properties:

public static Foundation.NSString DisplayP3_Hlg { get; }
public static Foundation.NSString DisplayP3_PQ_Eotf { get; }
public static Foundation.NSString ExtendedLinearDisplayP3 { get; }
public static Foundation.NSString ExtendedLinearItur_2020 { get; }
public static Foundation.NSString Itur_2020_Hlg { get; }
public static Foundation.NSString Itur_2020_PQ_Eotf { get; }

Type Changed: CoreGraphics.CGContextPDF

Added methods:

public void BeginTag (CGPdfTagType tagType, CGPdfTagProperties tagProperties);
public void BeginTag (CGPdfTagType tagType, Foundation.NSDictionary tagProperties);
public void EndTag ();

New Type: CoreGraphics.CGPdfTagProperties

public class CGPdfTagProperties : Foundation.DictionaryContainer {
	// constructors
	public CGPdfTagProperties ();
	public CGPdfTagProperties (Foundation.NSDictionary dictionary);
	// properties
	public string ActualText { get; set; }
	public string AlternativeText { get; set; }
	public string LanguageText { get; set; }
	public string TitleText { get; set; }
}

New Type: CoreGraphics.CGPdfTagType

[Serializable]
public enum CGPdfTagType {
	Annotation = 507,
	Art = 102,
	Bibliography = 504,
	BlockQuote = 105,
	Caption = 106,
	Code = 505,
	Div = 104,
	Document = 100,
	Figure = 700,
	Form = 702,
	Formula = 701,
	Header = 201,
	Header1 = 202,
	Header2 = 203,
	Header3 = 204,
	Header4 = 205,
	Header5 = 206,
	Header6 = 207,
	Index = 109,
	Label = 302,
	Link = 506,
	List = 300,
	ListBody = 303,
	ListItem = 301,
	NonStructure = 110,
	Note = 502,
	Paragraph = 200,
	Part = 101,
	Private = 111,
	Quote = 501,
	Reference = 503,
	Ruby = 600,
	RubyAnnotationText = 602,
	RubyBaseText = 601,
	RubyPunctuation = 603,
	Section = 103,
	Span = 500,
	Table = 400,
	TableBody = 405,
	TableDataCell = 403,
	TableFooter = 406,
	TableHeader = 404,
	TableHeaderCell = 402,
	TableRow = 401,
	Toc = 107,
	Toci = 108,
	Warichu = 604,
	WarichuPunctiation = 606,
	WarichuText = 605,
}

New Type: CoreGraphics.CGPdfTagType_Extensions

public static class CGPdfTagType_Extensions {
	// methods
	public static string GetName (this CGPdfTagType self);
}

Namespace CoreLocation

Type Changed: CoreLocation.CLLocationManager

Added properties:

public virtual CLHeading Heading { get; }
public static bool HeadingAvailable { get; }
public virtual double HeadingFilter { get; set; }
public virtual CLDeviceOrientation HeadingOrientation { get; set; }
public CLLocationManagerEventArgs ShouldDisplayHeadingCalibration { get; set; }

Added event:

public event System.EventHandler<CLHeadingUpdatedEventArgs> UpdatedHeading;

Added methods:

public virtual void DismissHeadingCalibrationDisplay ();
public virtual void StartUpdatingHeading ();
public virtual void StopUpdatingHeading ();

Type Changed: CoreLocation.CLLocationManagerDelegate

Added methods:

public virtual bool ShouldDisplayHeadingCalibration (CLLocationManager manager);
public virtual void UpdatedHeading (CLLocationManager manager, CLHeading newHeading);

Type Changed: CoreLocation.CLLocationManagerDelegate_Extensions

Added methods:

public static bool ShouldDisplayHeadingCalibration (this ICLLocationManagerDelegate This, CLLocationManager manager);
public static void UpdatedHeading (this ICLLocationManagerDelegate This, CLLocationManager manager, CLHeading newHeading);

New Type: CoreLocation.CLHeading

public class CLHeading : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CLHeading (Foundation.NSCoder coder);
	protected CLHeading (Foundation.NSObjectFlag t);
	protected CLHeading (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double HeadingAccuracy { get; }
	public virtual double MagneticHeading { get; }
	public virtual Foundation.NSDate Timestamp { get; }
	public virtual double TrueHeading { get; }
	public virtual double X { get; }
	public virtual double Y { get; }
	public virtual double Z { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLHeadingUpdatedEventArgs

public class CLHeadingUpdatedEventArgs : System.EventArgs {
	// constructors
	public CLHeadingUpdatedEventArgs (CLHeading newHeading);
	// properties
	public CLHeading NewHeading { get; set; }
}

New Type: CoreLocation.CLLocationManagerEventArgs

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

Namespace CoreML

Type Changed: CoreML.MLDictionaryConstraint

Added constructor:

public MLDictionaryConstraint (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLFeatureDescription

Added constructor:

public MLFeatureDescription (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLFeatureValue

Added methods:

public static MLFeatureValue Create (CoreGraphics.CGImage image, MLImageConstraint constraint, MLFeatureValueImageOption imageOptions, out Foundation.NSError error);
public static MLFeatureValue Create (CoreGraphics.CGImage image, MLImageConstraint constraint, Foundation.NSDictionary options, out Foundation.NSError error);
public static MLFeatureValue Create (Foundation.NSUrl url, MLImageConstraint constraint, MLFeatureValueImageOption imageOptions, out Foundation.NSError error);
public static MLFeatureValue Create (Foundation.NSUrl url, MLImageConstraint constraint, Foundation.NSDictionary options, out Foundation.NSError error);
public static MLFeatureValue Create (CoreGraphics.CGImage image, ImageIO.CGImagePropertyOrientation orientation, MLImageConstraint constraint, MLFeatureValueImageOption imageOptions, out Foundation.NSError error);
public static MLFeatureValue Create (CoreGraphics.CGImage image, ImageIO.CGImagePropertyOrientation orientation, MLImageConstraint constraint, Foundation.NSDictionary options, out Foundation.NSError error);
public static MLFeatureValue Create (Foundation.NSUrl url, ImageIO.CGImagePropertyOrientation orientation, MLImageConstraint constraint, MLFeatureValueImageOption imageOptions, out Foundation.NSError error);
public static MLFeatureValue Create (Foundation.NSUrl url, ImageIO.CGImagePropertyOrientation orientation, MLImageConstraint constraint, Foundation.NSDictionary options, out Foundation.NSError error);
public static MLFeatureValue Create (CoreGraphics.CGImage image, nint pixelsWide, nint pixelsHigh, CoreVideo.CVPixelFormatType pixelFormatType, MLFeatureValueImageOption imageOptions, out Foundation.NSError error);
public static MLFeatureValue Create (CoreGraphics.CGImage image, nint pixelsWide, nint pixelsHigh, CoreVideo.CVPixelFormatType pixelFormatType, Foundation.NSDictionary options, out Foundation.NSError error);
public static MLFeatureValue Create (Foundation.NSUrl url, nint pixelsWide, nint pixelsHigh, CoreVideo.CVPixelFormatType pixelFormatType, MLFeatureValueImageOption imageOptions, out Foundation.NSError error);
public static MLFeatureValue Create (Foundation.NSUrl url, nint pixelsWide, nint pixelsHigh, CoreVideo.CVPixelFormatType pixelFormatType, Foundation.NSDictionary options, out Foundation.NSError error);
public static MLFeatureValue Create (CoreGraphics.CGImage image, ImageIO.CGImagePropertyOrientation orientation, nint pixelsWide, nint pixelsHigh, CoreVideo.CVPixelFormatType pixelFormatType, MLFeatureValueImageOption imageOptions, out Foundation.NSError error);
public static MLFeatureValue Create (CoreGraphics.CGImage image, ImageIO.CGImagePropertyOrientation orientation, nint pixelsWide, nint pixelsHigh, CoreVideo.CVPixelFormatType pixelFormatType, Foundation.NSDictionary options, out Foundation.NSError error);
public static MLFeatureValue Create (Foundation.NSUrl url, ImageIO.CGImagePropertyOrientation orientation, nint pixelsWide, nint pixelsHigh, CoreVideo.CVPixelFormatType pixelFormatType, MLFeatureValueImageOption imageOptions, out Foundation.NSError error);
public static MLFeatureValue Create (Foundation.NSUrl url, ImageIO.CGImagePropertyOrientation orientation, nint pixelsWide, nint pixelsHigh, CoreVideo.CVPixelFormatType pixelFormatType, Foundation.NSDictionary options, out Foundation.NSError error);

Type Changed: CoreML.MLImageConstraint

Added constructor:

public MLImageConstraint (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLImageSize

Added constructor:

public MLImageSize (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLImageSizeConstraint

Added constructor:

public MLImageSizeConstraint (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLModel

Added methods:

public virtual Foundation.NSObject GetParameterValue (MLParameterKey key, out Foundation.NSError error);
public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, out Foundation.NSError error);

Type Changed: CoreML.MLModelConfiguration

Added constructor:

public MLModelConfiguration (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added property:

public virtual Foundation.NSDictionary<MLParameterKey,Foundation.NSObject> Parameters { get; set; }

Added methods:

protected override void Dispose (bool disposing);
public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLModelDescription

Added constructor:

public MLModelDescription (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added properties:

public virtual bool IsUpdatable { get; }
public virtual Foundation.NSDictionary<MLParameterKey,CoreML.MLParameterDescription> ParameterDescriptionsByKey { get; }
public virtual Foundation.NSDictionary<Foundation.NSString,CoreML.MLFeatureDescription> TrainingInputDescriptionsByName { get; }

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLModelError

Added values:

Parameters = 7,
Update = 6,

Type Changed: CoreML.MLMultiArrayConstraint

Added constructor:

public MLMultiArrayConstraint (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLMultiArrayShapeConstraint

Added constructor:

public MLMultiArrayShapeConstraint (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: CoreML.MLSequenceConstraint

Added constructor:

public MLSequenceConstraint (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

New Type: CoreML.IMLWritable

public interface IMLWritable : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual bool Write (Foundation.NSUrl url, out Foundation.NSError error);
}

New Type: CoreML.MLFeatureValueImageOption

public class MLFeatureValueImageOption : Foundation.DictionaryContainer {
	// constructors
	public MLFeatureValueImageOption ();
	public MLFeatureValueImageOption (Foundation.NSDictionary dictionary);
	// properties
	public nuint? CropAndScale { get; set; }
	public CoreGraphics.CGRect? CropRect { get; set; }
}

New Type: CoreML.MLKey

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

New Type: CoreML.MLMetricKey

public class MLMetricKey : CoreML.MLKey, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MLMetricKey (Foundation.NSCoder coder);
	protected MLMetricKey (Foundation.NSObjectFlag t);
	protected MLMetricKey (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static MLMetricKey EpochIndex { get; }
	public static MLMetricKey LossValue { get; }
	public static MLMetricKey MiniBatchIndex { get; }
}

New Type: CoreML.MLNumericConstraint

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

New Type: CoreML.MLParameterDescription

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

New Type: CoreML.MLParameterKey

public class MLParameterKey : CoreML.MLKey, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MLParameterKey (Foundation.NSCoder coder);
	protected MLParameterKey (Foundation.NSObjectFlag t);
	protected MLParameterKey (IntPtr handle);
	// properties
	public static MLParameterKey Beta1 { get; }
	public static MLParameterKey Beta2 { get; }
	public static MLParameterKey Biases { get; }
	public override IntPtr ClassHandle { get; }
	public static MLParameterKey Epochs { get; }
	public static MLParameterKey Eps { get; }
	public static MLParameterKey LearningRate { get; }
	public static MLParameterKey LinkedModelFileName { get; }
	public static MLParameterKey LinkedModelSearchPath { get; }
	public static MLParameterKey MiniBatchSize { get; }
	public static MLParameterKey Momentum { get; }
	public static MLParameterKey NumberOfNeighbors { get; }
	public static MLParameterKey Seed { get; }
	public static MLParameterKey Shuffle { get; }
	public static MLParameterKey Weights { get; }
	// methods
	public virtual MLParameterKey GetScopedParameter (string scope);
}

New Type: CoreML.MLTask

public class MLTask : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLTask (Foundation.NSObjectFlag t);
	protected MLTask (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual MLTaskState State { get; }
	public virtual string TaskIdentifier { get; }
	// methods
	public virtual void Cancel ();
	public virtual void Resume ();
}

New Type: CoreML.MLTaskState

[Serializable]
public enum MLTaskState {
	Cancelling = 3,
	Completed = 4,
	Failed = 5,
	Running = 2,
	Suspended = 1,
}

New Type: CoreML.MLUpdateContext

public class MLUpdateContext : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLUpdateContext (Foundation.NSObjectFlag t);
	protected MLUpdateContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MLUpdateProgressEvent Event { get; }
	public virtual Foundation.NSDictionary<MLMetricKey,Foundation.NSObject> Metrics { get; }
	public virtual IMLWritable Model { get; }
	public virtual Foundation.NSDictionary<MLParameterKey,Foundation.NSObject> Parameters { get; }
	public virtual MLUpdateTask Task { get; }
}

New Type: CoreML.MLUpdateProgressEvent

[Serializable]
[Flags]
public enum MLUpdateProgressEvent {
	EpochEnd = 2,
	MiniBatchEnd = 4,
	TrainingBegin = 1,
}

New Type: CoreML.MLUpdateProgressHandlers

public class MLUpdateProgressHandlers : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLUpdateProgressHandlers (Foundation.NSObjectFlag t);
	protected MLUpdateProgressHandlers (IntPtr handle);
	public MLUpdateProgressHandlers (MLUpdateProgressEvent interestedEvents, System.Action<MLUpdateContext> progressHandler, System.Action<MLUpdateContext> completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CoreML.MLUpdateTask

public class MLUpdateTask : CoreML.MLTask, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLUpdateTask (Foundation.NSObjectFlag t);
	protected MLUpdateTask (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static MLUpdateTask Create (Foundation.NSUrl modelUrl, IMLBatchProvider trainingData, MLModelConfiguration configuration, MLUpdateProgressHandlers progressHandlers, out Foundation.NSError error);
	public static MLUpdateTask Create (Foundation.NSUrl modelUrl, IMLBatchProvider trainingData, MLModelConfiguration configuration, System.Action<MLUpdateContext> completionHandler, out Foundation.NSError error);
	public virtual void Resume (Foundation.NSDictionary<MLParameterKey,Foundation.NSObject> updateParameters);
}

Namespace CoreMotion

New Type: CoreMotion.CMErrorExtensions

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

Namespace CoreText

Type Changed: CoreText.CTFont

Added method:

public CTFont ForString (string value, Foundation.NSRange range, string language);

Type Changed: CoreText.CTFontFeatureSelectorKey

Added properties:

public static Foundation.NSString SampleText { get; }
public static Foundation.NSString TooltipText { get; }

Type Changed: CoreText.CTFontManager

Obsoleted fields:

 [Obsolete ("Use the 'CTFontManagerErrorKeys.FontUrlsKey' property instead.")]
 public static Foundation.NSString ErrorFontUrlsKey;

Added methods:

public static CTFontDescriptor CreateFontDescriptor (Foundation.NSData data);
public static CTFontDescriptor[] CreateFontDescriptors (Foundation.NSData data);
public static void RegisterFontDescriptors (CTFontDescriptor[] fontDescriptors, CTFontManagerScope scope, bool enabled, CTFontManager.CTFontRegistrationHandler registrationHandler);
public static void RegisterFonts (Foundation.NSUrl[] fontUrls, CTFontManagerScope scope, bool enabled, CTFontManager.CTFontRegistrationHandler registrationHandler);
public static void UnregisterFontDescriptors (CTFontDescriptor[] fontDescriptors, CTFontManagerScope scope, CTFontManager.CTFontRegistrationHandler registrationHandler);
public static void UnregisterFonts (Foundation.NSUrl[] fontUrls, CTFontManagerScope scope, CTFontManager.CTFontRegistrationHandler registrationHandler);

New Type: CoreText.CTFontManager.CTFontRegistrationHandler

public sealed delegate CTFontRegistrationHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CTFontManager.CTFontRegistrationHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSError[] errors, bool done, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (Foundation.NSError[] errors, bool done);
}

Type Changed: CoreText.CTFontManagerError

Modified fields:

-SystemRequired = 202
+SystemRequired = 203

Added values:

CancelledByUser = 304,
DuplicatedName = 305,
ExceededResourceLimit = 106,
InsufficientInfo = 303,
InvalidFilePath = 306,
MissingEntitlement = 302,
RegistrationFailed = 301,

Type Changed: CoreText.CTFontManagerScope

Added value:

Persistent = 2,

Type Changed: CoreText.CTGlyphInfo

Added method:

public ushort GetGlyph ();

Type Changed: CoreText.CTRun

Added method:

public void GetBaseAdvancesAndOrigins (Foundation.NSRange range, out CoreGraphics.CGSize[] advancesBuffer, out CoreGraphics.CGPoint[] originsBuffer);

Type Changed: CoreText.CTStringAttributeKey

Added property:

public static Foundation.NSString TrackingAttributeName { get; }

Type Changed: CoreText.CTStringAttributes

Added property:

public float? TrackingAdjustment { get; set; }

New Type: CoreText.CTFontManagerErrorKeys

public static class CTFontManagerErrorKeys {
	// properties
	public static Foundation.NSString FontUrlsKey { get; }
}

Namespace EventKit

Type Changed: EventKit.EKErrorCode

Added values:

InvalidInviteReplyCalendar = 31,
NotificationCollectionMismatch = 34,
NotificationSavedWithoutCollection = 35,
NotificationsCollectionFlagNotSet = 32,
SourceMismatch = 33,

Type Changed: EventKit.EKEventStore

Added property:

public virtual EKSource[] DelegateSources { get; }

Type Changed: EventKit.EKReminder

Obsoleted constructors:

 [Obsolete ("Use 'Create' instead.")]
 public EKReminder ();

Namespace Foundation

Type Changed: Foundation.NSArray

Added methods:

public static NSArray FromNSObjects<T> (T[0...,0...] items);
public static NSArray FromNSObjects<T> (T[][] items);

Type Changed: Foundation.NSAttributedString

Added properties:

public static NSString CocoaVersionDocumentAttribute { get; }
public static NSString SourceTextScalingDocumentAttribute { get; }
public static NSString TextScalingDocumentAttribute { get; }

Type Changed: Foundation.NSByteCountFormatter

Added method:

public virtual string GetString (NSObject obj);

Type Changed: Foundation.NSCocoaError

Added values:

CompressionErrorMaximum = 5503,
CompressionErrorMinimum = 5376,
CompressionFailedError = 5376,
DecompressionFailedError = 5377,

Type Changed: Foundation.NSData

Added methods:

public virtual NSData Compress (NSDataCompressionAlgorithm algorithm, out NSError error);
public virtual NSData Decompress (NSDataCompressionAlgorithm algorithm, out NSError error);

Type Changed: Foundation.NSDirectoryEnumerationOptions

Added values:

IncludesDirectoriesPostOrder = 8,
ProducesRelativePathUrls = 16,

Type Changed: Foundation.NSDirectoryEnumerator

Added property:

public virtual bool IsEnumeratingDirectoryPostOrder { get; }

Type Changed: Foundation.NSException

Added interface:

INSSecureCoding

Type Changed: Foundation.NSFileHandle

Added methods:

public virtual bool Close (out NSError error);
public virtual bool GetOffset (out ulong offsetInFile, out NSError error);
public virtual NSData Read (nuint length, out NSError error);
public virtual NSData ReadToEnd (out NSError error);
public virtual bool Seek (ulong offset, out NSError error);
public virtual bool SeekToEnd (out ulong offsetInFile, out NSError error);
public virtual bool Synchronize (out NSError error);
public virtual bool Truncate (ulong offset, out NSError error);
public virtual bool Write (NSData data, out NSError error);

Type Changed: Foundation.NSHttpCookie

Added properties:

public static NSString KeySameSiteLax { get; }
public static NSString KeySameSitePolicy { get; }
public static NSString KeySameSiteStrict { get; }
public virtual NSString SameSitePolicy { get; }

Type Changed: Foundation.NSHttpUrlResponse

Added method:

public virtual string GetHttpHeaderValue (string headerField);

Type Changed: Foundation.NSJsonReadingOptions

Obsoleted fields:

 [Obsolete ("Use 'FragmentsAllowed. instead.")]
 AllowFragments = 4,

Added value:

FragmentsAllowed = 4,

Type Changed: Foundation.NSJsonWritingOptions

Added values:

FragmentsAllowed = 4,
WithoutEscapingSlashes = 8,

Type Changed: Foundation.NSMutableData

Added methods:

public virtual bool Compress (NSDataCompressionAlgorithm algorithm, out NSError error);
public virtual bool Decompress (NSDataCompressionAlgorithm algorithm, out NSError error);

Type Changed: Foundation.NSMutableUrlRequest

Added properties:

public virtual bool AllowsConstrainedNetworkAccess { get; set; }
public virtual bool AllowsExpensiveNetworkAccess { get; set; }

Type Changed: Foundation.NSOperationQueue

Added interface:

INSProgressReporting

Added property:

public virtual NSProgress Progress { get; }

Added method:

public virtual void AddBarrier (System.Action barrier);

Type Changed: Foundation.NSProcessInfo

Added property:

public virtual bool IsMacCatalystApplication { get; }

Type Changed: Foundation.NSUnitDuration

Added properties:

public static NSUnitDuration Microseconds { get; }
public static NSUnitDuration Milliseconds { get; }
public static NSUnitDuration Nanoseconds { get; }
public static NSUnitDuration Picoseconds { get; }

Type Changed: Foundation.NSUnitFrequency

Added property:

public static NSUnitFrequency FramesPerSecond { get; }

Type Changed: Foundation.NSUrlCache

Added constructor:

public NSUrlCache (nuint memoryCapacity, nuint diskCapacity, NSUrl directoryUrl);

Type Changed: Foundation.NSUrlRequest

Added properties:

public virtual bool AllowsConstrainedNetworkAccess { get; set; }
public virtual bool AllowsExpensiveNetworkAccess { get; set; }

Type Changed: Foundation.NSUrlRequestNetworkServiceType

Added values:

AVStreaming = 8,
ResponsiveAV = 9,

Type Changed: Foundation.NSUrlSession

Added methods:

public virtual NSUrlSessionStreamTask CreateBidirectionalStream (string hostname, nint port);
public virtual NSUrlSessionWebSocketTask CreateWebSocketTask (NSUrl url);
public virtual NSUrlSessionWebSocketTask CreateWebSocketTask (NSUrlRequest request);
public virtual NSUrlSessionWebSocketTask CreateWebSocketTask (NSUrl url, string[] protocols);

Type Changed: Foundation.NSUrlSessionConfiguration

Added properties:

public virtual bool AllowsConstrainedNetworkAccess { get; set; }
public virtual bool AllowsExpensiveNetworkAccess { get; set; }
public virtual Security.TlsProtocolVersion TlsMaximumSupportedProtocolVersion { get; set; }
public virtual Security.TlsProtocolVersion TlsMinimumSupportedProtocolVersion { get; set; }

Type Changed: Foundation.NSUrlSessionTaskTransactionMetrics

Added properties:

public virtual bool Cellular { get; }
public virtual bool Constrained { get; }
public virtual long CountOfRequestBodyBytesBeforeEncoding { get; }
public virtual long CountOfRequestBodyBytesSent { get; }
public virtual long CountOfRequestHeaderBytesSent { get; }
public virtual long CountOfResponseBodyBytesAfterDecoding { get; }
public virtual long CountOfResponseBodyBytesReceived { get; }
public virtual long CountOfResponseHeaderBytesReceived { get; }
public virtual bool Expensive { get; }
public virtual string LocalAddress { get; }
public virtual ushort? LocalPort { get; }
public virtual bool Multipath { get; }
public virtual Security.SslCipherSuite? NegotiatedTlsCipherSuite { get; }
public virtual Security.SslProtocol? NegotiatedTlsProtocolVersion { get; }
public virtual string RemoteAddress { get; }
public virtual ushort? RemotePort { get; }

Type Changed: Foundation.NSValue

Added properties:

public virtual NSObject CMTimeMappingValue { get; }
public virtual NSObject CMTimeRangeValue { get; }
public virtual NSObject CMTimeValue { get; }

Added methods:

public static NSValue FromCMTime (NSObject time);
public static NSValue FromCMTimeMapping (NSObject timeMapping);
public static NSValue FromCMTimeRange (NSObject timeRange);
public virtual void StoreValueAtAddress (IntPtr value, nuint size);

New Type: Foundation.INSUrlSessionWebSocketDelegate

public interface INSUrlSessionWebSocketDelegate : INSUrlSessionDelegate, INSUrlSessionTaskDelegate, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: Foundation.NSCollectionChangeType

[Serializable]
public enum NSCollectionChangeType {
	Insert = 0,
	Remove = 1,
}

New Type: Foundation.NSDataCompressionAlgorithm

[Serializable]
public enum NSDataCompressionAlgorithm {
	Lz4 = 1,
	Lzfse = 0,
	Lzma = 2,
	Zlib = 3,
}

New Type: Foundation.NSEnumerator`1

public sealed class NSEnumerator`1 : Foundation.NSEnumerator, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	public NSEnumerator`1 ();
	// methods
	public TKey NextObject ();
}

New Type: Foundation.NSListFormatter

public class NSListFormatter : Foundation.NSFormatter, INSCoding, INSCopying, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	public NSListFormatter ();
	public NSListFormatter (NSCoder coder);
	protected NSListFormatter (NSObjectFlag t);
	protected NSListFormatter (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSFormatter ItemFormatter { get; set; }
	public virtual NSLocale Locale { get; set; }
	// methods
	public static string GetLocalizedString (NSString[] joinedStrings);
	public virtual string GetString (NSObject obj);
	public virtual string GetString (NSObject[] items);
}

New Type: Foundation.NSOrderedCollectionDifferenceCalculationOptions

[Serializable]
public enum NSOrderedCollectionDifferenceCalculationOptions {
	InferMoves = 4,
	OmitInsertedObjects = 1,
	OmitRemovedObjects = 2,
}

New Type: Foundation.NSRelativeDateTimeFormatter

public class NSRelativeDateTimeFormatter : Foundation.NSFormatter, INSCoding, INSCopying, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	public NSRelativeDateTimeFormatter ();
	public NSRelativeDateTimeFormatter (NSCoder coder);
	protected NSRelativeDateTimeFormatter (NSObjectFlag t);
	protected NSRelativeDateTimeFormatter (IntPtr handle);
	// properties
	public virtual NSCalendar Calendar { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual NSRelativeDateTimeFormatterStyle DateTimeStyle { get; set; }
	public virtual NSFormattingContext FormattingContext { get; set; }
	public virtual NSLocale Locale { get; set; }
	public virtual NSRelativeDateTimeFormatterUnitsStyle UnitsStyle { get; set; }
	// methods
	public virtual string GetLocalizedString (NSDateComponents dateComponents);
	public virtual string GetLocalizedString (double timeInterval);
	public virtual string GetLocalizedString (NSDate date, NSDate referenceDate);
	public virtual string GetString (NSObject obj);
}

New Type: Foundation.NSRelativeDateTimeFormatterStyle

[Serializable]
public enum NSRelativeDateTimeFormatterStyle {
	Named = 1,
	Numeric = 0,
}

New Type: Foundation.NSRelativeDateTimeFormatterUnitsStyle

[Serializable]
public enum NSRelativeDateTimeFormatterUnitsStyle {
	Abbreviated = 3,
	Full = 0,
	Short = 2,
	SpellOut = 1,
}

New Type: Foundation.NSUnitInformationStorage

public class NSUnitInformationStorage : Foundation.NSDimension, INSCoding, INSCopying, INSObjectProtocol, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	public NSUnitInformationStorage (NSCoder coder);
	protected NSUnitInformationStorage (NSObjectFlag t);
	protected NSUnitInformationStorage (IntPtr handle);
	public NSUnitInformationStorage (string symbol);
	public NSUnitInformationStorage (string symbol, NSUnitConverter converter);
	// properties
	public static NSUnitInformationStorage Bits { get; }
	public static NSUnitInformationStorage Bytes { get; }
	public override IntPtr ClassHandle { get; }
	public static NSUnitInformationStorage Exabits { get; }
	public static NSUnitInformationStorage Exabytes { get; }
	public static NSUnitInformationStorage Exbibits { get; }
	public static NSUnitInformationStorage Exbibytes { get; }
	public static NSUnitInformationStorage Gibibits { get; }
	public static NSUnitInformationStorage Gibibytes { get; }
	public static NSUnitInformationStorage Gigabits { get; }
	public static NSUnitInformationStorage Gigabytes { get; }
	public static NSUnitInformationStorage Kibibits { get; }
	public static NSUnitInformationStorage Kibibytes { get; }
	public static NSUnitInformationStorage Kilobits { get; }
	public static NSUnitInformationStorage Kilobytes { get; }
	public static NSUnitInformationStorage Mebibits { get; }
	public static NSUnitInformationStorage Mebibytes { get; }
	public static NSUnitInformationStorage Megabits { get; }
	public static NSUnitInformationStorage Megabytes { get; }
	public static NSUnitInformationStorage Nibbles { get; }
	public static NSUnitInformationStorage Pebibits { get; }
	public static NSUnitInformationStorage Pebibytes { get; }
	public static NSUnitInformationStorage Petabits { get; }
	public static NSUnitInformationStorage Petabytes { get; }
	public static NSUnitInformationStorage Tebibits { get; }
	public static NSUnitInformationStorage Tebibytes { get; }
	public static NSUnitInformationStorage Terabits { get; }
	public static NSUnitInformationStorage Terabytes { get; }
	public static NSUnitInformationStorage Yobibits { get; }
	public static NSUnitInformationStorage Yobibytes { get; }
	public static NSUnitInformationStorage Yottabits { get; }
	public static NSUnitInformationStorage Yottabytes { get; }
	public static NSUnitInformationStorage Zebibits { get; }
	public static NSUnitInformationStorage Zebibytes { get; }
	public static NSUnitInformationStorage Zettabits { get; }
	public static NSUnitInformationStorage Zettabytes { get; }
	// methods
	public virtual void EncodeTo (NSCoder encoder);
}

New Type: Foundation.NSUrlErrorNetworkUnavailableReason

[Serializable]
public enum NSUrlErrorNetworkUnavailableReason {
	Cellular = 0,
	Constrained = 2,
	Expensive = 1,
}

New Type: Foundation.NSUrlSessionWebSocketCloseCode

[Serializable]
public enum NSUrlSessionWebSocketCloseCode {
	AbnormalClosure = 1006,
	GoingAway = 1001,
	InternalServerError = 1011,
	Invalid = 0,
	InvalidFramePayloadData = 1007,
	MandatoryExtensionMissing = 1010,
	MessageTooBig = 1009,
	NoStatusReceived = 1005,
	NormalClosure = 1000,
	PolicyViolation = 1008,
	ProtocolError = 1002,
	TlsHandshakeFailure = 1015,
	UnsupportedData = 1003,
}

New Type: Foundation.NSUrlSessionWebSocketDelegate

public class NSUrlSessionWebSocketDelegate : Foundation.NSUrlSessionTaskDelegate, INSObjectProtocol, INSUrlSessionDelegate, INSUrlSessionTaskDelegate, INSUrlSessionWebSocketDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	public NSUrlSessionWebSocketDelegate ();
	protected NSUrlSessionWebSocketDelegate (NSObjectFlag t);
	protected NSUrlSessionWebSocketDelegate (IntPtr handle);
	// methods
	public virtual void DidClose (NSUrlSession session, NSUrlSessionWebSocketTask webSocketTask, NSUrlSessionWebSocketCloseCode closeCode, NSData reason);
	public virtual void DidOpen (NSUrlSession session, NSUrlSessionWebSocketTask webSocketTask, string protocol);
}

New Type: Foundation.NSUrlSessionWebSocketDelegate_Extensions

public static class NSUrlSessionWebSocketDelegate_Extensions {
	// methods
	public static void DidClose (this INSUrlSessionWebSocketDelegate This, NSUrlSession session, NSUrlSessionWebSocketTask webSocketTask, NSUrlSessionWebSocketCloseCode closeCode, NSData reason);
	public static void DidOpen (this INSUrlSessionWebSocketDelegate This, NSUrlSession session, NSUrlSessionWebSocketTask webSocketTask, string protocol);
}

New Type: Foundation.NSUrlSessionWebSocketMessage

public class NSUrlSessionWebSocketMessage : Foundation.NSObject, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	public NSUrlSessionWebSocketMessage (NSData data);
	protected NSUrlSessionWebSocketMessage (NSObjectFlag t);
	protected NSUrlSessionWebSocketMessage (IntPtr handle);
	public NSUrlSessionWebSocketMessage (string string);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSData Data { get; }
	public virtual string String { get; }
	public virtual NSUrlSessionWebSocketMessageType Type { get; }
}

New Type: Foundation.NSUrlSessionWebSocketMessageType

[Serializable]
public enum NSUrlSessionWebSocketMessageType {
	Data = 0,
	String = 1,
}

New Type: Foundation.NSUrlSessionWebSocketTask

public class NSUrlSessionWebSocketTask : Foundation.NSUrlSessionTask, INSCopying, INSObjectProtocol, INSProgressReporting, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	protected NSUrlSessionWebSocketTask (NSObjectFlag t);
	protected NSUrlSessionWebSocketTask (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSUrlSessionWebSocketCloseCode CloseCode { get; }
	public virtual NSData CloseReason { get; }
	public virtual nint MaximumMessageSize { get; set; }
	// methods
	public virtual void Cancel (NSUrlSessionWebSocketCloseCode closeCode, NSData reason);
	public virtual void ReceiveMessage (System.Action<NSUrlSessionWebSocketMessage,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<NSUrlSessionWebSocketMessage> ReceiveMessageAsync ();
	public virtual void SendMessage (NSUrlSessionWebSocketMessage message, System.Action<NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SendMessageAsync (NSUrlSessionWebSocketMessage message);
	public virtual void SendPing (System.Action<NSError> pongReceiveHandler);
	public virtual System.Threading.Tasks.Task SendPingAsync ();
}

Namespace GameKit

Type Changed: GameKit.GKError

Added values:

ApiNotAvailable = 31,
RestrictedToAutomatch = 30,

Type Changed: GameKit.GKLocalPlayer

Added methods:

public virtual void LoadChallengeableFriends (System.Action<GKPlayer[],Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<GKPlayer[]> LoadChallengeableFriendsAsync ();

Namespace HealthKit

Type Changed: HealthKit.HKCategoryTypeIdentifier

Added values:

AudioExposureEvent = 11,
ToothbrushingEvent = 12,

Type Changed: HealthKit.HKCategoryValueOvulationTestResult

Added values:

EstrogenSurge = 4,
LuteinizingHormoneSurge = 2,

Type Changed: HealthKit.HKCumulativeQuantitySeriesSample

Modified base type:

-HealthKit.HKQuantitySample
+HealthKit.HKCumulativeQuantitySample

Type Changed: HealthKit.HKMetadataKey

Added properties:

public static Foundation.NSString AudioExposureLevel { get; }
public static Foundation.NSString AverageMets { get; }

Type Changed: HealthKit.HKMetricPrefix

Added value:

Femto = 13,

Type Changed: HealthKit.HKObjectType

Added property:

public static HKAudiogramSampleType AudiogramSampleType { get; }

Type Changed: HealthKit.HKPredicateKeyPath

Added properties:

public static Foundation.NSString Average { get; }
public static Foundation.NSString Max { get; }
public static Foundation.NSString Min { get; }
public static Foundation.NSString MostRecent { get; }
public static Foundation.NSString MostRecentDuration { get; }
public static Foundation.NSString MostRecentEndDate { get; }
public static Foundation.NSString MostRecentStartDate { get; }
public static Foundation.NSString PathCount { get; }

Type Changed: HealthKit.HKQuantityAggregationStyle

Added values:

DiscreteArithmetic = 1,
DiscreteEquivalentContinuousLevel = 3,
DiscreteTemporallyWeighted = 2,

Type Changed: HealthKit.HKQuantitySeriesSampleBuilder

Added methods:

public virtual void FinishSeries (Foundation.NSDictionary metadata, Foundation.NSDate endDate, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
public void FinishSeries (HKMetadata metadata, Foundation.NSDate endDate, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
public virtual System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (Foundation.NSDictionary metadata, Foundation.NSDate endDate);
public System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (HKMetadata metadata, Foundation.NSDate endDate);
public virtual bool Insert (HKQuantity quantity, Foundation.NSDateInterval dateInterval, out Foundation.NSError error);

Type Changed: HealthKit.HKQuantitySeriesSampleQuery

Added constructor:

public HKQuantitySeriesSampleQuery (HKQuantityType quantityType, Foundation.NSPredicate predicate, HKQuantitySeriesSampleQueryQuantityHandler quantityHandler);

Added properties:

public virtual bool IncludeSample { get; set; }
public virtual bool OrderByQuantitySampleStartDate { get; set; }

Type Changed: HealthKit.HKQuantityTypeIdentifier

Added values:

AppleStandTime = 80,
EnvironmentalAudioExposure = 81,
HeadphoneAudioExposure = 82,

Type Changed: HealthKit.HKSampleType

Added properties:

public virtual bool IsMaximumDurationRestricted { get; }
public virtual bool IsMinimumDurationRestricted { get; }
public virtual double MaximumAllowedDuration { get; }
public virtual double MinimumAllowedDuration { get; }

Type Changed: HealthKit.HKSeriesType

Added property:

public static HKSeriesType HeartbeatSeriesType { get; }

Type Changed: HealthKit.HKStatistics

Added property:

public virtual HKQuantity Duration { get; }

Added method:

public virtual HKQuantity GetDuration (HKSource source);

Type Changed: HealthKit.HKStatisticsOptions

Added values:

Duration = 64,
MostRecent = 32,

Type Changed: HealthKit.HKUnit

Added properties:

public static HKUnit DecibelAWeightedSoundPressureLevelUnit { get; }
public static HKUnit DecibelHearingLevelUnit { get; }
public static HKUnit HertzUnit { get; }

Added method:

public static HKUnit GetHertzUnit (HKMetricPrefix prefix);

Type Changed: HealthKit.HKWorkoutActivityType

Added values:

DiscSports = 75,
FitnessGaming = 76,

New Type: HealthKit.HKAudiogramSample

public class HKAudiogramSample : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKAudiogramSample (Foundation.NSCoder coder);
	protected HKAudiogramSample (Foundation.NSObjectFlag t);
	protected HKAudiogramSample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKAudiogramSensitivityPoint[] SensitivityPoints { get; }
	// methods
	public static HKAudiogramSample GetAudiogramSample (HKAudiogramSensitivityPoint[] sensitivityPoints, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
}

New Type: HealthKit.HKAudiogramSampleType

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

New Type: HealthKit.HKAudiogramSensitivityPoint

public class HKAudiogramSensitivityPoint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKAudiogramSensitivityPoint (Foundation.NSObjectFlag t);
	protected HKAudiogramSensitivityPoint (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKQuantity Frequency { get; }
	public virtual HKQuantity LeftEarSensitivity { get; }
	public virtual HKQuantity RightEarSensitivity { get; }
	// methods
	public static HKAudiogramSensitivityPoint GetSensitivityPoint (HKQuantity frequency, HKQuantity leftEarSensitivity, HKQuantity rightEarSensitivity, out Foundation.NSError error);
}

New Type: HealthKit.HKCategoryValueAudioExposureEvent

[Serializable]
public enum HKCategoryValueAudioExposureEvent {
	LoudEnvironment = 1,
}

New Type: HealthKit.HKCumulativeQuantitySample

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

New Type: HealthKit.HKDataTypeIdentifier

[Serializable]
public enum HKDataTypeIdentifier {
	HeartbeatSeries = 0,
}

New Type: HealthKit.HKDataTypeIdentifierExtensions

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

New Type: HealthKit.HKDiscreteQuantitySample

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

New Type: HealthKit.HKHeartbeatSeriesBuilder

public class HKHeartbeatSeriesBuilder : HealthKit.HKSeriesBuilder, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKHeartbeatSeriesBuilder (Foundation.NSCoder coder);
	protected HKHeartbeatSeriesBuilder (Foundation.NSObjectFlag t);
	protected HKHeartbeatSeriesBuilder (IntPtr handle);
	public HKHeartbeatSeriesBuilder (HKHealthStore healthStore, HKDevice device, Foundation.NSDate startDate);
	// properties
	public override IntPtr ClassHandle { get; }
	public static nuint MaximumCount { get; }
	// methods
	public virtual void AddHeartbeat (double timeInterval, bool precededByGap, HKHeartbeatSeriesBuilderCompletionHandler completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddHeartbeatAsync (double timeInterval, bool precededByGap);
	public virtual void AddMetadata (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata, HKHeartbeatSeriesBuilderCompletionHandler completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddMetadataAsync (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
	public virtual void FinishSeries (System.Action<HKHeartbeatSeriesSample,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<HKHeartbeatSeriesSample> FinishSeriesAsync ();
}

New Type: HealthKit.HKHeartbeatSeriesBuilderCompletionHandler

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

New Type: HealthKit.HKHeartbeatSeriesQuery

public class HKHeartbeatSeriesQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKHeartbeatSeriesQuery ();
	protected HKHeartbeatSeriesQuery (Foundation.NSObjectFlag t);
	protected HKHeartbeatSeriesQuery (IntPtr handle);
	public HKHeartbeatSeriesQuery (HKHeartbeatSeriesSample heartbeatSeries, HKHeartbeatSeriesQueryDataHandler dataHandler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKHeartbeatSeriesQueryDataHandler

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

New Type: HealthKit.HKHeartbeatSeriesSample

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

New Type: HealthKit.HKQuantitySeriesSampleQueryQuantityHandler

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

Namespace HomeKit

Type Changed: HomeKit.HMError

Added values:

MaximumAccessoriesOfTypeInHome = 97,
ObjectWithSimilarNameExists = 95,
OwnershipFailure = 96,
WiFiCredentialGenerationFailed = 98,

Type Changed: HomeKit.HMHomeManager

Added property:

public virtual HMHomeManagerAuthorizationStatus AuthorizationStatus { get; }

Added event:

public event System.EventHandler<HMHomeManagerAuthorizationStatusEventArgs> DidUpdateAuthorizationStatus;

Type Changed: HomeKit.HMHomeManagerDelegate

Added method:

public virtual void DidUpdateAuthorizationStatus (HMHomeManager manager, HMHomeManagerAuthorizationStatus status);

Type Changed: HomeKit.HMHomeManagerDelegate_Extensions

Added method:

public static void DidUpdateAuthorizationStatus (this IHMHomeManagerDelegate This, HMHomeManager manager, HMHomeManagerAuthorizationStatus status);

New Type: HomeKit.HMHomeManagerAuthorizationStatus

[Serializable]
[Flags]
public enum HMHomeManagerAuthorizationStatus {
	Authorized = 4,
	Determined = 1,
	Restricted = 2,
}

New Type: HomeKit.HMHomeManagerAuthorizationStatusEventArgs

public class HMHomeManagerAuthorizationStatusEventArgs : System.EventArgs {
	// constructors
	public HMHomeManagerAuthorizationStatusEventArgs (HMHomeManagerAuthorizationStatus status);
	// properties
	public HMHomeManagerAuthorizationStatus Status { get; set; }
}

New Type: HomeKit.HMNetworkConfigurationProfile

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

New Type: HomeKit.HMNetworkConfigurationProfileDelegate

public class HMNetworkConfigurationProfileDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHMNetworkConfigurationProfileDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMNetworkConfigurationProfileDelegate ();
	protected HMNetworkConfigurationProfileDelegate (Foundation.NSObjectFlag t);
	protected HMNetworkConfigurationProfileDelegate (IntPtr handle);
	// methods
	public virtual void DidUpdateNetworkAccessMode (HMNetworkConfigurationProfile profile);
}

New Type: HomeKit.HMNetworkConfigurationProfileDelegate_Extensions

public static class HMNetworkConfigurationProfileDelegate_Extensions {
	// methods
	public static void DidUpdateNetworkAccessMode (this IHMNetworkConfigurationProfileDelegate This, HMNetworkConfigurationProfile profile);
}

New Type: HomeKit.IHMNetworkConfigurationProfileDelegate

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

Namespace ImageIO

Type Changed: ImageIO.CGImageAuxiliaryDataType

Added values:

SemanticSegmentationHairMatte = 3,
SemanticSegmentationSkinMatte = 4,
SemanticSegmentationTeethMatte = 5,

Type Changed: ImageIO.CGImageProperties

Added properties:

public static Foundation.NSString ApngCanvasPixelHeight { get; }
public static Foundation.NSString ApngCanvasPixelWidth { get; }
public static Foundation.NSString ApngFrameInfoArray { get; }
public static Foundation.NSString ExifOffsetTime { get; }
public static Foundation.NSString ExifOffsetTimeDigitized { get; }
public static Foundation.NSString ExifOffsetTimeOriginal { get; }
public static Foundation.NSString GifCanvasPixelHeight { get; }
public static Foundation.NSString GifCanvasPixelWidth { get; }
public static Foundation.NSString GifFrameInfoArray { get; }
public static Foundation.NSString HeicsCanvasPixelHeight { get; }
public static Foundation.NSString HeicsCanvasPixelWidth { get; }
public static Foundation.NSString HeicsDelayTime { get; }
public static Foundation.NSString HeicsDictionary { get; }
public static Foundation.NSString HeicsFrameInfoArray { get; }
public static Foundation.NSString HeicsLoopCount { get; }
public static Foundation.NSString HeicsSUnclampedDelayTime { get; }

Namespace MediaPlayer

New Type: MediaPlayer.AVMediaSelectionGroup_MPNowPlayingInfoLanguageOptionAdditions

public static class AVMediaSelectionGroup_MPNowPlayingInfoLanguageOptionAdditions {
	// methods
	public static MPNowPlayingInfoLanguageOptionGroup CreateNowPlayingInfoLanguageOptionGroup (this AVFoundation.AVMediaSelectionGroup This);
}

New Type: MediaPlayer.AVMediaSelectionOption_MPNowPlayingInfoLanguageOptionAdditions

public static class AVMediaSelectionOption_MPNowPlayingInfoLanguageOptionAdditions {
	// methods
	public static MPNowPlayingInfoLanguageOption CreateNowPlayingInfoLanguageOption (this AVFoundation.AVMediaSelectionOption This);
}

Namespace NaturalLanguage

Type Changed: NaturalLanguage.NLTagScheme

Added value:

SentimentScore = 7,

Type Changed: NaturalLanguage.NLTagger

Added methods:

public virtual NLGazetteer[] GetGazetteers (Foundation.NSString tagScheme);
public NLGazetteer[] GetGazetteers (NLTagScheme tagScheme);
public static void RequestAssets (Foundation.NSString language, Foundation.NSString tagScheme, System.Action<NLTaggerAssetsResult,Foundation.NSError> completionHandler);
public static void RequestAssets (NLLanguage language, NLTagScheme tagScheme, System.Action<NLTaggerAssetsResult,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<NLTaggerAssetsResult> RequestAssetsAsync (Foundation.NSString language, Foundation.NSString tagScheme);
public static System.Threading.Tasks.Task<NLTaggerAssetsResult> RequestAssetsAsync (NLLanguage language, NLTagScheme tagScheme);
public virtual void SetGazetteers (NLGazetteer[] gazetteers, Foundation.NSString tagScheme);
public void SetGazetteers (NLGazetteer[] gazetteers, NLTagScheme tagScheme);

New Type: NaturalLanguage.NLDistanceType

[Serializable]
public enum NLDistanceType {
	Cosine = 0,
}

New Type: NaturalLanguage.NLEmbedding

public class NLEmbedding : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NLEmbedding (Foundation.NSObjectFlag t);
	protected NLEmbedding (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Dimension { get; }
	public virtual NLLanguage? Language { get; }
	public virtual nuint Revision { get; }
	public virtual nuint VocabularySize { get; }
	// methods
	public virtual bool Contains (string string);
	public virtual void EnumerateNeighbors (float[] vector, nuint maxCount, NLDistanceType distanceType, NLEnumerateNeighborsHandler handler);
	public virtual void EnumerateNeighbors (string string, nuint maxCount, NLDistanceType distanceType, NLEnumerateNeighborsHandler handler);
	public virtual void EnumerateNeighbors (float[] vector, nuint maxCount, double maxDistance, NLDistanceType distanceType, NLEnumerateNeighborsHandler handler);
	public virtual void EnumerateNeighbors (string string, nuint maxCount, double maxDistance, NLDistanceType distanceType, NLEnumerateNeighborsHandler handler);
	public static nuint GetCurrentRevision (Foundation.NSString language);
	public static nuint GetCurrentRevision (NLLanguage language);
	public virtual double GetDistance (string firstString, string secondString, NLDistanceType distanceType);
	public static NLEmbedding GetEmbedding (Foundation.NSUrl url, out Foundation.NSError error);
	public virtual string[] GetNeighbors (float[] vector, nuint maxCount, NLDistanceType distanceType);
	public virtual string[] GetNeighbors (string string, nuint maxCount, NLDistanceType distanceType);
	public virtual string[] GetNeighbors (float[] vector, nuint maxCount, double maxDistance, NLDistanceType distanceType);
	public virtual string[] GetNeighbors (string string, nuint maxCount, double maxDistance, NLDistanceType distanceType);
	public static Foundation.NSIndexSet GetSupportedRevisions (Foundation.NSString language);
	public static Foundation.NSIndexSet GetSupportedRevisions (NLLanguage language);
	public virtual float[] GetVector (string string);
	public static NLEmbedding GetWordEmbedding (Foundation.NSString language);
	public static NLEmbedding GetWordEmbedding (NLLanguage language);
	public static NLEmbedding GetWordEmbedding (Foundation.NSString language, nuint revision);
	public static NLEmbedding GetWordEmbedding (NLLanguage language, nuint revision);
	public bool TryGetVector (string string, out float[] vector);
	public static bool Write (Foundation.NSDictionary dictionary, Foundation.NSString language, nuint revision, Foundation.NSUrl url, out Foundation.NSError error);
	public static bool Write (NLVectorDictionary dictionary, NLLanguage? language, nuint revision, Foundation.NSUrl url, out Foundation.NSError error);
}

New Type: NaturalLanguage.NLEnumerateNeighborsHandler

public sealed delegate NLEnumerateNeighborsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NLEnumerateNeighborsHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (string neighbor, double distance, ref bool stop, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (ref bool stop, System.IAsyncResult result);
	public virtual void Invoke (string neighbor, double distance, ref bool stop);
}

New Type: NaturalLanguage.NLGazetteer

public class NLGazetteer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NLGazetteer (Foundation.NSObjectFlag t);
	protected NLGazetteer (IntPtr handle);
	public NLGazetteer (Foundation.NSData data, out Foundation.NSError error);
	public NLGazetteer (Foundation.NSUrl url, out Foundation.NSError error);
	public NLGazetteer (Foundation.NSDictionary dictionary, Foundation.NSString language, out Foundation.NSError error);
	public NLGazetteer (NLStrongDictionary dictionary, NLLanguage? language, out Foundation.NSError error);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual NLLanguage? Language { get; }
	// methods
	public static NLGazetteer Create (Foundation.NSUrl url, out Foundation.NSError error);
	public virtual string GetLabel (string string);
	public static bool Write (Foundation.NSDictionary dictionary, Foundation.NSString language, Foundation.NSUrl url, out Foundation.NSError error);
	public static bool Write (NLStrongDictionary dictionary, NLLanguage? language, Foundation.NSUrl url, out Foundation.NSError error);
}

New Type: NaturalLanguage.NLStrongDictionary

public class NLStrongDictionary : Foundation.DictionaryContainer {
	// constructors
	public NLStrongDictionary ();
	public NLStrongDictionary (Foundation.NSDictionary dictionary);
	// properties
	public string[] Item { get; set; }
	public string[] Item { get; set; }
}

New Type: NaturalLanguage.NLTaggerAssetsResult

[Serializable]
public enum NLTaggerAssetsResult {
	Available = 0,
	Error = 2,
	NotAvailable = 1,
}

New Type: NaturalLanguage.NLVectorDictionary

public class NLVectorDictionary : Foundation.DictionaryContainer {
	// constructors
	public NLVectorDictionary ();
	public NLVectorDictionary (Foundation.NSDictionary dictionary);
	// properties
	public float[] Item { get; set; }
	public float[] Item { get; set; }
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "5.2";
+public const string SdkVersion = "6.0";
-public const string Version = "12.14.0";
+public const string Version = "13.2.0";

Added fields:

public static const string AuthenticationServicesLibrary = "/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices";
public static const string CoreMediaLibrary = "/System/Library/Frameworks/CoreMedia.framework/CoreMedia";
public static const string NetworkLibrary = "/System/Library/Frameworks/Network.framework/Network";
public static const string PushKitLibrary = "/System/Library/Frameworks/PushKit.framework/PushKit";
public static const string SoundAnalysisLibrary = "/System/Library/Frameworks/SoundAnalysis.framework/SoundAnalysis";

Type Changed: ObjCRuntime.PlatformName

Added values:

MacCatalyst = 5,
UIKitForMac = 5,

Type Changed: ObjCRuntime.TVAttribute

Obsoleted constructors:

 [Obsolete ("Use the overload that takes '(major, minor)', since tvOS is always 64-bit.")]
 public TVAttribute (byte major, byte minor, bool onlyOn64);
 [Obsolete ("Use the overload that takes '(major, minor, subminor)', since tvOS is always 64-bit.")]
 public TVAttribute (byte major, byte minor, byte subminor, bool onlyOn64);

Type Changed: ObjCRuntime.WatchAttribute

Obsoleted constructors:

 [Obsolete ("Use the overload that takes '(major, minor)', since watchOS is never 64-bit.")]
 public WatchAttribute (byte major, byte minor, bool onlyOn64);
 [Obsolete ("Use the overload that takes '(major, minor)', since watchOS is never 64-bit.")]
 public WatchAttribute (byte major, byte minor, byte subminor, bool onlyOn64);

Namespace PassKit

Type Changed: PassKit.PKPaymentMethod

Added property:

public virtual Contacts.CNContact BillingAddress { get; }

Type Changed: PassKit.PKPaymentRequestPaymentMethodUpdate

Added constructor:

public PKPaymentRequestPaymentMethodUpdate (Foundation.NSError[] errors, PKPaymentSummaryItem[] paymentSummaryItems);

Added property:

public virtual Foundation.NSError[] Errors { get; set; }

New Type: PassKit.PKAddPaymentPassError

[Serializable]
public enum PKAddPaymentPassError {
	SystemCancelled = 2,
	Unsupported = 0,
	UserCancelled = 1,
}

Namespace Security

Type Changed: Security.SecAccessControlCreateFlags

Added value:

Watch = 32,

Type Changed: Security.SecIdentity2

Added method:

public bool AccessCertificates (System.Action<SecCertificate2> handler);

Type Changed: Security.SecProtocolMetadata

Added properties:

public TlsCipherSuite NegotiatedTlsCipherSuite { get; }
public TlsProtocolVersion NegotiatedTlsProtocolVersion { get; }
public string ServerName { get; }

Added methods:

public bool AccessPreSharedKeys (SecProtocolMetadata.SecAccessPreSharedKeysHandler handler);
public CoreFoundation.DispatchData CreateSecret (string label, nuint exporterLength);
public CoreFoundation.DispatchData CreateSecret (string label, byte[] context, nuint exporterLength);

Type Changed: Security.SecProtocolOptions

Added properties:

public static TlsProtocolVersion DefaultMaxDtlsProtocolVersion { get; }
public static TlsProtocolVersion DefaultMaxTlsProtocolVersion { get; }
public static TlsProtocolVersion DefaultMinDtlsProtocolVersion { get; }
public static TlsProtocolVersion DefaultMinTlsProtocolVersion { get; }

Added methods:

public void AddTlsCipherSuite (TlsCipherSuite cipherSuite);
public void AddTlsCipherSuiteGroup (TlsCipherSuiteGroup cipherSuiteGroup);
public bool IsEqual (SecProtocolOptions other);
public static bool IsEqual (SecProtocolOptions optionsA, SecProtocolOptions optionsB);
public void SetTlsMaxVersion (TlsProtocolVersion protocol);
public void SetTlsMinVersion (TlsProtocolVersion protocol);
public void SetTlsPreSharedKeyIdentityHint (CoreFoundation.DispatchData pskIdentityHint);

Type Changed: Security.SecStatusCode

Added values:

CertificateNameNotAllowed = -67900,
CertificatePolicyNotAllowed = -67899,
CertificateValidityPeriodTooLong = -67901,

Type Changed: Security.SecTrust

Added methods:

public SecStatusCode Evaluate (CoreFoundation.DispatchQueue queue, SecTrustCallback handler);
public SecStatusCode Evaluate (CoreFoundation.DispatchQueue queue, SecTrustWithErrorCallback handler);

Type Changed: Security.SslCipherSuite

Added values:

TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 49205,
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 49206,
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = 49175,
TLS_ECDH_anon_WITH_AES_128_CBC_SHA = 49176,
TLS_ECDH_anon_WITH_AES_256_CBC_SHA = 49177,
TLS_ECDH_anon_WITH_NULL_SHA = 49173,
TLS_ECDH_anon_WITH_RC4_128_SHA = 49174,
TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52395,

Type Changed: Security.SslStatus

Added values:

SslAtsCertificateHashAlgorithmViolation = -9885,
SslAtsCertificateTrustViolation = -9886,
SslAtsCiphersuiteViolation = -9882,
SslAtsLeafCertificateHashAlgorithmViolation = -9884,
SslAtsMinimumKeySizeViolation = -9883,
SslAtsMinimumVersionViolation = -9881,
SslAtsViolation = -9880,

New Type: Security.SecTrustCallback

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

New Type: Security.SecTrustWithErrorCallback

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

New Type: Security.TlsCipherSuite

[Serializable]
public enum TlsCipherSuite {
	Aes128GcmSha256 = 4865,
	Aes256GcmSha384 = 4866,
	Chacha20Poly1305Sha256 = 4867,
	EcdheEcdsaWith3desEdeCbcSha = 49160,
	EcdheEcdsaWithAes128CbcSha = 49161,
	EcdheEcdsaWithAes128CbcSha256 = 49187,
	EcdheEcdsaWithAes128GcmSha256 = 49195,
	EcdheEcdsaWithAes256CbcSha = 49162,
	EcdheEcdsaWithAes256CbcSha384 = 49188,
	EcdheEcdsaWithAes256GcmSha384 = 49196,
	EcdheEcdsaWithChacha20Poly1305Sha256 = 52393,
	EcdheRsaWith3desEdeCbcSha = 49170,
	EcdheRsaWithAes128CbcSha = 49171,
	EcdheRsaWithAes128CbcSha256 = 49191,
	EcdheRsaWithAes128GcmSha256 = 49199,
	EcdheRsaWithAes256CbcSha = 49172,
	EcdheRsaWithAes256CbcSha384 = 49192,
	EcdheRsaWithAes256GcmSha384 = 49200,
	EcdheRsaWithChacha20Poly1305Sha256 = 52392,
	RsaWith3desEdeCbcSha = 10,
	RsaWithAes128CbcSha = 47,
	RsaWithAes128CbcSha256 = 60,
	RsaWithAes128GcmSha256 = 156,
	RsaWithAes256CbcSha = 53,
	RsaWithAes256CbcSha256 = 61,
	RsaWithAes256GcmSha384 = 157,
}

New Type: Security.TlsCipherSuiteGroup

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

New Type: Security.TlsProtocolVersion

[Serializable]
public enum TlsProtocolVersion {
	Dtls10 = 65279,
	Dtls12 = 65277,
	Tls10 = 769,
	Tls11 = 770,
	Tls12 = 771,
	Tls13 = 772,
}

Namespace System.Net.Http

Type Changed: System.Net.Http.NSUrlSessionHandler

Added property:

public bool AllowsCellularAccess { get; set; }

Namespace UIKit

Type Changed: UIKit.UIAccessibilityContainerType

Added value:

SemanticGroup = 4,

Type Changed: UIKit.UIFont

Added methods:

public static UIFont GetMonospacedSystemFont (nfloat size, nfloat weight);
public static UIFont GetMonospacedSystemFont (nfloat size, UIFontWeight weight);

Type Changed: UIKit.UIFontDescriptorSystemDesign

Added values:

Monospaced = 3,
Serif = 2,

Type Changed: UIKit.UIImage

Added properties:

public static UIImage ActionsImage { get; }
public static UIImage AddImage { get; }
public virtual nfloat BaselineOffsetFromBottom { get; }
public static UIImage CheckmarkImage { get; }
public virtual UIImageConfiguration Configuration { get; }
public virtual bool HasBaseline { get; }
public static UIImage RemoveImage { get; }
public static UIImage StrokedCheckmarkImage { get; }
public virtual UIImageSymbolConfiguration SymbolConfiguration { get; }
public virtual bool SymbolImage { get; }

Added methods:

public virtual UIImage ApplyConfiguration (UIImageConfiguration configuration);
public virtual UIImage ApplyConfiguration (UIImageSymbolConfiguration configuration);
public virtual UIImage ApplyTintColor (UIColor color);
public virtual UIImage ApplyTintColor (UIColor color, UIImageRenderingMode renderingMode);
public static UIImage FromBundle (string name, Foundation.NSBundle bundle, UIImageConfiguration configuration);
public virtual UIImage GetImageFromBottom (nfloat baselineOffset);
public virtual UIImage GetImageWithoutBaseline ();
public static UIImage GetSystemImage (string name);
public static UIImage GetSystemImage (string name, UIImageConfiguration configuration);

New Type: UIKit.NSDataAsset

public class NSDataAsset : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NSDataAsset (Foundation.NSObjectFlag t);
	protected NSDataAsset (IntPtr handle);
	public NSDataAsset (string name);
	public NSDataAsset (string name, Foundation.NSBundle bundle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual string Name { get; }
	public virtual Foundation.NSString TypeIdentifier { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: UIKit.NSDirectionalRectEdge

[Serializable]
[Flags]
public enum NSDirectionalRectEdge {
	All = 15,
	Bottom = 4,
	Leading = 2,
	None = 0,
	Top = 1,
	Trailing = 8,
}

New Type: UIKit.NSRectAlignment

[Serializable]
public enum NSRectAlignment {
	Bottom = 5,
	BottomLeading = 4,
	BottomTrailing = 6,
	Leading = 3,
	None = 0,
	Top = 1,
	TopLeading = 2,
	TopTrailing = 8,
	Trailing = 7,
}

New Type: UIKit.NSShadow

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

New Type: UIKit.NSTextScalingType

[Serializable]
public enum NSTextScalingType {
	Standard = 0,
	iOS = 1,
}

New Type: UIKit.UIAccessibilityTextualContext

[Serializable]
public enum UIAccessibilityTextualContext {
	Console = 6,
	FileSystem = 4,
	Messaging = 2,
	Narrative = 1,
	SourceCode = 5,
	Spreadsheet = 3,
	WordProcessing = 0,
}

New Type: UIKit.UIAccessibilityTextualContextExtensions

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

New Type: UIKit.UIImageConfiguration

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

New Type: UIKit.UIImageSymbolConfiguration

public class UIImageSymbolConfiguration : UIKit.UIImageConfiguration, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public UIImageSymbolConfiguration ();
	public UIImageSymbolConfiguration (Foundation.NSCoder coder);
	protected UIImageSymbolConfiguration (Foundation.NSObjectFlag t);
	protected UIImageSymbolConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UIImageSymbolConfiguration ConfigurationWithoutPointSizeAndWeight { get; }
	public virtual UIImageSymbolConfiguration ConfigurationWithoutScale { get; }
	public virtual UIImageSymbolConfiguration ConfigurationWithoutTextStyle { get; }
	public virtual UIImageSymbolConfiguration ConfigurationWithoutWeight { get; }
	public static UIImageSymbolConfiguration UnspecifiedConfiguration { get; }
	// methods
	public static UIImageSymbolConfiguration Create (nfloat pointSize);
	public static UIImageSymbolConfiguration Create (UIFont font);
	public static UIImageSymbolConfiguration Create (UIFontTextStyle textStyle);
	public static UIImageSymbolConfiguration Create (UIImageSymbolScale scale);
	public static UIImageSymbolConfiguration Create (UIImageSymbolWeight weight);
	public static UIImageSymbolConfiguration Create (nfloat pointSize, UIImageSymbolWeight weight);
	public static UIImageSymbolConfiguration Create (UIFont font, UIImageSymbolScale scale);
	public static UIImageSymbolConfiguration Create (UIFontTextStyle textStyle, UIImageSymbolScale scale);
	public static UIImageSymbolConfiguration Create (nfloat pointSize, UIImageSymbolWeight weight, UIImageSymbolScale scale);
	public virtual bool IsEqualTo (UIImageSymbolConfiguration otherConfiguration);
}

New Type: UIKit.UIImageSymbolScale

[Serializable]
public enum UIImageSymbolScale {
	Default = -1,
	Large = 3,
	Medium = 2,
	Small = 1,
	Unspecified = 0,
}

New Type: UIKit.UIImageSymbolWeight

[Serializable]
public enum UIImageSymbolWeight {
	Black = 9,
	Bold = 7,
	Heavy = 8,
	Light = 3,
	Medium = 5,
	Regular = 4,
	Semibold = 6,
	Thin = 2,
	UltraLight = 1,
	Unspecified = 0,
}

Namespace UserNotifications

Type Changed: UserNotifications.UNMutableNotificationContent

Added property:

public virtual string TargetContentIdentifier { get; set; }

Type Changed: UserNotifications.UNNotificationCategoryOptions

Added value:

AllowAnnouncement = 16,

Type Changed: UserNotifications.UNNotificationContent

Added property:

public virtual string TargetContentIdentifier { get; set; }

Type Changed: UserNotifications.UNNotificationSettings

Added property:

public virtual UNNotificationSetting AnnouncementSetting { get; }

New Type: UserNotifications.UNNotificationServiceExtension

public class UNNotificationServiceExtension : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected UNNotificationServiceExtension (Foundation.NSObjectFlag t);
	protected UNNotificationServiceExtension (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void DidReceiveNotificationRequest (UNNotificationRequest request, System.Action<UNNotificationContent> contentHandler);
	public virtual void TimeWillExpire ();
}

Namespace WatchConnectivity

Type Changed: WatchConnectivity.WCErrorCode

Added values:

CompanionAppNotInstalled = 7018,
WatchOnlyApp = 7019,

Type Changed: WatchConnectivity.WCSession

Added property:

public virtual bool CompanionAppInstalled { get; }

Type Changed: WatchConnectivity.WCSessionDelegate

Added method:

public virtual void CompanionAppInstalledDidChange (WCSession session);

Type Changed: WatchConnectivity.WCSessionDelegate_Extensions

Added method:

public static void CompanionAppInstalledDidChange (this IWCSessionDelegate This, WCSession session);

Namespace WatchKit

Type Changed: WatchKit.WKExtension

Added property:

public virtual bool RegisteredForRemoteNotifications { get; }

Added methods:

public virtual void RegisterForRemoteNotifications ();
public virtual void UnregisterForRemoteNotifications ();

Type Changed: WatchKit.WKExtensionDelegate

Added methods:

public virtual void DidFailToRegisterForRemoteNotifications (Foundation.NSError error);
public virtual void DidReceiveRemoteNotification (Foundation.NSDictionary userInfo, System.Action<WKBackgroundFetchResult> completionHandler);
public virtual void DidRegisterForRemoteNotifications (Foundation.NSData deviceToken);
public virtual void HandleExtendedRuntimeSession (WKExtendedRuntimeSession extendedRuntimeSession);

Type Changed: WatchKit.WKExtensionDelegate_Extensions

Added methods:

public static void DidFailToRegisterForRemoteNotifications (this IWKExtensionDelegate This, Foundation.NSError error);
public static void DidReceiveRemoteNotification (this IWKExtensionDelegate This, Foundation.NSDictionary userInfo, System.Action<WKBackgroundFetchResult> completionHandler);
public static void DidRegisterForRemoteNotifications (this IWKExtensionDelegate This, Foundation.NSData deviceToken);
public static void HandleExtendedRuntimeSession (this IWKExtensionDelegate This, WKExtendedRuntimeSession extendedRuntimeSession);

Type Changed: WatchKit.WKInterfaceActivityRing

Added constructor:

public WKInterfaceActivityRing ();

Type Changed: WatchKit.WKInterfaceDevice

Added property:

public virtual bool SupportsAudioStreaming { get; }

Type Changed: WatchKit.WKInterfaceHMCamera

Added constructor:

public WKInterfaceHMCamera ();

Type Changed: WatchKit.WKInterfaceInlineMovie

Added constructor:

public WKInterfaceInlineMovie ();

Type Changed: WatchKit.WKInterfaceMap

Added constructor:

public WKInterfaceMap ();

Type Changed: WatchKit.WKInterfaceMovie

Added constructor:

public WKInterfaceMovie ();

Type Changed: WatchKit.WKInterfaceObject

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual bool AccessibilityRespondsToUserInteraction { get; set; }
public virtual string AccessibilityTextualContext { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }
public static Foundation.NSString SpeechAttributeSpellOut { get; }
public static Foundation.NSString TextAttributeContext { get; }

Type Changed: WatchKit.WKInterfacePaymentButton

Added constructor:

public WKInterfacePaymentButton (Foundation.NSObject target, ObjCRuntime.Selector action);

Type Changed: WatchKit.WKInterfaceSCNScene

Added constructor:

public WKInterfaceSCNScene ();

Type Changed: WatchKit.WKInterfaceSKScene

Added constructor:

public WKInterfaceSKScene ();

Type Changed: WatchKit.WKInterfaceVolumeControl

Added constructor:

public WKInterfaceVolumeControl (WKInterfaceVolumeControlOrigin origin);

Added methods:

public virtual void Focus ();
public virtual void ResignFocus ();

New Type: WatchKit.IWKExtendedRuntimeSessionDelegate

public interface IWKExtendedRuntimeSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidInvalidate (WKExtendedRuntimeSession extendedRuntimeSession, WKExtendedRuntimeSessionInvalidationReason reason, Foundation.NSError error);
	public virtual void DidStart (WKExtendedRuntimeSession extendedRuntimeSession);
	public virtual void WillExpire (WKExtendedRuntimeSession extendedRuntimeSession);
}

New Type: WatchKit.WKBackgroundFetchResult

[Serializable]
public enum WKBackgroundFetchResult {
	Failed = 2,
	NewData = 0,
	NoData = 1,
}

New Type: WatchKit.WKExtendedRuntimeSession

public class WKExtendedRuntimeSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKExtendedRuntimeSession (Foundation.NSObjectFlag t);
	protected WKExtendedRuntimeSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IWKExtendedRuntimeSessionDelegate Delegate { get; set; }
	public virtual Foundation.NSDate ExpirationDate { get; }
	public virtual WKExtendedRuntimeSessionState State { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public static WKExtendedRuntimeSession Create ();
	protected override void Dispose (bool disposing);
	public virtual void Invalidate ();
	public virtual void NotifyUser (WKHapticType type, WKNofityUserIntervalHandler repeatHandler);
	public virtual void Start ();
	public virtual void Start (Foundation.NSDate date);
}

New Type: WatchKit.WKExtendedRuntimeSessionDelegate

public abstract class WKExtendedRuntimeSessionDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IWKExtendedRuntimeSessionDelegate {
	// constructors
	protected WKExtendedRuntimeSessionDelegate ();
	protected WKExtendedRuntimeSessionDelegate (Foundation.NSObjectFlag t);
	protected WKExtendedRuntimeSessionDelegate (IntPtr handle);
	// methods
	public virtual void DidInvalidate (WKExtendedRuntimeSession extendedRuntimeSession, WKExtendedRuntimeSessionInvalidationReason reason, Foundation.NSError error);
	public virtual void DidStart (WKExtendedRuntimeSession extendedRuntimeSession);
	public virtual void WillExpire (WKExtendedRuntimeSession extendedRuntimeSession);
}

New Type: WatchKit.WKExtendedRuntimeSessionErrorCode

[Serializable]
public enum WKExtendedRuntimeSessionErrorCode {
	BARDisabled = 6,
	ExceededResourceLimits = 5,
	MustBeActiveToStartOrSchedule = 3,
	NotApprovedToSchedule = 8,
	NotApprovedToStartSession = 7,
	NotYetStarted = 4,
	ScheduledTooFarInAdvance = 2,
	Unknown = 1,
}

New Type: WatchKit.WKExtendedRuntimeSessionErrorCodeExtensions

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

New Type: WatchKit.WKExtendedRuntimeSessionInvalidationReason

[Serializable]
public enum WKExtendedRuntimeSessionInvalidationReason {
	Error = -1,
	Expired = 2,
	None = 0,
	ResignedFrontmost = 3,
	SessionInProgress = 1,
}

New Type: WatchKit.WKExtendedRuntimeSessionState

[Serializable]
public enum WKExtendedRuntimeSessionState {
	Invalid = 3,
	NotStarted = 0,
	Running = 2,
	Scheduled = 1,
}

New Type: WatchKit.WKInterfaceAuthorizationAppleIdButton

public class WKInterfaceAuthorizationAppleIdButton : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceAuthorizationAppleIdButton (Foundation.NSObjectFlag t);
	protected WKInterfaceAuthorizationAppleIdButton (IntPtr handle);
	public WKInterfaceAuthorizationAppleIdButton (Foundation.NSObject target, ObjCRuntime.Selector action);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: WatchKit.WKInterfaceTextField

public class WKInterfaceTextField : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceTextField (Foundation.NSObjectFlag t);
	protected WKInterfaceTextField (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetEnabled (bool enabled);
	public virtual void SetPlaceholder (Foundation.NSAttributedString attributedPlaceholder);
	public virtual void SetPlaceholder (string placeholder);
	public virtual void SetSecureTextEntry (bool secureTextEntry);
	public virtual void SetText (Foundation.NSAttributedString attributedText);
	public virtual void SetText (string text);
	public virtual void SetTextColor (UIKit.UIColor color);
	public virtual void SetTextContentType (WKTextContentType? textContentType);
}

New Type: WatchKit.WKInterfaceVolumeControlOrigin

[Serializable]
public enum WKInterfaceVolumeControlOrigin {
	Companion = 1,
	Local = 0,
}

New Type: WatchKit.WKNofityUserIntervalHandler

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

New Type: WatchKit.WKTextContentType

[Serializable]
public enum WKTextContentType {
	AddressCity = 14,
	AddressCityAndState = 16,
	AddressState = 15,
	CountryName = 18,
	CreditCardNumber = 23,
	EmailAddress = 21,
	FamilyName = 5,
	FullStreetAddress = 11,
	GivenName = 3,
	JobTitle = 8,
	Location = 10,
	MiddleName = 4,
	Name = 1,
	NamePrefix = 2,
	NameSuffix = 6,
	NewPassword = 26,
	Nickname = 7,
	None = 0,
	OneTimeCode = 27,
	OrganizationName = 9,
	Password = 25,
	PostalCode = 19,
	StreetAddressLine1 = 12,
	StreetAddressLine2 = 13,
	Sublocality = 17,
	TelephoneNumber = 20,
	Url = 22,
	Username = 24,
}

New Type: WatchKit.WKTextContentTypeExtensions

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

New Namespace AuthenticationServices

New Type: AuthenticationServices.ASAuthorization

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

New Type: AuthenticationServices.ASAuthorizationAppleIdCredential

public class ASAuthorizationAppleIdCredential : Foundation.NSObject, IASAuthorizationCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationAppleIdCredential (Foundation.NSCoder coder);
	protected ASAuthorizationAppleIdCredential (Foundation.NSObjectFlag t);
	protected ASAuthorizationAppleIdCredential (IntPtr handle);
	// properties
	public virtual Foundation.NSData AuthorizationCode { get; }
	public virtual ASAuthorizationScope[] AuthorizedScopes { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string Email { get; }
	public virtual Foundation.NSPersonNameComponents FullName { get; }
	public virtual Foundation.NSData IdentityToken { get; }
	public virtual ASUserDetectionStatus RealUserStatus { get; }
	public virtual string State { get; }
	public virtual string User { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASAuthorizationAppleIdProvider

public class ASAuthorizationAppleIdProvider : Foundation.NSObject, IASAuthorizationProvider, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationAppleIdProvider ();
	protected ASAuthorizationAppleIdProvider (Foundation.NSObjectFlag t);
	protected ASAuthorizationAppleIdProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString CredentialRevokedNotification { get; }
	// methods
	public virtual ASAuthorizationAppleIdRequest CreateRequest ();
	public virtual void GetCredentialState (string userID, System.Action<ASAuthorizationAppleIdProviderCredentialState,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<ASAuthorizationAppleIdProviderCredentialState> GetCredentialStateAsync (string userID);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveCredentialRevoked (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveCredentialRevoked (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: AuthenticationServices.ASAuthorizationAppleIdProviderCredentialState

[Serializable]
public enum ASAuthorizationAppleIdProviderCredentialState {
	Authorized = 1,
	NotFound = 2,
	Revoked = 0,
	Transferred = 3,
}

New Type: AuthenticationServices.ASAuthorizationAppleIdRequest

public class ASAuthorizationAppleIdRequest : AuthenticationServices.ASAuthorizationOpenIdRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationAppleIdRequest (Foundation.NSCoder coder);
	protected ASAuthorizationAppleIdRequest (Foundation.NSObjectFlag t);
	protected ASAuthorizationAppleIdRequest (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string User { get; set; }
}

New Type: AuthenticationServices.ASAuthorizationController

public class ASAuthorizationController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationController (ASAuthorizationRequest[] authorizationRequests);
	protected ASAuthorizationController (Foundation.NSObjectFlag t);
	protected ASAuthorizationController (IntPtr handle);
	// properties
	public virtual ASAuthorizationRequest[] AuthorizationRequests { get; }
	public override IntPtr ClassHandle { get; }
	public IASAuthorizationControllerDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void PerformRequests ();
}

New Type: AuthenticationServices.ASAuthorizationControllerDelegate

public class ASAuthorizationControllerDelegate : Foundation.NSObject, IASAuthorizationControllerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationControllerDelegate ();
	protected ASAuthorizationControllerDelegate (Foundation.NSObjectFlag t);
	protected ASAuthorizationControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidComplete (ASAuthorizationController controller, ASAuthorization authorization);
	public virtual void DidComplete (ASAuthorizationController controller, Foundation.NSError error);
}

New Type: AuthenticationServices.ASAuthorizationControllerDelegate_Extensions

public static class ASAuthorizationControllerDelegate_Extensions {
	// methods
	public static void DidComplete (this IASAuthorizationControllerDelegate This, ASAuthorizationController controller, ASAuthorization authorization);
	public static void DidComplete (this IASAuthorizationControllerDelegate This, ASAuthorizationController controller, Foundation.NSError error);
}

New Type: AuthenticationServices.ASAuthorizationError

[Serializable]
public enum ASAuthorizationError {
	Canceled = 1001,
	Failed = 1004,
	InvalidResponse = 1002,
	NotHandled = 1003,
	Unknown = 1000,
}

New Type: AuthenticationServices.ASAuthorizationErrorExtensions

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

New Type: AuthenticationServices.ASAuthorizationOpenIdRequest

public class ASAuthorizationOpenIdRequest : AuthenticationServices.ASAuthorizationRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationOpenIdRequest (Foundation.NSCoder coder);
	protected ASAuthorizationOpenIdRequest (Foundation.NSObjectFlag t);
	protected ASAuthorizationOpenIdRequest (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Nonce { get; set; }
	public virtual ASAuthorizationOperation RequestedOperation { get; set; }
	public virtual ASAuthorizationScope[] RequestedScopes { get; set; }
	public virtual string State { get; set; }
}

New Type: AuthenticationServices.ASAuthorizationOperation

[Serializable]
public enum ASAuthorizationOperation {
	Implicit = 0,
	Login = 1,
	Logout = 3,
	Refresh = 2,
}

New Type: AuthenticationServices.ASAuthorizationOperationExtensions

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

New Type: AuthenticationServices.ASAuthorizationPasswordProvider

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

New Type: AuthenticationServices.ASAuthorizationPasswordRequest

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

New Type: AuthenticationServices.ASAuthorizationRequest

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

New Type: AuthenticationServices.ASAuthorizationScope

[Serializable]
public enum ASAuthorizationScope {
	Email = 1,
	FullName = 0,
}

New Type: AuthenticationServices.ASAuthorizationScopeExtensions

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

New Type: AuthenticationServices.ASPasswordCredential

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

New Type: AuthenticationServices.ASUserDetectionStatus

[Serializable]
public enum ASUserDetectionStatus {
	LikelyReal = 2,
	Unknown = 1,
	Unsupported = 0,
}

New Type: AuthenticationServices.IASAuthorizationControllerDelegate

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

New Type: AuthenticationServices.IASAuthorizationCredential

public interface IASAuthorizationCredential : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: AuthenticationServices.IASAuthorizationProvider

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

New Namespace CoreMedia

New Type: CoreMedia.CMAttachmentBearer

public static class CMAttachmentBearer {
	// methods
	public static T GetAttachment<T> (this ICMAttachmentBearer target, string key, out CMAttachmentMode attachmentModeOut);
	public static Foundation.NSDictionary<TKey,TValue> GetAttachments<TKey, TValue> (this ICMAttachmentBearer target, CMAttachmentMode attachmentMode);
	public static Foundation.NSDictionary GetAttachments (this ICMAttachmentBearer target, CMAttachmentMode attachmentMode);
	public static void PropagateAttachments (this ICMAttachmentBearer source, ICMAttachmentBearer destination);
	public static void RemoveAllAttachments (this ICMAttachmentBearer target);
	public static void RemoveAttachment (this ICMAttachmentBearer target, string key);
	public static void SetAttachment (this ICMAttachmentBearer target, string key, ObjCRuntime.INativeObject value, CMAttachmentMode attachmentMode);
	public static void SetAttachments (this ICMAttachmentBearer target, Foundation.NSDictionary theAttachments, CMAttachmentMode attachmentMode);
}

New Type: CoreMedia.CMAttachmentMode

[Serializable]
public enum CMAttachmentMode {
	ShouldNotPropagate = 0,
	ShouldPropagate = 1,
}

New Type: CoreMedia.CMAudioFormatDescription

public class CMAudioFormatDescription : CoreMedia.CMFormatDescription, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CoreMedia.CMBlockBuffer

public class CMBlockBuffer : ICMAttachmentBearer, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public nuint DataLength { get; }
	public virtual IntPtr Handle { get; }
	public bool IsEmpty { get; }
	// methods
	public CMBlockBufferError AccessDataBytes (nuint offset, nuint length, IntPtr temporaryBlock, ref IntPtr returnedPointer);
	public CMBlockBufferError AppendBuffer (CMBlockBuffer targetBuffer, nuint offsetToData, nuint dataLength, CMBlockBufferFlags flags);
	public CMBlockBufferError AppendMemoryBlock (byte[] data, nuint offsetToData, CMBlockBufferFlags flags);
	public CMBlockBufferError AppendMemoryBlock (IntPtr memoryBlock, nuint blockLength, CMCustomBlockAllocator customBlockSource, nuint offsetToData, nuint dataLength, CMBlockBufferFlags flags);
	public CMBlockBufferError AssureBlockMemory ();
	public CMBlockBufferError CopyDataBytes (nuint offsetToData, nuint dataLength, IntPtr destination);
	public CMBlockBufferError CopyDataBytes (nuint offsetToData, nuint dataLength, out byte[] destination);
	public static CMBlockBuffer CreateContiguous (CMBlockBuffer sourceBuffer, CMCustomBlockAllocator customBlockSource, nuint offsetToData, nuint dataLength, CMBlockBufferFlags flags, out CMBlockBufferError error);
	public static CMBlockBuffer CreateEmpty (uint subBlockCapacity, CMBlockBufferFlags flags, out CMBlockBufferError error);
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public CMBlockBufferError FillDataBytes (byte fillByte, nuint offsetIntoDestination, nuint dataLength);
	public static CMBlockBuffer FromBuffer (CMBlockBuffer targetBuffer, nuint offsetToData, nuint dataLength, CMBlockBufferFlags flags, out CMBlockBufferError error);
	public static CMBlockBuffer FromMemoryBlock (byte[] data, nuint offsetToData, CMBlockBufferFlags flags, out CMBlockBufferError error);
	public static CMBlockBuffer FromMemoryBlock (IntPtr memoryBlock, nuint blockLength, CMCustomBlockAllocator customBlockSource, nuint offsetToData, nuint dataLength, CMBlockBufferFlags flags, out CMBlockBufferError error);
	public CMBlockBufferError GetDataPointer (nuint offset, out nuint lengthAtOffset, out nuint totalLength, ref IntPtr dataPointer);
	public bool IsRangeContiguous (nuint offset, nuint length);
	public CMBlockBufferError ReplaceDataBytes (byte[] sourceBytes, nuint offsetIntoDestination);
	public CMBlockBufferError ReplaceDataBytes (IntPtr sourceBytes, nuint offsetIntoDestination, nuint dataLength);
	protected override void ~CMBlockBuffer ();
}

New Type: CoreMedia.CMBlockBufferError

[Serializable]
public enum CMBlockBufferError {
	BadCustomBlockSource = -12702,
	BadLengthParameter = -12704,
	BadOffsetParameter = -12703,
	BadPointerParameter = -12705,
	BlockAllocationFailed = -12701,
	EmptyBlockBuffer = -12706,
	InsufficientSpace = -12708,
	None = 0,
	StructureAllocationFailed = -12700,
	UnallocatedBlock = -12707,
}

New Type: CoreMedia.CMBlockBufferFlags

[Serializable]
[Flags]
public enum CMBlockBufferFlags {
	AlwaysCopyData = 2,
	AssureMemoryNow = 1,
	DontOptimizeDepth = 4,
	PermitEmptyReference = 8,
}

New Type: CoreMedia.CMBufferCompare

public sealed delegate CMBufferCompare : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CMBufferCompare (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ObjCRuntime.INativeObject first, ObjCRuntime.INativeObject second, System.AsyncCallback callback, object object);
	public virtual int EndInvoke (System.IAsyncResult result);
	public virtual int Invoke (ObjCRuntime.INativeObject first, ObjCRuntime.INativeObject second);
}

New Type: CoreMedia.CMBufferGetBool

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

New Type: CoreMedia.CMBufferGetSize

public sealed delegate CMBufferGetSize : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CMBufferGetSize (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ObjCRuntime.INativeObject buffer, System.AsyncCallback callback, object object);
	public virtual nint EndInvoke (System.IAsyncResult result);
	public virtual nint Invoke (ObjCRuntime.INativeObject buffer);
}

New Type: CoreMedia.CMBufferGetTime

public sealed delegate CMBufferGetTime : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CMBufferGetTime (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ObjCRuntime.INativeObject buffer, System.AsyncCallback callback, object object);
	public virtual CMTime EndInvoke (System.IAsyncResult result);
	public virtual CMTime Invoke (ObjCRuntime.INativeObject buffer);
}

New Type: CoreMedia.CMBufferQueue

public class CMBufferQueue : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public nint BufferCount { get; }
	public bool ContainsEndOfData { get; }
	public CMTime Duration { get; }
	public virtual IntPtr Handle { get; }
	public bool IsAtEndOfData { get; }
	public bool IsEmpty { get; }
	// methods
	public static CMBufferQueue CreateUnsorted (int count);
	public ObjCRuntime.INativeObject Dequeue ();
	public ObjCRuntime.INativeObject DequeueIfDataReady ();
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public void Enqueue (ObjCRuntime.INativeObject cftypeBuffer);
	public static CMBufferQueue FromCallbacks (int count, CMBufferGetTime getDecodeTimeStamp, CMBufferGetTime getPresentationTimeStamp, CMBufferGetTime getDuration, CMBufferGetBool isDataReady, CMBufferCompare compare, Foundation.NSString dataBecameReadyNotification);
	public static CMBufferQueue FromCallbacks (int count, CMBufferGetTime getDecodeTimeStamp, CMBufferGetTime getPresentationTimeStamp, CMBufferGetTime getDuration, CMBufferGetBool isDataReady, CMBufferCompare compare, Foundation.NSString dataBecameReadyNotification, CMBufferGetSize getTotalSize);
	public nint GetTotalSize ();
	public int MarkEndOfData ();
	public int Reset ();
	protected override void ~CMBufferQueue ();

	// inner types
	[Serializable]
	public enum TriggerCondition {
		WhenBufferCountBecomesGreaterThan = 11,
		WhenBufferCountBecomesLessThan = 10,
		WhenDataBecomesReady = 7,
		WhenDurationBecomesGreaterThan = 3,
		WhenDurationBecomesGreaterThanOrEqualTo = 4,
		WhenDurationBecomesGreaterThanOrEqualToAndBufferCountBecomesGreaterThan = 12,
		WhenDurationBecomesLessThan = 1,
		WhenDurationBecomesLessThanOrEqualTo = 2,
		WhenEndOfDataReached = 8,
		WhenMaxPresentationTimeStampChanges = 6,
		WhenMinPresentationTimeStampChanges = 5,
		WhenReset = 9,
	}
}

New Type: CoreMedia.CMClock

public class CMClock : CoreMedia.CMClockOrTimebase, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMClock (IntPtr handle);
	// properties
	public CMTime CurrentTime { get; }
	public static CMClock HostTimeClock { get; }
	// methods
	public static ulong ConvertHostTimeToSystemUnits (CMTime hostTime);
	public static CMClock CreateAudioClock (out CMClockError clockError);
	public static CMTime CreateHostTimeFromSystemUnits (ulong hostTime);
	public CMClockError GetAnchorTime (out CMTime clockTime, out CMTime referenceClockTime);
	public void Invalidate ();
	public bool MightDrift (CMClock otherClock);
}

New Type: CoreMedia.CMClockError

[Serializable]
public enum CMClockError {
	AllocationFailed = -12747,
	InvalidParameter = -12746,
	MissingRequiredParameter = -12745,
	None = 0,
	UnsupportedOperation = -12756,
}

New Type: CoreMedia.CMClockOrTimebase

public class CMClockOrTimebase : ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMClockOrTimebase (IntPtr handle);
	// properties
	public virtual IntPtr Handle { get; }
	public CMTime Time { get; }
	// methods
	public static CMTime ConvertTime (CMTime time, CMClockOrTimebase from, CMClockOrTimebase to);
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public static double GetRelativeRate (CMClockOrTimebase clockOrTimebaseA, CMClockOrTimebase clockOrTimebaseB);
	public static CMSyncError GetRelativeRateAndAnchorTime (CMClockOrTimebase clockOrTimebaseA, CMClockOrTimebase clockOrTimebaseB, out double relativeRate, out CMTime timeA, out CMTime timeB);
	public static bool MightDrift (CMClockOrTimebase clockOrTimebaseA, CMClockOrTimebase clockOrTimebaseB);
	protected override void ~CMClockOrTimebase ();
}

New Type: CoreMedia.CMClosedCaptionFormatType

[Serializable]
public enum CMClosedCaptionFormatType {
	ATSC = 1635017571,
	CEA608 = 1664495672,
	CEA708 = 1664561208,
}

New Type: CoreMedia.CMCustomBlockAllocator

public class CMCustomBlockAllocator : System.IDisposable {
	// constructors
	public CMCustomBlockAllocator ();
	// methods
	public virtual IntPtr Allocate (nuint sizeInBytes);
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public virtual void Free (IntPtr doomedMemoryBlock, nuint sizeInBytes);
	protected override void ~CMCustomBlockAllocator ();
}

New Type: CoreMedia.CMFormatDescription

public class CMFormatDescription : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public AudioToolbox.AudioChannelLayout AudioChannelLayout { get; }
	public AudioToolbox.AudioFormatType AudioFormatType { get; }
	public AudioToolbox.AudioFormat[] AudioFormats { get; }
	public byte[] AudioMagicCookie { get; }
	public AudioToolbox.AudioFormat AudioMostCompatibleFormat { get; }
	public AudioToolbox.AudioFormat AudioRichestDecodableFormat { get; }
	public AudioToolbox.AudioStreamBasicDescription? AudioStreamBasicDescription { get; }
	public CMClosedCaptionFormatType ClosedCaptionFormatType { get; }
	public virtual IntPtr Handle { get; }
	public uint MediaSubType { get; }
	public CMMediaType MediaType { get; }
	public CMMetadataFormatType MetadataFormatType { get; }
	public CMMuxedStreamType MuxedStreamType { get; }
	public CMSubtitleFormatType SubtitleFormatType { get; }
	public CMTimeCodeFormatType TimeCodeFormatType { get; }
	public CMVideoCodecType VideoCodecType { get; }
	// methods
	public static CMFormatDescription Create (IntPtr handle);
	public static CMFormatDescription Create (IntPtr handle, bool owns);
	public static CMFormatDescription Create (CMMediaType mediaType, uint mediaSubtype, out CMFormatDescriptionError error);
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public Foundation.NSObject GetExtension (string extensionKey);
	public Foundation.NSDictionary GetExtensions ();
	public static nint GetTypeID ();
	protected override void ~CMFormatDescription ();
}

New Type: CoreMedia.CMFormatDescriptionError

[Serializable]
public enum CMFormatDescriptionError {
	AllocationFailed = -12711,
	InvalidParameter = -12710,
	None = 0,
	ValueNotAvailable = -12718,
}

New Type: CoreMedia.CMHevcTemporalLevelInfoSettings

public class CMHevcTemporalLevelInfoSettings : Foundation.DictionaryContainer {
	// constructors
	public CMHevcTemporalLevelInfoSettings ();
	public CMHevcTemporalLevelInfoSettings (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSData ConstraintIndicatorFlags { get; set; }
	public int? LevelIndex { get; set; }
	public Foundation.NSData ProfileCompatibilityFlags { get; set; }
	public int? ProfileIndex { get; set; }
	public int? ProfileSpace { get; set; }
	public int? TemporalLevel { get; set; }
	public int? TierFlag { get; set; }
}

New Type: CoreMedia.CMMediaType

[Serializable]
public enum CMMediaType {
	Audio = 1936684398,
	ClosedCaption = 1668047728,
	Metadata = 1835365473,
	Muxed = 1836415096,
	Subtitle = 1935832172,
	Text = 1952807028,
	TimeCode = 1953325924,
	Video = 1986618469,
}

New Type: CoreMedia.CMMemoryPool

public class CMMemoryPool : ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMMemoryPool ();
	public CMMemoryPool (System.TimeSpan ageOutPeriod);
	// properties
	public virtual IntPtr Handle { get; }
	// methods
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public void Flush ();
	public CoreFoundation.CFAllocator GetAllocator ();
	public void Invalidate ();
	protected override void ~CMMemoryPool ();
}

New Type: CoreMedia.CMMetadataFormatType

[Serializable]
public enum CMMetadataFormatType {
	Boxed = 1835360888,
	Emsg = 1701671783,
	ICY = 1768126752,
	ID3 = 1768174368,
}

New Type: CoreMedia.CMMuxedStreamType

[Serializable]
public enum CMMuxedStreamType {
	DV = 1685463072,
	MPEG1System = 1836069235,
	MPEG2Program = 1836069488,
	MPEG2Transport = 1836069492,
}

New Type: CoreMedia.CMPixelFormat

[Serializable]
public enum CMPixelFormat {
	AlphaRedGreenBlue32bits = 32,
	BigEndian555_16bits = 16,
	BigEndian565_16bits = 1110783541,
	BlueGreenRedAlpha32bits = 1111970369,
	IndexedGrayWhiteIsZero_8bits = 40,
	LittleEndian5551_16bits = 892679473,
	LittleEndian555_16bits = 1278555445,
	LittleEndian565_16bits = 1278555701,
	RedGreenBlue24bits = 24,
	YpCbCr422_10bits = 1983000880,
	YpCbCr422_16bits = 1983000886,
	YpCbCr422_8bits = 846624121,
	YpCbCr422yuvs_8bits = 2037741171,
	YpCbCr444_10bits = 1983131952,
	YpCbCr444_8bits = 1983066168,
	YpCbCrA4444_8bits = 1983131704,
}

New Type: CoreMedia.CMSampleBuffer

public class CMSampleBuffer : ICMAttachmentBearer, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public bool DataIsReady { get; }
	public CMTime DecodeTimeStamp { get; }
	public CMTime Duration { get; }
	public virtual IntPtr Handle { get; }
	public bool IsValid { get; }
	public nint NumSamples { get; }
	public CMTime OutputDecodeTimeStamp { get; }
	public CMTime OutputDuration { get; }
	public CMTime OutputPresentationTimeStamp { get; }
	public CMTime PresentationTimeStamp { get; set; }
	public nuint TotalSampleSize { get; }
	// methods
	public CMSampleBufferError CallForEachSample (System.Func<CMSampleBuffer,System.Int32,CoreMedia.CMSampleBufferError> callback);
	public CMSampleBufferError CopyPCMDataIntoAudioBufferList (int frameOffset, int numFrames, AudioToolbox.AudioBuffers bufferList);
	public static CMSampleBuffer CreateForImageBuffer (CoreVideo.CVImageBuffer imageBuffer, bool dataReady, CMVideoFormatDescription formatDescription, CMSampleTimingInfo sampleTiming, out CMSampleBufferError error);
	public static CMSampleBuffer CreateReady (CMBlockBuffer dataBuffer, CMFormatDescription formatDescription, int samplesCount, CMSampleTimingInfo[] sampleTimingArray, nuint[] sampleSizeArray, out CMSampleBufferError error);
	public static CMSampleBuffer CreateReadyWithImageBuffer (CoreVideo.CVImageBuffer imageBuffer, CMFormatDescription formatDescription, ref CMSampleTimingInfo sampleTiming, out CMSampleBufferError error);
	public static CMSampleBuffer CreateReadyWithPacketDescriptions (CMBlockBuffer dataBuffer, CMFormatDescription formatDescription, int samplesCount, CMTime sampleTimestamp, AudioToolbox.AudioStreamPacketDescription[] packetDescriptions, out CMSampleBufferError error);
	public static CMSampleBuffer CreateWithNewTiming (CMSampleBuffer original, CMSampleTimingInfo[] timing);
	public static CMSampleBuffer CreateWithNewTiming (CMSampleBuffer original, CMSampleTimingInfo[] timing, out nint status);
	public static CMSampleBuffer CreateWithPacketDescriptions (CMBlockBuffer dataBuffer, CMFormatDescription formatDescription, int samplesCount, CMTime sampleTimestamp, AudioToolbox.AudioStreamPacketDescription[] packetDescriptions, out CMSampleBufferError error);
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public CMAudioFormatDescription GetAudioFormatDescription ();
	public CMBlockBuffer GetDataBuffer ();
	public CoreVideo.CVImageBuffer GetImageBuffer ();
	public CMSampleBufferAttachmentSettings[] GetSampleAttachments (bool createIfNecessary);
	public nuint GetSampleSize (nint sampleIndex);
	public CMSampleTimingInfo[] GetSampleTimingInfo ();
	public CMSampleTimingInfo[] GetSampleTimingInfo (out nint status);
	public static nint GetTypeID ();
	public CMVideoFormatDescription GetVideoFormatDescription ();
	public CMSampleBufferError Invalidate ();
	public CMSampleBufferError MakeDataReady ();
	public CMSampleBufferError SetDataBuffer (CMBlockBuffer dataBuffer);
	public CMSampleBufferError SetDataReady ();
	public CMSampleBufferError SetInvalidateCallback (System.Action<CMSampleBuffer> invalidateHandler);
	public CMSampleBufferError TrackDataReadiness (CMSampleBuffer bufferToTrack);
	protected override void ~CMSampleBuffer ();
}

New Type: CoreMedia.CMSampleBufferAttachmentKey

[Serializable]
public enum CMSampleBufferAttachmentKey {
	CameraIntrinsicMatrix = 31,
	DependsOnOthers = 4,
	DisplayEmptyMediaImmediately = 24,
	DisplayImmediately = 6,
	DoNotDisplay = 7,
	DrainAfterDecoding = 13,
	DroppedFrameReason = 29,
	DroppedFrameReasonInfo = 32,
	EarlierDisplayTimesAllowed = 5,
	EmptyMedia = 22,
	EndsPreviousSampleDuration = 25,
	FillDiscontinuitiesWithSilence = 21,
	ForceKeyFrame = 33,
	GradualDecoderRefresh = 28,
	HasRedundantCoding = 2,
	HevcStepwiseTemporalSubLayerAccess = 10,
	HevcSyncSampleNalUnitType = 11,
	HevcTemporalLevelInfo = 8,
	HevcTemporalSubLayerAccess = 9,
	IsDependedOnByOthers = 3,
	NotSync = 0,
	PartialSync = 1,
	PermanentEmptyMedia = 23,
	PostNotificationWhenConsumed = 14,
	ResetDecoderBeforeDecoding = 12,
	ResumeOutput = 15,
	Reverse = 20,
	SampleReferenceByteOffset = 27,
	SampleReferenceUrl = 26,
	SpeedMultiplier = 19,
	StillImageLensStabilizationInfo = 30,
	TransitionId = 16,
	TrimDurationAtEnd = 18,
	TrimDurationAtStart = 17,
}

New Type: CoreMedia.CMSampleBufferAttachmentKeyExtensions

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

New Type: CoreMedia.CMSampleBufferAttachmentSettings

public class CMSampleBufferAttachmentSettings : Foundation.DictionaryContainer {
	// constructors
	public CMSampleBufferAttachmentSettings ();
	public CMSampleBufferAttachmentSettings (Foundation.NSDictionary dictionary);
	// properties
	public nint? AudioIndependentSampleDecoderRefreshCount { get; set; }
	public Foundation.NSData CameraIntrinsicMatrix { get; set; }
	public bool? DependedOnByOthers { get; set; }
	public bool? DependsOnOthers { get; set; }
	public bool? DisplayEmptyMediaImmediately { get; set; }
	public bool? DisplayImmediately { get; set; }
	public bool? DoNotDisplay { get; set; }
	public bool? DrainAfterDecoding { get; set; }
	public string DroppedFrameReason { get; }
	public bool? EarlierDisplayTimesAllowed { get; set; }
	public bool? EmptyMedia { get; set; }
	public bool? EndsPreviousSampleDuration { get; set; }
	public bool? FillDiscontinuitiesWithSilence { get; set; }
	public bool? ForceKeyFrame { get; set; }
	public Foundation.NSNumber GradualDecoderRefresh { get; set; }
	public bool? HevcStepwiseTemporalSubLayerAccess { get; set; }
	public int? HevcSyncSampleNalUnitType { get; set; }
	public CMHevcTemporalLevelInfoSettings HevcTemporalLevelInfo { get; set; }
	public bool? HevcTemporalSubLayerAccess { get; set; }
	public bool? NotSync { get; set; }
	public bool? PartialSync { get; set; }
	public bool? PermanentEmptyMedia { get; set; }
	public Foundation.NSDictionary PostNotificationWhenConsumed { get; set; }
	public bool? RedundantCoding { get; set; }
	public bool? ResetDecoderBeforeDecoding { get; set; }
	public bool? ResumeOutput { get; set; }
	public bool? Reverse { get; set; }
	public int? SampleReferenceByteOffset { get; set; }
	public Foundation.NSUrl SampleReferenceUrl { get; set; }
	public float? SpeedMultiplier { get; set; }
	public int? TransitionId { get; set; }
	public Foundation.NSDictionary TrimDurationAtEnd { get; set; }
	public Foundation.NSDictionary TrimDurationAtStart { get; set; }
}

New Type: CoreMedia.CMSampleBufferError

[Serializable]
public enum CMSampleBufferError {
	AllocationFailed = -12730,
	AlreadyHasDataBuffer = -12732,
	ArrayTooSmall = -12737,
	BufferHasNoSampleSizes = -12735,
	BufferHasNoSampleTimingInfo = -12736,
	BufferNotReady = -12733,
	CannotSubdivide = -12739,
	InvalidEntryCount = -12738,
	InvalidMediaFormat = -12743,
	InvalidMediaTypeForOperation = -12741,
	InvalidSampleData = -12742,
	Invalidated = -12744,
	None = 0,
	RequiredParameterMissing = -12731,
	SampleIndexOutOfRange = -12734,
	SampleTimingInfoInvalid = -12740,
}

New Type: CoreMedia.CMSampleTimingInfo

public struct CMSampleTimingInfo {
	// fields
	public CMTime DecodeTimeStamp;
	public CMTime Duration;
	public CMTime PresentationTimeStamp;
}

New Type: CoreMedia.CMSubtitleFormatType

[Serializable]
public enum CMSubtitleFormatType {
	Text3G = 1954034535,
	WebVTT = 2004251764,
}

New Type: CoreMedia.CMSyncError

[Serializable]
public enum CMSyncError {
	AllocationFailed = -12754,
	InvalidParameter = -12753,
	MissingRequiredParameter = -12752,
	None = 0,
	RateMustBeNonZero = -12755,
}

New Type: CoreMedia.CMTextMarkupAttributes

public class CMTextMarkupAttributes : Foundation.DictionaryContainer {
	// constructors
	public CMTextMarkupAttributes ();
	public CMTextMarkupAttributes (Foundation.NSDictionary dictionary);
	// properties
	public TextMarkupColor? BackgroundColor { get; set; }
	public float? BaseFontSizePercentageRelativeToVideoHeight { get; set; }
	public bool? Bold { get; set; }
	public string FontFamilyName { get; set; }
	public TextMarkupColor? ForegroundColor { get; set; }
	public bool? Italic { get; set; }
	public int? RelativeFontSize { get; set; }
	public bool? Underline { get; set; }
}

New Type: CoreMedia.CMTime

public struct CMTime {
	// constructors
	public CMTime (long value, int timescale);
	public CMTime (long value, int timescale, long epoch);
	// fields
	public static Foundation.NSString EpochKey;
	public static Foundation.NSString FlagsKey;
	public static CMTime Indefinite;
	public static CMTime Invalid;
	public static const int MaxTimeScale;
	public static CMTime NegativeInfinity;
	public static CMTime PositiveInfinity;
	public static Foundation.NSString ScaleKey;
	public long TimeEpoch;
	public CMTime.Flags TimeFlags;
	public int TimeScale;
	public long Value;
	public static Foundation.NSString ValueKey;
	public static CMTime Zero;
	// properties
	public CMTime AbsoluteValue { get; }
	public string Description { get; }
	public bool HasBeenRounded { get; }
	public bool IsIndefinite { get; }
	public bool IsInvalid { get; }
	public bool IsNegativeInfinity { get; }
	public bool IsNumeric { get; }
	public bool IsPositiveInfinity { get; }
	public double Seconds { get; }
	// methods
	public static CMTime Add (CMTime time1, CMTime time2);
	public static int Compare (CMTime time1, CMTime time2);
	public CMTime ConvertScale (int newScale, CMTimeRoundingMethod method);
	public override bool Equals (object obj);
	public static CMTime Fold (CMTime time, CMTimeRange foldRange);
	public static CMTime FromDictionary (Foundation.NSDictionary dict);
	public static CMTime FromSeconds (double seconds, int preferredTimeScale);
	public override int GetHashCode ();
	public static CMTime GetMaximum (CMTime time1, CMTime time2);
	public static CMTime GetMinimum (CMTime time1, CMTime time2);
	public static CMTime Multiply (CMTime time, double multiplier);
	public static CMTime Multiply (CMTime time, int multiplier);
	public static CMTime Multiply (CMTime time, int multiplier, int divisor);
	public static CMTime Subtract (CMTime minuend, CMTime subtraend);
	public Foundation.NSDictionary ToDictionary ();
	public override string ToString ();
	public static CMTime op_Addition (CMTime time1, CMTime time2);
	public static bool op_Equality (CMTime time1, CMTime time2);
	public static bool op_GreaterThan (CMTime time1, CMTime time2);
	public static bool op_GreaterThanOrEqual (CMTime time1, CMTime time2);
	public static bool op_Inequality (CMTime time1, CMTime time2);
	public static bool op_LessThan (CMTime time1, CMTime time2);
	public static bool op_LessThanOrEqual (CMTime time1, CMTime time2);
	public static CMTime op_Multiply (CMTime time, double multiplier);
	public static CMTime op_Multiply (CMTime time, int multiplier);
	public static CMTime op_Subtraction (CMTime minuend, CMTime subtraend);

	// inner types
	[Serializable]
	[Flags]
	public enum Flags {
		HasBeenRounded = 2,
		ImpliedValueFlagsMask = 28,
		Indefinite = 16,
		NegativeInfinity = 8,
		PositiveInfinity = 4,
		Valid = 1,
	}
}

New Type: CoreMedia.CMTimeCodeFormatType

[Serializable]
public enum CMTimeCodeFormatType {
	Counter32 = 1668166450,
	Counter64 = 1668167220,
	TimeCode32 = 1953325924,
	TimeCode64 = 1952658996,
}

New Type: CoreMedia.CMTimeMapping

public struct CMTimeMapping {
	// fields
	public CMTimeRange Source;
	public CMTimeRange Target;
	// properties
	public string Description { get; }
	// methods
	public Foundation.NSDictionary AsDictionary ();
	public static CMTimeMapping Create (CMTimeRange source, CMTimeRange target);
	public static CMTimeMapping CreateEmpty (CMTimeRange target);
	public static CMTimeMapping CreateFromDictionary (Foundation.NSDictionary dict);
}

New Type: CoreMedia.CMTimeRange

public struct CMTimeRange {
	// fields
	public CMTime Duration;
	public static CMTimeRange InvalidMapping;
	public static CMTimeRange InvalidRange;
	public CMTime Start;
	public static CMTimeRange Zero;
	// properties
	public static Foundation.NSString TimeMappingSourceKey { get; }
	public static Foundation.NSString TimeMappingTargetKey { get; }
}

New Type: CoreMedia.CMTimeRoundingMethod

[Serializable]
public enum CMTimeRoundingMethod {
	Default = 1,
	QuickTime = 4,
	RoundAwayFromZero = 3,
	RoundHalfAwayFromZero = 1,
	RoundTowardNegativeInfinity = 6,
	RoundTowardPositiveInfinity = 5,
	RoundTowardZero = 2,
}

New Type: CoreMedia.CMTimeScale

public struct CMTimeScale {
	// constructors
	public CMTimeScale (int value);
	// fields
	public static CMTimeScale MaxValue;
	public int Value;
}

New Type: CoreMedia.CMTimebase

public class CMTimebase : CoreMedia.CMClockOrTimebase, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMTimebase (CMClock masterClock);
	public CMTimebase (CMTimebase masterTimebase);
	public CMTimebase (IntPtr handle);
	// fields
	public static const double VeryLongTimeInterval;
	// properties
	public double EffectiveRate { get; }
	public double Rate { get; set; }
	public CMTime Time { get; set; }
	// methods
	public CMTimebaseError AddTimer (Foundation.NSTimer timer, Foundation.NSRunLoop runloop);
	public CMClockOrTimebase CopyMaster ();
	public CMClock CopyMasterClock ();
	public CMTimebase CopyMasterTimebase ();
	public CMClock CopyUltimateMasterClock ();
	public CMTime GetTime (CMTimeScale timeScale, CMTimeRoundingMethod roundingMethod);
	public CMTimebaseError GetTimeAndRate (out CMTime time, out double rate);
	public CMTimebaseError NotificationBarrier ();
	public CMTimebaseError RemoveTimer (Foundation.NSTimer timer);
	public CMTimebaseError SetAnchorTime (CMTime timebaseTime, CMTime immediateMasterTime);
	public CMTimebaseError SetMasterClock (CMClock newMasterClock);
	public CMTimebaseError SetMasterTimebase (CMTimebase newMasterTimebase);
	public CMTimebaseError SetRateAndAnchorTime (double rate, CMTime timebaseTime, CMTime immediateMasterTime);
	public CMTimebaseError SetTimerNextFireTime (Foundation.NSTimer timer, CMTime fireTime);
	public CMTimebaseError SetTimerToFireImmediately (Foundation.NSTimer timer);
}

New Type: CoreMedia.CMTimebaseError

[Serializable]
public enum CMTimebaseError {
	AllocationFailed = -12750,
	InvalidParameter = -12749,
	MissingRequiredParameter = -12748,
	None = 0,
	ReadOnly = -12757,
	TimerIntervalTooShort = -12751,
}

New Type: CoreMedia.CMVideoCodecType

[Serializable]
public enum CMVideoCodecType {
	Animation = 1919706400,
	AppleProRes422 = 1634755438,
	AppleProRes422HQ = 1634755432,
	AppleProRes422LT = 1634755443,
	AppleProRes422Proxy = 1634755439,
	AppleProRes4444 = 1634743400,
	Cinepak = 1668704612,
	DvcNtsc = 1685480224,
	DvcPal = 1685480304,
	DvcPro50NTSC = 1685468526,
	DvcPro50PAL = 1685468528,
	DvcProHD1080i50 = 1685481525,
	DvcProHD1080i60 = 1685481526,
	DvcProHD1080p25 = 1685481522,
	DvcProHD1080p30 = 1685481523,
	DvcProHD720p50 = 1685481585,
	DvcProHD720p60 = 1685481584,
	DvcProPal = 1685483632,
	H263 = 1748121139,
	H264 = 1635148593,
	Hevc = 1752589105,
	JPEG = 1785750887,
	JPEG_OpenDML = 1684890161,
	Mpeg1Video = 1836069238,
	Mpeg2Video = 1836069494,
	Mpeg4Video = 1836070006,
	SorensonVideo = 1398165809,
	SorensonVideo3 = 1398165811,
	YUV422YpCbCr8 = 846624121,
}

New Type: CoreMedia.CMVideoDimensions

public struct CMVideoDimensions {
	// constructors
	public CMVideoDimensions (int width, int height);
	// fields
	public int Height;
	public int Width;
}

New Type: CoreMedia.CMVideoFormatDescription

public class CMVideoFormatDescription : CoreMedia.CMFormatDescription, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMVideoFormatDescription (CMVideoCodecType codecType, CMVideoDimensions size);
	// properties
	public CMVideoDimensions Dimensions { get; }
	// methods
	public static CMVideoFormatDescription CreateForImageBuffer (CoreVideo.CVImageBuffer imageBuffer, out CMFormatDescriptionError error);
	public static CMVideoFormatDescription FromH264ParameterSets (System.Collections.Generic.List<System.Byte[]> parameterSets, int nalUnitHeaderLength, out CMFormatDescriptionError error);
	public static CMVideoFormatDescription FromHevcParameterSets (System.Collections.Generic.List<System.Byte[]> parameterSets, int nalUnitHeaderLength, Foundation.NSDictionary extensions, out CMFormatDescriptionError error);
	public CoreGraphics.CGRect GetCleanAperture (bool originIsAtTopLeft);
	public static Foundation.NSObject[] GetExtensionKeysCommonWithImageBuffers ();
	public byte[] GetH264ParameterSet (nuint index, out nuint parameterSetCount, out int nalUnitHeaderLength, out CMFormatDescriptionError error);
	public byte[] GetHevcParameterSet (nuint index, out nuint parameterSetCount, out int nalUnitHeaderLength, out CMFormatDescriptionError error);
	public CoreGraphics.CGSize GetPresentationDimensions (bool usePixelAspectRatio, bool useCleanAperture);
	public bool VideoMatchesImageBuffer (CoreVideo.CVImageBuffer imageBuffer);
}

New Type: CoreMedia.ICMAttachmentBearer

public interface ICMAttachmentBearer : ObjCRuntime.INativeObject {
}

New Type: CoreMedia.TextMarkupColor

public struct TextMarkupColor {
	// constructors
	public TextMarkupColor (float red, float green, float blue, float alpha);
	// properties
	public float Alpha { get; }
	public float Blue { get; }
	public float Green { get; }
	public float Red { get; }
}

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, nuint 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, nuint 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.NWErrorDomainExtensions

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

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 bool IncludePeerToPeer { get; set; }
	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 NWInterface RequiredInterface { get; set; }
	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);
}

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 SetMonitorCanceledHandler (System.Action callback);
	public void SetQueue (CoreFoundation.DispatchQueue queue);
	public void SetUpdatedSnapshotHandler (System.Action<NWPath> callback);
	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 ulong IPMetadataReceiveTime { get; }
	public NWServiceClass IPServiceClass { get; set; }
	public bool IsIP { get; }
	public bool IsTcp { get; }
	public bool IsTls { get; }
	public bool IsUdp { get; }
	public NWProtocolDefinition ProtocolDefinition { get; }

	[Obsolete ("Use 'TlsSecProtocolMetadata' instead.")]
public Security.SecProtocolMetadata SecProtocolMetadata { get; }

	[Obsolete ("Use 'IPServiceClass' instead.")]
public NWServiceClass ServiceClass { get; set; }
	public Security.SecProtocolMetadata TlsSecProtocolMetadata { get; }
	// methods
	public static NWProtocolMetadata CreateIPMetadata ();
	public static NWProtocolMetadata CreateUdpMetadata ();
	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 IPSetCalculateReceiveTime (bool calculateReceiveTime);
	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 PushKit

New Type: PushKit.IPKPushRegistryDelegate

public interface IPKPushRegistryDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidUpdatePushCredentials (PKPushRegistry registry, PKPushCredentials credentials, string type);
}

New Type: PushKit.PKPushCredentials

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

New Type: PushKit.PKPushPayload

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

New Type: PushKit.PKPushRegistry

public class PKPushRegistry : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PKPushRegistry (CoreFoundation.DispatchQueue queue);
	protected PKPushRegistry (Foundation.NSObjectFlag t);
	protected PKPushRegistry (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IPKPushRegistryDelegate Delegate { get; set; }
	public virtual Foundation.NSSet DesiredPushTypes { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual Foundation.NSData PushToken (string type);
}

New Type: PushKit.PKPushRegistryDelegate

public abstract class PKPushRegistryDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, IPKPushRegistryDelegate, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PKPushRegistryDelegate ();
	protected PKPushRegistryDelegate (Foundation.NSObjectFlag t);
	protected PKPushRegistryDelegate (IntPtr handle);
	// methods
	public virtual void DidInvalidatePushToken (PKPushRegistry registry, string type);
	public virtual void DidReceiveIncomingPush (PKPushRegistry registry, PKPushPayload payload, string type, System.Action completion);
	public virtual void DidUpdatePushCredentials (PKPushRegistry registry, PKPushCredentials credentials, string type);
}

New Type: PushKit.PKPushRegistryDelegate_Extensions

public static class PKPushRegistryDelegate_Extensions {
	// methods
	public static void DidInvalidatePushToken (this IPKPushRegistryDelegate This, PKPushRegistry registry, string type);
	public static void DidReceiveIncomingPush (this IPKPushRegistryDelegate This, PKPushRegistry registry, PKPushPayload payload, string type, System.Action completion);
}

New Type: PushKit.PKPushType

public static class PKPushType {
	// properties
	public static Foundation.NSString Complication { get; }
}

New Namespace SoundAnalysis

New Type: SoundAnalysis.ISNRequest

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

New Type: SoundAnalysis.ISNResult

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

New Type: SoundAnalysis.ISNResultsObserving

public interface ISNResultsObserving : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidProduceResult (ISNRequest request, ISNResult result);
}

New Type: SoundAnalysis.SNAudioFileAnalyzer

public class SNAudioFileAnalyzer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SNAudioFileAnalyzer (Foundation.NSObjectFlag t);
	protected SNAudioFileAnalyzer (IntPtr handle);
	public SNAudioFileAnalyzer (Foundation.NSUrl url, out Foundation.NSError error);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool AddRequest (ISNRequest request, ISNResultsObserving observer, out Foundation.NSError error);
	public virtual void Analyze ();
	public virtual void Analyze (SNAudioFileAnalyzerAnalyzeHandler completionHandler);
	public virtual System.Threading.Tasks.Task<bool> AnalyzeAsync ();
	public virtual void CancelAnalysis ();
	public virtual void RemoveAllRequests ();
	public virtual void RemoveRequest (ISNRequest request);
}

New Type: SoundAnalysis.SNAudioFileAnalyzerAnalyzeHandler

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

New Type: SoundAnalysis.SNAudioStreamAnalyzer

public class SNAudioStreamAnalyzer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SNAudioStreamAnalyzer (AVFoundation.AVAudioFormat format);
	protected SNAudioStreamAnalyzer (Foundation.NSObjectFlag t);
	protected SNAudioStreamAnalyzer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool AddRequest (ISNRequest request, ISNResultsObserving observer, out Foundation.NSError error);
	public virtual void Analyze (AVFoundation.AVAudioBuffer audioBuffer, long audioFramePosition);
	public virtual void CompleteAnalysis ();
	public virtual void RemoveAllRequests ();
	public virtual void RemoveRequest (ISNRequest request);
}

New Type: SoundAnalysis.SNClassification

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

New Type: SoundAnalysis.SNClassificationResult

public class SNClassificationResult : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, ISNResult, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SNClassificationResult (Foundation.NSObjectFlag t);
	protected SNClassificationResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual SNClassification[] Classifications { get; }
	public virtual Foundation.NSObject TimeRange { get; }
}

New Type: SoundAnalysis.SNClassifySoundRequest

public class SNClassifySoundRequest : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, ISNRequest, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SNClassifySoundRequest (Foundation.NSObjectFlag t);
	protected SNClassifySoundRequest (IntPtr handle);
	public SNClassifySoundRequest (CoreML.MLModel mlModel, out Foundation.NSError error);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double OverlapFactor { get; set; }
}

New Type: SoundAnalysis.SNErrorCode

[Serializable]
public enum SNErrorCode {
	InvalidFile = 5,
	InvalidFormat = 3,
	InvalidModel = 4,
	OperationFailed = 2,
	UnknownError = 1,
}

New Type: SoundAnalysis.SNErrorCodeExtensions

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

New Type: SoundAnalysis.SNResultsObserving_Extensions

public static class SNResultsObserving_Extensions {
	// methods
	public static void DidComplete (this ISNResultsObserving This, ISNRequest request);
	public static void DidFail (this ISNResultsObserving This, ISNRequest request, Foundation.NSError error);
}