Xamarin.Mac SDK API diff: 6.10.0 vs 6.14.1

Mono.Security.dll

Namespace Mono.Security.Interface

Type Changed: Mono.Security.Interface.IMonoSslStream

Removed methods:

public virtual void AuthenticateAsClient (string targetHost);
public virtual void AuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public virtual void AuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost);
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);
public virtual void AuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public virtual void AuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, System.Security.Authentication.SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate);
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.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginAuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, 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 virtual System.IAsyncResult BeginAuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, System.Security.Authentication.SslProtocols enabledSslProtocols, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginWrite (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
public virtual void EndAuthenticateAsClient (System.IAsyncResult asyncResult);
public virtual void EndAuthenticateAsServer (System.IAsyncResult asyncResult);
public virtual int EndRead (System.IAsyncResult asyncResult);
public virtual void EndWrite (System.IAsyncResult asyncResult);
public virtual int Read (byte[] buffer, int offset, int count);
public virtual void Write (byte[] buffer);
public virtual void Write (byte[] buffer, int offset, int count);

Added method:

public virtual System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);

Removed Namespace Mono.Security.Protocol.Tls

Removed Type Mono.Security.Protocol.Tls.CertificateSelectionCallback

Removed Type Mono.Security.Protocol.Tls.CertificateValidationCallback

Removed Type Mono.Security.Protocol.Tls.CertificateValidationCallback2

Removed Type Mono.Security.Protocol.Tls.CipherAlgorithmType

Removed Type Mono.Security.Protocol.Tls.ExchangeAlgorithmType

Removed Type Mono.Security.Protocol.Tls.HashAlgorithmType

Removed Type Mono.Security.Protocol.Tls.PrivateKeySelectionCallback

Removed Type Mono.Security.Protocol.Tls.SecurityCompressionType

Removed Type Mono.Security.Protocol.Tls.SecurityProtocolType

Removed Type Mono.Security.Protocol.Tls.SslClientStream

Removed Type Mono.Security.Protocol.Tls.SslServerStream

Removed Type Mono.Security.Protocol.Tls.SslStreamBase

System.dll

Namespace System.Net.Security

Type Changed: System.Net.Security.SslStream

Removed 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);
public override int EndRead (System.IAsyncResult asyncResult);
public override void EndWrite (System.IAsyncResult asyncResult);

Added methods:

public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);

Namespace System.Net.Sockets

Type Changed: System.Net.Sockets.NetworkStream

Added methods:

public override int Read (System.Span<byte> destination);
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 size, System.Threading.CancellationToken cancellationToken);
public override int ReadByte ();
public override void Write (System.ReadOnlySpan<byte> source);
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 size, System.Threading.CancellationToken cancellationToken);
public override void WriteByte (byte value);

Xamarin.Mac.dll

Namespace CoreFoundation

New Type: CoreFoundation.OSLog

public sealed class OSLog : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public OSLog (string subsystem, string category);
	// properties
	public static OSLog Default { get; }
	// methods
	public void Log (string message);
	public void Log (OSLogLevel level, string message);
	protected override void Release ();
	protected override void Retain ();
}

New Type: CoreFoundation.OSLogLevel

[Serializable]
public enum OSLogLevel {
	Debug = 2,
	Default = 0,
	Error = 16,
	Fault = 17,
	Info = 1,
}

Namespace Foundation

New Type: Foundation.INSXpcListenerDelegate

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

New Type: Foundation.NSXpcConnection

