Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created September 12, 2024 20:31
Show Gist options
  • Save vs-mobiletools-engineering-service2/2d0cce6d0589be5e9880681925b33a84 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/2d0cce6d0589be5e9880681925b33a84 to your computer and use it in GitHub Desktop.
stable-api-comparison/diff/dotnet/Microsoft.macOS.Ref/ref/net8.0/Microsoft.macOS.md

API diff: Microsoft.macOS.dll

Microsoft.macOS.dll

Assembly Version Changed: 14.2.0.0 -> 14.5.0.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAssetDownloadDelegate

Added methods:

public virtual void DidReceiveInformationalResponse (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, Foundation.NSHttpUrlResponse response);
public virtual void NeedNewBodyStream (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, long offset, System.Action<Foundation.NSInputStream> completionHandler);

Type Changed: AVFoundation.AVAudioSourceNode

Obsoleted constructors:

 [Obsolete ("Use the overload that takes a delegate that does not take a 'ref AudioBuffers' instead. Assigning a value to the 'inputData' parameter in the callback has no effect.")]
 public AVAudioSourceNode (AVAudioSourceNodeRenderHandler renderHandler);
 [Obsolete ("Use the overload that takes a delegate that does not take a 'ref AudioBuffers' instead. Assigning a value to the 'inputData' parameter in the callback has no effect.")]
 public AVAudioSourceNode (AVAudioFormat format, AVAudioSourceNodeRenderHandler renderHandler);

Added constructors:

public AVAudioSourceNode (AVAudioSourceNodeRenderHandler3 renderHandler);
public AVAudioSourceNode (AVAudioSourceNodeRenderHandlerRaw renderHandler);
public AVAudioSourceNode (AVAudioFormat format, AVAudioSourceNodeRenderHandler3 renderHandler);
public AVAudioSourceNode (AVAudioFormat format, AVAudioSourceNodeRenderHandlerRaw renderHandler);

Type Changed: AVFoundation.AVCaptureDeviceType

Added value:

External = 11,

Type Changed: AVFoundation.AVPlayerItemErrorLogEvent

Added property:

public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> AllHttpResponseHeaderFields { get; }

Type Changed: AVFoundation.AVSampleCursor

Obsoleted properties:

 [Obsolete ("Use 'CurrentSampleDependencyInfo2' instead. The property type of this property is wrong.")]
 public virtual AVSampleCursorSyncInfo CurrentSampleDependencyInfo { get; }

Added property:

public AVSampleCursorDependencyInfo CurrentSampleDependencyInfo2 { get; }

Type Changed: AVFoundation.AVSpeechSynthesizer

Obsoleted methods:

 [Obsolete ("Do not use this API, it doesn't work correctly. Use the non-Async version (WriteUtterance) instead.")]
 public virtual System.Threading.Tasks.Task<AVAudioBuffer> WriteUtteranceAsync (AVSpeechUtterance utterance);

Type Changed: AVFoundation.IAVAssetDownloadDelegate

Added methods:

public virtual void DidCompleteForMediaSelection (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, AVMediaSelection mediaSelection);
public virtual void DidFinishDownloadingToUrl (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, Foundation.NSUrl location);
public virtual void DidLoadTimeRange (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, CoreMedia.CMTimeRange timeRange, Foundation.NSValue[] loadedTimeRanges, CoreMedia.CMTimeRange timeRangeExpectedToLoad);
public virtual void DidLoadTimeRange (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, CoreMedia.CMTimeRange timeRange, Foundation.NSValue[] loadedTimeRanges, CoreMedia.CMTimeRange timeRangeExpectedToLoad, AVMediaSelection mediaSelection);
public virtual void DidResolveMediaSelection (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVMediaSelection resolvedMediaSelection);
public virtual void WillDownloadToUrl (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, Foundation.NSUrl location);
public virtual void WillDownloadVariants (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVAssetVariant[] variants);

Type Changed: AVFoundation.IAVAssetReaderCaptionValidationHandling

Added method:

public virtual void DidVendCaption (AVAssetReaderOutputCaptionAdaptor adaptor, AVCaption caption, string[] syntaxElements);

Type Changed: AVFoundation.IAVAssetResourceLoaderDelegate

Added methods:

public virtual void DidCancelAuthenticationChallenge (AVAssetResourceLoader resourceLoader, Foundation.NSUrlAuthenticationChallenge authenticationChallenge);
public virtual void DidCancelLoadingRequest (AVAssetResourceLoader resourceLoader, AVAssetResourceLoadingRequest loadingRequest);
public virtual bool ShouldWaitForLoadingOfRequestedResource (AVAssetResourceLoader resourceLoader, AVAssetResourceLoadingRequest loadingRequest);
public virtual bool ShouldWaitForRenewalOfRequestedResource (AVAssetResourceLoader resourceLoader, AVAssetResourceRenewalRequest renewalRequest);
public virtual bool ShouldWaitForResponseToAuthenticationChallenge (AVAssetResourceLoader resourceLoader, Foundation.NSUrlAuthenticationChallenge authenticationChallenge);

Type Changed: AVFoundation.IAVAssetWriterDelegate

Added methods:

public virtual void DidOutputSegmentData (AVAssetWriter writer, Foundation.NSData segmentData, AVAssetSegmentType segmentType);
public virtual void DidOutputSegmentData (AVAssetWriter writer, Foundation.NSData segmentData, AVAssetSegmentType segmentType, AVAssetSegmentReport segmentReport);

Type Changed: AVFoundation.IAVAsynchronousKeyValueLoading

Modified methods:

-public abstract AVKeyValueStatus GetStatusOfValue (string forKey, out Foundation.NSError error)
+public virtual AVKeyValueStatus GetStatusOfValue (string forKey, out Foundation.NSError error)
-public abstract void LoadValuesAsynchronously (string[] keys, System.Action handler)
+public virtual void LoadValuesAsynchronously (string[] keys, System.Action handler)

Type Changed: AVFoundation.IAVAudio3DMixing

Modified properties:

-public abstract float Obstruction { get; set; }
+public virtual float Obstruction { get; set; }
-public abstract float Occlusion { get; set; }
+public virtual float Occlusion { get; set; }
-public abstract AVAudio3DMixingPointSourceInHeadMode PointSourceInHeadMode { get; set; }
+public virtual AVAudio3DMixingPointSourceInHeadMode PointSourceInHeadMode { get; set; }
-public abstract System.Numerics.Vector3 Position { get; set; }
+public virtual System.Numerics.Vector3 Position { get; set; }
-public abstract float Rate { get; set; }
+public virtual float Rate { get; set; }
-public abstract AVAudio3DMixingRenderingAlgorithm RenderingAlgorithm { get; set; }
+public virtual AVAudio3DMixingRenderingAlgorithm RenderingAlgorithm { get; set; }
-public abstract float ReverbBlend { get; set; }
+public virtual float ReverbBlend { get; set; }
-public abstract AVAudio3DMixingSourceMode SourceMode { get; set; }
+public virtual AVAudio3DMixingSourceMode SourceMode { get; set; }

Type Changed: AVFoundation.IAVAudioMixing

Modified properties:

-public abstract float Volume { get; set; }
+public virtual float Volume { get; set; }

Modified methods:

-public abstract AVAudioMixingDestination DestinationForMixer (AVAudioNode mixer, UIntPtr bus)
+public virtual AVAudioMixingDestination DestinationForMixer (AVAudioNode mixer, UIntPtr bus)

Type Changed: AVFoundation.IAVAudioPlayerDelegate

Added methods:

public virtual void DecoderError (AVAudioPlayer player, Foundation.NSError error);
public virtual void FinishedPlaying (AVAudioPlayer player, bool flag);

Type Changed: AVFoundation.IAVAudioRecorderDelegate

Added methods:

public virtual void EncoderError (AVAudioRecorder recorder, Foundation.NSError error);
public virtual void FinishedRecording (AVAudioRecorder recorder, bool flag);

Type Changed: AVFoundation.IAVAudioStereoMixing

Modified properties:

-public abstract float Pan { get; set; }
+public virtual float Pan { get; set; }

Type Changed: AVFoundation.IAVCaptureAudioDataOutputSampleBufferDelegate

Added method:

public virtual void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection);

Type Changed: AVFoundation.IAVCaptureFileOutputDelegate

Modified methods:

-public abstract bool ShouldProvideSampleAccurateRecordingStart (AVCaptureOutput captureOutput)
+public virtual bool ShouldProvideSampleAccurateRecordingStart (AVCaptureOutput captureOutput)

Added method:

public virtual void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection);

Type Changed: AVFoundation.IAVCaptureFileOutputRecordingDelegate

Modified methods:

-public abstract void FinishedRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, Foundation.NSObject[] connections, Foundation.NSError error)
+public virtual void FinishedRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, Foundation.NSObject[] connections, Foundation.NSError error)

Added methods:

public virtual void DidPauseRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, AVCaptureConnection[] connections);
public virtual void DidResumeRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, AVCaptureConnection[] connections);
public virtual void DidStartRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, Foundation.NSObject[] connections);
public virtual void WillFinishRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, AVCaptureConnection[] connections, Foundation.NSError error);

Type Changed: AVFoundation.IAVCapturePhotoCaptureDelegate

Added methods:

public virtual void DidCapturePhoto (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings);
public virtual void DidFinishCapture (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings, Foundation.NSError error);
public virtual void DidFinishProcessingPhoto (AVCapturePhotoOutput output, AVCapturePhoto photo, Foundation.NSError error);
public virtual void WillBeginCapture (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings);
public virtual void WillCapturePhoto (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings);

Type Changed: AVFoundation.IAVCaptureVideoDataOutputSampleBufferDelegate

Added methods:

public virtual void DidDropSampleBuffer (AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection);
public virtual void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection);

Type Changed: AVFoundation.IAVContentKeyRecipient

Modified properties:

-public abstract bool MayRequireContentKeysForMediaDataProcessing { get; }
+public virtual bool MayRequireContentKeysForMediaDataProcessing { get; }

Added method:

public virtual void DidProvideContentKey (AVContentKeySession contentKeySession, AVContentKey contentKey);

Type Changed: AVFoundation.IAVContentKeySessionDelegate

Modified methods:

-public abstract void DidProvideContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest)
+public virtual void DidProvideContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest)

Added methods:

public virtual void DidChange (AVContentKeySession session);
public virtual void DidFail (AVContentKeySession session, AVContentKeyRequest keyRequest, Foundation.NSError err);
public virtual void DidGenerateExpiredSessionReport (AVContentKeySession session);
public virtual void DidProvidePersistableContentKeyRequest (AVContentKeySession session, AVPersistableContentKeyRequest keyRequest);
public virtual void DidProvideRenewingContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest);
public virtual void DidSucceed (AVContentKeySession session, AVContentKeyRequest keyRequest);
public virtual void DidUpdate (AVContentKeySession session, Foundation.NSData persistableContentKey, Foundation.NSObject keyIdentifier);
public virtual bool ShouldRetryContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest, string retryReason);

Type Changed: AVFoundation.IAVFragmentMinding

Modified methods:

-public abstract bool IsAssociatedWithFragmentMinder ()
+public virtual bool IsAssociatedWithFragmentMinder ()

Type Changed: AVFoundation.IAVPlaybackCoordinatorPlaybackControlDelegate

Modified methods:

-public abstract void DidIssueBufferingCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorBufferingCommand bufferingCommand, System.Action completionHandler)
+public virtual void DidIssueBufferingCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorBufferingCommand bufferingCommand, System.Action completionHandler)
-public abstract void DidIssuePauseCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPauseCommand pauseCommand, System.Action completionHandler)
+public virtual void DidIssuePauseCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPauseCommand pauseCommand, System.Action completionHandler)
-public abstract void DidIssuePlayCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPlayCommand playCommand, System.Action completionHandler)
+public virtual void DidIssuePlayCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPlayCommand playCommand, System.Action completionHandler)
-public abstract void DidIssueSeekCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorSeekCommand seekCommand, System.Action completionHandler)
+public virtual void DidIssueSeekCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorSeekCommand seekCommand, System.Action completionHandler)

Type Changed: AVFoundation.IAVPlayerItemLegibleOutputPushDelegate

Added method:

public virtual void DidOutputAttributedStrings (AVPlayerItemLegibleOutput output, Foundation.NSAttributedString[] strings, CoreMedia.CMSampleBuffer[] nativeSamples, CoreMedia.CMTime itemTime);

Type Changed: AVFoundation.IAVPlayerItemMetadataCollectorPushDelegate

Modified methods:

-public abstract void DidCollectDateRange (AVPlayerItemMetadataCollector metadataCollector, AVDateRangeMetadataGroup[] metadataGroups, Foundation.NSIndexSet indexesOfNewGroups, Foundation.NSIndexSet indexesOfModifiedGroups)
+public virtual void DidCollectDateRange (AVPlayerItemMetadataCollector metadataCollector, AVDateRangeMetadataGroup[] metadataGroups, Foundation.NSIndexSet indexesOfNewGroups, Foundation.NSIndexSet indexesOfModifiedGroups)

Type Changed: AVFoundation.IAVPlayerItemMetadataOutputPushDelegate

Added method:

public virtual void DidOutputTimedMetadataGroups (AVPlayerItemMetadataOutput output, AVTimedMetadataGroup[] groups, AVPlayerItemTrack track);

Type Changed: AVFoundation.IAVPlayerItemOutputPullDelegate

Added methods:

public virtual void OutputMediaDataWillChange (AVPlayerItemOutput sender);
public virtual void OutputSequenceWasFlushed (AVPlayerItemOutput output);

Type Changed: AVFoundation.IAVPlayerItemOutputPushDelegate

Added method:

public virtual void OutputSequenceWasFlushed (AVPlayerItemOutput output);

Type Changed: AVFoundation.IAVPlayerPlaybackCoordinatorDelegate

Added methods:

public virtual string GetIdentifier (AVPlayerPlaybackCoordinator coordinator, AVPlayerItem playerItem);
public virtual Foundation.NSValue[] GetInterstitialTimeRanges (AVPlayerPlaybackCoordinator coordinator, AVPlayerItem playerItem);

Type Changed: AVFoundation.IAVQueuedSampleBufferRendering

Modified properties:

-public abstract bool HasSufficientMediaDataForReliablePlaybackStart { get; }
+public virtual bool HasSufficientMediaDataForReliablePlaybackStart { get; }
-public abstract bool ReadyForMoreMediaData { get; }
+public virtual bool ReadyForMoreMediaData { get; }
-public abstract CoreMedia.CMTimebase Timebase { get; }
+public virtual CoreMedia.CMTimebase Timebase { get; }

Modified methods:

-public abstract void Enqueue (CoreMedia.CMSampleBuffer sampleBuffer)
+public virtual void Enqueue (CoreMedia.CMSampleBuffer sampleBuffer)
-public abstract void Flush ()
+public virtual void Flush ()
-public abstract void RequestMediaData (CoreFoundation.DispatchQueue queue, System.Action handler)
+public virtual void RequestMediaData (CoreFoundation.DispatchQueue queue, System.Action handler)
-public abstract void StopRequestingMediaData ()
+public virtual void StopRequestingMediaData ()

Type Changed: AVFoundation.IAVSpeechSynthesizerDelegate

Added methods:

public virtual void DidCancelSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
public virtual void DidContinueSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
public virtual void DidFinishSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
public virtual void DidPauseSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
public virtual void DidStartSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
public virtual void WillSpeakRangeOfSpeechString (AVSpeechSynthesizer synthesizer, Foundation.NSRange characterRange, AVSpeechUtterance utterance);

Type Changed: AVFoundation.IAVVideoCompositing

Added properties:

public virtual bool CanConformColorOfSourceFrames { get; }
public virtual bool SupportsHdrSourceFrames { get; }
public virtual bool SupportsWideColorSourceFrames { get; }

Modified methods:

-public abstract void RenderContextChanged (AVVideoCompositionRenderContext newRenderContext)
+public virtual void RenderContextChanged (AVVideoCompositionRenderContext newRenderContext)
-public abstract Foundation.NSDictionary RequiredPixelBufferAttributesForRenderContext ()
+public virtual Foundation.NSDictionary RequiredPixelBufferAttributesForRenderContext ()
-public abstract Foundation.NSDictionary SourcePixelBufferAttributes ()
+public virtual Foundation.NSDictionary SourcePixelBufferAttributes ()
-public abstract void StartVideoCompositionRequest (AVAsynchronousVideoCompositionRequest asyncVideoCompositionRequest)
+public virtual void StartVideoCompositionRequest (AVAsynchronousVideoCompositionRequest asyncVideoCompositionRequest)

Added methods:

public virtual void AnticipateRendering (AVVideoCompositionRenderHint renderHint);
public virtual void CancelAllPendingVideoCompositionRequests ();
public virtual void PrerollForRendering (AVVideoCompositionRenderHint renderHint);

Type Changed: AVFoundation.IAVVideoCompositionValidationHandling

Added methods:

public virtual bool ShouldContinueValidatingAfterFindingEmptyTimeRange (AVVideoComposition videoComposition, CoreMedia.CMTimeRange timeRange);
public virtual bool ShouldContinueValidatingAfterFindingInvalidTimeRangeInInstruction (AVVideoComposition videoComposition, AVVideoCompositionInstruction videoCompositionInstruction);
public virtual bool ShouldContinueValidatingAfterFindingInvalidTrackIDInInstruction (AVVideoComposition videoComposition, AVVideoCompositionInstruction videoCompositionInstruction, AVVideoCompositionLayerInstruction layerInstruction, AVAsset asset);
public virtual bool ShouldContinueValidatingAfterFindingInvalidValueForKey (AVVideoComposition videoComposition, string key);

New Type: AVFoundation.AVAudioSourceNodeRenderHandler3

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

New Type: AVFoundation.AVAudioSourceNodeRenderHandlerRaw

public sealed delegate AVAudioSourceNodeRenderHandlerRaw : System.MulticastDelegate {
	// constructors
	public AVAudioSourceNodeRenderHandlerRaw (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData, System.AsyncCallback callback, object object);
	public virtual int EndInvoke (System.IAsyncResult result);
	public virtual int Invoke (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
}

Namespace AVKit

Type Changed: AVKit.IAVCaptureViewDelegate

Modified methods:

-public abstract void StartRecording (AVCaptureView captureView, AVFoundation.AVCaptureFileOutput fileOutput)
+public virtual void StartRecording (AVCaptureView captureView, AVFoundation.AVCaptureFileOutput fileOutput)

Type Changed: AVKit.IAVPictureInPictureControllerDelegate

Added methods:

public virtual void DidStartPictureInPicture (AVPictureInPictureController pictureInPictureController);
public virtual void DidStopPictureInPicture (AVPictureInPictureController pictureInPictureController);
public virtual void FailedToStartPictureInPicture (AVPictureInPictureController pictureInPictureController, Foundation.NSError error);
public virtual void RestoreUserInterfaceForPictureInPicture (AVPictureInPictureController pictureInPictureController, System.Action<bool> completionHandler);
public virtual void WillStartPictureInPicture (AVPictureInPictureController pictureInPictureController);
public virtual void WillStopPictureInPicture (AVPictureInPictureController pictureInPictureController);

Type Changed: AVKit.IAVPictureInPictureSampleBufferPlaybackDelegate

Modified methods:

-public abstract void DidTransitionToRenderSize (AVPictureInPictureController pictureInPictureController, CoreMedia.CMVideoDimensions newRenderSize)
+public virtual void DidTransitionToRenderSize (AVPictureInPictureController pictureInPictureController, CoreMedia.CMVideoDimensions newRenderSize)
-public abstract CoreMedia.CMTimeRange GetTimeRange (AVPictureInPictureController pictureInPictureController)
+public virtual CoreMedia.CMTimeRange GetTimeRange (AVPictureInPictureController pictureInPictureController)
-public abstract bool IsPlaybackPaused (AVPictureInPictureController pictureInPictureController)
+public virtual bool IsPlaybackPaused (AVPictureInPictureController pictureInPictureController)
-public abstract void SetPlaying (AVPictureInPictureController pictureInPictureController, bool playing)
+public virtual void SetPlaying (AVPictureInPictureController pictureInPictureController, bool playing)
-public abstract void SkipByInterval (AVPictureInPictureController pictureInPictureController, CoreMedia.CMTime skipInterval, System.Action completionHandler)
+public virtual void SkipByInterval (AVPictureInPictureController pictureInPictureController, CoreMedia.CMTime skipInterval, System.Action completionHandler)

Added method:

public virtual bool ShouldProhibitBackgroundAudioPlayback (AVPictureInPictureController pictureInPictureController);

Type Changed: AVKit.IAVPlayerViewDelegate

Added methods:

public virtual void DidEnterFullScreen (AVPlayerView playerView);
public virtual void DidExitFullScreen (AVPlayerView playerView);
public virtual void RestoreUserInterfaceForFullScreenExit (AVPlayerView playerView, System.Action<bool> completionHandler);
public virtual void WillEnterFullScreen (AVPlayerView playerView);
public virtual void WillExitFullScreen (AVPlayerView playerView);

Type Changed: AVKit.IAVPlayerViewPictureInPictureDelegate

Added methods:

public virtual void DidStart (AVPlayerView playerView);
public virtual void DidStop (AVPlayerView playerView);
public virtual void FailedToStart (AVPlayerView playerView, Foundation.NSError error);
public virtual void RestoreUserInterface (AVPlayerView playerView, System.Action<bool> completionHandler);
public virtual bool ShouldAutomaticallyDismiss (AVPlayerView playerView);
public virtual void WillStart (AVPlayerView playerView);
public virtual void WillStop (AVPlayerView playerView);

Type Changed: AVKit.IAVRoutePickerViewDelegate

Added methods:

public virtual void DidEndPresentingRoutes (AVRoutePickerView routePickerView);
public virtual void WillBeginPresentingRoutes (AVRoutePickerView routePickerView);

Namespace Accessibility

Type Changed: Accessibility.IAXBrailleMapRenderer

Added properties:

public virtual CoreGraphics.CGRect AccessibilityBrailleMapRenderRegion { get; set; }
public virtual System.Action<AXBrailleMap> AccessibilityBrailleMapRenderer { get; set; }

Type Changed: Accessibility.IAXChart

Modified properties:

-public abstract AXChartDescriptor AccessibilityChartDescriptor { get; set; }
+public virtual AXChartDescriptor AccessibilityChartDescriptor { get; set; }

Type Changed: Accessibility.IAXCustomContentProvider

Modified properties:

-public abstract AXCustomContent[] AccessibilityCustomContent { get; set; }
+public virtual AXCustomContent[] AccessibilityCustomContent { get; set; }

Added property:

public virtual System.Func<AXCustomContent[]> AccessibilityCustomContentHandler { get; set; }

Type Changed: Accessibility.IAXDataAxisDescriptor

Modified properties:

-public abstract Foundation.NSAttributedString AttributedTitle { get; set; }
+public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
-public abstract string Title { get; set; }
+public virtual string Title { get; set; }

Namespace AppKit

Type Changed: AppKit.INSAccessibility

Modified properties:

-public abstract CoreGraphics.CGPoint AccessibilityActivationPoint { get; set; }
+public virtual CoreGraphics.CGPoint AccessibilityActivationPoint { get; set; }
-public abstract Foundation.NSNumber[] AccessibilityAllowedValues { get; set; }
+public virtual Foundation.NSNumber[] AccessibilityAllowedValues { get; set; }
-public abstract bool AccessibilityAlternateUIVisible { get; set; }
+public virtual bool AccessibilityAlternateUIVisible { get; set; }
-public abstract Foundation.NSObject AccessibilityApplicationFocusedUIElement { get; set; }
+public virtual Foundation.NSObject AccessibilityApplicationFocusedUIElement { get; set; }
-public abstract Foundation.NSObject AccessibilityCancelButton { get; set; }
+public virtual Foundation.NSObject AccessibilityCancelButton { get; set; }
-public abstract Foundation.NSObject[] AccessibilityChildren { get; set; }
+public virtual Foundation.NSObject[] AccessibilityChildren { get; set; }
-public abstract NSAccessibilityElement[] AccessibilityChildrenInNavigationOrder { get; set; }
+public virtual NSAccessibilityElement[] AccessibilityChildrenInNavigationOrder { get; set; }
-public abstract Foundation.NSObject AccessibilityClearButton { get; set; }
+public virtual Foundation.NSObject AccessibilityClearButton { get; set; }
-public abstract Foundation.NSObject AccessibilityCloseButton { get; set; }
+public virtual Foundation.NSObject AccessibilityCloseButton { get; set; }
-public abstract IntPtr AccessibilityColumnCount { get; set; }
+public virtual IntPtr AccessibilityColumnCount { get; set; }
-public abstract Foundation.NSObject[] AccessibilityColumnHeaderUIElements { get; set; }
+public virtual Foundation.NSObject[] AccessibilityColumnHeaderUIElements { get; set; }
-public abstract Foundation.NSRange AccessibilityColumnIndexRange { get; set; }
+public virtual Foundation.NSRange AccessibilityColumnIndexRange { get; set; }
-public abstract Foundation.NSObject[] AccessibilityColumnTitles { get; set; }
+public virtual Foundation.NSObject[] AccessibilityColumnTitles { get; set; }
-public abstract Foundation.NSObject[] AccessibilityColumns { get; set; }
+public virtual Foundation.NSObject[] AccessibilityColumns { get; set; }
-public abstract Foundation.NSObject[] AccessibilityContents { get; set; }
+public virtual Foundation.NSObject[] AccessibilityContents { get; set; }
-public abstract Foundation.NSObject AccessibilityCriticalValue { get; set; }
+public virtual Foundation.NSObject AccessibilityCriticalValue { get; set; }
-public abstract NSAccessibilityCustomAction[] AccessibilityCustomActions { get; set; }
+public virtual NSAccessibilityCustomAction[] AccessibilityCustomActions { get; set; }
-public abstract NSAccessibilityCustomRotor[] AccessibilityCustomRotors { get; set; }
+public virtual NSAccessibilityCustomRotor[] AccessibilityCustomRotors { get; set; }
-public abstract Foundation.NSObject AccessibilityDecrementButton { get; set; }
+public virtual Foundation.NSObject AccessibilityDecrementButton { get; set; }
-public abstract Foundation.NSObject AccessibilityDefaultButton { get; set; }
+public virtual Foundation.NSObject AccessibilityDefaultButton { get; set; }
-public abstract bool AccessibilityDisclosed { get; set; }
+public virtual bool AccessibilityDisclosed { get; set; }
-public abstract Foundation.NSObject AccessibilityDisclosedByRow { get; set; }
+public virtual Foundation.NSObject AccessibilityDisclosedByRow { get; set; }
-public abstract Foundation.NSObject AccessibilityDisclosedRows { get; set; }
+public virtual Foundation.NSObject AccessibilityDisclosedRows { get; set; }
-public abstract IntPtr AccessibilityDisclosureLevel { get; set; }
+public virtual IntPtr AccessibilityDisclosureLevel { get; set; }
-public abstract string AccessibilityDocument { get; set; }
+public virtual string AccessibilityDocument { get; set; }
-public abstract bool AccessibilityEdited { get; set; }
+public virtual bool AccessibilityEdited { get; set; }
-public abstract bool AccessibilityElement { get; set; }
+public virtual bool AccessibilityElement { get; set; }
-public abstract bool AccessibilityEnabled { get; set; }
+public virtual bool AccessibilityEnabled { get; set; }
-public abstract bool AccessibilityExpanded { get; set; }
+public virtual bool AccessibilityExpanded { get; set; }
-public abstract Foundation.NSObject AccessibilityExtrasMenuBar { get; set; }
+public virtual Foundation.NSObject AccessibilityExtrasMenuBar { get; set; }
-public abstract string AccessibilityFilename { get; set; }
+public virtual string AccessibilityFilename { get; set; }
-public abstract bool AccessibilityFocused { get; set; }
+public virtual bool AccessibilityFocused { get; set; }
-public abstract Foundation.NSObject AccessibilityFocusedWindow { get; set; }
+public virtual Foundation.NSObject AccessibilityFocusedWindow { get; set; }
-public abstract CoreGraphics.CGRect AccessibilityFrame { get; set; }
+public virtual CoreGraphics.CGRect AccessibilityFrame { get; set; }
-public abstract bool AccessibilityFrontmost { get; set; }
+public virtual bool AccessibilityFrontmost { get; set; }
-public abstract Foundation.NSObject AccessibilityFullScreenButton { get; set; }
+public virtual Foundation.NSObject AccessibilityFullScreenButton { get; set; }
-public abstract Foundation.NSObject AccessibilityGrowArea { get; set; }
+public virtual Foundation.NSObject AccessibilityGrowArea { get; set; }
-public abstract Foundation.NSObject[] AccessibilityHandles { get; set; }
+public virtual Foundation.NSObject[] AccessibilityHandles { get; set; }
-public abstract Foundation.NSObject AccessibilityHeader { get; set; }
+public virtual Foundation.NSObject AccessibilityHeader { get; set; }
-public abstract string AccessibilityHelp { get; set; }
+public virtual string AccessibilityHelp { get; set; }
-public abstract bool AccessibilityHidden { get; set; }
+public virtual bool AccessibilityHidden { get; set; }
-public abstract Foundation.NSObject AccessibilityHorizontalScrollBar { get; set; }
+public virtual Foundation.NSObject AccessibilityHorizontalScrollBar { get; set; }
-public abstract string AccessibilityHorizontalUnitDescription { get; set; }
+public virtual string AccessibilityHorizontalUnitDescription { get; set; }
-public abstract NSAccessibilityUnits AccessibilityHorizontalUnits { get; set; }
+public virtual NSAccessibilityUnits AccessibilityHorizontalUnits { get; set; }
-public abstract string AccessibilityIdentifier { get; set; }
+public virtual string AccessibilityIdentifier { get; set; }
-public abstract Foundation.NSObject AccessibilityIncrementButton { get; set; }
+public virtual Foundation.NSObject AccessibilityIncrementButton { get; set; }
-public abstract IntPtr AccessibilityIndex { get; set; }
+public virtual IntPtr AccessibilityIndex { get; set; }
-public abstract IntPtr AccessibilityInsertionPointLineNumber { get; set; }
+public virtual IntPtr AccessibilityInsertionPointLineNumber { get; set; }
-public abstract string AccessibilityLabel { get; set; }
+public virtual string AccessibilityLabel { get; set; }
-public abstract Foundation.NSObject[] AccessibilityLabelUIElements { get; set; }
+public virtual Foundation.NSObject[] AccessibilityLabelUIElements { get; set; }
-public abstract float AccessibilityLabelValue { get; set; }
+public virtual float AccessibilityLabelValue { get; set; }
-public abstract Foundation.NSObject[] AccessibilityLinkedUIElements { get; set; }
+public virtual Foundation.NSObject[] AccessibilityLinkedUIElements { get; set; }
-public abstract bool AccessibilityMain { get; set; }
+public virtual bool AccessibilityMain { get; set; }
-public abstract Foundation.NSObject AccessibilityMainWindow { get; set; }
+public virtual Foundation.NSObject AccessibilityMainWindow { get; set; }
-public abstract Foundation.NSObject AccessibilityMarkerGroupUIElement { get; set; }
+public virtual Foundation.NSObject AccessibilityMarkerGroupUIElement { get; set; }
-public abstract string AccessibilityMarkerTypeDescription { get; set; }
+public virtual string AccessibilityMarkerTypeDescription { get; set; }
-public abstract Foundation.NSObject[] AccessibilityMarkerUIElements { get; set; }
+public virtual Foundation.NSObject[] AccessibilityMarkerUIElements { get; set; }
-public abstract Foundation.NSObject AccessibilityMarkerValues { get; set; }
+public virtual Foundation.NSObject AccessibilityMarkerValues { get; set; }
-public abstract Foundation.NSObject AccessibilityMaxValue { get; set; }
+public virtual Foundation.NSObject AccessibilityMaxValue { get; set; }
-public abstract Foundation.NSObject AccessibilityMenuBar { get; set; }
+public virtual Foundation.NSObject AccessibilityMenuBar { get; set; }
-public abstract Foundation.NSObject AccessibilityMinValue { get; set; }
+public virtual Foundation.NSObject AccessibilityMinValue { get; set; }
-public abstract Foundation.NSObject AccessibilityMinimizeButton { get; set; }
+public virtual Foundation.NSObject AccessibilityMinimizeButton { get; set; }
-public abstract bool AccessibilityMinimized { get; set; }
+public virtual bool AccessibilityMinimized { get; set; }
-public abstract bool AccessibilityModal { get; set; }
+public virtual bool AccessibilityModal { get; set; }
-public abstract Foundation.NSObject[] AccessibilityNextContents { get; set; }
+public virtual Foundation.NSObject[] AccessibilityNextContents { get; set; }
-public abstract IntPtr AccessibilityNumberOfCharacters { get; set; }
+public virtual IntPtr AccessibilityNumberOfCharacters { get; set; }
-public abstract bool AccessibilityOrderedByRow { get; set; }
+public virtual bool AccessibilityOrderedByRow { get; set; }
-public abstract NSAccessibilityOrientation AccessibilityOrientation { get; set; }
+public virtual NSAccessibilityOrientation AccessibilityOrientation { get; set; }
-public abstract Foundation.NSObject AccessibilityOverflowButton { get; set; }
+public virtual Foundation.NSObject AccessibilityOverflowButton { get; set; }
-public abstract Foundation.NSObject AccessibilityParent { get; set; }
+public virtual Foundation.NSObject AccessibilityParent { get; set; }
-public abstract string AccessibilityPlaceholderValue { get; set; }
+public virtual string AccessibilityPlaceholderValue { get; set; }
-public abstract Foundation.NSObject[] AccessibilityPreviousContents { get; set; }
+public virtual Foundation.NSObject[] AccessibilityPreviousContents { get; set; }
-public abstract bool AccessibilityProtectedContent { get; set; }
+public virtual bool AccessibilityProtectedContent { get; set; }
-public abstract Foundation.NSObject AccessibilityProxy { get; set; }
+public virtual Foundation.NSObject AccessibilityProxy { get; set; }
-public abstract bool AccessibilityRequired { get; set; }
+public virtual bool AccessibilityRequired { get; set; }
-public abstract string AccessibilityRole { get; set; }
+public virtual string AccessibilityRole { get; set; }
-public abstract string AccessibilityRoleDescription { get; set; }
+public virtual string AccessibilityRoleDescription { get; set; }
-public abstract IntPtr AccessibilityRowCount { get; set; }
+public virtual IntPtr AccessibilityRowCount { get; set; }
-public abstract Foundation.NSObject[] AccessibilityRowHeaderUIElements { get; set; }
+public virtual Foundation.NSObject[] AccessibilityRowHeaderUIElements { get; set; }
-public abstract Foundation.NSRange AccessibilityRowIndexRange { get; set; }
+public virtual Foundation.NSRange AccessibilityRowIndexRange { get; set; }
-public abstract Foundation.NSObject[] AccessibilityRows { get; set; }
+public virtual Foundation.NSObject[] AccessibilityRows { get; set; }
-public abstract NSAccessibilityRulerMarkerType AccessibilityRulerMarkerType { get; set; }
+public virtual NSAccessibilityRulerMarkerType AccessibilityRulerMarkerType { get; set; }
-public abstract Foundation.NSObject AccessibilitySearchButton { get; set; }
+public virtual Foundation.NSObject AccessibilitySearchButton { get; set; }
-public abstract Foundation.NSObject AccessibilitySearchMenu { get; set; }
+public virtual Foundation.NSObject AccessibilitySearchMenu { get; set; }
-public abstract bool AccessibilitySelected { get; set; }
+public virtual bool AccessibilitySelected { get; set; }
-public abstract Foundation.NSObject[] AccessibilitySelectedCells { get; set; }
+public virtual Foundation.NSObject[] AccessibilitySelectedCells { get; set; }
-public abstract Foundation.NSObject[] AccessibilitySelectedChildren { get; set; }
+public virtual Foundation.NSObject[] AccessibilitySelectedChildren { get; set; }
-public abstract Foundation.NSObject[] AccessibilitySelectedColumns { get; set; }
+public virtual Foundation.NSObject[] AccessibilitySelectedColumns { get; set; }
-public abstract Foundation.NSObject[] AccessibilitySelectedRows { get; set; }
+public virtual Foundation.NSObject[] AccessibilitySelectedRows { get; set; }
-public abstract string AccessibilitySelectedText { get; set; }
+public virtual string AccessibilitySelectedText { get; set; }
-public abstract Foundation.NSRange AccessibilitySelectedTextRange { get; set; }
+public virtual Foundation.NSRange AccessibilitySelectedTextRange { get; set; }
-public abstract Foundation.NSValue[] AccessibilitySelectedTextRanges { get; set; }
+public virtual Foundation.NSValue[] AccessibilitySelectedTextRanges { get; set; }
-public abstract Foundation.NSObject[] AccessibilityServesAsTitleForUIElements { get; set; }
+public virtual Foundation.NSObject[] AccessibilityServesAsTitleForUIElements { get; set; }
-public abstract Foundation.NSRange AccessibilitySharedCharacterRange { get; set; }
+public virtual Foundation.NSRange AccessibilitySharedCharacterRange { get; set; }
-public abstract Foundation.NSObject[] AccessibilitySharedFocusElements { get; set; }
+public virtual Foundation.NSObject[] AccessibilitySharedFocusElements { get; set; }
-public abstract Foundation.NSObject[] AccessibilitySharedTextUIElements { get; set; }
+public virtual Foundation.NSObject[] AccessibilitySharedTextUIElements { get; set; }
-public abstract Foundation.NSObject AccessibilityShownMenu { get; set; }
+public virtual Foundation.NSObject AccessibilityShownMenu { get; set; }
-public abstract NSAccessibilitySortDirection AccessibilitySortDirection { get; set; }
+public virtual NSAccessibilitySortDirection AccessibilitySortDirection { get; set; }
-public abstract Foundation.NSObject[] AccessibilitySplitters { get; set; }
+public virtual Foundation.NSObject[] AccessibilitySplitters { get; set; }
-public abstract string AccessibilitySubrole { get; set; }
+public virtual string AccessibilitySubrole { get; set; }
-public abstract Foundation.NSObject[] AccessibilityTabs { get; set; }
+public virtual Foundation.NSObject[] AccessibilityTabs { get; set; }
-public abstract string AccessibilityTitle { get; set; }
+public virtual string AccessibilityTitle { get; set; }
-public abstract Foundation.NSObject AccessibilityTitleUIElement { get; set; }
+public virtual Foundation.NSObject AccessibilityTitleUIElement { get; set; }
-public abstract Foundation.NSObject AccessibilityToolbarButton { get; set; }
+public virtual Foundation.NSObject AccessibilityToolbarButton { get; set; }
-public abstract Foundation.NSObject AccessibilityTopLevelUIElement { get; set; }
+public virtual Foundation.NSObject AccessibilityTopLevelUIElement { get; set; }
-public abstract string AccessibilityUnitDescription { get; set; }
+public virtual string AccessibilityUnitDescription { get; set; }
-public abstract NSAccessibilityUnits AccessibilityUnits { get; set; }
+public virtual NSAccessibilityUnits AccessibilityUnits { get; set; }
-public abstract Foundation.NSUrl AccessibilityUrl { get; set; }
+public virtual Foundation.NSUrl AccessibilityUrl { get; set; }
-public abstract Foundation.NSObject AccessibilityValue { get; set; }
+public virtual Foundation.NSObject AccessibilityValue { get; set; }
-public abstract string AccessibilityValueDescription { get; set; }
+public virtual string AccessibilityValueDescription { get; set; }
-public abstract Foundation.NSObject AccessibilityVerticalScrollBar { get; set; }
+public virtual Foundation.NSObject AccessibilityVerticalScrollBar { get; set; }
-public abstract string AccessibilityVerticalUnitDescription { get; set; }
+public virtual string AccessibilityVerticalUnitDescription { get; set; }
-public abstract NSAccessibilityUnits AccessibilityVerticalUnits { get; set; }
+public virtual NSAccessibilityUnits AccessibilityVerticalUnits { get; set; }
-public abstract Foundation.NSObject[] AccessibilityVisibleCells { get; set; }
+public virtual Foundation.NSObject[] AccessibilityVisibleCells { get; set; }
-public abstract Foundation.NSRange AccessibilityVisibleCharacterRange { get; set; }
+public virtual Foundation.NSRange AccessibilityVisibleCharacterRange { get; set; }
-public abstract Foundation.NSObject[] AccessibilityVisibleChildren { get; set; }
+public virtual Foundation.NSObject[] AccessibilityVisibleChildren { get; set; }
-public abstract Foundation.NSObject[] AccessibilityVisibleColumns { get; set; }
+public virtual Foundation.NSObject[] AccessibilityVisibleColumns { get; set; }
-public abstract Foundation.NSObject[] AccessibilityVisibleRows { get; set; }
+public virtual Foundation.NSObject[] AccessibilityVisibleRows { get; set; }
-public abstract Foundation.NSObject AccessibilityWarningValue { get; set; }
+public virtual Foundation.NSObject AccessibilityWarningValue { get; set; }
-public abstract Foundation.NSObject AccessibilityWindow { get; set; }
+public virtual Foundation.NSObject AccessibilityWindow { get; set; }
-public abstract Foundation.NSObject[] AccessibilityWindows { get; set; }
+public virtual Foundation.NSObject[] AccessibilityWindows { get; set; }
-public abstract Foundation.NSObject AccessibilityZoomButton { get; set; }
+public virtual Foundation.NSObject AccessibilityZoomButton { get; set; }

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }

Modified methods:

-public abstract bool AccessibilityPerformCancel ()
+public virtual bool AccessibilityPerformCancel ()
-public abstract bool AccessibilityPerformConfirm ()
+public virtual bool AccessibilityPerformConfirm ()
-public abstract bool AccessibilityPerformDecrement ()
+public virtual bool AccessibilityPerformDecrement ()
-public abstract bool AccessibilityPerformDelete ()
+public virtual bool AccessibilityPerformDelete ()
-public abstract bool AccessibilityPerformIncrement ()
+public virtual bool AccessibilityPerformIncrement ()
-public abstract bool AccessibilityPerformPick ()
+public virtual bool AccessibilityPerformPick ()
-public abstract bool AccessibilityPerformPress ()
+public virtual bool AccessibilityPerformPress ()
-public abstract bool AccessibilityPerformRaise ()
+public virtual bool AccessibilityPerformRaise ()
-public abstract bool AccessibilityPerformShowAlternateUI ()
+public virtual bool AccessibilityPerformShowAlternateUI ()
-public abstract bool AccessibilityPerformShowDefaultUI ()
+public virtual bool AccessibilityPerformShowDefaultUI ()
-public abstract bool AccessibilityPerformShowMenu ()
+public virtual bool AccessibilityPerformShowMenu ()
-public abstract Foundation.NSAttributedString GetAccessibilityAttributedString (Foundation.NSRange range)
+public virtual Foundation.NSAttributedString GetAccessibilityAttributedString (Foundation.NSRange range)
-public abstract Foundation.NSObject GetAccessibilityCellForColumn (IntPtr column, IntPtr row)
+public virtual Foundation.NSObject GetAccessibilityCellForColumn (IntPtr column, IntPtr row)
-public abstract CoreGraphics.CGRect GetAccessibilityFrame (Foundation.NSRange range)
+public virtual CoreGraphics.CGRect GetAccessibilityFrame (Foundation.NSRange range)
-public abstract CoreGraphics.CGPoint GetAccessibilityLayoutForScreen (CoreGraphics.CGPoint point)
+public virtual CoreGraphics.CGPoint GetAccessibilityLayoutForScreen (CoreGraphics.CGPoint point)
-public abstract CoreGraphics.CGSize GetAccessibilityLayoutForScreen (CoreGraphics.CGSize size)
+public virtual CoreGraphics.CGSize GetAccessibilityLayoutForScreen (CoreGraphics.CGSize size)
-public abstract IntPtr GetAccessibilityLine (IntPtr index)
+public virtual IntPtr GetAccessibilityLine (IntPtr index)
-public abstract Foundation.NSRange GetAccessibilityRange (CoreGraphics.CGPoint point)
+public virtual Foundation.NSRange GetAccessibilityRange (CoreGraphics.CGPoint point)
-public abstract Foundation.NSRange GetAccessibilityRange (IntPtr index)
+public virtual Foundation.NSRange GetAccessibilityRange (IntPtr index)
-public abstract Foundation.NSRange GetAccessibilityRangeForLine (IntPtr line)
+public virtual Foundation.NSRange GetAccessibilityRangeForLine (IntPtr line)
-public abstract Foundation.NSData GetAccessibilityRtf (Foundation.NSRange range)
+public virtual Foundation.NSData GetAccessibilityRtf (Foundation.NSRange range)
-public abstract CoreGraphics.CGPoint GetAccessibilityScreenForLayout (CoreGraphics.CGPoint point)
+public virtual CoreGraphics.CGPoint GetAccessibilityScreenForLayout (CoreGraphics.CGPoint point)
-public abstract CoreGraphics.CGSize GetAccessibilityScreenForLayout (CoreGraphics.CGSize size)
+public virtual CoreGraphics.CGSize GetAccessibilityScreenForLayout (CoreGraphics.CGSize size)
-public abstract string GetAccessibilityString (Foundation.NSRange range)
+public virtual string GetAccessibilityString (Foundation.NSRange range)
-public abstract Foundation.NSRange GetAccessibilityStyleRange (IntPtr index)
+public virtual Foundation.NSRange GetAccessibilityStyleRange (IntPtr index)
-public abstract bool IsAccessibilitySelectorAllowed (ObjCRuntime.Selector selector)
+public virtual bool IsAccessibilitySelectorAllowed (ObjCRuntime.Selector selector)

Type Changed: AppKit.INSAccessibilityButton

Modified properties:

-public abstract string AccessibilityLabel { get; }
+public virtual string AccessibilityLabel { get; }

Modified methods:

-public abstract bool AccessibilityPerformPress ()
+public virtual bool AccessibilityPerformPress ()

Type Changed: AppKit.INSAccessibilityCheckBox

Modified properties:

-public abstract Foundation.NSNumber AccessibilityValue { get; }
+public virtual Foundation.NSNumber AccessibilityValue { get; }

Type Changed: AppKit.INSAccessibilityColor

Modified properties:

-public abstract string AccessibilityName { get; }
+public virtual string AccessibilityName { get; }

Type Changed: AppKit.INSAccessibilityContainsTransientUI

Modified properties:

-public abstract bool IsAccessibilityAlternateUIVisible { get; }
+public virtual bool IsAccessibilityAlternateUIVisible { get; }

Modified methods:

-public abstract bool AccessibilityPerformShowAlternateUI ()
+public virtual bool AccessibilityPerformShowAlternateUI ()
-public abstract bool AccessibilityPerformShowDefaultUI ()
+public virtual bool AccessibilityPerformShowDefaultUI ()

Type Changed: AppKit.INSAccessibilityCustomRotorItemSearchDelegate

Modified methods:

-public abstract NSAccessibilityCustomRotorItemResult GetResult (NSAccessibilityCustomRotor rotor, NSAccessibilityCustomRotorSearchParameters searchParameters)
+public virtual NSAccessibilityCustomRotorItemResult GetResult (NSAccessibilityCustomRotor rotor, NSAccessibilityCustomRotorSearchParameters searchParameters)

Type Changed: AppKit.INSAccessibilityElementLoading

Modified methods:

-public abstract NSAccessibilityElement GetAccessibilityElement (Foundation.INSSecureCoding token)
+public virtual NSAccessibilityElement GetAccessibilityElement (Foundation.INSSecureCoding token)

Added method:

public virtual Foundation.NSRange GetAccessibilityRangeInTargetElement (Foundation.INSSecureCoding token);

Type Changed: AppKit.INSAccessibilityElementProtocol

Modified properties:

-public abstract CoreGraphics.CGRect AccessibilityFrame { get; }
+public virtual CoreGraphics.CGRect AccessibilityFrame { get; }
-public abstract Foundation.NSObject AccessibilityParent { get; }
+public virtual Foundation.NSObject AccessibilityParent { get; }

Added properties:

public virtual bool AccessibilityFocused { get; }
public virtual string AccessibilityIdentifier { get; }

Type Changed: AppKit.INSAccessibilityImage

Modified properties:

-public abstract string AccessibilityLabel { get; }
+public virtual string AccessibilityLabel { get; }

Type Changed: AppKit.INSAccessibilityLayoutArea

Modified properties:

-public abstract Foundation.NSObject[] AccessibilityChildren { get; }
+public virtual Foundation.NSObject[] AccessibilityChildren { get; }
-public abstract Foundation.NSObject AccessibilityFocusedUIElement { get; }
+public virtual Foundation.NSObject AccessibilityFocusedUIElement { get; }
-public abstract string AccessibilityLabel { get; }
+public virtual string AccessibilityLabel { get; }
-public abstract Foundation.NSObject[] AccessibilitySelectedChildren { get; }
+public virtual Foundation.NSObject[] AccessibilitySelectedChildren { get; }

Type Changed: AppKit.INSAccessibilityLayoutItem

Added method:

public virtual void SetAccessibilityFrame (CoreGraphics.CGRect frame);

Type Changed: AppKit.INSAccessibilityNavigableStaticText

Modified methods:

-public abstract CoreGraphics.CGRect GetAccessibilityFrame (Foundation.NSRange range)
+public virtual CoreGraphics.CGRect GetAccessibilityFrame (Foundation.NSRange range)
-public abstract IntPtr GetAccessibilityLine (IntPtr index)
+public virtual IntPtr GetAccessibilityLine (IntPtr index)
-public abstract Foundation.NSRange GetAccessibilityRangeForLine (IntPtr lineNumber)
+public virtual Foundation.NSRange GetAccessibilityRangeForLine (IntPtr lineNumber)
-public abstract string GetAccessibilityString (Foundation.NSRange range)
+public virtual string GetAccessibilityString (Foundation.NSRange range)

Type Changed: AppKit.INSAccessibilityProgressIndicator

Modified properties:

-public abstract Foundation.NSNumber AccessibilityValue { get; }
+public virtual Foundation.NSNumber AccessibilityValue { get; }

Type Changed: AppKit.INSAccessibilityRadioButton

Modified properties:

-public abstract Foundation.NSNumber AccessibilityValue { get; }
+public virtual Foundation.NSNumber AccessibilityValue { get; }

Type Changed: AppKit.INSAccessibilityRow

Modified properties:

-public abstract IntPtr AccessibilityIndex { get; }
+public virtual IntPtr AccessibilityIndex { get; }

Added property:

public virtual IntPtr AccessibilityDisclosureLevel { get; }

Type Changed: AppKit.INSAccessibilitySlider

Modified properties:

-public abstract string AccessibilityLabel { get; }
+public virtual string AccessibilityLabel { get; }
-public abstract Foundation.NSObject AccessibilityValue { get; }
+public virtual Foundation.NSObject AccessibilityValue { get; }

Modified methods:

-public abstract bool AccessibilityPerformDecrement ()
+public virtual bool AccessibilityPerformDecrement ()
-public abstract bool AccessibilityPerformIncrement ()
+public virtual bool AccessibilityPerformIncrement ()

Type Changed: AppKit.INSAccessibilityStaticText

Modified properties:

-public abstract string AccessibilityValue { get; }
+public virtual string AccessibilityValue { get; }

Added property:

public virtual Foundation.NSRange AccessibilityVisibleCharacterRange { get; }

Added method:

public virtual Foundation.NSAttributedString GetAccessibilityAttributedString (Foundation.NSRange range);

Type Changed: AppKit.INSAccessibilityStepper

Modified properties:

-public abstract string AccessibilityLabel { get; }
+public virtual string AccessibilityLabel { get; }

Added property:

public virtual Foundation.NSObject AccessibilityValue { get; }

Modified methods:

-public abstract bool AccessibilityPerformDecrement ()
+public virtual bool AccessibilityPerformDecrement ()
-public abstract bool AccessibilityPerformIncrement ()
+public virtual bool AccessibilityPerformIncrement ()

Type Changed: AppKit.INSAccessibilitySwitch

Modified properties:

-public abstract string AccessibilityValue { get; }
+public virtual string AccessibilityValue { get; }

Added methods:

public virtual bool AccessibilityPerformDecrement ();
public virtual bool AccessibilityPerformIncrement ();

Type Changed: AppKit.INSAccessibilityTable

Modified properties:

-public abstract string AccessibilityLabel { get; }
+public virtual string AccessibilityLabel { get; }
-public abstract INSAccessibilityRow[] AccessibilityRows { get; }
+public virtual INSAccessibilityRow[] AccessibilityRows { get; }

Added properties:

public virtual Foundation.NSObject[] AccessibilityColumnHeaderUIElements { get; }
public virtual Foundation.NSObject[] AccessibilityColumns { get; }
public virtual string AccessibilityHeaderGroup { get; }
public virtual Foundation.NSObject[] AccessibilityRowHeaderUIElements { get; }
public virtual Foundation.NSObject[] AccessibilitySelectedCells { get; }
public virtual Foundation.NSObject[] AccessibilitySelectedColumns { get; }
public virtual INSAccessibilityRow[] AccessibilitySelectedRows { get; set; }
public virtual Foundation.NSObject[] AccessibilityVisibleCells { get; }
public virtual Foundation.NSObject[] AccessibilityVisibleColumns { get; }
public virtual INSAccessibilityRow[] AccessibilityVisibleRows { get; }

Type Changed: AppKit.INSAlertDelegate

Added method:

public virtual bool ShowHelp (NSAlert alert);

Type Changed: AppKit.INSAnimationDelegate

Added methods:

public virtual void AnimationDidEnd (NSAnimation animation);
public virtual void AnimationDidReachProgressMark (NSAnimation animation, float progress);
public virtual void AnimationDidStop (NSAnimation animation);
public virtual bool AnimationShouldStart (NSAnimation animation);
public virtual float ComputeAnimationCurve (NSAnimation animation, float progress);

Type Changed: AppKit.INSAppearanceCustomization

Modified properties:

-public abstract NSAppearance Appearance { get; set; }
+public virtual NSAppearance Appearance { get; set; }
-public abstract NSAppearance EffectiveAppearance { get; }
+public virtual NSAppearance EffectiveAppearance { get; }

Type Changed: AppKit.INSApplicationDelegate

Added methods:

public virtual NSMenu ApplicationDockMenu (NSApplication sender);
public virtual bool ApplicationOpenUntitledFile (NSApplication sender);
public virtual bool ApplicationShouldHandleReopen (NSApplication sender, bool hasVisibleWindows);
public virtual bool ApplicationShouldOpenUntitledFile (NSApplication sender);
public virtual NSApplicationTerminateReply ApplicationShouldTerminate (NSApplication sender);
public virtual bool ApplicationShouldTerminateAfterLastWindowClosed (NSApplication sender);
public virtual bool ContinueUserActivity (NSApplication application, Foundation.NSUserActivity userActivity, ContinueUserActivityRestorationHandler restorationHandler);
public virtual void DecodedRestorableState (NSApplication app, Foundation.NSCoder state);
public virtual void DidBecomeActive (Foundation.NSNotification notification);
public virtual void DidFinishLaunching (Foundation.NSNotification notification);
public virtual void DidHide (Foundation.NSNotification notification);
public virtual void DidResignActive (Foundation.NSNotification notification);
public virtual void DidUnhide (Foundation.NSNotification notification);
public virtual void DidUpdate (Foundation.NSNotification notification);
public virtual void FailedToContinueUserActivity (NSApplication application, string userActivityType, Foundation.NSError error);
public virtual void FailedToRegisterForRemoteNotifications (NSApplication application, Foundation.NSError error);
public virtual Foundation.NSObject GetHandler (NSApplication application, Intents.INIntent intent);
public virtual bool HandlesKey (NSApplication sender, string key);
public virtual bool OpenFile (NSApplication sender, string filename);
public virtual bool OpenFileWithoutUI (Foundation.NSObject sender, string filename);
public virtual void OpenFiles (NSApplication sender, string[] filenames);
public virtual bool OpenTempFile (NSApplication sender, string filename);
public virtual void OpenUrls (NSApplication application, Foundation.NSUrl[] urls);
public virtual bool PrintFile (NSApplication sender, string filename);
public virtual NSApplicationPrintReply PrintFiles (NSApplication application, string[] fileNames, Foundation.NSDictionary printSettings, bool showPrintPanels);
public virtual void ProtectedDataDidBecomeAvailable (Foundation.NSNotification notification);
public virtual void ProtectedDataWillBecomeUnavailable (Foundation.NSNotification notification);
public virtual void ReceivedRemoteNotification (NSApplication application, Foundation.NSDictionary userInfo);
public virtual void RegisteredForRemoteNotifications (NSApplication application, Foundation.NSData deviceToken);
public virtual void ScreenParametersChanged (Foundation.NSNotification notification);
public virtual bool ShouldAutomaticallyLocalizeKeyEquivalents (NSApplication application);
public virtual bool SupportsSecureRestorableState (NSApplication application);
public virtual void UpdatedUserActivity (NSApplication application, Foundation.NSUserActivity userActivity);
public virtual void UserDidAcceptCloudKitShare (NSApplication application, CloudKit.CKShareMetadata metadata);
public virtual void WillBecomeActive (Foundation.NSNotification notification);
public virtual bool WillContinueUserActivity (NSApplication application, string userActivityType);
public virtual void WillEncodeRestorableState (NSApplication app, Foundation.NSCoder encoder);
public virtual void WillFinishLaunching (Foundation.NSNotification notification);
public virtual void WillHide (Foundation.NSNotification notification);
public virtual Foundation.NSError WillPresentError (NSApplication application, Foundation.NSError error);
public virtual void WillResignActive (Foundation.NSNotification notification);
public virtual void WillTerminate (Foundation.NSNotification notification);
public virtual void WillUnhide (Foundation.NSNotification notification);
public virtual void WillUpdate (Foundation.NSNotification notification);

Type Changed: AppKit.INSBrowserDelegate

Added methods:

public virtual bool AcceptDrop (NSBrowser browser, INSDraggingInfo info, IntPtr row, IntPtr column, NSBrowserDropOperation dropOperation);
public virtual bool CanDragRowsWithIndexes (NSBrowser browser, Foundation.NSIndexSet rowIndexes, IntPtr column, NSEvent theEvent);
public virtual void ColumnConfigurationDidChange (Foundation.NSNotification notification);
public virtual string ColumnTitle (NSBrowser sender, IntPtr column);
public virtual IntPtr CountChildren (NSBrowser browser, Foundation.NSObject item);
public virtual void CreateRowsForColumn (NSBrowser sender, IntPtr column, NSMatrix matrix);
public virtual void DidChangeLastColumn (NSBrowser browser, IntPtr oldLastColumn, IntPtr toColumn);
public virtual void DidScroll (NSBrowser sender);
public virtual Foundation.NSObject GetChild (NSBrowser browser, IntPtr index, Foundation.NSObject item);
public virtual NSViewController HeaderViewControllerForItem (NSBrowser browser, Foundation.NSObject item);
public virtual bool IsColumnValid (NSBrowser sender, IntPtr column);
public virtual bool IsLeafItem (NSBrowser browser, Foundation.NSObject item);
public virtual IntPtr NextTypeSelectMatch (NSBrowser browser, IntPtr startRow, IntPtr endRow, IntPtr column, string searchString);
public virtual Foundation.NSObject ObjectValueForItem (NSBrowser browser, Foundation.NSObject item);
public virtual NSViewController PreviewViewControllerForLeafItem (NSBrowser browser, Foundation.NSObject item);
public virtual string[] PromisedFilesDroppedAtDestination (NSBrowser browser, Foundation.NSUrl dropDestination, Foundation.NSIndexSet rowIndexes, IntPtr column);
public virtual Foundation.NSObject RootItemForBrowser (NSBrowser browser);
public virtual System.Runtime.InteropServices.NFloat RowHeight (NSBrowser browser, IntPtr row, IntPtr columnIndex);
public virtual IntPtr RowsInColumn (NSBrowser sender, IntPtr column);
public virtual bool SelectCellWithString (NSBrowser sender, string title, IntPtr column);
public virtual bool SelectRowInColumn (NSBrowser sender, IntPtr row, IntPtr column);
public virtual Foundation.NSIndexSet SelectionIndexesForProposedSelection (NSBrowser browser, Foundation.NSIndexSet proposedSelectionIndexes, IntPtr inColumn);
public virtual void SetObjectValue (NSBrowser browser, Foundation.NSObject obj, Foundation.NSObject item);
public virtual bool ShouldEditItem (NSBrowser browser, Foundation.NSObject item);
public virtual bool ShouldShowCellExpansion (NSBrowser browser, IntPtr row, IntPtr column);
public virtual System.Runtime.InteropServices.NFloat ShouldSizeColumn (NSBrowser browser, IntPtr columnIndex, bool userResize, System.Runtime.InteropServices.NFloat suggestedWidth);
public virtual bool ShouldTypeSelectForEvent (NSBrowser browser, NSEvent theEvent, string currentSearchString);
public virtual System.Runtime.InteropServices.NFloat SizeToFitWidth (NSBrowser browser, IntPtr columnIndex);
public virtual string TypeSelectString (NSBrowser browser, IntPtr row, IntPtr column);
public virtual NSDragOperation ValidateDrop (NSBrowser browser, INSDraggingInfo info, ref IntPtr row, ref IntPtr column, ref NSBrowserDropOperation dropOperation);
public virtual void WillDisplayCell (NSBrowser sender, Foundation.NSObject cell, IntPtr row, IntPtr column);
public virtual void WillScroll (NSBrowser sender);
public virtual bool WriteRowsWithIndexesToPasteboard (NSBrowser browser, Foundation.NSIndexSet rowIndexes, IntPtr column, NSPasteboard pasteboard);

Type Changed: AppKit.INSCandidateListTouchBarItemDelegate

Added methods:

public virtual void BeginSelectingCandidate (NSCandidateListTouchBarItem anItem, IntPtr index);
public virtual void ChangeSelectionFromCandidate (NSCandidateListTouchBarItem anItem, IntPtr previousIndex, IntPtr index);
public virtual void ChangedCandidateListVisibility (NSCandidateListTouchBarItem anItem, bool isVisible);
public virtual void EndSelectingCandidate (NSCandidateListTouchBarItem anItem, IntPtr index);

Type Changed: AppKit.INSCloudSharingServiceDelegate

Added methods:

public virtual void Completed (NSSharingService sharingService, Foundation.NSObject[] items, Foundation.NSError error);
public virtual NSCloudKitSharingServiceOptions Options (NSSharingService cloudKitSharingService, Foundation.NSItemProvider provider);
public virtual void Saved (NSSharingService sharingService, CloudKit.CKShare share);
public virtual void Stopped (NSSharingService sharingService, CloudKit.CKShare share);

Type Changed: AppKit.INSCloudSharingValidation

Modified methods:

-public abstract CloudKit.CKShare GetCloudShare (INSValidatedUserInterfaceItem item)
+public virtual CloudKit.CKShare GetCloudShare (INSValidatedUserInterfaceItem item)

Type Changed: AppKit.INSCollectionLayoutContainer

Modified properties:

-public abstract NSDirectionalEdgeInsets ContentInsets { get; }
+public virtual NSDirectionalEdgeInsets ContentInsets { get; }
-public abstract CoreGraphics.CGSize ContentSize { get; }
+public virtual CoreGraphics.CGSize ContentSize { get; }
-public abstract NSDirectionalEdgeInsets EffectiveContentInsets { get; }
+public virtual NSDirectionalEdgeInsets EffectiveContentInsets { get; }
-public abstract CoreGraphics.CGSize EffectiveContentSize { get; }
+public virtual CoreGraphics.CGSize EffectiveContentSize { get; }

Type Changed: AppKit.INSCollectionLayoutEnvironment

Modified properties:

-public abstract INSCollectionLayoutContainer Container { get; }
+public virtual INSCollectionLayoutContainer Container { get; }

Type Changed: AppKit.INSCollectionLayoutVisibleItem

Modified properties:

-public abstract System.Runtime.InteropServices.NFloat Alpha { get; set; }
+public virtual System.Runtime.InteropServices.NFloat Alpha { get; set; }
-public abstract CoreGraphics.CGRect Bounds { get; }
+public virtual CoreGraphics.CGRect Bounds { get; }
-public abstract CoreGraphics.CGPoint Center { get; set; }
+public virtual CoreGraphics.CGPoint Center { get; set; }
-public abstract CoreGraphics.CGRect Frame { get; }
+public virtual CoreGraphics.CGRect Frame { get; }
-public abstract bool Hidden { get; set; }
+public virtual bool Hidden { get; set; }
-public abstract Foundation.NSIndexPath IndexPath { get; }
+public virtual Foundation.NSIndexPath IndexPath { get; }
-public abstract string Name { get; }
+public virtual string Name { get; }
-public abstract NSCollectionElementCategory RepresentedElementCategory { get; }
+public virtual NSCollectionElementCategory RepresentedElementCategory { get; }
-public abstract string RepresentedElementKind { get; }
+public virtual string RepresentedElementKind { get; }
-public abstract IntPtr ZIndex { get; set; }
+public virtual IntPtr ZIndex { get; set; }

Type Changed: AppKit.INSCollectionViewDataSource

Modified methods:

-public abstract NSCollectionViewItem GetItem (NSCollectionView collectionView, Foundation.NSIndexPath indexPath)
+public virtual NSCollectionViewItem GetItem (NSCollectionView collectionView, Foundation.NSIndexPath indexPath)
-public abstract IntPtr GetNumberofItems (NSCollectionView collectionView, IntPtr section)
+public virtual IntPtr GetNumberofItems (NSCollectionView collectionView, IntPtr section)

Added methods:

public virtual IntPtr GetNumberOfSections (NSCollectionView collectionView);
public virtual NSView GetView (NSCollectionView collectionView, Foundation.NSString kind, Foundation.NSIndexPath indexPath);

Type Changed: AppKit.INSCollectionViewDelegate

Added methods:

public virtual bool AcceptDrop (NSCollectionView collectionView, INSDraggingInfo draggingInfo, Foundation.NSIndexPath indexPath, NSCollectionViewDropOperation dropOperation);
public virtual bool AcceptDrop (NSCollectionView collectionView, INSDraggingInfo draggingInfo, IntPtr index, NSCollectionViewDropOperation dropOperation);
public virtual bool CanDragItems (NSCollectionView collectionView, Foundation.NSIndexSet indexes, NSEvent evt);
public virtual bool CanDragItems (NSCollectionView collectionView, Foundation.NSSet indexPaths, NSEvent theEvent);
public virtual void DisplayingItemEnded (NSCollectionView collectionView, NSCollectionViewItem item, Foundation.NSIndexPath indexPath);
public virtual void DisplayingSupplementaryViewEnded (NSCollectionView collectionView, NSView view, string elementKind, Foundation.NSIndexPath indexPath);
public virtual void DraggingSessionEnded (NSCollectionView collectionView, NSDraggingSession draggingSession, CoreGraphics.CGPoint screenPoint, NSDragOperation dragOperation);
public virtual void DraggingSessionWillBegin (NSCollectionView collectionView, NSDraggingSession draggingSession, CoreGraphics.CGPoint screenPoint, Foundation.NSIndexSet indexes);
public virtual void DraggingSessionWillBegin (NSCollectionView collectionView, NSDraggingSession session, CoreGraphics.CGPoint screenPoint, Foundation.NSSet indexPaths);
public virtual NSImage GetDraggingImage (NSCollectionView collectionView, Foundation.NSSet indexPaths, NSEvent theEvent, ref CoreGraphics.CGPoint dragImageOffset);
public virtual string[] GetNamesOfPromisedFiles (NSCollectionView collectionView, Foundation.NSUrl dropURL, Foundation.NSSet indexPaths);
public virtual INSPasteboardWriting GetPasteboardWriter (NSCollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual void ItemsChanged (NSCollectionView collectionView, Foundation.NSSet indexPaths, NSCollectionViewItemHighlightState highlightState);
public virtual void ItemsDeselected (NSCollectionView collectionView, Foundation.NSSet indexPaths);
public virtual void ItemsSelected (NSCollectionView collectionView, Foundation.NSSet indexPaths);
public virtual string[] NamesOfPromisedFilesDroppedAtDestination (NSCollectionView collectionView, Foundation.NSUrl dropUrl, Foundation.NSIndexSet indexes);
public virtual INSPasteboardWriting PasteboardWriterForItem (NSCollectionView collectionView, UIntPtr index);
public virtual Foundation.NSSet ShouldChangeItems (NSCollectionView collectionView, Foundation.NSSet indexPaths, NSCollectionViewItemHighlightState highlightState);
public virtual Foundation.NSSet ShouldDeselectItems (NSCollectionView collectionView, Foundation.NSSet indexPaths);
public virtual Foundation.NSSet ShouldSelectItems (NSCollectionView collectionView, Foundation.NSSet indexPaths);
public virtual NSCollectionViewTransitionLayout TransitionLayout (NSCollectionView collectionView, NSCollectionViewLayout fromLayout, NSCollectionViewLayout toLayout);
public virtual void UpdateDraggingItemsForDrag (NSCollectionView collectionView, INSDraggingInfo draggingInfo);
public virtual NSDragOperation ValidateDrop (NSCollectionView collectionView, INSDraggingInfo draggingInfo, ref Foundation.NSIndexPath proposedDropIndexPath, ref NSCollectionViewDropOperation proposedDropOperation);
public virtual NSDragOperation ValidateDrop (NSCollectionView collectionView, INSDraggingInfo draggingInfo, ref IntPtr dropIndex, ref NSCollectionViewDropOperation dropOperation);
public virtual void WillDisplayItem (NSCollectionView collectionView, NSCollectionViewItem item, Foundation.NSIndexPath indexPath);
public virtual void WillDisplaySupplementaryView (NSCollectionView collectionView, NSView view, Foundation.NSString elementKind, Foundation.NSIndexPath indexPath);
public virtual bool WriteItems (NSCollectionView collectionView, Foundation.NSIndexSet indexes, NSPasteboard toPasteboard);
public virtual bool WriteItems (NSCollectionView collectionView, Foundation.NSSet indexPaths, NSPasteboard pasteboard);

Type Changed: AppKit.INSCollectionViewDelegateFlowLayout

Added methods:

public virtual NSEdgeInsets InsetForSection (NSCollectionView collectionView, NSCollectionViewLayout collectionViewLayout, IntPtr section);
public virtual System.Runtime.InteropServices.NFloat MinimumInteritemSpacingForSection (NSCollectionView collectionView, NSCollectionViewLayout collectionViewLayout, IntPtr section);
public virtual System.Runtime.InteropServices.NFloat MinimumLineSpacing (NSCollectionView collectionView, NSCollectionViewLayout collectionViewLayout, IntPtr section);
public virtual CoreGraphics.CGSize ReferenceSizeForFooter (NSCollectionView collectionView, NSCollectionViewLayout collectionViewLayout, IntPtr section);
public virtual CoreGraphics.CGSize ReferenceSizeForHeader (NSCollectionView collectionView, NSCollectionViewLayout collectionViewLayout, IntPtr section);
public virtual CoreGraphics.CGSize SizeForItem (NSCollectionView collectionView, NSCollectionViewLayout collectionViewLayout, Foundation.NSIndexPath indexPath);

Type Changed: AppKit.INSCollectionViewElement

Added methods:

public virtual void ApplyLayoutAttributes (NSCollectionViewLayoutAttributes layoutAttributes);
public virtual void DidTransition (NSCollectionViewLayout oldLayout, NSCollectionViewLayout newLayout);
public virtual NSCollectionViewLayoutAttributes GetPreferredLayoutAttributes (NSCollectionViewLayoutAttributes layoutAttributes);
public virtual void PrepareForReuse ();
public virtual void WillTransition (NSCollectionViewLayout oldLayout, NSCollectionViewLayout newLayout);

Type Changed: AppKit.INSCollectionViewPrefetching

Modified methods:

-public abstract void PrefetchItems (NSCollectionView collectionView, Foundation.NSIndexPath[] indexPaths)
+public virtual void PrefetchItems (NSCollectionView collectionView, Foundation.NSIndexPath[] indexPaths)

Added method:

public virtual void CancelPrefetching (NSCollectionView collectionView, Foundation.NSIndexPath[] indexPaths);

Type Changed: AppKit.INSCollectionViewSectionHeaderView

Added property:

public virtual NSButton SectionCollapseButton { get; set; }

Type Changed: AppKit.INSColorChanging

Modified methods:

-public abstract void ChangeColor (NSColorPanel sender)
+public virtual void ChangeColor (NSColorPanel sender)

Type Changed: AppKit.INSComboBoxCellDataSource

Added methods:

public virtual string CompletedString (NSComboBoxCell comboBox, string uncompletedString);
public virtual UIntPtr IndexOfItem (NSComboBoxCell comboBox, string value);
public virtual IntPtr ItemCount (NSComboBoxCell comboBox);
public virtual Foundation.NSObject ObjectValueForItem (NSComboBoxCell comboBox, IntPtr index);

Type Changed: AppKit.INSComboBoxDataSource

Added methods:

public virtual string CompletedString (NSComboBox comboBox, string uncompletedString);
public virtual IntPtr IndexOfItem (NSComboBox comboBox, string value);
public virtual IntPtr ItemCount (NSComboBox comboBox);
public virtual Foundation.NSObject ObjectValueForItem (NSComboBox comboBox, IntPtr index);

Type Changed: AppKit.INSComboBoxDelegate

Added methods:

public virtual void SelectionChanged (Foundation.NSNotification notification);
public virtual void SelectionIsChanging (Foundation.NSNotification notification);
public virtual void WillDismiss (Foundation.NSNotification notification);
public virtual void WillPopUp (Foundation.NSNotification notification);

Type Changed: AppKit.INSControlTextEditingDelegate

Added methods:

public virtual void ControlTextDidBeginEditing (Foundation.NSNotification obj);
public virtual void ControlTextDidChange (Foundation.NSNotification obj);
public virtual void ControlTextDidEndEditing (Foundation.NSNotification obj);
public virtual bool DidFailToFormatString (NSControl control, string str, string error);
public virtual void DidFailToValidatePartialString (NSControl control, string str, string error);
public virtual bool DoCommandBySelector (NSControl control, NSTextView textView, ObjCRuntime.Selector commandSelector);
public virtual string[] GetCompletions (NSControl control, NSTextView textView, string[] words, Foundation.NSRange charRange, ref IntPtr index);
public virtual bool IsValidObject (NSControl control, Foundation.NSObject objectToValidate);
public virtual bool TextShouldBeginEditing (NSControl control, NSText fieldEditor);
public virtual bool TextShouldEndEditing (NSControl control, NSText fieldEditor);

Type Changed: AppKit.INSDatePickerCellDelegate

Added method:

public virtual void ValidateProposedDateValue (NSDatePickerCell aDatePickerCell, ref Foundation.NSDate proposedDateValue, double proposedTimeInterval);

Type Changed: AppKit.INSDockTilePlugIn

Modified methods:

-public abstract void SetDockTile (NSDockTile dockTile)
+public virtual void SetDockTile (NSDockTile dockTile)

Added method:

public virtual NSMenu DockMenu ();

Type Changed: AppKit.INSDraggingDestination

Added property:

public virtual bool WantsPeriodicDraggingUpdates { get; }

Added methods:

public virtual void ConcludeDragOperation (INSDraggingInfo sender);
public virtual void DraggingEnded (INSDraggingInfo sender);
public virtual NSDragOperation DraggingEntered (INSDraggingInfo sender);
public virtual void DraggingExited (INSDraggingInfo sender);
public virtual NSDragOperation DraggingUpdated (INSDraggingInfo sender);
public virtual bool PerformDragOperation (INSDraggingInfo sender);
public virtual bool PrepareForDragOperation (INSDraggingInfo sender);

Type Changed: AppKit.INSDraggingInfo

Modified properties:

-public abstract bool AnimatesToDestination { get; set; }
+public virtual bool AnimatesToDestination { get; set; }
-public abstract NSImage DraggedImage { get; }
+public virtual NSImage DraggedImage { get; }
-public abstract CoreGraphics.CGPoint DraggedImageLocation { get; }
+public virtual CoreGraphics.CGPoint DraggedImageLocation { get; }
-public abstract NSWindow DraggingDestinationWindow { get; }
+public virtual NSWindow DraggingDestinationWindow { get; }
-public abstract NSDraggingFormation DraggingFormation { get; set; }
+public virtual NSDraggingFormation DraggingFormation { get; set; }
-public abstract CoreGraphics.CGPoint DraggingLocation { get; }
+public virtual CoreGraphics.CGPoint DraggingLocation { get; }
-public abstract NSPasteboard DraggingPasteboard { get; }
+public virtual NSPasteboard DraggingPasteboard { get; }
-public abstract IntPtr DraggingSequenceNumber { get; }
+public virtual IntPtr DraggingSequenceNumber { get; }
-public abstract Foundation.NSObject DraggingSource { get; }
+public virtual Foundation.NSObject DraggingSource { get; }
-public abstract NSDragOperation DraggingSourceOperationMask { get; }
+public virtual NSDragOperation DraggingSourceOperationMask { get; }
-public abstract IntPtr NumberOfValidItemsForDrop { get; set; }
+public virtual IntPtr NumberOfValidItemsForDrop { get; set; }
-public abstract NSSpringLoadingHighlight SpringLoadingHighlight { get; }
+public virtual NSSpringLoadingHighlight SpringLoadingHighlight { get; }

Modified methods:

-public abstract void EnumerateDraggingItems (NSDraggingItemEnumerationOptions enumOpts, NSView view, IntPtr classArray, Foundation.NSDictionary searchOptions, NSDraggingEnumerator enumerator)
+public virtual void EnumerateDraggingItems (NSDraggingItemEnumerationOptions enumOpts, NSView view, IntPtr classArray, Foundation.NSDictionary searchOptions, NSDraggingEnumerator enumerator)
-public abstract string[] PromisedFilesDroppedAtDestination (Foundation.NSUrl dropDestination)
+public virtual string[] PromisedFilesDroppedAtDestination (Foundation.NSUrl dropDestination)
-public abstract void ResetSpringLoading ()
+public virtual void ResetSpringLoading ()
-public abstract void SlideDraggedImageTo (CoreGraphics.CGPoint screenPoint)
+public virtual void SlideDraggedImageTo (CoreGraphics.CGPoint screenPoint)

Type Changed: AppKit.INSDraggingSource

Added property:

public virtual bool IgnoreModifierKeysWhileDragging { get; }

Added methods:

public virtual void DraggedImageBeganAt (NSImage image, CoreGraphics.CGPoint screenPoint);
public virtual void DraggedImageEndedAtDeposited (NSImage image, CoreGraphics.CGPoint screenPoint, bool deposited);
public virtual void DraggedImageEndedAtOperation (NSImage image, CoreGraphics.CGPoint screenPoint, NSDragOperation operation);
public virtual void DraggedImageMovedTo (NSImage image, CoreGraphics.CGPoint screenPoint);
public virtual NSDragOperation DraggingSourceOperationMaskForLocal (bool flag);
public virtual string[] NamesOfPromisedFilesDroppedAtDestination (Foundation.NSUrl dropDestination);

Type Changed: AppKit.INSDrawerDelegate

Added methods:

public virtual void DrawerDidClose (Foundation.NSNotification notification);
public virtual void DrawerDidOpen (Foundation.NSNotification notification);
public virtual bool DrawerShouldClose (NSDrawer sender);
public virtual bool DrawerShouldOpen (NSDrawer sender);
public virtual void DrawerWillClose (Foundation.NSNotification notification);
public virtual void DrawerWillOpen (Foundation.NSNotification notification);
public virtual CoreGraphics.CGSize DrawerWillResizeContents (NSDrawer sender, CoreGraphics.CGSize toSize);

Type Changed: AppKit.INSEditor

Modified methods:

-public abstract bool CommitEditing ()
+public virtual bool CommitEditing ()
-public abstract bool CommitEditing (out Foundation.NSError error)
+public virtual bool CommitEditing (out Foundation.NSError error)
-public abstract void CommitEditing (Foundation.NSObject delegateObject, ObjCRuntime.Selector didCommitSelector, IntPtr contextInfo)
+public virtual void CommitEditing (Foundation.NSObject delegateObject, ObjCRuntime.Selector didCommitSelector, IntPtr contextInfo)
-public abstract void DiscardEditing ()
+public virtual void DiscardEditing ()

Type Changed: AppKit.INSEditorRegistration

Added methods:

public virtual void ObjectDidBeginEditing (INSEditor editor);
public virtual void ObjectDidEndEditing (INSEditor editor);

Type Changed: AppKit.INSFilePromiseProviderDelegate

Modified methods:

-public abstract string GetFileNameForDestination (NSFilePromiseProvider filePromiseProvider, string fileType)
+public virtual string GetFileNameForDestination (NSFilePromiseProvider filePromiseProvider, string fileType)
-public abstract void WritePromiseToUrl (NSFilePromiseProvider filePromiseProvider, Foundation.NSUrl url, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void WritePromiseToUrl (NSFilePromiseProvider filePromiseProvider, Foundation.NSUrl url, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)

Added method:

public virtual Foundation.NSOperationQueue GetOperationQueue (NSFilePromiseProvider filePromiseProvider);

Type Changed: AppKit.INSFontChanging

Added methods:

public virtual void ChangeFont (NSFontManager sender);
public virtual NSFontPanelModeMask GetValidModes (NSFontPanel fontPanel);

Type Changed: AppKit.INSGestureRecognizerDelegate

Added methods:

public virtual bool ShouldAttemptToRecognize (NSGestureRecognizer gestureRecognizer, NSEvent theEvent);
public virtual bool ShouldBeRequiredToFail (NSGestureRecognizer gestureRecognizer, NSGestureRecognizer otherGestureRecognizer);
public virtual bool ShouldBegin (NSGestureRecognizer gestureRecognizer);
public virtual bool ShouldReceiveTouch (NSGestureRecognizer gestureRecognizer, NSTouch touch);
public virtual bool ShouldRecognizeSimultaneously (NSGestureRecognizer gestureRecognizer, NSGestureRecognizer otherGestureRecognizer);
public virtual bool ShouldRequireFailure (NSGestureRecognizer gestureRecognizer, NSGestureRecognizer otherGestureRecognizer);

Type Changed: AppKit.INSHapticFeedbackPerformer

Modified methods:

-public abstract void PerformFeedback (NSHapticFeedbackPattern pattern, NSHapticFeedbackPerformanceTime performanceTime)
+public virtual void PerformFeedback (NSHapticFeedbackPattern pattern, NSHapticFeedbackPerformanceTime performanceTime)

Type Changed: AppKit.INSImageDelegate

Added methods:

public virtual void DidLoadPartOfRepresentation (NSImage image, NSImageRep rep, IntPtr rows);
public virtual void DidLoadRepresentation (NSImage image, NSImageRep rep, NSImageLoadStatus status);
public virtual void DidLoadRepresentationHeader (NSImage image, NSImageRep rep);
public virtual NSImage ImageDidNotDraw (Foundation.NSObject sender, CoreGraphics.CGRect aRect);
public virtual void WillLoadRepresentation (NSImage image, NSImageRep rep);

Type Changed: AppKit.INSLayerDelegateContentsScaleUpdating

Added method:

public virtual bool ShouldInheritContentsScale (CoreAnimation.CALayer layer, System.Runtime.InteropServices.NFloat newScale, NSWindow fromWindow);

Type Changed: AppKit.INSLayoutManagerDelegate

Added methods:

public virtual void DidChangeGeometry (NSLayoutManager layoutManager, NSTextContainer textContainer, CoreGraphics.CGSize oldSize);
public virtual void DidCompleteLayout (NSLayoutManager layoutManager, NSTextContainer textContainer, bool layoutFinishedFlag);
public virtual void DidInvalidatedLayout (NSLayoutManager sender);
public virtual CoreGraphics.CGRect GetBoundingBox (NSLayoutManager layoutManager, UIntPtr glyphIndex, NSTextContainer textContainer, CoreGraphics.CGRect proposedRect, CoreGraphics.CGPoint glyphPosition, UIntPtr characterIndex);
public virtual System.Runtime.InteropServices.NFloat GetLineSpacingAfterGlyph (NSLayoutManager layoutManager, UIntPtr glyphIndex, CoreGraphics.CGRect rect);
public virtual System.Runtime.InteropServices.NFloat GetParagraphSpacingAfterGlyph (NSLayoutManager layoutManager, UIntPtr glyphIndex, CoreGraphics.CGRect rect);
public virtual System.Runtime.InteropServices.NFloat GetParagraphSpacingBeforeGlyph (NSLayoutManager layoutManager, UIntPtr glyphIndex, CoreGraphics.CGRect rect);
public virtual bool ShouldBreakLineByHyphenatingBeforeCharacter (NSLayoutManager layoutManager, UIntPtr characterIndex);
public virtual bool ShouldBreakLineByWordBeforeCharacter (NSLayoutManager layoutManager, UIntPtr characterIndex);
public virtual UIntPtr ShouldGenerateGlyphs (NSLayoutManager layoutManager, IntPtr glyphBuffer, IntPtr properties, IntPtr characterIndexes, NSFont font, Foundation.NSRange glyphRange);
public virtual bool ShouldSetLineFragmentRect (NSLayoutManager layoutManager, ref CoreGraphics.CGRect lineFragmentRect, ref CoreGraphics.CGRect lineFragmentUsedRect, ref System.Runtime.InteropServices.NFloat baselineOffset, NSTextContainer textContainer, Foundation.NSRange glyphRange);
public virtual NSControlCharacterAction ShouldUseAction (NSLayoutManager layoutManager, NSControlCharacterAction action, UIntPtr characterIndex);
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> ShouldUseTemporaryAttributes (NSLayoutManager layoutManager, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> temporaryAttributes, bool drawingToScreen, UIntPtr characterIndex, ref Foundation.NSRange effectiveCharacterRange);

Type Changed: AppKit.INSMenuDelegate

Added methods:

public virtual CoreGraphics.CGRect ConfinementRectForMenu (NSMenu menu, NSScreen screen);
public virtual bool HasKeyEquivalentForEvent (NSMenu menu, NSEvent theEvent, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void MenuDidClose (NSMenu menu);
public virtual IntPtr MenuItemCount (NSMenu menu);
public virtual void MenuWillHighlightItem (NSMenu menu, NSMenuItem item);
public virtual void MenuWillOpen (NSMenu menu);
public virtual void NeedsUpdate (NSMenu menu);
public virtual bool UpdateItem (NSMenu menu, NSMenuItem item, IntPtr atIndex, bool shouldCancel);

Type Changed: AppKit.INSMenuItemValidation

Modified methods:

-public abstract bool ValidateMenuItem (NSMenuItem menuItem)
+public virtual bool ValidateMenuItem (NSMenuItem menuItem)

Type Changed: AppKit.INSMenuValidation

Modified methods:

-public abstract bool ValidateMenuItem (NSMenuItem menuItem)
+public virtual bool ValidateMenuItem (NSMenuItem menuItem)

Type Changed: AppKit.INSOpenSavePanelDelegate

Added methods:

public virtual Foundation.NSComparisonResult CompareFilenames (NSSavePanel panel, string name1, string name2, bool caseSensitive);
public virtual void DidChangeToDirectory (NSSavePanel panel, Foundation.NSUrl newDirectoryUrl);
public virtual void DirectoryDidChange (NSSavePanel panel, string path);
public virtual bool IsValidFilename (NSSavePanel panel, string fileName);
public virtual void SelectionDidChange (NSSavePanel panel);
public virtual bool ShouldEnableUrl (NSSavePanel panel, Foundation.NSUrl url);
public virtual bool ShouldShowFilename (NSSavePanel panel, string filename);
public virtual string UserEnteredFilename (NSSavePanel panel, string filename, bool confirmed);
public virtual bool ValidateUrl (NSSavePanel panel, Foundation.NSUrl url, out Foundation.NSError outError);
public virtual void WillExpand (NSSavePanel panel, bool expanding);

Type Changed: AppKit.INSOutlineViewDataSource

Added methods:

public virtual bool AcceptDrop (NSOutlineView outlineView, INSDraggingInfo info, Foundation.NSObject item, IntPtr index);
public virtual void DraggingSessionEnded (NSOutlineView outlineView, NSDraggingSession session, CoreGraphics.CGPoint screenPoint, NSDragOperation operation);
public virtual void DraggingSessionWillBegin (NSOutlineView outlineView, NSDraggingSession session, CoreGraphics.CGPoint screenPoint, Foundation.NSArray draggedItems);
public virtual string[] FilesDropped (NSOutlineView outlineView, Foundation.NSUrl dropDestination, Foundation.NSArray items);
public virtual Foundation.NSObject GetChild (NSOutlineView outlineView, IntPtr childIndex, Foundation.NSObject item);
public virtual IntPtr GetChildrenCount (NSOutlineView outlineView, Foundation.NSObject item);
public virtual Foundation.NSObject GetObjectValue (NSOutlineView outlineView, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual bool ItemExpandable (NSOutlineView outlineView, Foundation.NSObject item);
public virtual Foundation.NSObject ItemForPersistentObject (NSOutlineView outlineView, Foundation.NSObject theObject);
public virtual bool OutlineViewwriteItemstoPasteboard (NSOutlineView outlineView, Foundation.NSArray items, NSPasteboard pboard);
public virtual INSPasteboardWriting PasteboardWriterForItem (NSOutlineView outlineView, Foundation.NSObject item);
public virtual Foundation.NSObject PersistentObjectForItem (NSOutlineView outlineView, Foundation.NSObject item);
public virtual void SetObjectValue (NSOutlineView outlineView, Foundation.NSObject theObject, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual void SortDescriptorsChanged (NSOutlineView outlineView, Foundation.NSSortDescriptor[] oldDescriptors);
public virtual void UpdateDraggingItemsForDrag (NSOutlineView outlineView, INSDraggingInfo draggingInfo);
public virtual NSDragOperation ValidateDrop (NSOutlineView outlineView, INSDraggingInfo info, Foundation.NSObject item, IntPtr index);

Type Changed: AppKit.INSOutlineViewDelegate

Added methods:

public virtual void ColumnDidMove (Foundation.NSNotification notification);
public virtual void ColumnDidResize (Foundation.NSNotification notification);
public virtual void DidAddRowView (NSOutlineView outlineView, NSTableRowView rowView, IntPtr row);
public virtual void DidClickTableColumn (NSOutlineView outlineView, NSTableColumn tableColumn);
public virtual void DidDragTableColumn (NSOutlineView outlineView, NSTableColumn tableColumn);
public virtual void DidRemoveRowView (NSOutlineView outlineView, NSTableRowView rowView, IntPtr row);
public virtual NSCell GetCell (NSOutlineView outlineView, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual Foundation.NSObject GetNextTypeSelectMatch (NSOutlineView outlineView, Foundation.NSObject startItem, Foundation.NSObject endItem, string searchString);
public virtual System.Runtime.InteropServices.NFloat GetRowHeight (NSOutlineView outlineView, Foundation.NSObject item);
public virtual string GetSelectString (NSOutlineView outlineView, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual Foundation.NSIndexSet GetSelectionIndexes (NSOutlineView outlineView, Foundation.NSIndexSet proposedSelectionIndexes);
public virtual System.Runtime.InteropServices.NFloat GetSizeToFitColumnWidth (NSOutlineView outlineView, IntPtr column);
public virtual NSTintConfiguration GetTintConfiguration (NSOutlineView outlineView, Foundation.NSObject item);
public virtual NSView GetView (NSOutlineView outlineView, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual bool IsGroupItem (NSOutlineView outlineView, Foundation.NSObject item);
public virtual void ItemDidCollapse (Foundation.NSNotification notification);
public virtual void ItemDidExpand (Foundation.NSNotification notification);
public virtual void ItemWillCollapse (Foundation.NSNotification notification);
public virtual void ItemWillExpand (Foundation.NSNotification notification);
public virtual void MouseDown (NSOutlineView outlineView, NSTableColumn tableColumn);
public virtual NSTableRowView RowViewForItem (NSOutlineView outlineView, Foundation.NSObject item);
public virtual void SelectionDidChange (Foundation.NSNotification notification);
public virtual void SelectionIsChanging (Foundation.NSNotification notification);
public virtual bool SelectionShouldChange (NSOutlineView outlineView);
public virtual bool ShouldCollapseItem (NSOutlineView outlineView, Foundation.NSObject item);
public virtual bool ShouldEditTableColumn (NSOutlineView outlineView, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual bool ShouldExpandItem (NSOutlineView outlineView, Foundation.NSObject item);
public virtual bool ShouldReorder (NSOutlineView outlineView, IntPtr columnIndex, IntPtr newColumnIndex);
public virtual bool ShouldSelectItem (NSOutlineView outlineView, Foundation.NSObject item);
public virtual bool ShouldSelectTableColumn (NSOutlineView outlineView, NSTableColumn tableColumn);
public virtual bool ShouldShowCellExpansion (NSOutlineView outlineView, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual bool ShouldShowOutlineCell (NSOutlineView outlineView, Foundation.NSObject item);
public virtual bool ShouldTrackCell (NSOutlineView outlineView, NSCell cell, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual bool ShouldTypeSelect (NSOutlineView outlineView, NSEvent theEvent, string searchString);
public virtual string ToolTipForCell (NSOutlineView outlineView, NSCell cell, ref CoreGraphics.CGRect rect, NSTableColumn tableColumn, Foundation.NSObject item, CoreGraphics.CGPoint mouseLocation);
public virtual bool UserCanChangeVisibility (NSOutlineView outlineView, NSTableColumn column);
public virtual void UserDidChangeVisibility (NSOutlineView outlineView, NSTableColumn[] columns);
public virtual void WillDisplayCell (NSOutlineView outlineView, Foundation.NSObject cell, NSTableColumn tableColumn, Foundation.NSObject item);
public virtual void WillDisplayOutlineCell (NSOutlineView outlineView, Foundation.NSObject cell, NSTableColumn tableColumn, Foundation.NSObject item);

Type Changed: AppKit.INSPageControllerDelegate

Added methods:

public virtual void DidEndLiveTransition (NSPageController pageController);
public virtual void DidTransition (NSPageController pageController, Foundation.NSObject targetObject);
public virtual CoreGraphics.CGRect GetFrame (NSPageController pageController, Foundation.NSObject targetObject);
public virtual string GetIdentifier (NSPageController pageController, Foundation.NSObject targetObject);
public virtual NSViewController GetViewController (NSPageController pageController, string identifier);
public virtual void PrepareViewController (NSPageController pageController, NSViewController viewController, Foundation.NSObject targetObject);
public virtual void WillStartLiveTransition (NSPageController pageController);

Type Changed: AppKit.INSPasteboardItemDataProvider

Modified methods:

-public abstract void ProvideDataForType (NSPasteboard pasteboard, NSPasteboardItem item, string type)
+public virtual void ProvideDataForType (NSPasteboard pasteboard, NSPasteboardItem item, string type)

Added method:

public virtual void FinishedWithDataProvider (NSPasteboard pasteboard);

Type Changed: AppKit.INSPasteboardReading

Added methods:

public static T CreateInstance<T> (Foundation.NSObject propertyList, NSPasteboardType type);
public static T CreateInstance<T> (Foundation.NSObject propertyList, Foundation.NSString type);
public static string[] GetReadableTypesForPasteboard<T> (NSPasteboard pasteboard);
public static NSPasteboardReadingOptions GetReadingOptionsForType<T> (string type, NSPasteboard pasteboard);

Type Changed: AppKit.INSPasteboardTypeOwner

Modified methods:

-public abstract void ProvideData (NSPasteboard sender, string type)
+public virtual void ProvideData (NSPasteboard sender, string type)

Added method:

public virtual void PasteboardChangedOwner (NSPasteboard sender);

Type Changed: AppKit.INSPasteboardWriting

Modified methods:

-public abstract Foundation.NSObject GetPasteboardPropertyListForType (string type)
+public virtual Foundation.NSObject GetPasteboardPropertyListForType (string type)
-public abstract string[] GetWritableTypesForPasteboard (NSPasteboard pasteboard)
+public virtual string[] GetWritableTypesForPasteboard (NSPasteboard pasteboard)

Added method:

public virtual NSPasteboardWritingOptions GetWritingOptionsForType (string type, NSPasteboard pasteboard);

Type Changed: AppKit.INSPathCellDelegate

Added methods:

public virtual void WillDisplayOpenPanel (NSPathCell pathCell, NSOpenPanel openPanel);
public virtual void WillPopupMenu (NSPathCell pathCell, NSMenu menu);

Type Changed: AppKit.INSPathControlDelegate

Added methods:

public virtual bool AcceptDrop (NSPathControl pathControl, INSDraggingInfo info);
public virtual bool ShouldDragItem (NSPathControl pathControl, NSPathControlItem pathItem, NSPasteboard pasteboard);
public virtual bool ShouldDragPathComponentCell (NSPathControl pathControl, NSPathComponentCell pathComponentCell, NSPasteboard pasteboard);
public virtual NSDragOperation ValidateDrop (NSPathControl pathControl, INSDraggingInfo info);
public virtual void WillDisplayOpenPanel (NSPathControl pathControl, NSOpenPanel openPanel);
public virtual void WillPopUpMenu (NSPathControl pathControl, NSMenu menu);

Type Changed: AppKit.INSPopoverDelegate

Added methods:

public virtual void DidClose (Foundation.NSNotification notification);
public virtual void DidDetach (NSPopover popover);
public virtual void DidShow (Foundation.NSNotification notification);
public virtual NSWindow GetDetachableWindowForPopover (NSPopover popover);
public virtual bool ShouldClose (NSPopover popover);
public virtual void WillClose (Foundation.NSNotification notification);
public virtual void WillShow (Foundation.NSNotification notification);

Type Changed: AppKit.INSPreviewRepresentableActivityItem

Modified properties:

-public abstract Foundation.NSObject Item { get; }
+public virtual Foundation.NSObject Item { get; }

Added properties:

public virtual Foundation.NSItemProvider IconProvider { get; }
public virtual Foundation.NSItemProvider ImageProvider { get; }
public virtual string Title { get; }

Type Changed: AppKit.INSPrintPanelAccessorizing

Modified methods:

-public abstract Foundation.NSDictionary[] LocalizedSummaryItems ()
+public virtual Foundation.NSDictionary[] LocalizedSummaryItems ()

Added method:

public virtual Foundation.NSSet KeyPathsForValuesAffectingPreview ();

Type Changed: AppKit.INSRuleEditorDelegate

Modified methods:

-public abstract Foundation.NSObject ChildForCriterion (NSRuleEditor editor, IntPtr index, Foundation.NSObject criterion, NSRuleEditorRowType rowType)
+public virtual Foundation.NSObject ChildForCriterion (NSRuleEditor editor, IntPtr index, Foundation.NSObject criterion, NSRuleEditorRowType rowType)
-public abstract Foundation.NSObject DisplayValue (NSRuleEditor editor, Foundation.NSObject criterion, IntPtr row)
+public virtual Foundation.NSObject DisplayValue (NSRuleEditor editor, Foundation.NSObject criterion, IntPtr row)
-public abstract IntPtr NumberOfChildren (NSRuleEditor editor, Foundation.NSObject criterion, NSRuleEditorRowType rowType)
+public virtual IntPtr NumberOfChildren (NSRuleEditor editor, Foundation.NSObject criterion, NSRuleEditorRowType rowType)

Added methods:

public virtual void Changed (Foundation.NSNotification notification);
public virtual void EditingBegan (Foundation.NSNotification notification);
public virtual void EditingEnded (Foundation.NSNotification notification);
public virtual Foundation.NSDictionary PredicateParts (NSRuleEditor editor, Foundation.NSObject criterion, Foundation.NSObject value, IntPtr row);
public virtual void RowsDidChange (Foundation.NSNotification notification);

Type Changed: AppKit.INSScrubberDataSource

Modified methods:

-public abstract IntPtr GetNumberOfItems (NSScrubber scrubber)
+public virtual IntPtr GetNumberOfItems (NSScrubber scrubber)
-public abstract NSScrubberItemView GetViewForItem (NSScrubber scrubber, IntPtr index)
+public virtual NSScrubberItemView GetViewForItem (NSScrubber scrubber, IntPtr index)

Type Changed: AppKit.INSScrubberDelegate

Added methods:

public virtual void DidBeginInteracting (NSScrubber scrubber);
public virtual void DidCancelInteracting (NSScrubber scrubber);
public virtual void DidChangeVisible (NSScrubber scrubber, Foundation.NSRange visibleRange);
public virtual void DidFinishInteracting (NSScrubber scrubber);
public virtual void DidHighlightItem (NSScrubber scrubber, IntPtr highlightedIndex);
public virtual void DidSelectItem (NSScrubber scrubber, IntPtr selectedIndex);

Type Changed: AppKit.INSScrubberFlowLayoutDelegate

Added method:

public virtual CoreGraphics.CGSize Layout (NSScrubber scrubber, NSScrubberFlowLayout layout, IntPtr itemIndex);

Type Changed: AppKit.INSSearchFieldDelegate

Added methods:

public virtual void SearchingEnded (NSSearchField sender);
public virtual void SearchingStarted (NSSearchField sender);

Type Changed: AppKit.INSSeguePerforming

Added methods:

public virtual void PerformSegue (string identifier, Foundation.NSObject sender);
public virtual void PrepareForSegue (NSStoryboardSegue segue, Foundation.NSObject sender);
public virtual bool ShouldPerformSegue (string identifier, Foundation.NSObject sender);

Type Changed: AppKit.INSServicesMenuRequestor

Added methods:

public virtual bool ReadSelectionFromPasteboard (NSPasteboard pboard);
public virtual bool WriteSelectionToPasteboard (NSPasteboard pboard, string[] types);

Type Changed: AppKit.INSSharingServiceDelegate

Added methods:

public virtual NSView CreateAnchoringView (NSSharingService sharingService, ref CoreGraphics.CGRect positioningRect, ref NSRectEdge preferredEdge);
public virtual void DidFailToShareItems (NSSharingService sharingService, Foundation.NSObject[] items, Foundation.NSError error);
public virtual void DidShareItems (NSSharingService sharingService, Foundation.NSObject[] items);
public virtual CoreGraphics.CGRect SourceFrameOnScreenForShareItem (NSSharingService sharingService, INSPasteboardWriting item);
public virtual NSWindow SourceWindowForShareItems (NSSharingService sharingService, Foundation.NSObject[] items, NSSharingContentScope sharingContentScope);
public virtual NSImage TransitionImageForShareItem (NSSharingService sharingService, INSPasteboardWriting item, CoreGraphics.CGRect contentRect);
public virtual void WillShareItems (NSSharingService sharingService, Foundation.NSObject[] items);

Type Changed: AppKit.INSSharingServicePickerDelegate

Added methods:

public virtual INSSharingServiceDelegate DelegateForSharingService (NSSharingServicePicker sharingServicePicker, NSSharingService sharingService);
public virtual void DidChooseSharingService (NSSharingServicePicker sharingServicePicker, NSSharingService service);
public virtual NSSharingService[] SharingServicesForItems (NSSharingServicePicker sharingServicePicker, Foundation.NSObject[] items, NSSharingService[] proposedServices);

Type Changed: AppKit.INSSharingServicePickerToolbarItemDelegate

Modified methods:

-public abstract Foundation.NSObject[] GetItems (NSSharingServicePickerToolbarItem pickerToolbarItem)
+public virtual Foundation.NSObject[] GetItems (NSSharingServicePickerToolbarItem pickerToolbarItem)

Type Changed: AppKit.INSSharingServicePickerTouchBarItemDelegate

Modified methods:

-public abstract INSPasteboardWriting[] ItemsForSharingServicePickerTouchBarItem (NSSharingServicePickerTouchBarItem pickerTouchBarItem)
+public virtual INSPasteboardWriting[] ItemsForSharingServicePickerTouchBarItem (NSSharingServicePickerTouchBarItem pickerTouchBarItem)

Type Changed: AppKit.INSSoundDelegate

Added method:

public virtual void DidFinishPlaying (NSSound sound, bool finished);

Type Changed: AppKit.INSSpeechRecognizerDelegate

Added method:

public virtual void DidRecognizeCommand (NSSpeechRecognizer sender, string command);

Type Changed: AppKit.INSSpeechSynthesizerDelegate

Added methods:

public virtual void DidEncounterError (NSSpeechSynthesizer sender, UIntPtr characterIndex, string theString, string message);
public virtual void DidEncounterSyncMessage (NSSpeechSynthesizer sender, string message);
public virtual void DidFinishSpeaking (NSSpeechSynthesizer sender, bool finishedSpeaking);
public virtual void WillSpeakPhoneme (NSSpeechSynthesizer sender, short phonemeOpcode);
public virtual void WillSpeakWord (NSSpeechSynthesizer sender, Foundation.NSRange wordCharacterRange, string ofString);

Type Changed: AppKit.INSSplitViewDelegate

Added methods:

public virtual bool CanCollapse (NSSplitView splitView, NSView subview);
public virtual System.Runtime.InteropServices.NFloat ConstrainSplitPosition (NSSplitView splitView, System.Runtime.InteropServices.NFloat proposedPosition, IntPtr subviewDividerIndex);
public virtual void DidResizeSubviews (Foundation.NSNotification notification);
public virtual CoreGraphics.CGRect GetAdditionalEffectiveRect (NSSplitView splitView, IntPtr dividerIndex);
public virtual CoreGraphics.CGRect GetEffectiveRect (NSSplitView splitView, CoreGraphics.CGRect proposedEffectiveRect, CoreGraphics.CGRect drawnRect, IntPtr dividerIndex);
public virtual void Resize (NSSplitView splitView, CoreGraphics.CGSize oldSize);
public virtual System.Runtime.InteropServices.NFloat SetMaxCoordinateOfSubview (NSSplitView splitView, System.Runtime.InteropServices.NFloat proposedMaximumPosition, IntPtr subviewDividerIndex);
public virtual System.Runtime.InteropServices.NFloat SetMinCoordinateOfSubview (NSSplitView splitView, System.Runtime.InteropServices.NFloat proposedMinimumPosition, IntPtr subviewDividerIndex);
public virtual bool ShouldAdjustSize (NSSplitView splitView, NSView view);
public virtual bool ShouldCollapseForDoubleClick (NSSplitView splitView, NSView subview, IntPtr doubleClickAtDividerIndex);
public virtual bool ShouldHideDivider (NSSplitView splitView, IntPtr dividerIndex);
public virtual void SplitViewWillResizeSubviews (Foundation.NSNotification notification);

Type Changed: AppKit.INSSpringLoadingDestination

Modified methods:

-public abstract void Activated (bool activated, INSDraggingInfo draggingInfo)
+public virtual void Activated (bool activated, INSDraggingInfo draggingInfo)
-public abstract void HighlightChanged (INSDraggingInfo draggingInfo)
+public virtual void HighlightChanged (INSDraggingInfo draggingInfo)

Added methods:

public virtual void DraggingEnded (INSDraggingInfo draggingInfo);
public virtual NSSpringLoadingOptions Entered (INSDraggingInfo draggingInfo);
public virtual void Exited (INSDraggingInfo draggingInfo);
public virtual NSSpringLoadingOptions Updated (INSDraggingInfo draggingInfo);

Type Changed: AppKit.INSStackViewDelegate

Added methods:

public virtual void DidReattachViews (NSStackView stackView, NSView[] views);
public virtual void WillDetachViews (NSStackView stackView, NSView[] views);

Type Changed: AppKit.INSStandardKeyBindingResponding

Added methods:

public virtual void CancelOperation (Foundation.NSObject sender);
public virtual void CapitalizeWord (Foundation.NSObject sender);
public virtual void CenterSelectionInVisibleArea (Foundation.NSObject sender);
public virtual void ChangeCaseOfLetter (Foundation.NSObject sender);
public virtual void Complete (Foundation.NSObject sender);
public virtual void DeleteBackward (Foundation.NSObject sender);
public virtual void DeleteBackwardByDecomposingPreviousCharacter (Foundation.NSObject sender);
public virtual void DeleteForward (Foundation.NSObject sender);
public virtual void DeleteToBeginningOfLine (Foundation.NSObject sender);
public virtual void DeleteToBeginningOfParagraph (Foundation.NSObject sender);
public virtual void DeleteToEndOfLine (Foundation.NSObject sender);
public virtual void DeleteToEndOfParagraph (Foundation.NSObject sender);
public virtual void DeleteToMark (Foundation.NSObject sender);
public virtual void DeleteWordBackward (Foundation.NSObject sender);
public virtual void DeleteWordForward (Foundation.NSObject sender);
public virtual void DoCommandBySelector (ObjCRuntime.Selector selector);
public virtual void Indent (Foundation.NSObject sender);
public virtual void InsertBacktab (Foundation.NSObject sender);
public virtual void InsertContainerBreak (Foundation.NSObject sender);
public virtual void InsertDoubleQuoteIgnoringSubstitution (Foundation.NSObject sender);
public virtual void InsertLineBreak (Foundation.NSObject sender);
public virtual void InsertNewline (Foundation.NSObject sender);
public virtual void InsertNewlineIgnoringFieldEditor (Foundation.NSObject sender);
public virtual void InsertParagraphSeparator (Foundation.NSObject sender);
public virtual void InsertSingleQuoteIgnoringSubstitution (Foundation.NSObject sender);
public virtual void InsertTab (Foundation.NSObject sender);
public virtual void InsertTabIgnoringFieldEditor (Foundation.NSObject sender);
public virtual void InsertText (Foundation.NSObject insertString);
public virtual void LowercaseWord (Foundation.NSObject sender);
public virtual void MakeBaseWritingDirectionLeftToRight (Foundation.NSObject sender);
public virtual void MakeBaseWritingDirectionNatural (Foundation.NSObject sender);
public virtual void MakeBaseWritingDirectionRightToLeft (Foundation.NSObject sender);
public virtual void MakeTextWritingDirectionLeftToRight (Foundation.NSObject sender);
public virtual void MakeTextWritingDirectionNatural (Foundation.NSObject sender);
public virtual void MakeTextWritingDirectionRightToLeft (Foundation.NSObject sender);
public virtual void MoveBackward (Foundation.NSObject sender);
public virtual void MoveBackwardAndModifySelection (Foundation.NSObject sender);
public virtual void MoveDown (Foundation.NSObject sender);
public virtual void MoveDownAndModifySelection (Foundation.NSObject sender);
public virtual void MoveForward (Foundation.NSObject sender);
public virtual void MoveForwardAndModifySelection (Foundation.NSObject sender);
public virtual void MoveLeft (Foundation.NSObject sender);
public virtual void MoveLeftAndModifySelection (Foundation.NSObject sender);
public virtual void MoveParagraphBackwardAndModifySelection (Foundation.NSObject sender);
public virtual void MoveParagraphForwardAndModifySelection (Foundation.NSObject sender);
public virtual void MoveRight (Foundation.NSObject sender);
public virtual void MoveRightAndModifySelection (Foundation.NSObject sender);
public virtual void MoveToBeginningOfDocument (Foundation.NSObject sender);
public virtual void MoveToBeginningOfDocumentAndModifySelection (Foundation.NSObject sender);
public virtual void MoveToBeginningOfLine (Foundation.NSObject sender);
public virtual void MoveToBeginningOfLineAndModifySelection (Foundation.NSObject sender);
public virtual void MoveToBeginningOfParagraph (Foundation.NSObject sender);
public virtual void MoveToBeginningOfParagraphAndModifySelection (Foundation.NSObject sender);
public virtual void MoveToEndOfDocument (Foundation.NSObject sender);
public virtual void MoveToEndOfDocumentAndModifySelection (Foundation.NSObject sender);
public virtual void MoveToEndOfLine (Foundation.NSObject sender);
public virtual void MoveToEndOfLineAndModifySelection (Foundation.NSObject sender);
public virtual void MoveToEndOfParagraph (Foundation.NSObject sender);
public virtual void MoveToEndOfParagraphAndModifySelection (Foundation.NSObject sender);
public virtual void MoveToLeftEndOfLine (Foundation.NSObject sender);
public virtual void MoveToLeftEndOfLineAndModifySelection (Foundation.NSObject sender);
public virtual void MoveToRightEndOfLine (Foundation.NSObject sender);
public virtual void MoveToRightEndOfLineAndModifySelection (Foundation.NSObject sender);
public virtual void MoveUp (Foundation.NSObject sender);
public virtual void MoveUpAndModifySelection (Foundation.NSObject sender);
public virtual void MoveWordBackward (Foundation.NSObject sender);
public virtual void MoveWordBackwardAndModifySelection (Foundation.NSObject sender);
public virtual void MoveWordForward (Foundation.NSObject sender);
public virtual void MoveWordForwardAndModifySelection (Foundation.NSObject sender);
public virtual void MoveWordLeft (Foundation.NSObject sender);
public virtual void MoveWordLeftAndModifySelection (Foundation.NSObject sender);
public virtual void MoveWordRight (Foundation.NSObject sender);
public virtual void MoveWordRightAndModifySelection (Foundation.NSObject sender);
public virtual void PageDown (Foundation.NSObject sender);
public virtual void PageDownAndModifySelection (Foundation.NSObject sender);
public virtual void PageUp (Foundation.NSObject sender);
public virtual void PageUpAndModifySelection (Foundation.NSObject sender);
public virtual void QuickLookPreviewItems (Foundation.NSObject sender);
public virtual void ScrollLineDown (Foundation.NSObject sender);
public virtual void ScrollLineUp (Foundation.NSObject sender);
public virtual void ScrollPageDown (Foundation.NSObject sender);
public virtual void ScrollPageUp (Foundation.NSObject sender);
public virtual void ScrollToBeginningOfDocument (Foundation.NSObject sender);
public virtual void ScrollToEndOfDocument (Foundation.NSObject sender);
public virtual void SelectAll (Foundation.NSObject sender);
public virtual void SelectLine (Foundation.NSObject sender);
public virtual void SelectParagraph (Foundation.NSObject sender);
public virtual void SelectToMark (Foundation.NSObject sender);
public virtual void SelectWord (Foundation.NSObject sender);
public virtual void SetMark (Foundation.NSObject sender);
public virtual void SwapWithMark (Foundation.NSObject sender);
public virtual void Transpose (Foundation.NSObject sender);
public virtual void TransposeWords (Foundation.NSObject sender);
public virtual void UppercaseWord (Foundation.NSObject sender);
public virtual void Yank (Foundation.NSObject sender);

Type Changed: AppKit.INSTabViewDelegate

Added methods:

public virtual void DidSelect (NSTabView tabView, NSTabViewItem item);
public virtual void NumberOfItemsChanged (NSTabView tabView);
public virtual bool ShouldSelectTabViewItem (NSTabView tabView, NSTabViewItem item);
public virtual void WillSelect (NSTabView tabView, NSTabViewItem item);

Type Changed: AppKit.INSTableViewDataSource

Added methods:

public virtual bool AcceptDrop (NSTableView tableView, INSDraggingInfo info, IntPtr row, NSTableViewDropOperation dropOperation);
public virtual void DraggingSessionEnded (NSTableView tableView, NSDraggingSession draggingSession, CoreGraphics.CGPoint endedAtScreenPoint, NSDragOperation operation);
public virtual void DraggingSessionWillBegin (NSTableView tableView, NSDraggingSession draggingSession, CoreGraphics.CGPoint willBeginAtScreenPoint, Foundation.NSIndexSet rowIndexes);
public virtual string[] FilesDropped (NSTableView tableView, Foundation.NSUrl dropDestination, Foundation.NSIndexSet indexSet);
public virtual Foundation.NSObject GetObjectValue (NSTableView tableView, NSTableColumn tableColumn, IntPtr row);
public virtual INSPasteboardWriting GetPasteboardWriterForRow (NSTableView tableView, IntPtr row);
public virtual IntPtr GetRowCount (NSTableView tableView);
public virtual void SetObjectValue (NSTableView tableView, Foundation.NSObject theObject, NSTableColumn tableColumn, IntPtr row);
public virtual void SortDescriptorsChanged (NSTableView tableView, Foundation.NSSortDescriptor[] oldDescriptors);
public virtual void UpdateDraggingItems (NSTableView tableView, INSDraggingInfo draggingInfo);
public virtual NSDragOperation ValidateDrop (NSTableView tableView, INSDraggingInfo info, IntPtr row, NSTableViewDropOperation dropOperation);
public virtual bool WriteRows (NSTableView tableView, Foundation.NSIndexSet rowIndexes, NSPasteboard pboard);

Type Changed: AppKit.INSTableViewDelegate

Added methods:

public virtual void ColumnDidMove (Foundation.NSNotification notification);
public virtual void ColumnDidResize (Foundation.NSNotification notification);
public virtual NSTableRowView CoreGetRowView (NSTableView tableView, IntPtr row);
public virtual void DidAddRowView (NSTableView tableView, NSTableRowView rowView, IntPtr row);
public virtual void DidClickTableColumn (NSTableView tableView, NSTableColumn tableColumn);
public virtual void DidDragTableColumn (NSTableView tableView, NSTableColumn tableColumn);
public virtual void DidRemoveRowView (NSTableView tableView, NSTableRowView rowView, IntPtr row);
public virtual NSCell GetDataCell (NSTableView tableView, NSTableColumn tableColumn, IntPtr row);
public virtual IntPtr GetNextTypeSelectMatch (NSTableView tableView, IntPtr startRow, IntPtr endRow, string searchString);
public virtual System.Runtime.InteropServices.NFloat GetRowHeight (NSTableView tableView, IntPtr row);
public virtual string GetSelectString (NSTableView tableView, NSTableColumn tableColumn, IntPtr row);
public virtual Foundation.NSIndexSet GetSelectionIndexes (NSTableView tableView, Foundation.NSIndexSet proposedSelectionIndexes);
public virtual System.Runtime.InteropServices.NFloat GetSizeToFitColumnWidth (NSTableView tableView, IntPtr column);
public virtual Foundation.NSString GetToolTip (NSTableView tableView, NSCell cell, ref CoreGraphics.CGRect rect, NSTableColumn tableColumn, IntPtr row, CoreGraphics.CGPoint mouseLocation);
public virtual NSView GetViewForItem (NSTableView tableView, NSTableColumn tableColumn, IntPtr row);
public virtual bool IsGroupRow (NSTableView tableView, IntPtr row);
public virtual void MouseDownInHeaderOfTableColumn (NSTableView tableView, NSTableColumn tableColumn);
public virtual NSTableViewRowAction[] RowActions (NSTableView tableView, IntPtr row, NSTableRowActionEdge edge);
public virtual void SelectionDidChange (Foundation.NSNotification notification);
public virtual void SelectionIsChanging (Foundation.NSNotification notification);
public virtual bool SelectionShouldChange (NSTableView tableView);
public virtual bool ShouldEditTableColumn (NSTableView tableView, NSTableColumn tableColumn, IntPtr row);
public virtual bool ShouldReorder (NSTableView tableView, IntPtr columnIndex, IntPtr newColumnIndex);
public virtual bool ShouldSelectRow (NSTableView tableView, IntPtr row);
public virtual bool ShouldSelectTableColumn (NSTableView tableView, NSTableColumn tableColumn);
public virtual bool ShouldShowCellExpansion (NSTableView tableView, NSTableColumn tableColumn, IntPtr row);
public virtual bool ShouldTrackCell (NSTableView tableView, NSCell cell, NSTableColumn tableColumn, IntPtr row);
public virtual bool ShouldTypeSelect (NSTableView tableView, NSEvent theEvent, string searchString);
public virtual bool UserCanChangeVisibility (NSTableView tableView, NSTableColumn column);
public virtual void UserDidChangeVisibility (NSTableView tableView, NSTableColumn[] columns);
public virtual void WillDisplayCell (NSTableView tableView, Foundation.NSObject cell, NSTableColumn tableColumn, IntPtr row);

Type Changed: AppKit.INSTextAttachmentCellProtocol

Modified properties:

-public abstract NSTextAttachment Attachment { get; set; }
+public virtual NSTextAttachment Attachment { get; set; }
-public abstract CoreGraphics.CGPoint CellBaselineOffset { get; }
+public virtual CoreGraphics.CGPoint CellBaselineOffset { get; }
-public abstract CoreGraphics.CGSize CellSize { get; }
+public virtual CoreGraphics.CGSize CellSize { get; }

Modified methods:

-public abstract CoreGraphics.CGRect CellFrameForTextContainer (NSTextContainer textContainer, CoreGraphics.CGRect lineFrag, CoreGraphics.CGPoint position, UIntPtr charIndex)
+public virtual CoreGraphics.CGRect CellFrameForTextContainer (NSTextContainer textContainer, CoreGraphics.CGRect lineFrag, CoreGraphics.CGPoint position, UIntPtr charIndex)
-public abstract void DrawWithFrame (CoreGraphics.CGRect cellFrame, NSView controlView)
+public virtual void DrawWithFrame (CoreGraphics.CGRect cellFrame, NSView controlView)
-public abstract void DrawWithFrame (CoreGraphics.CGRect cellFrame, NSView controlView, UIntPtr charIndex)
+public virtual void DrawWithFrame (CoreGraphics.CGRect cellFrame, NSView controlView, UIntPtr charIndex)
-public abstract void DrawWithFrame (CoreGraphics.CGRect cellFrame, NSView controlView, UIntPtr charIndex, NSLayoutManager layoutManager)
+public virtual void DrawWithFrame (CoreGraphics.CGRect cellFrame, NSView controlView, UIntPtr charIndex, NSLayoutManager layoutManager)
-public abstract void Highlight (bool highlight, CoreGraphics.CGRect cellFrame, NSView controlView)
+public virtual void Highlight (bool highlight, CoreGraphics.CGRect cellFrame, NSView controlView)
-public abstract bool TrackMouse (NSEvent theEvent, CoreGraphics.CGRect cellFrame, NSView controlView, bool untilMouseUp)
+public virtual bool TrackMouse (NSEvent theEvent, CoreGraphics.CGRect cellFrame, NSView controlView, bool untilMouseUp)
-public abstract bool TrackMouse (NSEvent theEvent, CoreGraphics.CGRect cellFrame, NSView controlView, UIntPtr charIndex, bool untilMouseUp)
+public virtual bool TrackMouse (NSEvent theEvent, CoreGraphics.CGRect cellFrame, NSView controlView, UIntPtr charIndex, bool untilMouseUp)
-public abstract bool WantsToTrackMouse ()
+public virtual bool WantsToTrackMouse ()
-public abstract bool WantsToTrackMouse (NSEvent theEvent, CoreGraphics.CGRect cellFrame, NSView controlView, UIntPtr charIndex)
+public virtual bool WantsToTrackMouse (NSEvent theEvent, CoreGraphics.CGRect cellFrame, NSView controlView, UIntPtr charIndex)

Type Changed: AppKit.INSTextAttachmentContainer

Modified methods:

-public abstract CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint glyphPosition, UIntPtr characterIndex)
+public virtual CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint glyphPosition, UIntPtr characterIndex)
-public abstract NSImage GetImageForBounds (CoreGraphics.CGRect bounds, NSTextContainer textContainer, UIntPtr characterIndex)
+public virtual NSImage GetImageForBounds (CoreGraphics.CGRect bounds, NSTextContainer textContainer, UIntPtr characterIndex)

Type Changed: AppKit.INSTextAttachmentLayout

Modified methods:

-public abstract CoreGraphics.CGRect GetAttachmentBounds (Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint position)
+public virtual CoreGraphics.CGRect GetAttachmentBounds (Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint position)
-public abstract NSImage GetImageForBounds (CoreGraphics.CGRect bounds, Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer)
+public virtual NSImage GetImageForBounds (CoreGraphics.CGRect bounds, Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer)
-public abstract NSTextAttachmentViewProvider GetViewProvider (NSView parentView, INSTextLocation location, NSTextContainer textContainer)
+public virtual NSTextAttachmentViewProvider GetViewProvider (NSView parentView, INSTextLocation location, NSTextContainer textContainer)

Type Changed: AppKit.INSTextCheckingClient

Modified properties:

-public abstract NSCandidateListTouchBarItem CandidateListTouchBarItem { get; }
+public virtual NSCandidateListTouchBarItem CandidateListTouchBarItem { get; }

Modified methods:

-public abstract void AddAnnotations (Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSString%GREATERTHANREPLACEMENT% annotations, Foundation.NSRange range)
+public virtual void AddAnnotations (Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSString%GREATERTHANREPLACEMENT% annotations, Foundation.NSRange range)
-public abstract Foundation.NSAttributedString GetAnnotatedSubstring (Foundation.NSRange range, ref Foundation.NSRange actualRange)
+public virtual Foundation.NSAttributedString GetAnnotatedSubstring (Foundation.NSRange range, ref Foundation.NSRange actualRange)
-public abstract NSView GetView (Foundation.NSRange range, ref CoreGraphics.CGRect firstRect, ref Foundation.NSRange actualRange)
+public virtual NSView GetView (Foundation.NSRange range, ref CoreGraphics.CGRect firstRect, ref Foundation.NSRange actualRange)
-public abstract void RemoveAnnotation (string annotationName, Foundation.NSRange range)
+public virtual void RemoveAnnotation (string annotationName, Foundation.NSRange range)
-public abstract void ReplaceCharacters (Foundation.NSRange range, Foundation.NSAttributedString annotatedString)
+public virtual void ReplaceCharacters (Foundation.NSRange range, Foundation.NSAttributedString annotatedString)
-public abstract void SelectAndShow (Foundation.NSRange range)
+public virtual void SelectAndShow (Foundation.NSRange range)
-public abstract void SetAnnotations (Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSString%GREATERTHANREPLACEMENT% annotations, Foundation.NSRange range)
+public virtual void SetAnnotations (Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSString%GREATERTHANREPLACEMENT% annotations, Foundation.NSRange range)

Type Changed: AppKit.INSTextContent

Modified methods:

-public abstract Foundation.NSString GetContentType ()
+public virtual Foundation.NSString GetContentType ()
-public abstract void SetContentType (Foundation.NSString contentType)
+public virtual void SetContentType (Foundation.NSString contentType)

Type Changed: AppKit.INSTextContentManagerDelegate

Added methods:

public virtual NSTextElement GetTextContentManager (NSTextContentManager textContentManager, INSTextLocation location);
public virtual bool ShouldEnumerateTextElement (NSTextContentManager textContentManager, NSTextElement textElement, NSTextContentManagerEnumerationOptions options);

Type Changed: AppKit.INSTextContentStorageDelegate

Added method:

public virtual NSTextParagraph GetTextParagraph (NSTextContentStorage textContentStorage, Foundation.NSRange range);

Type Changed: AppKit.INSTextDelegate

Added methods:

public virtual void TextDidBeginEditing (Foundation.NSNotification notification);
public virtual void TextDidChange (Foundation.NSNotification notification);
public virtual void TextDidEndEditing (Foundation.NSNotification notification);
public virtual bool TextShouldBeginEditing (NSText textObject);
public virtual bool TextShouldEndEditing (NSText textObject);

Type Changed: AppKit.INSTextElementProvider

Modified properties:

-public abstract NSTextRange DocumentRange { get; }
+public virtual NSTextRange DocumentRange { get; }

Modified methods:

-public abstract INSTextLocation EnumerateTextElements (INSTextLocation textLocation, NSTextContentManagerEnumerationOptions options, System.Func%LESSERTHANREPLACEMENT%NSTextElement,System.Boolean%GREATERTHANREPLACEMENT% handler)
+public virtual INSTextLocation EnumerateTextElements (INSTextLocation textLocation, NSTextContentManagerEnumerationOptions options, System.Func%LESSERTHANREPLACEMENT%NSTextElement,System.Boolean%GREATERTHANREPLACEMENT% handler)
-public abstract void ReplaceContents (NSTextRange range, NSTextElement[] textElements)
+public virtual void ReplaceContents (NSTextRange range, NSTextElement[] textElements)
-public abstract void Synchronize (System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void Synchronize (System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)

Added methods:

public virtual NSTextRange AdjustedRange (NSTextRange textRange, bool forEditingTextSelection);
public virtual INSTextLocation GetLocation (INSTextLocation location, IntPtr offset);
public virtual IntPtr GetOffset (INSTextLocation from, INSTextLocation to);

Type Changed: AppKit.INSTextFieldDelegate

Added methods:

public virtual void Changed (Foundation.NSNotification notification);
public virtual bool DidFailToFormatString (NSControl control, string str, string error);
public virtual void DidFailToValidatePartialString (NSControl control, string str, string error);
public virtual bool DoCommandBySelector (NSControl control, NSTextView textView, ObjCRuntime.Selector commandSelector);
public virtual void EditingBegan (Foundation.NSNotification notification);
public virtual void EditingEnded (Foundation.NSNotification notification);
public virtual Foundation.NSObject[] GetCandidates (NSTextField textField, NSTextView textView, Foundation.NSRange selectedRange);
public virtual string[] GetCompletions (NSControl control, NSTextView textView, string[] words, Foundation.NSRange charRange, ref IntPtr index);
public virtual Foundation.NSTextCheckingResult[] GetTextCheckingResults (NSTextField textField, NSTextView textView, Foundation.NSTextCheckingResult[] candidates, Foundation.NSRange selectedRange);
public virtual bool IsValidObject (NSControl control, Foundation.NSObject objectToValidate);
public virtual bool ShouldSelectCandidate (NSTextField textField, NSTextView textView, UIntPtr index);
public virtual bool TextShouldBeginEditing (NSControl control, NSText fieldEditor);
public virtual bool TextShouldEndEditing (NSControl control, NSText fieldEditor);

Type Changed: AppKit.INSTextFinderBarContainer

Modified properties:

-public abstract NSView FindBarView { get; set; }
+public virtual NSView FindBarView { get; set; }
-public abstract bool FindBarVisible { get; set; }
+public virtual bool FindBarVisible { get; set; }

Added property:

public virtual NSView ContentView { get; }

Modified methods:

-public abstract void FindBarViewDidChangeHeight ()
+public virtual void FindBarViewDidChangeHeight ()

Type Changed: AppKit.INSTextFinderClient

Added properties:

public virtual bool AllowsMultipleSelection { get; }
public virtual bool Editable { get; }
public virtual Foundation.NSRange FirstSelectedRange { get; }
public virtual bool Selectable { get; }
public virtual Foundation.NSArray SelectedRanges { get; set; }
public virtual string String { get; }
public virtual UIntPtr StringLength { get; }
public virtual Foundation.NSArray VisibleCharacterRanges { get; }

Added methods:

public virtual void DidReplaceCharacters ();
public virtual void DrawCharacters (Foundation.NSRange range, NSView view);
public virtual NSView GetContentView (UIntPtr index, out Foundation.NSRange outRange);
public virtual Foundation.NSArray GetRects (Foundation.NSRange characterRange);
public virtual string GetString (UIntPtr index, out Foundation.NSRange effectiveRange, bool endsWithSearchBoundary);
public virtual void ReplaceCharacters (Foundation.NSRange range, string str);
public virtual void ScrollRangeToVisible (Foundation.NSRange range);
public virtual bool ShouldReplaceCharacters (Foundation.NSArray ranges, Foundation.NSArray strings);

Type Changed: AppKit.INSTextInput

Modified properties:

-public abstract IntPtr ConversationIdentifier { get; }
+public virtual IntPtr ConversationIdentifier { get; }
-public abstract bool HasMarkedText { get; }
+public virtual bool HasMarkedText { get; }
-public abstract Foundation.NSRange MarkedRange { get; }
+public virtual Foundation.NSRange MarkedRange { get; }
-public abstract Foundation.NSRange SelectedRange { get; }
+public virtual Foundation.NSRange SelectedRange { get; }
-public abstract Foundation.NSString[] ValidAttributesForMarkedText { get; }
+public virtual Foundation.NSString[] ValidAttributesForMarkedText { get; }

Modified methods:

-public abstract Foundation.NSAttributedString GetAttributedSubstring (Foundation.NSRange range)
+public virtual Foundation.NSAttributedString GetAttributedSubstring (Foundation.NSRange range)
-public abstract UIntPtr GetCharacterIndex (CoreGraphics.CGPoint point)
+public virtual UIntPtr GetCharacterIndex (CoreGraphics.CGPoint point)
-public abstract CoreGraphics.CGRect GetFirstRectForCharacterRange (Foundation.NSRange range)
+public virtual CoreGraphics.CGRect GetFirstRectForCharacterRange (Foundation.NSRange range)
-public abstract void InsertText (Foundation.NSObject insertString)
+public virtual void InsertText (Foundation.NSObject insertString)
-public abstract void SetMarkedText (Foundation.NSObject string, Foundation.NSRange selRange)
+public virtual void SetMarkedText (Foundation.NSObject string, Foundation.NSRange selRange)
-public abstract void UnmarkText ()
+public virtual void UnmarkText ()

Type Changed: AppKit.INSTextInputClient

Modified properties:

-public abstract bool HasMarkedText { get; }
+public virtual bool HasMarkedText { get; }
-public abstract Foundation.NSRange MarkedRange { get; }
+public virtual Foundation.NSRange MarkedRange { get; }
-public abstract Foundation.NSRange SelectedRange { get; }
+public virtual Foundation.NSRange SelectedRange { get; }
-public abstract Foundation.NSString[] ValidAttributesForMarkedText { get; }
+public virtual Foundation.NSString[] ValidAttributesForMarkedText { get; }

Added properties:

public virtual Foundation.NSAttributedString AttributedString { get; }
public virtual CoreGraphics.CGRect DocumentVisibleRect { get; }
public virtual NSTextCursorAccessoryPlacement PreferredTextAccessoryPlacement { get; }
public virtual CoreGraphics.CGRect UnionRectInVisibleSelectedRange { get; }
public virtual NSWindowLevel WindowLevel { get; }

Modified methods:

-public abstract Foundation.NSAttributedString GetAttributedSubstring (Foundation.NSRange proposedRange, out Foundation.NSRange actualRange)
+public virtual Foundation.NSAttributedString GetAttributedSubstring (Foundation.NSRange proposedRange, out Foundation.NSRange actualRange)
-public abstract UIntPtr GetCharacterIndex (CoreGraphics.CGPoint point)
+public virtual UIntPtr GetCharacterIndex (CoreGraphics.CGPoint point)
-public abstract CoreGraphics.CGRect GetFirstRect (Foundation.NSRange characterRange, out Foundation.NSRange actualRange)
+public virtual CoreGraphics.CGRect GetFirstRect (Foundation.NSRange characterRange, out Foundation.NSRange actualRange)
-public abstract void InsertText (Foundation.NSObject text, Foundation.NSRange replacementRange)
+public virtual void InsertText (Foundation.NSObject text, Foundation.NSRange replacementRange)
-public abstract void SetMarkedText (Foundation.NSObject text, Foundation.NSRange selectedRange, Foundation.NSRange replacementRange)
+public virtual void SetMarkedText (Foundation.NSObject text, Foundation.NSRange selectedRange, Foundation.NSRange replacementRange)
-public abstract void UnmarkText ()
+public virtual void UnmarkText ()

Added methods:

public virtual bool DrawsVertically (UIntPtr charIndex);
public virtual System.Runtime.InteropServices.NFloat GetBaselineDelta (UIntPtr charIndex);
public virtual System.Runtime.InteropServices.NFloat GetFractionOfDistanceThroughGlyph (CoreGraphics.CGPoint point);

Type Changed: AppKit.INSTextInputTraits

Added properties:

public virtual NSTextInputTraitType AutocorrectionType { get; set; }
public virtual NSTextInputTraitType DataDetectionType { get; set; }
public virtual NSTextInputTraitType GrammarCheckingType { get; set; }
public virtual NSTextInputTraitType InlinePredictionType { get; set; }
public virtual NSTextInputTraitType LinkDetectionType { get; set; }
public virtual NSTextInputTraitType SmartDashesType { get; set; }
public virtual NSTextInputTraitType SmartInsertDeleteType { get; set; }
public virtual NSTextInputTraitType SmartQuotesType { get; set; }
public virtual NSTextInputTraitType SpellCheckingType { get; set; }
public virtual NSTextInputTraitType TextCompletionType { get; set; }
public virtual NSTextInputTraitType TextReplacementType { get; set; }

Type Changed: AppKit.INSTextLayoutManagerDelegate

Added methods:

public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetRenderingAttributes (NSTextLayoutManager textLayoutManager, Foundation.NSObject link, INSTextLocation location, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> renderingAttributes);
public virtual NSTextLayoutFragment GetTextLayoutFragment (NSTextLayoutManager textLayoutManager, INSTextLocation location, NSTextElement textElement);
public virtual bool ShouldBreakLineBeforeLocation (NSTextLayoutManager textLayoutManager, INSTextLocation location, bool hyphenating);

Type Changed: AppKit.INSTextLayoutOrientationProvider

Modified properties:

-public abstract NSTextLayoutOrientation LayoutOrientation { get; }
+public virtual NSTextLayoutOrientation LayoutOrientation { get; }

Type Changed: AppKit.INSTextLocation

Modified methods:

-public abstract Foundation.NSComparisonResult Compare (INSTextLocation location)
+public virtual Foundation.NSComparisonResult Compare (INSTextLocation location)

Type Changed: AppKit.INSTextSelectionDataSource

Modified properties:

-public abstract NSTextRange DocumentRange { get; }
+public virtual NSTextRange DocumentRange { get; }

Modified methods:

-public abstract void EnumerateCaretOffsets (INSTextLocation location, NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate handler)
+public virtual void EnumerateCaretOffsets (INSTextLocation location, NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate handler)
-public abstract void EnumerateSubstrings (INSTextLocation location, Foundation.NSStringEnumerationOptions options, NSTextSelectionDataSourceEnumerateSubstringsDelegate handler)
+public virtual void EnumerateSubstrings (INSTextLocation location, Foundation.NSStringEnumerationOptions options, NSTextSelectionDataSourceEnumerateSubstringsDelegate handler)
-public abstract NSTextSelectionNavigationWritingDirection GetBaseWritingDirection (INSTextLocation location)
+public virtual NSTextSelectionNavigationWritingDirection GetBaseWritingDirection (INSTextLocation location)
-public abstract NSTextRange GetLineFragmentRange (CoreGraphics.CGPoint point, INSTextLocation location)
+public virtual NSTextRange GetLineFragmentRange (CoreGraphics.CGPoint point, INSTextLocation location)
-public abstract INSTextLocation GetLocation (INSTextLocation location, IntPtr offset)
+public virtual INSTextLocation GetLocation (INSTextLocation location, IntPtr offset)
-public abstract IntPtr GetOffsetFromLocation (INSTextLocation from, INSTextLocation to)
+public virtual IntPtr GetOffsetFromLocation (INSTextLocation from, INSTextLocation to)
-public abstract NSTextRange GetTextRange (NSTextSelectionGranularity selectionGranularity, INSTextLocation location)
+public virtual NSTextRange GetTextRange (NSTextSelectionGranularity selectionGranularity, INSTextLocation location)

Added methods:

public virtual void EnumerateContainerBoundaries (INSTextLocation location, bool reverse, NSTextSelectionDataSourceEnumerateContainerBoundariesDelegate handler);
public virtual NSTextSelectionNavigationLayoutOrientation GetTextLayoutOrientation (INSTextLocation location);

Type Changed: AppKit.INSTextStorageDelegate

Added methods:

public virtual void DidProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editedMask, Foundation.NSRange editedRange, IntPtr delta);
public virtual void TextStorageDidProcessEditing (Foundation.NSNotification notification);
public virtual void TextStorageWillProcessEditing (Foundation.NSNotification notification);
public virtual void WillProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editedMask, Foundation.NSRange editedRange, IntPtr delta);

Type Changed: AppKit.INSTextStorageObserving

Modified properties:

-public abstract NSTextStorage TextStorage { get; set; }
+public virtual NSTextStorage TextStorage { get; set; }

Modified methods:

-public abstract void PerformEditingTransaction (NSTextStorage textStorage, System.Action transaction)
+public virtual void PerformEditingTransaction (NSTextStorage textStorage, System.Action transaction)
-public abstract void ProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editMask, Foundation.NSRange newCharRange, IntPtr delta, Foundation.NSRange invalidatedCharRange)
+public virtual void ProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editMask, Foundation.NSRange newCharRange, IntPtr delta, Foundation.NSRange invalidatedCharRange)

Type Changed: AppKit.INSTextViewDelegate

Added methods:

public virtual void CellClicked (NSTextView textView, NSTextAttachmentCell cell, CoreGraphics.CGRect cellFrame, UIntPtr charIndex);
public virtual void CellDoubleClicked (NSTextView textView, NSTextAttachmentCell cell, CoreGraphics.CGRect cellFrame, UIntPtr charIndex);
public virtual void DidChangeSelection (Foundation.NSNotification notification);
public virtual void DidChangeTypingAttributes (Foundation.NSNotification notification);
public virtual Foundation.NSTextCheckingResult[] DidCheckText (NSTextView view, Foundation.NSRange range, Foundation.NSTextCheckingTypes checkingTypes, Foundation.NSDictionary options, Foundation.NSTextCheckingResult[] results, Foundation.NSOrthography orthography, IntPtr wordCount);
public virtual bool DoCommandBySelector (NSTextView textView, ObjCRuntime.Selector commandSelector);
public virtual void DraggedCell (NSTextView view, NSTextAttachmentCell cell, CoreGraphics.CGRect rect, NSEvent theEvent, UIntPtr charIndex);
public virtual Foundation.NSObject[] GetCandidates (NSTextView textView, Foundation.NSRange selectedRange);
public virtual string[] GetCompletions (NSTextView textView, string[] words, Foundation.NSRange charRange, ref IntPtr index);
public virtual Foundation.NSTextCheckingResult[] GetTextCheckingCandidates (NSTextView textView, Foundation.NSTextCheckingResult[] candidates, Foundation.NSRange selectedRange);
public virtual Foundation.NSUndoManager GetUndoManager (NSTextView view);
public virtual string[] GetWritablePasteboardTypes (NSTextView view, NSTextAttachmentCell forCell, UIntPtr charIndex);
public virtual bool LinkClicked (NSTextView textView, Foundation.NSObject link, UIntPtr charIndex);
public virtual NSMenu MenuForEvent (NSTextView view, NSMenu menu, NSEvent theEvent, UIntPtr charIndex);
public virtual bool ShouldChangeTextInRange (NSTextView textView, Foundation.NSRange affectedCharRange, string replacementString);
public virtual bool ShouldChangeTextInRanges (NSTextView textView, Foundation.NSValue[] affectedRanges, string[] replacementStrings);
public virtual Foundation.NSDictionary ShouldChangeTypingAttributes (NSTextView textView, Foundation.NSDictionary oldTypingAttributes, Foundation.NSDictionary newTypingAttributes);
public virtual bool ShouldSelectCandidates (NSTextView textView, UIntPtr index);
public virtual IntPtr ShouldSetSpellingState (NSTextView textView, IntPtr value, Foundation.NSRange affectedCharRange);
public virtual string[] ShouldUpdateTouchBarItemIdentifiers (NSTextView textView, string[] identifiers);
public virtual Foundation.NSRange WillChangeSelection (NSTextView textView, Foundation.NSRange oldSelectedCharRange, Foundation.NSRange newSelectedCharRange);
public virtual Foundation.NSValue[] WillChangeSelectionFromRanges (NSTextView textView, Foundation.NSValue[] oldSelectedCharRanges, Foundation.NSValue[] newSelectedCharRanges);
public virtual Foundation.NSDictionary WillCheckText (NSTextView view, Foundation.NSRange range, Foundation.NSDictionary options, Foundation.NSTextCheckingTypes checkingTypes);
public virtual string WillDisplayToolTip (NSTextView textView, string tooltip, UIntPtr characterIndex);
public virtual bool WriteCell (NSTextView view, NSTextAttachmentCell cell, UIntPtr charIndex, NSPasteboard pboard, string type);

Type Changed: AppKit.INSTextViewportLayoutControllerDelegate

Modified methods:

-public abstract void ConfigureRenderingSurface (NSTextViewportLayoutController textViewportLayoutController, NSTextLayoutFragment textLayoutFragment)
+public virtual void ConfigureRenderingSurface (NSTextViewportLayoutController textViewportLayoutController, NSTextLayoutFragment textLayoutFragment)
-public abstract CoreGraphics.CGRect GetViewportBounds (NSTextViewportLayoutController textViewportLayoutController)
+public virtual CoreGraphics.CGRect GetViewportBounds (NSTextViewportLayoutController textViewportLayoutController)

Added methods:

public virtual void DidLayout (NSTextViewportLayoutController textViewportLayoutController);
public virtual void WillLayout (NSTextViewportLayoutController textViewportLayoutController);

Type Changed: AppKit.INSTokenFieldCellDelegate

Added methods:

public virtual Foundation.NSArray GetCompletionStrings (NSTokenFieldCell tokenFieldCell, string substring, IntPtr tokenIndex, ref IntPtr selectedIndex);
public virtual string GetDisplayString (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
public virtual string GetEditingString (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
public virtual NSMenu GetMenu (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
public virtual Foundation.NSObject GetRepresentedObject (NSTokenFieldCell tokenFieldCell, string editingString);
public virtual NSTokenStyle GetStyle (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
public virtual bool HasMenu (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
public virtual Foundation.NSObject[] Read (NSTokenFieldCell tokenFieldCell, NSPasteboard pboard);
public virtual Foundation.NSArray ShouldAddObjects (NSTokenFieldCell tokenFieldCell, Foundation.NSObject[] tokens, UIntPtr index);
public virtual bool WriteRepresentedObjects (NSTokenFieldCell tokenFieldCell, Foundation.NSObject[] objects, NSPasteboard pboard);

Type Changed: AppKit.INSTokenFieldDelegate

Added methods:

public virtual string[] GetCompletionStrings (NSTokenField tokenField, string substring, IntPtr tokenIndex, IntPtr selectedIndex);
public virtual string GetDisplayString (NSTokenField tokenField, Foundation.NSObject representedObject);
public virtual string GetEditingString (NSTokenField tokenField, Foundation.NSObject representedObject);
public virtual NSMenu GetMenu (NSTokenField tokenField, Foundation.NSObject representedObject);
public virtual Foundation.NSObject GetRepresentedObject (NSTokenField tokenField, string editingString);
public virtual NSTokenStyle GetStyle (NSTokenField tokenField, Foundation.NSObject representedObject);
public virtual bool HasMenu (NSTokenField tokenField, Foundation.NSObject representedObject);
public virtual Foundation.NSObject[] Read (NSTokenField tokenField, NSPasteboard pboard);
public virtual Foundation.NSArray ShouldAddObjects (NSTokenField tokenField, Foundation.NSArray tokens, UIntPtr index);
public virtual bool WriteRepresented (NSTokenField tokenField, Foundation.NSArray objects, NSPasteboard pboard);

Type Changed: AppKit.INSToolTipOwner

Modified methods:

-public abstract string GetStringForToolTip (NSView view, IntPtr tag, CoreGraphics.CGPoint point, IntPtr data)
+public virtual string GetStringForToolTip (NSView view, IntPtr tag, CoreGraphics.CGPoint point, IntPtr data)

Type Changed: AppKit.INSToolbarDelegate

Added methods:

public virtual string[] AllowedItemIdentifiers (NSToolbar toolbar);
public virtual string[] DefaultItemIdentifiers (NSToolbar toolbar);
public virtual void DidRemoveItem (Foundation.NSNotification notification);
public virtual bool GetItemCanBeInsertedAt (NSToolbar toolbar, string itemIdentifier, IntPtr index);
public virtual Foundation.NSSet<Foundation.NSString> GetToolbarImmovableItemIdentifiers (NSToolbar toolbar);
public virtual string[] SelectableItemIdentifiers (NSToolbar toolbar);
public virtual void WillAddItem (Foundation.NSNotification notification);
public virtual NSToolbarItem WillInsertItem (NSToolbar toolbar, string itemIdentifier, bool willBeInserted);

Type Changed: AppKit.INSToolbarItemValidation

Modified methods:

-public abstract bool ValidateToolbarItem (NSToolbarItem item)
+public virtual bool ValidateToolbarItem (NSToolbarItem item)

Type Changed: AppKit.INSTouchBarDelegate

Added method:

public virtual NSTouchBarItem MakeItem (NSTouchBar touchBar, string identifier);

Type Changed: AppKit.INSTouchBarProvider

Modified properties:

-public abstract NSTouchBar TouchBar { get; }
+public virtual NSTouchBar TouchBar { get; }

Type Changed: AppKit.INSUserActivityRestoring

Modified methods:

-public abstract void RestoreUserActivityState (Foundation.NSUserActivity userActivity)
+public virtual void RestoreUserActivityState (Foundation.NSUserActivity userActivity)

Type Changed: AppKit.INSUserInterfaceCompression

Modified properties:

-public abstract NSUserInterfaceCompressionOptions ActiveCompressionOptions { get; }
+public virtual NSUserInterfaceCompressionOptions ActiveCompressionOptions { get; }

Modified methods:

-public abstract void Compress (NSUserInterfaceCompressionOptions[] prioritizedOptions)
+public virtual void Compress (NSUserInterfaceCompressionOptions[] prioritizedOptions)
-public abstract CoreGraphics.CGSize GetMinimumSize (NSUserInterfaceCompressionOptions[] prioritizedOptions)
+public virtual CoreGraphics.CGSize GetMinimumSize (NSUserInterfaceCompressionOptions[] prioritizedOptions)

Type Changed: AppKit.INSUserInterfaceItemIdentification

Modified properties:

-public abstract string Identifier { get; set; }
+public virtual string Identifier { get; set; }

Type Changed: AppKit.INSUserInterfaceItemSearching

Modified methods:

-public abstract string[] GetLocalizedTitles (Foundation.NSObject forItem)
+public virtual string[] GetLocalizedTitles (Foundation.NSObject forItem)
-public abstract void SearchForItems (string searchString, IntPtr resultLimit, System.Action%LESSERTHANREPLACEMENT%Foundation.NSObject[]%GREATERTHANREPLACEMENT% matchedItemHandler)
+public virtual void SearchForItems (string searchString, IntPtr resultLimit, System.Action%LESSERTHANREPLACEMENT%Foundation.NSObject[]%GREATERTHANREPLACEMENT% matchedItemHandler)

Added methods:

public virtual void PerformAction (Foundation.NSObject forItem);
public virtual void ShowAllHelpTopics (string searchString);

Type Changed: AppKit.INSUserInterfaceValidations

Modified methods:

-public abstract bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item)
+public virtual bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item)

Type Changed: AppKit.INSValidatedUserInterfaceItem

Modified properties:

-public abstract ObjCRuntime.Selector Action { get; }
+public virtual ObjCRuntime.Selector Action { get; }
-public abstract IntPtr Tag { get; }
+public virtual IntPtr Tag { get; }

Type Changed: AppKit.INSViewControllerPresentationAnimator

Modified methods:

-public abstract void AnimateDismissal (NSViewController viewController, NSViewController fromViewController)
+public virtual void AnimateDismissal (NSViewController viewController, NSViewController fromViewController)
-public abstract void AnimatePresentation (NSViewController viewController, NSViewController fromViewController)
+public virtual void AnimatePresentation (NSViewController viewController, NSViewController fromViewController)

Type Changed: AppKit.INSViewToolTipOwner

Modified methods:

-public abstract string GetStringForToolTip (NSView view, IntPtr tag, CoreGraphics.CGPoint point, IntPtr data)
+public virtual string GetStringForToolTip (NSView view, IntPtr tag, CoreGraphics.CGPoint point, IntPtr data)

Type Changed: AppKit.INSWindowDelegate

Added methods:

public virtual NSWindow[] CustomWindowsToEnterFullScreen (NSWindow window);
public virtual NSWindow[] CustomWindowsToExitFullScreen (NSWindow window);
public virtual void DidBecomeKey (Foundation.NSNotification notification);
public virtual void DidBecomeMain (Foundation.NSNotification notification);
public virtual void DidChangeBackingProperties (Foundation.NSNotification notification);
public virtual void DidChangeScreen (Foundation.NSNotification notification);
public virtual void DidChangeScreenProfile (Foundation.NSNotification notification);
public virtual void DidDecodeRestorableState (NSWindow window, Foundation.NSCoder coder);
public virtual void DidDeminiaturize (Foundation.NSNotification notification);
public virtual void DidEndLiveResize (Foundation.NSNotification notification);
public virtual void DidEndSheet (Foundation.NSNotification notification);
public virtual void DidEnterFullScreen (Foundation.NSNotification notification);
public virtual void DidEnterVersionBrowser (Foundation.NSNotification notification);
public virtual void DidExitFullScreen (Foundation.NSNotification notification);
public virtual void DidExitVersionBrowser (Foundation.NSNotification notification);
public virtual void DidExpose (Foundation.NSNotification notification);
public virtual void DidFailToEnterFullScreen (NSWindow window);
public virtual void DidFailToExitFullScreen (NSWindow window);
public virtual void DidMiniaturize (Foundation.NSNotification notification);
public virtual void DidMove (Foundation.NSNotification notification);
public virtual void DidResignKey (Foundation.NSNotification notification);
public virtual void DidResignMain (Foundation.NSNotification notification);
public virtual void DidResize (Foundation.NSNotification notification);
public virtual void DidUpdate (Foundation.NSNotification notification);
public virtual INSPreviewRepresentableActivityItem[] GetPreviewRepresentableActivityItems (NSWindow window);
public virtual bool ShouldDragDocumentWithEvent (NSWindow window, NSEvent theEvent, CoreGraphics.CGPoint dragImageLocation, NSPasteboard withPasteboard);
public virtual bool ShouldPopUpDocumentPathMenu (NSWindow window, NSMenu menu);
public virtual bool ShouldZoom (NSWindow window, CoreGraphics.CGRect newFrame);
public virtual void StartCustomAnimationToEnterFullScreen (NSWindow window, double duration);
public virtual void StartCustomAnimationToExitFullScreen (NSWindow window, double duration);
public virtual void WillBeginSheet (Foundation.NSNotification notification);
public virtual void WillClose (Foundation.NSNotification notification);
public virtual void WillEncodeRestorableState (NSWindow window, Foundation.NSCoder coder);
public virtual void WillEnterFullScreen (Foundation.NSNotification notification);
public virtual void WillEnterVersionBrowser (Foundation.NSNotification notification);
public virtual void WillExitFullScreen (Foundation.NSNotification notification);
public virtual void WillExitVersionBrowser (Foundation.NSNotification notification);
public virtual void WillMiniaturize (Foundation.NSNotification notification);
public virtual void WillMove (Foundation.NSNotification notification);
public virtual CoreGraphics.CGRect WillPositionSheet (NSWindow window, NSWindow sheet, CoreGraphics.CGRect usingRect);
public virtual CoreGraphics.CGSize WillResize (NSWindow sender, CoreGraphics.CGSize toFrameSize);
public virtual CoreGraphics.CGSize WillResizeForVersionBrowser (NSWindow window, CoreGraphics.CGSize maxPreferredSize, CoreGraphics.CGSize maxAllowedSize);
public virtual Foundation.NSObject WillReturnFieldEditor (NSWindow sender, Foundation.NSObject client);
public virtual Foundation.NSUndoManager WillReturnUndoManager (NSWindow window);
public virtual void WillStartLiveResize (Foundation.NSNotification notification);
public virtual CoreGraphics.CGSize WillUseFullScreenContentSize (NSWindow window, CoreGraphics.CGSize proposedSize);
public virtual NSApplicationPresentationOptions WillUseFullScreenPresentationOptions (NSWindow window, NSApplicationPresentationOptions proposedOptions);
public virtual CoreGraphics.CGRect WillUseStandardFrame (NSWindow window, CoreGraphics.CGRect newFrame);
public virtual bool WindowShouldClose (Foundation.NSObject sender);

Type Changed: AppKit.INSWindowRestoration

Added method:

public static void RestoreWindow<T> (string identifier, Foundation.NSCoder state, NSWindowCompletionHandler onCompletion);

Type Changed: AppKit.NSBezelStyle

Added values:

AccessoryBar = 13,
AccessoryBarAction = 12,
Badge = 15,
FlexiblePush = 2,
Push = 1,
PushDisclosure = 14,
Toolbar = 11,

Type Changed: AppKit.NSDocument

Added method:

public virtual void AccommodatePresentedItemEviction (System.Action<Foundation.NSError> completionHandler);

Type Changed: AppKit.NSEvent

Obsoleted methods:

 [Obsolete ("Use 'Create (CGEvent)' instead.")]
 public static NSEvent EventWithCGEvent (IntPtr cgEventPtr);

Added methods:

public static NSEvent Create (CoreGraphics.CGEvent event);
public CoreGraphics.CGEvent GetCGEventObject ();

Type Changed: AppKit.NSGraphics

Obsoleted methods:

 [Obsolete ("Call 'GetBestDepth' instead.")]
 public static NSWindowDepth BestDepth (Foundation.NSString colorspace, IntPtr bitsPerSample, IntPtr bitsPerPixel, bool planar, ref bool exactMatch);

Added method:

public static NSWindowDepth GetBestDepth (Foundation.NSString colorspace, IntPtr bitsPerSample, IntPtr bitsPerPixel, bool planar, out bool exactMatch);

Type Changed: AppKit.NSPasteboard

Obsoleted properties:

 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSFileContentsType { get; }
 [Obsolete ("Use the 'NSPasteboardName' enum instead.")]
 public static Foundation.NSString NSPasteboardNameDrag { get; }
 [Obsolete ("Use the 'NSPasteboardName' enum instead.")]
 public static Foundation.NSString NSPasteboardNameFind { get; }
 [Obsolete ("Use the 'NSPasteboardName' enum instead.")]
 public static Foundation.NSString NSPasteboardNameFont { get; }
 [Obsolete ("Use the 'NSPasteboardName' enum instead.")]
 public static Foundation.NSString NSPasteboardNameGeneral { get; }
 [Obsolete ("Use the 'NSPasteboardName' enum instead.")]
 public static Foundation.NSString NSPasteboardNameRuler { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeColor { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeFileUrl { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeFont { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeHTML { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeMultipleTextSelection { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypePDF { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypePNG { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeRTF { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeRTFD { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeRuler { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeSound { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeString { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeTIFF { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeTabularText { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString NSPasteboardTypeUrl { get; }
 [Obsolete ("Use the 'NSPasteboardType' enum instead.")]
 public static Foundation.NSString PasteboardTypeTextFinderOptions { get; }

New Type: AppKit.NSAttributedStringDocumentReadingOptions

public class NSAttributedStringDocumentReadingOptions : Foundation.DictionaryContainer {
	// constructors
	public NSAttributedStringDocumentReadingOptions ();
	public NSAttributedStringDocumentReadingOptions (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSUrl BaseUrl { get; set; }
	public Foundation.NSStringEncoding? CharacterEncoding { get; set; }
	public Foundation.NSDictionary DefaultAttributes { get; set; }
	public NSAttributedStringDocumentType? DocumentType { get; set; }
	public NSTextScalingType? SourceTextScaling { get; set; }
	public NSTextScalingType? TargetTextScaling { get; set; }
	public string TextEncodingName { get; set; }
	public float? TextSizeMultiplier { get; set; }
	public float? Timeout { get; set; }
	public WebKit.WebPreferences WebPreferences { get; set; }
	public Foundation.NSObject WebResourceLoadDelegate { get; set; }
}

New Type: AppKit.NSAttributedStringDocumentType

[Serializable]
public enum NSAttributedStringDocumentType {
	DocFormat = 5,
	Html = 3,
	MacSimple = 4,
	OfficeOpenXml = 7,
	OpenDocument = 9,
	Plain = 0,
	Rtf = 1,
	Rtfd = 2,
	Unknown = -1,
	WebArchive = 8,
	WordML = 6,
}

New Type: AppKit.NSAttributedStringDocumentTypeExtensions

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

New Type: AppKit.NSPasteboardName

[Serializable]
public enum NSPasteboardName {
	Drag = 4,
	Find = 3,
	Font = 1,
	General = 0,
	Ruler = 2,
}

New Type: AppKit.NSPasteboardNameExtensions

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

New Type: AppKit.NSPasteboardType

[Serializable]
public enum NSPasteboardType {
	CollaborationMetadata = 17,
	Color = 11,
	FileContents = 0,
	FileUrl = 16,
	FindPanelSearchOptions = 18,
	Font = 9,
	Html = 7,
	MultipleTextSelection = 13,
	Pdf = 2,
	Png = 4,
	Rtf = 5,
	Rtfd = 6,
	Ruler = 10,
	Sound = 12,
	String = 1,
	TabularText = 8,
	TextFinderOptions = 14,
	Tiff = 3,
	Url = 15,
}

New Type: AppKit.NSPasteboardTypeExtensions

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

New Type: AppKit.NSPasteboardTypeFindPanelSearchOptionKey

[Serializable]
public enum NSPasteboardTypeFindPanelSearchOptionKey {
	CaseInsensitiveSearch = 0,
	SubstringMatch = 1,
}

New Type: AppKit.NSPasteboardTypeFindPanelSearchOptionKeyExtensions

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

New Type: AppKit.NSPasteboardTypeTextFinderOptionKey

[Serializable]
public enum NSPasteboardTypeTextFinderOptionKey {
	CaseInsensitiveKey = 0,
	MatchingTypeKey = 1,
}

New Type: AppKit.NSPasteboardTypeTextFinderOptionKeyExtensions

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

Namespace AudioToolbox

Type Changed: AudioToolbox.MusicPlayer

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Added methods:

public MusicPlayerStatus GetTime (out double time);
public MusicPlayerStatus SetTime (double time);

Namespace AudioUnit

Type Changed: AudioUnit.AudioComponentDescription

Modified fields:

 ---[MarshalAs]---
 public AudioComponentManufacturerType ComponentManufacturer;
 ---[MarshalAs]---
 public AudioUnitSubType ComponentSubType;
 ---[MarshalAs]---
 public AudioComponentType ComponentType;

Type Changed: AudioUnit.IAUAudioUnitFactory

Modified methods:

-public abstract AUAudioUnit CreateAudioUnit (AudioComponentDescription desc, out Foundation.NSError error)
+public virtual AUAudioUnit CreateAudioUnit (AudioComponentDescription desc, out Foundation.NSError error)

Namespace AuthenticationServices

Type Changed: AuthenticationServices.ASAuthorizationAppleIdCredential

Added property:

public virtual ASUserAgeRange UserAgeRange { get; }

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionLoginConfiguration

Added property:

public virtual ASAuthorizationProviderExtensionUserSecureEnclaveKeyBiometricPolicy UserSecureEnclaveKeyBiometricPolicy { get; set; }

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionRequestOptions

Added value:

UserKeyInvalid = 32,

Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertion

Added property:

public virtual bool AppId { get; }

Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest

Added property:

public virtual string AppId { get; set; }

Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialRegistration

Added property:

public virtual ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport[] Transports { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASCredentialIdentityStore

Added methods:

public virtual void GetCredentialIdentities (ASCredentialServiceIdentifier serviceIdentifier, ASCredentialIdentityTypes credentialIdentityTypes, ASCredentialIdentityStoreGetCredentialIdentitiesHandler completion);
public virtual System.Threading.Tasks.Task<IASCredentialIdentity[]> GetCredentialIdentitiesAsync (ASCredentialServiceIdentifier serviceIdentifier, ASCredentialIdentityTypes credentialIdentityTypes);

Type Changed: AuthenticationServices.ASWebAuthenticationSession

Added constructor:

public ASWebAuthenticationSession (Foundation.NSUrl url, ASWebAuthenticationSessionCallback callback, ASWebAuthenticationSessionCompletionHandler completionHandler);

Added property:

public virtual Foundation.NSDictionary AdditionalHeaderFields { get; set; }

Type Changed: AuthenticationServices.ASWebAuthenticationSessionRequest

Added properties:

public virtual Foundation.NSDictionary AdditionalHeaderFields { get; }
public virtual ASWebAuthenticationSessionCallback Callback { get; }

Type Changed: AuthenticationServices.IASAuthorizationControllerDelegate

Added methods:

public virtual void DidComplete (ASAuthorizationController controller, ASAuthorization authorization);
public virtual void DidComplete (ASAuthorizationController controller, Foundation.NSError error);

Type Changed: AuthenticationServices.IASAuthorizationControllerPresentationContextProviding

Modified methods:

-public abstract AppKit.NSWindow GetPresentationAnchor (ASAuthorizationController controller)
+public virtual AppKit.NSWindow GetPresentationAnchor (ASAuthorizationController controller)

Type Changed: AuthenticationServices.IASAuthorizationProviderExtensionAuthorizationRequestHandler

Modified methods:

-public abstract void BeginAuthorization (ASAuthorizationProviderExtensionAuthorizationRequest request)
+public virtual void BeginAuthorization (ASAuthorizationProviderExtensionAuthorizationRequest request)

Added method:

public virtual void CancelAuthorization (ASAuthorizationProviderExtensionAuthorizationRequest request);

Type Changed: AuthenticationServices.IASAuthorizationProviderExtensionRegistrationHandler

Added properties:

public virtual ASAuthorizationProviderExtensionPlatformSSOProtocolVersion ProtocolVersion { get; }
public virtual ASAuthorizationProviderExtensionSupportedGrantTypes SupportedGrantTypes { get; }

Modified methods:

-public abstract void BeginDeviceRegistration (ASAuthorizationProviderExtensionLoginManager loginManager, ASAuthorizationProviderExtensionRequestOptions options, System.Action%LESSERTHANREPLACEMENT%ASAuthorizationProviderExtensionRegistrationResult%GREATERTHANREPLACEMENT% handler)
+public virtual void BeginDeviceRegistration (ASAuthorizationProviderExtensionLoginManager loginManager, ASAuthorizationProviderExtensionRequestOptions options, System.Action%LESSERTHANREPLACEMENT%ASAuthorizationProviderExtensionRegistrationResult%GREATERTHANREPLACEMENT% handler)
-public abstract void BeginUserRegistration (ASAuthorizationProviderExtensionLoginManager loginManager, string userName, ASAuthorizationProviderExtensionAuthenticationMethod authenticationMethod, ASAuthorizationProviderExtensionRequestOptions options, System.Action%LESSERTHANREPLACEMENT%ASAuthorizationProviderExtensionRegistrationResult%GREATERTHANREPLACEMENT% handler)
+public virtual void BeginUserRegistration (ASAuthorizationProviderExtensionLoginManager loginManager, string userName, ASAuthorizationProviderExtensionAuthenticationMethod authenticationMethod, ASAuthorizationProviderExtensionRequestOptions options, System.Action%LESSERTHANREPLACEMENT%ASAuthorizationProviderExtensionRegistrationResult%GREATERTHANREPLACEMENT% handler)

Added methods:

public virtual void RegistrationDidCancel ();
public virtual void RegistrationDidComplete ();

Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialAssertion

Modified properties:

-public abstract Foundation.NSData RawAuthenticatorData { get; }
+public virtual Foundation.NSData RawAuthenticatorData { get; }
-public abstract Foundation.NSData Signature { get; }
+public virtual Foundation.NSData Signature { get; }
-public abstract Foundation.NSData UserId { get; }
+public virtual Foundation.NSData UserId { get; }

Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialAssertionRequest

Modified properties:

-public abstract IASAuthorizationPublicKeyCredentialDescriptor[] AllowedCredentials { get; set; }
+public virtual IASAuthorizationPublicKeyCredentialDescriptor[] AllowedCredentials { get; set; }
-public abstract Foundation.NSData Challenge { get; set; }
+public virtual Foundation.NSData Challenge { get; set; }
-public abstract string RelyingPartyIdentifier { get; set; }
+public virtual string RelyingPartyIdentifier { get; set; }
-public abstract Foundation.NSString UserVerificationPreference { get; set; }
+public virtual Foundation.NSString UserVerificationPreference { get; set; }

Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialDescriptor

Modified properties:

-public abstract Foundation.NSData CredentialId { get; set; }
+public virtual Foundation.NSData CredentialId { get; set; }

Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialRegistration

Modified properties:

-public abstract Foundation.NSData RawAttestationObject { get; }
+public virtual Foundation.NSData RawAttestationObject { get; }

Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialRegistrationRequest

Modified properties:

-public abstract Foundation.NSString AttestationPreference { get; set; }
+public virtual Foundation.NSString AttestationPreference { get; set; }
-public abstract Foundation.NSData Challenge { get; set; }
+public virtual Foundation.NSData Challenge { get; set; }
-public abstract string DisplayName { get; set; }
+public virtual string DisplayName { get; set; }
-public abstract string Name { get; set; }
+public virtual string Name { get; set; }
-public abstract string RelyingPartyIdentifier { get; }
+public virtual string RelyingPartyIdentifier { get; }
-public abstract Foundation.NSData UserId { get; set; }
+public virtual Foundation.NSData UserId { get; set; }
-public abstract Foundation.NSString UserVerificationPreference { get; set; }
+public virtual Foundation.NSString UserVerificationPreference { get; set; }

Type Changed: AuthenticationServices.IASAuthorizationWebBrowserExternallyAuthenticatableRequest

Modified properties:

-public abstract LocalAuthentication.LAContext AuthenticatedContext { get; set; }
+public virtual LocalAuthentication.LAContext AuthenticatedContext { get; set; }

Type Changed: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest

Modified properties:

-public abstract ASPublicKeyCredentialClientData ClientData { get; }
+public virtual ASPublicKeyCredentialClientData ClientData { get; }
-public abstract bool ShouldShowHybridTransport { get; set; }
+public virtual bool ShouldShowHybridTransport { get; set; }

Type Changed: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider

Modified methods:

-public abstract ASAuthorizationPlatformPublicKeyCredentialAssertionRequest CreateCredentialAssertionRequest (ASPublicKeyCredentialClientData clientData)
+public virtual ASAuthorizationPlatformPublicKeyCredentialAssertionRequest CreateCredentialAssertionRequest (ASPublicKeyCredentialClientData clientData)
-public abstract ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest CreateCredentialRegistrationRequest (ASPublicKeyCredentialClientData clientData, string name, Foundation.NSData userId)
+public virtual ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest CreateCredentialRegistrationRequest (ASPublicKeyCredentialClientData clientData, string name, Foundation.NSData userId)

Type Changed: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest

Modified properties:

-public abstract ASPublicKeyCredentialClientData ClientData { get; }
+public virtual ASPublicKeyCredentialClientData ClientData { get; }
-public abstract ASAuthorizationPlatformPublicKeyCredentialDescriptor[] ExcludedCredentials { get; set; }
+public virtual ASAuthorizationPlatformPublicKeyCredentialDescriptor[] ExcludedCredentials { get; set; }
-public abstract bool ShouldShowHybridTransport { get; set; }
+public virtual bool ShouldShowHybridTransport { get; set; }

Type Changed: AuthenticationServices.IASCredentialIdentity

Modified properties:

-public abstract IntPtr Rank { get; set; }
+public virtual IntPtr Rank { get; set; }
-public abstract string RecordIdentifier { get; }
+public virtual string RecordIdentifier { get; }
-public abstract ASCredentialServiceIdentifier ServiceIdentifier { get; }
+public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; }
-public abstract string User { get; }
+public virtual string User { get; }

Type Changed: AuthenticationServices.IASCredentialRequest

Modified properties:

-public abstract IASCredentialIdentity CredentialIdentity { get; }
+public virtual IASCredentialIdentity CredentialIdentity { get; }
-public abstract ASCredentialRequestType Type { get; }
+public virtual ASCredentialRequestType Type { get; }

Type Changed: AuthenticationServices.IASPublicKeyCredential

Modified properties:

-public abstract Foundation.NSData CredentialId { get; }
+public virtual Foundation.NSData CredentialId { get; }
-public abstract Foundation.NSData RawClientDataJson { get; }
+public virtual Foundation.NSData RawClientDataJson { get; }

Type Changed: AuthenticationServices.IASWebAuthenticationPresentationContextProviding

Modified methods:

-public abstract AppKit.NSWindow GetPresentationAnchor (ASWebAuthenticationSession session)
+public virtual AppKit.NSWindow GetPresentationAnchor (ASWebAuthenticationSession session)

Type Changed: AuthenticationServices.IASWebAuthenticationSessionRequestDelegate

Added methods:

public virtual void DidCancel (ASWebAuthenticationSessionRequest authenticationSessionRequest, Foundation.NSError error);
public virtual void DidComplete (ASWebAuthenticationSessionRequest authenticationSessionRequest, Foundation.NSUrl callbackUrl);

Type Changed: AuthenticationServices.IASWebAuthenticationSessionWebBrowserSessionHandling

Modified methods:

-public abstract void BeginHandlingWebAuthenticationSessionRequest (ASWebAuthenticationSessionRequest request)
+public virtual void BeginHandlingWebAuthenticationSessionRequest (ASWebAuthenticationSessionRequest request)
-public abstract void CancelWebAuthenticationSessionRequest (ASWebAuthenticationSessionRequest request)
+public virtual void CancelWebAuthenticationSessionRequest (ASWebAuthenticationSessionRequest request)

New Type: AuthenticationServices.ASAuthorizationProviderExtensionUserSecureEnclaveKeyBiometricPolicy

[Serializable]
[Flags]
public enum ASAuthorizationProviderExtensionUserSecureEnclaveKeyBiometricPolicy {
	None = 0,
	PasswordFallback = 8,
	ReuseDuringUnlock = 4,
	TouchIdOrWatchAny = 2,
	TouchIdOrWatchCurrentSet = 1,
}

New Type: AuthenticationServices.ASCredentialIdentityStoreGetCredentialIdentitiesHandler

public sealed delegate ASCredentialIdentityStoreGetCredentialIdentitiesHandler : System.MulticastDelegate {
	// constructors
	public ASCredentialIdentityStoreGetCredentialIdentitiesHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (IASCredentialIdentity[] credentialIdentities, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (IASCredentialIdentity[] credentialIdentities);
}

New Type: AuthenticationServices.ASCredentialIdentityTypes

[Serializable]
[Flags]
public enum ASCredentialIdentityTypes {
	All = 0,
	Passkey = 2,
	Password = 1,
}

New Type: AuthenticationServices.ASUserAgeRange

[Serializable]
public enum ASUserAgeRange {
	Child = 1,
	NotChild = 2,
	Unknown = 0,
}

New Type: AuthenticationServices.ASWebAuthenticationSessionCallback

public class ASWebAuthenticationSessionCallback : Foundation.NSObject {
	// constructors
	protected ASWebAuthenticationSessionCallback (Foundation.NSObjectFlag t);
	protected ASWebAuthenticationSessionCallback (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static ASWebAuthenticationSessionCallback Create (string customScheme);
	public static ASWebAuthenticationSessionCallback Create (string httpsHost, string path);
	public virtual bool MatchesUrl (Foundation.NSUrl url);
}

New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialAssertionRequest

public interface IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialAssertionRequest : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual ASPublicKeyCredentialClientData ClientData { get; }
}

New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialProvider

public interface IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialProvider : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest CreateCredentialAssertionRequest (ASPublicKeyCredentialClientData clientData);
	public virtual ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest CreateCredentialRegistrationRequest (ASPublicKeyCredentialClientData clientData, string displayName, string name, Foundation.NSData userId);
}

New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialRegistrationRequest

public interface IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialRegistrationRequest : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual ASPublicKeyCredentialClientData ClientData { get; }
}

Namespace AutomaticAssessmentConfiguration

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentApplication

Added constructors:

public AEAssessmentApplication (string bundleIdentifier);
public AEAssessmentApplication (string bundleIdentifier, string TeamIdentifier);

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentErrorCode

Added values:

ConfigurationUpdatesNotSupported = 4,
MultipleParticipantsNotSupported = 3,

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentSession

Added properties:

public static bool SupportsConfigurationUpdates { get; }
public static bool SupportsMultipleParticipants { get; }

Type Changed: AutomaticAssessmentConfiguration.IAEAssessmentSessionDelegate

Added methods:

public virtual void DidBegin (AEAssessmentSession session);
public virtual void DidEnd (AEAssessmentSession session);
public virtual void DidUpdate (AEAssessmentSession session);
public virtual void FailedToBegin (AEAssessmentSession session, Foundation.NSError error);
public virtual void FailedToUpdate (AEAssessmentSession session, AEAssessmentConfiguration configuration, Foundation.NSError error);
public virtual void WasInterrupted (AEAssessmentSession session, Foundation.NSError error);

Namespace BackgroundAssets

Type Changed: BackgroundAssets.IBADownloadManagerDelegate

Added methods:

public virtual void DidBegin (BADownload download);
public virtual void DidPause (BADownload download);
public virtual void DidReceiveChallenge (BADownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
public virtual void DidWriteBytes (BADownload download, long bytesWritten, long totalBytesWritten, long totalExpectedBytes);
public virtual void Failed (BADownload download, Foundation.NSError error);
public virtual void Finished (BADownload download, Foundation.NSUrl fileUrl);

Type Changed: BackgroundAssets.IBADownloaderExtension

Added methods:

public virtual void DidReceiveChallenge (BADownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
public virtual void Failed (BADownload download, Foundation.NSError error);
public virtual void Finished (BADownload download, Foundation.NSUrl fileUrl);
public virtual Foundation.NSSet<BADownload> GetDownloads (BAContentRequest contentRequest, Foundation.NSUrl manifestUrl, BAAppExtensionInfo extensionInfo);
public virtual void WillTerminate ();

Namespace ClassKit

Type Changed: ClassKit.ICLSContextProvider

Modified methods:

-public abstract void UpdateDescendants (CLSContext context, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completion)
+public virtual void UpdateDescendants (CLSContext context, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completion)

Type Changed: ClassKit.ICLSDataStoreDelegate

Modified methods:

-public abstract CLSContext CreateContext (string identifier, CLSContext parentContext, string[] parentIdentifierPath)
+public virtual CLSContext CreateContext (string identifier, CLSContext parentContext, string[] parentIdentifierPath)

Namespace CloudKit

Type Changed: CloudKit.ICKSyncEngineDelegate

Modified methods:

-public abstract void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event)
+public virtual void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event)
-public abstract CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context)
+public virtual CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context)

Added method:

public virtual CKSyncEngineFetchChangesOptions SyncEngine (CKSyncEngine syncEngine, CKSyncEngineFetchChangesContext context);

Namespace Compression

Type Changed: Compression.CompressionAlgorithm

Added values:

Brotli = 2818,
LZBitmap = 1794,

Namespace Contacts

Type Changed: Contacts.ICNChangeHistoryEventVisitor

Modified methods:

-public abstract void AddContact (CNChangeHistoryAddContactEvent event)
+public virtual void AddContact (CNChangeHistoryAddContactEvent event)
-public abstract void DeleteContact (CNChangeHistoryDeleteContactEvent event)
+public virtual void DeleteContact (CNChangeHistoryDeleteContactEvent event)
-public abstract void DropEverything (CNChangeHistoryDropEverythingEvent event)
+public virtual void DropEverything (CNChangeHistoryDropEverythingEvent event)
-public abstract void UpdateContact (CNChangeHistoryUpdateContactEvent event)
+public virtual void UpdateContact (CNChangeHistoryUpdateContactEvent event)

Added methods:

public virtual void AddGroup (CNChangeHistoryAddGroupEvent event);
public virtual void AddMemberToGroup (CNChangeHistoryAddMemberToGroupEvent event);
public virtual void AddSubgroupToGroup (CNChangeHistoryAddSubgroupToGroupEvent event);
public virtual void DeleteGroup (CNChangeHistoryDeleteGroupEvent event);
public virtual void RemoveMemberFromGroup (CNChangeHistoryRemoveMemberFromGroupEvent event);
public virtual void RemoveSubgroupFromGroup (CNChangeHistoryRemoveSubgroupFromGroupEvent event);
public virtual void UpdateGroup (CNChangeHistoryUpdateGroupEvent event);

Namespace ContactsUI

Type Changed: ContactsUI.ICNContactPickerDelegate

Added methods:

public virtual void ContactPropertySelected (CNContactPicker picker, Contacts.CNContactProperty contactProperty);
public virtual void ContactSelected (CNContactPicker picker, Contacts.CNContact contact);
public virtual void DidClose (CNContactPicker picker);
public virtual void WillClose (CNContactPicker picker);

Namespace CoreAnimation

Type Changed: CoreAnimation.ICAAction

Modified methods:

-public abstract void RunAction (string eventKey, Foundation.NSObject obj, Foundation.NSDictionary arguments)
+public virtual void RunAction (string eventKey, Foundation.NSObject obj, Foundation.NSDictionary arguments)

Type Changed: CoreAnimation.ICAAnimationDelegate

Added methods:

public virtual void AnimationStarted (CAAnimation anim);
public virtual void AnimationStopped (CAAnimation anim, bool finished);

Type Changed: CoreAnimation.ICALayerDelegate

Added methods:

public virtual Foundation.NSObject ActionForLayer (CALayer layer, string eventKey);
public virtual void DisplayLayer (CALayer layer);
public virtual void DrawLayer (CALayer layer, CoreGraphics.CGContext context);
public virtual void LayoutSublayersOfLayer (CALayer layer);
public virtual void WillDrawLayer (CALayer layer);

Type Changed: CoreAnimation.ICAMediaTiming

Modified properties:

-public abstract bool AutoReverses { get; set; }
+public virtual bool AutoReverses { get; set; }
-public abstract double BeginTime { get; set; }
+public virtual double BeginTime { get; set; }
-public abstract double Duration { get; set; }
+public virtual double Duration { get; set; }
-public abstract string FillMode { get; set; }
+public virtual string FillMode { get; set; }
-public abstract float RepeatCount { get; set; }
+public virtual float RepeatCount { get; set; }
-public abstract double RepeatDuration { get; set; }
+public virtual double RepeatDuration { get; set; }
-public abstract float Speed { get; set; }
+public virtual float Speed { get; set; }
-public abstract double TimeOffset { get; set; }
+public virtual double TimeOffset { get; set; }

Type Changed: CoreAnimation.ICAMetalDrawable

Modified properties:

-public abstract CAMetalLayer Layer { get; }
+public virtual CAMetalLayer Layer { get; }
-public abstract Metal.IMTLTexture Texture { get; }
+public virtual Metal.IMTLTexture Texture { get; }

Namespace CoreAudioKit

Type Changed: CoreAudioKit.IAUCustomViewPersistentData

Modified properties:

-public abstract Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% CustomViewPersistentData { get; set; }
+public virtual Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% CustomViewPersistentData { get; set; }

Namespace CoreBluetooth

Type Changed: CoreBluetooth.ICBCentralManagerDelegate

Modified methods:

-public abstract void UpdatedState (CBCentralManager central)
+public virtual void UpdatedState (CBCentralManager central)

Added methods:

public virtual void ConnectedPeripheral (CBCentralManager central, CBPeripheral peripheral);
public virtual void DidDisconnectPeripheral (CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);
public virtual void DisconnectedPeripheral (CBCentralManager central, CBPeripheral peripheral, Foundation.NSError error);
public virtual void DiscoveredPeripheral (CBCentralManager central, CBPeripheral peripheral, Foundation.NSDictionary advertisementData, Foundation.NSNumber RSSI);
public virtual void FailedToConnectPeripheral (CBCentralManager central, CBPeripheral peripheral, Foundation.NSError error);
public virtual void WillRestoreState (CBCentralManager central, Foundation.NSDictionary dict);

Type Changed: CoreBluetooth.ICBPeripheralDelegate

Added methods:

public virtual void DidOpenL2CapChannel (CBPeripheral peripheral, CBL2CapChannel channel, Foundation.NSError error);
public virtual void DiscoveredCharacteristics (CBPeripheral peripheral, CBService service, Foundation.NSError error);
public virtual void DiscoveredDescriptor (CBPeripheral peripheral, CBCharacteristic characteristic, Foundation.NSError error);
public virtual void DiscoveredIncludedService (CBPeripheral peripheral, CBService service, Foundation.NSError error);
public virtual void DiscoveredService (CBPeripheral peripheral, Foundation.NSError error);
public virtual void IsReadyToSendWriteWithoutResponse (CBPeripheral peripheral);
public virtual void ModifiedServices (CBPeripheral peripheral, CBService[] services);
public virtual void RssiRead (CBPeripheral peripheral, Foundation.NSNumber rssi, Foundation.NSError error);
public virtual void RssiUpdated (CBPeripheral peripheral, Foundation.NSError error);
public virtual void UpdatedCharacterteristicValue (CBPeripheral peripheral, CBCharacteristic characteristic, Foundation.NSError error);
public virtual void UpdatedName (CBPeripheral peripheral);
public virtual void UpdatedNotificationState (CBPeripheral peripheral, CBCharacteristic characteristic, Foundation.NSError error);
public virtual void UpdatedValue (CBPeripheral peripheral, CBDescriptor descriptor, Foundation.NSError error);
public virtual void WroteCharacteristicValue (CBPeripheral peripheral, CBCharacteristic characteristic, Foundation.NSError error);
public virtual void WroteDescriptorValue (CBPeripheral peripheral, CBDescriptor descriptor, Foundation.NSError error);

Type Changed: CoreBluetooth.ICBPeripheralManagerDelegate

Modified methods:

-public abstract void StateUpdated (CBPeripheralManager peripheral)
+public virtual void StateUpdated (CBPeripheralManager peripheral)

Added methods:

public virtual void AdvertisingStarted (CBPeripheralManager peripheral, Foundation.NSError error);
public virtual void CharacteristicSubscribed (CBPeripheralManager peripheral, CBCentral central, CBCharacteristic characteristic);
public virtual void CharacteristicUnsubscribed (CBPeripheralManager peripheral, CBCentral central, CBCharacteristic characteristic);
public virtual void DidOpenL2CapChannel (CBPeripheralManager peripheral, CBL2CapChannel channel, Foundation.NSError error);
public virtual void DidPublishL2CapChannel (CBPeripheralManager peripheral, ushort psm, Foundation.NSError error);
public virtual void DidUnpublishL2CapChannel (CBPeripheralManager peripheral, ushort psm, Foundation.NSError error);
public virtual void ReadRequestReceived (CBPeripheralManager peripheral, CBATTRequest request);
public virtual void ReadyToUpdateSubscribers (CBPeripheralManager peripheral);
public virtual void ServiceAdded (CBPeripheralManager peripheral, CBService service, Foundation.NSError error);
public virtual void WillRestoreState (CBPeripheralManager peripheral, Foundation.NSDictionary dict);
public virtual void WriteRequestsReceived (CBPeripheralManager peripheral, CBATTRequest[] requests);

Namespace CoreGraphics

Type Changed: CoreGraphics.CGEvent

Modified properties:

-public long MouseEventButtonNumber { get; set; }
+public long MouseEventButtonNumber { get; }
-public long MouseEventClickState { get; set; }
+public long MouseEventClickState { get; }
-public long MouseEventDeltaX { get; set; }
+public long MouseEventDeltaX { get; }
-public long MouseEventDeltaY { get; set; }
+public long MouseEventDeltaY { get; }
-public bool MouseEventInstantMouser { get; set; }
+public bool MouseEventInstantMouser { get; }
-public long MouseEventNumber { get; set; }
+public long MouseEventNumber { get; }
-public double MouseEventPressure { get; set; }
+public double MouseEventPressure { get; }
-public long MouseEventSubtype { get; set; }
+public long MouseEventSubtype { get; }

Added methods:

public static CoreFoundation.CFMachPort CreateTap (int pid, CGEventTapPlacement place, CGEventTapOptions options, CGEventMask mask, CGEvent.CGEventTapCallback callback, IntPtr data);
public double GetDoubleValueField (CGEventField field);
public long GetLongValueField (CGEventField field);
public void PostToPSN (IntPtr processSerialNumber);
public void PostToPid (int pid);
public static void PostToPid (CGEvent evt, int pid);
public void SetValueField (CGEventField field, double value);
public void SetValueField (CGEventField field, long value);

New Type: CoreGraphics.CGEventField

[Serializable]
public enum CGEventField {
	EventSourceGroupId = 44,
	EventSourceStateId = 45,
	EventSourceUnixProcessId = 41,
	EventSourceUserData = 42,
	EventSourceUserId = 43,
	EventTargetProcessSerialNumber = 39,
	EventTargetUnixProcessId = 40,
	EventUnacceleratedPointerMovementX = 170,
	EventUnacceleratedPointerMovementY = 171,
	EventWindowUnderMousePointer = 91,
	EventWindowUnderMousePointerThatCanHandleThisEvent = 92,
	KeyboardEventAutorepeat = 8,
	KeyboardEventKeyboardType = 10,
	KeyboardEventKeycode = 9,
	MouseEventButtonNumber = 3,
	MouseEventClickState = 1,
	MouseEventDeltaX = 4,
	MouseEventDeltaY = 5,
	MouseEventInstantMouser = 6,
	MouseEventNumber = 0,
	MouseEventPressure = 2,
	MouseEventSubtype = 7,
	ScrollWheelEventDeltaAxis1 = 11,
	ScrollWheelEventDeltaAxis2 = 12,
	ScrollWheelEventDeltaAxis3 = 13,
	ScrollWheelEventFixedPtDeltaAxis1 = 93,
	ScrollWheelEventFixedPtDeltaAxis2 = 94,
	ScrollWheelEventFixedPtDeltaAxis3 = 95,
	ScrollWheelEventInstantMouser = 14,
	ScrollWheelEventIsContinuous = 88,
	ScrollWheelEventMomentumPhase = 123,
	ScrollWheelEventPointDeltaAxis1 = 96,
	ScrollWheelEventPointDeltaAxis2 = 97,
	ScrollWheelEventPointDeltaAxis3 = 98,
	ScrollWheelEventScrollCount = 100,
	ScrollWheelEventScrollPhase = 99,
	TabletEventDeviceId = 24,
	TabletEventPointButtons = 18,
	TabletEventPointPressure = 19,
	TabletEventPointX = 15,
	TabletEventPointY = 16,
	TabletEventPointZ = 17,
	TabletEventRotation = 22,
	TabletEventTangentialPressure = 23,
	TabletEventTiltX = 20,
	TabletEventTiltY = 21,
	TabletEventVendor1 = 25,
	TabletEventVendor2 = 26,
	TabletEventVendor3 = 27,
	TabletProximityEventCapabilityMask = 36,
	TabletProximityEventDeviceId = 31,
	TabletProximityEventEnterProximity = 38,
	TabletProximityEventPointerId = 30,
	TabletProximityEventPointerType = 37,
	TabletProximityEventSystemTabletId = 32,
	TabletProximityEventTabletId = 29,
	TabletProximityEventVendorId = 28,
	TabletProximityEventVendorPointerSerialNumber = 34,
	TabletProximityEventVendorPointerType = 33,
	TabletProximityEventVendorUniqueId = 35,
}

New Type: CoreGraphics.CGSession

public static class CGSession {
	// methods
	public static CGSessionProperties GetProperties ();
}

New Type: CoreGraphics.CGSessionKeys

public static class CGSessionKeys {
	// properties
	public static Foundation.NSString ConsoleSetKey { get; }
	public static Foundation.NSString LoginDoneKey { get; }
	public static Foundation.NSString OnConsoleKey { get; }
	public static Foundation.NSString UserIdKey { get; }
	public static Foundation.NSString UserNameKey { get; }
}

New Type: CoreGraphics.CGSessionProperties

public class CGSessionProperties : Foundation.DictionaryContainer {
	// constructors
	public CGSessionProperties ();
	public CGSessionProperties (Foundation.NSDictionary dictionary);
	// properties
	public uint? ConsoleSet { get; }
	public bool? LoginDone { get; }
	public bool? OnConsole { get; }
	public uint? UserId { get; }
	public string UserName { get; }
}

Namespace CoreImage

Type Changed: CoreImage.ICIAccordionFoldTransitionProtocol

Modified properties:

-public abstract float BottomHeight { get; set; }
+public virtual float BottomHeight { get; set; }
-public abstract float FoldCount { get; set; }
+public virtual float FoldCount { get; set; }
-public abstract float FoldShadowAmount { get; set; }
+public virtual float FoldShadowAmount { get; set; }

Type Changed: CoreImage.ICIAffineClampProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGAffineTransform Transform { get; set; }
+public virtual CoreGraphics.CGAffineTransform Transform { get; set; }

Type Changed: CoreImage.ICIAffineTileProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGAffineTransform Transform { get; set; }
+public virtual CoreGraphics.CGAffineTransform Transform { get; set; }

Type Changed: CoreImage.ICIAreaHistogramProtocol

Modified properties:

-public abstract IntPtr InputCount { get; set; }
+public virtual IntPtr InputCount { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICIAreaLogarithmicHistogramProtocol

Modified properties:

-public abstract IntPtr Count { get; set; }
+public virtual IntPtr Count { get; set; }
-public abstract float MaximumStop { get; set; }
+public virtual float MaximumStop { get; set; }
-public abstract float MinimumStop { get; set; }
+public virtual float MinimumStop { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICIAreaReductionFilterProtocol

Modified properties:

-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIAttributedTextImageGeneratorProtocol

Modified properties:

-public abstract float ScaleFactor { get; set; }
+public virtual float ScaleFactor { get; set; }
-public abstract Foundation.NSAttributedString Text { get; set; }
+public virtual Foundation.NSAttributedString Text { get; set; }

Added property:

public virtual float Padding { get; set; }

Type Changed: CoreImage.ICIAztecCodeGeneratorProtocol

Modified properties:

-public abstract float CorrectionLevel { get; set; }
+public virtual float CorrectionLevel { get; set; }
-public abstract float InputCompactStyle { get; set; }
+public virtual float InputCompactStyle { get; set; }
-public abstract float InputLayers { get; set; }
+public virtual float InputLayers { get; set; }
-public abstract Foundation.NSData Message { get; set; }
+public virtual Foundation.NSData Message { get; set; }

Type Changed: CoreImage.ICIBarcodeGeneratorProtocol

Modified properties:

-public abstract CIBarcodeDescriptor BarcodeDescriptor { get; set; }
+public virtual CIBarcodeDescriptor BarcodeDescriptor { get; set; }

Type Changed: CoreImage.ICIBarsSwipeTransitionProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract float BarOffset { get; set; }
+public virtual float BarOffset { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIBicubicScaleTransformProtocol

Modified properties:

-public abstract float AspectRatio { get; set; }
+public virtual float AspectRatio { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float ParameterB { get; set; }
+public virtual float ParameterB { get; set; }
-public abstract float ParameterC { get; set; }
+public virtual float ParameterC { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICIBlendWithMaskProtocol

Modified properties:

-public abstract CIImage BackgroundImage { get; set; }
+public virtual CIImage BackgroundImage { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIImage MaskImage { get; set; }
+public virtual CIImage MaskImage { get; set; }

Type Changed: CoreImage.ICIBloomProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIBlurredRectangleGeneratorProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract float Sigma { get; set; }
+public virtual float Sigma { get; set; }

Type Changed: CoreImage.ICIBokehBlurProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float RingAmount { get; set; }
+public virtual float RingAmount { get; set; }
-public abstract float RingSize { get; set; }
+public virtual float RingSize { get; set; }
-public abstract float Softness { get; set; }
+public virtual float Softness { get; set; }

Type Changed: CoreImage.ICIBoxBlurProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIBumpDistortionLinearProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICIBumpDistortionProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICICannyEdgeDetectorProtocol

Modified properties:

-public abstract float GaussianSigma { get; set; }
+public virtual float GaussianSigma { get; set; }
-public abstract IntPtr HysteresisPasses { get; set; }
+public virtual IntPtr HysteresisPasses { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract bool Perceptual { get; set; }
+public virtual bool Perceptual { get; set; }
-public abstract float ThresholdHigh { get; set; }
+public virtual float ThresholdHigh { get; set; }
-public abstract float ThresholdLow { get; set; }
+public virtual float ThresholdLow { get; set; }

Type Changed: CoreImage.ICICheckerboardGeneratorProtocol

Modified properties:

-public abstract CIColor Color0 { get; set; }
+public virtual CIColor Color0 { get; set; }
-public abstract CIColor Color1 { get; set; }
+public virtual CIColor Color1 { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICICircleSplashDistortionProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICICircularScreenProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICICircularWrapProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICICmykHalftoneProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract float GrayComponentReplacement { get; set; }
+public virtual float GrayComponentReplacement { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }
-public abstract float UnderColorRemoval { get; set; }
+public virtual float UnderColorRemoval { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICICode128BarcodeGeneratorProtocol

Modified properties:

-public abstract float BarcodeHeight { get; set; }
+public virtual float BarcodeHeight { get; set; }
-public abstract Foundation.NSData Message { get; set; }
+public virtual Foundation.NSData Message { get; set; }
-public abstract float QuietSpace { get; set; }
+public virtual float QuietSpace { get; set; }

Type Changed: CoreImage.ICIColorAbsoluteDifferenceProtocol

Modified properties:

-public abstract CIImage Image2 { get; set; }
+public virtual CIImage Image2 { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIColorClampProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIVector MaxComponents { get; set; }
+public virtual CIVector MaxComponents { get; set; }
-public abstract CIVector MinComponents { get; set; }
+public virtual CIVector MinComponents { get; set; }

Type Changed: CoreImage.ICIColorControlsProtocol

Modified properties:

-public abstract float Brightness { get; set; }
+public virtual float Brightness { get; set; }
-public abstract float Contrast { get; set; }
+public virtual float Contrast { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Saturation { get; set; }
+public virtual float Saturation { get; set; }

Type Changed: CoreImage.ICIColorCrossPolynomialProtocol

Modified properties:

-public abstract CIVector BlueCoefficients { get; set; }
+public virtual CIVector BlueCoefficients { get; set; }
-public abstract CIVector GreenCoefficients { get; set; }
+public virtual CIVector GreenCoefficients { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIVector RedCoefficients { get; set; }
+public virtual CIVector RedCoefficients { get; set; }

Type Changed: CoreImage.ICIColorCubeProtocol

Modified properties:

-public abstract Foundation.NSData CubeData { get; set; }
+public virtual Foundation.NSData CubeData { get; set; }
-public abstract float CubeDimension { get; set; }
+public virtual float CubeDimension { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Added property:

public virtual bool Extrapolate { get; set; }

Type Changed: CoreImage.ICIColorCubeWithColorSpaceProtocol

Modified properties:

-public abstract CoreGraphics.CGColorSpace ColorSpace { get; set; }
+public virtual CoreGraphics.CGColorSpace ColorSpace { get; set; }
-public abstract Foundation.NSData CubeData { get; set; }
+public virtual Foundation.NSData CubeData { get; set; }
-public abstract float CubeDimension { get; set; }
+public virtual float CubeDimension { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Added property:

public virtual bool Extrapolate { get; set; }

Type Changed: CoreImage.ICIColorCubesMixedWithMaskProtocol

Modified properties:

-public abstract CoreGraphics.CGColorSpace ColorSpace { get; set; }
+public virtual CoreGraphics.CGColorSpace ColorSpace { get; set; }
-public abstract Foundation.NSData Cube0Data { get; set; }
+public virtual Foundation.NSData Cube0Data { get; set; }
-public abstract Foundation.NSData Cube1Data { get; set; }
+public virtual Foundation.NSData Cube1Data { get; set; }
-public abstract float CubeDimension { get; set; }
+public virtual float CubeDimension { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIImage MaskImage { get; set; }
+public virtual CIImage MaskImage { get; set; }

Added property:

public virtual bool Extrapolate { get; set; }

Type Changed: CoreImage.ICIColorCurvesProtocol

Modified properties:

-public abstract CoreGraphics.CGColorSpace ColorSpace { get; set; }
+public virtual CoreGraphics.CGColorSpace ColorSpace { get; set; }
-public abstract Foundation.NSData CurvesData { get; set; }
+public virtual Foundation.NSData CurvesData { get; set; }
-public abstract CIVector CurvesDomain { get; set; }
+public virtual CIVector CurvesDomain { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIColorInvertProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIColorMapProtocol

Modified properties:

-public abstract CIImage GradientImage { get; set; }
+public virtual CIImage GradientImage { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIColorMatrixProtocol

Modified properties:

-public abstract CIVector AVector { get; set; }
+public virtual CIVector AVector { get; set; }
-public abstract CIVector BVector { get; set; }
+public virtual CIVector BVector { get; set; }
-public abstract CIVector BiasVector { get; set; }
+public virtual CIVector BiasVector { get; set; }
-public abstract CIVector GVector { get; set; }
+public virtual CIVector GVector { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIVector RVector { get; set; }
+public virtual CIVector RVector { get; set; }

Type Changed: CoreImage.ICIColorMonochromeProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }

Type Changed: CoreImage.ICIColorPolynomialProtocol

Modified properties:

-public abstract CIVector AlphaCoefficients { get; set; }
+public virtual CIVector AlphaCoefficients { get; set; }
-public abstract CIVector BlueCoefficients { get; set; }
+public virtual CIVector BlueCoefficients { get; set; }
-public abstract CIVector GreenCoefficients { get; set; }
+public virtual CIVector GreenCoefficients { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIVector RedCoefficients { get; set; }
+public virtual CIVector RedCoefficients { get; set; }

Type Changed: CoreImage.ICIColorPosterizeProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Levels { get; set; }
+public virtual float Levels { get; set; }

Type Changed: CoreImage.ICIColorThresholdOtsuProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIColorThresholdProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Threshold { get; set; }
+public virtual float Threshold { get; set; }

Type Changed: CoreImage.ICIComicEffectProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICICompositeOperationProtocol

Modified properties:

-public abstract CIImage BackgroundImage { get; set; }
+public virtual CIImage BackgroundImage { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIConvertLabProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract bool Normalize { get; set; }
+public virtual bool Normalize { get; set; }

Type Changed: CoreImage.ICIConvolutionProtocol

Modified properties:

-public abstract float Bias { get; set; }
+public virtual float Bias { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIVector Weights { get; set; }
+public virtual CIVector Weights { get; set; }

Type Changed: CoreImage.ICICopyMachineTransitionProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CoreGraphics.CGRect Extent { get; set; }
+public virtual CoreGraphics.CGRect Extent { get; set; }
-public abstract float Opacity { get; set; }
+public virtual float Opacity { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICICoreMLModelProtocol

Modified properties:

-public abstract float HeadIndex { get; set; }
+public virtual float HeadIndex { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreML.MLModel Model { get; set; }
+public virtual CoreML.MLModel Model { get; set; }
-public abstract bool SoftmaxNormalization { get; set; }
+public virtual bool SoftmaxNormalization { get; set; }

Type Changed: CoreImage.ICICrystallizeProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIDepthOfFieldProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint0 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint0 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint1 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint1 { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Saturation { get; set; }
+public virtual float Saturation { get; set; }
-public abstract float UnsharpMaskIntensity { get; set; }
+public virtual float UnsharpMaskIntensity { get; set; }
-public abstract float UnsharpMaskRadius { get; set; }
+public virtual float UnsharpMaskRadius { get; set; }

Type Changed: CoreImage.ICIDepthToDisparityProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIDiscBlurProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIDisintegrateWithMaskTransitionProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputShadowOffset { get; set; }
+public virtual CoreGraphics.CGPoint InputShadowOffset { get; set; }
-public abstract CIImage MaskImage { get; set; }
+public virtual CIImage MaskImage { get; set; }
-public abstract float ShadowDensity { get; set; }
+public virtual float ShadowDensity { get; set; }
-public abstract float ShadowRadius { get; set; }
+public virtual float ShadowRadius { get; set; }

Type Changed: CoreImage.ICIDisparityToDepthProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIDisplacementDistortionProtocol

Modified properties:

-public abstract CIImage DisplacementImage { get; set; }
+public virtual CIImage DisplacementImage { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICIDitherProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }

Type Changed: CoreImage.ICIDocumentEnhancerProtocol

Modified properties:

-public abstract float Amount { get; set; }
+public virtual float Amount { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIDotScreenProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIDrosteProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGPoint InputInsetPoint0 { get; set; }
+public virtual CoreGraphics.CGPoint InputInsetPoint0 { get; set; }
-public abstract CoreGraphics.CGPoint InputInsetPoint1 { get; set; }
+public virtual CoreGraphics.CGPoint InputInsetPoint1 { get; set; }
-public abstract float Periodicity { get; set; }
+public virtual float Periodicity { get; set; }
-public abstract float Rotation { get; set; }
+public virtual float Rotation { get; set; }
-public abstract float Strands { get; set; }
+public virtual float Strands { get; set; }
-public abstract float Zoom { get; set; }
+public virtual float Zoom { get; set; }

Type Changed: CoreImage.ICIEdgePreserveUpsampleProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float LumaSigma { get; set; }
+public virtual float LumaSigma { get; set; }
-public abstract CIImage SmallImage { get; set; }
+public virtual CIImage SmallImage { get; set; }
-public abstract float SpatialSigma { get; set; }
+public virtual float SpatialSigma { get; set; }

Type Changed: CoreImage.ICIEdgeWorkProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIEdgesProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }

Type Changed: CoreImage.ICIEightfoldReflectedTileProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIExposureAdjustProtocol

Modified properties:

-public abstract float EV { get; set; }
+public virtual float EV { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIFalseColorProtocol

Modified properties:

-public abstract CIColor Color0 { get; set; }
+public virtual CIColor Color0 { get; set; }
-public abstract CIColor Color1 { get; set; }
+public virtual CIColor Color1 { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIFilterConstructor

Modified methods:

-public abstract CIFilter FilterWithName (string name)
+public virtual CIFilter FilterWithName (string name)

Type Changed: CoreImage.ICIFilterProtocol

Modified properties:

-public abstract CIImage OutputImage { get; }
+public virtual CIImage OutputImage { get; }

Added method:

public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetCustomAttributes<T> ();

Type Changed: CoreImage.ICIFlashTransitionProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract float FadeThreshold { get; set; }
+public virtual float FadeThreshold { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract float MaxStriationRadius { get; set; }
+public virtual float MaxStriationRadius { get; set; }
-public abstract float StriationContrast { get; set; }
+public virtual float StriationContrast { get; set; }
-public abstract float StriationStrength { get; set; }
+public virtual float StriationStrength { get; set; }

Type Changed: CoreImage.ICIFourCoordinateGeometryFilterProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputBottomLeft { get; set; }
+public virtual CoreGraphics.CGPoint InputBottomLeft { get; set; }
-public abstract CoreGraphics.CGPoint InputBottomRight { get; set; }
+public virtual CoreGraphics.CGPoint InputBottomRight { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGPoint InputTopLeft { get; set; }
+public virtual CoreGraphics.CGPoint InputTopLeft { get; set; }
-public abstract CoreGraphics.CGPoint InputTopRight { get; set; }
+public virtual CoreGraphics.CGPoint InputTopRight { get; set; }

Type Changed: CoreImage.ICIFourfoldReflectedTileProtocol

Modified properties:

-public abstract float AcuteAngle { get; set; }
+public virtual float AcuteAngle { get; set; }
-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIFourfoldRotatedTileProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIFourfoldTranslatedTileProtocol

Modified properties:

-public abstract float AcuteAngle { get; set; }
+public virtual float AcuteAngle { get; set; }
-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIGaborGradientsProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIGammaAdjustProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Power { get; set; }
+public virtual float Power { get; set; }

Type Changed: CoreImage.ICIGaussianBlurProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIGaussianGradientProtocol

Modified properties:

-public abstract CIColor Color0 { get; set; }
+public virtual CIColor Color0 { get; set; }
-public abstract CIColor Color1 { get; set; }
+public virtual CIColor Color1 { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIGlassDistortionProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }
-public abstract CIImage Texture { get; set; }
+public virtual CIImage Texture { get; set; }

Type Changed: CoreImage.ICIGlassLozengeProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint0 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint0 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint1 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint1 { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Refraction { get; set; }
+public virtual float Refraction { get; set; }

Type Changed: CoreImage.ICIGlideReflectedTileProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIGloomProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIHatchedScreenProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIHeightFieldFromMaskProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIHexagonalPixellateProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICIHighlightShadowAdjustProtocol

Modified properties:

-public abstract float HighlightAmount { get; set; }
+public virtual float HighlightAmount { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float ShadowAmount { get; set; }
+public virtual float ShadowAmount { get; set; }

Type Changed: CoreImage.ICIHistogramDisplayProtocol

Modified properties:

-public abstract float Height { get; set; }
+public virtual float Height { get; set; }
-public abstract float HighLimit { get; set; }
+public virtual float HighLimit { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float LowLimit { get; set; }
+public virtual float LowLimit { get; set; }

Type Changed: CoreImage.ICIHoleDistortionProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIHueAdjustProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIHueSaturationValueGradientProtocol

Modified properties:

-public abstract CoreGraphics.CGColorSpace ColorSpace { get; set; }
+public virtual CoreGraphics.CGColorSpace ColorSpace { get; set; }
-public abstract float Dither { get; set; }
+public virtual float Dither { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Softness { get; set; }
+public virtual float Softness { get; set; }
-public abstract float Value { get; set; }
+public virtual float Value { get; set; }

Type Changed: CoreImage.ICIImageProcessorInput

Modified properties:

-public abstract IntPtr BaseAddress { get; }
+public virtual IntPtr BaseAddress { get; }
-public abstract UIntPtr BytesPerRow { get; }
+public virtual UIntPtr BytesPerRow { get; }
-public abstract CIFormat Format { get; }
+public virtual CIFormat Format { get; }
-public abstract Metal.IMTLTexture MetalTexture { get; }
+public virtual Metal.IMTLTexture MetalTexture { get; }
-public abstract CoreVideo.CVPixelBuffer PixelBuffer { get; }
+public virtual CoreVideo.CVPixelBuffer PixelBuffer { get; }
-public abstract CoreGraphics.CGRect Region { get; }
+public virtual CoreGraphics.CGRect Region { get; }
-public abstract IOSurface.IOSurface Surface { get; }
+public virtual IOSurface.IOSurface Surface { get; }

Added properties:

public virtual ulong Digest { get; }
public virtual UIntPtr RoiTileCount { get; }
public virtual UIntPtr RoiTileIndex { get; }

Type Changed: CoreImage.ICIImageProcessorOutput

Modified properties:

-public abstract IntPtr BaseAddress { get; }
+public virtual IntPtr BaseAddress { get; }
-public abstract UIntPtr BytesPerRow { get; }
+public virtual UIntPtr BytesPerRow { get; }
-public abstract CIFormat Format { get; }
+public virtual CIFormat Format { get; }
-public abstract Metal.IMTLCommandBuffer MetalCommandBuffer { get; }
+public virtual Metal.IMTLCommandBuffer MetalCommandBuffer { get; }
-public abstract Metal.IMTLTexture MetalTexture { get; }
+public virtual Metal.IMTLTexture MetalTexture { get; }
-public abstract CoreVideo.CVPixelBuffer PixelBuffer { get; }
+public virtual CoreVideo.CVPixelBuffer PixelBuffer { get; }
-public abstract CoreGraphics.CGRect Region { get; }
+public virtual CoreGraphics.CGRect Region { get; }
-public abstract IOSurface.IOSurface Surface { get; }
+public virtual IOSurface.IOSurface Surface { get; }

Added property:

public virtual ulong Digest { get; }

Type Changed: CoreImage.ICIImageProvider

Modified methods:

-public abstract void ProvideImageData (IntPtr data, UIntPtr rowbytes, UIntPtr x, UIntPtr y, UIntPtr width, UIntPtr height, Foundation.NSObject info)
+public virtual void ProvideImageData (IntPtr data, UIntPtr rowbytes, UIntPtr x, UIntPtr y, UIntPtr width, UIntPtr height, Foundation.NSObject info)

Type Changed: CoreImage.ICIKMeansProtocol

Modified properties:

-public abstract IntPtr InputCount { get; set; }
+public virtual IntPtr InputCount { get; set; }
-public abstract float InputPasses { get; set; }
+public virtual float InputPasses { get; set; }
-public abstract CIImage Means { get; set; }
+public virtual CIImage Means { get; set; }
-public abstract bool Perceptual { get; set; }
+public virtual bool Perceptual { get; set; }

Type Changed: CoreImage.ICIKaleidoscopeProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract IntPtr InputCount { get; set; }
+public virtual IntPtr InputCount { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIKeystoneCorrectionCombinedProtocol

Modified properties:

-public abstract float FocalLength { get; set; }
+public virtual float FocalLength { get; set; }

Type Changed: CoreImage.ICIKeystoneCorrectionHorizontalProtocol

Modified properties:

-public abstract float FocalLength { get; set; }
+public virtual float FocalLength { get; set; }

Type Changed: CoreImage.ICIKeystoneCorrectionVerticalProtocol

Modified properties:

-public abstract float FocalLength { get; set; }
+public virtual float FocalLength { get; set; }

Type Changed: CoreImage.ICILabDeltaEProtocol

Modified properties:

-public abstract CIImage Image2 { get; set; }
+public virtual CIImage Image2 { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICILanczosScaleTransformProtocol

Modified properties:

-public abstract float AspectRatio { get; set; }
+public virtual float AspectRatio { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICILenticularHaloGeneratorProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract float HaloOverlap { get; set; }
+public virtual float HaloOverlap { get; set; }
-public abstract float HaloRadius { get; set; }
+public virtual float HaloRadius { get; set; }
-public abstract float HaloWidth { get; set; }
+public virtual float HaloWidth { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract float StriationContrast { get; set; }
+public virtual float StriationContrast { get; set; }
-public abstract float StriationStrength { get; set; }
+public virtual float StriationStrength { get; set; }
-public abstract float Time { get; set; }
+public virtual float Time { get; set; }

Type Changed: CoreImage.ICILightTunnelProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Rotation { get; set; }
+public virtual float Rotation { get; set; }

Type Changed: CoreImage.ICILineOverlayProtocol

Modified properties:

-public abstract float Contrast { get; set; }
+public virtual float Contrast { get; set; }
-public abstract float EdgeIntensity { get; set; }
+public virtual float EdgeIntensity { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float NRNoiseLevel { get; set; }
+public virtual float NRNoiseLevel { get; set; }
-public abstract float NRSharpness { get; set; }
+public virtual float NRSharpness { get; set; }
-public abstract float Threshold { get; set; }
+public virtual float Threshold { get; set; }

Type Changed: CoreImage.ICILineScreenProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICILinearGradientProtocol

Modified properties:

-public abstract CIColor Color0 { get; set; }
+public virtual CIColor Color0 { get; set; }
-public abstract CIColor Color1 { get; set; }
+public virtual CIColor Color1 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint0 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint0 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint1 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint1 { get; set; }

Type Changed: CoreImage.ICILinearToSrgbToneCurveProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIMaskToAlphaProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIMaskedVariableBlurProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIImage Mask { get; set; }
+public virtual CIImage Mask { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIMaximumComponentProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIMedianProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIMeshGeneratorProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CIVector[] Mesh { get; set; }
+public virtual CIVector[] Mesh { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIMinimumComponentProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIMixProtocol

Modified properties:

-public abstract float Amount { get; set; }
+public virtual float Amount { get; set; }
-public abstract CIImage BackgroundImage { get; set; }
+public virtual CIImage BackgroundImage { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIModTransitionProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract float Compression { get; set; }
+public virtual float Compression { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIMorphologyGradientProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIMorphologyMaximumProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIMorphologyMinimumProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIMorphologyRectangleMaximumProtocol

Modified properties:

-public abstract float InputHeight { get; set; }
+public virtual float InputHeight { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float InputWidth { get; set; }
+public virtual float InputWidth { get; set; }

Type Changed: CoreImage.ICIMorphologyRectangleMinimumProtocol

Modified properties:

-public abstract float InputHeight { get; set; }
+public virtual float InputHeight { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float InputWidth { get; set; }
+public virtual float InputWidth { get; set; }

Type Changed: CoreImage.ICIMotionBlurProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICINinePartStretchedProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputBreakpoint0 { get; set; }
+public virtual CoreGraphics.CGPoint InputBreakpoint0 { get; set; }
-public abstract CoreGraphics.CGPoint InputBreakpoint1 { get; set; }
+public virtual CoreGraphics.CGPoint InputBreakpoint1 { get; set; }
-public abstract CoreGraphics.CGPoint InputGrowAmount { get; set; }
+public virtual CoreGraphics.CGPoint InputGrowAmount { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICINinePartTiledProtocol

Modified properties:

-public abstract bool FlipYTiles { get; set; }
+public virtual bool FlipYTiles { get; set; }
-public abstract CoreGraphics.CGPoint InputBreakpoint0 { get; set; }
+public virtual CoreGraphics.CGPoint InputBreakpoint0 { get; set; }
-public abstract CoreGraphics.CGPoint InputBreakpoint1 { get; set; }
+public virtual CoreGraphics.CGPoint InputBreakpoint1 { get; set; }
-public abstract CoreGraphics.CGPoint InputGrowAmount { get; set; }
+public virtual CoreGraphics.CGPoint InputGrowAmount { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICINoiseReductionProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float NoiseLevel { get; set; }
+public virtual float NoiseLevel { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }

Type Changed: CoreImage.ICIOpTileProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIPageCurlTransitionProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CIImage BacksideImage { get; set; }
+public virtual CIImage BacksideImage { get; set; }
-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract CIImage ShadingImage { get; set; }
+public virtual CIImage ShadingImage { get; set; }

Type Changed: CoreImage.ICIPageCurlWithShadowTransitionProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CIImage BacksideImage { get; set; }
+public virtual CIImage BacksideImage { get; set; }
-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract CoreGraphics.CGRect InputShadowExtent { get; set; }
+public virtual CoreGraphics.CGRect InputShadowExtent { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float ShadowAmount { get; set; }
+public virtual float ShadowAmount { get; set; }
-public abstract float ShadowSize { get; set; }
+public virtual float ShadowSize { get; set; }

Type Changed: CoreImage.ICIPaletteCentroidProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIImage PaletteImage { get; set; }
+public virtual CIImage PaletteImage { get; set; }
-public abstract bool Perceptual { get; set; }
+public virtual bool Perceptual { get; set; }

Type Changed: CoreImage.ICIPalettizeProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIImage PaletteImage { get; set; }
+public virtual CIImage PaletteImage { get; set; }
-public abstract bool Perceptual { get; set; }
+public virtual bool Perceptual { get; set; }

Type Changed: CoreImage.ICIParallelogramTileProtocol

Modified properties:

-public abstract float AcuteAngle { get; set; }
+public virtual float AcuteAngle { get; set; }
-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIPdf417BarcodeGeneratorProtocol

Modified properties:

-public abstract float InputAlwaysSpecifyCompaction { get; set; }
+public virtual float InputAlwaysSpecifyCompaction { get; set; }
-public abstract float InputCompactStyle { get; set; }
+public virtual float InputCompactStyle { get; set; }
-public abstract float InputCompactionMode { get; set; }
+public virtual float InputCompactionMode { get; set; }
-public abstract float InputCorrectionLevel { get; set; }
+public virtual float InputCorrectionLevel { get; set; }
-public abstract float InputDataColumns { get; set; }
+public virtual float InputDataColumns { get; set; }
-public abstract float InputRows { get; set; }
+public virtual float InputRows { get; set; }
-public abstract float MaxHeight { get; set; }
+public virtual float MaxHeight { get; set; }
-public abstract float MaxWidth { get; set; }
+public virtual float MaxWidth { get; set; }
-public abstract Foundation.NSData Message { get; set; }
+public virtual Foundation.NSData Message { get; set; }
-public abstract float MinHeight { get; set; }
+public virtual float MinHeight { get; set; }
-public abstract float MinWidth { get; set; }
+public virtual float MinWidth { get; set; }
-public abstract float PreferredAspectRatio { get; set; }
+public virtual float PreferredAspectRatio { get; set; }

Type Changed: CoreImage.ICIPersonSegmentationProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract UIntPtr QualityLevel { get; set; }
+public virtual UIntPtr QualityLevel { get; set; }

Type Changed: CoreImage.ICIPerspectiveCorrectionProtocol

Modified properties:

-public abstract bool Crop { get; set; }
+public virtual bool Crop { get; set; }

Type Changed: CoreImage.ICIPerspectiveRotateProtocol

Modified properties:

-public abstract float FocalLength { get; set; }
+public virtual float FocalLength { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Pitch { get; set; }
+public virtual float Pitch { get; set; }
-public abstract float Roll { get; set; }
+public virtual float Roll { get; set; }
-public abstract float Yaw { get; set; }
+public virtual float Yaw { get; set; }

Type Changed: CoreImage.ICIPerspectiveTileProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputBottomLeft { get; set; }
+public virtual CoreGraphics.CGPoint InputBottomLeft { get; set; }
-public abstract CoreGraphics.CGPoint InputBottomRight { get; set; }
+public virtual CoreGraphics.CGPoint InputBottomRight { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGPoint InputTopLeft { get; set; }
+public virtual CoreGraphics.CGPoint InputTopLeft { get; set; }
-public abstract CoreGraphics.CGPoint InputTopRight { get; set; }
+public virtual CoreGraphics.CGPoint InputTopRight { get; set; }

Type Changed: CoreImage.ICIPerspectiveTransformWithExtentProtocol

Modified properties:

-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }

Type Changed: CoreImage.ICIPhotoEffectProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Added property:

public virtual bool Extrapolate { get; set; }

Type Changed: CoreImage.ICIPinchDistortionProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICIPixellateProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }

Type Changed: CoreImage.ICIPointillizeProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIQRCodeGeneratorProtocol

Modified properties:

-public abstract string CorrectionLevel { get; set; }
+public virtual string CorrectionLevel { get; set; }
-public abstract Foundation.NSData Message { get; set; }
+public virtual Foundation.NSData Message { get; set; }

Type Changed: CoreImage.ICIRadialGradientProtocol

Modified properties:

-public abstract CIColor Color0 { get; set; }
+public virtual CIColor Color0 { get; set; }
-public abstract CIColor Color1 { get; set; }
+public virtual CIColor Color1 { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract float Radius0 { get; set; }
+public virtual float Radius0 { get; set; }
-public abstract float Radius1 { get; set; }
+public virtual float Radius1 { get; set; }

Type Changed: CoreImage.ICIRippleTransitionProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }
-public abstract CIImage ShadingImage { get; set; }
+public virtual CIImage ShadingImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICIRoundedRectangleGeneratorProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIRoundedRectangleStrokeGeneratorProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICISaliencyMapProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICISepiaToneProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }

Type Changed: CoreImage.ICIShadedMaterialProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Scale { get; set; }
+public virtual float Scale { get; set; }
-public abstract CIImage ShadingImage { get; set; }
+public virtual CIImage ShadingImage { get; set; }

Type Changed: CoreImage.ICISharpenLuminanceProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }

Type Changed: CoreImage.ICISixfoldReflectedTileProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICISixfoldRotatedTileProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICISmoothLinearGradientProtocol

Modified properties:

-public abstract CIColor Color0 { get; set; }
+public virtual CIColor Color0 { get; set; }
-public abstract CIColor Color1 { get; set; }
+public virtual CIColor Color1 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint0 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint0 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint1 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint1 { get; set; }

Type Changed: CoreImage.ICISobelGradientsProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICISpotColorProtocol

Modified properties:

-public abstract CIColor CenterColor1 { get; set; }
+public virtual CIColor CenterColor1 { get; set; }
-public abstract CIColor CenterColor2 { get; set; }
+public virtual CIColor CenterColor2 { get; set; }
-public abstract CIColor CenterColor3 { get; set; }
+public virtual CIColor CenterColor3 { get; set; }
-public abstract float Closeness1 { get; set; }
+public virtual float Closeness1 { get; set; }
-public abstract float Closeness2 { get; set; }
+public virtual float Closeness2 { get; set; }
-public abstract float Closeness3 { get; set; }
+public virtual float Closeness3 { get; set; }
-public abstract float Contrast1 { get; set; }
+public virtual float Contrast1 { get; set; }
-public abstract float Contrast2 { get; set; }
+public virtual float Contrast2 { get; set; }
-public abstract float Contrast3 { get; set; }
+public virtual float Contrast3 { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIColor ReplacementColor1 { get; set; }
+public virtual CIColor ReplacementColor1 { get; set; }
-public abstract CIColor ReplacementColor2 { get; set; }
+public virtual CIColor ReplacementColor2 { get; set; }
-public abstract CIColor ReplacementColor3 { get; set; }
+public virtual CIColor ReplacementColor3 { get; set; }

Type Changed: CoreImage.ICISpotLightProtocol

Modified properties:

-public abstract float Brightness { get; set; }
+public virtual float Brightness { get; set; }
-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract float Concentration { get; set; }
+public virtual float Concentration { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIVector LightPointsAt { get; set; }
+public virtual CIVector LightPointsAt { get; set; }
-public abstract CIVector LightPosition { get; set; }
+public virtual CIVector LightPosition { get; set; }

Type Changed: CoreImage.ICISrgbToneCurveToLinearProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIStarShineGeneratorProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract float CrossAngle { get; set; }
+public virtual float CrossAngle { get; set; }
-public abstract float CrossOpacity { get; set; }
+public virtual float CrossOpacity { get; set; }
-public abstract float CrossScale { get; set; }
+public virtual float CrossScale { get; set; }
-public abstract float CrossWidth { get; set; }
+public virtual float CrossWidth { get; set; }
-public abstract float Epsilon { get; set; }
+public virtual float Epsilon { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIStraightenProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIStretchCropProtocol

Modified properties:

-public abstract float CenterStretchAmount { get; set; }
+public virtual float CenterStretchAmount { get; set; }
-public abstract float CropAmount { get; set; }
+public virtual float CropAmount { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGPoint InputSize { get; set; }
+public virtual CoreGraphics.CGPoint InputSize { get; set; }

Type Changed: CoreImage.ICIStripesGeneratorProtocol

Modified properties:

-public abstract CIColor Color0 { get; set; }
+public virtual CIColor Color0 { get; set; }
-public abstract CIColor Color1 { get; set; }
+public virtual CIColor Color1 { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract float Sharpness { get; set; }
+public virtual float Sharpness { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICISunbeamsGeneratorProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract float MaxStriationRadius { get; set; }
+public virtual float MaxStriationRadius { get; set; }
-public abstract float StriationContrast { get; set; }
+public virtual float StriationContrast { get; set; }
-public abstract float StriationStrength { get; set; }
+public virtual float StriationStrength { get; set; }
-public abstract float SunRadius { get; set; }
+public virtual float SunRadius { get; set; }
-public abstract float Time { get; set; }
+public virtual float Time { get; set; }

Type Changed: CoreImage.ICISwipeTransitionProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CoreGraphics.CGRect InputExtent { get; set; }
+public virtual CoreGraphics.CGRect InputExtent { get; set; }
-public abstract float Opacity { get; set; }
+public virtual float Opacity { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICITemperatureAndTintProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIVector Neutral { get; set; }
+public virtual CIVector Neutral { get; set; }
-public abstract CIVector TargetNeutral { get; set; }
+public virtual CIVector TargetNeutral { get; set; }

Type Changed: CoreImage.ICITextImageGeneratorProtocol

Modified properties:

-public abstract string FontName { get; set; }
+public virtual string FontName { get; set; }
-public abstract float FontSize { get; set; }
+public virtual float FontSize { get; set; }
-public abstract float ScaleFactor { get; set; }
+public virtual float ScaleFactor { get; set; }
-public abstract string Text { get; set; }
+public virtual string Text { get; set; }

Added property:

public virtual float Padding { get; set; }

Type Changed: CoreImage.ICIThermalProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIToneCurveProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint0 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint0 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint1 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint1 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint2 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint2 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint3 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint3 { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint4 { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint4 { get; set; }

Type Changed: CoreImage.ICITorusLensDistortionProtocol

Modified properties:

-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }
-public abstract float Refraction { get; set; }
+public virtual float Refraction { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICITransitionFilterProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CIImage TargetImage { get; set; }
+public virtual CIImage TargetImage { get; set; }
-public abstract float Time { get; set; }
+public virtual float Time { get; set; }

Type Changed: CoreImage.ICITriangleKaleidoscopeProtocol

Modified properties:

-public abstract float Decay { get; set; }
+public virtual float Decay { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract CoreGraphics.CGPoint InputPoint { get; set; }
+public virtual CoreGraphics.CGPoint InputPoint { get; set; }
-public abstract float Rotation { get; set; }
+public virtual float Rotation { get; set; }
-public abstract float Size { get; set; }
+public virtual float Size { get; set; }

Type Changed: CoreImage.ICITriangleTileProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICITwelvefoldReflectedTileProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Width { get; set; }
+public virtual float Width { get; set; }

Type Changed: CoreImage.ICITwirlDistortionProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIUnsharpMaskProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIVibranceProtocol

Modified properties:

-public abstract float Amount { get; set; }
+public virtual float Amount { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIVignetteEffectProtocol

Modified properties:

-public abstract float Falloff { get; set; }
+public virtual float Falloff { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIVignetteProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Intensity { get; set; }
+public virtual float Intensity { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIVortexDistortionProtocol

Modified properties:

-public abstract float Angle { get; set; }
+public virtual float Angle { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }
-public abstract float Radius { get; set; }
+public virtual float Radius { get; set; }

Type Changed: CoreImage.ICIWhitePointAdjustProtocol

Modified properties:

-public abstract CIColor Color { get; set; }
+public virtual CIColor Color { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIXRayProtocol

Modified properties:

-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Type Changed: CoreImage.ICIZoomBlurProtocol

Modified properties:

-public abstract float Amount { get; set; }
+public virtual float Amount { get; set; }
-public abstract CoreGraphics.CGPoint InputCenter { get; set; }
+public virtual CoreGraphics.CGPoint InputCenter { get; set; }
-public abstract CIImage InputImage { get; set; }
+public virtual CIImage InputImage { get; set; }

Namespace CoreLocation

Type Changed: CoreLocation.ICLLocationManagerDelegate

Added methods:

public virtual void AuthorizationChanged (CLLocationManager manager, CLAuthorizationStatus status);
public virtual void DeferredUpdatesFinished (CLLocationManager manager, Foundation.NSError error);
public virtual void DidChangeAuthorization (CLLocationManager manager);
public virtual void DidDetermineState (CLLocationManager manager, CLRegionState state, CLRegion region);
public virtual void DidFailRangingBeacons (CLLocationManager manager, CLBeaconIdentityConstraint beaconConstraint, Foundation.NSError error);
public virtual void DidRangeBeaconsSatisfyingConstraint (CLLocationManager manager, CLBeacon[] beacons, CLBeaconIdentityConstraint beaconConstraint);
public virtual void DidStartMonitoringForRegion (CLLocationManager manager, CLRegion region);
public virtual void DidVisit (CLLocationManager manager, CLVisit visit);
public virtual void Failed (CLLocationManager manager, Foundation.NSError error);
public virtual void LocationUpdatesPaused (CLLocationManager manager);
public virtual void LocationUpdatesResumed (CLLocationManager manager);
public virtual void LocationsUpdated (CLLocationManager manager, CLLocation[] locations);
public virtual void MonitoringFailed (CLLocationManager manager, CLRegion region, Foundation.NSError error);
public virtual void RegionEntered (CLLocationManager manager, CLRegion region);
public virtual void RegionLeft (CLLocationManager manager, CLRegion region);
public virtual bool ShouldDisplayHeadingCalibration (CLLocationManager manager);
public virtual void UpdatedHeading (CLLocationManager manager, CLHeading newHeading);
public virtual void UpdatedLocation (CLLocationManager manager, CLLocation newLocation, CLLocation oldLocation);

Namespace CoreML

Type Changed: CoreML.IMLBatchProvider

Modified properties:

-public abstract IntPtr Count { get; }
+public virtual IntPtr Count { get; }

Modified methods:

-public abstract IMLFeatureProvider GetFeatures (IntPtr index)
+public virtual IMLFeatureProvider GetFeatures (IntPtr index)

Type Changed: CoreML.IMLCustomLayer

Modified methods:

-public abstract bool EvaluateOnCpu (MLMultiArray[] inputs, MLMultiArray[] outputs, out Foundation.NSError error)
+public virtual bool EvaluateOnCpu (MLMultiArray[] inputs, MLMultiArray[] outputs, out Foundation.NSError error)
-public abstract Foundation.NSArray[] GetOutputShapes (Foundation.NSArray[] inputShapes, out Foundation.NSError error)
+public virtual Foundation.NSArray[] GetOutputShapes (Foundation.NSArray[] inputShapes, out Foundation.NSError error)
-public abstract bool SetWeightData (Foundation.NSData[] weights, out Foundation.NSError error)
+public virtual bool SetWeightData (Foundation.NSData[] weights, out Foundation.NSError error)

Added method:

public virtual bool Encode (Metal.IMTLCommandBuffer commandBuffer, Metal.IMTLTexture[] inputs, Metal.IMTLTexture[] outputs, out Foundation.NSError error);

Type Changed: CoreML.IMLCustomModel

Modified methods:

-public abstract IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error)
+public virtual IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error)

Added methods:

public static T CreateInstance<T> (MLModelDescription modelDescription, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> parameters, out Foundation.NSError error);
public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);

Type Changed: CoreML.IMLFeatureProvider

Modified properties:

-public abstract Foundation.NSSet%LESSERTHANREPLACEMENT%Foundation.NSString%GREATERTHANREPLACEMENT% FeatureNames { get; }
+public virtual Foundation.NSSet%LESSERTHANREPLACEMENT%Foundation.NSString%GREATERTHANREPLACEMENT% FeatureNames { get; }

Modified methods:

-public abstract MLFeatureValue GetFeatureValue (string featureName)
+public virtual MLFeatureValue GetFeatureValue (string featureName)

Type Changed: CoreML.IMLWritable

Modified methods:

-public abstract bool Write (Foundation.NSUrl url, out Foundation.NSError error)
+public virtual bool Write (Foundation.NSUrl url, out Foundation.NSError error)

Type Changed: CoreML.MLModelConfiguration

Added property:

public virtual MLOptimizationHints OptimizationHints { get; set; }

New Type: CoreML.MLComputePlan

public class MLComputePlan : Foundation.NSObject {
	// constructors
	protected MLComputePlan (Foundation.NSObjectFlag t);
	protected MLComputePlan (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MLModelStructure ModelStructure { get; }
	// methods
	public virtual MLComputePlanDeviceUsage ComputeDeviceUsage (MLModelStructureNeuralNetworkLayer neuralNetworkLayer);
	public virtual MLComputePlanDeviceUsage ComputeDeviceUsage (MLModelStructureProgramOperation programOperation);
	public virtual MLComputePlanCost GetEstimatedCost (MLModelStructureProgramOperation programOperation);
	public static void Load (MLModelAsset modelAsset, MLModelConfiguration configuration, System.Action<MLComputePlan,Foundation.NSError> handler);
	public static void Load (Foundation.NSUrl contentsUrl, MLModelConfiguration configuration, System.Action<MLComputePlan,Foundation.NSError> handler);
}

New Type: CoreML.MLComputePlanCost

public class MLComputePlanCost : Foundation.NSObject {
	// constructors
	protected MLComputePlanCost (Foundation.NSObjectFlag t);
	protected MLComputePlanCost (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual double Weight { get; }
}

New Type: CoreML.MLComputePlanDeviceUsage

public class MLComputePlanDeviceUsage : Foundation.NSObject {
	// constructors
	protected MLComputePlanDeviceUsage (Foundation.NSObjectFlag t);
	protected MLComputePlanDeviceUsage (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IMLComputeDeviceProtocol PreferredComputeDevice { get; }
	public virtual IMLComputeDeviceProtocol[] SupportedComputeDevices { get; }
}

New Type: CoreML.MLModelStructure

public class MLModelStructure : Foundation.NSObject {
	// constructors
	protected MLModelStructure (Foundation.NSObjectFlag t);
	protected MLModelStructure (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MLModelStructureNeuralNetwork NeuralNetwork { get; }
	public virtual MLModelStructurePipeline Pipeline { get; }
	public virtual MLModelStructureProgram Program { get; }
	// methods
	public static void Load (MLModelAsset modelAsset, System.Action<MLModelStructure,Foundation.NSError> handler);
	public static void Load (Foundation.NSUrl url, System.Action<MLModelStructure,Foundation.NSError> handler);
}

New Type: CoreML.MLModelStructureNeuralNetwork

public class MLModelStructureNeuralNetwork : Foundation.NSObject {
	// constructors
	protected MLModelStructureNeuralNetwork (Foundation.NSObjectFlag t);
	protected MLModelStructureNeuralNetwork (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MLModelStructureNeuralNetworkLayer[] Layers { get; }
}

New Type: CoreML.MLModelStructureNeuralNetworkLayer

public class MLModelStructureNeuralNetworkLayer : Foundation.NSObject {
	// constructors
	protected MLModelStructureNeuralNetworkLayer (Foundation.NSObjectFlag t);
	protected MLModelStructureNeuralNetworkLayer (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string[] InputNames { get; }
	public virtual string Name { get; }
	public virtual string[] OutputNames { get; }
	public virtual string Type { get; }
}

New Type: CoreML.MLModelStructurePipeline

public class MLModelStructurePipeline : Foundation.NSObject {
	// constructors
	protected MLModelStructurePipeline (Foundation.NSObjectFlag t);
	protected MLModelStructurePipeline (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string[] SubModelNames { get; }
	public virtual MLModelStructure[] SubModels { get; }
}

New Type: CoreML.MLModelStructureProgram

public class MLModelStructureProgram : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgram (Foundation.NSObjectFlag t);
	protected MLModelStructureProgram (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,CoreML.MLModelStructureProgramFunction> Functions { get; }
}

New Type: CoreML.MLModelStructureProgramArgument

public class MLModelStructureProgramArgument : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramArgument (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramArgument (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual MLModelStructureProgramBinding[] Bindings { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CoreML.MLModelStructureProgramBinding

public class MLModelStructureProgramBinding : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramBinding (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramBinding (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string Name { get; }
	public virtual MLModelStructureProgramValue Value { get; }
}

New Type: CoreML.MLModelStructureProgramBlock

public class MLModelStructureProgramBlock : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramBlock (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramBlock (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MLModelStructureProgramNamedValueType[] Inputs { get; }
	public virtual MLModelStructureProgramOperation[] Operations { get; }
	public virtual string[] OutputNames { get; }
}

New Type: CoreML.MLModelStructureProgramFunction

public class MLModelStructureProgramFunction : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramFunction (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramFunction (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual MLModelStructureProgramBlock Block { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MLModelStructureProgramNamedValueType[] Inputs { get; }
}

New Type: CoreML.MLModelStructureProgramNamedValueType

public class MLModelStructureProgramNamedValueType : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramNamedValueType (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramNamedValueType (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string Name { get; }
	public virtual MLModelStructureProgramValueType Type { get; }
}

New Type: CoreML.MLModelStructureProgramOperation

public class MLModelStructureProgramOperation : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramOperation (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual MLModelStructureProgramBlock[] Blocks { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,CoreML.MLModelStructureProgramArgument> Inputs { get; }
	public virtual string OperatorName { get; }
	public virtual MLModelStructureProgramNamedValueType[] Outputs { get; }
}

New Type: CoreML.MLModelStructureProgramValue

public class MLModelStructureProgramValue : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramValue (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramValue (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CoreML.MLModelStructureProgramValueType

public class MLModelStructureProgramValueType : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramValueType (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramValueType (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CoreML.MLOptimizationHints

public class MLOptimizationHints : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MLOptimizationHints ();
	public MLOptimizationHints (Foundation.NSCoder coder);
	protected MLOptimizationHints (Foundation.NSObjectFlag t);
	protected MLOptimizationHints (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MLReshapeFrequencyHint ReshapeFrequency { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreML.MLReshapeFrequencyHint

[Serializable]
public enum MLReshapeFrequencyHint {
	Frequent = 0,
	Infrequent = 1,
}

Namespace CoreMidi

Type Changed: CoreMidi.IMidiCIProfileResponderDelegate

Modified methods:

-public abstract bool ConnectInitiator (Foundation.NSNumber initiatorMuid, MidiCIDeviceInfo deviceInfo)
+public virtual bool ConnectInitiator (Foundation.NSNumber initiatorMuid, MidiCIDeviceInfo deviceInfo)
-public abstract void InitiatorDisconnected (Foundation.NSNumber initiatorMuid)
+public virtual void InitiatorDisconnected (Foundation.NSNumber initiatorMuid)

Added methods:

public virtual void HandleData (MidiCIProfile profile, byte channel, Foundation.NSData inData);
public virtual bool WillSetProfile (MidiCIProfile profile, byte channel, bool shouldEnable);

Type Changed: CoreMidi.MidiDevice

Added property:

public MidiProtocolId ProtocolId { get; set; }

Type Changed: CoreMidi.MidiEndpoint

Added properties:

public MidiProtocolId ProtocolId { get; set; }
public ushort UmpActiveGroupBitmap { get; set; }
public bool UmpCanTransmitGroupless { get; set; }

Type Changed: CoreMidi.MidiEntity

Added properties:

public MidiProtocolId ProtocolId { get; set; }
public ushort UmpActiveGroupBitmap { get; set; }
public bool UmpCanTransmitGroupless { get; set; }

Type Changed: CoreMidi.MidiPacket

Obsoleted properties:

 [Obsolete ("This property may return a pointer to a managed object, and this pointer is never safe to use. Use ByteArray or BytePointer instead.")]
 public IntPtr Bytes { get; }

Added properties:

public byte[] ByteArray { get; }
public IntPtr BytePointer { get; }

Namespace CoreMotion

Type Changed: CoreMotion.ICMHeadphoneMotionManagerDelegate

Added methods:

public virtual void DidConnect (CMHeadphoneMotionManager manager);
public virtual void DidDisconnect (CMHeadphoneMotionManager manager);

Namespace CoreSpotlight

Type Changed: CoreSpotlight.ICSSearchableIndexDelegate

Modified methods:

-public abstract void ReindexAllSearchableItems (CSSearchableIndex searchableIndex, System.Action acknowledgementHandler)
+public virtual void ReindexAllSearchableItems (CSSearchableIndex searchableIndex, System.Action acknowledgementHandler)
-public abstract void ReindexSearchableItems (CSSearchableIndex searchableIndex, string[] identifiers, System.Action acknowledgementHandler)
+public virtual void ReindexSearchableItems (CSSearchableIndex searchableIndex, string[] identifiers, System.Action acknowledgementHandler)

Added methods:

public virtual void DidFinishThrottle (CSSearchableIndex searchableIndex);
public virtual void DidThrottle (CSSearchableIndex searchableIndex);
public virtual Foundation.NSData GetData (CSSearchableIndex searchableIndex, string itemIdentifier, string typeIdentifier, out Foundation.NSError outError);
public virtual Foundation.NSUrl GetFileUrl (CSSearchableIndex searchableIndex, string itemIdentifier, string typeIdentifier, bool inPlace, out Foundation.NSError outError);

Namespace CoreText

Type Changed: CoreText.CTFontDescriptor

Obsoleted methods:

 [Obsolete ("Use 'MatchFontDescriptors (CTFontDescriptor[], NSSet, CTFontDescriptorProgressHandler)' instead.")]
 public static bool MatchFontDescriptors (CTFontDescriptor[] descriptors, Foundation.NSSet mandatoryAttributes, System.Func<CTFontDescriptorMatchingState,System.IntPtr,System.Boolean> progressHandler);

Added method:

public static bool MatchFontDescriptors (CTFontDescriptor[] descriptors, Foundation.NSSet mandatoryAttributes, CTFontDescriptor.CTFontDescriptorProgressHandler progressHandler);

Type Changed: CoreText.CTFontDescriptorAttributes

Added property:

public bool? WeakEnabled { get; set; }

New Type: CoreText.CTFontDescriptorMatchingProgress

public class CTFontDescriptorMatchingProgress : Foundation.DictionaryContainer {
	// constructors
	public CTFontDescriptorMatchingProgress ();
	public CTFontDescriptorMatchingProgress (Foundation.NSDictionary dictionary);
	// properties
	public long? CurrentAssetSize { get; }
	public CTFontDescriptor[] Descriptors { get; }
	public Foundation.NSError Error { get; }
	public double? Percentage { get; }
	public CTFontDescriptor[] Result { get; }
	public CTFontDescriptor SourceDescriptor { get; }
	public long? TotalAssetSize { get; }
	public long? TotalDownloadedSize { get; }
}

Namespace CoreVideo

Type Changed: CoreVideo.CVPixelFormatDescription

Modified base type:

-System.Object
+Foundation.DictionaryContainer

Added constructors:

public CVPixelFormatDescription ();
public CVPixelFormatDescription (Foundation.NSDictionary dictionary);

Obsoleted fields:

 [Obsolete ("Use 'CVPixelFormatKeys.BitsPerBlock' instead.")]
 public static Foundation.NSString BitsPerBlockKey;
 [Obsolete ("Use 'CVPixelFormatKeys.BlackBlock' instead.")]
 public static Foundation.NSString BlackBlockKey;
 [Obsolete ("Use 'CVPixelFormatKeys.BlockHeight' instead.")]
 public static Foundation.NSString BlockHeightKey;
 [Obsolete ("Use 'CVPixelFormatKeys.BlockHorizontalAlignment' instead.")]
 public static Foundation.NSString BlockHorizontalAlignmentKey;
 [Obsolete ("Use 'CVPixelFormatKeys.BlockVerticalAlignment' instead.")]
 public static Foundation.NSString BlockVerticalAlignmentKey;
 [Obsolete ("Use 'CVPixelFormatKeys.BlockWidth' instead.")]
 public static Foundation.NSString BlockWidthKey;
 [Obsolete ("Use 'CVPixelFormatKeys.CGBitmapContextCompatibility' instead.")]
 public static Foundation.NSString CGBitmapContextCompatibilityKey;
 [Obsolete ("Use 'CVPixelFormatKeys.CGBitmapInfo' instead.")]
 public static Foundation.NSString CGBitmapInfoKey;
 [Obsolete ("Use 'CVPixelFormatKeys.CGImageCompatibility' instead.")]
 public static Foundation.NSString CGImageCompatibilityKey;
 [Obsolete ("Use 'CVPixelFormatKeys.CodecType' instead.")]
 public static Foundation.NSString CodecTypeKey;
 [Obsolete ("Use 'CVPixelFormatComponentRangeKeys.FullRange' instead.")]
 public static Foundation.NSString ComponentRangeFullRangeKey;
 [Obsolete ("Use 'CVPixelFormatKeys.ComponentRange' instead.")]
 public static Foundation.NSString ComponentRangeKey;
 [Obsolete ("Use 'CVPixelFormatComponentRangeKeys.VideoRange' instead.")]
 public static Foundation.NSString ComponentRangeVideoRangeKey;
 [Obsolete ("Use 'CVPixelFormatComponentRangeKeys.WideRange' instead.")]
 public static Foundation.NSString ComponentRangeWideRangeKey;
 [Obsolete ("Use 'CVPixelFormatKeys.Constant' instead.")]
 public static Foundation.NSString ConstantKey;
 [Obsolete ("Use 'CVPixelFormatKeys.ContainsGrayscale' instead.")]
 public static Foundation.NSString ContainsGrayscaleKey;
 [Obsolete ("Use 'CVPixelFormatKeys.ContainsRgb' instead.")]
 public static Foundation.NSString ContainsRgb;
 [Obsolete ("Use 'CVPixelFormatKeys.ContainsSenselArray' instead.")]
 public static Foundation.NSString ContainsSenselArray;
 [Obsolete ("Use 'CVPixelFormatKeys.ContainsYCbCr' instead.")]
 public static Foundation.NSString ContainsYCbCr;
 [Obsolete ("Use 'CVPixelFormatKeys.FillExtendedPixelsCallback' instead.")]
 public static Foundation.NSString FillExtendedPixelsCallbackKey;
 [Obsolete ("Use 'CVPixelFormatKeys.FourCCKey' instead.")]
 public static Foundation.NSString FourCCKey;
 [Obsolete ("Use 'CVPixelFormatKeys.HorizontalSubsampling' instead.")]
 public static Foundation.NSString HorizontalSubsamplingKey;
 [Obsolete ("Use 'CVPixelFormatKeys.Name' instead.")]
 public static Foundation.NSString NameKey;
 [Obsolete ("Use 'CVPixelFormatKeys.OpenGLCompatibility' instead.")]
 public static Foundation.NSString OpenGLCompatibilityKey;
 [Obsolete ("Use 'CVPixelFormatKeys.OpenGLFormat' instead.")]
 public static Foundation.NSString OpenGLFormatKey;
 [Obsolete ("Use 'CVPixelFormatKeys.OpenGLInternalFormat' instead.")]
 public static Foundation.NSString OpenGLInternalFormatKey;
 [Obsolete ("Use 'CVPixelFormatKeys.OpenGLType' instead.")]
 public static Foundation.NSString OpenGLTypeKey;
 [Obsolete ("Use 'CVPixelFormatKeys.Planes' instead.")]
 public static Foundation.NSString PlanesKey;
 [Obsolete ("Use 'CVPixelFormatKeys.QDCompatibility' instead.")]
 public static Foundation.NSString QDCompatibilityKey;
 [Obsolete ("Use 'CVPixelFormatKeys.VerticalSubsampling' instead.")]
 public static Foundation.NSString VerticalSubsamplingKey;

Added properties:

public static CVPixelFormatType[] AllPixelFormatTypes { get; }
public int? BitsPerBlock { get; set; }
public Foundation.NSData BlackBlock { get; set; }
public int? BlockHeight { get; set; }
public int? BlockHorizontalAlignment { get; set; }
public int? BlockVerticalAlignment { get; set; }
public int? BlockWidth { get; set; }
public bool? CGBitmapContextCompatibility { get; set; }
public CoreGraphics.CGBitmapFlags? CGBitmapInfo { get; set; }
public bool? CGImageCompatibility { get; set; }
public Foundation.NSObject CodecType { get; set; }
public CVPixelFormatComponentRange ComponentRange { get; set; }
public CVPixelFormatType? Constant { get; set; }
public bool? ContainsAlpha { get; set; }
public bool? ContainsGrayscale { get; set; }
public Foundation.NSData FillExtendedPixelsCallback { get; set; }
public CVFillExtendedPixelsCallBackDataStruct? FillExtendedPixelsCallbackStruct { get; set; }
public bool? FormatContainsRgb { get; set; }
public bool? FormatContainsSenselArray { get; set; }
public bool? FormatContainsYCbCr { get; set; }
public int? FourCC { get; set; }
public int? HorizontalSubsampling { get; set; }
public string Name { get; set; }
public bool? OpenGLCompatibility { get; set; }
public int? OpenGLFormat { get; set; }
public int? OpenGLInternalFormat { get; set; }
public int? OpenGLType { get; set; }
public Foundation.NSObject Planes { get; set; }
public bool? QDCompatibility { get; set; }
public int? VerticalSubsampling { get; set; }

Added methods:

public static CVPixelFormatDescription CreatePixelFormat (CVPixelFormatType pixelFormat);
public static bool IsPixelFormatAvailable (CVPixelFormatType pixelFormat);
public static void Register (CVPixelFormatDescription description, CVPixelFormatType pixelFormat);

New Type: CoreVideo.CVFillExtendedPixelsCallBackDataStruct

public struct CVFillExtendedPixelsCallBackDataStruct {
	// fields
	public method System.Byte *(System.IntPtr,System.IntPtr) FillCallBack;
	public IntPtr UserInfo;
	public IntPtr Version;
	// methods
	public bool CallFillCallback (CVPixelBuffer buffer);
}

New Type: CoreVideo.CVPixelFormatComponentRange

public class CVPixelFormatComponentRange : Foundation.DictionaryContainer {
	// constructors
	public CVPixelFormatComponentRange ();
	public CVPixelFormatComponentRange (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSObject FullRange { get; set; }
	public Foundation.NSObject VideoRange { get; set; }
	public Foundation.NSObject WideRange { get; set; }
}

New Type: CoreVideo.CVPixelFormatComponentRangeKeys

public class CVPixelFormatComponentRangeKeys {
	// constructors
	public CVPixelFormatComponentRangeKeys ();
	// properties
	public static Foundation.NSString FullRange { get; }
	public static Foundation.NSString VideoRange { get; }
	public static Foundation.NSString WideRange { get; }
}

New Type: CoreVideo.CVPixelFormatKeys

public class CVPixelFormatKeys {
	// constructors
	public CVPixelFormatKeys ();
	// properties
	public static Foundation.NSString BitsPerBlock { get; }
	public static Foundation.NSString BlackBlock { get; }
	public static Foundation.NSString BlockHeight { get; }
	public static Foundation.NSString BlockHorizontalAlignment { get; }
	public static Foundation.NSString BlockVerticalAlignment { get; }
	public static Foundation.NSString BlockWidth { get; }
	public static Foundation.NSString CGBitmapContextCompatibility { get; }
	public static Foundation.NSString CGBitmapInfo { get; }
	public static Foundation.NSString CGImageCompatibility { get; }
	public static Foundation.NSString CodecType { get; }
	public static Foundation.NSString ComponentRange { get; }
	public static Foundation.NSString Constant { get; }
	public static Foundation.NSString ContainsAlpha { get; }
	public static Foundation.NSString ContainsGrayscale { get; }
	public static Foundation.NSString ContainsRgb { get; }
	public static Foundation.NSString ContainsSenselArray { get; }
	public static Foundation.NSString ContainsYCbCr { get; }
	public static Foundation.NSString FillExtendedPixelsCallback { get; }
	public static Foundation.NSString FourCC { get; }
	public static Foundation.NSString HorizontalSubsampling { get; }
	public static Foundation.NSString Name { get; }
	public static Foundation.NSString OpenGLCompatibility { get; }
	public static Foundation.NSString OpenGLFormat { get; }
	public static Foundation.NSString OpenGLInternalFormat { get; }
	public static Foundation.NSString OpenGLType { get; }
	public static Foundation.NSString Planes { get; }
	public static Foundation.NSString QDCompatibility { get; }
	public static Foundation.NSString VerticalSubsampling { get; }
}

Namespace CoreWlan

Type Changed: CoreWlan.ICWEventDelegate

Added methods:

public virtual void BssidDidChangeForWiFi (string interfaceName);
public virtual void ClientConnectionInterrupted ();
public virtual void ClientConnectionInvalidated ();
public virtual void CountryCodeDidChangeForWiFi (string interfaceName);
public virtual void LinkDidChangeForWiFi (string interfaceName);
public virtual void LinkQualityDidChangeForWiFi (string interfaceName, int rssi, double transmitRate);
public virtual void ModeDidChangeForWiFi (string interfaceName);
public virtual void PowerStateDidChangeForWiFi (string interfaceName);
public virtual void ScanCacheUpdatedForWiFi (string interfaceName);
public virtual void SsidDidChangeForWiFi (string interfaceName);

Namespace ExtensionKit

Type Changed: ExtensionKit.IEXHostViewControllerDelegate

Added methods:

public virtual void DidActivate (EXHostViewController viewController);
public virtual bool ShouldAcceptXpcConnection (Foundation.NSXpcConnection connection);
public virtual void WillDeactivate (EXHostViewController viewController, Foundation.NSError error);

Namespace ExternalAccessory

Type Changed: ExternalAccessory.IEAAccessoryDelegate

Added method:

public virtual void Disconnected (EAAccessory accessory);

Namespace FileProvider

Type Changed: FileProvider.INSFileProviderChangeObserver

Modified methods:

-public abstract void DidDeleteItems (string[] deletedItemIdentifiers)
+public virtual void DidDeleteItems (string[] deletedItemIdentifiers)
-public abstract void DidUpdateItems (INSFileProviderItem[] updatedItems)
+public virtual void DidUpdateItems (INSFileProviderItem[] updatedItems)
-public abstract void FinishEnumerating (Foundation.NSError error)
+public virtual void FinishEnumerating (Foundation.NSError error)
-public abstract void FinishEnumeratingChanges (Foundation.NSData anchor, bool moreComing)
+public virtual void FinishEnumeratingChanges (Foundation.NSData anchor, bool moreComing)

Added method:

public virtual IntPtr GetSuggestedBatchSize ();

Type Changed: FileProvider.INSFileProviderCustomAction

Modified methods:

-public abstract Foundation.NSProgress PerformAction (string actionIdentifier, string[] itemIdentifiers, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual Foundation.NSProgress PerformAction (string actionIdentifier, string[] itemIdentifiers, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)

Type Changed: FileProvider.INSFileProviderDomainState

Modified properties:

-public abstract NSFileProviderDomainVersion DomainVersion { get; }
+public virtual NSFileProviderDomainVersion DomainVersion { get; }
-public abstract Foundation.NSDictionary UserInfo { get; }
+public virtual Foundation.NSDictionary UserInfo { get; }

Type Changed: FileProvider.INSFileProviderEnumerating

Modified methods:

-public abstract INSFileProviderEnumerator GetEnumerator (string containerItemIdentifier, NSFileProviderRequest request, out Foundation.NSError error)
+public virtual INSFileProviderEnumerator GetEnumerator (string containerItemIdentifier, NSFileProviderRequest request, out Foundation.NSError error)

Type Changed: FileProvider.INSFileProviderEnumerationObserver

Modified methods:

-public abstract void DidEnumerateItems (INSFileProviderItem[] updatedItems)
+public virtual void DidEnumerateItems (INSFileProviderItem[] updatedItems)
-public abstract void FinishEnumerating (Foundation.NSData upToPage)
+public virtual void FinishEnumerating (Foundation.NSData upToPage)
-public abstract void FinishEnumerating (Foundation.NSError error)
+public virtual void FinishEnumerating (Foundation.NSError error)

Added method:

public virtual IntPtr GetSuggestedPageSize ();

Type Changed: FileProvider.INSFileProviderEnumerator

Modified methods:

-public abstract void EnumerateItems (INSFileProviderEnumerationObserver observer, Foundation.NSData startPage)
+public virtual void EnumerateItems (INSFileProviderEnumerationObserver observer, Foundation.NSData startPage)
-public abstract void Invalidate ()
+public virtual void Invalidate ()

Added methods:

public virtual void CurrentSyncAnchor (System.Action<Foundation.NSData> completionHandler);
public virtual void EnumerateChanges (INSFileProviderChangeObserver observer, Foundation.NSData syncAnchor);

Type Changed: FileProvider.INSFileProviderIncrementalContentFetching

Modified methods:

-public abstract Foundation.NSProgress FetchContents (string itemIdentifier, NSFileProviderItemVersion requestedVersion, Foundation.NSUrl existingContents, NSFileProviderItemVersion existingVersion, NSFileProviderRequest request, NSFileProviderFetchContentsCompletionHandler completionHandler)
+public virtual Foundation.NSProgress FetchContents (string itemIdentifier, NSFileProviderItemVersion requestedVersion, Foundation.NSUrl existingContents, NSFileProviderItemVersion existingVersion, NSFileProviderRequest request, NSFileProviderFetchContentsCompletionHandler completionHandler)

Type Changed: FileProvider.INSFileProviderItem

Modified properties:

-public abstract string Filename { get; }
+public virtual string Filename { get; }
-public abstract string Identifier { get; }
+public virtual string Identifier { get; }
-public abstract string ParentIdentifier { get; }
+public virtual string ParentIdentifier { get; }

Added properties:

public virtual NSFileProviderContentPolicy ContentPolicy { get; }
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSData> ExtendedAttributes { get; }
public virtual NSFileProviderFileSystemFlags FileSystemFlags { get; }
public virtual NSFileProviderItemVersion ItemVersion { get; }
public virtual string SymlinkTargetPath { get; }
public virtual NSFileProviderTypeAndCreator TypeAndCreator { get; }
public virtual string TypeIdentifier { get; }

Added methods:

public virtual NSFileProviderItemCapabilities GetCapabilities ();
public virtual Foundation.NSNumber GetChildItemCount ();
public virtual Foundation.NSDate GetContentModificationDate ();
public virtual UniformTypeIdentifiers.UTType GetContentType ();
public virtual Foundation.NSDate GetCreationDate ();
public virtual Foundation.NSNumber GetDocumentSize ();
public virtual Foundation.NSError GetDownloadingError ();
public virtual Foundation.NSDate GetLastUsedDate ();
public virtual Foundation.NSPersonNameComponents GetMostRecentEditorNameComponents ();
public virtual Foundation.NSPersonNameComponents GetOwnerNameComponents ();
public virtual Foundation.NSData GetTagData ();
public virtual Foundation.NSError GetUploadingError ();
public virtual Foundation.NSDictionary GetUserInfo ();
public virtual bool IsDownloaded ();
public virtual bool IsDownloading ();
public virtual bool IsMostRecentVersionDownloaded ();
public virtual bool IsShared ();
public virtual bool IsSharedByCurrentUser ();
public virtual bool IsUploaded ();
public virtual bool IsUploading ();

Type Changed: FileProvider.INSFileProviderPartialContentFetching

Modified methods:

-public abstract Foundation.NSProgress FetchPartialContents (string itemIdentifier, NSFileProviderItemVersion requestedVersion, NSFileProviderRequest request, Foundation.NSRange requestedRange, UIntPtr alignment, NSFileProviderFetchContentsOptions options, NSFileProviderPartialContentFetchingCompletionHandler completionHandler)
+public virtual Foundation.NSProgress FetchPartialContents (string itemIdentifier, NSFileProviderItemVersion requestedVersion, NSFileProviderRequest request, Foundation.NSRange requestedRange, UIntPtr alignment, NSFileProviderFetchContentsOptions options, NSFileProviderPartialContentFetchingCompletionHandler completionHandler)

Type Changed: FileProvider.INSFileProviderPendingSetEnumerator

Modified properties:

-public abstract NSFileProviderDomainVersion DomainVersion { get; }
+public virtual NSFileProviderDomainVersion DomainVersion { get; }
-public abstract double RefreshInterval { get; }
+public virtual double RefreshInterval { get; }

Added property:

public virtual bool MaximumSizeReached { get; }

Type Changed: FileProvider.INSFileProviderReplicatedExtension

Modified methods:

-public abstract Foundation.NSProgress CreateItem (INSFileProviderItem itemTemplate, NSFileProviderItemFields fields, Foundation.NSUrl url, NSFileProviderCreateItemOptions options, NSFileProviderRequest request, NSFileProviderCreateOrModifyItemCompletionHandler completionHandler)
+public virtual Foundation.NSProgress CreateItem (INSFileProviderItem itemTemplate, NSFileProviderItemFields fields, Foundation.NSUrl url, NSFileProviderCreateItemOptions options, NSFileProviderRequest request, NSFileProviderCreateOrModifyItemCompletionHandler completionHandler)
-public abstract Foundation.NSProgress DeleteItem (string identifier, NSFileProviderItemVersion version, NSFileProviderDeleteItemOptions options, NSFileProviderRequest request, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual Foundation.NSProgress DeleteItem (string identifier, NSFileProviderItemVersion version, NSFileProviderDeleteItemOptions options, NSFileProviderRequest request, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract Foundation.NSProgress FetchContents (string itemIdentifier, NSFileProviderItemVersion requestedVersion, NSFileProviderRequest request, NSFileProviderFetchContentsCompletionHandler completionHandler)
+public virtual Foundation.NSProgress FetchContents (string itemIdentifier, NSFileProviderItemVersion requestedVersion, NSFileProviderRequest request, NSFileProviderFetchContentsCompletionHandler completionHandler)
-public abstract Foundation.NSProgress GetItem (string identifier, NSFileProviderRequest request, System.Action%LESSERTHANREPLACEMENT%INSFileProviderItem,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual Foundation.NSProgress GetItem (string identifier, NSFileProviderRequest request, System.Action%LESSERTHANREPLACEMENT%INSFileProviderItem,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract void Invalidate ()
+public virtual void Invalidate ()
-public abstract Foundation.NSProgress ModifyItem (INSFileProviderItem item, NSFileProviderItemVersion version, NSFileProviderItemFields changedFields, Foundation.NSUrl newContents, NSFileProviderModifyItemOptions options, NSFileProviderRequest request, NSFileProviderCreateOrModifyItemCompletionHandler completionHandler)
+public virtual Foundation.NSProgress ModifyItem (INSFileProviderItem item, NSFileProviderItemVersion version, NSFileProviderItemFields changedFields, Foundation.NSUrl newContents, NSFileProviderModifyItemOptions options, NSFileProviderRequest request, NSFileProviderCreateOrModifyItemCompletionHandler completionHandler)

Added methods:

public virtual void ImportDidFinish (System.Action completionHandler);
public virtual void MaterializedItemsDidChange (System.Action completionHandler);
public virtual void PendingItemsDidChange (System.Action completionHandler);

Type Changed: FileProvider.INSFileProviderServiceSource

Modified properties:

-public abstract string ServiceName { get; }
+public virtual string ServiceName { get; }

Added property:

public virtual bool Restricted { get; }

Modified methods:

-public abstract Foundation.NSXpcListenerEndpoint MakeListenerEndpoint (out Foundation.NSError error)
+public virtual Foundation.NSXpcListenerEndpoint MakeListenerEndpoint (out Foundation.NSError error)

Type Changed: FileProvider.INSFileProviderServicing

Modified methods:

-public abstract Foundation.NSProgress GetSupportedServiceSources (string itemIdentifier, System.Action%LESSERTHANREPLACEMENT%INSFileProviderServiceSource[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual Foundation.NSProgress GetSupportedServiceSources (string itemIdentifier, System.Action%LESSERTHANREPLACEMENT%INSFileProviderServiceSource[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)

Type Changed: FileProvider.INSFileProviderTestingChildrenEnumeration

Modified properties:

-public abstract string ItemIdentifier { get; }
+public virtual string ItemIdentifier { get; }
-public abstract NSFileProviderTestingOperationSide Side { get; }
+public virtual NSFileProviderTestingOperationSide Side { get; }

Type Changed: FileProvider.INSFileProviderTestingCollisionResolution

Modified properties:

-public abstract INSFileProviderItem RenamedItem { get; }
+public virtual INSFileProviderItem RenamedItem { get; }
-public abstract NSFileProviderTestingOperationSide Side { get; }
+public virtual NSFileProviderTestingOperationSide Side { get; }

Type Changed: FileProvider.INSFileProviderTestingContentFetch

Modified properties:

-public abstract string ItemIdentifier { get; }
+public virtual string ItemIdentifier { get; }
-public abstract NSFileProviderTestingOperationSide Side { get; }
+public virtual NSFileProviderTestingOperationSide Side { get; }

Type Changed: FileProvider.INSFileProviderTestingCreation

Modified properties:

-public abstract NSFileProviderDomainVersion DomainVersion { get; }
+public virtual NSFileProviderDomainVersion DomainVersion { get; }
-public abstract INSFileProviderItem SourceItem { get; }
+public virtual INSFileProviderItem SourceItem { get; }
-public abstract NSFileProviderTestingOperationSide TargetSide { get; }
+public virtual NSFileProviderTestingOperationSide TargetSide { get; }

Type Changed: FileProvider.INSFileProviderTestingDeletion

Modified properties:

-public abstract NSFileProviderDomainVersion DomainVersion { get; }
+public virtual NSFileProviderDomainVersion DomainVersion { get; }
-public abstract string SourceItemIdentifier { get; }
+public virtual string SourceItemIdentifier { get; }
-public abstract NSFileProviderItemVersion TargetItemBaseVersion { get; }
+public virtual NSFileProviderItemVersion TargetItemBaseVersion { get; }
-public abstract string TargetItemIdentifier { get; }
+public virtual string TargetItemIdentifier { get; }
-public abstract NSFileProviderTestingOperationSide TargetSide { get; }
+public virtual NSFileProviderTestingOperationSide TargetSide { get; }

Type Changed: FileProvider.INSFileProviderTestingIngestion

Modified properties:

-public abstract INSFileProviderItem Item { get; }
+public virtual INSFileProviderItem Item { get; }
-public abstract string ItemIdentifier { get; }
+public virtual string ItemIdentifier { get; }
-public abstract NSFileProviderTestingOperationSide Side { get; }
+public virtual NSFileProviderTestingOperationSide Side { get; }

Type Changed: FileProvider.INSFileProviderTestingLookup

Modified properties:

-public abstract string ItemIdentifier { get; }
+public virtual string ItemIdentifier { get; }
-public abstract NSFileProviderTestingOperationSide Side { get; }
+public virtual NSFileProviderTestingOperationSide Side { get; }

Type Changed: FileProvider.INSFileProviderTestingModification

Modified properties:

-public abstract NSFileProviderItemFields ChangedFields { get; }
+public virtual NSFileProviderItemFields ChangedFields { get; }
-public abstract NSFileProviderDomainVersion DomainVersion { get; }
+public virtual NSFileProviderDomainVersion DomainVersion { get; }
-public abstract INSFileProviderItem SourceItem { get; }
+public virtual INSFileProviderItem SourceItem { get; }
-public abstract NSFileProviderItemVersion TargetItemBaseVersion { get; }
+public virtual NSFileProviderItemVersion TargetItemBaseVersion { get; }
-public abstract string TargetItemIdentifier { get; }
+public virtual string TargetItemIdentifier { get; }
-public abstract NSFileProviderTestingOperationSide TargetSide { get; }
+public virtual NSFileProviderTestingOperationSide TargetSide { get; }

Type Changed: FileProvider.INSFileProviderTestingOperation

Modified properties:

-public abstract NSFileProviderTestingOperationType Type { get; }
+public virtual NSFileProviderTestingOperationType Type { get; }

Modified methods:

-public abstract INSFileProviderTestingChildrenEnumeration GetAsChildrenEnumeration ()
+public virtual INSFileProviderTestingChildrenEnumeration GetAsChildrenEnumeration ()
-public abstract INSFileProviderTestingCollisionResolution GetAsCollisionResolution ()
+public virtual INSFileProviderTestingCollisionResolution GetAsCollisionResolution ()
-public abstract INSFileProviderTestingContentFetch GetAsContentFetch ()
+public virtual INSFileProviderTestingContentFetch GetAsContentFetch ()
-public abstract INSFileProviderTestingCreation GetAsCreation ()
+public virtual INSFileProviderTestingCreation GetAsCreation ()
-public abstract INSFileProviderTestingDeletion GetAsDeletion ()
+public virtual INSFileProviderTestingDeletion GetAsDeletion ()
-public abstract INSFileProviderTestingIngestion GetAsIngestion ()
+public virtual INSFileProviderTestingIngestion GetAsIngestion ()
-public abstract INSFileProviderTestingLookup GetAsLookup ()
+public virtual INSFileProviderTestingLookup GetAsLookup ()
-public abstract INSFileProviderTestingModification GetAsModification ()
+public virtual INSFileProviderTestingModification GetAsModification ()

Type Changed: FileProvider.INSFileProviderThumbnailing

Modified methods:

-public abstract Foundation.NSProgress FetchThumbnails (string[] itemIdentifiers, CoreGraphics.CGSize size, NSFileProviderPerThumbnailCompletionHandler perThumbnailCompletionHandler, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual Foundation.NSProgress FetchThumbnails (string[] itemIdentifiers, CoreGraphics.CGSize size, NSFileProviderPerThumbnailCompletionHandler perThumbnailCompletionHandler, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)

Type Changed: FileProvider.INSFileProviderUserInteractionSuppressing

Modified methods:

-public abstract bool IsInteractionSuppressed (string suppressionIdentifier)
+public virtual bool IsInteractionSuppressed (string suppressionIdentifier)
-public abstract void SetInteractionSuppressed (bool suppression, string suppressionIdentifier)
+public virtual void SetInteractionSuppressed (bool suppression, string suppressionIdentifier)

Type Changed: FileProvider.NSFileProviderError

Added values:

ApplicationExtensionNotFound = -2014,
ProviderDomainNotFound = -2013,
ProviderDomainTemporarilyUnavailable = -2012,

Namespace FinderSync

Type Changed: FinderSync.IFIFinderSyncProtocol

Added properties:

public virtual AppKit.NSImage ToolbarItemImage { get; }
public virtual string ToolbarItemName { get; }
public virtual string ToolbarItemToolTip { get; }

Added methods:

public virtual void BeginObservingDirectory (Foundation.NSUrl url);
public virtual void EndObservingDirectory (Foundation.NSUrl url);
public virtual AppKit.NSMenu GetMenu (FIMenuKind menuKind);
public virtual void GetValues (string[] attributes, Foundation.NSUrl itemUrl, GetValuesCompletionHandler completion);
public virtual System.Threading.Tasks.Task<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> GetValuesAsync (string[] attributes, Foundation.NSUrl itemUrl);
public virtual void RequestBadgeIdentifier (Foundation.NSUrl url);
public virtual string[] SupportedServiceNames (Foundation.NSUrl itemUrl);

Namespace Foundation

Type Changed: Foundation.INSCacheDelegate

Added method:

public virtual void WillEvictObject (NSCache cache, NSObject obj);

Type Changed: Foundation.INSCoding

Modified methods:

-public abstract void EncodeTo (NSCoder encoder)
+public virtual void EncodeTo (NSCoder encoder)

Added method:

public static T CreateInstance<T> (NSCoder decoder);

Type Changed: Foundation.INSConnectionDelegate

Added methods:

public virtual bool AllowNewConnection (NSConnection newConnection, NSConnection parentConnection);
public virtual bool AuthenticateComponents (NSArray components, NSData authenticationData);
public virtual NSObject CreateConversation (NSConnection connection);
public virtual NSData GetAuthenticationData (NSArray components);
public virtual bool HandleRequest (NSConnection connection, NSDistantObjectRequest request);
public virtual bool ShouldMakeNewConnection (NSConnection parentConnection, NSConnection newConnection);

Type Changed: Foundation.INSCopying

Modified methods:

-public abstract NSObject Copy (NSZone zone)
+public virtual NSObject Copy (NSZone zone)

Type Changed: Foundation.INSDiscardableContent

Modified properties:

-public abstract bool IsContentDiscarded { get; }
+public virtual bool IsContentDiscarded { get; }

Modified methods:

-public abstract bool BeginContentAccess ()
+public virtual bool BeginContentAccess ()
-public abstract void DiscardContentIfPossible ()
+public virtual void DiscardContentIfPossible ()
-public abstract void EndContentAccess ()
+public virtual void EndContentAccess ()

Type Changed: Foundation.INSExtensionRequestHandling

Modified methods:

-public abstract void BeginRequestWithExtensionContext (NSExtensionContext context)
+public virtual void BeginRequestWithExtensionContext (NSExtensionContext context)

Type Changed: Foundation.INSFileManagerDelegate

Added methods:

public virtual bool ShouldCopyItemAtPath (NSFileManager fm, NSString srcPath, NSString dstPath);
public virtual bool ShouldLinkItemAtPath (NSFileManager fileManager, string srcPath, string dstPath);
public virtual bool ShouldMoveItemAtPath (NSFileManager fileManager, string srcPath, string dstPath);
public virtual bool ShouldProceedAfterErrorCopyingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath);
public virtual bool ShouldProceedAfterErrorLinkingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath);
public virtual bool ShouldProceedAfterErrorMovingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath);
public virtual bool ShouldProceedAfterErrorRemovingItem (NSFileManager fileManager, NSError error, string path);
public virtual bool ShouldRemoveItemAtPath (NSFileManager fileManager, string path);

Type Changed: Foundation.INSFilePresenter

Modified properties:

-public abstract NSOperationQueue PresentedItemOperationQueue { get; }
+public virtual NSOperationQueue PresentedItemOperationQueue { get; }
-public abstract NSUrl PresentedItemUrl { get; }
+public virtual NSUrl PresentedItemUrl { get; }

Added properties:

public virtual Foundation.NSSet<NSString> PresentedItemObservedUbiquityAttributes { get; }
public virtual NSUrl PrimaryPresentedItemUrl { get; }

Added methods:

public virtual void AccommodatePresentedItemDeletion (System.Action<NSError> completionHandler);
public virtual void AccommodatePresentedItemEviction (System.Action<NSError> completionHandler);
public virtual void AccommodatePresentedSubitemDeletion (NSUrl url, System.Action<NSError> completionHandler);
public virtual void PresentedItemChanged ();
public virtual void PresentedItemChangedUbiquityAttributes (Foundation.NSSet<NSString> attributes);
public virtual void PresentedItemGainedVersion (NSFileVersion version);
public virtual void PresentedItemLostVersion (NSFileVersion version);
public virtual void PresentedItemMoved (NSUrl newURL);
public virtual void PresentedItemResolveConflictVersion (NSFileVersion version);
public virtual void PresentedSubitemAppeared (NSUrl atUrl);
public virtual void PresentedSubitemChanged (NSUrl url);
public virtual void PresentedSubitemGainedVersion (NSUrl url, NSFileVersion version);
public virtual void PresentedSubitemLostVersion (NSUrl url, NSFileVersion version);
public virtual void PresentedSubitemMoved (NSUrl oldURL, NSUrl newURL);
public virtual void PresentedSubitemResolvedConflictVersion (NSUrl url, NSFileVersion version);
public virtual void RelinquishPresentedItemToReader (NSFilePresenterReacquirer readerAction);
public virtual void RelinquishPresentedItemToWriter (NSFilePresenterReacquirer writerAction);
public virtual void SavePresentedItemChanges (System.Action<NSError> completionHandler);

Type Changed: Foundation.INSItemProviderReading

Added methods:

public static INSItemProviderReading GetObject<T> (NSData data, string typeIdentifier, out NSError outError);
public static string[] GetReadableTypeIdentifiers<T> ();

Type Changed: Foundation.INSItemProviderWriting

Added property:

public virtual string[] WritableTypeIdentifiersForItemProvider { get; }

Modified methods:

-public abstract NSProgress LoadData (string typeIdentifier, System.Action%LESSERTHANREPLACEMENT%NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual NSProgress LoadData (string typeIdentifier, System.Action%LESSERTHANREPLACEMENT%NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)

Added methods:

public virtual NSItemProviderRepresentationVisibility GetItemProviderVisibilityForTypeIdentifier (string typeIdentifier);
public static string[] GetWritableTypeIdentifiers<T> ();
public virtual System.Threading.Tasks.Task<NSData> LoadDataAsync (string typeIdentifier);
public virtual System.Threading.Tasks.Task<NSData> LoadDataAsync (string typeIdentifier, out NSProgress result);

Type Changed: Foundation.INSKeyedArchiverDelegate

Added methods:

public virtual void EncodedObject (NSKeyedArchiver archiver, NSObject obj);
public virtual void Finished (NSKeyedArchiver archiver);
public virtual void Finishing (NSKeyedArchiver archiver);
public virtual void ReplacingObject (NSKeyedArchiver archiver, NSObject oldObject, NSObject newObject);
public virtual NSObject WillEncode (NSKeyedArchiver archiver, NSObject obj);

Type Changed: Foundation.INSKeyedUnarchiverDelegate

Added methods:

public virtual ObjCRuntime.Class CannotDecodeClass (NSKeyedUnarchiver unarchiver, string klass, string[] classes);
public virtual NSObject DecodedObject (NSKeyedUnarchiver unarchiver, NSObject obj);
public virtual void Finished (NSKeyedUnarchiver unarchiver);
public virtual void Finishing (NSKeyedUnarchiver unarchiver);
public virtual void ReplacingObject (NSKeyedUnarchiver unarchiver, NSObject oldObject, NSObject newObject);

Type Changed: Foundation.INSLocking

Modified methods:

-public abstract void Lock ()
+public virtual void Lock ()
-public abstract void Unlock ()
+public virtual void Unlock ()

Type Changed: Foundation.INSMachPortDelegate

Added method:

public virtual void MachMessageReceived (IntPtr msgHeader);

Type Changed: Foundation.INSMetadataQueryDelegate

Added methods:

public virtual NSObject ReplacementObjectForResultObject (NSMetadataQuery query, NSMetadataItem result);
public virtual NSObject ReplacementValueForAttributevalue (NSMetadataQuery query, string attributeName, NSObject value);

Type Changed: Foundation.INSMutableCopying

Modified methods:

-public abstract NSObject MutableCopy (NSZone zone)
+public virtual NSObject MutableCopy (NSZone zone)

Type Changed: Foundation.INSNetServiceBrowserDelegate

Added methods:

public virtual void DomainRemoved (NSNetServiceBrowser sender, string domain, bool moreComing);
public virtual void FoundDomain (NSNetServiceBrowser sender, string domain, bool moreComing);
public virtual void FoundService (NSNetServiceBrowser sender, NSNetService service, bool moreComing);
public virtual void NotSearched (NSNetServiceBrowser sender, NSDictionary errors);
public virtual void SearchStarted (NSNetServiceBrowser sender);
public virtual void SearchStopped (NSNetServiceBrowser sender);
public virtual void ServiceRemoved (NSNetServiceBrowser sender, NSNetService service, bool moreComing);

Type Changed: Foundation.INSNetServiceDelegate

Added methods:

public virtual void AddressResolved (NSNetService sender);
public virtual void DidAcceptConnection (NSNetService sender, NSInputStream inputStream, NSOutputStream outputStream);
public virtual void PublishFailure (NSNetService sender, NSDictionary errors);
public virtual void Published (NSNetService sender);
public virtual void ResolveFailure (NSNetService sender, NSDictionary errors);
public virtual void Stopped (NSNetService sender);
public virtual void UpdatedTxtRecordData (NSNetService sender, NSData data);
public virtual void WillPublish (NSNetService sender);
public virtual void WillResolve (NSNetService sender);

Type Changed: Foundation.INSPortDelegate

Added method:

public virtual void MessageReceived (NSPortMessage message);

Type Changed: Foundation.INSProgressReporting

Modified properties:

-public abstract NSProgress Progress { get; }
+public virtual NSProgress Progress { get; }

Type Changed: Foundation.INSStreamDelegate

Added method:

public virtual void HandleEvent (NSStream theStream, NSStreamEvent streamEvent);

Type Changed: Foundation.INSUrlAuthenticationChallengeSender

Modified methods:

-public abstract void CancelAuthenticationChallenge (NSUrlAuthenticationChallenge challenge)
+public virtual void CancelAuthenticationChallenge (NSUrlAuthenticationChallenge challenge)
-public abstract void ContinueWithoutCredential (NSUrlAuthenticationChallenge challenge)
+public virtual void ContinueWithoutCredential (NSUrlAuthenticationChallenge challenge)
-public abstract void UseCredential (NSUrlCredential credential, NSUrlAuthenticationChallenge challenge)
+public virtual void UseCredential (NSUrlCredential credential, NSUrlAuthenticationChallenge challenge)

Added methods:

public virtual void PerformDefaultHandling (NSUrlAuthenticationChallenge challenge);
public virtual void RejectProtectionSpaceAndContinue (NSUrlAuthenticationChallenge challenge);

Type Changed: Foundation.INSUrlConnectionDataDelegate

Added methods:

public virtual void FinishedLoading (NSUrlConnection connection);
public virtual NSInputStream NeedNewBodyStream (NSUrlConnection connection, NSUrlRequest request);
public virtual void ReceivedData (NSUrlConnection connection, NSData data);
public virtual void ReceivedResponse (NSUrlConnection connection, NSUrlResponse response);
public virtual void SentBodyData (NSUrlConnection connection, IntPtr bytesWritten, IntPtr totalBytesWritten, IntPtr totalBytesExpectedToWrite);
public virtual NSCachedUrlResponse WillCacheResponse (NSUrlConnection connection, NSCachedUrlResponse cachedResponse);
public virtual NSUrlRequest WillSendRequest (NSUrlConnection connection, NSUrlRequest request, NSUrlResponse response);

Type Changed: Foundation.INSUrlConnectionDelegate

Added methods:

public virtual bool CanAuthenticateAgainstProtectionSpace (NSUrlConnection connection, NSUrlProtectionSpace protectionSpace);
public virtual void CanceledAuthenticationChallenge (NSUrlConnection connection, NSUrlAuthenticationChallenge challenge);
public virtual bool ConnectionShouldUseCredentialStorage (NSUrlConnection connection);
public virtual void FailedWithError (NSUrlConnection connection, NSError error);
public virtual void ReceivedAuthenticationChallenge (NSUrlConnection connection, NSUrlAuthenticationChallenge challenge);
public virtual void WillSendRequestForAuthenticationChallenge (NSUrlConnection connection, NSUrlAuthenticationChallenge challenge);

Type Changed: Foundation.INSUrlConnectionDownloadDelegate

Modified methods:

-public abstract void FinishedDownloading (NSUrlConnection connection, NSUrl destinationUrl)
+public virtual void FinishedDownloading (NSUrlConnection connection, NSUrl destinationUrl)

Added methods:

public virtual void ResumedDownloading (NSUrlConnection connection, long totalBytesWritten, long expectedTotalBytes);
public virtual void WroteData (NSUrlConnection connection, long bytesWritten, long totalBytesWritten, long expectedTotalBytes);

Type Changed: Foundation.INSUrlDownloadDelegate

Added methods:

public virtual void CanceledAuthenticationChallenge (NSUrlDownload download, NSUrlAuthenticationChallenge challenge);
public virtual void CreatedDestination (NSUrlDownload download, string path);
public virtual void DecideDestination (NSUrlDownload download, string suggestedFilename);
public virtual bool DecodeSourceData (NSUrlDownload download, string encodingType);
public virtual void DownloadBegan (NSUrlDownload download);
public virtual void FailedWithError (NSUrlDownload download, NSError error);
public virtual void Finished (NSUrlDownload download);
public virtual void ReceivedAuthenticationChallenge (NSUrlDownload download, NSUrlAuthenticationChallenge challenge);
public virtual void ReceivedData (NSUrlDownload download, UIntPtr length);
public virtual void ReceivedResponse (NSUrlDownload download, NSUrlResponse response);
public virtual void Resume (NSUrlDownload download, NSUrlResponse response, long startingByte);
public virtual NSUrlRequest WillSendRequest (NSUrlDownload download, NSUrlRequest request, NSUrlResponse redirectResponse);

Type Changed: Foundation.INSUrlProtocolClient

Modified methods:

-public abstract void CachedResponseIsValid (NSUrlProtocol protocol, NSCachedUrlResponse cachedResponse)
+public virtual void CachedResponseIsValid (NSUrlProtocol protocol, NSCachedUrlResponse cachedResponse)
-public abstract void CancelledAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge)
+public virtual void CancelledAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge)
-public abstract void DataLoaded (NSUrlProtocol protocol, NSData data)
+public virtual void DataLoaded (NSUrlProtocol protocol, NSData data)
-public abstract void FailedWithError (NSUrlProtocol protocol, NSError error)
+public virtual void FailedWithError (NSUrlProtocol protocol, NSError error)
-public abstract void FinishedLoading (NSUrlProtocol protocol)
+public virtual void FinishedLoading (NSUrlProtocol protocol)
-public abstract void ReceivedAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge)
+public virtual void ReceivedAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge)
-public abstract void ReceivedResponse (NSUrlProtocol protocol, NSUrlResponse response, NSUrlCacheStoragePolicy policy)
+public virtual void ReceivedResponse (NSUrlProtocol protocol, NSUrlResponse response, NSUrlCacheStoragePolicy policy)
-public abstract void Redirected (NSUrlProtocol protocol, NSUrlRequest redirectedToEequest, NSUrlResponse redirectResponse)
+public virtual void Redirected (NSUrlProtocol protocol, NSUrlRequest redirectedToEequest, NSUrlResponse redirectResponse)

Type Changed: Foundation.INSUrlSessionDataDelegate

Added methods:

public virtual void DidBecomeDownloadTask (NSUrlSession session, NSUrlSessionDataTask dataTask, NSUrlSessionDownloadTask downloadTask);
public virtual void DidBecomeStreamTask (NSUrlSession session, NSUrlSessionDataTask dataTask, NSUrlSessionStreamTask streamTask);
public virtual void DidReceiveData (NSUrlSession session, NSUrlSessionDataTask dataTask, NSData data);
public virtual void DidReceiveResponse (NSUrlSession session, NSUrlSessionDataTask dataTask, NSUrlResponse response, System.Action<NSUrlSessionResponseDisposition> completionHandler);
public virtual void WillCacheResponse (NSUrlSession session, NSUrlSessionDataTask dataTask, NSCachedUrlResponse proposedResponse, System.Action<NSCachedUrlResponse> completionHandler);

Type Changed: Foundation.INSUrlSessionDelegate

Added methods:

public virtual void DidBecomeInvalid (NSUrlSession session, NSError error);
public virtual void DidFinishEventsForBackgroundSession (NSUrlSession session);
public virtual void DidReceiveChallenge (NSUrlSession session, NSUrlAuthenticationChallenge challenge, System.Action<NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);

Type Changed: Foundation.INSUrlSessionDownloadDelegate

Modified methods:

-public abstract void DidFinishDownloading (NSUrlSession session, NSUrlSessionDownloadTask downloadTask, NSUrl location)
+public virtual void DidFinishDownloading (NSUrlSession session, NSUrlSessionDownloadTask downloadTask, NSUrl location)

Added methods:

public virtual void DidResume (NSUrlSession session, NSUrlSessionDownloadTask downloadTask, long resumeFileOffset, long expectedTotalBytes);
public virtual void DidWriteData (NSUrlSession session, NSUrlSessionDownloadTask downloadTask, long bytesWritten, long totalBytesWritten, long totalBytesExpectedToWrite);

Type Changed: Foundation.INSUrlSessionStreamDelegate

Added methods:

public virtual void BetterRouteDiscovered (NSUrlSession session, NSUrlSessionStreamTask streamTask);
public virtual void CompletedTaskCaptureStreams (NSUrlSession session, NSUrlSessionStreamTask streamTask, NSInputStream inputStream, NSOutputStream outputStream);
public virtual void ReadClosed (NSUrlSession session, NSUrlSessionStreamTask streamTask);
public virtual void WriteClosed (NSUrlSession session, NSUrlSessionStreamTask streamTask);

Type Changed: Foundation.INSUrlSessionTaskDelegate

Added methods:

public virtual void DidCompleteWithError (NSUrlSession session, NSUrlSessionTask task, NSError error);
public virtual void DidCreateTask (NSUrlSession session, NSUrlSessionTask task);
public virtual void DidFinishCollectingMetrics (NSUrlSession session, NSUrlSessionTask task, NSUrlSessionTaskMetrics metrics);
public virtual void DidReceiveChallenge (NSUrlSession session, NSUrlSessionTask task, NSUrlAuthenticationChallenge challenge, System.Action<NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
public virtual void DidReceiveInformationalResponse (NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response);
public virtual void DidSendBodyData (NSUrlSession session, NSUrlSessionTask task, long bytesSent, long totalBytesSent, long totalBytesExpectedToSend);
public virtual void NeedNewBodyStream (NSUrlSession session, NSUrlSessionTask task, System.Action<NSInputStream> completionHandler);
public virtual void NeedNewBodyStream (NSUrlSession session, NSUrlSessionTask task, long offset, System.Action<NSInputStream> completionHandler);
public virtual void TaskIsWaitingForConnectivity (NSUrlSession session, NSUrlSessionTask task);
public virtual void WillBeginDelayedRequest (NSUrlSession session, NSUrlSessionTask task, NSUrlRequest request, System.Action<NSUrlSessionDelayedRequestDisposition,Foundation.NSUrlRequest> completionHandler);
public virtual void WillPerformHttpRedirection (NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response, NSUrlRequest newRequest, System.Action<NSUrlRequest> completionHandler);

Type Changed: Foundation.INSUrlSessionWebSocketDelegate

Added methods:

public virtual void DidClose (NSUrlSession session, NSUrlSessionWebSocketTask webSocketTask, NSUrlSessionWebSocketCloseCode closeCode, NSData reason);
public virtual void DidOpen (NSUrlSession session, NSUrlSessionWebSocketTask webSocketTask, string protocol);

Type Changed: Foundation.INSUserActivityDelegate

Added methods:

public virtual void UserActivityReceivedData (NSUserActivity userActivity, NSInputStream inputStream, NSOutputStream outputStream);
public virtual void UserActivityWasContinued (NSUserActivity userActivity);
public virtual void UserActivityWillSave (NSUserActivity userActivity);

Type Changed: Foundation.INSUserNotificationCenterDelegate

Added methods:

public virtual void DidActivateNotification (NSUserNotificationCenter center, NSUserNotification notification);
public virtual void DidDeliverNotification (NSUserNotificationCenter center, NSUserNotification notification);
public virtual bool ShouldPresentNotification (NSUserNotificationCenter center, NSUserNotification notification);

Type Changed: Foundation.INSXpcListenerDelegate

Added method:

public virtual bool ShouldAcceptConnection (NSXpcListener listener, NSXpcConnection newConnection);

Type Changed: Foundation.NSAppleEventManager

Added property:

public static NSString WillProcessFirstEventNotification { get; }

Type Changed: Foundation.NSArray

Added method:

public virtual System.Collections.Generic.IEnumerator<NSObject> GetEnumerator ();

Type Changed: Foundation.NSArray`1

Added method:

public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator ();

Type Changed: Foundation.NSAttributedStringDocumentAttributes

Obsoleted properties:

 [Obsolete ("Use 'CharacterEncoding' instead.")]
 public NSStringEncoding? StringEncoding { get; set; }

Added properties:

public AppKit.NSAppearance Appearance { get; set; }
public string Author { get; set; }
public float? BottomMargin { get; set; }
public string Category { get; set; }
public NSStringEncoding? CharacterEncoding { get; set; }
public float? CocoaVersion { get; set; }
public string Comment { get; set; }
public string Company { get; set; }
public int? Converted { get; set; }
public string Copyright { get; set; }
public NSDate CreationTime { get; set; }
public NSAttributedStringDocumentAttributes DefaultAttributes { get; set; }
public string Editor { get; set; }
public string[] ExcludedElements { get; set; }
public string FileType { get; set; }
public string[] Keywords { get; set; }
public float? LeftMargin { get; set; }
public string Manager { get; set; }
public NSDate ModificationTime { get; set; }
public int? PrefixSpaces { get; set; }
public float? RightMargin { get; set; }
public AppKit.NSTextScalingType? SourceTextScaling { get; set; }
public string Subject { get; set; }
public AppKit.NSTextScalingType? TextScaling { get; set; }
public string Title { get; set; }
public float? TopMargin { get; set; }

Type Changed: Foundation.NSAttributedStringNameKey

Added values:

InflectionAgreementArgument = 10,
InflectionAgreementConcept = 11,
InflectionReferentConcept = 12,

Type Changed: Foundation.NSBundle

Added property:

public static NSString BundleDidLoadNotification { get; }

Type Changed: Foundation.NSCharacterSet

Added properties:

public static NSCharacterSet UrlFragmentAllowed { get; }
public static NSCharacterSet UrlHostAllowed { get; }
public static NSCharacterSet UrlPasswordAllowed { get; }
public static NSCharacterSet UrlPathAllowed { get; }
public static NSCharacterSet UrlQueryAllowed { get; }
public static NSCharacterSet UrlUserAllowed { get; }

Type Changed: Foundation.NSDataWritingOptions

Added value:

FileProtectionCompleteWhenUserInactive = 1342177280,

Type Changed: Foundation.NSDate

Added property:

public static NSString SystemClockDidChangeNotification { get; }

Type Changed: Foundation.NSError

Added property:

public static NSString NSNetServicesErrorCode { get; }

Type Changed: Foundation.NSFilePresenter

Added method:

public virtual void AccommodatePresentedItemEviction (System.Action<NSError> completionHandler);

Type Changed: Foundation.NSFilePresenter_Extensions

Added method:

public static void AccommodatePresentedItemEviction (this INSFilePresenter This, System.Action<NSError> completionHandler);

Type Changed: Foundation.NSFileProtectionType

Added value:

CompleteWhenUserInactive = 4,

Type Changed: Foundation.NSLocale

Added properties:

public virtual string LanguageIdentifier { get; }
public virtual string RegionCode { get; }

Type Changed: Foundation.NSMorphology

Added properties:

public virtual NSGrammaticalDefiniteness Definiteness { get; set; }
public virtual NSGrammaticalDetermination Determination { get; set; }
public virtual NSGrammaticalCase GrammaticalCase { get; set; }
public virtual NSGrammaticalPerson GrammaticalPerson { get; set; }
public virtual NSGrammaticalPronounType PronounType { get; set; }

Type Changed: Foundation.NSMutableOrderedSet`1

Added method:

public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator ();

Type Changed: Foundation.NSMutableSet`1

Added method:

public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator ();

Type Changed: Foundation.NSNumber

Added methods:

public bool IsEqualTo (NSNumber number);
public virtual bool IsEqualTo (IntPtr number);

Type Changed: Foundation.NSOrderedSet`1

Added method:

public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator ();

Type Changed: Foundation.NSPort

Added property:

public static NSString PortDidBecomeInvalidNotification { get; }

Type Changed: Foundation.NSSet`1

Added method:

public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator ();

Type Changed: Foundation.NSTask

Added property:

public virtual NSData LaunchRequirementData { get; set; }

Type Changed: Foundation.NSThread

Added properties:

public static NSString ThreadWillExitNotification { get; }
public static NSString WillBecomeMultiThreadedNotification { get; }

Type Changed: Foundation.NSTimeZone

Added property:

public static NSString SystemTimeZoneDidChangeNotification { get; }

Type Changed: Foundation.NSUndoManager

Added properties:

public virtual UIntPtr RedoCount { get; }
public virtual UIntPtr UndoCount { get; }

Type Changed: Foundation.NSUrl

Added property:

public static NSString DirectoryEntryCountKey { get; }

Added method:

public static NSUrl FromString (string url, bool encodingInvalidCharacters);

Type Changed: Foundation.NSUrlComponents

Added method:

public static NSUrlComponents FromString (string url, bool encodingInvalidCharacters);

Type Changed: Foundation.NSUrlSession

Added methods:

public virtual NSUrlSessionUploadTask CreateUploadTask (NSData resumeData);
public virtual NSUrlSessionUploadTask CreateUploadTask (NSData resumeData, System.Action<NSData,Foundation.NSUrlResponse,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<NSUrlSessionUploadTaskResumeRequest> CreateUploadTaskAsync (NSData resumeData);
public virtual System.Threading.Tasks.Task<NSUrlSessionUploadTaskResumeRequest> CreateUploadTaskAsync (NSData resumeData, out NSUrlSessionUploadTask result);

Type Changed: Foundation.NSUrlSessionConfiguration

Added property:

public Network.NWProxyConfig[] ProxyConfigurations { get; set; }

Type Changed: Foundation.NSUrlSessionTaskDelegate

Added methods:

public virtual void DidReceiveInformationalResponse (NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response);
public virtual void NeedNewBodyStream (NSUrlSession session, NSUrlSessionTask task, long offset, System.Action<NSInputStream> completionHandler);

Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions

Added methods:

public static void DidReceiveInformationalResponse (this INSUrlSessionTaskDelegate This, NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response);
public static void NeedNewBodyStream (this INSUrlSessionTaskDelegate This, NSUrlSession session, NSUrlSessionTask task, long offset, System.Action<NSInputStream> completionHandler);

Type Changed: Foundation.NSUrlSessionUploadTask

Added property:

public static NSString ResumeDataKey { get; }

Added methods:

public virtual void CancelByProducingResumeData (System.Action<NSData> completionHandler);
public virtual System.Threading.Tasks.Task<NSData> CancelByProducingResumeDataAsync ();

Type Changed: Foundation.ProtocolAttribute

Added property:

public bool BackwardsCompatibleCodeGeneration { get; set; }

New Type: Foundation.NSExceptionError

public sealed class NSExceptionError : Foundation.NSError {
	// constructors
	public NSExceptionError (System.Exception exception);
	// properties
	public System.Exception Exception { get; }
}

New Type: Foundation.NSGrammaticalCase

[Serializable]
public enum NSGrammaticalCase {
	Ablative = 6,
	Accusative = 2,
	Adessive = 7,
	Allative = 8,
	Dative = 3,
	Elative = 9,
	Essive = 11,
	Genitive = 4,
	Illative = 10,
	Inessive = 12,
	Locative = 13,
	Nominative = 1,
	NotSet = 0,
	Prepositional = 5,
	Translative = 14,
}

New Type: Foundation.NSGrammaticalDefiniteness

[Serializable]
public enum NSGrammaticalDefiniteness {
	Definite = 2,
	Indefinite = 1,
	NotSet = 0,
}

New Type: Foundation.NSGrammaticalDetermination

[Serializable]
public enum NSGrammaticalDetermination {
	Dependent = 2,
	Independent = 1,
	NotSet = 0,
}

New Type: Foundation.NSGrammaticalPerson

[Serializable]
public enum NSGrammaticalPerson {
	First = 1,
	NotSet = 0,
	Second = 2,
	Third = 3,
}

New Type: Foundation.NSGrammaticalPronounType

[Serializable]
public enum NSGrammaticalPronounType {
	NotSet = 0,
	Personal = 1,
	Possessive = 3,
	Reflexive = 2,
}

New Type: Foundation.NSMorphologyPronoun

public class NSMorphologyPronoun : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSMorphologyPronoun (NSCoder coder);
	protected NSMorphologyPronoun (NSObjectFlag t);
	protected NSMorphologyPronoun (ObjCRuntime.NativeHandle handle);
	public NSMorphologyPronoun (string pronoun, NSMorphology morphology, NSMorphology dependentMorphology);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual NSMorphology DependentMorphology { get; }
	public virtual NSMorphology Morphology { get; }
	public virtual string Pronoun { get; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public virtual void EncodeTo (NSCoder encoder);
}

New Type: Foundation.NSTermOfAddress

public class NSTermOfAddress : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSTermOfAddress (NSCoder coder);
	protected NSTermOfAddress (NSObjectFlag t);
	protected NSTermOfAddress (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static NSTermOfAddress Feminine { get; }
	public virtual string LanguageIdentifier { get; }
	public static NSTermOfAddress Masculine { get; }
	public static NSTermOfAddress Neutral { get; }
	public virtual NSMorphologyPronoun[] Pronouns { get; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public virtual void EncodeTo (NSCoder encoder);
	public static NSTermOfAddress GetLocalized (string language, NSMorphologyPronoun[] pronouns);
}

New Type: Foundation.NSUrlSessionUploadTaskResumeRequest

public class NSUrlSessionUploadTaskResumeRequest {
	// constructors
	public NSUrlSessionUploadTaskResumeRequest (NSData arg1, NSUrlResponse arg2);
	// properties
	public NSData Arg1 { get; set; }
	public NSUrlResponse Arg2 { get; set; }
}

New Type: Foundation.OptionalMemberAttribute

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

New Type: Foundation.RequiredMemberAttribute

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

Namespace GLKit

Type Changed: GLKit.IGLKNamedEffect

Modified methods:

-public abstract void PrepareToDraw ()
+public virtual void PrepareToDraw ()

Namespace GameController

Type Changed: GameController.IGCAxisElement

Modified properties:

-public abstract IGCAxisInput AbsoluteInput { get; }
+public virtual IGCAxisInput AbsoluteInput { get; }
-public abstract IGCRelativeInput RelativeInput { get; }
+public virtual IGCRelativeInput RelativeInput { get; }

Type Changed: GameController.IGCAxisInput

Modified properties:

-public abstract bool Analog { get; }
+public virtual bool Analog { get; }
-public abstract bool CanWrap { get; }
+public virtual bool CanWrap { get; }
-public abstract double LastValueLatency { get; }
+public virtual double LastValueLatency { get; }
-public abstract double LastValueTimestamp { get; }
+public virtual double LastValueTimestamp { get; }
-public abstract float Value { get; }
+public virtual float Value { get; }
-public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCAxisInput,System.Single%GREATERTHANREPLACEMENT% ValueDidChangeHandler { get; set; }
+public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCAxisInput,System.Single%GREATERTHANREPLACEMENT% ValueDidChangeHandler { get; set; }

Type Changed: GameController.IGCButtonElement

Modified properties:

-public abstract Foundation.NSObject PressedInput { get; }
+public virtual Foundation.NSObject PressedInput { get; }
-public abstract IGCTouchedStateInput TouchedInput { get; }
+public virtual IGCTouchedStateInput TouchedInput { get; }

Type Changed: GameController.IGCDevice

Modified properties:

-public abstract CoreFoundation.DispatchQueue HandlerQueue { get; set; }
+public virtual CoreFoundation.DispatchQueue HandlerQueue { get; set; }
-public abstract GCPhysicalInputProfile PhysicalInputProfile { get; }
+public virtual GCPhysicalInputProfile PhysicalInputProfile { get; }
-public abstract string ProductCategory { get; }
+public virtual string ProductCategory { get; }
-public abstract string VendorName { get; }
+public virtual string VendorName { get; }

Type Changed: GameController.IGCDevicePhysicalInput

Modified properties:

-public abstract IGCDevicePhysicalInputState Capture { get; }
+public virtual IGCDevicePhysicalInputState Capture { get; }
-public abstract IGCDevice Device { get; }
+public virtual IGCDevice Device { get; }
-public abstract ElementValueDidChangeHandler ElementValueDidChangeHandler { get; set; }
+public virtual ElementValueDidChangeHandler ElementValueDidChangeHandler { get; set; }
-public abstract InputStateAvailableHandler InputStateAvailableHandler { get; set; }
+public virtual InputStateAvailableHandler InputStateAvailableHandler { get; set; }
-public abstract IntPtr InputStateQueueDepth { get; set; }
+public virtual IntPtr InputStateQueueDepth { get; set; }
-public abstract Foundation.NSObject NextInputState { get; }
+public virtual Foundation.NSObject NextInputState { get; }

Type Changed: GameController.IGCDevicePhysicalInputState

Modified properties:

-public abstract IGCDevice Device { get; }
+public virtual IGCDevice Device { get; }
-public abstract double LastEventLatency { get; }
+public virtual double LastEventLatency { get; }
-public abstract double LastEventTimestamp { get; }
+public virtual double LastEventTimestamp { get; }

Modified methods:

-public abstract IGCPhysicalInputElement GetObject (string key)
+public virtual IGCPhysicalInputElement GetObject (string key)

Type Changed: GameController.IGCDevicePhysicalInputStateDiff

Modified properties:

-public abstract Foundation.NSEnumerator%LESSERTHANREPLACEMENT%IGCPhysicalInputElement%GREATERTHANREPLACEMENT% ChangedElements { get; }
+public virtual Foundation.NSEnumerator%LESSERTHANREPLACEMENT%IGCPhysicalInputElement%GREATERTHANREPLACEMENT% ChangedElements { get; }

Modified methods:

-public abstract GCDevicePhysicalInputElementChange GetChange (IGCPhysicalInputElement element)
+public virtual GCDevicePhysicalInputElementChange GetChange (IGCPhysicalInputElement element)

Type Changed: GameController.IGCDirectionPadElement

Modified properties:

-public abstract Foundation.NSObject Down { get; }
+public virtual Foundation.NSObject Down { get; }
-public abstract Foundation.NSObject Left { get; }
+public virtual Foundation.NSObject Left { get; }
-public abstract Foundation.NSObject Right { get; }
+public virtual Foundation.NSObject Right { get; }
-public abstract Foundation.NSObject Up { get; }
+public virtual Foundation.NSObject Up { get; }
-public abstract IGCAxisInput XAxis { get; }
+public virtual IGCAxisInput XAxis { get; }
-public abstract IGCAxisInput YAxis { get; }
+public virtual IGCAxisInput YAxis { get; }

Type Changed: GameController.IGCLinearInput

Modified properties:

-public abstract bool Analog { get; }
+public virtual bool Analog { get; }
-public abstract bool CanWrap { get; }
+public virtual bool CanWrap { get; }
-public abstract double LastValueLatency { get; }
+public virtual double LastValueLatency { get; }
-public abstract double LastValueTimestamp { get; }
+public virtual double LastValueTimestamp { get; }
-public abstract float Value { get; }
+public virtual float Value { get; }
-public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCLinearInput,System.Single%GREATERTHANREPLACEMENT% ValueDidChangeHandler { get; set; }
+public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCLinearInput,System.Single%GREATERTHANREPLACEMENT% ValueDidChangeHandler { get; set; }

Type Changed: GameController.IGCPhysicalInputElement

Modified properties:

-public abstract Foundation.NSSet%LESSERTHANREPLACEMENT%Foundation.NSString%GREATERTHANREPLACEMENT% Aliases { get; }
+public virtual Foundation.NSSet%LESSERTHANREPLACEMENT%Foundation.NSString%GREATERTHANREPLACEMENT% Aliases { get; }
-public abstract string LocalizedName { get; }
+public virtual string LocalizedName { get; }
-public abstract string SfSymbolsName { get; }
+public virtual string SfSymbolsName { get; }

Type Changed: GameController.IGCPressedStateInput

Modified properties:

-public abstract double LastPressedStateLatency { get; }
+public virtual double LastPressedStateLatency { get; }
-public abstract double LastPressedStateTimestamp { get; }
+public virtual double LastPressedStateTimestamp { get; }
-public abstract bool Pressed { get; }
+public virtual bool Pressed { get; }
-public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCPressedStateInput,System.Boolean%GREATERTHANREPLACEMENT% PressedDidChangeHandler { get; set; }
+public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCPressedStateInput,System.Boolean%GREATERTHANREPLACEMENT% PressedDidChangeHandler { get; set; }

Type Changed: GameController.IGCRelativeInput

Modified properties:

-public abstract bool Analog { get; }
+public virtual bool Analog { get; }
-public abstract float Delta { get; }
+public virtual float Delta { get; }
-public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCRelativeInput,System.Single%GREATERTHANREPLACEMENT% DeltaDidChangeHandler { get; set; }
+public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCRelativeInput,System.Single%GREATERTHANREPLACEMENT% DeltaDidChangeHandler { get; set; }
-public abstract double LastDeltaLatency { get; }
+public virtual double LastDeltaLatency { get; }
-public abstract double LastDeltaTimestamp { get; }
+public virtual double LastDeltaTimestamp { get; }

Type Changed: GameController.IGCSwitchElement

Modified properties:

-public abstract IGCSwitchPositionInput PositionInput { get; }
+public virtual IGCSwitchPositionInput PositionInput { get; }

Type Changed: GameController.IGCSwitchPositionInput

Modified properties:

-public abstract bool CanWrap { get; }
+public virtual bool CanWrap { get; }
-public abstract double LastPositionLatency { get; }
+public virtual double LastPositionLatency { get; }
-public abstract double LastPositionTimestamp { get; }
+public virtual double LastPositionTimestamp { get; }
-public abstract IntPtr Position { get; }
+public virtual IntPtr Position { get; }
-public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCSwitchPositionInput,System.IntPtr%GREATERTHANREPLACEMENT% PositionDidChangeHandler { get; set; }
+public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCSwitchPositionInput,System.IntPtr%GREATERTHANREPLACEMENT% PositionDidChangeHandler { get; set; }
-public abstract Foundation.NSRange PositionRange { get; }
+public virtual Foundation.NSRange PositionRange { get; }
-public abstract bool Sequential { get; }
+public virtual bool Sequential { get; }

Type Changed: GameController.IGCTouchedStateInput

Modified properties:

-public abstract double LastTouchedStateLatency { get; }
+public virtual double LastTouchedStateLatency { get; }
-public abstract double LastTouchedStateTimestamp { get; }
+public virtual double LastTouchedStateTimestamp { get; }
-public abstract bool Touched { get; }
+public virtual bool Touched { get; }
-public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCTouchedStateInput,System.Boolean%GREATERTHANREPLACEMENT% TouchedDidChangeHandler { get; set; }
+public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCTouchedStateInput,System.Boolean%GREATERTHANREPLACEMENT% TouchedDidChangeHandler { get; set; }

Namespace GameKit

Type Changed: GameKit.GKAchievement

Added methods:

public virtual AppKit.NSViewController ChallengeComposeControllerWithMessage (string message, GKPlayer[] players, GKChallengeComposeHandler2 completionHandler);
public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players);
public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players, out AppKit.NSViewController result);

Type Changed: GameKit.GKAchievementDescription

Added property:

public virtual Foundation.NSNumber RarityPercent { get; }

Type Changed: GameKit.GKError

Added value:

AppUnlisted = 37,

Type Changed: GameKit.GKLeaderboardEntry

Added methods:

public virtual AppKit.NSViewController ChallengeComposeControllerWithMessage (string message, GKPlayer[] players, GKChallengeComposeHandler2 completionHandler);
public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players);
public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players, out AppKit.NSViewController result);

Type Changed: GameKit.GKScoreChallenge

Added property:

public virtual GKLeaderboardEntry LeaderboardEntry { get; }

Type Changed: GameKit.GKVoiceChat

Added property:

public virtual System.Action<GKPlayer,GameKit.GKVoiceChatPlayerState> PlayerVoiceChatStateDidChangeHandler { get; }

Type Changed: GameKit.IGKAchievementViewControllerDelegate

Modified methods:

-public abstract void DidFinish (GKAchievementViewController viewController)
+public virtual void DidFinish (GKAchievementViewController viewController)

Type Changed: GameKit.IGKChallengeEventHandlerDelegate

Added methods:

public virtual void LocalPlayerCompletedChallenge (GKChallenge challenge);
public virtual void LocalPlayerReceivedChallenge (GKChallenge challenge);
public virtual void LocalPlayerSelectedChallenge (GKChallenge challenge);
public virtual void RemotePlayerCompletedChallenge (GKChallenge challenge);
public virtual bool ShouldShowBannerForLocallyCompletedChallenge (GKChallenge challenge);
public virtual bool ShouldShowBannerForLocallyReceivedChallenge (GKChallenge challenge);
public virtual bool ShouldShowBannerForRemotelyCompletedChallenge (GKChallenge challenge);

Type Changed: GameKit.IGKChallengeListener

Added methods:

public virtual void DidCompleteChallenge (GKPlayer player, GKChallenge challenge, GKPlayer friendPlayer);
public virtual void DidReceiveChallenge (GKPlayer player, GKChallenge challenge);
public virtual void IssuedChallengeWasCompleted (GKPlayer player, GKChallenge challenge, GKPlayer friendPlayer);
public virtual void WantsToPlayChallenge (GKPlayer player, GKChallenge challenge);

Type Changed: GameKit.IGKChallengesViewControllerDelegate

Modified methods:

-public abstract void DidFinish (GKChallengesViewController viewController)
+public virtual void DidFinish (GKChallengesViewController viewController)

Type Changed: GameKit.IGKFriendRequestComposeViewControllerDelegate

Modified methods:

-public abstract void DidFinish (GKFriendRequestComposeViewController viewController)
+public virtual void DidFinish (GKFriendRequestComposeViewController viewController)

Type Changed: GameKit.IGKGameCenterControllerDelegate

Modified methods:

-public abstract void Finished (GKGameCenterViewController controller)
+public virtual void Finished (GKGameCenterViewController controller)

Type Changed: GameKit.IGKGameSessionEventListener

Added methods:

public virtual void DidAddPlayer (GKGameSession session, GKCloudPlayer player);
public virtual void DidChangeConnectionState (GKGameSession session, GKCloudPlayer player, GKConnectionState newState);
public virtual void DidReceiveData (GKGameSession session, Foundation.NSData data, GKCloudPlayer player);
public virtual void DidReceiveMessage (GKGameSession session, string message, Foundation.NSData data, GKCloudPlayer player);
public virtual void DidRemovePlayer (GKGameSession session, GKCloudPlayer player);
public virtual void DidSaveData (GKGameSession session, GKCloudPlayer player, Foundation.NSData data);

Type Changed: GameKit.IGKInviteEventListener

Added methods:

public virtual void DidAcceptInvite (GKPlayer player, GKInvite invite);
public virtual void DidRequestMatch (GKPlayer player, GKPlayer[] recipientPlayers);

Type Changed: GameKit.IGKLeaderboardViewControllerDelegate

Modified methods:

-public abstract void DidFinish (GKLeaderboardViewController viewController)
+public virtual void DidFinish (GKLeaderboardViewController viewController)

Type Changed: GameKit.IGKMatchDelegate

Added methods:

public virtual void DataReceived (GKMatch match, Foundation.NSData data, string playerId);
public virtual void DataReceivedForRecipient (GKMatch match, Foundation.NSData data, GKPlayer recipient, GKPlayer player);
public virtual void DataReceivedFromPlayer (GKMatch match, Foundation.NSData data, GKPlayer player);
public virtual void Failed (GKMatch match, Foundation.NSError error);
public virtual bool ShouldReinviteDisconnectedPlayer (GKMatch match, GKPlayer player);
public virtual bool ShouldReinvitePlayer (GKMatch match, string playerId);
public virtual void StateChanged (GKMatch match, string playerId, GKPlayerConnectionState state);
public virtual void StateChangedForPlayer (GKMatch match, GKPlayer player, GKPlayerConnectionState state);

Type Changed: GameKit.IGKMatchmakerViewControllerDelegate

Modified methods:

-public abstract void DidFailWithError (GKMatchmakerViewController viewController, Foundation.NSError error)
+public virtual void DidFailWithError (GKMatchmakerViewController viewController, Foundation.NSError error)
-public abstract void WasCancelled (GKMatchmakerViewController viewController)
+public virtual void WasCancelled (GKMatchmakerViewController viewController)

Added methods:

public virtual void DidFindHostedPlayers (GKMatchmakerViewController viewController, GKPlayer[] playerIDs);
public virtual void DidFindMatch (GKMatchmakerViewController viewController, GKMatch match);
public virtual void DidFindPlayers (GKMatchmakerViewController viewController, string[] playerIDs);
public virtual void GetMatchProperties (GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler);
public virtual void HostedPlayerDidAccept (GKMatchmakerViewController viewController, GKPlayer playerID);
public virtual void ReceivedAcceptFromHostedPlayer (GKMatchmakerViewController viewController, string playerID);

Type Changed: GameKit.IGKSavedGameListener

Added methods:

public virtual void DidModifySavedGame (GKPlayer player, GKSavedGame savedGame);
public virtual void HasConflictingSavedGames (GKPlayer player, GKSavedGame[] savedGames);

Type Changed: GameKit.IGKSessionDelegate

Added methods:

public virtual void FailedWithError (GKSession session, Foundation.NSError error);
public virtual void PeerChangedState (GKSession session, string peerID, GKPeerConnectionState state);
public virtual void PeerConnectionFailed (GKSession session, string peerID, Foundation.NSError error);
public virtual void PeerConnectionRequest (GKSession session, string peerID);

Type Changed: GameKit.IGKTurnBasedEventHandlerDelegate

Modified methods:

-public abstract void HandleInviteFromGameCenter (Foundation.NSString[] playersToInvite)
+public virtual void HandleInviteFromGameCenter (Foundation.NSString[] playersToInvite)
-public abstract void HandleTurnEvent (GKTurnBasedMatch match, bool activated)
+public virtual void HandleTurnEvent (GKTurnBasedMatch match, bool activated)

Added methods:

public virtual void HandleMatchEnded (GKTurnBasedMatch match);
public virtual void HandleTurnEventForMatch (GKTurnBasedMatch match);

Type Changed: GameKit.IGKTurnBasedEventListener

Added methods:

public virtual void DidRequestMatchWithOtherPlayers (GKPlayer player, GKPlayer[] playersToInvite);
public virtual void MatchEnded (GKPlayer player, GKTurnBasedMatch match);
public virtual void ReceivedExchangeCancellation (GKPlayer player, GKTurnBasedExchange exchange, GKTurnBasedMatch match);
public virtual void ReceivedExchangeReplies (GKPlayer player, GKTurnBasedExchangeReply[] replies, GKTurnBasedExchange exchange, GKTurnBasedMatch match);
public virtual void ReceivedExchangeRequest (GKPlayer player, GKTurnBasedExchange exchange, GKTurnBasedMatch match);
public virtual void ReceivedTurnEvent (GKPlayer player, GKTurnBasedMatch match, bool becameActive);
public virtual void WantsToQuitMatch (GKPlayer player, GKTurnBasedMatch match);

Type Changed: GameKit.IGKTurnBasedMatchmakerViewControllerDelegate

Modified methods:

-public abstract void FailedWithError (GKTurnBasedMatchmakerViewController viewController, Foundation.NSError error)
+public virtual void FailedWithError (GKTurnBasedMatchmakerViewController viewController, Foundation.NSError error)
-public abstract void WasCancelled (GKTurnBasedMatchmakerViewController viewController)
+public virtual void WasCancelled (GKTurnBasedMatchmakerViewController viewController)

Added methods:

public virtual void FoundMatch (GKTurnBasedMatchmakerViewController viewController, GKTurnBasedMatch match);
public virtual void PlayerQuitForMatch (GKTurnBasedMatchmakerViewController viewController, GKTurnBasedMatch match);

New Type: GameKit.GKChallengeComposeControllerResult

public class GKChallengeComposeControllerResult {
	// constructors
	public GKChallengeComposeControllerResult (AppKit.NSViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers);
	// properties
	public AppKit.NSViewController ComposeController { get; set; }
	public bool IssuedChallenge { get; set; }
	public GKPlayer[] SentPlayers { get; set; }
}

New Type: GameKit.GKChallengeComposeHandler2

public sealed delegate GKChallengeComposeHandler2 : System.MulticastDelegate {
	// constructors
	public GKChallengeComposeHandler2 (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (AppKit.NSViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (AppKit.NSViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers);
}

Namespace GameplayKit

Type Changed: GameplayKit.IGKAgentDelegate

Added methods:

public virtual void AgentDidUpdate (GKAgent agent);
public virtual void AgentWillUpdate (GKAgent agent);

Type Changed: GameplayKit.IGKGameModel

Modified methods:

-public abstract void ApplyGameModelUpdate (IGKGameModelUpdate gameModelUpdate)
+public virtual void ApplyGameModelUpdate (IGKGameModelUpdate gameModelUpdate)
-public abstract IGKGameModelPlayer GetActivePlayer ()
+public virtual IGKGameModelPlayer GetActivePlayer ()
-public abstract IGKGameModelUpdate[] GetGameModelUpdates (IGKGameModelPlayer player)
+public virtual IGKGameModelUpdate[] GetGameModelUpdates (IGKGameModelPlayer player)
-public abstract IGKGameModelPlayer[] GetPlayers ()
+public virtual IGKGameModelPlayer[] GetPlayers ()
-public abstract void SetGameModel (IGKGameModel gameModel)
+public virtual void SetGameModel (IGKGameModel gameModel)

Added methods:

public virtual IntPtr GetScore (IGKGameModelPlayer player);
public virtual bool IsLoss (IGKGameModelPlayer player);
public virtual bool IsWin (IGKGameModelPlayer player);
public virtual void UnapplyGameModelUpdate (IGKGameModelUpdate gameModelUpdate);

Type Changed: GameplayKit.IGKGameModelPlayer

Modified properties:

-public abstract IntPtr PlayerId { get; }
+public virtual IntPtr PlayerId { get; }

Type Changed: GameplayKit.IGKGameModelUpdate

Modified properties:

-public abstract IntPtr Value { get; set; }
+public virtual IntPtr Value { get; set; }

Type Changed: GameplayKit.IGKRandom

Modified methods:

-public abstract bool GetNextBool ()
+public virtual bool GetNextBool ()
-public abstract IntPtr GetNextInt ()
+public virtual IntPtr GetNextInt ()
-public abstract UIntPtr GetNextInt (UIntPtr upperBound)
+public virtual UIntPtr GetNextInt (UIntPtr upperBound)
-public abstract float GetNextUniform ()
+public virtual float GetNextUniform ()

Type Changed: GameplayKit.IGKStrategist

Modified properties:

-public abstract IGKGameModel GameModel { get; set; }
+public virtual IGKGameModel GameModel { get; set; }
-public abstract IGKRandom RandomSource { get; set; }
+public virtual IGKRandom RandomSource { get; set; }

Modified methods:

-public abstract IGKGameModelUpdate GetBestMoveForActivePlayer ()
+public virtual IGKGameModelUpdate GetBestMoveForActivePlayer ()

Namespace HealthKit

Type Changed: HealthKit.IHKLiveWorkoutBuilderDelegate

Modified methods:

-public abstract void DidCollectData (HKLiveWorkoutBuilder workoutBuilder, Foundation.NSSet%LESSERTHANREPLACEMENT%HKSampleType%GREATERTHANREPLACEMENT% collectedTypes)
+public virtual void DidCollectData (HKLiveWorkoutBuilder workoutBuilder, Foundation.NSSet%LESSERTHANREPLACEMENT%HKSampleType%GREATERTHANREPLACEMENT% collectedTypes)
-public abstract void DidCollectEvent (HKLiveWorkoutBuilder workoutBuilder)
+public virtual void DidCollectEvent (HKLiveWorkoutBuilder workoutBuilder)

Added methods:

public virtual void DidBeginActivity (HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity);
public virtual void DidEndActivity (HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity);

Type Changed: HealthKit.IHKWorkoutSessionDelegate

Modified methods:

-public abstract void DidChangeToState (HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, Foundation.NSDate date)
+public virtual void DidChangeToState (HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, Foundation.NSDate date)
-public abstract void DidFail (HKWorkoutSession workoutSession, Foundation.NSError error)
+public virtual void DidFail (HKWorkoutSession workoutSession, Foundation.NSError error)

Added methods:

public virtual void DidBeginActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date);
public virtual void DidDisconnect (HKWorkoutSession workoutSession, Foundation.NSError error);
public virtual void DidEndActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date);
public virtual void DidGenerateEvent (HKWorkoutSession workoutSession, HKWorkoutEvent event);
public virtual void DidReceiveData (HKWorkoutSession workoutSession, Foundation.NSData[] data);

Namespace ImageCaptureCore

Type Changed: ImageCaptureCore.IICCameraDeviceDelegate

Modified methods:

-public abstract void DidAddItem (ICCameraDevice camera, ICCameraItem item)
+public virtual void DidAddItem (ICCameraDevice camera, ICCameraItem item)
-public abstract void DidBecomeReadyWithCompleteContentCatalog (ICDevice device)
+public virtual void DidBecomeReadyWithCompleteContentCatalog (ICDevice device)
-public abstract void DidChangeCapability (ICCameraDevice camera)
+public virtual void DidChangeCapability (ICCameraDevice camera)
-public abstract void DidCompleteDeleteFiles (ICCameraDevice scanner, Foundation.NSError error)
+public virtual void DidCompleteDeleteFiles (ICCameraDevice scanner, Foundation.NSError error)
-public abstract void DidReceiveMetadata (ICCameraDevice camera, ICCameraItem forItem)
+public virtual void DidReceiveMetadata (ICCameraDevice camera, ICCameraItem forItem)
-public abstract void DidReceivePtpEvent (ICCameraDevice camera, Foundation.NSData eventData)
+public virtual void DidReceivePtpEvent (ICCameraDevice camera, Foundation.NSData eventData)
-public abstract void DidReceiveThumbnail (ICCameraDevice camera, ICCameraItem forItem)
+public virtual void DidReceiveThumbnail (ICCameraDevice camera, ICCameraItem forItem)
-public abstract void DidRemoveItem (ICCameraDevice camera, ICCameraItem item)
+public virtual void DidRemoveItem (ICCameraDevice camera, ICCameraItem item)
-public abstract void DidRenameItems (ICCameraDevice camera, ICCameraItem[] items)
+public virtual void DidRenameItems (ICCameraDevice camera, ICCameraItem[] items)

Added methods:

public virtual void DidAddItems (ICCameraDevice camera, ICCameraItem[] items);
public virtual void DidReceiveThumbnailForItem (ICCameraDevice camera, IntPtr thumbnail, ICCameraItem forItem, Foundation.NSError error);
public virtual void DidRemoveItems (ICCameraDevice camera, ICCameraItem[] items);
public virtual bool ShouldGetMetadata (ICCameraDevice cameraDevice, ICCameraItem ofItem);
public virtual bool ShouldGetThumbnail (ICCameraDevice cameraDevice, ICCameraItem ofItem);

Type Changed: ImageCaptureCore.IICCameraDeviceDownloadDelegate

Added methods:

public virtual void DidDownloadFile (ICCameraFile file, Foundation.NSError error, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, IntPtr contextInfo);
public virtual void DidReceiveDownloadProgress (ICCameraFile file, long downloadedBytes, long maxBytes);

Type Changed: ImageCaptureCore.IICDeviceBrowserDelegate

Modified methods:

-public abstract void DidAddDevice (ICDeviceBrowser browser, ICDevice device, bool moreComing)
+public virtual void DidAddDevice (ICDeviceBrowser browser, ICDevice device, bool moreComing)
-public abstract void DidRemoveDevice (ICDeviceBrowser browser, ICDevice device, bool moreGoing)
+public virtual void DidRemoveDevice (ICDeviceBrowser browser, ICDevice device, bool moreGoing)

Added methods:

public virtual void DeviceDidChangeName (ICDeviceBrowser browser, ICDevice device);
public virtual void DeviceDidChangeSharingState (ICDeviceBrowser browser, ICDevice device);
public virtual void DidEnumerateLocalDevices (ICDeviceBrowser browser);
public virtual void RequestsSelectDevice (ICDeviceBrowser browser, ICDevice device);

Type Changed: ImageCaptureCore.IICDeviceDelegate

Modified methods:

-public abstract void DidRemoveDevice (ICDevice device)
+public virtual void DidRemoveDevice (ICDevice device)

Added methods:

public virtual void DidBecomeReady (ICDevice device);
public virtual void DidChangeName (ICDevice device);
public virtual void DidChangeSharingState (ICDevice device);
public virtual void DidCloseSession (ICDevice device, Foundation.NSError error);
public virtual void DidEncounterError (ICDevice device, Foundation.NSError error);
public virtual void DidOpenSession (ICDevice device, Foundation.NSError error);
public virtual void DidReceiveButtonPress (ICDevice device, Foundation.NSString buttonType);
public virtual void DidReceiveCustomNotification (ICDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> notification, Foundation.NSData data);
public virtual void DidReceiveStatusInformation (ICDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> status);

Type Changed: ImageCaptureCore.IICScannerDeviceDelegate

Added methods:

public virtual void DidBecomeAvailable (ICScannerDevice scanner);
public virtual void DidCompleteOverviewScan (ICScannerDevice scanner, Foundation.NSError error);
public virtual void DidCompleteScan (ICScannerDevice scanner, Foundation.NSError error);
public virtual void DidScanToBandData (ICScannerDevice scanner, ICScannerBandData data);
public virtual void DidScanToUrl (ICScannerDevice scanner, Foundation.NSUrl url);
public virtual void DidScanToUrl (ICScannerDevice scanner, Foundation.NSUrl url, Foundation.NSData data);
public virtual void DidSelectFunctionalUnit (ICScannerDevice scanner, ICScannerFunctionalUnit functionalUnit, Foundation.NSError error);

Namespace ImageIO

Type Changed: ImageIO.CGImageProperties

Added properties:

public static Foundation.NSString TIFFXPosition { get; }
public static Foundation.NSString TIFFYPosition { get; }

Type Changed: ImageIO.CGImageSource

Added method:

public static void SetAllowableTypes (string[] allowableTypes);

Namespace ImageKit

Type Changed: ImageKit.IIKCameraDeviceViewDelegate

Added methods:

public virtual void DidDownloadFile (IKCameraDeviceView cameraDeviceView, ImageCaptureCore.ICCameraFile file, Foundation.NSUrl url, Foundation.NSData data, Foundation.NSError error);
public virtual void DidEncounterError (IKCameraDeviceView cameraDeviceView, Foundation.NSError error);
public virtual void SelectionDidChange (IKCameraDeviceView cameraDeviceView);

Type Changed: ImageKit.IIKDeviceBrowserViewDelegate

Modified methods:

-public abstract void SelectionDidChange (IKDeviceBrowserView deviceBrowserView, ImageCaptureCore.ICDevice device)
+public virtual void SelectionDidChange (IKDeviceBrowserView deviceBrowserView, ImageCaptureCore.ICDevice device)

Added method:

public virtual void DidEncounterError (IKDeviceBrowserView deviceBrowserView, Foundation.NSError error);

Type Changed: ImageKit.IIKFilterCustomUIProvider

Modified methods:

-public abstract IKFilterUIView ProvideFilterUIView (Foundation.NSDictionary configurationOptions, Foundation.NSArray excludedKeys)
+public virtual IKFilterUIView ProvideFilterUIView (Foundation.NSDictionary configurationOptions, Foundation.NSArray excludedKeys)

Type Changed: ImageKit.IIKImageBrowserDataSource

Modified methods:

-public abstract IIKImageBrowserItem GetItem (IKImageBrowserView aBrowser, IntPtr index)
+public virtual IIKImageBrowserItem GetItem (IKImageBrowserView aBrowser, IntPtr index)
-public abstract IntPtr ItemCount (IKImageBrowserView aBrowser)
+public virtual IntPtr ItemCount (IKImageBrowserView aBrowser)

Added methods:

public virtual Foundation.NSDictionary GetGroup (IKImageBrowserView aBrowser, IntPtr index);
public virtual IntPtr GroupCount (IKImageBrowserView aBrowser);
public virtual bool MoveItems (IKImageBrowserView aBrowser, Foundation.NSIndexSet indexes, IntPtr destinationIndex);
public virtual void RemoveItems (IKImageBrowserView aBrowser, Foundation.NSIndexSet indexes);
public virtual IntPtr WriteItemsToPasteboard (IKImageBrowserView aBrowser, Foundation.NSIndexSet itemIndexes, AppKit.NSPasteboard pasteboard);

Type Changed: ImageKit.IIKImageBrowserDelegate

Added methods:

public virtual void BackgroundWasRightClicked (IKImageBrowserView browser, AppKit.NSEvent nsevent);
public virtual void CellWasDoubleClicked (IKImageBrowserView browser, IntPtr index);
public virtual void CellWasRightClicked (IKImageBrowserView browser, IntPtr index, AppKit.NSEvent nsevent);
public virtual void SelectionDidChange (IKImageBrowserView browser);

Type Changed: ImageKit.IIKImageBrowserItem

Modified properties:

-public abstract Foundation.NSObject ImageRepresentation { get; }
+public virtual Foundation.NSObject ImageRepresentation { get; }
-public abstract Foundation.NSString ImageRepresentationType { get; }
+public virtual Foundation.NSString ImageRepresentationType { get; }
-public abstract string ImageUID { get; }
+public virtual string ImageUID { get; }

Added properties:

public virtual string ImageSubtitle { get; }
public virtual string ImageTitle { get; }
public virtual IntPtr ImageVersion { get; }
public virtual bool IsSelectable { get; }

Type Changed: ImageKit.IIKImageEditPanelDataSource

Modified properties:

-public abstract CoreGraphics.CGImage Image { get; }
+public virtual CoreGraphics.CGImage Image { get; }

Added properties:

public virtual bool HasAdjustMode { get; }
public virtual bool HasDetailsMode { get; }
public virtual bool HasEffectsMode { get; }
public virtual Foundation.NSDictionary ImageProperties { get; }

Modified methods:

-public abstract void SetImageAndProperties (CoreGraphics.CGImage image, Foundation.NSDictionary metaData)
+public virtual void SetImageAndProperties (CoreGraphics.CGImage image, Foundation.NSDictionary metaData)

Added method:

public virtual CoreGraphics.CGImage GetThumbnail (CoreGraphics.CGSize maximumSize);

Type Changed: ImageKit.IIKSaveOptionsDelegate

Added method:

public virtual bool ShouldShowType (IKSaveOptions saveOptions, string imageUTType);

Type Changed: ImageKit.IIKScannerDeviceViewDelegate

Added methods:

public virtual void DidEncounterError (IKScannerDeviceView scannerDeviceView, Foundation.NSError error);
public virtual void DidScan (IKScannerDeviceView scannerDeviceView, Foundation.NSUrl url, Foundation.NSData data, Foundation.NSError error);
public virtual void DidScanToBandData (IKScannerDeviceView scannerDeviceView, ImageCaptureCore.ICScannerBandData data, Foundation.NSDictionary scanInfo, Foundation.NSError error);
public virtual void DidScanToUrl (IKScannerDeviceView scannerDeviceView, Foundation.NSUrl url, Foundation.NSError error);

Type Changed: ImageKit.IIKSlideshowDataSource

Modified properties:

-public abstract IntPtr ItemCount { get; }
+public virtual IntPtr ItemCount { get; }

Modified methods:

-public abstract Foundation.NSObject GetItemAt (IntPtr index)
+public virtual Foundation.NSObject GetItemAt (IntPtr index)

Added methods:

public virtual bool CanExportItemToApplication (IntPtr index, string applicationBundleIdentifier);
public virtual void DidChange (IntPtr newIndex);
public virtual void DidStop ();
public virtual string GetNameOfItemAt (IntPtr index);
public virtual void WillStart ();

Namespace Intents

Type Changed: Intents.IINAnswerCallIntentHandling

Modified methods:

-public abstract void HandleAnswerCall (INAnswerCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INAnswerCallIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleAnswerCall (INAnswerCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INAnswerCallIntentResponse%GREATERTHANREPLACEMENT% completion)

Added method:

public virtual void ConfirmAnswerCall (INAnswerCallIntent intent, System.Action<INAnswerCallIntentResponse> completion);

Type Changed: Intents.IINEditMessageIntentHandling

Modified methods:

-public abstract void HandleEditMessage (INEditMessageIntent intent, System.Action%LESSERTHANREPLACEMENT%INEditMessageIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleEditMessage (INEditMessageIntent intent, System.Action%LESSERTHANREPLACEMENT%INEditMessageIntentResponse%GREATERTHANREPLACEMENT% completion)

Added methods:

public virtual void ConfirmEditMessage (INEditMessageIntent intent, System.Action<INEditMessageIntentResponse> completion);
public virtual void ResolveEditedContent (INEditMessageIntent intent, System.Action<INStringResolutionResult> completion);

Type Changed: Intents.IINHangUpCallIntentHandling

Modified methods:

-public abstract void HandleHangUpCall (INHangUpCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INHangUpCallIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleHangUpCall (INHangUpCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INHangUpCallIntentResponse%GREATERTHANREPLACEMENT% completion)

Added method:

public virtual void ConfirmHangUpCall (INHangUpCallIntent intent, System.Action<INHangUpCallIntentResponse> completion);

Type Changed: Intents.IINIntentHandlerProviding

Modified methods:

-public abstract Foundation.NSObject GetHandler (INIntent intent)
+public virtual Foundation.NSObject GetHandler (INIntent intent)

Type Changed: Intents.IINSendMessageIntentHandling

Modified methods:

-public abstract void HandleSendMessage (INSendMessageIntent intent, System.Action%LESSERTHANREPLACEMENT%INSendMessageIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleSendMessage (INSendMessageIntent intent, System.Action%LESSERTHANREPLACEMENT%INSendMessageIntentResponse%GREATERTHANREPLACEMENT% completion)

Added methods:

public virtual void Confirm (INSendMessageIntent intent, System.Action<INSendMessageIntentResponse> completion);
public virtual void ResolveContent (INSendMessageIntent intent, System.Action<INStringResolutionResult> completion);
public virtual void ResolveGroupName (INSendMessageIntent intent, System.Action<INStringResolutionResult> completion);
public virtual void ResolveOutgoingMessageType (INSendMessageIntent intent, System.Action<INOutgoingMessageTypeResolutionResult> completion);
public virtual void ResolveRecipients (INSendMessageIntent intent, System.Action<INPersonResolutionResult[]> completion);
public virtual void ResolveRecipients (INSendMessageIntent intent, System.Action<INSendMessageRecipientResolutionResult[]> completion);

Type Changed: Intents.IINShareFocusStatusIntentHandling

Modified methods:

-public abstract void HandleShareFocusStatus (INShareFocusStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INShareFocusStatusIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleShareFocusStatus (INShareFocusStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INShareFocusStatusIntentResponse%GREATERTHANREPLACEMENT% completion)

Added method:

public virtual void ConfirmShareFocusStatus (INShareFocusStatusIntent intent, System.Action<INShareFocusStatusIntentResponse> completion);

Type Changed: Intents.IINSpeakable

Modified properties:

-public abstract IINSpeakable[] AlternativeSpeakableMatches { get; }
+public virtual IINSpeakable[] AlternativeSpeakableMatches { get; }
-public abstract string PronunciationHint { get; }
+public virtual string PronunciationHint { get; }
-public abstract string SpokenPhrase { get; }
+public virtual string SpokenPhrase { get; }
-public abstract string VocabularyIdentifier { get; }
+public virtual string VocabularyIdentifier { get; }

Added property:

public virtual string Identifier { get; }

Type Changed: Intents.IINUnsendMessagesIntentHandling

Modified methods:

-public abstract void HandleUnsendMessages (INUnsendMessagesIntent intent, System.Action%LESSERTHANREPLACEMENT%INUnsendMessagesIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleUnsendMessages (INUnsendMessagesIntent intent, System.Action%LESSERTHANREPLACEMENT%INUnsendMessagesIntentResponse%GREATERTHANREPLACEMENT% completion)

Added method:

public virtual void ConfirmUnsendMessages (INUnsendMessagesIntent intent, System.Action<INUnsendMessagesIntentResponse> completion);

Namespace IntentsUI

Type Changed: IntentsUI.IINUIAddVoiceShortcutButtonDelegate

Modified methods:

-public abstract void PresentAddVoiceShortcut (INUIAddVoiceShortcutViewController addVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton)
+public virtual void PresentAddVoiceShortcut (INUIAddVoiceShortcutViewController addVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton)
-public abstract void PresentEditVoiceShortcut (INUIEditVoiceShortcutViewController editVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton)
+public virtual void PresentEditVoiceShortcut (INUIEditVoiceShortcutViewController editVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton)

Type Changed: IntentsUI.IINUIAddVoiceShortcutViewControllerDelegate

Modified methods:

-public abstract void DidCancel (INUIAddVoiceShortcutViewController controller)
+public virtual void DidCancel (INUIAddVoiceShortcutViewController controller)
-public abstract void DidFinish (INUIAddVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error)
+public virtual void DidFinish (INUIAddVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error)

Type Changed: IntentsUI.IINUIEditVoiceShortcutViewControllerDelegate

Modified methods:

-public abstract void DidCancel (INUIEditVoiceShortcutViewController controller)
+public virtual void DidCancel (INUIEditVoiceShortcutViewController controller)
-public abstract void DidDelete (INUIEditVoiceShortcutViewController controller, Foundation.NSUuid deletedVoiceShortcutIdentifier)
+public virtual void DidDelete (INUIEditVoiceShortcutViewController controller, Foundation.NSUuid deletedVoiceShortcutIdentifier)
-public abstract void DidUpdate (INUIEditVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error)
+public virtual void DidUpdate (INUIEditVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error)

Namespace MailKit

Type Changed: MailKit.IMEComposeSessionHandler

Modified methods:

-public abstract MEExtensionViewController GetViewController (MEComposeSession session)
+public virtual MEExtensionViewController GetViewController (MEComposeSession session)
-public abstract void MailComposeSessionDidBegin (MEComposeSession session)
+public virtual void MailComposeSessionDidBegin (MEComposeSession session)
-public abstract void MailComposeSessionDidEnd (MEComposeSession session)
+public virtual void MailComposeSessionDidEnd (MEComposeSession session)

Added methods:

public virtual void AllowMessageSend (MEComposeSession session, System.Action<Foundation.NSError> completionHandler);
public virtual void AnnotateAddress (MEComposeSession session, System.Action<Foundation.NSDictionary<MEEmailAddress,MailKit.MEAddressAnnotation>> completionHandler);
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray<Foundation.NSString>> GetAdditionalHeaders (MEComposeSession session);

Type Changed: MailKit.IMEContentBlocker

Modified properties:

-public abstract Foundation.NSData ContentRulesJson { get; }
+public virtual Foundation.NSData ContentRulesJson { get; }

Type Changed: MailKit.IMEExtension

Added properties:

public virtual IMEContentBlocker HandlerForContentBlocker { get; }
public virtual IMEMessageActionHandler HandlerForMessageActions { get; }
public virtual IMEMessageSecurityHandler HandlerForMessageSecurity { get; }

Added method:

public virtual IMEComposeSessionHandler GetHandlerForComposeSession (MEComposeSession session);

Type Changed: MailKit.IMEMessageActionHandler

Added property:

public virtual string[] RequiredHeaders { get; }

Modified methods:

-public abstract void DecideAction (MEMessage message, System.Action%LESSERTHANREPLACEMENT%MEMessageActionDecision%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void DecideAction (MEMessage message, System.Action%LESSERTHANREPLACEMENT%MEMessageActionDecision%GREATERTHANREPLACEMENT% completionHandler)

Type Changed: MailKit.IMEMessageDecoder

Modified methods:

-public abstract MEDecodedMessage DecodedMessage (Foundation.NSData data)
+public virtual MEDecodedMessage DecodedMessage (Foundation.NSData data)

Type Changed: MailKit.IMEMessageEncoder

Modified methods:

-public abstract void EncodeMessage (MEMessage message, MEComposeContext composeContext, System.Action%LESSERTHANREPLACEMENT%MEMessageEncodingResult%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void EncodeMessage (MEMessage message, MEComposeContext composeContext, System.Action%LESSERTHANREPLACEMENT%MEMessageEncodingResult%GREATERTHANREPLACEMENT% completionHandler)
-public abstract void GetEncodingStatus (MEMessage message, MEComposeContext composeContext, System.Action%LESSERTHANREPLACEMENT%MEOutgoingMessageEncodingStatus%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void GetEncodingStatus (MEMessage message, MEComposeContext composeContext, System.Action%LESSERTHANREPLACEMENT%MEOutgoingMessageEncodingStatus%GREATERTHANREPLACEMENT% completionHandler)

Type Changed: MailKit.IMEMessageSecurityHandler

Modified methods:

-public abstract MEExtensionViewController GetExtensionViewController (Foundation.NSData messageContext)
+public virtual MEExtensionViewController GetExtensionViewController (Foundation.NSData messageContext)
-public abstract MEExtensionViewController GetExtensionViewController (MEMessageSigner[] messageSigners)
+public virtual MEExtensionViewController GetExtensionViewController (MEMessageSigner[] messageSigners)
-public abstract void SetPrimaryActionClicked (Foundation.NSData messageContext, System.Action%LESSERTHANREPLACEMENT%MEExtensionViewController%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void SetPrimaryActionClicked (Foundation.NSData messageContext, System.Action%LESSERTHANREPLACEMENT%MEExtensionViewController%GREATERTHANREPLACEMENT% completionHandler)

Namespace MapKit

Type Changed: MapKit.IMKAnnotation

Modified properties:

-public abstract CoreLocation.CLLocationCoordinate2D Coordinate { get; }
+public virtual CoreLocation.CLLocationCoordinate2D Coordinate { get; }

Added properties:

public virtual string Subtitle { get; }
public virtual string Title { get; }

Added method:

public virtual void SetCoordinate (CoreLocation.CLLocationCoordinate2D value);

Type Changed: MapKit.IMKLocalSearchCompleterDelegate

Added methods:

public virtual void DidFail (MKLocalSearchCompleter completer, Foundation.NSError error);
public virtual void DidUpdateResults (MKLocalSearchCompleter completer);

Type Changed: MapKit.IMKLookAroundViewControllerDelegate

Added methods:

public virtual void DidDismissFullScreen (MKLookAroundViewController viewController);
public virtual void DidPresentFullScreen (MKLookAroundViewController viewController);
public virtual void DidUpdateScene (MKLookAroundViewController viewController);
public virtual void WillDismissFullScreen (MKLookAroundViewController viewController);
public virtual void WillPresentFullScreen (MKLookAroundViewController viewController);
public virtual void WillUpdateScene (MKLookAroundViewController viewController);

Type Changed: MapKit.IMKMapViewDelegate

Added methods:

public virtual void ChangedDragState (MKMapView mapView, MKAnnotationView annotationView, MKAnnotationViewDragState newState, MKAnnotationViewDragState oldState);
public virtual MKClusterAnnotation CreateClusterAnnotation (MKMapView mapView, IMKAnnotation[] memberAnnotations);
public virtual void DidAddAnnotationViews (MKMapView mapView, MKAnnotationView[] views);
public virtual void DidAddOverlayRenderers (MKMapView mapView, MKOverlayRenderer[] renderers);
public virtual void DidChangeUserTrackingMode (MKMapView mapView, MKUserTrackingMode mode, bool animated);
public virtual void DidChangeVisibleRegion (MKMapView mapView);
public virtual void DidDeselectAnnotationView (MKMapView mapView, MKAnnotationView view);
public virtual void DidFailToLocateUser (MKMapView mapView, Foundation.NSError error);
public virtual void DidFinishRenderingMap (MKMapView mapView, bool fullyRendered);
public virtual void DidSelectAnnotationView (MKMapView mapView, MKAnnotationView view);
public virtual void DidStopLocatingUser (MKMapView mapView);
public virtual void DidUpdateUserLocation (MKMapView mapView, MKUserLocation userLocation);
public virtual MKAnnotationView GetViewForAnnotation (MKMapView mapView, IMKAnnotation annotation);
public virtual void LoadingMapFailed (MKMapView mapView, Foundation.NSError error);
public virtual void MapLoaded (MKMapView mapView);
public virtual MKOverlayRenderer OverlayRenderer (MKMapView mapView, IMKOverlay overlay);
public virtual void RegionChanged (MKMapView mapView, bool animated);
public virtual void RegionWillChange (MKMapView mapView, bool animated);
public virtual void WillStartLoadingMap (MKMapView mapView);
public virtual void WillStartLocatingUser (MKMapView mapView);
public virtual void WillStartRenderingMap (MKMapView mapView);

Type Changed: MapKit.IMKOverlay

Modified properties:

-public abstract MKMapRect BoundingMapRect { get; }
+public virtual MKMapRect BoundingMapRect { get; }

Added property:

public virtual bool CanReplaceMapContent { get; }

Added method:

public virtual bool Intersects (MKMapRect rect);

Type Changed: MapKit.MKMapItem

Added methods:

public virtual void OpenInMaps (Foundation.NSDictionary launchOptions, System.Action<bool> completion);
public virtual System.Threading.Tasks.Task<bool> OpenInMapsAsync (Foundation.NSDictionary launchOptions);
public static void OpenMaps (MKMapItem[] mapItems, Foundation.NSDictionary launchOptions, System.Action<bool> completion);
public static System.Threading.Tasks.Task<bool> OpenMapsAsync (MKMapItem[] mapItems, Foundation.NSDictionary launchOptions);

Namespace Metal

Type Changed: Metal.IMTLAccelerationStructure

Modified properties:

-public abstract UIntPtr Size { get; }
+public virtual UIntPtr Size { get; }

Added property:

public virtual MTLResourceId GpuResourceId { get; }

Type Changed: Metal.IMTLAccelerationStructureCommandEncoder

Modified methods:

-public abstract void BuildAccelerationStructure (IMTLAccelerationStructure accelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset)
+public virtual void BuildAccelerationStructure (IMTLAccelerationStructure accelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset)
-public abstract void CopyAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure)
+public virtual void CopyAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure)
-public abstract void CopyAndCompactAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure)
+public virtual void CopyAndCompactAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure)
-public abstract void RefitAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset)
+public virtual void RefitAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset)
-public abstract void SampleCountersInBuffer (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier)
+public virtual void SampleCountersInBuffer (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier)
-public abstract void UpdateFence (IMTLFence fence)
+public virtual void UpdateFence (IMTLFence fence)
-public abstract void UseHeap (IMTLHeap heap)
+public virtual void UseHeap (IMTLHeap heap)
-public abstract void UseHeaps (IMTLHeap[] heaps, UIntPtr count)
+public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count)
-public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage)
+public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage)
-public abstract void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage)
+public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage)
-public abstract void WaitForFence (IMTLFence fence)
+public virtual void WaitForFence (IMTLFence fence)
-public abstract void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset)
+public virtual void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset)
-public abstract void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset, MTLDataType sizeDataType)
+public virtual void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset, MTLDataType sizeDataType)

Added method:

public virtual void RefitAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset, MTLAccelerationStructureRefitOptions options);

Type Changed: Metal.IMTLArgumentEncoder

Modified properties:

-public abstract UIntPtr Alignment { get; }
+public virtual UIntPtr Alignment { get; }
-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract UIntPtr EncodedLength { get; }
+public virtual UIntPtr EncodedLength { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }

Modified methods:

-public abstract IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr index)
+public virtual IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr index)
-public abstract IntPtr GetConstantData (UIntPtr index)
+public virtual IntPtr GetConstantData (UIntPtr index)
-public abstract void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr index)
+public virtual void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr index)
-public abstract void SetArgumentBuffer (IMTLBuffer argumentBuffer, UIntPtr offset)
+public virtual void SetArgumentBuffer (IMTLBuffer argumentBuffer, UIntPtr offset)
-public abstract void SetArgumentBuffer (IMTLBuffer argumentBuffer, UIntPtr startOffset, UIntPtr arrayElement)
+public virtual void SetArgumentBuffer (IMTLBuffer argumentBuffer, UIntPtr startOffset, UIntPtr arrayElement)
-public abstract void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
-public abstract void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range)
+public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range)
-public abstract void SetComputePipelineState (IMTLComputePipelineState pipeline, UIntPtr index)
+public virtual void SetComputePipelineState (IMTLComputePipelineState pipeline, UIntPtr index)
-public abstract void SetComputePipelineStates (IMTLComputePipelineState[] pipelines, Foundation.NSRange range)
+public virtual void SetComputePipelineStates (IMTLComputePipelineState[] pipelines, Foundation.NSRange range)
-public abstract void SetIndirectCommandBuffer (IMTLIndirectCommandBuffer indirectCommandBuffer, UIntPtr index)
+public virtual void SetIndirectCommandBuffer (IMTLIndirectCommandBuffer indirectCommandBuffer, UIntPtr index)
-public abstract void SetIndirectCommandBuffers (IMTLIndirectCommandBuffer[] buffers, Foundation.NSRange range)
+public virtual void SetIndirectCommandBuffers (IMTLIndirectCommandBuffer[] buffers, Foundation.NSRange range)
-public abstract void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr index)
+public virtual void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr index)
-public abstract void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range)
+public virtual void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range)
-public abstract void SetRenderPipelineState (IMTLRenderPipelineState pipeline, UIntPtr index)
+public virtual void SetRenderPipelineState (IMTLRenderPipelineState pipeline, UIntPtr index)
-public abstract void SetRenderPipelineStates (IMTLRenderPipelineState[] pipelines, Foundation.NSRange range)
+public virtual void SetRenderPipelineStates (IMTLRenderPipelineState[] pipelines, Foundation.NSRange range)
-public abstract void SetSamplerState (IMTLSamplerState sampler, UIntPtr index)
+public virtual void SetSamplerState (IMTLSamplerState sampler, UIntPtr index)
-public abstract void SetSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
+public virtual void SetSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
-public abstract void SetTexture (IMTLTexture texture, UIntPtr index)
+public virtual void SetTexture (IMTLTexture texture, UIntPtr index)
-public abstract void SetTextures (IMTLTexture[] textures, Foundation.NSRange range)
+public virtual void SetTextures (IMTLTexture[] textures, Foundation.NSRange range)
-public abstract void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr index)
+public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr index)
-public abstract void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range)
+public virtual void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range)

Type Changed: Metal.IMTLBinaryArchive

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }

Modified methods:

-public abstract bool AddComputePipelineFunctions (MTLComputePipelineDescriptor descriptor, out Foundation.NSError error)
+public virtual bool AddComputePipelineFunctions (MTLComputePipelineDescriptor descriptor, out Foundation.NSError error)
-public abstract bool AddFunctionWithDescriptor (MTLFunctionDescriptor descriptor, IMTLLibrary library, out Foundation.NSError error)
+public virtual bool AddFunctionWithDescriptor (MTLFunctionDescriptor descriptor, IMTLLibrary library, out Foundation.NSError error)
-public abstract bool AddRenderPipelineFunctions (MTLRenderPipelineDescriptor descriptor, out Foundation.NSError error)
+public virtual bool AddRenderPipelineFunctions (MTLRenderPipelineDescriptor descriptor, out Foundation.NSError error)
-public abstract bool AddTileRenderPipelineFunctions (MTLTileRenderPipelineDescriptor descriptor, out Foundation.NSError error)
+public virtual bool AddTileRenderPipelineFunctions (MTLTileRenderPipelineDescriptor descriptor, out Foundation.NSError error)
-public abstract bool Serialize (Foundation.NSUrl url, out Foundation.NSError error)
+public virtual bool Serialize (Foundation.NSUrl url, out Foundation.NSError error)

Type Changed: Metal.IMTLBlitCommandEncoder

Modified methods:

-public abstract void Copy (IMTLTexture sourceTexture, IMTLTexture destinationTexture)
+public virtual void Copy (IMTLTexture sourceTexture, IMTLTexture destinationTexture)
-public abstract void Copy (IMTLIndirectCommandBuffer source, Foundation.NSRange sourceRange, IMTLIndirectCommandBuffer destination, UIntPtr destinationIndex)
+public virtual void Copy (IMTLIndirectCommandBuffer source, Foundation.NSRange sourceRange, IMTLIndirectCommandBuffer destination, UIntPtr destinationIndex)
-public abstract void Copy (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, UIntPtr sliceCount, UIntPtr levelCount)
+public virtual void Copy (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, UIntPtr sliceCount, UIntPtr levelCount)
-public abstract void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr size)
+public virtual void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr size)
-public abstract void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, UIntPtr sourceBytesPerRow, UIntPtr sourceBytesPerImage, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin)
+public virtual void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, UIntPtr sourceBytesPerRow, UIntPtr sourceBytesPerImage, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin)
-public abstract void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, UIntPtr sourceBytesPerRow, UIntPtr sourceBytesPerImage, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin, MTLBlitOption options)
+public virtual void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, UIntPtr sourceBytesPerRow, UIntPtr sourceBytesPerImage, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin, MTLBlitOption options)
-public abstract void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr destinatinBytesPerRow, UIntPtr destinationBytesPerImage)
+public virtual void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr destinatinBytesPerRow, UIntPtr destinationBytesPerImage)
-public abstract void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin)
+public virtual void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin)
-public abstract void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr destinatinBytesPerRow, UIntPtr destinationBytesPerImage, MTLBlitOption options)
+public virtual void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr destinatinBytesPerRow, UIntPtr destinationBytesPerImage, MTLBlitOption options)
-public abstract void FillBuffer (IMTLBuffer buffer, Foundation.NSRange range, byte value)
+public virtual void FillBuffer (IMTLBuffer buffer, Foundation.NSRange range, byte value)
-public abstract void GenerateMipmapsForTexture (IMTLTexture texture)
+public virtual void GenerateMipmapsForTexture (IMTLTexture texture)
-public abstract void Optimize (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange range)
+public virtual void Optimize (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange range)
-public abstract void OptimizeContentsForCpuAccess (IMTLTexture texture)
+public virtual void OptimizeContentsForCpuAccess (IMTLTexture texture)
-public abstract void OptimizeContentsForCpuAccess (IMTLTexture texture, UIntPtr slice, UIntPtr level)
+public virtual void OptimizeContentsForCpuAccess (IMTLTexture texture, UIntPtr slice, UIntPtr level)
-public abstract void OptimizeContentsForGpuAccess (IMTLTexture texture)
+public virtual void OptimizeContentsForGpuAccess (IMTLTexture texture)
-public abstract void OptimizeContentsForGpuAccess (IMTLTexture texture, UIntPtr slice, UIntPtr level)
+public virtual void OptimizeContentsForGpuAccess (IMTLTexture texture, UIntPtr slice, UIntPtr level)
-public abstract void ResetCommands (IMTLIndirectCommandBuffer buffer, Foundation.NSRange range)
+public virtual void ResetCommands (IMTLIndirectCommandBuffer buffer, Foundation.NSRange range)
-public abstract void ResolveCounters (IMTLCounterSampleBuffer sampleBuffer, Foundation.NSRange range, IMTLBuffer destinationBuffer, UIntPtr destinationOffset)
+public virtual void ResolveCounters (IMTLCounterSampleBuffer sampleBuffer, Foundation.NSRange range, IMTLBuffer destinationBuffer, UIntPtr destinationOffset)
-public abstract void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier)
+public virtual void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier)
-public abstract void Synchronize (IMTLResource resource)
+public virtual void Synchronize (IMTLResource resource)
-public abstract void Synchronize (IMTLTexture texture, UIntPtr slice, UIntPtr level)
+public virtual void Synchronize (IMTLTexture texture, UIntPtr slice, UIntPtr level)
-public abstract void Update (IMTLFence fence)
+public virtual void Update (IMTLFence fence)
-public abstract void Wait (IMTLFence fence)
+public virtual void Wait (IMTLFence fence)

Added methods:

public virtual void GetTextureAccessCounters (IMTLTexture texture, MTLRegion region, UIntPtr mipLevel, UIntPtr slice, bool resetCounters, IMTLBuffer countersBuffer, UIntPtr countersBufferOffset);
public virtual void ResetTextureAccessCounters (IMTLTexture texture, MTLRegion region, UIntPtr mipLevel, UIntPtr slice);

Type Changed: Metal.IMTLBuffer

Modified properties:

-public abstract IntPtr Contents { get; }
+public virtual IntPtr Contents { get; }
-public abstract UIntPtr Length { get; }
+public virtual UIntPtr Length { get; }
-public abstract IMTLBuffer RemoteStorageBuffer { get; }
+public virtual IMTLBuffer RemoteStorageBuffer { get; }

Added property:

public virtual ulong GpuAddress { get; }

Modified methods:

-public abstract void AddDebugMarker (string marker, Foundation.NSRange range)
+public virtual void AddDebugMarker (string marker, Foundation.NSRange range)
-public abstract IMTLBuffer CreateRemoteBuffer (IMTLDevice device)
+public virtual IMTLBuffer CreateRemoteBuffer (IMTLDevice device)
-public abstract IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset, UIntPtr bytesPerRow)
+public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset, UIntPtr bytesPerRow)
-public abstract void DidModify (Foundation.NSRange range)
+public virtual void DidModify (Foundation.NSRange range)
-public abstract void RemoveAllDebugMarkers ()
+public virtual void RemoveAllDebugMarkers ()

Type Changed: Metal.IMTLCaptureScope

Modified properties:

-public abstract IMTLCommandQueue CommandQueue { get; }
+public virtual IMTLCommandQueue CommandQueue { get; }
-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }

Modified methods:

-public abstract void BeginScope ()
+public virtual void BeginScope ()
-public abstract void EndScope ()
+public virtual void EndScope ()

Type Changed: Metal.IMTLCommandBuffer

Modified properties:

-public abstract IMTLBlitCommandEncoder BlitCommandEncoder { get; }
+public virtual IMTLBlitCommandEncoder BlitCommandEncoder { get; }
-public abstract IMTLCommandQueue CommandQueue { get; }
+public virtual IMTLCommandQueue CommandQueue { get; }
-public abstract IMTLComputeCommandEncoder ComputeCommandEncoder { get; }
+public virtual IMTLComputeCommandEncoder ComputeCommandEncoder { get; }
-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract Foundation.NSError Error { get; }
+public virtual Foundation.NSError Error { get; }
-public abstract MTLCommandBufferErrorOption ErrorOptions { get; }
+public virtual MTLCommandBufferErrorOption ErrorOptions { get; }
-public abstract double GpuEndTime { get; }
+public virtual double GpuEndTime { get; }
-public abstract double GpuStartTime { get; }
+public virtual double GpuStartTime { get; }
-public abstract double KernelEndTime { get; }
+public virtual double KernelEndTime { get; }
-public abstract double KernelStartTime { get; }
+public virtual double KernelStartTime { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }
-public abstract IMTLLogContainer Logs { get; }
+public virtual IMTLLogContainer Logs { get; }
-public abstract IMTLResourceStateCommandEncoder ResourceStateCommandEncoder { get; }
+public virtual IMTLResourceStateCommandEncoder ResourceStateCommandEncoder { get; }
-public abstract bool RetainedReferences { get; }
+public virtual bool RetainedReferences { get; }
-public abstract MTLCommandBufferStatus Status { get; }
+public virtual MTLCommandBufferStatus Status { get; }

Modified methods:

-public abstract void AddCompletedHandler (System.Action%LESSERTHANREPLACEMENT%IMTLCommandBuffer%GREATERTHANREPLACEMENT% block)
+public virtual void AddCompletedHandler (System.Action%LESSERTHANREPLACEMENT%IMTLCommandBuffer%GREATERTHANREPLACEMENT% block)
-public abstract void AddScheduledHandler (System.Action%LESSERTHANREPLACEMENT%IMTLCommandBuffer%GREATERTHANREPLACEMENT% block)
+public virtual void AddScheduledHandler (System.Action%LESSERTHANREPLACEMENT%IMTLCommandBuffer%GREATERTHANREPLACEMENT% block)
-public abstract void Commit ()
+public virtual void Commit ()
-public abstract IMTLComputeCommandEncoder ComputeCommandEncoderDispatch (MTLDispatchType dispatchType)
+public virtual IMTLComputeCommandEncoder ComputeCommandEncoderDispatch (MTLDispatchType dispatchType)
-public abstract IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder ()
+public virtual IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder ()
-public abstract IMTLBlitCommandEncoder CreateBlitCommandEncoder (MTLBlitPassDescriptor blitPassDescriptor)
+public virtual IMTLBlitCommandEncoder CreateBlitCommandEncoder (MTLBlitPassDescriptor blitPassDescriptor)
-public abstract IMTLComputeCommandEncoder CreateComputeCommandEncoder (MTLComputePassDescriptor computePassDescriptor)
+public virtual IMTLComputeCommandEncoder CreateComputeCommandEncoder (MTLComputePassDescriptor computePassDescriptor)
-public abstract IMTLParallelRenderCommandEncoder CreateParallelRenderCommandEncoder (MTLRenderPassDescriptor renderPassDescriptor)
+public virtual IMTLParallelRenderCommandEncoder CreateParallelRenderCommandEncoder (MTLRenderPassDescriptor renderPassDescriptor)
-public abstract IMTLRenderCommandEncoder CreateRenderCommandEncoder (MTLRenderPassDescriptor renderPassDescriptor)
+public virtual IMTLRenderCommandEncoder CreateRenderCommandEncoder (MTLRenderPassDescriptor renderPassDescriptor)
-public abstract IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (MTLResourceStatePassDescriptor resourceStatePassDescriptor)
+public virtual IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (MTLResourceStatePassDescriptor resourceStatePassDescriptor)
-public abstract void EncodeSignal (IMTLEvent event, ulong value)
+public virtual void EncodeSignal (IMTLEvent event, ulong value)
-public abstract void EncodeWait (IMTLEvent event, ulong value)
+public virtual void EncodeWait (IMTLEvent event, ulong value)
-public abstract void Enqueue ()
+public virtual void Enqueue ()
-public abstract void PopDebugGroup ()
+public virtual void PopDebugGroup ()
-public abstract void PresentDrawable (IMTLDrawable drawable)
+public virtual void PresentDrawable (IMTLDrawable drawable)
-public abstract void PresentDrawable (IMTLDrawable drawable, double presentationTime)
+public virtual void PresentDrawable (IMTLDrawable drawable, double presentationTime)
-public abstract void PresentDrawableAfter (IMTLDrawable drawable, double duration)
+public virtual void PresentDrawableAfter (IMTLDrawable drawable, double duration)
-public abstract void PushDebugGroup (string string)
+public virtual void PushDebugGroup (string string)
-public abstract void WaitUntilCompleted ()
+public virtual void WaitUntilCompleted ()
-public abstract void WaitUntilScheduled ()
+public virtual void WaitUntilScheduled ()

Added method:

public virtual IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (MTLAccelerationStructurePassDescriptor descriptor);

Type Changed: Metal.IMTLCommandBufferEncoderInfo

Modified properties:

-public abstract string[] DebugSignposts { get; }
+public virtual string[] DebugSignposts { get; }
-public abstract MTLCommandEncoderErrorState ErrorState { get; }
+public virtual MTLCommandEncoderErrorState ErrorState { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }

Type Changed: Metal.IMTLCommandEncoder

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }

Modified methods:

-public abstract void EndEncoding ()
+public virtual void EndEncoding ()
-public abstract void InsertDebugSignpost (string signpost)
+public virtual void InsertDebugSignpost (string signpost)
-public abstract void PopDebugGroup ()
+public virtual void PopDebugGroup ()
-public abstract void PushDebugGroup (string debugGroup)
+public virtual void PushDebugGroup (string debugGroup)

Type Changed: Metal.IMTLCommandQueue

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }

Modified methods:

-public abstract IMTLCommandBuffer CommandBuffer ()
+public virtual IMTLCommandBuffer CommandBuffer ()
-public abstract IMTLCommandBuffer CommandBufferWithUnretainedReferences ()
+public virtual IMTLCommandBuffer CommandBufferWithUnretainedReferences ()
-public abstract IMTLCommandBuffer CreateCommandBuffer (MTLCommandBufferDescriptor descriptor)
+public virtual IMTLCommandBuffer CreateCommandBuffer (MTLCommandBufferDescriptor descriptor)
-public abstract void InsertDebugCaptureBoundary ()
+public virtual void InsertDebugCaptureBoundary ()

Type Changed: Metal.IMTLComputeCommandEncoder

Modified properties:

-public abstract MTLDispatchType DispatchType { get; }
+public virtual MTLDispatchType DispatchType { get; }

Modified methods:

-public abstract void DispatchThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerThreadgroup)
+public virtual void DispatchThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerThreadgroup)
-public abstract void DispatchThreadgroups (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerThreadgroup)
+public virtual void DispatchThreadgroups (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerThreadgroup)
-public abstract void DispatchThreads (MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup)
+public virtual void DispatchThreads (MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup)
-public abstract void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange)
+public virtual void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange)
-public abstract void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, UIntPtr indirectBufferOffset)
+public virtual void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, UIntPtr indirectBufferOffset)
-public abstract void MemoryBarrier (MTLBarrierScope scope)
+public virtual void MemoryBarrier (MTLBarrierScope scope)
-public abstract void MemoryBarrier (IMTLResource[] resources, UIntPtr count)
+public virtual void MemoryBarrier (IMTLResource[] resources, UIntPtr count)
-public abstract void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier)
+public virtual void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier)
-public abstract void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex)
+public virtual void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex)
-public abstract void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
-public abstract void SetBufferOffset (UIntPtr offset, UIntPtr index)
+public virtual void SetBufferOffset (UIntPtr offset, UIntPtr index)
-public abstract void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range)
+public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range)
-public abstract void SetBytes (IntPtr bytes, UIntPtr length, UIntPtr index)
+public virtual void SetBytes (IntPtr bytes, UIntPtr length, UIntPtr index)
-public abstract void SetComputePipelineState (IMTLComputePipelineState state)
+public virtual void SetComputePipelineState (IMTLComputePipelineState state)
-public abstract void SetImageblock (UIntPtr width, UIntPtr height)
+public virtual void SetImageblock (UIntPtr width, UIntPtr height)
-public abstract void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex)
+public virtual void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex)
-public abstract void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range)
+public virtual void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range)
-public abstract void SetSamplerState (IMTLSamplerState sampler, UIntPtr index)
+public virtual void SetSamplerState (IMTLSamplerState sampler, UIntPtr index)
-public abstract void SetSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index)
+public virtual void SetSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index)
-public abstract void SetSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
+public virtual void SetSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
-public abstract void SetSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range)
+public virtual void SetSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range)
-public abstract void SetStage (MTLRegion region)
+public virtual void SetStage (MTLRegion region)
-public abstract void SetStageInRegion (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
+public virtual void SetStageInRegion (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
-public abstract void SetTexture (IMTLTexture texture, UIntPtr index)
+public virtual void SetTexture (IMTLTexture texture, UIntPtr index)
-public abstract void SetTextures (IMTLTexture[] textures, Foundation.NSRange range)
+public virtual void SetTextures (IMTLTexture[] textures, Foundation.NSRange range)
-public abstract void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr index)
+public virtual void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr index)
-public abstract void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr bufferIndex)
+public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr bufferIndex)
-public abstract void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range)
+public virtual void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range)
-public abstract void Update (IMTLFence fence)
+public virtual void Update (IMTLFence fence)
-public abstract void UseHeap (IMTLHeap heap)
+public virtual void UseHeap (IMTLHeap heap)
-public abstract void UseHeaps (IMTLHeap[] heaps, UIntPtr count)
+public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count)
-public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage)
+public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage)
-public abstract void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage)
+public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage)
-public abstract void Wait (IMTLFence fence)
+public virtual void Wait (IMTLFence fence)

Added methods:

public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
public virtual void SetBufferOffset (UIntPtr offset, UIntPtr stride, UIntPtr index);
public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range);
public virtual void SetBytes (IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index);

Type Changed: Metal.IMTLComputePipelineState

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }
-public abstract UIntPtr MaxTotalThreadsPerThreadgroup { get; }
+public virtual UIntPtr MaxTotalThreadsPerThreadgroup { get; }
-public abstract UIntPtr StaticThreadgroupMemoryLength { get; }
+public virtual UIntPtr StaticThreadgroupMemoryLength { get; }
-public abstract bool SupportIndirectCommandBuffers { get; }
+public virtual bool SupportIndirectCommandBuffers { get; }
-public abstract UIntPtr ThreadExecutionWidth { get; }
+public virtual UIntPtr ThreadExecutionWidth { get; }

Added property:

public virtual MTLResourceId GpuResourceId { get; }

Modified methods:

-public abstract IMTLComputePipelineState CreateComputePipelineState (IMTLFunction[] functions, out Foundation.NSError error)
+public virtual IMTLComputePipelineState CreateComputePipelineState (IMTLFunction[] functions, out Foundation.NSError error)
-public abstract IMTLFunctionHandle CreateFunctionHandle (IMTLFunction function)
+public virtual IMTLFunctionHandle CreateFunctionHandle (IMTLFunction function)
-public abstract IMTLIntersectionFunctionTable CreateIntersectionFunctionTable (MTLIntersectionFunctionTableDescriptor descriptor)
+public virtual IMTLIntersectionFunctionTable CreateIntersectionFunctionTable (MTLIntersectionFunctionTableDescriptor descriptor)
-public abstract IMTLVisibleFunctionTable CreateVisibleFunctionTable (MTLVisibleFunctionTableDescriptor descriptor)
+public virtual IMTLVisibleFunctionTable CreateVisibleFunctionTable (MTLVisibleFunctionTableDescriptor descriptor)
-public abstract UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions)
+public virtual UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions)

Type Changed: Metal.IMTLCounter

Modified properties:

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

Type Changed: Metal.IMTLCounterSampleBuffer

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }
-public abstract UIntPtr SampleCount { get; }
+public virtual UIntPtr SampleCount { get; }

Modified methods:

-public abstract Foundation.NSData ResolveCounterRange (Foundation.NSRange range)
+public virtual Foundation.NSData ResolveCounterRange (Foundation.NSRange range)

Type Changed: Metal.IMTLCounterSet

Modified properties:

-public abstract IMTLCounter[] Counters { get; }
+public virtual IMTLCounter[] Counters { get; }
-public abstract string Name { get; }
+public virtual string Name { get; }

Type Changed: Metal.IMTLDepthStencilState

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }

Type Changed: Metal.IMTLDevice

Modified properties:

-public abstract MTLArgumentBuffersTier ArgumentBuffersSupport { get; }
+public virtual MTLArgumentBuffersTier ArgumentBuffersSupport { get; }
-public abstract bool BarycentricCoordsSupported { get; }
+public virtual bool BarycentricCoordsSupported { get; }
-public abstract IMTLCounterSet[] CounterSets { get; }
+public virtual IMTLCounterSet[] CounterSets { get; }
-public abstract UIntPtr CurrentAllocatedSize { get; }
+public virtual UIntPtr CurrentAllocatedSize { get; }
-public abstract bool Depth24Stencil8PixelFormatSupported { get; }
+public virtual bool Depth24Stencil8PixelFormatSupported { get; }
-public abstract bool HasUnifiedMemory { get; }
+public virtual bool HasUnifiedMemory { get; }
-public abstract bool Headless { get; }
+public virtual bool Headless { get; }
-public abstract MTLDeviceLocation Location { get; }
+public virtual MTLDeviceLocation Location { get; }
-public abstract UIntPtr LocationNumber { get; }
+public virtual UIntPtr LocationNumber { get; }
-public abstract bool LowPower { get; }
+public virtual bool LowPower { get; }
-public abstract UIntPtr MaxArgumentBufferSamplerCount { get; }
+public virtual UIntPtr MaxArgumentBufferSamplerCount { get; }
-public abstract UIntPtr MaxBufferLength { get; }
+public virtual UIntPtr MaxBufferLength { get; }
-public abstract UIntPtr MaxThreadgroupMemoryLength { get; }
+public virtual UIntPtr MaxThreadgroupMemoryLength { get; }
-public abstract MTLSize MaxThreadsPerThreadgroup { get; }
+public virtual MTLSize MaxThreadsPerThreadgroup { get; }
-public abstract ulong MaxTransferRate { get; }
+public virtual ulong MaxTransferRate { get; }
-public abstract string Name { get; }
+public virtual string Name { get; }
-public abstract uint PeerCount { get; }
+public virtual uint PeerCount { get; }
-public abstract ulong PeerGroupId { get; }
+public virtual ulong PeerGroupId { get; }
-public abstract uint PeerIndex { get; }
+public virtual uint PeerIndex { get; }
-public abstract bool ProgrammableSamplePositionsSupported { get; }
+public virtual bool ProgrammableSamplePositionsSupported { get; }
-public abstract bool RasterOrderGroupsSupported { get; }
+public virtual bool RasterOrderGroupsSupported { get; }
-public abstract MTLReadWriteTextureTier ReadWriteTextureSupport { get; }
+public virtual MTLReadWriteTextureTier ReadWriteTextureSupport { get; }
-public abstract ulong RecommendedMaxWorkingSetSize { get; }
+public virtual ulong RecommendedMaxWorkingSetSize { get; }
-public abstract ulong RegistryId { get; }
+public virtual ulong RegistryId { get; }
-public abstract bool Removable { get; }
+public virtual bool Removable { get; }
-public abstract UIntPtr SparseTileSizeInBytes { get; }
+public virtual UIntPtr SparseTileSizeInBytes { get; }
-public abstract bool Supports32BitFloatFiltering { get; }
+public virtual bool Supports32BitFloatFiltering { get; }
-public abstract bool Supports32BitMsaa { get; }
+public virtual bool Supports32BitMsaa { get; }
-public abstract bool SupportsBCTextureCompression { get; }
+public virtual bool SupportsBCTextureCompression { get; }
-public abstract bool SupportsDynamicLibraries { get; }
+public virtual bool SupportsDynamicLibraries { get; }
-public abstract bool SupportsFunctionPointers { get; }
+public virtual bool SupportsFunctionPointers { get; }
-public abstract bool SupportsFunctionPointersFromRender { get; }
+public virtual bool SupportsFunctionPointersFromRender { get; }
-public abstract bool SupportsPrimitiveMotionBlur { get; }
+public virtual bool SupportsPrimitiveMotionBlur { get; }
-public abstract bool SupportsPullModelInterpolation { get; }
+public virtual bool SupportsPullModelInterpolation { get; }
-public abstract bool SupportsQueryTextureLod { get; }
+public virtual bool SupportsQueryTextureLod { get; }
-public abstract bool SupportsRaytracing { get; }
+public virtual bool SupportsRaytracing { get; }
-public abstract bool SupportsRaytracingFromRender { get; }
+public virtual bool SupportsRaytracingFromRender { get; }
-public abstract bool SupportsRenderDynamicLibraries { get; }
+public virtual bool SupportsRenderDynamicLibraries { get; }
-public abstract bool SupportsShaderBarycentricCoordinates { get; }
+public virtual bool SupportsShaderBarycentricCoordinates { get; }

Added properties:

public virtual MTLArchitecture Architecture { get; }
public virtual UIntPtr MaximumConcurrentCompilationTaskCount { get; }
public virtual bool ShouldMaximizeConcurrentCompilation { get; set; }

Modified methods:

-public abstract IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor)
+public virtual IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor)
-public abstract IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size)
+public virtual IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size)
-public abstract MTLAccelerationStructureSizes CreateAccelerationStructureSizes (MTLAccelerationStructureDescriptor descriptor)
+public virtual MTLAccelerationStructureSizes CreateAccelerationStructureSizes (MTLAccelerationStructureDescriptor descriptor)
-public abstract IMTLArgumentEncoder CreateArgumentEncoder (MTLArgumentDescriptor[] arguments)
+public virtual IMTLArgumentEncoder CreateArgumentEncoder (MTLArgumentDescriptor[] arguments)
-public abstract IMTLBinaryArchive CreateBinaryArchive (MTLBinaryArchiveDescriptor descriptor, out Foundation.NSError error)
+public virtual IMTLBinaryArchive CreateBinaryArchive (MTLBinaryArchiveDescriptor descriptor, out Foundation.NSError error)
-public abstract IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options)
+public virtual IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options)
-public abstract IMTLBuffer CreateBuffer (IntPtr pointer, UIntPtr length, MTLResourceOptions options)
+public virtual IMTLBuffer CreateBuffer (IntPtr pointer, UIntPtr length, MTLResourceOptions options)
-public abstract IMTLBuffer CreateBufferNoCopy (IntPtr pointer, UIntPtr length, MTLResourceOptions options, MTLDeallocator deallocator)
+public virtual IMTLBuffer CreateBufferNoCopy (IntPtr pointer, UIntPtr length, MTLResourceOptions options, MTLDeallocator deallocator)
-public abstract IMTLCommandQueue CreateCommandQueue ()
+public virtual IMTLCommandQueue CreateCommandQueue ()
-public abstract IMTLCommandQueue CreateCommandQueue (UIntPtr maxCommandBufferCount)
+public virtual IMTLCommandQueue CreateCommandQueue (UIntPtr maxCommandBufferCount)
-public abstract void CreateComputePipelineState (IMTLFunction computeFunction, System.Action%LESSERTHANREPLACEMENT%IMTLComputePipelineState,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateComputePipelineState (IMTLFunction computeFunction, System.Action%LESSERTHANREPLACEMENT%IMTLComputePipelineState,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract IMTLComputePipelineState CreateComputePipelineState (IMTLFunction computeFunction, out Foundation.NSError error)
+public virtual IMTLComputePipelineState CreateComputePipelineState (IMTLFunction computeFunction, out Foundation.NSError error)
-public abstract void CreateComputePipelineState (IMTLFunction computeFunction, MTLPipelineOption options, System.Action%LESSERTHANREPLACEMENT%IMTLComputePipelineState,Metal.MTLComputePipelineReflection,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateComputePipelineState (IMTLFunction computeFunction, MTLPipelineOption options, System.Action%LESSERTHANREPLACEMENT%IMTLComputePipelineState,Metal.MTLComputePipelineReflection,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract void CreateComputePipelineState (MTLComputePipelineDescriptor descriptor, MTLPipelineOption options, MTLNewComputePipelineStateWithReflectionCompletionHandler completionHandler)
+public virtual void CreateComputePipelineState (MTLComputePipelineDescriptor descriptor, MTLPipelineOption options, MTLNewComputePipelineStateWithReflectionCompletionHandler completionHandler)
-public abstract IMTLComputePipelineState CreateComputePipelineState (IMTLFunction computeFunction, MTLPipelineOption options, out MTLComputePipelineReflection reflection, out Foundation.NSError error)
+public virtual IMTLComputePipelineState CreateComputePipelineState (IMTLFunction computeFunction, MTLPipelineOption options, out MTLComputePipelineReflection reflection, out Foundation.NSError error)
-public abstract IMTLComputePipelineState CreateComputePipelineState (MTLComputePipelineDescriptor descriptor, MTLPipelineOption options, out MTLComputePipelineReflection reflection, out Foundation.NSError error)
+public virtual IMTLComputePipelineState CreateComputePipelineState (MTLComputePipelineDescriptor descriptor, MTLPipelineOption options, out MTLComputePipelineReflection reflection, out Foundation.NSError error)
-public abstract IMTLCounterSampleBuffer CreateCounterSampleBuffer (MTLCounterSampleBufferDescriptor descriptor, out Foundation.NSError error)
+public virtual IMTLCounterSampleBuffer CreateCounterSampleBuffer (MTLCounterSampleBufferDescriptor descriptor, out Foundation.NSError error)
-public abstract IMTLLibrary CreateDefaultLibrary ()
+public virtual IMTLLibrary CreateDefaultLibrary ()
-public abstract IMTLLibrary CreateDefaultLibrary (Foundation.NSBundle bundle, out Foundation.NSError error)
+public virtual IMTLLibrary CreateDefaultLibrary (Foundation.NSBundle bundle, out Foundation.NSError error)
-public abstract IMTLDepthStencilState CreateDepthStencilState (MTLDepthStencilDescriptor descriptor)
+public virtual IMTLDepthStencilState CreateDepthStencilState (MTLDepthStencilDescriptor descriptor)
-public abstract IMTLDynamicLibrary CreateDynamicLibrary (Foundation.NSUrl url, out Foundation.NSError error)
+public virtual IMTLDynamicLibrary CreateDynamicLibrary (Foundation.NSUrl url, out Foundation.NSError error)
-public abstract IMTLDynamicLibrary CreateDynamicLibrary (IMTLLibrary library, out Foundation.NSError error)
+public virtual IMTLDynamicLibrary CreateDynamicLibrary (IMTLLibrary library, out Foundation.NSError error)
-public abstract IMTLEvent CreateEvent ()
+public virtual IMTLEvent CreateEvent ()
-public abstract IMTLFence CreateFence ()
+public virtual IMTLFence CreateFence ()
-public abstract IMTLHeap CreateHeap (MTLHeapDescriptor descriptor)
+public virtual IMTLHeap CreateHeap (MTLHeapDescriptor descriptor)
-public abstract IMTLIndirectCommandBuffer CreateIndirectCommandBuffer (MTLIndirectCommandBufferDescriptor descriptor, UIntPtr maxCount, MTLResourceOptions options)
+public virtual IMTLIndirectCommandBuffer CreateIndirectCommandBuffer (MTLIndirectCommandBufferDescriptor descriptor, UIntPtr maxCount, MTLResourceOptions options)
-public abstract IMTLLibrary CreateLibrary (CoreFoundation.DispatchData data, out Foundation.NSError error)
+public virtual IMTLLibrary CreateLibrary (CoreFoundation.DispatchData data, out Foundation.NSError error)
-public abstract IMTLLibrary CreateLibrary (Foundation.NSUrl url, out Foundation.NSError error)
+public virtual IMTLLibrary CreateLibrary (Foundation.NSUrl url, out Foundation.NSError error)
-public abstract void CreateLibrary (MTLStitchedLibraryDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLLibrary,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateLibrary (MTLStitchedLibraryDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLLibrary,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract IMTLLibrary CreateLibrary (MTLStitchedLibraryDescriptor descriptor, out Foundation.NSError error)
+public virtual IMTLLibrary CreateLibrary (MTLStitchedLibraryDescriptor descriptor, out Foundation.NSError error)
-public abstract IMTLLibrary CreateLibrary (string filepath, out Foundation.NSError error)
+public virtual IMTLLibrary CreateLibrary (string filepath, out Foundation.NSError error)
-public abstract void CreateLibrary (string source, MTLCompileOptions options, System.Action%LESSERTHANREPLACEMENT%IMTLLibrary,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateLibrary (string source, MTLCompileOptions options, System.Action%LESSERTHANREPLACEMENT%IMTLLibrary,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract IMTLLibrary CreateLibrary (string source, MTLCompileOptions options, out Foundation.NSError error)
+public virtual IMTLLibrary CreateLibrary (string source, MTLCompileOptions options, out Foundation.NSError error)
-public abstract IMTLRasterizationRateMap CreateRasterizationRateMap (MTLRasterizationRateMapDescriptor descriptor)
+public virtual IMTLRasterizationRateMap CreateRasterizationRateMap (MTLRasterizationRateMapDescriptor descriptor)
-public abstract void CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLRenderPipelineState,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLRenderPipelineState,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract IMTLRenderPipelineState CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, out Foundation.NSError error)
+public virtual IMTLRenderPipelineState CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, out Foundation.NSError error)
-public abstract void CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, MTLPipelineOption options, System.Action%LESSERTHANREPLACEMENT%IMTLRenderPipelineState,Metal.MTLRenderPipelineReflection,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, MTLPipelineOption options, System.Action%LESSERTHANREPLACEMENT%IMTLRenderPipelineState,Metal.MTLRenderPipelineReflection,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract void CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler)
+public virtual void CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler)
-public abstract IMTLRenderPipelineState CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error)
+public virtual IMTLRenderPipelineState CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error)
-public abstract IMTLRenderPipelineState CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error)
+public virtual IMTLRenderPipelineState CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error)
-public abstract IMTLSamplerState CreateSamplerState (MTLSamplerDescriptor descriptor)
+public virtual IMTLSamplerState CreateSamplerState (MTLSamplerDescriptor descriptor)
-public abstract IMTLSharedEvent CreateSharedEvent ()
+public virtual IMTLSharedEvent CreateSharedEvent ()
-public abstract IMTLSharedEvent CreateSharedEvent (MTLSharedEventHandle sharedEventHandle)
+public virtual IMTLSharedEvent CreateSharedEvent (MTLSharedEventHandle sharedEventHandle)
-public abstract IMTLTexture CreateSharedTexture (MTLSharedTextureHandle sharedHandle)
+public virtual IMTLTexture CreateSharedTexture (MTLSharedTextureHandle sharedHandle)
-public abstract IMTLTexture CreateSharedTexture (MTLTextureDescriptor descriptor)
+public virtual IMTLTexture CreateSharedTexture (MTLTextureDescriptor descriptor)
-public abstract IMTLTexture CreateTexture (MTLTextureDescriptor descriptor)
+public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor)
-public abstract IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, IOSurface.IOSurface iosurface, UIntPtr plane)
+public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, IOSurface.IOSurface iosurface, UIntPtr plane)
-public abstract void GetDefaultSamplePositions (IntPtr positions, UIntPtr count)
+public virtual void GetDefaultSamplePositions (IntPtr positions, UIntPtr count)
-public abstract MTLSizeAndAlign GetHeapBufferSizeAndAlignWithLength (UIntPtr length, MTLResourceOptions options)
+public virtual MTLSizeAndAlign GetHeapBufferSizeAndAlignWithLength (UIntPtr length, MTLResourceOptions options)
-public abstract MTLSizeAndAlign GetHeapTextureSizeAndAlign (MTLTextureDescriptor desc)
+public virtual MTLSizeAndAlign GetHeapTextureSizeAndAlign (MTLTextureDescriptor desc)
-public abstract UIntPtr GetMinimumLinearTextureAlignment (MTLPixelFormat format)
+public virtual UIntPtr GetMinimumLinearTextureAlignment (MTLPixelFormat format)
-public abstract UIntPtr GetMinimumTextureBufferAlignment (MTLPixelFormat format)
+public virtual UIntPtr GetMinimumTextureBufferAlignment (MTLPixelFormat format)
-public abstract void GetSampleTimestamps (UIntPtr cpuTimestamp, UIntPtr gpuTimestamp)
+public virtual void GetSampleTimestamps (UIntPtr cpuTimestamp, UIntPtr gpuTimestamp)
-public abstract MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount)
+public virtual MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount)
-public abstract bool SupportsCounterSampling (MTLCounterSamplingPoint samplingPoint)
+public virtual bool SupportsCounterSampling (MTLCounterSamplingPoint samplingPoint)
-public abstract bool SupportsFamily (MTLGpuFamily gpuFamily)
+public virtual bool SupportsFamily (MTLGpuFamily gpuFamily)
-public abstract bool SupportsFeatureSet (MTLFeatureSet featureSet)
+public virtual bool SupportsFeatureSet (MTLFeatureSet featureSet)
-public abstract bool SupportsRasterizationRateMap (UIntPtr layerCount)
+public virtual bool SupportsRasterizationRateMap (UIntPtr layerCount)
-public abstract bool SupportsTextureSampleCount (UIntPtr sampleCount)
+public virtual bool SupportsTextureSampleCount (UIntPtr sampleCount)
-public abstract bool SupportsVertexAmplification (UIntPtr count)
+public virtual bool SupportsVertexAmplification (UIntPtr count)

Added methods:

public virtual void ConvertSparsePixelRegions (IntPtr pixelRegions, IntPtr tileRegions, MTLSize tileSize, MTLSparseTextureRegionAlignmentMode mode, UIntPtr numRegions);
public virtual void ConvertSparseTileRegions (IntPtr tileRegions, IntPtr pixelRegions, MTLSize tileSize, UIntPtr numRegions);
public virtual IMTLArgumentEncoder CreateArgumentEncoder (IMTLBufferBinding bufferBinding);
public virtual System.Threading.Tasks.Task<IMTLLibrary> CreateLibraryAsync (MTLStitchedLibraryDescriptor descriptor);
public virtual System.Threading.Tasks.Task<IMTLLibrary> CreateLibraryAsync (string source, MTLCompileOptions options);
public virtual void CreateRenderPipelineState (MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler);
public virtual IMTLRenderPipelineState CreateRenderPipelineState (MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error);
public virtual MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (MTLAccelerationStructureDescriptor descriptor);
public virtual MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (UIntPtr size);
public virtual MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount, MTLSparsePageSize sparsePageSize);
public virtual UIntPtr GetSparseTileSizeInBytes (MTLSparsePageSize sparsePageSize);

Type Changed: Metal.IMTLDrawable

Modified properties:

-public abstract UIntPtr DrawableId { get; }
+public virtual UIntPtr DrawableId { get; }
-public abstract double PresentedTime { get; }
+public virtual double PresentedTime { get; }

Modified methods:

-public abstract void AddPresentedHandler (System.Action%LESSERTHANREPLACEMENT%IMTLDrawable%GREATERTHANREPLACEMENT% block)
+public virtual void AddPresentedHandler (System.Action%LESSERTHANREPLACEMENT%IMTLDrawable%GREATERTHANREPLACEMENT% block)
-public abstract void Present ()
+public virtual void Present ()
-public abstract void Present (double presentationTime)
+public virtual void Present (double presentationTime)
-public abstract void PresentAfter (double duration)
+public virtual void PresentAfter (double duration)

Type Changed: Metal.IMTLDynamicLibrary

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string InstallName { get; }
+public virtual string InstallName { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }

Modified methods:

-public abstract bool Serialize (Foundation.NSUrl url, out Foundation.NSError error)
+public virtual bool Serialize (Foundation.NSUrl url, out Foundation.NSError error)

Type Changed: Metal.IMTLEvent

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }

Type Changed: Metal.IMTLFence

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }

Type Changed: Metal.IMTLFunction

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Metal.MTLFunctionConstant%GREATERTHANREPLACEMENT% FunctionConstants { get; }
+public virtual Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Metal.MTLFunctionConstant%GREATERTHANREPLACEMENT% FunctionConstants { get; }
-public abstract MTLFunctionType FunctionType { get; }
+public virtual MTLFunctionType FunctionType { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }
-public abstract string Name { get; }
+public virtual string Name { get; }
-public abstract MTLFunctionOptions Options { get; }
+public virtual MTLFunctionOptions Options { get; }
-public abstract IntPtr PatchControlPointCount { get; }
+public virtual IntPtr PatchControlPointCount { get; }
-public abstract MTLPatchType PatchType { get; }
+public virtual MTLPatchType PatchType { get; }
-public abstract MTLAttribute[] StageInputAttributes { get; }
+public virtual MTLAttribute[] StageInputAttributes { get; }
-public abstract MTLVertexAttribute[] VertexAttributes { get; }
+public virtual MTLVertexAttribute[] VertexAttributes { get; }

Modified methods:

-public abstract IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr bufferIndex)
+public virtual IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr bufferIndex)
-public abstract IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr bufferIndex, out MTLArgument reflection)
+public virtual IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr bufferIndex, out MTLArgument reflection)

Type Changed: Metal.IMTLFunctionHandle

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract MTLFunctionType FunctionType { get; }
+public virtual MTLFunctionType FunctionType { get; }
-public abstract string Name { get; }
+public virtual string Name { get; }

Type Changed: Metal.IMTLFunctionLog

Modified properties:

-public abstract IMTLFunctionLogDebugLocation DebugLocation { get; }
+public virtual IMTLFunctionLogDebugLocation DebugLocation { get; }
-public abstract string EncoderLabel { get; }
+public virtual string EncoderLabel { get; }
-public abstract IMTLFunction Function { get; }
+public virtual IMTLFunction Function { get; }
-public abstract MTLFunctionLogType Type { get; }
+public virtual MTLFunctionLogType Type { get; }

Type Changed: Metal.IMTLFunctionLogDebugLocation

Modified properties:

-public abstract UIntPtr Column { get; }
+public virtual UIntPtr Column { get; }
-public abstract string FunctionName { get; }
+public virtual string FunctionName { get; }
-public abstract UIntPtr Line { get; }
+public virtual UIntPtr Line { get; }
-public abstract Foundation.NSUrl Url { get; }
+public virtual Foundation.NSUrl Url { get; }

Type Changed: Metal.IMTLHeap

Modified properties:

-public abstract MTLCpuCacheMode CpuCacheMode { get; }
+public virtual MTLCpuCacheMode CpuCacheMode { get; }
-public abstract UIntPtr CurrentAllocatedSize { get; }
+public virtual UIntPtr CurrentAllocatedSize { get; }
-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract MTLHazardTrackingMode HazardTrackingMode { get; }
+public virtual MTLHazardTrackingMode HazardTrackingMode { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }
-public abstract MTLResourceOptions ResourceOptions { get; }
+public virtual MTLResourceOptions ResourceOptions { get; }
-public abstract UIntPtr Size { get; }
+public virtual UIntPtr Size { get; }
-public abstract MTLStorageMode StorageMode { get; }
+public virtual MTLStorageMode StorageMode { get; }
-public abstract MTLHeapType Type { get; }
+public virtual MTLHeapType Type { get; }
-public abstract UIntPtr UsedSize { get; }
+public virtual UIntPtr UsedSize { get; }

Modified methods:

-public abstract IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options)
+public virtual IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options)
-public abstract IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options, UIntPtr offset)
+public virtual IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options, UIntPtr offset)
-public abstract IMTLTexture CreateTexture (MTLTextureDescriptor desc)
+public virtual IMTLTexture CreateTexture (MTLTextureDescriptor desc)
-public abstract IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset)
+public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset)
-public abstract UIntPtr GetMaxAvailableSize (UIntPtr alignment)
+public virtual UIntPtr GetMaxAvailableSize (UIntPtr alignment)
-public abstract MTLPurgeableState SetPurgeableState (MTLPurgeableState state)
+public virtual MTLPurgeableState SetPurgeableState (MTLPurgeableState state)

Added methods:

public virtual IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor);
public virtual IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size);
public virtual IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor, UIntPtr offset);
public virtual IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size, UIntPtr offset);

Type Changed: Metal.IMTLIndirectCommandBuffer

Modified properties:

-public abstract UIntPtr Size { get; }
+public virtual UIntPtr Size { get; }

Added property:

public virtual MTLResourceId GpuResourceID { get; }

Modified methods:

-public abstract IMTLIndirectRenderCommand GetCommand (UIntPtr commandIndex)
+public virtual IMTLIndirectRenderCommand GetCommand (UIntPtr commandIndex)
-public abstract IMTLIndirectComputeCommand GetIndirectComputeCommand (UIntPtr commandIndex)
+public virtual IMTLIndirectComputeCommand GetIndirectComputeCommand (UIntPtr commandIndex)
-public abstract void Reset (Foundation.NSRange range)
+public virtual void Reset (Foundation.NSRange range)

Type Changed: Metal.IMTLIndirectComputeCommand

Modified methods:

-public abstract void ClearBarrier ()
+public virtual void ClearBarrier ()
-public abstract void ConcurrentDispatchThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerThreadgroup)
+public virtual void ConcurrentDispatchThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerThreadgroup)
-public abstract void ConcurrentDispatchThreads (MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup)
+public virtual void ConcurrentDispatchThreads (MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup)
-public abstract void Reset ()
+public virtual void Reset ()
-public abstract void SetBarrier ()
+public virtual void SetBarrier ()
-public abstract void SetComputePipelineState (IMTLComputePipelineState pipelineState)
+public virtual void SetComputePipelineState (IMTLComputePipelineState pipelineState)
-public abstract void SetImageblock (UIntPtr width, UIntPtr height)
+public virtual void SetImageblock (UIntPtr width, UIntPtr height)
-public abstract void SetKernelBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetKernelBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
-public abstract void SetStageInRegion (MTLRegion region)
+public virtual void SetStageInRegion (MTLRegion region)
-public abstract void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr index)
+public virtual void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr index)

Added method:

public virtual void SetKernelBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);

Type Changed: Metal.IMTLIndirectRenderCommand

Modified methods:

-public abstract void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance, IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride)
+public virtual void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance, IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride)
-public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount, IntPtr baseVertex, UIntPtr baseInstance)
+public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount, IntPtr baseVertex, UIntPtr baseInstance)
-public abstract void DrawPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance, IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride)
+public virtual void DrawPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance, IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride)
-public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount, UIntPtr baseInstance)
+public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount, UIntPtr baseInstance)
-public abstract void Reset ()
+public virtual void Reset ()
-public abstract void SetFragmentBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetFragmentBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
-public abstract void SetRenderPipelineState (IMTLRenderPipelineState pipelineState)
+public virtual void SetRenderPipelineState (IMTLRenderPipelineState pipelineState)
-public abstract void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)

Added method:

public virtual void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);

Type Changed: Metal.IMTLIntersectionFunctionTable

Added property:

public virtual MTLResourceId GpuResourceId { get; }

Modified methods:

-public abstract void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
-public abstract void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range)
+public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range)
-public abstract void SetFunction (IMTLFunctionHandle function, UIntPtr index)
+public virtual void SetFunction (IMTLFunctionHandle function, UIntPtr index)
-public abstract void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range)
+public virtual void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range)
-public abstract void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range)
+public virtual void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range)
-public abstract void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, UIntPtr index)
+public virtual void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, UIntPtr index)
-public abstract void SetVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex)
+public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex)
-public abstract void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange bufferRange)
+public virtual void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange bufferRange)

Added methods:

public virtual void SetOpaqueCurveIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range);
public virtual void SetOpaqueCurveIntersectionFunction (MTLIntersectionFunctionSignature signature, UIntPtr index);

Type Changed: Metal.IMTLLibrary

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string[] FunctionNames { get; }
+public virtual string[] FunctionNames { get; }
-public abstract string InstallName { get; }
+public virtual string InstallName { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }
-public abstract MTLLibraryType Type { get; }
+public virtual MTLLibraryType Type { get; }

Modified methods:

-public abstract IMTLFunction CreateFunction (string functionName)
+public virtual IMTLFunction CreateFunction (string functionName)
-public abstract void CreateFunction (MTLFunctionDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateFunction (MTLFunctionDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract IMTLFunction CreateFunction (MTLFunctionDescriptor descriptor, out Foundation.NSError error)
+public virtual IMTLFunction CreateFunction (MTLFunctionDescriptor descriptor, out Foundation.NSError error)
-public abstract void CreateFunction (string name, MTLFunctionConstantValues constantValues, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateFunction (string name, MTLFunctionConstantValues constantValues, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract IMTLFunction CreateFunction (string name, MTLFunctionConstantValues constantValues, out Foundation.NSError error)
+public virtual IMTLFunction CreateFunction (string name, MTLFunctionConstantValues constantValues, out Foundation.NSError error)
-public abstract void CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler)
-public abstract IMTLFunction CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, out Foundation.NSError error)
+public virtual IMTLFunction CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, out Foundation.NSError error)

Added method:

public virtual System.Threading.Tasks.Task<IMTLFunction> CreateFunctionAsync (string name, MTLFunctionConstantValues constantValues);

Type Changed: Metal.IMTLParallelRenderCommandEncoder

Modified methods:

-public abstract IMTLRenderCommandEncoder CreateRenderCommandEncoder ()
+public virtual IMTLRenderCommandEncoder CreateRenderCommandEncoder ()
-public abstract void SetColorStoreAction (MTLStoreAction storeAction, UIntPtr colorAttachmentIndex)
+public virtual void SetColorStoreAction (MTLStoreAction storeAction, UIntPtr colorAttachmentIndex)
-public abstract void SetColorStoreActionOptions (MTLStoreActionOptions storeActionOptions, UIntPtr colorAttachmentIndex)
+public virtual void SetColorStoreActionOptions (MTLStoreActionOptions storeActionOptions, UIntPtr colorAttachmentIndex)
-public abstract void SetDepthStoreAction (MTLStoreAction storeAction)
+public virtual void SetDepthStoreAction (MTLStoreAction storeAction)
-public abstract void SetDepthStoreActionOptions (MTLStoreActionOptions storeActionOptions)
+public virtual void SetDepthStoreActionOptions (MTLStoreActionOptions storeActionOptions)
-public abstract void SetStencilStoreAction (MTLStoreAction storeAction)
+public virtual void SetStencilStoreAction (MTLStoreAction storeAction)
-public abstract void SetStencilStoreActionOptions (MTLStoreActionOptions storeActionOptions)
+public virtual void SetStencilStoreActionOptions (MTLStoreActionOptions storeActionOptions)

Type Changed: Metal.IMTLRasterizationRateMap

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }
-public abstract UIntPtr LayerCount { get; }
+public virtual UIntPtr LayerCount { get; }
-public abstract MTLSizeAndAlign ParameterBufferSizeAndAlign { get; }
+public virtual MTLSizeAndAlign ParameterBufferSizeAndAlign { get; }
-public abstract MTLSize PhysicalGranularity { get; }
+public virtual MTLSize PhysicalGranularity { get; }
-public abstract MTLSize ScreenSize { get; }
+public virtual MTLSize ScreenSize { get; }

Modified methods:

-public abstract void CopyParameterData (IMTLBuffer buffer, UIntPtr offset)
+public virtual void CopyParameterData (IMTLBuffer buffer, UIntPtr offset)
-public abstract MTLSize GetPhysicalSize (UIntPtr layerIndex)
+public virtual MTLSize GetPhysicalSize (UIntPtr layerIndex)
-public abstract MTLCoordinate2D MapPhysicalToScreenCoordinates (MTLCoordinate2D physicalCoordinates, UIntPtr layerIndex)
+public virtual MTLCoordinate2D MapPhysicalToScreenCoordinates (MTLCoordinate2D physicalCoordinates, UIntPtr layerIndex)
-public abstract MTLCoordinate2D MapScreenToPhysicalCoordinates (MTLCoordinate2D screenCoordinates, UIntPtr layerIndex)
+public virtual MTLCoordinate2D MapScreenToPhysicalCoordinates (MTLCoordinate2D screenCoordinates, UIntPtr layerIndex)

Type Changed: Metal.IMTLRenderCommandEncoder

Modified properties:

-public abstract UIntPtr TileHeight { get; }
+public virtual UIntPtr TileHeight { get; }
-public abstract UIntPtr TileWidth { get; }
+public virtual UIntPtr TileWidth { get; }

Modified methods:

-public abstract void DispatchThreadsPerTile (MTLSize threadsPerTile)
+public virtual void DispatchThreadsPerTile (MTLSize threadsPerTile)
-public abstract void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
+public virtual void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
-public abstract void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance)
+public virtual void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance)
-public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset)
+public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset)
-public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
+public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
-public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount)
+public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount)
-public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount, IntPtr baseVertex, UIntPtr baseInstance)
+public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount, IntPtr baseVertex, UIntPtr baseInstance)
-public abstract void DrawPatches (UIntPtr numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
+public virtual void DrawPatches (UIntPtr numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
-public abstract void DrawPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance)
+public virtual void DrawPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance)
-public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
+public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset)
-public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount)
+public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount)
-public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount)
+public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount)
-public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount, UIntPtr baseInstance)
+public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount, UIntPtr baseInstance)
-public abstract void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange)
+public virtual void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange)
-public abstract void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, UIntPtr indirectBufferOffset)
+public virtual void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, UIntPtr indirectBufferOffset)
-public abstract void MemoryBarrier (MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before)
+public virtual void MemoryBarrier (MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before)
-public abstract void MemoryBarrier (IMTLResource[] resources, UIntPtr count, MTLRenderStages after, MTLRenderStages before)
+public virtual void MemoryBarrier (IMTLResource[] resources, UIntPtr count, MTLRenderStages after, MTLRenderStages before)
-public abstract void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier)
+public virtual void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier)
-public abstract void SetBlendColor (float red, float green, float blue, float alpha)
+public virtual void SetBlendColor (float red, float green, float blue, float alpha)
-public abstract void SetColorStoreAction (MTLStoreAction storeAction, UIntPtr colorAttachmentIndex)
+public virtual void SetColorStoreAction (MTLStoreAction storeAction, UIntPtr colorAttachmentIndex)
-public abstract void SetColorStoreActionOptions (MTLStoreActionOptions storeActionOptions, UIntPtr colorAttachmentIndex)
+public virtual void SetColorStoreActionOptions (MTLStoreActionOptions storeActionOptions, UIntPtr colorAttachmentIndex)
-public abstract void SetCullMode (MTLCullMode cullMode)
+public virtual void SetCullMode (MTLCullMode cullMode)
-public abstract void SetDepthBias (float depthBias, float slopeScale, float clamp)
+public virtual void SetDepthBias (float depthBias, float slopeScale, float clamp)
-public abstract void SetDepthClipMode (MTLDepthClipMode depthClipMode)
+public virtual void SetDepthClipMode (MTLDepthClipMode depthClipMode)
-public abstract void SetDepthStencilState (IMTLDepthStencilState depthStencilState)
+public virtual void SetDepthStencilState (IMTLDepthStencilState depthStencilState)
-public abstract void SetDepthStoreAction (MTLStoreAction storeAction)
+public virtual void SetDepthStoreAction (MTLStoreAction storeAction)
-public abstract void SetDepthStoreActionOptions (MTLStoreActionOptions storeActionOptions)
+public virtual void SetDepthStoreActionOptions (MTLStoreActionOptions storeActionOptions)
-public abstract void SetFragmentAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex)
+public virtual void SetFragmentAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex)
-public abstract void SetFragmentBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetFragmentBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
-public abstract void SetFragmentBufferOffset (UIntPtr offset, UIntPtr index)
+public virtual void SetFragmentBufferOffset (UIntPtr offset, UIntPtr index)
-public abstract void SetFragmentBuffers (IMTLBuffer buffers, IntPtr IntPtrOffsets, Foundation.NSRange range)
+public virtual void SetFragmentBuffers (IMTLBuffer buffers, IntPtr IntPtrOffsets, Foundation.NSRange range)
-public abstract void SetFragmentBytes (IntPtr bytes, UIntPtr length, UIntPtr index)
+public virtual void SetFragmentBytes (IntPtr bytes, UIntPtr length, UIntPtr index)
-public abstract void SetFragmentIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex)
+public virtual void SetFragmentIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex)
-public abstract void SetFragmentIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range)
+public virtual void SetFragmentIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range)
-public abstract void SetFragmentSamplerState (IMTLSamplerState sampler, UIntPtr index)
+public virtual void SetFragmentSamplerState (IMTLSamplerState sampler, UIntPtr index)
-public abstract void SetFragmentSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index)
+public virtual void SetFragmentSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index)
-public abstract void SetFragmentSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
+public virtual void SetFragmentSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
-public abstract void SetFragmentSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range)
+public virtual void SetFragmentSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range)
-public abstract void SetFragmentTexture (IMTLTexture texture, UIntPtr index)
+public virtual void SetFragmentTexture (IMTLTexture texture, UIntPtr index)
-public abstract void SetFragmentTextures (IMTLTexture[] textures, Foundation.NSRange range)
+public virtual void SetFragmentTextures (IMTLTexture[] textures, Foundation.NSRange range)
-public abstract void SetFragmentVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex)
+public virtual void SetFragmentVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex)
-public abstract void SetFragmentVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range)
+public virtual void SetFragmentVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range)
-public abstract void SetFrontFacingWinding (MTLWinding frontFacingWinding)
+public virtual void SetFrontFacingWinding (MTLWinding frontFacingWinding)
-public abstract void SetRenderPipelineState (IMTLRenderPipelineState pipelineState)
+public virtual void SetRenderPipelineState (IMTLRenderPipelineState pipelineState)
-public abstract void SetScissorRect (MTLScissorRect rect)
+public virtual void SetScissorRect (MTLScissorRect rect)
-public abstract void SetScissorRects (IntPtr scissorRects, UIntPtr count)
+public virtual void SetScissorRects (IntPtr scissorRects, UIntPtr count)
-public abstract void SetStencilFrontReferenceValue (uint frontReferenceValue, uint backReferenceValue)
+public virtual void SetStencilFrontReferenceValue (uint frontReferenceValue, uint backReferenceValue)
-public abstract void SetStencilReferenceValue (uint referenceValue)
+public virtual void SetStencilReferenceValue (uint referenceValue)
-public abstract void SetStencilStoreAction (MTLStoreAction storeAction)
+public virtual void SetStencilStoreAction (MTLStoreAction storeAction)
-public abstract void SetStencilStoreActionOptions (MTLStoreActionOptions storeActionOptions)
+public virtual void SetStencilStoreActionOptions (MTLStoreActionOptions storeActionOptions)
-public abstract void SetTessellationFactorBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride)
+public virtual void SetTessellationFactorBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride)
-public abstract void SetTessellationFactorScale (float scale)
+public virtual void SetTessellationFactorScale (float scale)
-public abstract void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr offset, UIntPtr index)
+public virtual void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr offset, UIntPtr index)
-public abstract void SetTileAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex)
+public virtual void SetTileAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex)
-public abstract void SetTileBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetTileBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
-public abstract void SetTileBufferOffset (UIntPtr offset, UIntPtr index)
+public virtual void SetTileBufferOffset (UIntPtr offset, UIntPtr index)
-public abstract void SetTileBuffers (IMTLBuffer[] buffers, IntPtr offsets, Foundation.NSRange range)
+public virtual void SetTileBuffers (IMTLBuffer[] buffers, IntPtr offsets, Foundation.NSRange range)
-public abstract void SetTileBytes (IntPtr bytes, UIntPtr length, UIntPtr index)
+public virtual void SetTileBytes (IntPtr bytes, UIntPtr length, UIntPtr index)
-public abstract void SetTileIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex)
+public virtual void SetTileIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex)
-public abstract void SetTileIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range)
+public virtual void SetTileIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range)
-public abstract void SetTileSamplerState (IMTLSamplerState sampler, UIntPtr index)
+public virtual void SetTileSamplerState (IMTLSamplerState sampler, UIntPtr index)
-public abstract void SetTileSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index)
+public virtual void SetTileSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index)
-public abstract void SetTileSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
+public virtual void SetTileSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
-public abstract void SetTileSamplerStates (IMTLSamplerState[] samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range)
+public virtual void SetTileSamplerStates (IMTLSamplerState[] samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range)
-public abstract void SetTileTexture (IMTLTexture texture, UIntPtr index)
+public virtual void SetTileTexture (IMTLTexture texture, UIntPtr index)
-public abstract void SetTileTextures (IMTLTexture[] textures, Foundation.NSRange range)
+public virtual void SetTileTextures (IMTLTexture[] textures, Foundation.NSRange range)
-public abstract void SetTileVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex)
+public virtual void SetTileVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex)
-public abstract void SetTileVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range)
+public virtual void SetTileVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range)
-public abstract void SetTriangleFillMode (MTLTriangleFillMode fillMode)
+public virtual void SetTriangleFillMode (MTLTriangleFillMode fillMode)
-public abstract void SetVertexAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex)
+public virtual void SetVertexAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex)
-public abstract void SetVertexAmplificationCount (UIntPtr count, MTLVertexAmplificationViewMapping viewMappings)
+public virtual void SetVertexAmplificationCount (UIntPtr count, MTLVertexAmplificationViewMapping viewMappings)
-public abstract void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
+public virtual void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index)
-public abstract void SetVertexBufferOffset (UIntPtr offset, UIntPtr index)
+public virtual void SetVertexBufferOffset (UIntPtr offset, UIntPtr index)
-public abstract void SetVertexBuffers (IMTLBuffer[] buffers, IntPtr uintArrayPtrOffsets, Foundation.NSRange range)
+public virtual void SetVertexBuffers (IMTLBuffer[] buffers, IntPtr uintArrayPtrOffsets, Foundation.NSRange range)
-public abstract void SetVertexBytes (IntPtr bytes, UIntPtr length, UIntPtr index)
+public virtual void SetVertexBytes (IntPtr bytes, UIntPtr length, UIntPtr index)
-public abstract void SetVertexIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex)
+public virtual void SetVertexIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex)
-public abstract void SetVertexIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range)
+public virtual void SetVertexIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range)
-public abstract void SetVertexSamplerState (IMTLSamplerState sampler, UIntPtr index)
+public virtual void SetVertexSamplerState (IMTLSamplerState sampler, UIntPtr index)
-public abstract void SetVertexSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index)
+public virtual void SetVertexSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index)
-public abstract void SetVertexSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
+public virtual void SetVertexSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range)
-public abstract void SetVertexSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range)
+public virtual void SetVertexSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range)
-public abstract void SetVertexTexture (IMTLTexture texture, UIntPtr index)
+public virtual void SetVertexTexture (IMTLTexture texture, UIntPtr index)
-public abstract void SetVertexTextures (IMTLTexture[] textures, Foundation.NSRange range)
+public virtual void SetVertexTextures (IMTLTexture[] textures, Foundation.NSRange range)
-public abstract void SetVertexVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex)
+public virtual void SetVertexVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex)
-public abstract void SetVertexVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range)
+public virtual void SetVertexVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range)
-public abstract void SetViewport (MTLViewport viewport)
+public virtual void SetViewport (MTLViewport viewport)
-public abstract void SetViewports (IntPtr viewports, UIntPtr count)
+public virtual void SetViewports (IntPtr viewports, UIntPtr count)
-public abstract void SetVisibilityResultMode (MTLVisibilityResultMode mode, UIntPtr offset)
+public virtual void SetVisibilityResultMode (MTLVisibilityResultMode mode, UIntPtr offset)
-public abstract void TextureBarrier ()
+public virtual void TextureBarrier ()
-public abstract void Update (IMTLFence fence, MTLRenderStages stages)
+public virtual void Update (IMTLFence fence, MTLRenderStages stages)
-public abstract void UseHeap (IMTLHeap heap)
+public virtual void UseHeap (IMTLHeap heap)
-public abstract void UseHeap (IMTLHeap heap, MTLRenderStages stages)
+public virtual void UseHeap (IMTLHeap heap, MTLRenderStages stages)
-public abstract void UseHeaps (IMTLHeap[] heaps, UIntPtr count)
+public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count)
-public abstract void UseHeaps (IMTLHeap[] heaps, UIntPtr count, MTLRenderStages stages)
+public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count, MTLRenderStages stages)
-public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage)
+public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage)
-public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage, MTLRenderStages stages)
+public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage, MTLRenderStages stages)
-public abstract void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage)
+public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage)
-public abstract void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage, MTLRenderStages stages)
+public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage, MTLRenderStages stages)
-public abstract void Wait (IMTLFence fence, MTLRenderStages stages)
+public virtual void Wait (IMTLFence fence, MTLRenderStages stages)

Added methods:

public virtual void DrawMeshThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public virtual void DrawMeshThreadgroups (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public virtual void DrawMeshThreads (MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public virtual void SetMeshBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index);
public virtual void SetMeshBufferOffset (UIntPtr offset, UIntPtr index);
public virtual void SetMeshBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
public virtual void SetMeshBytes (IntPtr bytes, UIntPtr length, UIntPtr index);
public virtual void SetMeshSamplerState (IMTLSamplerState sampler, UIntPtr index);
public virtual void SetMeshSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index);
public virtual void SetMeshSamplerStates (IntPtr samplers, Foundation.NSRange range);
public virtual void SetMeshSamplerStates (IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
public virtual void SetMeshTexture (IMTLTexture texture, UIntPtr index);
public virtual void SetMeshTextures (IntPtr textures, Foundation.NSRange range);
public virtual void SetObjectBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index);
public virtual void SetObjectBufferOffset (UIntPtr offset, UIntPtr index);
public virtual void SetObjectBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
public virtual void SetObjectBytes (IntPtr bytes, UIntPtr length, UIntPtr index);
public virtual void SetObjectSamplerState (IMTLSamplerState sampler, UIntPtr index);
public virtual void SetObjectSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index);
public virtual void SetObjectSamplerStates (IntPtr samplers, Foundation.NSRange range);
public virtual void SetObjectSamplerStates (IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
public virtual void SetObjectTexture (IMTLTexture texture, UIntPtr index);
public virtual void SetObjectTextures (IntPtr textures, Foundation.NSRange range);
public virtual void SetObjectThreadgroupMemoryLength (UIntPtr length, UIntPtr index);
public virtual void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
public virtual void SetVertexBufferOffset (UIntPtr offset, UIntPtr stride, UIntPtr index);
public virtual void SetVertexBuffers (IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range);
public virtual void SetVertexBytes (IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index);

Type Changed: Metal.IMTLRenderPipelineState

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract UIntPtr ImageblockSampleLength { get; }
+public virtual UIntPtr ImageblockSampleLength { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }
-public abstract UIntPtr MaxTotalThreadsPerThreadgroup { get; }
+public virtual UIntPtr MaxTotalThreadsPerThreadgroup { get; }
-public abstract bool SupportIndirectCommandBuffers { get; }
+public virtual bool SupportIndirectCommandBuffers { get; }
-public abstract bool ThreadgroupSizeMatchesTileSize { get; }
+public virtual bool ThreadgroupSizeMatchesTileSize { get; }

Added properties:

public virtual MTLResourceId GpuResourceId { get; }
public virtual UIntPtr MaxTotalThreadgroupsPerMeshGrid { get; }
public virtual UIntPtr MaxTotalThreadsPerMeshThreadgroup { get; }
public virtual UIntPtr MaxTotalThreadsPerObjectThreadgroup { get; }
public virtual UIntPtr MeshThreadExecutionWidth { get; }
public virtual UIntPtr ObjectThreadExecutionWidth { get; }

Modified methods:

-public abstract IMTLFunctionHandle FunctionHandleWithFunction (IMTLFunction function, MTLRenderStages stage)
+public virtual IMTLFunctionHandle FunctionHandleWithFunction (IMTLFunction function, MTLRenderStages stage)
-public abstract UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions)
+public virtual UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions)
-public abstract IMTLIntersectionFunctionTable NewIntersectionFunctionTableWithDescriptor (MTLIntersectionFunctionTableDescriptor descriptor, MTLRenderStages stage)
+public virtual IMTLIntersectionFunctionTable NewIntersectionFunctionTableWithDescriptor (MTLIntersectionFunctionTableDescriptor descriptor, MTLRenderStages stage)
-public abstract IMTLRenderPipelineState NewRenderPipelineStateWithAdditionalBinaryFunctions (MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions, out Foundation.NSError error)
+public virtual IMTLRenderPipelineState NewRenderPipelineStateWithAdditionalBinaryFunctions (MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions, out Foundation.NSError error)
-public abstract IMTLVisibleFunctionTable NewVisibleFunctionTableWithDescriptor (MTLVisibleFunctionTableDescriptor descriptor, MTLRenderStages stage)
+public virtual IMTLVisibleFunctionTable NewVisibleFunctionTableWithDescriptor (MTLVisibleFunctionTableDescriptor descriptor, MTLRenderStages stage)

Type Changed: Metal.IMTLResource

Modified properties:

-public abstract UIntPtr AllocatedSize { get; }
+public virtual UIntPtr AllocatedSize { get; }
-public abstract MTLCpuCacheMode CpuCacheMode { get; }
+public virtual MTLCpuCacheMode CpuCacheMode { get; }
-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract MTLHazardTrackingMode HazardTrackingMode { get; }
+public virtual MTLHazardTrackingMode HazardTrackingMode { get; }
-public abstract IMTLHeap Heap { get; }
+public virtual IMTLHeap Heap { get; }
-public abstract UIntPtr HeapOffset { get; }
+public virtual UIntPtr HeapOffset { get; }
-public abstract bool IsAliasable { get; }
+public virtual bool IsAliasable { get; }
-public abstract string Label { get; set; }
+public virtual string Label { get; set; }
-public abstract MTLResourceOptions ResourceOptions { get; }
+public virtual MTLResourceOptions ResourceOptions { get; }
-public abstract MTLStorageMode StorageMode { get; }
+public virtual MTLStorageMode StorageMode { get; }

Modified methods:

-public abstract void MakeAliasable ()
+public virtual void MakeAliasable ()
-public abstract MTLPurgeableState SetPurgeableState (MTLPurgeableState state)
+public virtual MTLPurgeableState SetPurgeableState (MTLPurgeableState state)

Added method:

public virtual int SetOwnerWithIdentity (uint taskIdToken);

Type Changed: Metal.IMTLResourceStateCommandEncoder

Added methods:

public virtual void MoveTextureMappings (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin);
public virtual void Update (IMTLFence fence);
public virtual void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset);
public virtual void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, MTLRegion region, UIntPtr mipLevel, UIntPtr slice);
public virtual void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, IntPtr regions, IntPtr mipLevels, IntPtr slices, UIntPtr numRegions);
public virtual void Wait (IMTLFence fence);

Type Changed: Metal.IMTLSamplerState

Modified properties:

-public abstract IMTLDevice Device { get; }
+public virtual IMTLDevice Device { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }

Added property:

public virtual MTLResourceId GpuResourceId { get; }

Type Changed: Metal.IMTLSharedEvent

Modified properties:

-public abstract ulong SignaledValue { get; set; }
+public virtual ulong SignaledValue { get; set; }

Modified methods:

-public abstract MTLSharedEventHandle CreateSharedEventHandle ()
+public virtual MTLSharedEventHandle CreateSharedEventHandle ()
-public abstract void NotifyListener (MTLSharedEventListener listener, ulong atValue, MTLSharedEventNotificationBlock block)
+public virtual void NotifyListener (MTLSharedEventListener listener, ulong atValue, MTLSharedEventNotificationBlock block)

Added method:

public virtual bool WaitUntilSignaledValue (ulong value, ulong milliseconds);

Type Changed: Metal.IMTLTexture

Modified properties:

-public abstract bool AllowGpuOptimizedContents { get; }
+public virtual bool AllowGpuOptimizedContents { get; }
-public abstract UIntPtr ArrayLength { get; }
+public virtual UIntPtr ArrayLength { get; }
-public abstract IMTLBuffer Buffer { get; }
+public virtual IMTLBuffer Buffer { get; }
-public abstract UIntPtr BufferBytesPerRow { get; }
+public virtual UIntPtr BufferBytesPerRow { get; }
-public abstract UIntPtr BufferOffset { get; }
+public virtual UIntPtr BufferOffset { get; }
-public abstract UIntPtr Depth { get; }
+public virtual UIntPtr Depth { get; }
-public abstract bool FramebufferOnly { get; }
+public virtual bool FramebufferOnly { get; }
-public abstract UIntPtr Height { get; }
+public virtual UIntPtr Height { get; }
-public abstract IOSurface.IOSurface IOSurface { get; }
+public virtual IOSurface.IOSurface IOSurface { get; }
-public abstract UIntPtr IOSurfacePlane { get; }
+public virtual UIntPtr IOSurfacePlane { get; }
-public abstract UIntPtr MipmapLevelCount { get; }
+public virtual UIntPtr MipmapLevelCount { get; }
-public abstract UIntPtr ParentRelativeLevel { get; }
+public virtual UIntPtr ParentRelativeLevel { get; }
-public abstract UIntPtr ParentRelativeSlice { get; }
+public virtual UIntPtr ParentRelativeSlice { get; }
-public abstract IMTLTexture ParentTexture { get; }
+public virtual IMTLTexture ParentTexture { get; }
-public abstract MTLPixelFormat PixelFormat { get; }
+public virtual MTLPixelFormat PixelFormat { get; }
-public abstract IMTLTexture RemoteStorageTexture { get; }
+public virtual IMTLTexture RemoteStorageTexture { get; }
-public abstract IMTLResource RootResource { get; }
+public virtual IMTLResource RootResource { get; }
-public abstract UIntPtr SampleCount { get; }
+public virtual UIntPtr SampleCount { get; }
-public abstract bool Shareable { get; }
+public virtual bool Shareable { get; }
-public abstract MTLTextureSwizzleChannels Swizzle { get; }
+public virtual MTLTextureSwizzleChannels Swizzle { get; }
-public abstract MTLTextureType TextureType { get; }
+public virtual MTLTextureType TextureType { get; }
-public abstract MTLTextureUsage Usage { get; }
+public virtual MTLTextureUsage Usage { get; }
-public abstract UIntPtr Width { get; }
+public virtual UIntPtr Width { get; }

Added properties:

public virtual MTLTextureCompressionType CompressionType { get; }
public virtual UIntPtr FirstMipmapInTail { get; }
public virtual MTLResourceId GpuResourceId { get; }
public virtual bool IsSparse { get; }
public virtual UIntPtr TailSizeInBytes { get; }

Modified methods:

-public abstract IMTLTexture Create (MTLPixelFormat pixelFormat, MTLTextureType textureType, Foundation.NSRange levelRange, Foundation.NSRange sliceRange, MTLTextureSwizzleChannels swizzle)
+public virtual IMTLTexture Create (MTLPixelFormat pixelFormat, MTLTextureType textureType, Foundation.NSRange levelRange, Foundation.NSRange sliceRange, MTLTextureSwizzleChannels swizzle)
-public abstract IMTLTexture CreateRemoteTexture (IMTLDevice device)
+public virtual IMTLTexture CreateRemoteTexture (IMTLDevice device)
-public abstract MTLSharedTextureHandle CreateSharedTextureHandle ()
+public virtual MTLSharedTextureHandle CreateSharedTextureHandle ()
-public abstract IMTLTexture CreateTextureView (MTLPixelFormat pixelFormat)
+public virtual IMTLTexture CreateTextureView (MTLPixelFormat pixelFormat)
-public abstract IMTLTexture CreateTextureView (MTLPixelFormat pixelFormat, MTLTextureType textureType, Foundation.NSRange levelRange, Foundation.NSRange sliceRange)
+public virtual IMTLTexture CreateTextureView (MTLPixelFormat pixelFormat, MTLTextureType textureType, Foundation.NSRange levelRange, Foundation.NSRange sliceRange)
-public abstract void GetBytes (IntPtr pixelBytes, UIntPtr bytesPerRow, MTLRegion region, UIntPtr level)
+public virtual void GetBytes (IntPtr pixelBytes, UIntPtr bytesPerRow, MTLRegion region, UIntPtr level)
-public abstract void GetBytes (IntPtr pixelBytes, UIntPtr bytesPerRow, UIntPtr bytesPerImage, MTLRegion region, UIntPtr level, UIntPtr slice)
+public virtual void GetBytes (IntPtr pixelBytes, UIntPtr bytesPerRow, UIntPtr bytesPerImage, MTLRegion region, UIntPtr level, UIntPtr slice)
-public abstract void ReplaceRegion (MTLRegion region, UIntPtr level, IntPtr pixelBytes, UIntPtr bytesPerRow)
+public virtual void ReplaceRegion (MTLRegion region, UIntPtr level, IntPtr pixelBytes, UIntPtr bytesPerRow)
-public abstract void ReplaceRegion (MTLRegion region, UIntPtr level, UIntPtr slice, IntPtr pixelBytes, UIntPtr bytesPerRow, UIntPtr bytesPerImage)
+public virtual void ReplaceRegion (MTLRegion region, UIntPtr level, UIntPtr slice, IntPtr pixelBytes, UIntPtr bytesPerRow, UIntPtr bytesPerImage)

Type Changed: Metal.IMTLVisibleFunctionTable

Added property:

public virtual MTLResourceId GpuResourceId { get; }

Modified methods:

-public abstract void SetFunction (IMTLFunctionHandle function, UIntPtr index)
+public virtual void SetFunction (IMTLFunctionHandle function, UIntPtr index)
-public abstract void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range)
+public virtual void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range)

Type Changed: Metal.MTLAccelerationStructureGeometryDescriptor

Added properties:

public virtual IMTLBuffer PrimitiveDataBuffer { get; set; }
public virtual UIntPtr PrimitiveDataBufferOffset { get; set; }
public virtual UIntPtr PrimitiveDataElementSize { get; set; }
public virtual UIntPtr PrimitiveDataStride { get; set; }

Type Changed: Metal.MTLAccelerationStructureInstanceDescriptorType

Added values:

Indirect = 3,
IndirectMotion = 4,

Type Changed: Metal.MTLAccelerationStructureMotionTriangleGeometryDescriptor

Added properties:

public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
public virtual UIntPtr TransformationMatrixBufferOffset { get; set; }
public virtual MTLAttributeFormat VertexFormat { get; set; }

Type Changed: Metal.MTLAccelerationStructureTriangleGeometryDescriptor

Added properties:

public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
public virtual UIntPtr TransformationMatrixBufferOffset { get; set; }
public virtual MTLAttributeFormat VertexFormat { get; set; }

Type Changed: Metal.MTLAttributeFormat

Added values:

FloatRG11B10 = 54,
FloatRGB9E5 = 55,

Type Changed: Metal.MTLBinaryArchiveError

Added value:

InternalError = 4,

Type Changed: Metal.MTLCompileOptions

Added properties:

public virtual bool AllowReferencingUndefinedSymbols { get; set; }
public virtual MTLCompileSymbolVisibility CompileSymbolVisibility { get; set; }
public virtual UIntPtr MaxTotalThreadsPerThreadgroup { get; set; }
public virtual MTLLibraryOptimizationLevel OptimizationLevel { get; set; }

Type Changed: Metal.MTLComputePipelineReflection

Added property:

public virtual IMTLBinding[] Bindings { get; }

Type Changed: Metal.MTLDataType

Added values:

BFloat = 121,
BFloat2 = 122,
BFloat3 = 123,
BFloat4 = 124,

Type Changed: Metal.MTLDevice_Extensions

Added methods:

public static IMTLArgumentEncoder CreateArgumentEncoder (this IMTLDevice This, IMTLBufferBinding bufferBinding);
public static void CreateRenderPipelineState (this IMTLDevice This, MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler);
public static IMTLRenderPipelineState CreateRenderPipelineState (this IMTLDevice This, MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error);
public static MTLArchitecture GetArchitecture (this IMTLDevice This);
public static MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (this IMTLDevice This, MTLAccelerationStructureDescriptor descriptor);
public static MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (this IMTLDevice This, UIntPtr size);
public static UIntPtr GetMaximumConcurrentCompilationTaskCount (this IMTLDevice This);
public static bool GetShouldMaximizeConcurrentCompilation (this IMTLDevice This);
public static MTLSize GetSparseTileSize (this IMTLDevice This, MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount, MTLSparsePageSize sparsePageSize);
public static UIntPtr GetSparseTileSizeInBytes (this IMTLDevice This, MTLSparsePageSize sparsePageSize);
public static void SetShouldMaximizeConcurrentCompilation (this IMTLDevice This, bool value);

Type Changed: Metal.MTLFunctionOptions

Added value:

StoreFunctionInMetalScript = 2,

Type Changed: Metal.MTLFunctionType

Added values:

Mesh = 7,
Object = 8,

Type Changed: Metal.MTLGpuFamily

Added values:

Apple8 = 1008,
Apple9 = 1009,
Metal3 = 5001,

Type Changed: Metal.MTLHeapDescriptor

Added property:

public virtual MTLSparsePageSize SparsePageSize { get; set; }

Type Changed: Metal.MTLIndirectCommandBufferDescriptor

Added properties:

public virtual UIntPtr MaxKernelThreadgroupMemoryBindCount { get; set; }
public virtual UIntPtr MaxMeshBufferBindCount { get; set; }
public virtual UIntPtr MaxObjectBufferBindCount { get; set; }
public virtual UIntPtr MaxObjectThreadgroupMemoryBindCount { get; set; }
public virtual bool SupportDynamicAttributeStride { get; set; }
public virtual bool SupportRayTracing { get; set; }

Type Changed: Metal.MTLIndirectCommandType

Added values:

DrawMeshThreadgroups = 128,
DrawMeshThreads = 256,

Type Changed: Metal.MTLIntersectionFunctionSignature

Added values:

CurveData = 128,
MaxLevels = 64,

Type Changed: Metal.MTLLanguageVersion

Added values:

v3_0 = 196608,
v3_1 = 196609,

Type Changed: Metal.MTLRenderPipelineReflection

Added properties:

public virtual IMTLBinding[] FragmentBindings { get; }
public virtual IMTLBinding[] MeshBindings { get; }
public virtual IMTLBinding[] ObjectBindings { get; }
public virtual IMTLBinding[] TileBindings { get; }
public virtual IMTLBinding[] VertexBindings { get; }

Type Changed: Metal.MTLRenderStages

Added values:

Mesh = 16,
Object = 8,

Type Changed: Metal.MTLResourceStateCommandEncoder_Extensions

Added method:

public static void MoveTextureMappings (this IMTLResourceStateCommandEncoder This, IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin);

Type Changed: Metal.MTLTextureDescriptor

Added property:

public virtual MTLTextureCompressionType CompressionType { get; set; }

Type Changed: Metal.MTLTextureUsage

Added value:

ShaderAtomic = 32,

Type Changed: Metal.MTLTexture_Extensions

Added method:

public static MTLResourceId GetGpuResourceId (this IMTLTexture This);

Type Changed: Metal.MTLVertexFormat

Added values:

FloatRG11B10 = 54,
FloatRgb9E5 = 55,

New Type: Metal.IMTLBinding

public interface IMTLBinding : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual MTLBindingAccess Access { get; }
	public virtual bool Argument { get; }
	public virtual UIntPtr Index { get; }
	public virtual string Name { get; }
	public virtual MTLBindingType Type { get; }
	public virtual bool Used { get; }
}

New Type: Metal.IMTLBufferBinding

public interface IMTLBufferBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UIntPtr BufferAlignment { get; }
	public virtual UIntPtr BufferDataSize { get; }
	public virtual MTLDataType BufferDataType { get; }
	public virtual MTLPointerType BufferPointerType { get; }
	public virtual MTLStructType BufferStructType { get; }
}

New Type: Metal.IMTLObjectPayloadBinding

public interface IMTLObjectPayloadBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UIntPtr ObjectPayloadAlignment { get; }
	public virtual UIntPtr ObjectPayloadDataSize { get; }
}

New Type: Metal.IMTLTextureBinding

public interface IMTLTextureBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UIntPtr ArrayLength { get; }
	public virtual bool DepthTexture { get; }
	public virtual MTLDataType TextureDataType { get; }
	public virtual MTLTextureType TextureType { get; }
}

New Type: Metal.IMTLThreadgroupBinding

public interface IMTLThreadgroupBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UIntPtr ThreadgroupMemoryAlignment { get; }
	public virtual UIntPtr ThreadgroupMemoryDataSize { get; }
}

New Type: Metal.MTLAccelerationStructureCommandEncoder_Extensions

public static class MTLAccelerationStructureCommandEncoder_Extensions {
	// methods
	public static void RefitAccelerationStructure (this IMTLAccelerationStructureCommandEncoder This, IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset, MTLAccelerationStructureRefitOptions options);
}

New Type: Metal.MTLAccelerationStructureCurveGeometryDescriptor

public class MTLAccelerationStructureCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureCurveGeometryDescriptor ();
	protected MTLAccelerationStructureCurveGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureCurveGeometryDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IMTLBuffer ControlPointBuffer { get; set; }
	public virtual UIntPtr ControlPointBufferOffset { get; set; }
	public virtual UIntPtr ControlPointCount { get; set; }
	public virtual MTLAttributeFormat ControlPointFormat { get; set; }
	public virtual UIntPtr ControlPointStride { get; set; }
	public virtual MTLCurveBasis CurveBasis { get; set; }
	public virtual MTLCurveEndCaps CurveEndCaps { get; set; }
	public virtual MTLCurveType CurveType { get; set; }
	public virtual IMTLBuffer IndexBuffer { get; set; }
	public virtual UIntPtr IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual IMTLBuffer RadiusBuffer { get; set; }
	public virtual UIntPtr RadiusBufferOffset { get; set; }
	public virtual MTLAttributeFormat RadiusFormat { get; set; }
	public virtual UIntPtr RadiusStride { get; set; }
	public virtual UIntPtr SegmentControlPointCount { get; set; }
	public virtual UIntPtr SegmentCount { get; set; }
	// methods
	public static MTLAccelerationStructureCurveGeometryDescriptor GetDescriptor ();
}

New Type: Metal.MTLAccelerationStructureMotionCurveGeometryDescriptor

public class MTLAccelerationStructureMotionCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureMotionCurveGeometryDescriptor ();
	protected MTLAccelerationStructureMotionCurveGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureMotionCurveGeometryDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MTLMotionKeyframeData[] ControlPointBuffers { get; set; }
	public virtual UIntPtr ControlPointCount { get; set; }
	public virtual MTLAttributeFormat ControlPointFormat { get; set; }
	public virtual UIntPtr ControlPointStride { get; set; }
	public virtual MTLCurveBasis CurveBasis { get; set; }
	public virtual MTLCurveEndCaps CurveEndCaps { get; set; }
	public virtual MTLCurveType CurveType { get; set; }
	public virtual IMTLBuffer IndexBuffer { get; set; }
	public virtual UIntPtr IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual MTLMotionKeyframeData[] RadiusBuffers { get; set; }
	public virtual MTLAttributeFormat RadiusFormat { get; set; }
	public virtual UIntPtr RadiusStride { get; set; }
	public virtual UIntPtr SegmentControlPointCount { get; set; }
	public virtual UIntPtr SegmentCount { get; set; }
	// methods
	public static MTLAccelerationStructureMotionCurveGeometryDescriptor GetDescriptor ();
}

New Type: Metal.MTLAccelerationStructurePassDescriptor

public class MTLAccelerationStructurePassDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructurePassDescriptor ();
	protected MTLAccelerationStructurePassDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructurePassDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public static MTLAccelerationStructurePassDescriptor AccelerationStructurePassDescriptor { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray SampleBufferAttachments { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLAccelerationStructurePassSampleBufferAttachmentDescriptor

public class MTLAccelerationStructurePassSampleBufferAttachmentDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructurePassSampleBufferAttachmentDescriptor ();
	protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIntPtr EndOfEncoderSampleIndex { get; set; }
	public virtual IMTLCounterSampleBuffer SampleBuffer { get; set; }
	public virtual UIntPtr StartOfEncoderSampleIndex { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray

public class MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray : Foundation.NSObject {
	// constructors
	public MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray ();
	protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual MTLAccelerationStructurePassSampleBufferAttachmentDescriptor GetObject (UIntPtr attachmentIndex);
	public virtual void SetObject (MTLAccelerationStructurePassSampleBufferAttachmentDescriptor attachment, UIntPtr attachmentIndex);
}

New Type: Metal.MTLAccelerationStructureRefitOptions

[Serializable]
[Flags]
public enum MTLAccelerationStructureRefitOptions {
	PerPrimitiveData = 2,
	VertexData = 1,
}

New Type: Metal.MTLArchitecture

public class MTLArchitecture : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLArchitecture ();
	protected MTLArchitecture (Foundation.NSObjectFlag t);
	protected MTLArchitecture (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string Name { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLBindingAccess

[Serializable]
public enum MTLBindingAccess {
	ReadOnly = 0,
	ReadWrite = 1,
	WriteOnly = 2,
}

New Type: Metal.MTLBindingType

[Serializable]
public enum MTLBindingType {
	Buffer = 0,
	Imageblock = 17,
	ImageblockData = 16,
	InstanceAccelerationStructure = 26,
	IntersectionFunctionTable = 27,
	ObjectPayload = 34,
	PrimitiveAccelerationStructure = 25,
	Sampler = 3,
	Texture = 2,
	ThreadgroupMemory = 1,
	VisibleFunctionTable = 24,
}

New Type: Metal.MTLBuffer_Extensions

public static class MTLBuffer_Extensions {
	// methods
	public static ulong GetGpuAddress (this IMTLBuffer This);
}

New Type: Metal.MTLCommandBuffer_Extensions

public static class MTLCommandBuffer_Extensions {
	// methods
	public static IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (this IMTLCommandBuffer This, MTLAccelerationStructurePassDescriptor descriptor);
}

New Type: Metal.MTLCompileSymbolVisibility

[Serializable]
public enum MTLCompileSymbolVisibility {
	Default = 0,
	Hidden = 1,
}

New Type: Metal.MTLComputeCommandEncoder_Extensions

public static class MTLComputeCommandEncoder_Extensions {
	// methods
	public static void SetBuffer (this IMTLComputeCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
	public static void SetBufferOffset (this IMTLComputeCommandEncoder This, UIntPtr offset, UIntPtr stride, UIntPtr index);
	public static void SetBuffers (this IMTLComputeCommandEncoder This, IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range);
	public static void SetBytes (this IMTLComputeCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index);
}

New Type: Metal.MTLComputePipelineState_Extensions

public static class MTLComputePipelineState_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLComputePipelineState This);
}

New Type: Metal.MTLCurveBasis

[Serializable]
public enum MTLCurveBasis {
	BSpline = 0,
	Bezier = 3,
	CatmullRom = 1,
	Linear = 2,
}

New Type: Metal.MTLCurveEndCaps

[Serializable]
public enum MTLCurveEndCaps {
	Disk = 1,
	None = 0,
	Sphere = 2,
}

New Type: Metal.MTLCurveType

[Serializable]
public enum MTLCurveType {
	Flat = 1,
	Round = 0,
}

New Type: Metal.MTLHeap_Extensions

public static class MTLHeap_Extensions {
	// methods
	public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor);
	public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, UIntPtr size);
	public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor, UIntPtr offset);
	public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, UIntPtr size, UIntPtr offset);
}

New Type: Metal.MTLIOCommandQueueType

[Serializable]
public enum MTLIOCommandQueueType {
	Concurrent = 0,
	Serial = 1,
}

New Type: Metal.MTLIOCompressionContext

public class MTLIOCompressionContext : ObjCRuntime.DisposableObject {
	// properties
	public static IntPtr DefaultChunkSize { get; }
	// methods
	public void AppendData (Foundation.NSData data);
	public void AppendData (byte[] data);
	public void AppendData (System.ReadOnlySpan<byte> data);
	public static MTLIOCompressionContext Create (string path, MTLIOCompressionMethod type, long chunkSize);
	protected override void Dispose (bool disposing);
	public MTLIOCompressionStatus FlushAndDestroy ();
}

New Type: Metal.MTLIOCompressionMethod

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

New Type: Metal.MTLIOCompressionStatus

[Serializable]
public enum MTLIOCompressionStatus {
	Complete = 0,
	Error = 1,
}

New Type: Metal.MTLIOError

[Serializable]
public enum MTLIOError {
	Internal = 2,
	UrlInvalid = 1,
}

New Type: Metal.MTLIOErrorExtensions

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

New Type: Metal.MTLIOPriority

[Serializable]
public enum MTLIOPriority {
	High = 0,
	Low = 2,
	Normal = 1,
}

New Type: Metal.MTLIOStatus

[Serializable]
public enum MTLIOStatus {
	Cancelled = 1,
	Complete = 3,
	Error = 2,
	Pending = 0,
}

New Type: Metal.MTLIndirectCommandBuffer_Extensions

public static class MTLIndirectCommandBuffer_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceID (this IMTLIndirectCommandBuffer This);
}

New Type: Metal.MTLIndirectComputeCommand_Extensions

public static class MTLIndirectComputeCommand_Extensions {
	// methods
	public static void SetKernelBuffer (this IMTLIndirectComputeCommand This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
}

New Type: Metal.MTLIndirectInstanceAccelerationStructureDescriptor

public class MTLIndirectInstanceAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor {
	// constructors
	public MTLIndirectInstanceAccelerationStructureDescriptor ();
	protected MTLIndirectInstanceAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLIndirectInstanceAccelerationStructureDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IMTLBuffer InstanceCountBuffer { get; set; }
	public virtual UIntPtr InstanceCountBufferOffset { get; set; }
	public virtual IMTLBuffer InstanceDescriptorBuffer { get; set; }
	public virtual UIntPtr InstanceDescriptorBufferOffset { get; set; }
	public virtual UIntPtr InstanceDescriptorStride { get; set; }
	public virtual MTLAccelerationStructureInstanceDescriptorType InstanceDescriptorType { get; set; }
	public virtual UIntPtr MaxInstanceCount { get; set; }
	public virtual UIntPtr MaxMotionTransformCount { get; set; }
	public virtual IMTLBuffer MotionTransformBuffer { get; set; }
	public virtual UIntPtr MotionTransformBufferOffset { get; set; }
	public virtual IMTLBuffer MotionTransformCountBuffer { get; set; }
	public virtual UIntPtr MotionTransformCountBufferOffset { get; set; }
	// methods
	public static MTLIndirectInstanceAccelerationStructureDescriptor GetDescriptor ();
}

New Type: Metal.MTLIndirectRenderCommand_Extensions

public static class MTLIndirectRenderCommand_Extensions {
	// methods
	public static void SetVertexBuffer (this IMTLIndirectRenderCommand This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
}

New Type: Metal.MTLIntersectionFunctionTable_Extensions

public static class MTLIntersectionFunctionTable_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLIntersectionFunctionTable This);
	public static void SetOpaqueCurveIntersectionFunction (this IMTLIntersectionFunctionTable This, MTLIntersectionFunctionSignature signature, Foundation.NSRange range);
	public static void SetOpaqueCurveIntersectionFunction (this IMTLIntersectionFunctionTable This, MTLIntersectionFunctionSignature signature, UIntPtr index);
}

New Type: Metal.MTLLibraryOptimizationLevel

[Serializable]
public enum MTLLibraryOptimizationLevel {
	Default = 0,
	Size = 1,
}

New Type: Metal.MTLMeshRenderPipelineDescriptor

public class MTLMeshRenderPipelineDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLMeshRenderPipelineDescriptor ();
	protected MTLMeshRenderPipelineDescriptor (Foundation.NSObjectFlag t);
	protected MTLMeshRenderPipelineDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual bool AlphaToCoverageEnabled { get; set; }
	public virtual bool AlphaToOneEnabled { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MTLRenderPipelineColorAttachmentDescriptorArray ColorAttachments { get; }
	public virtual MTLPixelFormat DepthAttachmentPixelFormat { get; set; }
	public virtual MTLPipelineBufferDescriptorArray FragmentBuffers { get; }
	public virtual IMTLFunction FragmentFunction { get; set; }
	public virtual MTLLinkedFunctions FragmentLinkedFunctions { get; set; }
	public virtual string Label { get; set; }
	public virtual UIntPtr MaxTotalThreadgroupsPerMeshGrid { get; set; }
	public virtual UIntPtr MaxTotalThreadsPerMeshThreadgroup { get; set; }
	public virtual UIntPtr MaxTotalThreadsPerObjectThreadgroup { get; set; }
	public virtual UIntPtr MaxVertexAmplificationCount { get; set; }
	public virtual MTLPipelineBufferDescriptorArray MeshBuffers { get; }
	public virtual IMTLFunction MeshFunction { get; set; }
	public virtual MTLLinkedFunctions MeshLinkedFunctions { get; set; }
	public virtual bool MeshThreadgroupSizeIsMultipleOfThreadExecutionWidth { get; set; }
	public virtual MTLPipelineBufferDescriptorArray ObjectBuffers { get; }
	public virtual IMTLFunction ObjectFunction { get; set; }
	public virtual MTLLinkedFunctions ObjectLinkedFunctions { get; set; }
	public virtual bool ObjectThreadgroupSizeIsMultipleOfThreadExecutionWidth { get; set; }
	public virtual UIntPtr PayloadMemoryLength { get; set; }
	public virtual UIntPtr RasterSampleCount { get; set; }
	public virtual bool RasterizationEnabled { get; set; }
	public virtual MTLPixelFormat StencilAttachmentPixelFormat { get; set; }
	public virtual bool SupportIndirectCommandBuffers { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void Reset ();
}

New Type: Metal.MTLRenderCommandEncoder_Extensions

public static class MTLRenderCommandEncoder_Extensions {
	// methods
	public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
	public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
	public static void DrawMeshThreads (this IMTLRenderCommandEncoder This, MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
	public static void SetMeshBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr index);
	public static void SetMeshBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr index);
	public static void SetMeshBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
	public static void SetMeshBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr index);
	public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, UIntPtr index);
	public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index);
	public static void SetMeshSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, Foundation.NSRange range);
	public static void SetMeshSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
	public static void SetMeshTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, UIntPtr index);
	public static void SetMeshTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range);
	public static void SetObjectBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr index);
	public static void SetObjectBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr index);
	public static void SetObjectBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
	public static void SetObjectBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr index);
	public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, UIntPtr index);
	public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index);
	public static void SetObjectSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, Foundation.NSRange range);
	public static void SetObjectSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
	public static void SetObjectTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, UIntPtr index);
	public static void SetObjectTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range);
	public static void SetObjectThreadgroupMemoryLength (this IMTLRenderCommandEncoder This, UIntPtr length, UIntPtr index);
	public static void SetVertexBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
	public static void SetVertexBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr stride, UIntPtr index);
	public static void SetVertexBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range);
	public static void SetVertexBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index);
}

New Type: Metal.MTLRenderPipelineState_Extensions

public static class MTLRenderPipelineState_Extensions {
	// methods
	public static UIntPtr GetMaxTotalThreadsPerMeshThreadgroup (this IMTLRenderPipelineState This);
	public static UIntPtr GetMaxTotalThreadsPerObjectThreadgroup (this IMTLRenderPipelineState This);
	public static UIntPtr GetObjectThreadExecutionWidth (this IMTLRenderPipelineState This);
}

New Type: Metal.MTLResourceId

public struct MTLResourceId {
	// fields
	public ulong Impl;
}

New Type: Metal.MTLSamplerState_Extensions

public static class MTLSamplerState_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLSamplerState This);
}

New Type: Metal.MTLSparsePageSize

[Serializable]
public enum MTLSparsePageSize {
	Size16 = 101,
	Size256 = 103,
	Size64 = 102,
}

New Type: Metal.MTLTextureCompressionType

[Serializable]
public enum MTLTextureCompressionType {
	Lossless = 0,
	Lossy = 1,
}

New Type: Metal.MTLVisibleFunctionTable_Extensions

public static class MTLVisibleFunctionTable_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLVisibleFunctionTable This);
}

Namespace MetalFX

Type Changed: MetalFX.IMTLFXSpatialScaler

Modified properties:

-public abstract MTLFXSpatialScalerColorProcessingMode ColorProcessingMode { get; }
+public virtual MTLFXSpatialScalerColorProcessingMode ColorProcessingMode { get; }
-public abstract Metal.IMTLTexture ColorTexture { get; set; }
+public virtual Metal.IMTLTexture ColorTexture { get; set; }
-public abstract Metal.MTLPixelFormat ColorTextureFormat { get; }
+public virtual Metal.MTLPixelFormat ColorTextureFormat { get; }
-public abstract Metal.MTLTextureUsage ColorTextureUsage { get; }
+public virtual Metal.MTLTextureUsage ColorTextureUsage { get; }
-public abstract Metal.IMTLFence Fence { get; set; }
+public virtual Metal.IMTLFence Fence { get; set; }
-public abstract UIntPtr InputContentHeight { get; set; }
+public virtual UIntPtr InputContentHeight { get; set; }
-public abstract UIntPtr InputContentWidth { get; set; }
+public virtual UIntPtr InputContentWidth { get; set; }
-public abstract UIntPtr InputHeight { get; }
+public virtual UIntPtr InputHeight { get; }
-public abstract UIntPtr InputWidth { get; }
+public virtual UIntPtr InputWidth { get; }
-public abstract UIntPtr OutputHeight { get; }
+public virtual UIntPtr OutputHeight { get; }
-public abstract Metal.IMTLTexture OutputTexture { get; set; }
+public virtual Metal.IMTLTexture OutputTexture { get; set; }
-public abstract Metal.MTLPixelFormat OutputTextureFormat { get; }
+public virtual Metal.MTLPixelFormat OutputTextureFormat { get; }
-public abstract Metal.MTLTextureUsage OutputTextureUsage { get; }
+public virtual Metal.MTLTextureUsage OutputTextureUsage { get; }
-public abstract UIntPtr OutputWidth { get; }
+public virtual UIntPtr OutputWidth { get; }

Modified methods:

-public abstract void Encode (Metal.IMTLCommandBuffer commandBuffer)
+public virtual void Encode (Metal.IMTLCommandBuffer commandBuffer)

Type Changed: MetalFX.IMTLFXTemporalScaler

Modified properties:

-public abstract Metal.IMTLTexture ColorTexture { get; set; }
+public virtual Metal.IMTLTexture ColorTexture { get; set; }
-public abstract Metal.MTLPixelFormat ColorTextureFormat { get; }
+public virtual Metal.MTLPixelFormat ColorTextureFormat { get; }
-public abstract Metal.MTLTextureUsage ColorTextureUsage { get; }
+public virtual Metal.MTLTextureUsage ColorTextureUsage { get; }
-public abstract bool DepthReversed { get; set; }
+public virtual bool DepthReversed { get; set; }
-public abstract Metal.IMTLTexture DepthTexture { get; set; }
+public virtual Metal.IMTLTexture DepthTexture { get; set; }
-public abstract Metal.MTLPixelFormat DepthTextureFormat { get; }
+public virtual Metal.MTLPixelFormat DepthTextureFormat { get; }
-public abstract Metal.MTLTextureUsage DepthTextureUsage { get; }
+public virtual Metal.MTLTextureUsage DepthTextureUsage { get; }
-public abstract Metal.IMTLTexture ExposureTexture { get; set; }
+public virtual Metal.IMTLTexture ExposureTexture { get; set; }
-public abstract Metal.IMTLFence Fence { get; set; }
+public virtual Metal.IMTLFence Fence { get; set; }
-public abstract UIntPtr InputContentHeight { get; set; }
+public virtual UIntPtr InputContentHeight { get; set; }
-public abstract float InputContentMaxScale { get; }
+public virtual float InputContentMaxScale { get; }
-public abstract float InputContentMinScale { get; }
+public virtual float InputContentMinScale { get; }
-public abstract UIntPtr InputContentWidth { get; set; }
+public virtual UIntPtr InputContentWidth { get; set; }
-public abstract UIntPtr InputHeight { get; }
+public virtual UIntPtr InputHeight { get; }
-public abstract UIntPtr InputWidth { get; }
+public virtual UIntPtr InputWidth { get; }
-public abstract float JitterOffsetX { get; set; }
+public virtual float JitterOffsetX { get; set; }
-public abstract float JitterOffsetY { get; set; }
+public virtual float JitterOffsetY { get; set; }
-public abstract Metal.IMTLTexture MotionTexture { get; set; }
+public virtual Metal.IMTLTexture MotionTexture { get; set; }
-public abstract Metal.MTLPixelFormat MotionTextureFormat { get; }
+public virtual Metal.MTLPixelFormat MotionTextureFormat { get; }
-public abstract Metal.MTLTextureUsage MotionTextureUsage { get; }
+public virtual Metal.MTLTextureUsage MotionTextureUsage { get; }
-public abstract float MotionVectorScaleX { get; set; }
+public virtual float MotionVectorScaleX { get; set; }
-public abstract float MotionVectorScaleY { get; set; }
+public virtual float MotionVectorScaleY { get; set; }
-public abstract UIntPtr OutputHeight { get; }
+public virtual UIntPtr OutputHeight { get; }
-public abstract Metal.IMTLTexture OutputTexture { get; set; }
+public virtual Metal.IMTLTexture OutputTexture { get; set; }
-public abstract Metal.MTLPixelFormat OutputTextureFormat { get; }
+public virtual Metal.MTLPixelFormat OutputTextureFormat { get; }
-public abstract Metal.MTLTextureUsage OutputTextureUsage { get; }
+public virtual Metal.MTLTextureUsage OutputTextureUsage { get; }
-public abstract UIntPtr OutputWidth { get; }
+public virtual UIntPtr OutputWidth { get; }
-public abstract float PreExposure { get; set; }
+public virtual float PreExposure { get; set; }
-public abstract bool Reset { get; set; }
+public virtual bool Reset { get; set; }

Added properties:

public virtual Metal.IMTLTexture ReactiveMaskTexture { get; set; }
public virtual Metal.MTLTextureUsage ReactiveTextureUsage { get; }

Modified methods:

-public abstract void Encode (Metal.IMTLCommandBuffer commandBuffer)
+public virtual void Encode (Metal.IMTLCommandBuffer commandBuffer)

Type Changed: MetalFX.MTLFXTemporalScalerDescriptor

Added properties:

public virtual bool ReactiveMaskTextureEnabled { get; set; }
public virtual Metal.MTLPixelFormat ReactiveMaskTextureFormat { get; set; }

Namespace MetalKit

Type Changed: MetalKit.IMTKViewDelegate

Modified methods:

-public abstract void Draw (MTKView view)
+public virtual void Draw (MTKView view)
-public abstract void DrawableSizeWillChange (MTKView view, CoreGraphics.CGSize size)
+public virtual void DrawableSizeWillChange (MTKView view, CoreGraphics.CGSize size)

Namespace MetalPerformanceShaders

Type Changed: MetalPerformanceShaders.IMPSCnnBatchNormalizationDataSource

Modified properties:

-public abstract IntPtr Beta { get; }
+public virtual IntPtr Beta { get; }
-public abstract IntPtr Gamma { get; }
+public virtual IntPtr Gamma { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }
-public abstract bool Load { get; }
+public virtual bool Load { get; }
-public abstract IntPtr Mean { get; }
+public virtual IntPtr Mean { get; }
-public abstract UIntPtr NumberOfFeatureChannels { get; }
+public virtual UIntPtr NumberOfFeatureChannels { get; }
-public abstract IntPtr Variance { get; }
+public virtual IntPtr Variance { get; }

Added property:

public virtual float Epsilon { get; }

Modified methods:

-public abstract void Purge ()
+public virtual void Purge ()

Added methods:

public virtual IMPSCnnBatchNormalizationDataSource Copy (Foundation.NSZone zone, Metal.IMTLDevice device);
public static T CreateInstance<T> (Foundation.NSCoder decoder);
public virtual void Encode (Foundation.NSCoder coder);
public static bool GetSupportsSecureCoding<T> ();
public virtual bool UpdateGammaAndBeta (MPSCnnBatchNormalizationState batchNormalizationState);
public virtual MPSCnnNormalizationGammaAndBetaState UpdateGammaAndBeta (Metal.IMTLCommandBuffer commandBuffer, MPSCnnBatchNormalizationState batchNormalizationState);
public virtual bool UpdateMeanAndVariance (MPSCnnBatchNormalizationState batchNormalizationState);
public virtual MPSCnnNormalizationMeanAndVarianceState UpdateMeanAndVariance (Metal.IMTLCommandBuffer commandBuffer, MPSCnnBatchNormalizationState batchNormalizationState);

Type Changed: MetalPerformanceShaders.IMPSCnnConvolutionDataSource

Modified properties:

-public abstract IntPtr BiasTerms { get; }
+public virtual IntPtr BiasTerms { get; }
-public abstract MPSDataType DataType { get; }
+public virtual MPSDataType DataType { get; }
-public abstract MPSCnnConvolutionDescriptor Descriptor { get; }
+public virtual MPSCnnConvolutionDescriptor Descriptor { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }
-public abstract IntPtr Weights { get; }
+public virtual IntPtr Weights { get; }

Added property:

public virtual MPSDataType KernelWeightsDataType { get; }

Modified methods:

-public abstract bool Load ()
+public virtual bool Load ()
-public abstract void Purge ()
+public virtual void Purge ()

Added methods:

public virtual IMPSCnnConvolutionDataSource Copy (Foundation.NSZone zone, Metal.IMTLDevice device);
public virtual IntPtr GetLookupTableForUInt8Kernel ();
public virtual IntPtr GetRangesForUInt8Kernel ();
public virtual MPSCnnWeightsQuantizationType GetWeightsQuantizationType ();
public virtual bool Update (MPSCnnConvolutionGradientState gradientState, MPSCnnConvolutionWeightsAndBiasesState sourceState);
public virtual MPSCnnConvolutionWeightsAndBiasesState Update (Metal.IMTLCommandBuffer commandBuffer, MPSCnnConvolutionGradientState gradientState, MPSCnnConvolutionWeightsAndBiasesState sourceState);

Type Changed: MetalPerformanceShaders.IMPSCnnInstanceNormalizationDataSource

Modified properties:

-public abstract IntPtr Beta { get; }
+public virtual IntPtr Beta { get; }
-public abstract IntPtr Gamma { get; }
+public virtual IntPtr Gamma { get; }
-public abstract string Label { get; }
+public virtual string Label { get; }
-public abstract UIntPtr NumberOfFeatureChannels { get; }
+public virtual UIntPtr NumberOfFeatureChannels { get; }

Added methods:

public virtual IMPSCnnInstanceNormalizationDataSource Copy (Foundation.NSZone zone, Metal.IMTLDevice device);
public static T CreateInstance<T> (Foundation.NSCoder decoder);
public virtual void Encode (Foundation.NSCoder coder);
public virtual float GetEpsilon ();
public virtual bool UpdateGammaAndBeta (MPSCnnInstanceNormalizationGradientState[] instanceNormalizationStateBatch);
public virtual MPSCnnNormalizationGammaAndBetaState UpdateGammaAndBeta (Metal.IMTLCommandBuffer commandBuffer, MPSCnnInstanceNormalizationGradientState[] instanceNormalizationStateBatch);

Type Changed: MetalPerformanceShaders.IMPSDeviceProvider

Modified methods:

-public abstract Metal.IMTLDevice GetMTLDevice ()
+public virtual Metal.IMTLDevice GetMTLDevice ()

Type Changed: MetalPerformanceShaders.IMPSHandle

Modified properties:

-public abstract string Label { get; }
+public virtual string Label { get; }

Type Changed: MetalPerformanceShaders.IMPSHeapProvider

Modified methods:

-public abstract Metal.IMTLHeap GetNewHeap (Metal.MTLHeapDescriptor descriptor)
+public virtual Metal.IMTLHeap GetNewHeap (Metal.MTLHeapDescriptor descriptor)

Added method:

public virtual void RetireHeap (Metal.IMTLHeap heap, double seconds);

Type Changed: MetalPerformanceShaders.IMPSImageAllocator

Modified methods:

-public abstract MPSImage GetImage (Metal.IMTLCommandBuffer cmdBuf, MPSImageDescriptor descriptor, MPSKernel kernel)
+public virtual MPSImage GetImage (Metal.IMTLCommandBuffer cmdBuf, MPSImageDescriptor descriptor, MPSKernel kernel)

Added method:

public virtual Foundation.NSArray<MPSImage> GetImageBatch (Metal.IMTLCommandBuffer commandBuffer, MPSImageDescriptor descriptor, MPSKernel kernel, UIntPtr count);

Type Changed: MetalPerformanceShaders.IMPSImageSizeEncodingState

Modified properties:

-public abstract UIntPtr SourceHeight { get; }
+public virtual UIntPtr SourceHeight { get; }
-public abstract UIntPtr SourceWidth { get; }
+public virtual UIntPtr SourceWidth { get; }

Type Changed: MetalPerformanceShaders.IMPSImageTransformProvider

Modified methods:

-public abstract MPSScaleTransform GetTransform (MPSImage image, IMPSHandle handle)
+public virtual MPSScaleTransform GetTransform (MPSImage image, IMPSHandle handle)

Type Changed: MetalPerformanceShaders.IMPSNDArrayAllocator

Modified methods:

-public abstract MPSNDArray AllocateArray (Metal.IMTLCommandBuffer cmdBuf, MPSNDArrayDescriptor descriptor, MPSKernel kernel)
+public virtual MPSNDArray AllocateArray (Metal.IMTLCommandBuffer cmdBuf, MPSNDArrayDescriptor descriptor, MPSKernel kernel)

Type Changed: MetalPerformanceShaders.IMPSNNLossCallback

Modified methods:

-public abstract float GetScalarWeight (MPSImage sourceImage, MPSImage destinationImage)
+public virtual float GetScalarWeight (MPSImage sourceImage, MPSImage destinationImage)

Type Changed: MetalPerformanceShaders.IMPSNNPadding

Modified properties:

-public abstract MPSNNPaddingMethod PaddingMethod { get; }
+public virtual MPSNNPaddingMethod PaddingMethod { get; }

Added methods:

public virtual MPSImageDescriptor GetDestinationImageDescriptor (MPSImage[] sourceImages, MPSState[] sourceStates, MPSKernel kernel, MPSImageDescriptor inDescriptor);
public virtual IMPSNNPadding GetInverse ();
public virtual string GetLabel ();

Type Changed: MetalPerformanceShaders.IMPSNNTrainableNode

Modified properties:

-public abstract MPSNNTrainingStyle TrainingStyle { get; set; }
+public virtual MPSNNTrainingStyle TrainingStyle { get; set; }

Type Changed: MetalPerformanceShaders.MPSCommandBuffer

Added method:

public virtual Metal.IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (Metal.MTLAccelerationStructurePassDescriptor descriptor);

Namespace MetricKit

Type Changed: MetricKit.IMXMetricManagerSubscriber

Added method:

public virtual void DidReceiveDiagnosticPayloads (MXDiagnosticPayload[] payloads);

Namespace ModelIO

Type Changed: ModelIO.IMDLAssetResolver

Modified methods:

-public abstract bool CanResolveAsset (string name)
+public virtual bool CanResolveAsset (string name)
-public abstract Foundation.NSUrl ResolveAsset (string name)
+public virtual Foundation.NSUrl ResolveAsset (string name)

Type Changed: ModelIO.IMDLLightProbeIrradianceDataSource

Modified properties:

-public abstract MDLAxisAlignedBoundingBox BoundingBox { get; set; }
+public virtual MDLAxisAlignedBoundingBox BoundingBox { get; set; }

Added property:

public virtual UIntPtr SphericalHarmonicsLevel { get; set; }

Added method:

public virtual Foundation.NSData GetSphericalHarmonicsCoefficients (System.Numerics.Vector3 position);

Type Changed: ModelIO.IMDLMeshBuffer

Modified properties:

-public abstract IMDLMeshBufferAllocator Allocator { get; }
+public virtual IMDLMeshBufferAllocator Allocator { get; }
-public abstract UIntPtr Length { get; }
+public virtual UIntPtr Length { get; }
-public abstract MDLMeshBufferMap Map { get; }
+public virtual MDLMeshBufferMap Map { get; }
-public abstract MDLMeshBufferType Type { get; }
+public virtual MDLMeshBufferType Type { get; }
-public abstract IMDLMeshBufferZone Zone { get; }
+public virtual IMDLMeshBufferZone Zone { get; }

Modified methods:

-public abstract void FillData (Foundation.NSData data, UIntPtr offset)
+public virtual void FillData (Foundation.NSData data, UIntPtr offset)

Type Changed: ModelIO.IMDLMeshBufferAllocator

Modified methods:

-public abstract IMDLMeshBuffer CreateBuffer (Foundation.NSData data, MDLMeshBufferType type)
+public virtual IMDLMeshBuffer CreateBuffer (Foundation.NSData data, MDLMeshBufferType type)
-public abstract IMDLMeshBuffer CreateBuffer (UIntPtr length, MDLMeshBufferType type)
+public virtual IMDLMeshBuffer CreateBuffer (UIntPtr length, MDLMeshBufferType type)
-public abstract IMDLMeshBuffer CreateBuffer (IMDLMeshBufferZone zone, Foundation.NSData data, MDLMeshBufferType type)
+public virtual IMDLMeshBuffer CreateBuffer (IMDLMeshBufferZone zone, Foundation.NSData data, MDLMeshBufferType type)
-public abstract IMDLMeshBuffer CreateBuffer (IMDLMeshBufferZone zone, UIntPtr length, MDLMeshBufferType type)
+public virtual IMDLMeshBuffer CreateBuffer (IMDLMeshBufferZone zone, UIntPtr length, MDLMeshBufferType type)
-public abstract IMDLMeshBufferZone CreateZone (UIntPtr capacity)
+public virtual IMDLMeshBufferZone CreateZone (UIntPtr capacity)
-public abstract IMDLMeshBufferZone CreateZone (Foundation.NSNumber[] sizes, Foundation.NSNumber[] types)
+public virtual IMDLMeshBufferZone CreateZone (Foundation.NSNumber[] sizes, Foundation.NSNumber[] types)

Type Changed: ModelIO.IMDLMeshBufferZone

Modified properties:

-public abstract IMDLMeshBufferAllocator Allocator { get; }
+public virtual IMDLMeshBufferAllocator Allocator { get; }
-public abstract UIntPtr Capacity { get; }
+public virtual UIntPtr Capacity { get; }

Type Changed: ModelIO.IMDLNamed

Modified properties:

-public abstract string Name { get; set; }
+public virtual string Name { get; set; }

Type Changed: ModelIO.IMDLObjectContainerComponent

Modified properties:

-public abstract UIntPtr Count { get; }
+public virtual UIntPtr Count { get; }
-public abstract MDLObject[] Objects { get; }
+public virtual MDLObject[] Objects { get; }

Modified methods:

-public abstract void AddObject (MDLObject object)
+public virtual void AddObject (MDLObject object)
-public abstract MDLObject GetObject (UIntPtr index)
+public virtual MDLObject GetObject (UIntPtr index)
-public abstract void RemoveObject (MDLObject object)
+public virtual void RemoveObject (MDLObject object)

Type Changed: ModelIO.IMDLTransformComponent

Modified properties:

-public abstract Foundation.NSNumber[] KeyTimes { get; }
+public virtual Foundation.NSNumber[] KeyTimes { get; }
-public abstract CoreGraphics.NMatrix4 Matrix { get; set; }
+public virtual CoreGraphics.NMatrix4 Matrix { get; set; }
-public abstract double MaximumTime { get; }
+public virtual double MaximumTime { get; }
-public abstract double MinimumTime { get; }
+public virtual double MinimumTime { get; }
-public abstract bool ResetsTransform { get; set; }
+public virtual bool ResetsTransform { get; set; }

Added methods:

public static CoreGraphics.NMatrix4 CreateGlobalTransform<T> (MDLObject obj, double atTime);
public virtual CoreGraphics.NMatrix4 GetLocalTransform (double atTime);
public virtual void SetLocalTransform (CoreGraphics.NMatrix4 transform);
public virtual void SetLocalTransform (CoreGraphics.NMatrix4 transform, double time);

Type Changed: ModelIO.IMDLTransformOp

Modified properties:

-public abstract bool IsInverseOp { get; }
+public virtual bool IsInverseOp { get; }
-public abstract string Name { get; }
+public virtual string Name { get; }

Modified methods:

-public abstract CoreGraphics.NMatrix4 GetNMatrix4 (double atTime)
+public virtual CoreGraphics.NMatrix4 GetNMatrix4 (double atTime)
-public abstract CoreGraphics.NMatrix4d GetNMatrix4d (double atTime)
+public virtual CoreGraphics.NMatrix4d GetNMatrix4d (double atTime)

Type Changed: ModelIO.MDLMaterial

Added properties:

public MDLMaterialProperty Item { get; }
public MDLMaterialProperty Item { get; }

Namespace MultipeerConnectivity

Type Changed: MultipeerConnectivity.IMCAdvertiserAssistantDelegate

Added methods:

public virtual void DidDismissInvitation (MCAdvertiserAssistant advertiserAssistant);
public virtual void WillPresentInvitation (MCAdvertiserAssistant advertiserAssistant);

Type Changed: MultipeerConnectivity.IMCBrowserViewControllerDelegate

Modified methods:

-public abstract void DidFinish (MCBrowserViewController browserViewController)
+public virtual void DidFinish (MCBrowserViewController browserViewController)
-public abstract void WasCancelled (MCBrowserViewController browserViewController)
+public virtual void WasCancelled (MCBrowserViewController browserViewController)

Added method:

public virtual bool ShouldPresentNearbyPeer (MCBrowserViewController browserViewController, MCPeerID peerID, Foundation.NSDictionary info);

Type Changed: MultipeerConnectivity.IMCNearbyServiceAdvertiserDelegate

Modified methods:

-public abstract void DidReceiveInvitationFromPeer (MCNearbyServiceAdvertiser advertiser, MCPeerID peerID, Foundation.NSData context, MCNearbyServiceAdvertiserInvitationHandler invitationHandler)
+public virtual void DidReceiveInvitationFromPeer (MCNearbyServiceAdvertiser advertiser, MCPeerID peerID, Foundation.NSData context, MCNearbyServiceAdvertiserInvitationHandler invitationHandler)

Added method:

public virtual void DidNotStartAdvertisingPeer (MCNearbyServiceAdvertiser advertiser, Foundation.NSError error);

Type Changed: MultipeerConnectivity.IMCNearbyServiceBrowserDelegate

Modified methods:

-public abstract void FoundPeer (MCNearbyServiceBrowser browser, MCPeerID peerID, Foundation.NSDictionary info)
+public virtual void FoundPeer (MCNearbyServiceBrowser browser, MCPeerID peerID, Foundation.NSDictionary info)
-public abstract void LostPeer (MCNearbyServiceBrowser browser, MCPeerID peerID)
+public virtual void LostPeer (MCNearbyServiceBrowser browser, MCPeerID peerID)

Added method:

public virtual void DidNotStartBrowsingForPeers (MCNearbyServiceBrowser browser, Foundation.NSError error);

Type Changed: MultipeerConnectivity.IMCSessionDelegate

Modified methods:

-public abstract void DidChangeState (MCSession session, MCPeerID peerID, MCSessionState state)
+public virtual void DidChangeState (MCSession session, MCPeerID peerID, MCSessionState state)
-public abstract void DidFinishReceivingResource (MCSession session, string resourceName, MCPeerID fromPeer, Foundation.NSUrl localUrl, Foundation.NSError error)
+public virtual void DidFinishReceivingResource (MCSession session, string resourceName, MCPeerID fromPeer, Foundation.NSUrl localUrl, Foundation.NSError error)
-public abstract void DidReceiveData (MCSession session, Foundation.NSData data, MCPeerID peerID)
+public virtual void DidReceiveData (MCSession session, Foundation.NSData data, MCPeerID peerID)
-public abstract void DidReceiveStream (MCSession session, Foundation.NSInputStream stream, string streamName, MCPeerID peerID)
+public virtual void DidReceiveStream (MCSession session, Foundation.NSInputStream stream, string streamName, MCPeerID peerID)
-public abstract void DidStartReceivingResource (MCSession session, string resourceName, MCPeerID fromPeer, Foundation.NSProgress progress)
+public virtual void DidStartReceivingResource (MCSession session, string resourceName, MCPeerID fromPeer, Foundation.NSProgress progress)

Added method:

public virtual bool DidReceiveCertificate (MCSession session, Security.SecCertificate[] certificate, MCPeerID peerID, System.Action<bool> certificateHandler);

Namespace Network

Type Changed: Network.NWConnection

Obsoleted methods:

 [Obsolete ("Use 'SetViabilityChangeHandler' instead.")]
 public void SetBooleanChangeHandler (System.Action<bool> callback);

Added method:

public void SetViabilityChangeHandler (System.Action<bool> callback);

Type Changed: Network.NWPrivacyContext

Added methods:

public void AddProxy (NWProxyConfig proxyConfig);
public void ClearProxies ();

New Type: Network.NWProxyConfig

public class NWProxyConfig : CoreFoundation.NativeObject {
	// properties
	public bool FailoverAllowed { get; set; }
	// methods
	public void AddExcludedDomain (string domain);
	public void AddMatchDomain (string domain);
	public void ClearExcludedDomains ();
	public void ClearMatchDomains ();
	public static NWProxyConfig CreateHttpConnect (NWEndpoint proxyEndpoint, NWProtocolTlsOptions options);
	public static NWProxyConfig CreateObliviousHttp (NWRelayHop hop, string relaysResourcePath, byte[] gatewayKeyConfig);
	public static NWProxyConfig CreateRelay (NWRelayHop firstHop, NWRelayHop secondHop);
	public static NWProxyConfig CreateSocksV5 (NWEndpoint endpoint);
	public void EnumerateExcludedDomains (System.Action<string> handler);
	public void EnumerateMatchDomains (System.Action<string> handler);
	public void SetUsernameAndPassword (string username, string password);
}

New Type: Network.NWRelayHop

public class NWRelayHop : CoreFoundation.NativeObject {
	// methods
	public void AddAdditionalHttpHeaderField (string fieldName, string fieldValue);
	public static NWRelayHop Create (NWEndpoint http3RelayEndpoint, NWEndpoint http2RelayEndpoint, NWProtocolOptions relayTlsOptions);
}

Namespace NetworkExtension

Type Changed: NetworkExtension.INWTcpConnectionAuthenticationDelegate

Added methods:

public virtual void EvaluateTrust (NWTcpConnection connection, Foundation.NSArray peerCertificateChain, System.Action<Security.SecTrust> completion);
public virtual System.Threading.Tasks.Task<Security.SecTrust> EvaluateTrustAsync (NWTcpConnection connection, Foundation.NSArray peerCertificateChain);
public virtual void ProvideIdentity (NWTcpConnection connection, System.Action<Security.SecIdentity,Foundation.NSArray> completion);
public virtual bool ShouldEvaluateTrust (NWTcpConnection connection);
public virtual bool ShouldProvideIdentity (NWTcpConnection connection);

Type Changed: NetworkExtension.NEVpnProtocol

Added property:

public virtual bool ExcludeDeviceCommunication { get; set; }

Namespace NotificationCenter

Type Changed: NotificationCenter.INCWidgetListViewDelegate

Modified methods:

-public abstract AppKit.NSViewController GetViewControllerForRow (NCWidgetListViewController list, UIntPtr row)
+public virtual AppKit.NSViewController GetViewControllerForRow (NCWidgetListViewController list, UIntPtr row)

Added methods:

public virtual void DidRemoveRow (NCWidgetListViewController list, UIntPtr row);
public virtual void DidReorderRow (NCWidgetListViewController list, UIntPtr row, UIntPtr newIndex);
public virtual void PerformAddAction (NCWidgetListViewController list);
public virtual bool ShouldRemoveRow (NCWidgetListViewController list, UIntPtr row);
public virtual bool ShouldReorderRow (NCWidgetListViewController list, UIntPtr row);

Type Changed: NotificationCenter.INCWidgetProviding

Added property:

public virtual bool WidgetAllowsEditing { get; }

Added methods:

public virtual AppKit.NSEdgeInsets GetWidgetMarginInsets (AppKit.NSEdgeInsets defaultMarginInsets);
public virtual void WidgetDidBeginEditing ();
public virtual void WidgetDidEndEditing ();
public virtual void WidgetPerformUpdate (System.Action<NCUpdateResult> completionHandler);

Type Changed: NotificationCenter.INCWidgetSearchViewDelegate

Modified methods:

-public abstract void ResultSelected (NCWidgetSearchViewController controller, Foundation.NSObject obj)
+public virtual void ResultSelected (NCWidgetSearchViewController controller, Foundation.NSObject obj)
-public abstract void SearchForTerm (NCWidgetSearchViewController controller, string searchTerm, UIntPtr max)
+public virtual void SearchForTerm (NCWidgetSearchViewController controller, string searchTerm, UIntPtr max)
-public abstract void TermCleared (NCWidgetSearchViewController controller)
+public virtual void TermCleared (NCWidgetSearchViewController controller)

Namespace OSLog

Type Changed: OSLog.IOSLogEntryFromProcess

Modified properties:

-public abstract ulong ActivityIdentifier { get; }
+public virtual ulong ActivityIdentifier { get; }
-public abstract string Process { get; }
+public virtual string Process { get; }
-public abstract int ProcessIdentifier { get; }
+public virtual int ProcessIdentifier { get; }
-public abstract string Sender { get; }
+public virtual string Sender { get; }
-public abstract ulong ThreadIdentifier { get; }
+public virtual ulong ThreadIdentifier { get; }

Type Changed: OSLog.IOSLogEntryWithPayload

Modified properties:

-public abstract string Category { get; }
+public virtual string Category { get; }
-public abstract OSLogMessageComponent[] Components { get; }
+public virtual OSLogMessageComponent[] Components { get; }
-public abstract string FormatString { get; }
+public virtual string FormatString { get; }
-public abstract string Subsystem { get; }
+public virtual string Subsystem { get; }

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "14.2";
+public const string SdkVersion = "14.5";
-public const string Version = "9.2.0";
+public const string Version = "9.5.0";

Added field:

public static const string SafetyKitLibrary = "/System/Library/Frameworks/SafetyKit.framework/SafetyKit";

Type Changed: ObjCRuntime.DisposableObject

Added method:

protected void ClearHandle ();

Type Changed: ObjCRuntime.Dlfcn

Added methods:

public static byte GetByte (IntPtr handle, string symbol);
public static short GetInt16 (IntPtr handle, string symbol);
public static sbyte GetSByte (IntPtr handle, string symbol);
public static ushort GetUInt16 (IntPtr handle, string symbol);
public static void SetByte (IntPtr handle, string symbol, byte value);
public static void SetInt16 (IntPtr handle, string symbol, short value);
public static void SetObject (IntPtr handle, string symbol, Foundation.NSObject value);
public static void SetSByte (IntPtr handle, string symbol, sbyte value);
public static void SetUInt16 (IntPtr handle, string symbol, ushort value);

Type Changed: ObjCRuntime.LinkWithAttribute

Added property:

public bool LinkWithSwiftSystemLibraries { get; set; }

New Type: ObjCRuntime.BlockCallbackAttribute

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

New Type: ObjCRuntime.CCallbackAttribute

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

Namespace PassKit

Type Changed: PassKit.IPKPaymentAuthorizationControllerDelegate

Modified methods:

-public abstract void DidFinish (PKPaymentAuthorizationController controller)
+public virtual void DidFinish (PKPaymentAuthorizationController controller)
-public abstract AppKit.NSWindow GetPresentationWindow (PKPaymentAuthorizationController controller)
+public virtual AppKit.NSWindow GetPresentationWindow (PKPaymentAuthorizationController controller)

Added methods:

public virtual void DidAuthorizePayment (PKPaymentAuthorizationController controller, PKPayment payment, System.Action<PKPaymentAuthorizationResult> completion);
public virtual void DidChangeCouponCode (PKPaymentAuthorizationController controller, string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion);
public virtual void DidRequestMerchantSessionUpdate (PKPaymentAuthorizationController controller, System.Action<PKPaymentRequestMerchantSessionUpdate> handler);
public virtual void DidSelectPaymentMethod (PKPaymentAuthorizationController controller, PKPaymentMethod paymentMethod, System.Action<PKPaymentRequestPaymentMethodUpdate> completion);
public virtual void DidSelectShippingContact (PKPaymentAuthorizationController controller, PKContact contact, System.Action<PKPaymentRequestShippingContactUpdate> completion);
public virtual void DidSelectShippingMethod (PKPaymentAuthorizationController controller, PKPaymentMethod paymentMethod, System.Action<PKPaymentRequestPaymentMethodUpdate> completion);
public virtual void WillAuthorizePayment (PKPaymentAuthorizationController controller);

Type Changed: PassKit.IPKPaymentAuthorizationViewControllerDelegate

Modified methods:

-public abstract void PaymentAuthorizationViewControllerDidFinish (PKPaymentAuthorizationViewController controller)
+public virtual void PaymentAuthorizationViewControllerDidFinish (PKPaymentAuthorizationViewController controller)

Added methods:

public virtual void DidAuthorizePayment2 (PKPaymentAuthorizationViewController controller, PKPayment payment, System.Action<PKPaymentAuthorizationResult> completion);
public virtual void DidChangeCouponCode (PKPaymentAuthorizationViewController controller, string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion);
public virtual void DidRequestMerchantSessionUpdate (PKPaymentAuthorizationViewController controller, System.Action<PKPaymentRequestMerchantSessionUpdate> updateHandler);
public virtual void DidSelectPaymentMethod2 (PKPaymentAuthorizationViewController controller, PKPaymentMethod paymentMethod, System.Action<PKPaymentRequestPaymentMethodUpdate> completion);
public virtual void DidSelectShippingContact2 (PKPaymentAuthorizationViewController controller, PKContact contact, System.Action<PKPaymentRequestShippingContactUpdate> completion);
public virtual void DidSelectShippingMethod2 (PKPaymentAuthorizationViewController controller, PKShippingMethod shippingMethod, System.Action<PKPaymentRequestShippingMethodUpdate> completion);
public virtual void WillAuthorizePayment (PKPaymentAuthorizationViewController controller);

Type Changed: PassKit.IPKPaymentInformationRequestHandling

Modified methods:

-public abstract void HandleConfigurationRequest (PKBarcodeEventConfigurationRequest configurationRequest, System.Action completion)
+public virtual void HandleConfigurationRequest (PKBarcodeEventConfigurationRequest configurationRequest, System.Action completion)
-public abstract void HandleInformationRequest (PKBarcodeEventMetadataRequest infoRequest, PKInformationRequestCompletionBlock completion)
+public virtual void HandleInformationRequest (PKBarcodeEventMetadataRequest infoRequest, PKInformationRequestCompletionBlock completion)
-public abstract void HandleSignatureRequest (PKBarcodeEventSignatureRequest signatureRequest, PKSignatureRequestCompletionBlock completion)
+public virtual void HandleSignatureRequest (PKBarcodeEventSignatureRequest signatureRequest, PKSignatureRequestCompletionBlock completion)

Type Changed: PassKit.IPKVehicleConnectionDelegate

Modified methods:

-public abstract void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState)
+public virtual void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState)
-public abstract void SessionDidReceiveData (Foundation.NSData data)
+public virtual void SessionDidReceiveData (Foundation.NSData data)

Type Changed: PassKit.PKPaymentNetwork

Added properties:

public static Foundation.NSString BankAxept { get; }
public static Foundation.NSString Meeza { get; }
public static Foundation.NSString Napas { get; }

Namespace PdfKit

Type Changed: PdfKit.IPdfDocumentDelegate

Added methods:

public virtual void DidBeginDocumentFind (Foundation.NSNotification notification);
public virtual void DidMatchString (PdfSelection sender);
public virtual void DidUnlock (Foundation.NSNotification notification);
public virtual void FindFinished (Foundation.NSNotification notification);
public virtual ObjCRuntime.Class GetClassForAnnotationClass (ObjCRuntime.Class sender);
public virtual ObjCRuntime.Class GetClassForAnnotationType (string annotationType);
public virtual ObjCRuntime.Class GetClassForPage ();
public virtual void MatchFound (Foundation.NSNotification notification);
public virtual void PageFindFinished (Foundation.NSNotification notification);
public virtual void PageFindStarted (Foundation.NSNotification notification);

Type Changed: PdfKit.IPdfPageOverlayViewProvider

Modified methods:

-public abstract AppKit.NSView GetOverlayView (PdfView view, PdfPage page)
+public virtual AppKit.NSView GetOverlayView (PdfView view, PdfPage page)

Added methods:

public virtual void WillDisplayOverlayView (PdfView pdfView, AppKit.NSView overlayView, PdfPage page);
public virtual void WillEndDisplayingOverlayView (PdfView pdfView, AppKit.NSView overlayView, PdfPage page);

Type Changed: PdfKit.IPdfViewDelegate

Added methods:

public virtual void OpenPdf (PdfView sender, PdfActionRemoteGoTo action);
public virtual void PerformFind (PdfView sender);
public virtual void PerformGoToPage (PdfView sender);
public virtual void PerformPrint (PdfView sender);
public virtual string TitleOfPrintJob (PdfView sender);
public virtual System.Runtime.InteropServices.NFloat WillChangeScaleFactor (PdfView sender, System.Runtime.InteropServices.NFloat scale);
public virtual void WillClickOnLink (PdfView sender, Foundation.NSUrl url);

Namespace PencilKit

Type Changed: PencilKit.PKContentVersion

Added value:

Version3 = 3,

Namespace Photos

Type Changed: Photos.IPHLivePhotoFrame

Modified properties:

-public abstract CoreImage.CIImage Image { get; }
+public virtual CoreImage.CIImage Image { get; }
-public abstract System.Runtime.InteropServices.NFloat RenderScale { get; }
+public virtual System.Runtime.InteropServices.NFloat RenderScale { get; }
-public abstract CoreMedia.CMTime Time { get; }
+public virtual CoreMedia.CMTime Time { get; }
-public abstract PHLivePhotoFrameType Type { get; }
+public virtual PHLivePhotoFrameType Type { get; }

Type Changed: Photos.IPHPhotoLibraryAvailabilityObserver

Modified methods:

-public abstract void PhotoLibraryDidBecomeUnavailable (PHPhotoLibrary photoLibrary)
+public virtual void PhotoLibraryDidBecomeUnavailable (PHPhotoLibrary photoLibrary)

Type Changed: Photos.IPHPhotoLibraryChangeObserver

Modified methods:

-public abstract void PhotoLibraryDidChange (PHChange changeInstance)
+public virtual void PhotoLibraryDidChange (PHChange changeInstance)

Namespace PhotosUI

Type Changed: PhotosUI.IPHContentEditingController

Modified properties:

-public abstract bool ShouldShowCancelConfirmation { get; }
+public virtual bool ShouldShowCancelConfirmation { get; }

Modified methods:

-public abstract bool CanHandleAdjustmentData (Photos.PHAdjustmentData adjustmentData)
+public virtual bool CanHandleAdjustmentData (Photos.PHAdjustmentData adjustmentData)
-public abstract void CancelContentEditing ()
+public virtual void CancelContentEditing ()
-public abstract void FinishContentEditing (System.Action%LESSERTHANREPLACEMENT%Photos.PHContentEditingOutput%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void FinishContentEditing (System.Action%LESSERTHANREPLACEMENT%Photos.PHContentEditingOutput%GREATERTHANREPLACEMENT% completionHandler)
-public abstract void StartContentEditing (Photos.PHContentEditingInput contentEditingInput, AppKit.NSImage placeholderImage)
+public virtual void StartContentEditing (Photos.PHContentEditingInput contentEditingInput, AppKit.NSImage placeholderImage)

Type Changed: PhotosUI.IPHLivePhotoViewDelegate

Added methods:

public virtual bool CanBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);
public virtual void DidEndPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);
public virtual void WillBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);

Type Changed: PhotosUI.IPHPickerViewControllerDelegate

Modified methods:

-public abstract void DidFinishPicking (PHPickerViewController picker, PHPickerResult[] results)
+public virtual void DidFinishPicking (PHPickerViewController picker, PHPickerResult[] results)

Type Changed: PhotosUI.IPHProjectExtensionController

Modified methods:

-public abstract void BeginProject (PHProjectExtensionContext extensionContext, PHProjectInfo projectInfo, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completion)
+public virtual void BeginProject (PHProjectExtensionContext extensionContext, PHProjectInfo projectInfo, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completion)
-public abstract void FinishProject (System.Action completion)
+public virtual void FinishProject (System.Action completion)
-public abstract void ResumeProject (PHProjectExtensionContext extensionContext, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completion)
+public virtual void ResumeProject (PHProjectExtensionContext extensionContext, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completion)

Added methods:

public virtual PHProjectTypeDescription[] GetSupportedProjectTypes ();
protected virtual IPHProjectTypeDescriptionDataSource GetTypeDescriptionDataSource (Foundation.NSString category, IPHProjectTypeDescriptionInvalidator invalidator);

Type Changed: PhotosUI.IPHProjectTypeDescriptionDataSource

Modified methods:

-public abstract Foundation.NSAttributedString GetFooterTextForSubtypes (Foundation.NSString projectType)
+public virtual Foundation.NSAttributedString GetFooterTextForSubtypes (Foundation.NSString projectType)
-public abstract PHProjectTypeDescription[] GetSubtypes (Foundation.NSString projectType)
+public virtual PHProjectTypeDescription[] GetSubtypes (Foundation.NSString projectType)
-public abstract PHProjectTypeDescription GetTypeDescription (Foundation.NSString projectType)
+public virtual PHProjectTypeDescription GetTypeDescription (Foundation.NSString projectType)

Added method:

public virtual void WillDiscardDataSource ();

Type Changed: PhotosUI.IPHProjectTypeDescriptionInvalidator

Modified methods:

-public abstract void InvalidateFooterTextForSubtypes (Foundation.NSString projectType)
+public virtual void InvalidateFooterTextForSubtypes (Foundation.NSString projectType)
-public abstract void InvalidateTypeDescription (Foundation.NSString projectType)
+public virtual void InvalidateTypeDescription (Foundation.NSString projectType)

Namespace PushKit

Type Changed: PushKit.IPKPushRegistryDelegate

Modified methods:

-public abstract void DidUpdatePushCredentials (PKPushRegistry registry, PKPushCredentials credentials, string type)
+public virtual void DidUpdatePushCredentials (PKPushRegistry registry, PKPushCredentials credentials, string type)

Added methods:

public virtual void DidInvalidatePushToken (PKPushRegistry registry, string type);
public virtual void DidReceiveIncomingPush (PKPushRegistry registry, PKPushPayload payload, string type, System.Action completion);

Namespace QuickLookUI

Type Changed: QuickLookUI.IQLPreviewItem

Modified properties:

-public abstract Foundation.NSUrl PreviewItemUrl { get; }
+public virtual Foundation.NSUrl PreviewItemUrl { get; }

Added properties:

public virtual Foundation.NSObject PreviewItemDisplayState { get; }
public virtual string PreviewItemTitle { get; }

Type Changed: QuickLookUI.IQLPreviewPanelDataSource

Modified methods:

-public abstract IntPtr NumberOfPreviewItemsInPreviewPanel (QLPreviewPanel panel)
+public virtual IntPtr NumberOfPreviewItemsInPreviewPanel (QLPreviewPanel panel)
-public abstract IQLPreviewItem PreviewItemAtIndex (QLPreviewPanel panel, IntPtr index)
+public virtual IQLPreviewItem PreviewItemAtIndex (QLPreviewPanel panel, IntPtr index)

Type Changed: QuickLookUI.IQLPreviewPanelDelegate

Added methods:

public virtual bool HandleEvent (QLPreviewPanel panel, AppKit.NSEvent theEvent);
public virtual CoreGraphics.CGRect SourceFrameOnScreenForPreviewItem (QLPreviewPanel panel, IQLPreviewItem item);
public virtual Foundation.NSObject TransitionImageForPreviewItem (QLPreviewPanel panel, IQLPreviewItem item, CoreGraphics.CGRect contentRect);

Type Changed: QuickLookUI.IQLPreviewingController

Added methods:

public virtual void PreparePreviewOfFile (Foundation.NSUrl url, System.Action<Foundation.NSError> completionHandler);
public virtual void PreparePreviewOfSearchableItem (string identifier, string queryString, System.Action<Foundation.NSError> ItemLoadingHandler);
public virtual void ProvidePreview (QLFilePreviewRequest request, System.Action<QLPreviewReply,Foundation.NSError> handler);

Namespace ReplayKit

Type Changed: ReplayKit.IRPBroadcastActivityControllerDelegate

Modified methods:

-public abstract void DidFinish (RPBroadcastActivityController broadcastActivityController, RPBroadcastController broadcastController, Foundation.NSError error)
+public virtual void DidFinish (RPBroadcastActivityController broadcastActivityController, RPBroadcastController broadcastController, Foundation.NSError error)

Type Changed: ReplayKit.IRPBroadcastControllerDelegate

Added methods:

public virtual void DidFinish (RPBroadcastController broadcastController, Foundation.NSError error);
public virtual void DidUpdateBroadcastUrl (RPBroadcastController broadcastController, Foundation.NSUrl broadcastUrl);
public virtual void DidUpdateServiceInfo (RPBroadcastController broadcastController, Foundation.NSDictionary<Foundation.NSString,Foundation.INSCoding> serviceInfo);

Type Changed: ReplayKit.IRPPreviewViewControllerDelegate

Added methods:

public virtual void DidFinish (RPPreviewViewController previewController);
public virtual void DidFinish (RPPreviewViewController previewController, Foundation.NSSet<Foundation.NSString> activityTypes);

Type Changed: ReplayKit.IRPScreenRecorderDelegate

Added methods:

public virtual void DidChangeAvailability (RPScreenRecorder screenRecorder);
public virtual void DidStopRecording (RPScreenRecorder screenRecorder, RPPreviewViewController previewViewController, Foundation.NSError error);

Namespace SafariServices

Type Changed: SafariServices.ISFSafariExtensionHandling

Added property:

public virtual SFSafariExtensionViewController PopoverViewController { get; }

Added methods:

public virtual void AdditionalRequestHeaders (Foundation.NSUrl url, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSString>> completionHandler);
public virtual void ContentBlocker (string contentBlockerIdentifier, Foundation.NSUrl[] urls, SFSafariPage page);
public virtual void ContextMenuItemSelected (string command, SFSafariPage page, Foundation.NSDictionary userInfo);
public virtual void MessageReceived (string messageName, SFSafariPage page, Foundation.NSDictionary userInfo);
public virtual void MessageReceivedFromContainingApp (string messageName, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> userInfo);
public virtual void PopoverDidClose (SFSafariWindow window);
public virtual void PopoverWillShow (SFSafariWindow window);
public virtual void ToolbarItemClicked (SFSafariWindow window);
public virtual void ValidateContextMenuItem (string command, SFSafariPage page, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> userInfo, SFExtensionValidationHandler validationHandler);
public virtual System.Threading.Tasks.Task<SFExtensionValidationResult> ValidateContextMenuItemAsync (string command, SFSafariPage page, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> userInfo);
public virtual void ValidateToolbarItem (SFSafariWindow window, System.Action<System.Boolean,Foundation.NSString> validationHandler);
public virtual System.Threading.Tasks.Task<SFValidationResult> ValidateToolbarItemAsync (SFSafariWindow window);
public virtual void WillNavigate (SFSafariPage page, Foundation.NSUrl url);

Namespace SceneKit

Type Changed: SceneKit.ISCNActionable

Modified properties:

-public abstract string[] ActionKeys { get; }
+public virtual string[] ActionKeys { get; }

Modified methods:

-public abstract SCNAction GetAction (string key)
+public virtual SCNAction GetAction (string key)
-public abstract bool HasActions ()
+public virtual bool HasActions ()
-public abstract void RemoveAction (string key)
+public virtual void RemoveAction (string key)
-public abstract void RemoveAllActions ()
+public virtual void RemoveAllActions ()
-public abstract void RunAction (SCNAction action)
+public virtual void RunAction (SCNAction action)
-public abstract void RunAction (SCNAction action, System.Action block)
+public virtual void RunAction (SCNAction action, System.Action block)
-public abstract void RunAction (SCNAction action, string key)
+public virtual void RunAction (SCNAction action, string key)
-public abstract void RunAction (SCNAction action, string key, System.Action block)
+public virtual void RunAction (SCNAction action, string key, System.Action block)

Type Changed: SceneKit.ISCNAnimatable

Modified methods:

-public abstract void AddAnimation (ISCNAnimationProtocol scnAnimation, string key)
+public virtual void AddAnimation (ISCNAnimationProtocol scnAnimation, string key)
-public abstract void AddAnimation (SCNAnimationPlayer player, Foundation.NSString key)
+public virtual void AddAnimation (SCNAnimationPlayer player, Foundation.NSString key)
-public abstract CoreAnimation.CAAnimation GetAnimation (Foundation.NSString key)
+public virtual CoreAnimation.CAAnimation GetAnimation (Foundation.NSString key)
-public abstract Foundation.NSString[] GetAnimationKeys ()
+public virtual Foundation.NSString[] GetAnimationKeys ()
-public abstract SCNAnimationPlayer GetAnimationPlayer (Foundation.NSString key)
+public virtual SCNAnimationPlayer GetAnimationPlayer (Foundation.NSString key)
-public abstract bool IsAnimationPaused (Foundation.NSString key)
+public virtual bool IsAnimationPaused (Foundation.NSString key)
-public abstract void PauseAnimation (Foundation.NSString key)
+public virtual void PauseAnimation (Foundation.NSString key)
-public abstract void RemoveAllAnimations ()
+public virtual void RemoveAllAnimations ()
-public abstract void RemoveAllAnimationsWithBlendOutDuration (System.Runtime.InteropServices.NFloat duration)
+public virtual void RemoveAllAnimationsWithBlendOutDuration (System.Runtime.InteropServices.NFloat duration)
-public abstract void RemoveAnimation (Foundation.NSString key)
+public virtual void RemoveAnimation (Foundation.NSString key)
-public abstract void RemoveAnimation (Foundation.NSString key, System.Runtime.InteropServices.NFloat duration)
+public virtual void RemoveAnimation (Foundation.NSString key, System.Runtime.InteropServices.NFloat duration)
-public abstract void RemoveAnimationUsingBlendOutDuration (Foundation.NSString key, System.Runtime.InteropServices.NFloat blendOutDuration)
+public virtual void RemoveAnimationUsingBlendOutDuration (Foundation.NSString key, System.Runtime.InteropServices.NFloat blendOutDuration)
-public abstract void ResumeAnimation (Foundation.NSString key)
+public virtual void ResumeAnimation (Foundation.NSString key)
-public abstract void SetSpeed (System.Runtime.InteropServices.NFloat speed, Foundation.NSString key)
+public virtual void SetSpeed (System.Runtime.InteropServices.NFloat speed, Foundation.NSString key)

Type Changed: SceneKit.ISCNAvoidOccluderConstraintDelegate

Added methods:

public virtual void DidAvoidOccluder (SCNAvoidOccluderConstraint constraint, SCNNode occluder, SCNNode node);
public virtual bool ShouldAvoidOccluder (SCNAvoidOccluderConstraint constraint, SCNNode occluder, SCNNode node);

Type Changed: SceneKit.ISCNBoundingVolume

Modified methods:

-public abstract bool GetBoundingBox (ref SCNVector3 min, ref SCNVector3 max)
+public virtual bool GetBoundingBox (ref SCNVector3 min, ref SCNVector3 max)
-public abstract bool GetBoundingSphere (ref SCNVector3 center, ref System.Runtime.InteropServices.NFloat radius)
+public virtual bool GetBoundingSphere (ref SCNVector3 center, ref System.Runtime.InteropServices.NFloat radius)
-public abstract void SetBoundingBox (ref SCNVector3 min, ref SCNVector3 max)
+public virtual void SetBoundingBox (ref SCNVector3 min, ref SCNVector3 max)

Type Changed: SceneKit.ISCNBufferStream

Modified methods:

-public abstract void Length (IntPtr bytes, UIntPtr length)
+public virtual void Length (IntPtr bytes, UIntPtr length)

Type Changed: SceneKit.ISCNCameraControlConfiguration

Modified properties:

-public abstract bool AllowsTranslation { get; set; }
+public virtual bool AllowsTranslation { get; set; }
-public abstract bool AutoSwitchToFreeCamera { get; set; }
+public virtual bool AutoSwitchToFreeCamera { get; set; }
-public abstract System.Runtime.InteropServices.NFloat FlyModeVelocity { get; set; }
+public virtual System.Runtime.InteropServices.NFloat FlyModeVelocity { get; set; }
-public abstract System.Runtime.InteropServices.NFloat PanSensitivity { get; set; }
+public virtual System.Runtime.InteropServices.NFloat PanSensitivity { get; set; }
-public abstract System.Runtime.InteropServices.NFloat RotationSensitivity { get; set; }
+public virtual System.Runtime.InteropServices.NFloat RotationSensitivity { get; set; }
-public abstract System.Runtime.InteropServices.NFloat TruckSensitivity { get; set; }
+public virtual System.Runtime.InteropServices.NFloat TruckSensitivity { get; set; }

Type Changed: SceneKit.ISCNCameraControllerDelegate

Added methods:

public virtual void CameraInertiaDidEnd (SCNCameraController cameraController);
public virtual void CameraInertiaWillStart (SCNCameraController cameraController);

Type Changed: SceneKit.ISCNNodeRendererDelegate

Added method:

public virtual void Render (SCNNode node, SCNRenderer renderer, Foundation.NSDictionary arguments);

Type Changed: SceneKit.ISCNPhysicsContactDelegate

Added methods:

public virtual void DidBeginContact (SCNPhysicsWorld world, SCNPhysicsContact contact);
public virtual void DidEndContact (SCNPhysicsWorld world, SCNPhysicsContact contact);
public virtual void DidUpdateContact (SCNPhysicsWorld world, SCNPhysicsContact contact);

Type Changed: SceneKit.ISCNProgramDelegate

Added methods:

public virtual bool BindValue (SCNProgram program, string symbol, uint location, uint programID, SCNRenderer renderer);
public virtual void HandleError (SCNProgram program, Foundation.NSError error);
public virtual bool IsProgramOpaque (SCNProgram program);
public virtual void UnbindValue (SCNProgram program, string symbol, uint location, uint programID, SCNRenderer renderer);

Type Changed: SceneKit.ISCNSceneExportDelegate

Added method:

public virtual Foundation.NSUrl WriteImage (AppKit.NSImage image, Foundation.NSUrl documentUrl, Foundation.NSUrl originalImageUrl);

Type Changed: SceneKit.ISCNSceneRenderer

Modified properties:

-public abstract AVFoundation.AVAudioEngine AudioEngine { get; }
+public virtual AVFoundation.AVAudioEngine AudioEngine { get; }
-public abstract AVFoundation.AVAudioEnvironmentNode AudioEnvironmentNode { get; }
+public virtual AVFoundation.AVAudioEnvironmentNode AudioEnvironmentNode { get; }
-public abstract SCNNode AudioListener { get; set; }
+public virtual SCNNode AudioListener { get; set; }
-public abstract bool AutoenablesDefaultLighting { get; set; }
+public virtual bool AutoenablesDefaultLighting { get; set; }
-public abstract Metal.MTLPixelFormat ColorPixelFormat { get; }
+public virtual Metal.MTLPixelFormat ColorPixelFormat { get; }
-public abstract Metal.IMTLCommandQueue CommandQueue { get; }
+public virtual Metal.IMTLCommandQueue CommandQueue { get; }
-public abstract IntPtr Context { get; }
+public virtual IntPtr Context { get; }
-public abstract Metal.IMTLRenderCommandEncoder CurrentRenderCommandEncoder { get; }
+public virtual Metal.IMTLRenderCommandEncoder CurrentRenderCommandEncoder { get; }
-public abstract Metal.MTLRenderPassDescriptor CurrentRenderPassDescriptor { get; }
+public virtual Metal.MTLRenderPassDescriptor CurrentRenderPassDescriptor { get; }
-public abstract double CurrentTime { get; set; }
+public virtual double CurrentTime { get; set; }
-public abstract CoreGraphics.CGRect CurrentViewport { get; }
+public virtual CoreGraphics.CGRect CurrentViewport { get; }
-public abstract SCNDebugOptions DebugOptions { get; set; }
+public virtual SCNDebugOptions DebugOptions { get; set; }
-public abstract Metal.MTLPixelFormat DepthPixelFormat { get; }
+public virtual Metal.MTLPixelFormat DepthPixelFormat { get; }
-public abstract Metal.IMTLDevice Device { get; }
+public virtual Metal.IMTLDevice Device { get; }
-public abstract bool JitteringEnabled { get; set; }
+public virtual bool JitteringEnabled { get; set; }
-public abstract bool Loops { get; set; }
+public virtual bool Loops { get; set; }
-public abstract SpriteKit.SKScene OverlayScene { get; set; }
+public virtual SpriteKit.SKScene OverlayScene { get; set; }
-public abstract bool Playing { get; set; }
+public virtual bool Playing { get; set; }
-public abstract SCNNode PointOfView { get; set; }
+public virtual SCNNode PointOfView { get; set; }
-public abstract SCNRenderingApi RenderingApi { get; }
+public virtual SCNRenderingApi RenderingApi { get; }
-public abstract SCNScene Scene { get; set; }
+public virtual SCNScene Scene { get; set; }
-public abstract double SceneTimeInSeconds { get; set; }
+public virtual double SceneTimeInSeconds { get; set; }
-public abstract bool ShowsStatistics { get; set; }
+public virtual bool ShowsStatistics { get; set; }
-public abstract Metal.MTLPixelFormat StencilPixelFormat { get; }
+public virtual Metal.MTLPixelFormat StencilPixelFormat { get; }
-public abstract bool TemporalAntialiasingEnabled { get; set; }
+public virtual bool TemporalAntialiasingEnabled { get; set; }
-public abstract bool UsesReverseZ { get; set; }
+public virtual bool UsesReverseZ { get; set; }
-public abstract Foundation.NSObject WeakSceneRendererDelegate { get; set; }
+public virtual Foundation.NSObject WeakSceneRendererDelegate { get; set; }

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Modified methods:

-public abstract SCNNode[] GetNodesInsideFrustum (SCNNode pointOfView)
+public virtual SCNNode[] GetNodesInsideFrustum (SCNNode pointOfView)
-public abstract SCNHitTestResult[] HitTest (CoreGraphics.CGPoint thePoint, Foundation.NSDictionary options)
+public virtual SCNHitTestResult[] HitTest (CoreGraphics.CGPoint thePoint, Foundation.NSDictionary options)
-public abstract bool IsNodeInsideFrustum (SCNNode node, SCNNode pointOfView)
+public virtual bool IsNodeInsideFrustum (SCNNode node, SCNNode pointOfView)
-public abstract bool Prepare (Foundation.NSObject obj, System.Func%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% abortHandler)
+public virtual bool Prepare (Foundation.NSObject obj, System.Func%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% abortHandler)
-public abstract void Prepare (Foundation.NSObject[] objects, System.Action%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void Prepare (Foundation.NSObject[] objects, System.Action%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% completionHandler)
-public abstract void PresentScene (SCNScene scene, SpriteKit.SKTransition transition, SCNNode pointOfView, System.Action completionHandler)
+public virtual void PresentScene (SCNScene scene, SpriteKit.SKTransition transition, SCNNode pointOfView, System.Action completionHandler)
-public abstract SCNVector3 ProjectPoint (SCNVector3 point)
+public virtual SCNVector3 ProjectPoint (SCNVector3 point)
-public abstract SCNVector3 UnprojectPoint (SCNVector3 point)
+public virtual SCNVector3 UnprojectPoint (SCNVector3 point)

Added methods:

public virtual System.Threading.Tasks.Task<bool> PrepareAsync (Foundation.NSObject[] objects);
public virtual System.Threading.Tasks.Task PresentSceneAsync (SCNScene scene, SpriteKit.SKTransition transition, SCNNode pointOfView);

Type Changed: SceneKit.ISCNSceneRendererDelegate

Added methods:

public virtual void DidApplyAnimations (ISCNSceneRenderer renderer, double timeInSeconds);
public virtual void DidApplyConstraints (ISCNSceneRenderer renderer, double atTime);
public virtual void DidRenderScene (ISCNSceneRenderer renderer, SCNScene scene, double timeInSeconds);
public virtual void DidSimulatePhysics (ISCNSceneRenderer renderer, double timeInSeconds);
public virtual void Update (ISCNSceneRenderer renderer, double timeInSeconds);
public virtual void WillRenderScene (ISCNSceneRenderer renderer, SCNScene scene, double timeInSeconds);

Type Changed: SceneKit.ISCNShadable

Added properties:

public virtual Foundation.NSNumber MinimumLanguageVersion { get; set; }
public virtual SCNProgram Program { get; set; }
public virtual Foundation.NSDictionary WeakShaderModifiers { get; set; }

Added methods:

public virtual void HandleBinding (string symbol, SCNBindingHandler handler);
public virtual void HandleUnbinding (string symbol, SCNBindingHandler handler);

Type Changed: SceneKit.ISCNTechniqueSupport

Modified properties:

-public abstract SCNTechnique Technique { get; set; }
+public virtual SCNTechnique Technique { get; set; }

Namespace ScreenCaptureKit

Type Changed: ScreenCaptureKit.ISCContentSharingPickerObserver

Modified methods:

-public abstract void DidCancel (SCContentSharingPicker picker, SCStream stream)
+public virtual void DidCancel (SCContentSharingPicker picker, SCStream stream)
-public abstract void DidFail (Foundation.NSError error)
+public virtual void DidFail (Foundation.NSError error)
-public abstract void DidUpdate (SCContentSharingPicker picker, SCContentFilter filter, SCStream stream)
+public virtual void DidUpdate (SCContentSharingPicker picker, SCContentFilter filter, SCStream stream)

Type Changed: ScreenCaptureKit.ISCStreamDelegate

Added methods:

public virtual void DidStop (SCStream stream, Foundation.NSError error);
public virtual void OutputVideoEffectDidStart (SCStream stream);
public virtual void OutputVideoEffectDidStop (SCStream stream);
public virtual void UserDidStop (SCStream stream);

Type Changed: ScreenCaptureKit.ISCStreamOutput

Added method:

public virtual void DidOutputSampleBuffer (SCStream stream, CoreMedia.CMSampleBuffer sampleBuffer, SCStreamOutputType type);

Type Changed: ScreenCaptureKit.SCShareableContent

Added methods:

public static void GetCurrentProcessShareableContent (System.Action<SCShareableContent,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<SCShareableContent> GetCurrentProcessShareableContentAsync ();

Type Changed: ScreenCaptureKit.SCStreamDelegate

Added method:

public virtual void UserDidStop (SCStream stream);

Type Changed: ScreenCaptureKit.SCStreamDelegate_Extensions

Added method:

public static void UserDidStop (this ISCStreamDelegate This, SCStream stream);

Namespace ScriptingBridge

Type Changed: ScriptingBridge.ISBApplicationDelegate

Modified methods:

-public abstract Foundation.NSObject EventFailed (IntPtr appleEvent, Foundation.NSError error)
+public virtual Foundation.NSObject EventFailed (IntPtr appleEvent, Foundation.NSError error)

Namespace SharedWithYou

Type Changed: SharedWithYou.ISWCollaborationViewDelegate

Added methods:

public virtual void DidDismissPopover (SWCollaborationView collaborationView);
public virtual bool ShouldPresentPopover (SWCollaborationView collaborationView);
public virtual void WillPresentPopover (SWCollaborationView collaborationView);

Type Changed: SharedWithYou.ISWHighlightCenterDelegate

Modified methods:

-public abstract void HighlightsDidChange (SWHighlightCenter highlightCenter)
+public virtual void HighlightsDidChange (SWHighlightCenter highlightCenter)

Type Changed: SharedWithYou.ISWHighlightEvent

Modified properties:

-public abstract Foundation.NSUrl HighlightUrl { get; }
+public virtual Foundation.NSUrl HighlightUrl { get; }

Namespace SharedWithYouCore

Type Changed: SharedWithYouCore.ISWCollaborationActionHandler

Modified methods:

-public abstract void HandleStartCollaborationAction (SWCollaborationCoordinator coordinator, SWStartCollaborationAction action)
+public virtual void HandleStartCollaborationAction (SWCollaborationCoordinator coordinator, SWStartCollaborationAction action)
-public abstract void HandleUpdateCollaborationParticipantsAction (SWCollaborationCoordinator coordinator, SWUpdateCollaborationParticipantsAction action)
+public virtual void HandleUpdateCollaborationParticipantsAction (SWCollaborationCoordinator coordinator, SWUpdateCollaborationParticipantsAction action)

Namespace ShazamKit

Type Changed: ShazamKit.ISHSessionDelegate

Added methods:

public virtual void DidFindMatch (SHSession session, SHMatch match);
public virtual void DidNotFindMatch (SHSession session, SHSignature signature, Foundation.NSError error);

Namespace SoundAnalysis

Type Changed: SoundAnalysis.ISNResultsObserving

Modified methods:

-public abstract void DidProduceResult (ISNRequest request, ISNResult result)
+public virtual void DidProduceResult (ISNRequest request, ISNResult result)

Added methods:

public virtual void DidComplete (ISNRequest request);
public virtual void DidFail (ISNRequest request, Foundation.NSError error);

Namespace Speech

Type Changed: Speech.ISFSpeechRecognitionTaskDelegate

Added methods:

public virtual void DidDetectSpeech (SFSpeechRecognitionTask task);
public virtual void DidFinishRecognition (SFSpeechRecognitionTask task, SFSpeechRecognitionResult recognitionResult);
public virtual void DidFinishSuccessfully (SFSpeechRecognitionTask task, bool successfully);
public virtual void DidHypothesizeTranscription (SFSpeechRecognitionTask task, SFTranscription transcription);
public virtual void FinishedReadingAudio (SFSpeechRecognitionTask task);
public virtual void WasCancelled (SFSpeechRecognitionTask task);

Type Changed: Speech.ISFSpeechRecognizerDelegate

Added method:

public virtual void AvailabilityDidChange (SFSpeechRecognizer speechRecognizer, bool available);

Namespace SpriteKit

Type Changed: SpriteKit.ISKPhysicsContactDelegate

Added methods:

public virtual void DidBeginContact (SKPhysicsContact contact);
public virtual void DidEndContact (SKPhysicsContact contact);

Type Changed: SpriteKit.ISKSceneDelegate

Added methods:

public virtual void DidApplyConstraints (SKScene scene);
public virtual void DidEvaluateActions (SKScene scene);
public virtual void DidFinishUpdate (SKScene scene);
public virtual void DidSimulatePhysics (SKScene scene);
public virtual void Update (double currentTime, SKScene scene);

Type Changed: SpriteKit.ISKViewDelegate

Added method:

public virtual bool ShouldRender (SKView view, double time);

Type Changed: SpriteKit.ISKWarpable

Modified properties:

-public abstract IntPtr SubdivisionLevels { get; set; }
+public virtual IntPtr SubdivisionLevels { get; set; }
-public abstract SKWarpGeometry WarpGeometry { get; set; }
+public virtual SKWarpGeometry WarpGeometry { get; set; }

Namespace StoreKit

Type Changed: StoreKit.ISKPaymentQueueDelegate

Added method:

public virtual bool ShouldContinueTransaction (SKPaymentQueue paymentQueue, SKPaymentTransaction transaction, SKStorefront newStorefront);

Type Changed: StoreKit.ISKPaymentTransactionObserver

Modified methods:

-public abstract void UpdatedTransactions (SKPaymentQueue queue, SKPaymentTransaction[] transactions)
+public virtual void UpdatedTransactions (SKPaymentQueue queue, SKPaymentTransaction[] transactions)

Added methods:

public virtual void DidChangeStorefront (SKPaymentQueue queue);
public virtual void DidRevokeEntitlements (SKPaymentQueue queue, string[] productIdentifiers);
public virtual void RemovedTransactions (SKPaymentQueue queue, SKPaymentTransaction[] transactions);
public virtual void RestoreCompletedTransactionsFailedWithError (SKPaymentQueue queue, Foundation.NSError error);
public virtual void RestoreCompletedTransactionsFinished (SKPaymentQueue queue);
public virtual bool ShouldAddStorePayment (SKPaymentQueue queue, SKPayment payment, SKProduct product);
public virtual void UpdatedDownloads (SKPaymentQueue queue, SKDownload[] downloads);

Type Changed: StoreKit.ISKProductsRequestDelegate

Modified methods:

-public abstract void ReceivedResponse (SKProductsRequest request, SKProductsResponse response)
+public virtual void ReceivedResponse (SKProductsRequest request, SKProductsResponse response)

Type Changed: StoreKit.ISKRequestDelegate

Added methods:

public virtual void RequestFailed (SKRequest request, Foundation.NSError error);
public virtual void RequestFinished (SKRequest request);

Type Changed: StoreKit.ISKStoreProductViewControllerDelegate

Added method:

public virtual void Finished (SKStoreProductViewController controller);

Namespace UserNotifications

Type Changed: UserNotifications.IUNUserNotificationCenterDelegate

Added methods:

public virtual void DidReceiveNotificationResponse (UNUserNotificationCenter center, UNNotificationResponse response, System.Action completionHandler);
public virtual void OpenSettings (UNUserNotificationCenter center, UNNotification notification);
public virtual void WillPresentNotification (UNUserNotificationCenter center, UNNotification notification, System.Action<UNNotificationPresentationOptions> completionHandler);

Namespace UserNotificationsUI

Type Changed: UserNotificationsUI.IUNNotificationContentExtension

Added properties:

public virtual CoreGraphics.CGRect MediaPlayPauseButtonFrame { get; }
public virtual AppKit.NSColor MediaPlayPauseButtonTintColor { get; }
public virtual UNNotificationContentExtensionMediaPlayPauseButtonType MediaPlayPauseButtonType { get; }

Modified methods:

-public abstract void DidReceiveNotification (UserNotifications.UNNotification notification)
+public virtual void DidReceiveNotification (UserNotifications.UNNotification notification)

Added methods:

public virtual void DidReceiveNotificationResponse (UserNotifications.UNNotificationResponse response, System.Action<UNNotificationContentExtensionResponseOption> completion);
public virtual void PauseMedia ();
public virtual void PlayMedia ();

Namespace VideoSubscriberAccount

Type Changed: VideoSubscriberAccount.IVSAccountManagerDelegate

Added method:

public virtual bool ShouldAuthenticateAccountProvider (VSAccountManager accountManager, string accountProviderIdentifier);

Type Changed: VideoSubscriberAccount.VSUserAccount

Added property:

public virtual VSAppleSubscription AppleSubscription { get; set; }

New Type: VideoSubscriberAccount.VSAppleSubscription

public class VSAppleSubscription : Foundation.NSObject {
	// constructors
	protected VSAppleSubscription (Foundation.NSObjectFlag t);
	protected VSAppleSubscription (ObjCRuntime.NativeHandle handle);
	public VSAppleSubscription (string customerId, string[] productCodes);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string CustomerId { get; set; }
	public virtual string[] ProductCodes { get; set; }
}

Namespace Vision

Type Changed: Vision.IVNFaceObservationAccepting

Modified properties:

-public abstract VNFaceObservation[] InputFaceObservations { get; set; }
+public virtual VNFaceObservation[] InputFaceObservations { get; set; }

Type Changed: Vision.IVNRequestProgressProviding

Modified properties:

-public abstract bool Indeterminate { get; }
+public virtual bool Indeterminate { get; }
-public abstract VNRequestProgressHandler ProgressHandler { get; set; }
+public virtual VNRequestProgressHandler ProgressHandler { get; set; }

Type Changed: Vision.IVNRequestRevisionProviding

Modified properties:

-public abstract VNRequestRevision RequestRevision { get; }
+public virtual VNRequestRevision RequestRevision { get; }

Type Changed: Vision.VNBarcodeObservation

Added properties:

public virtual bool IsColorInverted { get; }
public virtual bool IsGS1DataCarrier { get; }
public virtual Foundation.NSData PayloadData { get; }
public virtual VNBarcodeCompositeType SupplementalCompositeType { get; }
public virtual Foundation.NSData SupplementalPayloadData { get; }
public virtual string SupplementalPayloadString { get; }

Type Changed: Vision.VNBarcodeSymbology

Added value:

MsiPlessey = 23,

Type Changed: Vision.VNClassifyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNDetectBarcodesRequest

Added property:

public virtual bool CoalesceCompositeSymbologies { get; set; }

Type Changed: Vision.VNDetectBarcodesRequestRevision

Added values:

Four = 4,
Three = 3,

Type Changed: Vision.VNDetectFaceCaptureQualityRequestRevision

Added value:

Three = 3,

Type Changed: Vision.VNDetectHumanBodyPoseRequest

Added methods:

public virtual VNHumanBodyPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
public virtual VNHumanBodyPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);

Type Changed: Vision.VNDetectHumanHandPoseRequest

Added methods:

public virtual VNHumanHandPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
public virtual VNHumanHandPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);

Type Changed: Vision.VNErrorCode

Added values:

UnsupportedComputeDevice = 22,
UnsupportedComputeStage = 21,

Type Changed: Vision.VNGenerateAttentionBasedSaliencyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNGenerateImageFeaturePrintRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNGenerateObjectnessBasedSaliencyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNImageRequestHandler

Added constructors:

public VNImageRequestHandler (CoreMedia.CMSampleBuffer sampleBuffer, AVFoundation.AVDepthData depthData, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
public VNImageRequestHandler (CoreVideo.CVPixelBuffer pixelBuffer, AVFoundation.AVDepthData depthData, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);

Type Changed: Vision.VNRectangleObservation

Added method:

public static VNRectangleObservation FromRectangleObservation (VNRectangleObservationRequestRevision requestRevision, CoreGraphics.CGPoint topLeft, CoreGraphics.CGPoint topRight, CoreGraphics.CGPoint bottomRight, CoreGraphics.CGPoint bottomLeft);

Type Changed: Vision.VNRequest

Added methods:

public virtual CoreML.IMLComputeDeviceProtocol GetComputeDevice (string computeStage);
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray<CoreML.IMLComputeDeviceProtocol>> GetSupportedComputeDevices (out Foundation.NSError error);
public virtual void SetComputeDevice (CoreML.IMLComputeDeviceProtocol computeDevice, string computeStage);

Type Changed: Vision.VNTrackingRequest

Added method:

public virtual UIntPtr GetSupportedNumberOfTrackers (out Foundation.NSError error);

New Type: Vision.VNAnimalBodyPoseObservation

public class VNAnimalBodyPoseObservation : Vision.VNRecognizedPointsObservation {
	// constructors
	public VNAnimalBodyPoseObservation (Foundation.NSCoder coder);
	protected VNAnimalBodyPoseObservation (Foundation.NSObjectFlag t);
	protected VNAnimalBodyPoseObservation (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual VNAnimalBodyPoseObservationJointsGroupName[] AvailableJointGroupNames { get; }
	public virtual VNAnimalBodyPoseObservationJointName[] AvailableJointNames { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual VNRecognizedPoint GetRecognizedPoint (VNAnimalBodyPoseObservationJointName jointName, out Foundation.NSError error);
	public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint> GetRecognizedPoints (VNAnimalBodyPoseObservationJointsGroupName jointsGroupName, out Foundation.NSError error);
}

New Type: Vision.VNAnimalBodyPoseObservationJointName

[Serializable]
public enum VNAnimalBodyPoseObservationJointName {
	LeftBackElbow = 17,
	LeftBackKnee = 19,
	LeftBackPaw = 21,
	LeftEarBottom = 5,
	LeftEarMiddle = 3,
	LeftEarTop = 1,
	LeftEye = 7,
	LeftFrontElbow = 11,
	LeftFrontKnee = 13,
	LeftFrontPaw = 15,
	Neck = 10,
	None = 0,
	Nose = 9,
	RightBackElbow = 18,
	RightBackKnee = 20,
	RightBackPaw = 22,
	RightEarBottom = 6,
	RightEarMiddle = 4,
	RightEarTop = 2,
	RightEye = 8,
	RightFrontElbow = 12,
	RightFrontKnee = 14,
	RightFrontPaw = 16,
	TailBottom = 25,
	TailMiddle = 24,
	TailTop = 23,
}

New Type: Vision.VNAnimalBodyPoseObservationJointNameExtensions

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

New Type: Vision.VNAnimalBodyPoseObservationJointsGroupName

[Serializable]
public enum VNAnimalBodyPoseObservationJointsGroupName {
	All = 6,
	Forelegs = 3,
	Head = 1,
	Hindlegs = 4,
	None = 0,
	Tail = 5,
	Trunk = 2,
}

New Type: Vision.VNAnimalBodyPoseObservationJointsGroupNameExtensions

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

New Type: Vision.VNBarcodeCompositeType

[Serializable]
public enum VNBarcodeCompositeType {
	Gs1TypeA = 2,
	Gs1TypeB = 3,
	Gs1TypeC = 4,
	Linked = 1,
	None = 0,
}

New Type: Vision.VNComputeStage

[Serializable]
public enum VNComputeStage {
	Main = 1,
	None = 0,
	PostProcessing = 2,
}

New Type: Vision.VNComputeStageExtensions

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

New Type: Vision.VNDetectAnimalBodyPoseRequest

public class VNDetectAnimalBodyPoseRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNDetectAnimalBodyPoseRequest (Foundation.NSObjectFlag t);
	protected VNDetectAnimalBodyPoseRequest (ObjCRuntime.NativeHandle handle);
	public VNDetectAnimalBodyPoseRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual VNAnimalBodyPoseObservation[] Results { get; }
	// methods
	public virtual VNAnimalBodyPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
	public virtual VNAnimalBodyPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);
}

New Type: Vision.VNDetectHumanBodyPose3DRequest

public class VNDetectHumanBodyPose3DRequest : Vision.VNStatefulRequest {
	// constructors
	public VNDetectHumanBodyPose3DRequest ();
	protected VNDetectHumanBodyPose3DRequest (Foundation.NSObjectFlag t);
	protected VNDetectHumanBodyPose3DRequest (ObjCRuntime.NativeHandle handle);
	public VNDetectHumanBodyPose3DRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static VNDetectHumanBodyPose3DRequestRevision CurrentRevision { get; }
	public static VNDetectHumanBodyPose3DRequestRevision DefaultRevision { get; }
	public virtual VNHumanBodyPose3DObservation[] Results { get; }
	public virtual VNDetectHumanBodyPose3DRequestRevision Revision { get; set; }
	public static VNDetectHumanBodyPose3DRequestRevision[] SupportedRevisions { get; }
	public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
	// methods
	public virtual VNHumanBodyPose3DObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
	public virtual VNHumanBodyPose3DObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);
}

New Type: Vision.VNDetectHumanBodyPose3DRequestRevision

[Serializable]
public enum VNDetectHumanBodyPose3DRequestRevision {
	One = 1,
}

New Type: Vision.VNGenerateForegroundInstanceMaskRequest

public class VNGenerateForegroundInstanceMaskRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNGenerateForegroundInstanceMaskRequest (Foundation.NSObjectFlag t);
	protected VNGenerateForegroundInstanceMaskRequest (ObjCRuntime.NativeHandle handle);
	public VNGenerateForegroundInstanceMaskRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual VNInstanceMaskObservation[] Results { get; }
}

New Type: Vision.VNGeneratePersonInstanceMaskRequest

public class VNGeneratePersonInstanceMaskRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNGeneratePersonInstanceMaskRequest (Foundation.NSObjectFlag t);
	protected VNGeneratePersonInstanceMaskRequest (ObjCRuntime.NativeHandle handle);
	public VNGeneratePersonInstanceMaskRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual VNInstanceMaskObservation[] Results { get; }
}

New Type: Vision.VNHumanBodyPose3DObservation

public class VNHumanBodyPose3DObservation : Vision.VNRecognizedPoints3DObservation {
	// constructors
	public VNHumanBodyPose3DObservation (Foundation.NSCoder coder);
	protected VNHumanBodyPose3DObservation (Foundation.NSObjectFlag t);
	protected VNHumanBodyPose3DObservation (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual VNHumanBodyPose3DObservationJointName[] AvailableJointNames { get; }
	public virtual VNHumanBodyPose3DObservationJointsGroupName[] AvailableJointsGroupNames { get; }
	public virtual float BodyHeight { get; }
	public virtual CoreGraphics.NMatrix4 CameraOriginMatrix { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual VNHumanBodyPose3DObservationHeightEstimation HeightEstimation { get; }
	// methods
	public virtual bool GetCameraRelativePosition (out CoreGraphics.NMatrix4 modelPositionOut, VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
	public virtual VNHumanBodyPose3DObservationJointName GetParentJointName (VNHumanBodyPose3DObservationJointName jointName);
	public virtual VNPoint GetPointInImage (VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
	public virtual VNHumanBodyRecognizedPoint3D GetRecognizedPoint (VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
	public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNHumanBodyRecognizedPoint3D> GetRecognizedPoints (VNHumanBodyPose3DObservationJointsGroupName jointName, out Foundation.NSError error);
}

New Type: Vision.VNHumanBodyPose3DObservationHeightEstimation

[Serializable]
public enum VNHumanBodyPose3DObservationHeightEstimation {
	Measured = 1,
	Reference = 0,
}

New Type: Vision.VNHumanBodyPose3DObservationJointName

[Serializable]
public enum VNHumanBodyPose3DObservationJointName {
	CenterHead = 11,
	CenterShoulder = 10,
	LeftAnkle = 8,
	LeftElbow = 14,
	LeftHip = 6,
	LeftKnee = 7,
	LeftShoulder = 13,
	LeftWrist = 15,
	None = 0,
	RightAnkle = 4,
	RightElbow = 16,
	RightHip = 2,
	RightKnee = 3,
	RightShoulder = 5,
	RightWrist = 17,
	Root = 1,
	Spine = 9,
	TopHead = 12,
}

New Type: Vision.VNHumanBodyPose3DObservationJointNameExtensions

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

New Type: Vision.VNHumanBodyPose3DObservationJointsGroupName

[Serializable]
public enum VNHumanBodyPose3DObservationJointsGroupName {
	All = 7,
	Head = 1,
	LeftArm = 3,
	LeftLeg = 5,
	None = 0,
	RightArm = 4,
	RightLeg = 6,
	Torso = 2,
}

New Type: Vision.VNHumanBodyPose3DObservationJointsGroupNameExtensions

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

New Type: Vision.VNHumanBodyRecognizedPoint3D

public class VNHumanBodyRecognizedPoint3D : Vision.VNRecognizedPoint3D {
	// constructors
	public VNHumanBodyRecognizedPoint3D (CoreGraphics.NMatrix4 position);
	public VNHumanBodyRecognizedPoint3D (Foundation.NSCoder coder);
	protected VNHumanBodyRecognizedPoint3D (Foundation.NSObjectFlag t);
	protected VNHumanBodyRecognizedPoint3D (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreGraphics.NMatrix4 LocalPosition { get; }
	public virtual VNHumanBodyPose3DObservationJointName ParentJoint { get; }
}

New Type: Vision.VNInstanceMaskObservation

public class VNInstanceMaskObservation : Vision.VNObservation {
	// constructors
	public VNInstanceMaskObservation (Foundation.NSCoder coder);
	protected VNInstanceMaskObservation (Foundation.NSObjectFlag t);
	protected VNInstanceMaskObservation (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual Foundation.NSIndexSet AllInstances { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreVideo.CVPixelBuffer InstanceMask { get; }
	// methods
	public virtual CoreVideo.CVPixelBuffer GenerateMask (Foundation.NSIndexSet instances, out Foundation.NSError error);
	public virtual CoreVideo.CVPixelBuffer GenerateMaskedImage (Foundation.NSIndexSet instances, VNImageRequestHandler requestHandler, bool cropResult, out Foundation.NSError error);
	public virtual CoreVideo.CVPixelBuffer GenerateScaledMask (Foundation.NSIndexSet instances, VNImageRequestHandler requestHandler, out Foundation.NSError error);
}

New Type: Vision.VNPoint3D

public class VNPoint3D : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public VNPoint3D (CoreGraphics.NMatrix4 position);
	public VNPoint3D (Foundation.NSCoder coder);
	protected VNPoint3D (Foundation.NSObjectFlag t);
	protected VNPoint3D (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreGraphics.NMatrix4 Position { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Vision.VNRecognizedPoint3D

public class VNRecognizedPoint3D : Vision.VNPoint3D {
	// constructors
	public VNRecognizedPoint3D (CoreGraphics.NMatrix4 position);
	public VNRecognizedPoint3D (Foundation.NSCoder coder);
	protected VNRecognizedPoint3D (Foundation.NSObjectFlag t);
	protected VNRecognizedPoint3D (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static Foundation.NSString GroupKeyAll { get; }
	public virtual string Identifier { get; }
}

New Type: Vision.VNRecognizedPoints3DObservation

public class VNRecognizedPoints3DObservation : Vision.VNObservation {
	// constructors
	public VNRecognizedPoints3DObservation (Foundation.NSCoder coder);
	protected VNRecognizedPoints3DObservation (Foundation.NSObjectFlag t);
	protected VNRecognizedPoints3DObservation (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual Foundation.NSString[] AvailableGroupKeys { get; }
	public virtual Foundation.NSString[] AvailableKeys { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual VNRecognizedPoint3D GetRecognizedPoint (Foundation.NSString pointKey, out Foundation.NSError error);
	public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint3D> GetRecognizedPoints (Foundation.NSString groupKey, out Foundation.NSError error);
}

New Type: Vision.VNTrackHomographicImageRegistrationRequest

public class VNTrackHomographicImageRegistrationRequest : Vision.VNStatefulRequest {
	// constructors
	public VNTrackHomographicImageRegistrationRequest ();
	protected VNTrackHomographicImageRegistrationRequest (Foundation.NSObjectFlag t);
	protected VNTrackHomographicImageRegistrationRequest (ObjCRuntime.NativeHandle handle);
	public VNTrackHomographicImageRegistrationRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static VNTrackHomographicImageRegistrationRequestRevision CurrentRevision { get; }
	public static VNTrackHomographicImageRegistrationRequestRevision DefaultRevision { get; }
	public virtual VNImageHomographicAlignmentObservation[] Results { get; }
	public virtual VNTrackHomographicImageRegistrationRequestRevision Revision { get; set; }
	public static VNTrackHomographicImageRegistrationRequestRevision[] SupportedRevisions { get; }
	public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
}

New Type: Vision.VNTrackHomographicImageRegistrationRequestRevision

[Serializable]
public enum VNTrackHomographicImageRegistrationRequestRevision {
	One = 1,
}

New Type: Vision.VNTrackOpticalFlowRequest

public class VNTrackOpticalFlowRequest : Vision.VNStatefulRequest {
	// constructors
	public VNTrackOpticalFlowRequest ();
	protected VNTrackOpticalFlowRequest (Foundation.NSObjectFlag t);
	protected VNTrackOpticalFlowRequest (ObjCRuntime.NativeHandle handle);
	public VNTrackOpticalFlowRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual VNTrackOpticalFlowRequestComputationAccuracy ComputationAccuracy { get; set; }
	public virtual bool KeepNetworkOutput { get; set; }
	public virtual uint OutputPixelFormat { get; set; }
	public virtual VNPixelBufferObservation[] Results { get; }
}

New Type: Vision.VNTrackOpticalFlowRequestComputationAccuracy

[Serializable]
public enum VNTrackOpticalFlowRequestComputationAccuracy {
	High = 2,
	Low = 0,
	Medium = 1,
	VeryHigh = 3,
}

New Type: Vision.VNTrackOpticalFlowRequestRevision

[Serializable]
public enum VNTrackOpticalFlowRequestRevision {
	One = 1,
}

New Type: Vision.VNTrackTranslationalImageRegistrationRequest

public class VNTrackTranslationalImageRegistrationRequest : Vision.VNStatefulRequest {
	// constructors
	public VNTrackTranslationalImageRegistrationRequest ();
	protected VNTrackTranslationalImageRegistrationRequest (Foundation.NSObjectFlag t);
	protected VNTrackTranslationalImageRegistrationRequest (ObjCRuntime.NativeHandle handle);
	public VNTrackTranslationalImageRegistrationRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static VNTrackTranslationalImageRegistrationRequestRevision CurrentRevision { get; }
	public static VNTrackTranslationalImageRegistrationRequestRevision DefaultRevision { get; }
	public virtual VNImageTranslationAlignmentObservation[] Results { get; }
	public virtual VNTrackTranslationalImageRegistrationRequestRevision Revision { get; set; }
	public static VNTrackTranslationalImageRegistrationRequestRevision[] SupportedRevisions { get; }
	public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
}

New Type: Vision.VNTrackTranslationalImageRegistrationRequestRevision

[Serializable]
public enum VNTrackTranslationalImageRegistrationRequestRevision {
	One = 1,
}

Namespace WebKit

Type Changed: WebKit.IDomEventListener

Modified methods:

-public abstract void HandleEvent (DomEvent evt)
+public virtual void HandleEvent (DomEvent evt)

Type Changed: WebKit.IDomEventTarget

Modified methods:

-public abstract void AddEventListener (string type, IDomEventListener listener, bool useCapture)
+public virtual void AddEventListener (string type, IDomEventListener listener, bool useCapture)
-public abstract bool DispatchEvent (DomEvent evt)
+public virtual bool DispatchEvent (DomEvent evt)
-public abstract void RemoveEventListener (string type, IDomEventListener listener, bool useCapture)
+public virtual void RemoveEventListener (string type, IDomEventListener listener, bool useCapture)

Type Changed: WebKit.IDomNodeFilter

Modified methods:

-public abstract short AcceptNode (DomNode n)
+public virtual short AcceptNode (DomNode n)

Type Changed: WebKit.IWKDownloadDelegate

Modified methods:

-public abstract void DecideDestination (WKDownload download, Foundation.NSUrlResponse response, string suggestedFilename, System.Action%LESSERTHANREPLACEMENT%Foundation.NSUrl%GREATERTHANREPLACEMENT% completionHandler)
+public virtual void DecideDestination (WKDownload download, Foundation.NSUrlResponse response, string suggestedFilename, System.Action%LESSERTHANREPLACEMENT%Foundation.NSUrl%GREATERTHANREPLACEMENT% completionHandler)

Added methods:

public virtual void DidFail (WKDownload download, Foundation.NSError error, Foundation.NSData resumeData);
public virtual void DidFinish (WKDownload download);
public virtual void DidReceiveAuthenticationChallenge (WKDownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
public virtual void WillPerformHttpRedirection (WKDownload download, Foundation.NSHttpUrlResponse response, Foundation.NSUrlRequest request, System.Action<WKDownloadRedirectPolicy> decisionHandler);

Type Changed: WebKit.IWKHttpCookieStoreObserver

Added method:

public virtual void CookiesDidChangeInCookieStore (WKHttpCookieStore cookieStore);

Type Changed: WebKit.IWKNavigationDelegate

Added methods:

public virtual void ContentProcessDidTerminate (WKWebView webView);
public virtual void DecidePolicy (WKWebView webView, WKNavigationAction navigationAction, System.Action<WKNavigationActionPolicy> decisionHandler);
public virtual void DecidePolicy (WKWebView webView, WKNavigationResponse navigationResponse, System.Action<WKNavigationResponsePolicy> decisionHandler);
public virtual void DecidePolicy (WKWebView webView, WKNavigationAction navigationAction, WKWebpagePreferences preferences, System.Action<WKNavigationActionPolicy,WebKit.WKWebpagePreferences> decisionHandler);
public virtual void DidCommitNavigation (WKWebView webView, WKNavigation navigation);
public virtual void DidFailNavigation (WKWebView webView, WKNavigation navigation, Foundation.NSError error);
public virtual void DidFailProvisionalNavigation (WKWebView webView, WKNavigation navigation, Foundation.NSError error);
public virtual void DidFinishNavigation (WKWebView webView, WKNavigation navigation);
public virtual void DidReceiveAuthenticationChallenge (WKWebView webView, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
public virtual void DidReceiveServerRedirectForProvisionalNavigation (WKWebView webView, WKNavigation navigation);
public virtual void DidStartProvisionalNavigation (WKWebView webView, WKNavigation navigation);
public virtual void NavigationActionDidBecomeDownload (WKWebView webView, WKNavigationAction navigationAction, WKDownload download);
public virtual void NavigationResponseDidBecomeDownload (WKWebView webView, WKNavigationResponse navigationResponse, WKDownload download);
public virtual void ShouldAllowDeprecatedTls (WKWebView webView, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<bool> decisionHandler);

Type Changed: WebKit.IWKScriptMessageHandler

Modified methods:

-public abstract void DidReceiveScriptMessage (WKUserContentController userContentController, WKScriptMessage message)
+public virtual void DidReceiveScriptMessage (WKUserContentController userContentController, WKScriptMessage message)

Type Changed: WebKit.IWKScriptMessageHandlerWithReply

Modified methods:

-public abstract void DidReceiveScriptMessage (WKUserContentController userContentController, WKScriptMessage message, System.Action%LESSERTHANREPLACEMENT%Foundation.NSObject,Foundation.NSString%GREATERTHANREPLACEMENT% replyHandler)
+public virtual void DidReceiveScriptMessage (WKUserContentController userContentController, WKScriptMessage message, System.Action%LESSERTHANREPLACEMENT%Foundation.NSObject,Foundation.NSString%GREATERTHANREPLACEMENT% replyHandler)

Type Changed: WebKit.IWKUIDelegate

Added methods:

public virtual WKWebView CreateWebView (WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures);
public virtual void DidClose (WKWebView webView);
public virtual void RequestMediaCapturePermission (WKWebView webView, WKSecurityOrigin origin, WKFrameInfo frame, WKMediaCaptureType type, System.Action<WKPermissionDecision> decisionHandler);
public virtual System.Threading.Tasks.Task<WKPermissionDecision> RequestMediaCapturePermissionAsync (WKWebView webView, WKSecurityOrigin origin, WKFrameInfo frame, WKMediaCaptureType type);
public virtual void RunJavaScriptAlertPanel (WKWebView webView, string message, WKFrameInfo frame, System.Action completionHandler);
public virtual void RunJavaScriptConfirmPanel (WKWebView webView, string message, WKFrameInfo frame, System.Action<bool> completionHandler);
public virtual void RunJavaScriptTextInputPanel (WKWebView webView, string prompt, string defaultText, WKFrameInfo frame, System.Action<string> completionHandler);
public virtual void RunOpenPanel (WKWebView webView, WKOpenPanelParameters parameters, WKFrameInfo frame, System.Action<Foundation.NSUrl[]> completionHandler);

Type Changed: WebKit.IWKUrlSchemeHandler

Modified methods:

-public abstract void StartUrlSchemeTask (WKWebView webView, IWKUrlSchemeTask urlSchemeTask)
+public virtual void StartUrlSchemeTask (WKWebView webView, IWKUrlSchemeTask urlSchemeTask)
-public abstract void StopUrlSchemeTask (WKWebView webView, IWKUrlSchemeTask urlSchemeTask)
+public virtual void StopUrlSchemeTask (WKWebView webView, IWKUrlSchemeTask urlSchemeTask)

Type Changed: WebKit.IWKUrlSchemeTask

Modified properties:

-public abstract Foundation.NSUrlRequest Request { get; }
+public virtual Foundation.NSUrlRequest Request { get; }

Modified methods:

-public abstract void DidFailWithError (Foundation.NSError error)
+public virtual void DidFailWithError (Foundation.NSError error)
-public abstract void DidFinish ()
+public virtual void DidFinish ()
-public abstract void DidReceiveData (Foundation.NSData data)
+public virtual void DidReceiveData (Foundation.NSData data)
-public abstract void DidReceiveResponse (Foundation.NSUrlResponse response)
+public virtual void DidReceiveResponse (Foundation.NSUrlResponse response)

Type Changed: WebKit.IWebDocumentRepresentation

Modified properties:

-public abstract bool CanProvideDocumentSource { get; }
+public virtual bool CanProvideDocumentSource { get; }
-public abstract string DocumentSource { get; }
+public virtual string DocumentSource { get; }
-public abstract string Title { get; }
+public virtual string Title { get; }

Modified methods:

-public abstract void FinishedLoading (WebDataSource dataSource)
+public virtual void FinishedLoading (WebDataSource dataSource)
-public abstract void ReceivedData (Foundation.NSData data, WebDataSource dataSource)
+public virtual void ReceivedData (Foundation.NSData data, WebDataSource dataSource)
-public abstract void ReceivedError (Foundation.NSError error, WebDataSource dataSource)
+public virtual void ReceivedError (Foundation.NSError error, WebDataSource dataSource)
-public abstract void SetDataSource (WebDataSource dataSource)
+public virtual void SetDataSource (WebDataSource dataSource)

Type Changed: WebKit.IWebDownloadDelegate

Added method:

public virtual AppKit.NSWindow OnDownloadWindowForSheet (WebDownload download);

Type Changed: WebKit.IWebFrameLoadDelegate

Added methods:

public virtual void CanceledClientRedirect (WebView sender, WebFrame forFrame);
public virtual void ChangedLocationWithinPage (WebView sender, WebFrame forFrame);
public virtual void ClearedWindowObject (WebView webView, WebScriptObject windowObject, WebFrame forFrame);
public virtual void CommitedLoad (WebView sender, WebFrame forFrame);
public virtual void DidCreateJavaScriptContext (WebView webView, JavaScriptCore.JSContext context, WebFrame frame);
public virtual void FailedLoadWithError (WebView sender, Foundation.NSError error, WebFrame forFrame);
public virtual void FailedProvisionalLoad (WebView sender, Foundation.NSError error, WebFrame forFrame);
public virtual void FinishedLoad (WebView sender, WebFrame forFrame);
public virtual void ReceivedIcon (WebView sender, AppKit.NSImage image, WebFrame forFrame);
public virtual void ReceivedServerRedirectForProvisionalLoad (WebView sender, WebFrame forFrame);
public virtual void ReceivedTitle (WebView sender, string title, WebFrame forFrame);
public virtual void StartedProvisionalLoad (WebView sender, WebFrame forFrame);
public virtual void WillCloseFrame (WebView sender, WebFrame forFrame);
public virtual void WillPerformClientRedirect (WebView sender, Foundation.NSUrl toUrl, double secondsDelay, Foundation.NSDate fireDate, WebFrame forFrame);
public virtual void WindowScriptObjectAvailable (WebView webView, WebScriptObject windowScriptObject);

Type Changed: WebKit.IWebOpenPanelResultListener

Modified methods:

-public abstract void Cancel ()
+public virtual void Cancel ()
-public abstract void ChooseFilename (string filename)
+public virtual void ChooseFilename (string filename)
-public abstract void ChooseFilenames (string[] filenames)
+public virtual void ChooseFilenames (string[] filenames)

Type Changed: WebKit.IWebPolicyDecisionListener

Modified methods:

-public abstract void Download ()
+public virtual void Download ()
-public abstract void Ignore ()
+public virtual void Ignore ()
-public abstract void Use ()
+public virtual void Use ()

Type Changed: WebKit.IWebPolicyDelegate

Added methods:

public virtual void DecidePolicyForMimeType (WebView webView, string mimeType, Foundation.NSUrlRequest request, WebFrame frame, Foundation.NSObject decisionToken);
public virtual void DecidePolicyForNavigation (WebView webView, Foundation.NSDictionary actionInformation, Foundation.NSUrlRequest request, WebFrame frame, Foundation.NSObject decisionToken);
public virtual void DecidePolicyForNewWindow (WebView webView, Foundation.NSDictionary actionInformation, Foundation.NSUrlRequest request, string newFrameName, Foundation.NSObject decisionToken);
public virtual void UnableToImplementPolicy (WebView webView, Foundation.NSError error, WebFrame frame);

Type Changed: WebKit.IWebResourceLoadDelegate

Added methods:

public virtual void OnCancelledAuthenticationChallenge (WebView sender, Foundation.NSObject identifier, Foundation.NSUrlAuthenticationChallenge challenge, WebDataSource dataSource);
public virtual void OnFailedLoading (WebView sender, Foundation.NSObject identifier, Foundation.NSError withError, WebDataSource dataSource);
public virtual void OnFinishedLoading (WebView sender, Foundation.NSObject identifier, WebDataSource dataSource);
public virtual Foundation.NSObject OnIdentifierForInitialRequest (WebView sender, Foundation.NSUrlRequest request, WebDataSource dataSource);
public virtual void OnPlugInFailed (WebView sender, Foundation.NSError error, WebDataSource dataSource);
public virtual void OnReceivedAuthenticationChallenge (WebView sender, Foundation.NSObject identifier, Foundation.NSUrlAuthenticationChallenge challenge, WebDataSource dataSource);
public virtual void OnReceivedContentLength (WebView sender, Foundation.NSObject identifier, IntPtr length, WebDataSource dataSource);
public virtual void OnReceivedResponse (WebView sender, Foundation.NSObject identifier, Foundation.NSUrlResponse responseReceived, WebDataSource dataSource);
public virtual Foundation.NSUrlRequest OnSendRequest (WebView sender, Foundation.NSObject identifier, Foundation.NSUrlRequest request, Foundation.NSUrlResponse redirectResponse, WebDataSource dataSource);

Type Changed: WebKit.IWebUIDelegate

Added methods:

public virtual bool UIAreToolbarsVisible (WebView sender);
public virtual void UIClose (WebView sender);
public virtual WebView UICreateModalDialog (WebView sender, Foundation.NSUrlRequest request);
public virtual WebView UICreateWebView (WebView sender, Foundation.NSUrlRequest request);
public virtual WebDragSourceAction UIDragSourceActionMask (WebView webView, CoreGraphics.CGPoint point);
public virtual void UIDrawFooterInRect (WebView sender, CoreGraphics.CGRect rect);
public virtual void UIDrawHeaderInRect (WebView sender, CoreGraphics.CGRect rect);
public virtual void UIFocus (WebView sender);
public virtual CoreGraphics.CGRect UIGetContentRect (WebView sender);
public virtual AppKit.NSMenuItem[] UIGetContextMenuItems (WebView sender, Foundation.NSDictionary forElement, AppKit.NSMenuItem[] defaultMenuItems);
public virtual WebDragDestinationAction UIGetDragDestinationActionMask (WebView webView, AppKit.INSDraggingInfo draggingInfo);
public virtual AppKit.NSResponder UIGetFirstResponder (WebView sender);
public virtual float UIGetFooterHeight (WebView sender);
public virtual CoreGraphics.CGRect UIGetFrame (WebView sender);
public virtual float UIGetHeaderHeight (WebView sender);
public virtual string UIGetStatusText (WebView sender);
public virtual bool UIIsResizable (WebView sender);
public virtual bool UIIsStatusBarVisible (WebView sender);
public virtual void UIMakeFirstResponder (WebView sender, AppKit.NSResponder newResponder);
public virtual void UIMouseDidMoveOverElement (WebView sender, Foundation.NSDictionary elementInformation, AppKit.NSEventModifierMask modifierFlags);
public virtual void UIPrintFrameView (WebView sender, WebFrameView frameView);
public virtual bool UIRunBeforeUnload (WebView sender, string message, WebFrame initiatedByFrame);
public virtual void UIRunJavaScriptAlertPanel (WebView sender, string message);
public virtual void UIRunJavaScriptAlertPanelMessage (WebView sender, string withMessage, WebFrame initiatedByFrame);
public virtual bool UIRunJavaScriptConfirmPanel (WebView sender, string message);
public virtual bool UIRunJavaScriptConfirmationPanel (WebView sender, string withMessage, WebFrame initiatedByFrame);
public virtual string UIRunJavaScriptTextInputPanel (WebView sender, string prompt, string defaultText);
public virtual string UIRunJavaScriptTextInputPanelWithFrame (WebView sender, string prompt, string defaultText, WebFrame initiatedByFrame);
public virtual void UIRunModal (WebView sender);
public virtual void UIRunOpenPanelForFileButton (WebView sender, IWebOpenPanelResultListener resultListener);
public virtual void UISetContentRect (WebView sender, CoreGraphics.CGRect frame);
public virtual void UISetFrame (WebView sender, CoreGraphics.CGRect newFrame);
public virtual void UISetResizable (WebView sender, bool resizable);
public virtual void UISetStatusBarVisible (WebView sender, bool visible);
public virtual void UISetStatusText (WebView sender, string text);
public virtual void UISetToolbarsVisible (WebView sender, bool visible);
public virtual bool UIShouldPerformAction (WebView webView, ObjCRuntime.Selector action, Foundation.NSObject sender);
public virtual void UIShow (WebView sender);
public virtual void UIUnfocus (WebView sender);
public virtual bool UIValidateUserInterfaceItem (WebView webView, Foundation.NSObject validatedUserInterfaceItem, bool defaultValidation);
public virtual void UIWillPerformDragDestination (WebView webView, WebDragDestinationAction action, AppKit.INSDraggingInfo draggingInfo);
public virtual void UIWillPerformDragSource (WebView webView, WebDragSourceAction action, CoreGraphics.CGPoint sourcePoint, AppKit.NSPasteboard pasteboard);

Type Changed: WebKit.WKHttpCookieStore

Added methods:

public virtual void GetCookiePolicy (System.Action<WKCookiePolicy> completionHandler);
public virtual System.Threading.Tasks.Task<WKCookiePolicy> GetCookiePolicyAsync ();
public virtual void SetCookiePolicy (WKCookiePolicy policy, System.Action completionHandler);
public virtual System.Threading.Tasks.Task SetCookiePolicyAsync (WKCookiePolicy policy);

Type Changed: WebKit.WKPdfConfiguration

Added property:

public virtual bool AllowTransparentBackground { get; set; }

Type Changed: WebKit.WKPreferences

Added property:

public virtual WKInactiveSchedulingPolicy InactiveSchedulingPolicy { get; set; }

Type Changed: WebKit.WKWebView

Added methods:

public virtual void GoBack (Foundation.NSObject sender);
public virtual void GoForward (Foundation.NSObject sender);
public virtual void Reload (Foundation.NSObject sender);
public virtual void ReloadFromOrigin (Foundation.NSObject sender);
public virtual void StopLoading (Foundation.NSObject sender);

Type Changed: WebKit.WKWebViewConfiguration

Added properties:

public virtual bool AllowsInlinePredictions { get; set; }
public virtual WKUserInterfaceDirectionPolicy UserInterfaceDirectionPolicy { get; set; }

Type Changed: WebKit.WKWebsiteDataStore

Added property:

public virtual Foundation.NSUuid Identifier { get; }

Added methods:

public static WKWebsiteDataStore Create (Foundation.NSUuid identifier);
public static void FetchAllDataStoreIdentifiers (System.Action<Foundation.NSArray<Foundation.NSUuid>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<Foundation.NSUuid>> FetchAllDataStoreIdentifiersAsync ();
public static void Remove (Foundation.NSUuid identifier, System.Action<Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task RemoveAsync (Foundation.NSUuid identifier);

Type Changed: WebKit.WKWebsiteDataType

Added properties:

public static Foundation.NSString HashSalt { get; }
public static Foundation.NSString MediaKeys { get; }
public static Foundation.NSString SearchFieldRecentSearches { get; }

New Type: WebKit.WKCookiePolicy

[Serializable]
public enum WKCookiePolicy {
	Allow = 0,
	Disallow = 1,
}

New Type: WebKit.WKInactiveSchedulingPolicy

[Serializable]
public enum WKInactiveSchedulingPolicy {
	None = 2,
	Suspend = 0,
	Throttle = 1,
}

New Type: WebKit.WKUserInterfaceDirectionPolicy

[Serializable]
public enum WKUserInterfaceDirectionPolicy {
	Content = 0,
	System = 1,
}

New Type: WebKit.WebViewNotification

public static class WebViewNotification {
	// properties
	public static Foundation.NSString DidBeginEditing { get; }
	public static Foundation.NSString DidChange { get; }
	public static Foundation.NSString DidChangeSelection { get; }
	public static Foundation.NSString DidChangeTypingStyle { get; }
	public static Foundation.NSString DidEndEditing { get; }

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

New Namespace CryptoTokenKit

New Type: CryptoTokenKit.ITKSmartCardTokenDriverDelegate

public interface ITKSmartCardTokenDriverDelegate : ITKTokenDriverDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual TKSmartCardToken CreateToken (TKSmartCardTokenDriver driver, TKSmartCard smartCard, Foundation.NSData aid, out Foundation.NSError error);
}

New Type: CryptoTokenKit.ITKSmartCardUserInteractionDelegate

public interface ITKSmartCardUserInteractionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void CharacterEntered (TKSmartCardUserInteraction interaction);
	public virtual void CorrectionKeyPressed (TKSmartCardUserInteraction interaction);
	public virtual void InvalidCharacterEntered (TKSmartCardUserInteraction interaction);
	public virtual void NewPinConfirmationRequested (TKSmartCardUserInteraction interaction);
	public virtual void NewPinRequested (TKSmartCardUserInteraction interaction);
	public virtual void OldPinRequested (TKSmartCardUserInteraction interaction);
	public virtual void ValidationKeyPressed (TKSmartCardUserInteraction interaction);
}

New Type: CryptoTokenKit.ITKTokenDelegate

public interface ITKTokenDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual TKTokenSession CreateSession (TKToken token, out Foundation.NSError error);
	public virtual void TerminateSession (TKToken token, TKTokenSession session);
}

New Type: CryptoTokenKit.ITKTokenDriverDelegate

public interface ITKTokenDriverDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual TKToken GetToken (TKTokenDriver driver, TKTokenConfiguration configuration, out Foundation.NSError error);
	public virtual void TerminateToken (TKTokenDriver driver, TKToken token);
}

New Type: CryptoTokenKit.ITKTokenSessionDelegate

public interface ITKTokenSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual TKTokenAuthOperation BeginAuthentication (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject constraint, out Foundation.NSError error);
	public virtual Foundation.NSData DecryptData (TKTokenSession session, Foundation.NSData ciphertext, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public virtual Foundation.NSData PerformKeyExchange (TKTokenSession session, Foundation.NSData otherPartyPublicKeyData, Foundation.NSObject objectId, TKTokenKeyAlgorithm algorithm, TKTokenKeyExchangeParameters parameters, out Foundation.NSError error);
	public virtual Foundation.NSData SignData (TKTokenSession session, Foundation.NSData dataToSign, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public virtual bool SupportsOperation (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm);
}

New Type: CryptoTokenKit.TKBerTlvRecord

public class TKBerTlvRecord : CryptoTokenKit.TKTlvRecord {
	// constructors
	public TKBerTlvRecord ();
	protected TKBerTlvRecord (Foundation.NSObjectFlag t);
	protected TKBerTlvRecord (ObjCRuntime.NativeHandle handle);
	public TKBerTlvRecord (ulong tag, TKTlvRecord[] records);
	public TKBerTlvRecord (ulong tag, Foundation.NSData value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static Foundation.NSData GetData (ulong tag);
}

New Type: CryptoTokenKit.TKCompactTlvRecord

public class TKCompactTlvRecord : CryptoTokenKit.TKTlvRecord {
	// constructors
	public TKCompactTlvRecord ();
	protected TKCompactTlvRecord (Foundation.NSObjectFlag t);
	protected TKCompactTlvRecord (ObjCRuntime.NativeHandle handle);
	public TKCompactTlvRecord (byte tag, Foundation.NSData value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKErrorCode

[Serializable]
public enum TKErrorCode {
	AuthenticationFailed = -5,
	AuthenticationNeeded = -9,
	BadParameter = -8,
	CanceledByUser = -4,
	CommunicationError = -2,
	CorruptedData = -3,
	NotImplemented = -1,
	ObjectNotFound = -6,
	TokenNotFound = -7,
}

New Type: CryptoTokenKit.TKErrorCodeExtensions

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

New Type: CryptoTokenKit.TKGetSlotCallback

public sealed delegate TKGetSlotCallback : System.MulticastDelegate {
	// constructors
	public TKGetSlotCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (TKSmartCardSlot slot, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (TKSmartCardSlot slot);
}

New Type: CryptoTokenKit.TKSimpleTlvRecord

public class TKSimpleTlvRecord : CryptoTokenKit.TKTlvRecord {
	// constructors
	public TKSimpleTlvRecord ();
	protected TKSimpleTlvRecord (Foundation.NSObjectFlag t);
	protected TKSimpleTlvRecord (ObjCRuntime.NativeHandle handle);
	public TKSimpleTlvRecord (byte tag, Foundation.NSData value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKSmartCard

public class TKSmartCard : Foundation.NSObject {
	// constructors
	public TKSmartCard ();
	protected TKSmartCard (Foundation.NSObjectFlag t);
	protected TKSmartCard (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual TKSmartCardProtocol AllowedProtocols { get; set; }
	public virtual byte Cla { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSObject Context { get; set; }
	public virtual TKSmartCardProtocol CurrentProtocol { get; }
	public virtual bool Sensitive { get; set; }
	public virtual TKSmartCardSlot Slot { get; }
	public virtual bool UseCommandChaining { get; set; }
	public virtual bool UseExtendedLength { get; set; }
	public virtual bool Valid { get; }
	// methods
	public virtual void BeginSession (System.Action<System.Boolean,Foundation.NSError> reply);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> BeginSessionAsync ();
	public virtual TKSmartCardUserInteractionForSecurePinChange CreateUserInteractionForSecurePinChange (TKSmartCardPinFormat pinFormat, Foundation.NSData apdu, IntPtr currentPinByteOffset, IntPtr newPinByteOffset);
	public virtual TKSmartCardUserInteractionForSecurePinVerification CreateUserInteractionForSecurePinVerification (TKSmartCardPinFormat pinFormat, Foundation.NSData apdu, IntPtr pinByteOffset);
	protected override void Dispose (bool disposing);
	public virtual void EndSession ();
	public virtual bool ExecuteBlock (out Foundation.NSError error, TKSmartCardExecuteCallback block);
	public virtual void Send (byte ins, byte p1, byte p2, Foundation.NSData requestData, Foundation.NSNumber le, TKSmartCardSendCallback reply);
	public virtual Foundation.NSData Send (byte ins, byte p1, byte p2, Foundation.NSData requestData, Foundation.NSNumber le, out ushort sw, out Foundation.NSError error);
	public virtual void TransmitRequest (Foundation.NSData request, System.Action<Foundation.NSData,Foundation.NSError> reply);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> TransmitRequestAsync (Foundation.NSData request);
}

New Type: CryptoTokenKit.TKSmartCardAtr

public class TKSmartCardAtr : Foundation.NSObject {
	// constructors
	public TKSmartCardAtr (Foundation.NSData bytes);
	protected TKSmartCardAtr (Foundation.NSObjectFlag t);
	protected TKSmartCardAtr (ObjCRuntime.NativeHandle handle);
	public TKSmartCardAtr (System.Func<int> source);
	// properties
	public virtual Foundation.NSData Bytes { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData HistoricalBytes { get; }
	public virtual TKCompactTlvRecord[] HistoricalRecords { get; }
	public virtual TKSmartCardProtocol[] Protocols { get; }
	// methods
	public virtual TKSmartCardAtrInterfaceGroup GetInterfaceGroup (TKSmartCardProtocol protocol);
	public virtual TKSmartCardAtrInterfaceGroup GetInterfaceGroup (IntPtr index);
}

New Type: CryptoTokenKit.TKSmartCardAtrInterfaceGroup

public class TKSmartCardAtrInterfaceGroup : Foundation.NSObject {
	// constructors
	public TKSmartCardAtrInterfaceGroup ();
	protected TKSmartCardAtrInterfaceGroup (Foundation.NSObjectFlag t);
	protected TKSmartCardAtrInterfaceGroup (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSNumber Protocol { get; }
	public virtual Foundation.NSNumber TA { get; }
	public virtual Foundation.NSNumber TB { get; }
	public virtual Foundation.NSNumber TC { get; }
}

New Type: CryptoTokenKit.TKSmartCardExecuteCallback

public sealed delegate TKSmartCardExecuteCallback : System.MulticastDelegate {
	// constructors
	public TKSmartCardExecuteCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (out Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (out Foundation.NSError error, System.IAsyncResult result);
	public virtual bool Invoke (out Foundation.NSError error);
}

New Type: CryptoTokenKit.TKSmartCardPinCharset

[Serializable]
public enum TKSmartCardPinCharset {
	Alphanumeric = 1,
	Numeric = 0,
	UpperAlphanumeric = 2,
}

New Type: CryptoTokenKit.TKSmartCardPinCompletion

[Serializable]
[Flags]
public enum TKSmartCardPinCompletion {
	Key = 2,
	MaxLength = 1,
	Timeout = 4,
}

New Type: CryptoTokenKit.TKSmartCardPinConfirmation

[Serializable]
[Flags]
public enum TKSmartCardPinConfirmation {
	Current = 2,
	New = 1,
	None = 0,
}

New Type: CryptoTokenKit.TKSmartCardPinEncoding

[Serializable]
public enum TKSmartCardPinEncoding {
	Ascii = 1,
	Bcd = 2,
	Binary = 0,
}

New Type: CryptoTokenKit.TKSmartCardPinFormat

public class TKSmartCardPinFormat : Foundation.NSObject {
	// constructors
	public TKSmartCardPinFormat ();
	protected TKSmartCardPinFormat (Foundation.NSObjectFlag t);
	protected TKSmartCardPinFormat (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual TKSmartCardPinCharset Charset { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKSmartCardPinEncoding Encoding { get; set; }
	public virtual IntPtr MaxPinLength { get; set; }
	public virtual IntPtr MinPinLength { get; set; }
	public virtual IntPtr PinBitOffset { get; set; }
	public virtual IntPtr PinBlockByteLength { get; set; }
	public virtual TKSmartCardPinJustification PinJustification { get; set; }
	public virtual IntPtr PinLengthBitOffset { get; set; }
	public virtual IntPtr PinLengthBitSize { get; set; }
}

New Type: CryptoTokenKit.TKSmartCardPinJustification

[Serializable]
public enum TKSmartCardPinJustification {
	Left = 0,
	Right = 1,
}

New Type: CryptoTokenKit.TKSmartCardProtocol

[Serializable]
[Flags]
public enum TKSmartCardProtocol {
	Any = 65535,
	None = 0,
	T0 = 1,
	T1 = 2,
	T15 = 32768,
}

New Type: CryptoTokenKit.TKSmartCardSendCallback

public sealed delegate TKSmartCardSendCallback : System.MulticastDelegate {
	// constructors
	public TKSmartCardSendCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSData replyData, ushort sq, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSData replyData, ushort sq, Foundation.NSError error);
}

New Type: CryptoTokenKit.TKSmartCardSlot

public class TKSmartCardSlot : Foundation.NSObject {
	// constructors
	public TKSmartCardSlot ();
	protected TKSmartCardSlot (Foundation.NSObjectFlag t);
	protected TKSmartCardSlot (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual TKSmartCardAtr Atr { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IntPtr MaxInputLength { get; }
	public virtual IntPtr MaxOutputLength { get; }
	public virtual string Name { get; }
	public virtual TKSmartCardSlotState State { get; }
	// methods
	public virtual TKSmartCard MakeSmartCard ();
}

New Type: CryptoTokenKit.TKSmartCardSlotManager

public class TKSmartCardSlotManager : Foundation.NSObject {
	// constructors
	protected TKSmartCardSlotManager (Foundation.NSObjectFlag t);
	protected TKSmartCardSlotManager (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static TKSmartCardSlotManager DefaultManager { get; }
	public virtual string[] SlotNames { get; }
	// methods
	public virtual TKSmartCardSlot GetSlot (string name);
	public virtual void GetSlot (string name, TKGetSlotCallback reply);
	public virtual System.Threading.Tasks.Task<TKSmartCardSlot> GetSlotAsync (string name);
}

New Type: CryptoTokenKit.TKSmartCardSlotState

[Serializable]
public enum TKSmartCardSlotState {
	Empty = 1,
	Missing = 0,
	MuteCard = 3,
	Probing = 2,
	ValidCard = 4,
}

New Type: CryptoTokenKit.TKSmartCardToken

public class TKSmartCardToken : CryptoTokenKit.TKToken {
	// constructors
	public TKSmartCardToken ();
	protected TKSmartCardToken (Foundation.NSObjectFlag t);
	protected TKSmartCardToken (ObjCRuntime.NativeHandle handle);
	public TKSmartCardToken (TKSmartCard smartCard, Foundation.NSData aid, string instanceId, TKSmartCardTokenDriver tokenDriver);
	// properties
	public virtual Foundation.NSData Aid { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKSmartCardTokenDriver

public class TKSmartCardTokenDriver : CryptoTokenKit.TKTokenDriver {
	// constructors
	public TKSmartCardTokenDriver ();
	protected TKSmartCardTokenDriver (Foundation.NSObjectFlag t);
	protected TKSmartCardTokenDriver (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKSmartCardTokenSession

public class TKSmartCardTokenSession : CryptoTokenKit.TKTokenSession {
	// constructors
	public TKSmartCardTokenSession ();
	public TKSmartCardTokenSession (TKToken token);
	protected TKSmartCardTokenSession (Foundation.NSObjectFlag t);
	protected TKSmartCardTokenSession (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKSmartCard SmartCard { get; }
}

New Type: CryptoTokenKit.TKSmartCardUserInteraction

public class TKSmartCardUserInteraction : Foundation.NSObject {
	// constructors
	public TKSmartCardUserInteraction ();
	protected TKSmartCardUserInteraction (Foundation.NSObjectFlag t);
	protected TKSmartCardUserInteraction (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ITKSmartCardUserInteractionDelegate Delegate { get; set; }
	public virtual double InitialTimeout { get; set; }
	public virtual double InteractionTimeout { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual bool Cancel ();
	protected override void Dispose (bool disposing);
	public virtual void Run (System.Action<System.Boolean,Foundation.NSError> reply);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RunAsync ();
}

New Type: CryptoTokenKit.TKSmartCardUserInteractionDelegate_Extensions

public static class TKSmartCardUserInteractionDelegate_Extensions {
	// methods
	public static void CharacterEntered (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void CorrectionKeyPressed (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void InvalidCharacterEntered (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void NewPinConfirmationRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void NewPinRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void OldPinRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
	public static void ValidationKeyPressed (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction);
}

New Type: CryptoTokenKit.TKSmartCardUserInteractionForPinOperation

public class TKSmartCardUserInteractionForPinOperation : CryptoTokenKit.TKSmartCardUserInteraction {
	// constructors
	public TKSmartCardUserInteractionForPinOperation ();
	protected TKSmartCardUserInteractionForPinOperation (Foundation.NSObjectFlag t);
	protected TKSmartCardUserInteractionForPinOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSLocale Locale { get; set; }
	public virtual TKSmartCardPinCompletion PinCompletion { get; set; }
	public virtual Foundation.NSNumber[] PinMessageIndices { get; set; }
	public virtual Foundation.NSData ResultData { get; set; }
	public virtual ushort ResultSW { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKSmartCardUserInteractionForSecurePinChange

public class TKSmartCardUserInteractionForSecurePinChange : CryptoTokenKit.TKSmartCardUserInteractionForPinOperation {
	// constructors
	public TKSmartCardUserInteractionForSecurePinChange ();
	protected TKSmartCardUserInteractionForSecurePinChange (Foundation.NSObjectFlag t);
	protected TKSmartCardUserInteractionForSecurePinChange (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKSmartCardPinConfirmation PinConfirmation { get; set; }
}

New Type: CryptoTokenKit.TKSmartCardUserInteractionForSecurePinVerification

public class TKSmartCardUserInteractionForSecurePinVerification : CryptoTokenKit.TKSmartCardUserInteractionForPinOperation {
	// constructors
	public TKSmartCardUserInteractionForSecurePinVerification ();
	protected TKSmartCardUserInteractionForSecurePinVerification (Foundation.NSObjectFlag t);
	protected TKSmartCardUserInteractionForSecurePinVerification (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: CryptoTokenKit.TKTlvRecord

public class TKTlvRecord : Foundation.NSObject {
	// constructors
	protected TKTlvRecord (Foundation.NSObjectFlag t);
	protected TKTlvRecord (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual ulong Tag { get; }
	public virtual Foundation.NSData Value { get; }
	// methods
	public static TKTlvRecord CreateRecord (Foundation.NSData data);
	public static TKTlvRecord[] CreateSequenceOfRecords (Foundation.NSData data);
}

New Type: CryptoTokenKit.TKToken

public class TKToken : Foundation.NSObject {
	// constructors
	protected TKToken (Foundation.NSObjectFlag t);
	protected TKToken (ObjCRuntime.NativeHandle handle);
	public TKToken (TKTokenDriver tokenDriver, string instanceId);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKTokenConfiguration Configuration { get; }
	public ITKTokenDelegate Delegate { get; set; }
	public virtual TKTokenKeychainContents KeychainContents { get; }
	public virtual TKTokenDriver TokenDriver { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKTokenAuthOperation

public class TKTokenAuthOperation : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public TKTokenAuthOperation ();
	public TKTokenAuthOperation (Foundation.NSCoder coder);
	protected TKTokenAuthOperation (Foundation.NSObjectFlag t);
	protected TKTokenAuthOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual bool Finish (out Foundation.NSError error);
}

New Type: CryptoTokenKit.TKTokenConfiguration

public class TKTokenConfiguration : Foundation.NSObject {
	// constructors
	protected TKTokenConfiguration (Foundation.NSObjectFlag t);
	protected TKTokenConfiguration (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData ConfigurationData { get; set; }
	public virtual string InstanceId { get; }
	public virtual TKTokenKeychainItem[] KeychainItems { get; set; }
	// methods
	public virtual TKTokenKeychainCertificate GetCertificate (Foundation.NSObject objectId, out Foundation.NSError error);
	public virtual TKTokenKeychainKey GetKey (Foundation.NSObject objectId, out Foundation.NSError error);
}

New Type: CryptoTokenKit.TKTokenDelegate

public abstract class TKTokenDelegate : Foundation.NSObject, ITKTokenDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected TKTokenDelegate ();
	protected TKTokenDelegate (Foundation.NSObjectFlag t);
	protected TKTokenDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual TKTokenSession CreateSession (TKToken token, out Foundation.NSError error);
	public virtual void TerminateSession (TKToken token, TKTokenSession session);
}

New Type: CryptoTokenKit.TKTokenDelegate_Extensions

public static class TKTokenDelegate_Extensions {
	// methods
	public static void TerminateSession (this ITKTokenDelegate This, TKToken token, TKTokenSession session);
}

New Type: CryptoTokenKit.TKTokenDriver

public class TKTokenDriver : Foundation.NSObject {
	// constructors
	public TKTokenDriver ();
	protected TKTokenDriver (Foundation.NSObjectFlag t);
	protected TKTokenDriver (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ITKTokenDriverDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKTokenDriverConfiguration

public class TKTokenDriverConfiguration : Foundation.NSObject {
	// constructors
	protected TKTokenDriverConfiguration (Foundation.NSObjectFlag t);
	protected TKTokenDriverConfiguration (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string ClassId { get; }
	public static Foundation.NSDictionary<Foundation.NSString,CryptoTokenKit.TKTokenDriverConfiguration> DriverConfigurations { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,CryptoTokenKit.TKTokenConfiguration> TokenConfigurations { get; }
	// methods
	public virtual TKTokenConfiguration AddTokenConfiguration (string instanceId);
	public virtual void RemoveTokenConfiguration (string instanceId);
}

New Type: CryptoTokenKit.TKTokenDriverDelegate

public class TKTokenDriverDelegate : Foundation.NSObject, ITKTokenDriverDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public TKTokenDriverDelegate ();
	protected TKTokenDriverDelegate (Foundation.NSObjectFlag t);
	protected TKTokenDriverDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual TKToken GetToken (TKTokenDriver driver, TKTokenConfiguration configuration, out Foundation.NSError error);
	public virtual void TerminateToken (TKTokenDriver driver, TKToken token);
}

New Type: CryptoTokenKit.TKTokenDriverDelegate_Extensions

public static class TKTokenDriverDelegate_Extensions {
	// methods
	public static TKToken GetToken (this ITKTokenDriverDelegate This, TKTokenDriver driver, TKTokenConfiguration configuration, out Foundation.NSError error);
	public static void TerminateToken (this ITKTokenDriverDelegate This, TKTokenDriver driver, TKToken token);
}

New Type: CryptoTokenKit.TKTokenKeyAlgorithm

public class TKTokenKeyAlgorithm : Foundation.NSObject {
	// constructors
	protected TKTokenKeyAlgorithm (Foundation.NSObjectFlag t);
	protected TKTokenKeyAlgorithm (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual bool IsAlgorithm (Security.SecKeyAlgorithm algorithm);
	public virtual bool SupportsAlgorithm (Security.SecKeyAlgorithm algorithm);
}

New Type: CryptoTokenKit.TKTokenKeyExchangeParameters

public class TKTokenKeyExchangeParameters : Foundation.NSObject {
	// constructors
	public TKTokenKeyExchangeParameters ();
	protected TKTokenKeyExchangeParameters (Foundation.NSObjectFlag t);
	protected TKTokenKeyExchangeParameters (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IntPtr RequestedSize { get; }
	public virtual Foundation.NSData SharedInfo { get; }
}

New Type: CryptoTokenKit.TKTokenKeychainCertificate

public class TKTokenKeychainCertificate : CryptoTokenKit.TKTokenKeychainItem {
	// constructors
	public TKTokenKeychainCertificate ();
	protected TKTokenKeychainCertificate (Foundation.NSObjectFlag t);
	protected TKTokenKeychainCertificate (ObjCRuntime.NativeHandle handle);
	public TKTokenKeychainCertificate (Security.SecKeyAlgorithm certificateRef, Foundation.NSObject objectId);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
}

New Type: CryptoTokenKit.TKTokenKeychainContents

public class TKTokenKeychainContents : Foundation.NSObject {
	// constructors
	protected TKTokenKeychainContents (Foundation.NSObjectFlag t);
	protected TKTokenKeychainContents (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual TKTokenKeychainItem[] Items { get; }
	// methods
	public virtual void Fill (TKTokenKeychainItem[] items);
	public virtual TKTokenKeychainCertificate GetCertificate (Foundation.NSObject objectId, out Foundation.NSError error);
	public virtual TKTokenKeychainKey GetKey (Foundation.NSObject objectId, out Foundation.NSError error);
}

New Type: CryptoTokenKit.TKTokenKeychainItem

public class TKTokenKeychainItem : Foundation.NSObject {
	// constructors
	public TKTokenKeychainItem (Foundation.NSObject objectId);
	protected TKTokenKeychainItem (Foundation.NSObjectFlag t);
	protected TKTokenKeychainItem (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSNumber,Foundation.NSObject> Constraints { get; set; }
	public virtual string Label { get; set; }
	public virtual Foundation.NSObject ObjectId { get; }
}

New Type: CryptoTokenKit.TKTokenKeychainKey

public class TKTokenKeychainKey : CryptoTokenKit.TKTokenKeychainItem {
	// constructors
	public TKTokenKeychainKey ();
	protected TKTokenKeychainKey (Foundation.NSObjectFlag t);
	protected TKTokenKeychainKey (ObjCRuntime.NativeHandle handle);
	public TKTokenKeychainKey (Security.SecCertificate certificate, Foundation.NSObject objectId);
	public TKTokenKeychainKey (IntPtr certificate, Foundation.NSObject objectId);
	// properties
	public virtual Foundation.NSData ApplicationTag { get; set; }
	public virtual bool CanDecrypt { get; set; }
	public virtual bool CanPerformKeyExchange { get; set; }
	public virtual bool CanSign { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IntPtr KeySizeInBits { get; set; }
	public virtual string KeyType { get; set; }
	public virtual Foundation.NSData PublicKeyData { get; set; }
	public virtual Foundation.NSData PublicKeyHash { get; set; }
	public virtual bool SuitableForLogin { get; set; }
}

New Type: CryptoTokenKit.TKTokenOperation

[Serializable]
public enum TKTokenOperation {
	DecryptData = 3,
	None = 0,
	PerformKeyExchange = 4,
	ReadData = 1,
	SignData = 2,
}

New Type: CryptoTokenKit.TKTokenPasswordAuthOperation

public class TKTokenPasswordAuthOperation : CryptoTokenKit.TKTokenAuthOperation {
	// constructors
	public TKTokenPasswordAuthOperation ();
	public TKTokenPasswordAuthOperation (Foundation.NSCoder coder);
	protected TKTokenPasswordAuthOperation (Foundation.NSObjectFlag t);
	protected TKTokenPasswordAuthOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string Password { get; set; }
}

New Type: CryptoTokenKit.TKTokenSession

public class TKTokenSession : Foundation.NSObject {
	// constructors
	public TKTokenSession (TKToken token);
	protected TKTokenSession (Foundation.NSObjectFlag t);
	protected TKTokenSession (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ITKTokenSessionDelegate Delegate { get; set; }
	public virtual TKToken Token { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKTokenSessionDelegate

public class TKTokenSessionDelegate : Foundation.NSObject, ITKTokenSessionDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public TKTokenSessionDelegate ();
	protected TKTokenSessionDelegate (Foundation.NSObjectFlag t);
	protected TKTokenSessionDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual TKTokenAuthOperation BeginAuthentication (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject constraint, out Foundation.NSError error);
	public virtual Foundation.NSData DecryptData (TKTokenSession session, Foundation.NSData ciphertext, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public virtual Foundation.NSData PerformKeyExchange (TKTokenSession session, Foundation.NSData otherPartyPublicKeyData, Foundation.NSObject objectId, TKTokenKeyAlgorithm algorithm, TKTokenKeyExchangeParameters parameters, out Foundation.NSError error);
	public virtual Foundation.NSData SignData (TKTokenSession session, Foundation.NSData dataToSign, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public virtual bool SupportsOperation (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm);
}

New Type: CryptoTokenKit.TKTokenSessionDelegate_Extensions

public static class TKTokenSessionDelegate_Extensions {
	// methods
	public static TKTokenAuthOperation BeginAuthentication (this ITKTokenSessionDelegate This, TKTokenSession session, TKTokenOperation operation, Foundation.NSObject constraint, out Foundation.NSError error);
	public static Foundation.NSData DecryptData (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData ciphertext, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public static Foundation.NSData PerformKeyExchange (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData otherPartyPublicKeyData, Foundation.NSObject objectId, TKTokenKeyAlgorithm algorithm, TKTokenKeyExchangeParameters parameters, out Foundation.NSError error);
	public static Foundation.NSData SignData (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData dataToSign, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error);
	public static bool SupportsOperation (this ITKTokenSessionDelegate This, TKTokenSession session, TKTokenOperation operation, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm);
}

New Type: CryptoTokenKit.TKTokenSmartCardPinAuthOperation

public class TKTokenSmartCardPinAuthOperation : CryptoTokenKit.TKTokenAuthOperation {
	// constructors
	public TKTokenSmartCardPinAuthOperation ();
	public TKTokenSmartCardPinAuthOperation (Foundation.NSCoder coder);
	protected TKTokenSmartCardPinAuthOperation (Foundation.NSObjectFlag t);
	protected TKTokenSmartCardPinAuthOperation (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual Foundation.NSData ApduTemplate { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string Pin { get; set; }
	public virtual IntPtr PinByteOffset { get; set; }
	public virtual TKSmartCardPinFormat PinFormat { get; set; }
	public virtual TKSmartCard SmartCard { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CryptoTokenKit.TKTokenWatcher

public class TKTokenWatcher : Foundation.NSObject {
	// constructors
	public TKTokenWatcher ();
	protected TKTokenWatcher (Foundation.NSObjectFlag t);
	protected TKTokenWatcher (ObjCRuntime.NativeHandle handle);
	public TKTokenWatcher (System.Action<Foundation.NSString> insertionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string[] TokenIds { get; }
	// methods
	public virtual void AddRemovalHandler (System.Action<Foundation.NSString> removalHandler, string tokenId);
	public virtual TKTokenWatcherTokenInfo GetTokenInfo (string tokenId);
	public virtual void SetInsertionHandler (System.Action<Foundation.NSString> insertionHandler);
}

New Type: CryptoTokenKit.TKTokenWatcherTokenInfo

public class TKTokenWatcherTokenInfo : Foundation.NSObject {
	// constructors
	protected TKTokenWatcherTokenInfo (Foundation.NSObjectFlag t);
	protected TKTokenWatcherTokenInfo (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string DriverName { get; }
	public virtual string SlotName { get; }
	public virtual string TokenId { get; }
}

New Namespace SafetyKit

New Type: SafetyKit.ISACrashDetectionDelegate

public interface ISACrashDetectionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidDetectEvent (SACrashDetectionManager crashDetectionManager, SACrashDetectionEvent event);
}

New Type: SafetyKit.ISAEmergencyResponseDelegate

public interface ISAEmergencyResponseDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidUpdateVoiceCallStatus (SAEmergencyResponseManager emergencyResponseManager, SAEmergencyResponseManagerVoiceCallStatus voiceCallStatus);
}

New Type: SafetyKit.SAAuthorizationStatus

[Serializable]
public enum SAAuthorizationStatus {
	Authorized = 2,
	Denied = 1,
	NotDetermined = 0,
}

New Type: SafetyKit.SACrashDetectionDelegate

public class SACrashDetectionDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, ISACrashDetectionDelegate, System.IDisposable {
	// constructors
	public SACrashDetectionDelegate ();
	protected SACrashDetectionDelegate (Foundation.NSObjectFlag t);
	protected SACrashDetectionDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual void DidDetectEvent (SACrashDetectionManager crashDetectionManager, SACrashDetectionEvent event);
}

New Type: SafetyKit.SACrashDetectionDelegate_Extensions

public static class SACrashDetectionDelegate_Extensions {
	// methods
	public static void DidDetectEvent (this ISACrashDetectionDelegate This, SACrashDetectionManager crashDetectionManager, SACrashDetectionEvent event);
}

New Type: SafetyKit.SACrashDetectionEvent

public class SACrashDetectionEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public SACrashDetectionEvent (Foundation.NSCoder coder);
	protected SACrashDetectionEvent (Foundation.NSObjectFlag t);
	protected SACrashDetectionEvent (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual CoreLocation.CLLocation Location { get; }
	public virtual SACrashDetectionEventResponse Response { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: SafetyKit.SACrashDetectionEventResponse

[Serializable]
public enum SACrashDetectionEventResponse {
	Attempted = 0,
	Disabled = 1,
}

New Type: SafetyKit.SACrashDetectionManager

public class SACrashDetectionManager : Foundation.NSObject {
	// constructors
	public SACrashDetectionManager ();
	protected SACrashDetectionManager (Foundation.NSObjectFlag t);
	protected SACrashDetectionManager (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual SAAuthorizationStatus AuthorizationStatus { get; }
	public static bool Available { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ISACrashDetectionDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void RequestAuthorization (SACrashDetectionManagerRequestAuthorizationCompletionHandler handler);
	public virtual System.Threading.Tasks.Task<SAAuthorizationStatus> RequestAuthorizationAsync ();
}

New Type: SafetyKit.SACrashDetectionManagerRequestAuthorizationCompletionHandler

public sealed delegate SACrashDetectionManagerRequestAuthorizationCompletionHandler : System.MulticastDelegate {
	// constructors
	public SACrashDetectionManagerRequestAuthorizationCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (SAAuthorizationStatus status, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (SAAuthorizationStatus status, Foundation.NSError error);
}

New Type: SafetyKit.SAEmergencyResponseDelegate

public class SAEmergencyResponseDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, ISAEmergencyResponseDelegate, System.IDisposable {
	// constructors
	public SAEmergencyResponseDelegate ();
	protected SAEmergencyResponseDelegate (Foundation.NSObjectFlag t);
	protected SAEmergencyResponseDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual void DidUpdateVoiceCallStatus (SAEmergencyResponseManager emergencyResponseManager, SAEmergencyResponseManagerVoiceCallStatus voiceCallStatus);
}

New Type: SafetyKit.SAEmergencyResponseDelegate_Extensions

public static class SAEmergencyResponseDelegate_Extensions {
	// methods
	public static void DidUpdateVoiceCallStatus (this ISAEmergencyResponseDelegate This, SAEmergencyResponseManager emergencyResponseManager, SAEmergencyResponseManagerVoiceCallStatus voiceCallStatus);
}

New Type: SafetyKit.SAEmergencyResponseManager

public class SAEmergencyResponseManager : Foundation.NSObject {
	// constructors
	public SAEmergencyResponseManager ();
	protected SAEmergencyResponseManager (Foundation.NSObjectFlag t);
	protected SAEmergencyResponseManager (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ISAEmergencyResponseDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual void DialVoiceCall (string phoneNumber, SAEmergencyResponseManagerDialVoiceCallCompletionHandler handler);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DialVoiceCallAsync (string phoneNumber);
	protected override void Dispose (bool disposing);
}

New Type: SafetyKit.SAEmergencyResponseManagerDialVoiceCallCompletionHandler

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

New Type: SafetyKit.SAEmergencyResponseManagerVoiceCallStatus

[Serializable]
public enum SAEmergencyResponseManagerVoiceCallStatus {
	Active = 1,
	Dialing = 0,
	Disconnected = 2,
	Failed = 3,
}

New Type: SafetyKit.SAErrorCode

[Serializable]
public enum SAErrorCode {
	InvalidArgument = 3,
	NotAllowed = 2,
	NotAuthorized = 1,
	OperationFailed = 4,
}

New Type: SafetyKit.SAErrorCodeExtensions

public static class SAErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this SAErrorCode self);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment