Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vs-mobiletools-engineering-service2/a35e4a16407795a8bf7039bafa8b9ddc to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/a35e4a16407795a8bf7039bafa8b9ddc to your computer and use it in GitHub Desktop.
dotnet-macOS API diff from stable
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.macOS.Dotnet SDK API diff: 8.9.0 vs 8.11.0
List of API changes between Xamarin.macOS.Dotnet versions 8.9.0 and 8.11.0.
spouliot
sepoulio
5/4/2022
article
c1f9bd47-1356-13ce-c4bd-98185c04a0bb
xamarin

Xamarin.macOS.Dotnet SDK API diff: 8.9.0 vs 8.11.0

Assembly Version Changed: 12.3.0.0 vs 12.3.100.126

### Namespace AppKit

Type Changed: AppKit.NSWindow

Added methods:

public void SetIsMiniaturized (bool value);
public void SetIsVisible (bool value);
public void SetIsZoomed (bool value);

Namespace CoreFoundation

Type Changed: CoreFoundation.DispatchBlock

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreFoundation.DispatchObject

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreFoundation.NativeObject

Modified methods:

-protected virtual void Release ()
+protected virtual void Release ()
-protected virtual void Retain ()
+protected virtual void Retain ()

Type Changed: CoreFoundation.OSLog

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColor

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGColorSpace

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGContext

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGDataConsumer

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGDataProvider

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGFont

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGFunction

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGGradient

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGImage

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGLayer

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGPDFContentStream

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGPDFDocument

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGPDFOperatorTable

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGPDFPage

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGPDFScanner

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGPath

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGPattern

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreGraphics.CGShading

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

New Type: CoreGraphics.CGDisplayStreamKeys

public static class CGDisplayStreamKeys {
	// properties
	public static Foundation.NSString ColorSpace { get; }
	public static Foundation.NSString DestinationRect { get; }
	public static Foundation.NSString MinimumFrameTime { get; }
	public static Foundation.NSString PreserveAspectRatio { get; }
	public static Foundation.NSString QueueDepth { get; }
	public static Foundation.NSString ShowCursor { get; }
	public static Foundation.NSString SourceRect { get; }
	public static Foundation.NSString YCbCrMatrix { get; }
}

New Type: CoreGraphics.CGDisplayStreamYCbCrMatrixOptionKeys

public static class CGDisplayStreamYCbCrMatrixOptionKeys {
	// properties
	public static Foundation.NSString Itu_R_601_4 { get; }
	public static Foundation.NSString Itu_R_709_2 { get; }
	public static Foundation.NSString Smpte_240M_1995 { get; }
}

Namespace CoreServices

Type Changed: CoreServices.FSEventStream

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Namespace CoreVideo

Type Changed: CoreVideo.CVBuffer

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreVideo.CVDisplayLink

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: CoreVideo.CVPixelBufferPool

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Namespace MetalPerformanceShaders

Type Changed: MetalPerformanceShaders.MPSCnnConvolutionDataSource

Added property:

public virtual MPSDataType KernelWeightsDataType { get; }

Type Changed: MetalPerformanceShaders.MPSCnnConvolutionDataSource_Extensions

Added method:

public static MPSDataType GetKernelWeightsDataType (this IMPSCnnConvolutionDataSource This);

Namespace Network

Type Changed: Network.NWContentContext

Modified methods:

-protected override void Release ()
+protected override void Release ()

Namespace NetworkExtension

Type Changed: NetworkExtension.NEAppRule

Removed constructor:

public NEAppRule (string signingIdentifier);

Namespace ObjCRuntime

Type Changed: ObjCRuntime.BaseWrapper

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string Version = "8.9.0";
+public const string Version = "8.11.0";

Added field:

public static const string ScreenCaptureKitLibrary = "/System/Library/Frameworks/ScreenCaptureKit.framework/ScreenCaptureKit";

Type Changed: ObjCRuntime.ThrowHelper

Added method:

public static void ThrowArgumentOutOfRangeException (string argumentName, object actualValue, string message);

Namespace OpenGL

Type Changed: OpenGL.CGLContext

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Type Changed: OpenGL.CGLPixelFormat

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Namespace PrintCore

Type Changed: PrintCore.PMPrintCoreBase