public class NSXpcConnection : Foundation.NSObject, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	protected NSXpcConnection (NSObjectFlag t);
	public NSXpcConnection (NSXpcListenerEndpoint endpoint);
	protected NSXpcConnection (IntPtr handle);
	public NSXpcConnection (string xpcServiceName);
	public NSXpcConnection (string machServiceName, NSXpcConnectionOptions options);
	// properties
	public virtual int AuditSessionIdentifier { get; }
	public override IntPtr ClassHandle { get; }
	public static NSXpcConnection CurrentConnection { get; }
	public virtual NSXpcListenerEndpoint Endpoint { get; }
	public virtual NSXpcInterface ExportedInterface { get; set; }
	public virtual NSObject ExportedObject { get; set; }
	public virtual System.Action InterruptionHandler { get; set; }
	public virtual System.Action InvalidationHandler { get; set; }
	public virtual int PeerEffectiveGroupId { get; }
	public virtual int PeerEffectiveUserId { get; }
	public virtual int PeerProcessIdentifier { get; }
	public virtual NSXpcInterface RemoteInterface { get; set; }
	public virtual string ServiceName { get; }
	// methods
	public TProtocol CreateRemoteObjectProxy<TProtocol> ();
	public TProtocol CreateRemoteObjectProxy<TProtocol> (System.Action<NSError> errorHandler);
	public TProtocol CreateSynchronousRemoteObjectProxy<TProtocol> (System.Action<NSError> errorHandler);
	public virtual void Invalidate ();
	public virtual void Resume ();
	public virtual void ScheduleSendBarrier (System.Action block);
	public virtual void Suspend ();
}

New Type: Foundation.NSXpcConnectionOptions

[Serializable]
public enum NSXpcConnectionOptions {
	Privileged = 4096,
}

New Type: Foundation.NSXpcInterface

public class NSXpcInterface : Foundation.NSObject, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	protected NSXpcInterface (NSObjectFlag t);
	protected NSXpcInterface (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ObjCRuntime.Protocol Protocol { get; set; }
	// methods
	public static NSXpcInterface Create (ObjCRuntime.Protocol protocol);
	public static NSXpcInterface Create (System.Type interfaceType);
	public virtual Foundation.NSSet<ObjCRuntime.Class> GetAllowedClasses (ObjCRuntime.Selector methodSelector, nuint argumentIndex, bool forReplyBlock);
	public Foundation.NSSet<ObjCRuntime.Class> GetAllowedClasses (System.Reflection.MethodInfo method, nuint argumentIndex, bool forReplyBlock);
	public virtual void SetAllowedClasses (Foundation.NSSet<ObjCRuntime.Class> allowedClasses, ObjCRuntime.Selector methodSelector, nuint argumentIndex, bool forReplyBlock);
	public void SetAllowedClasses (System.Reflection.MethodInfo method, Foundation.NSSet<ObjCRuntime.Class> allowedClasses, nuint argumentIndex, bool forReplyBlock);
}

New Type: Foundation.NSXpcListener

public class NSXpcListener : Foundation.NSObject, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	protected NSXpcListener (NSObjectFlag t);
	protected NSXpcListener (IntPtr handle);
	public NSXpcListener (string machServiceName);
	// properties
	public static NSXpcListener AnonymousListener { get; }
	public override IntPtr ClassHandle { get; }
	public INSXpcListenerDelegate Delegate { get; set; }
	public virtual NSXpcListenerEndpoint Endpoint { get; }
	public static NSXpcListener ServiceListener { get; }
	public virtual NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void Invalidate ();
	public virtual void Resume ();
	public virtual void Suspend ();
}

New Type: Foundation.NSXpcListenerDelegate

public class NSXpcListenerDelegate : Foundation.NSObject, INSObjectProtocol, INSXpcListenerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	public NSXpcListenerDelegate ();
	protected NSXpcListenerDelegate (NSObjectFlag t);
	protected NSXpcListenerDelegate (IntPtr handle);
	// methods
	public virtual bool ShouldAcceptConnection (NSXpcListener listener, NSXpcConnection newConnection);
}

New Type: Foundation.NSXpcListenerDelegate_Extensions

public static class NSXpcListenerDelegate_Extensions {
	// methods
	public static bool ShouldAcceptConnection (this INSXpcListenerDelegate This, NSXpcListener listener, NSXpcConnection newConnection);
}

New Type: Foundation.XpcInterfaceAttribute

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

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string Version = "6.10.0";
+public const string Version = "6.14.1";