Modified methods:

-protected override void Release ()
+protected override void Release ()
-protected override void Retain ()
+protected override void Retain ()

Namespace Security

Type Changed: Security.SecRecord

Added property:

public bool UseDataProtectionKeychain { get; set; }

New Namespace ScreenCaptureKit

New Type: ScreenCaptureKit.ISCStreamDelegate

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

New Type: ScreenCaptureKit.ISCStreamOutput

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

New Type: ScreenCaptureKit.SCContentFilter

public class SCContentFilter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SCContentFilter (Foundation.NSObjectFlag t);
	protected SCContentFilter (ObjCRuntime.NativeHandle handle);
	public SCContentFilter (SCWindow window);
	public SCContentFilter (SCDisplay display, SCWindow[] windows, SCContentFilterOption option);
	public SCContentFilter (SCDisplay display, SCRunningApplication[] applications, SCWindow[] exceptingWindows, SCContentFilterOption option);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: ScreenCaptureKit.SCContentFilterOption

[Serializable]
public enum SCContentFilterOption {
	Exclude = 1,
	Include = 0,
}

New Type: ScreenCaptureKit.SCDisplay

public class SCDisplay : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SCDisplay (Foundation.NSObjectFlag t);
	protected SCDisplay (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint DisplayId { get; }
	public virtual CoreGraphics.CGRect Frame { get; }
	public virtual IntPtr Height { get; }
	public virtual IntPtr Width { get; }
}

New Type: ScreenCaptureKit.SCFrameStatus

[Serializable]
public enum SCFrameStatus {
	Blank = 2,
	Complete = 0,
	Idle = 1,
	Started = 4,
	Stopped = 5,
	Suspended = 3,
}

New Type: ScreenCaptureKit.SCRunningApplication

public class SCRunningApplication : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SCRunningApplication (Foundation.NSObjectFlag t);
	protected SCRunningApplication (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual string ApplicationName { get; }
	public virtual string BundleIdentifier { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual int ProcessId { get; }
}

New Type: ScreenCaptureKit.SCShareableContent

public class SCShareableContent : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SCShareableContent (Foundation.NSObjectFlag t);
	protected SCShareableContent (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual SCRunningApplication[] Applications { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual SCDisplay[] Displays { get; }
	public virtual SCWindow[] Windows { get; }
	// methods
	public static void GetShareableContent (System.Action<SCShareableContent,Foundation.NSError> completionHandler);
	public static void GetShareableContent (bool excludeDesktopWindows, bool onScreenWindowsOnly, System.Action<SCShareableContent,Foundation.NSError> completionHandler);
	public static void GetShareableContentAboveWindow (bool excludeDesktopWindows, SCWindow onScreenWindowsOnlyAboveWindow, System.Action<SCShareableContent,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<SCShareableContent> GetShareableContentAboveWindowAsync (bool excludeDesktopWindows, SCWindow onScreenWindowsOnlyAboveWindow);
	public static System.Threading.Tasks.Task<SCShareableContent> GetShareableContentAsync ();
	public static System.Threading.Tasks.Task<SCShareableContent> GetShareableContentAsync (bool excludeDesktopWindows, bool onScreenWindowsOnly);
	public static void GetShareableContentBelowWindow (bool excludeDesktopWindows, SCWindow onScreenWindowsOnlyBelowWindow, System.Action<SCShareableContent,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<SCShareableContent> GetShareableContentBelowWindowAsync (bool excludeDesktopWindows, SCWindow onScreenWindowsOnlyBelowWindow);
}

New Type: ScreenCaptureKit.SCStream

public class SCStream : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SCStream (Foundation.NSObjectFlag t);
	protected SCStream (ObjCRuntime.NativeHandle handle);
	public SCStream (SCContentFilter contentFilter, SCStreamConfiguration streamConfig, ISCStreamDelegate aDelegate);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual bool AddStreamOutput (ISCStreamOutput output, SCStreamOutputType type, CoreFoundation.DispatchQueue sampleHandlerQueue, out Foundation.NSError error);
	public virtual bool RemoveStreamOutput (ISCStreamOutput output, SCStreamOutputType type, out Foundation.NSError error);
	public virtual void StartCapture (System.Action<Foundation.NSError> completionHandler);
	public virtual void StopCapture (System.Action<Foundation.NSError> completionHandler);
	public virtual void UpdateConfiguration (SCStreamConfiguration streamConfig, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task UpdateConfigurationAsync (SCStreamConfiguration streamConfig);
	public virtual void UpdateContentFilter (SCContentFilter contentFilter, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task UpdateContentFilterAsync (SCContentFilter contentFilter);
}

New Type: ScreenCaptureKit.SCStreamConfiguration

public class SCStreamConfiguration : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SCStreamConfiguration ();
	protected SCStreamConfiguration (Foundation.NSObjectFlag t);
	protected SCStreamConfiguration (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual CoreGraphics.CGColor BackgroundColor { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreGraphics.CGRect DestinationRect { get; set; }
	public virtual System.UIntPtr Height { get; set; }
	public virtual CoreMedia.CMTime MinimumFrameInterval { get; set; }
	public virtual CoreVideo.CVPixelFormatType PixelFormat { get; set; }
	public virtual IntPtr QueueDepth { get; set; }
	public virtual bool ScalesToFit { get; set; }
	public virtual bool ShowsCursor { get; set; }
	public virtual CoreGraphics.CGRect SourceRect { get; set; }
	public virtual Foundation.NSString WeakColorMatrix { get; set; }
	public virtual Foundation.NSString WeakColorSpaceName { get; set; }
	public virtual System.UIntPtr Width { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: ScreenCaptureKit.SCStreamDelegate

public class SCStreamDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, ISCStreamDelegate, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SCStreamDelegate ();
	protected SCStreamDelegate (Foundation.NSObjectFlag t);
	protected SCStreamDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual void DidStop (SCStream stream, Foundation.NSError error);
}

New Type: ScreenCaptureKit.SCStreamDelegate_Extensions

public static class SCStreamDelegate_Extensions {
	// methods
	public static void DidStop (this ISCStreamDelegate This, SCStream stream, Foundation.NSError error);
}

New Type: ScreenCaptureKit.SCStreamErrorCode

[Serializable]
public enum SCStreamErrorCode {
	AttemptToConfigState = -3810,
	AttemptToStartStreamState = -3807,
	AttemptToStopStreamState = -3808,
	AttemptToUpdateFilterState = -3809,
	FailedApplicationConnectionInterrupted = -3805,
	FailedApplicationConnectionInvalid = -3804,
	FailedNoMatchingApplicationContext = -3806,
	FailedToStart = -3802,
	InternalError = -3811,
	InvalidParameter = -3812,
	MissingEntitlements = -3803,
	NoCaptureSource = -3815,
	NoDisplayList = -3814,
	NoWindowList = -3813,
	RemovingStream = -3816,
	UserDeclined = -3801,
}

New Type: ScreenCaptureKit.SCStreamErrorCodeExtensions

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

New Type: ScreenCaptureKit.SCStreamFrameInfoKeys

public static class SCStreamFrameInfoKeys {
	// properties
	public static Foundation.NSString ContentRect { get; }
	public static Foundation.NSString ContentScale { get; }
	public static Foundation.NSString DirtyRects { get; }
	public static Foundation.NSString DisplayTime { get; }
	public static Foundation.NSString InfoScaleFactor { get; }
	public static Foundation.NSString Status { get; }
}

New Type: ScreenCaptureKit.SCStreamOutputType

[Serializable]
public enum SCStreamOutputType {
	Screen = 0,
}

New Type: ScreenCaptureKit.SCStreamOutput_Extensions

public static class SCStreamOutput_Extensions {
	// methods
	public static void DidOutputSampleBuffer (this ISCStreamOutput This, SCStream stream, CoreMedia.CMSampleBuffer sampleBuffer, SCStreamOutputType type);
}

New Type: ScreenCaptureKit.SCWindow

public class SCWindow : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SCWindow (Foundation.NSObjectFlag t);
	protected SCWindow (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreGraphics.CGRect Frame { get; }
	public virtual bool OnScreen { get; }
	public virtual SCRunningApplication OwningApplication { get; }
	public virtual string Title { get; }
	public virtual uint WindowId { get; }
	public virtual IntPtr WindowLayer { get; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment