Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created September 12, 2024 10:53
Show Gist options
  • Save vs-mobiletools-engineering-service2/4c199887712914918baf4139e83a1d68 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/4c199887712914918baf4139e83a1d68 to your computer and use it in GitHub Desktop.
stable-api-comparison/diff/dotnet/Microsoft.tvOS.Ref/ref/net9.0/Microsoft.tvOS.md

API diff: Microsoft.tvOS.dll

Microsoft.tvOS.dll

Assembly Version Changed: 17.2.0.0 -> 17.5.0.0

Namespace AVFoundation

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

Added property:

public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> AllHttpResponseHeaderFields { 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.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 BeginInterruption (AVAudioPlayer player);
public virtual void DecoderError (AVAudioPlayer player, Foundation.NSError error);
public virtual void EndInterruption (AVAudioPlayer player);
public virtual void EndInterruption (AVAudioPlayer player, AVAudioSessionInterruptionOptions flags);
public virtual void FinishedPlaying (AVAudioPlayer player, bool flag);

Type Changed: AVFoundation.IAVAudioStereoMixing

Modified properties:

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

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

New Type: AVFoundation.AVCaptureDeviceType

[Serializable]
public enum AVCaptureDeviceType {
	BuiltInDualCamera = 4,
	BuiltInDualWideCamera = 8,
	BuiltInDuoCamera = 3,
	BuiltInLiDarDepthCamera = 10,
	BuiltInMicrophone = 0,
	BuiltInTelephotoCamera = 2,
	BuiltInTripleCamera = 7,
	BuiltInTrueDepthCamera = 5,
	BuiltInUltraWideCamera = 6,
	BuiltInWideAngleCamera = 1,
	External = 11,
	ExternalUnknown = 9,
}

New Type: AVFoundation.AVCaptureDeviceTypeExtensions

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

New Type: AVFoundation.AVSampleCursor

public class AVSampleCursor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected AVSampleCursor (Foundation.NSObjectFlag t);
	protected AVSampleCursor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual AVSampleCursorChunkInfo CurrentChunkInfo { get; }
	public virtual AVSampleCursorStorageRange CurrentChunkStorageRange { get; }
	public virtual Foundation.NSUrl CurrentChunkStorageUrl { get; }
	public virtual AVSampleCursorAudioDependencyInfo CurrentSampleAudioDependencyInfo { get; }
	public virtual Foundation.NSDictionary CurrentSampleDependencyAttachments { get; }
	public AVSampleCursorDependencyInfo CurrentSampleDependencyInfo2 { get; }
	public virtual CoreMedia.CMTime CurrentSampleDuration { get; }
	public virtual long CurrentSampleIndexInChunk { get; }
	public virtual AVSampleCursorStorageRange CurrentSampleStorageRange { get; }
	public virtual AVSampleCursorSyncInfo CurrentSampleSyncInfo { get; }
	public virtual CoreMedia.CMTime DecodeTimeStamp { get; }
	public virtual CoreMedia.CMTime PresentationTimeStamp { get; }
	public virtual IntPtr SamplesRequiredForDecoderRefresh { get; }
	// methods
	public virtual Foundation.NSComparisonResult ComparePositionInDecodeOrder (AVSampleCursor positionOfCursor);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual CoreMedia.CMFormatDescription CopyCurrentSampleFormatDescription ();
	public virtual bool SamplesWithEarlierDecodeTimeStampsMayHaveLaterPresentationTimeStampsThan (AVSampleCursor positionOfCursor);
	public virtual bool SamplesWithLaterDecodeTimeStampsMayHaveEarlierPresentationTimeStampsThan (AVSampleCursor positionOfCursor);
	public virtual CoreMedia.CMTime StepByDecodeTime (CoreMedia.CMTime deltaDecodeTime, out bool wasPinned);
	public virtual CoreMedia.CMTime StepByPresentationTime (CoreMedia.CMTime deltaPresentationTime, out bool wasPinned);
	public virtual long StepInDecodeOrder (long stepCount);
	public virtual long StepInPresentationOrder (long stepCount);
}

New Type: AVFoundation.AVSampleCursorAudioDependencyInfo

public struct AVSampleCursorAudioDependencyInfo {
	// fields
	public IntPtr PacketRefreshCount;
	// properties
	public bool IsIndependentlyDecodable { get; set; }
}

New Type: AVFoundation.AVSampleCursorChunkInfo

public struct AVSampleCursorChunkInfo {
	// fields
	public bool HasUniformFormatDescriptions;
	public bool HasUniformSampleDurations;
	public bool HasUniformSampleSizes;
	public long SampleCount;
}

New Type: AVFoundation.AVSampleCursorDependencyInfo

public struct AVSampleCursorDependencyInfo {
	// fields
	public bool DependsOnOthers;
	public bool HasDependentSamples;
	public bool HasRedundantCoding;
	public bool IndicatesWhetherItDependsOnOthers;
	public bool IndicatesWhetherItHasDependentSamples;
	public bool IndicatesWhetherItHasRedundantCoding;
}

New Type: AVFoundation.AVSampleCursorStorageRange

public struct AVSampleCursorStorageRange {
	// fields
	public long Length;
	public long Offset;
}

New Type: AVFoundation.AVSampleCursorSyncInfo

public struct AVSampleCursorSyncInfo {
	// fields
	public bool IsDroppable;
	public bool IsFullSync;
	public bool IsPartialSync;
}

Namespace AVKit

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

Modified methods:

-public abstract void AddCoordinatedAnimations (System.Action animations, System.Action%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% completion)
+public virtual void AddCoordinatedAnimations (System.Action animations, System.Action%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% completion)

Type Changed: AVKit.IAVPlayerViewControllerDelegate

Added methods:

public virtual void DidAcceptContentProposal (AVPlayerViewController playerViewController, AVFoundation.AVContentProposal proposal);
public virtual void DidEndDismissalTransition (AVPlayerViewController playerViewController);
public virtual void DidPresentInterstitialTimeRange (AVPlayerViewController playerViewController, AVInterstitialTimeRange interstitial);
public virtual void DidRejectContentProposal (AVPlayerViewController playerViewController, AVFoundation.AVContentProposal proposal);
public virtual void DidSelectExternalSubtitleOptionLanguage (AVPlayerViewController playerViewController, string language);
public virtual void DidSelectMediaSelectionOption (AVPlayerViewController playerViewController, AVFoundation.AVMediaSelectionOption mediaSelectionOption, AVFoundation.AVMediaSelectionGroup mediaSelectionGroup);
public virtual void DidStartPictureInPicture (AVPlayerViewController playerViewController);
public virtual void DidStopPictureInPicture (AVPlayerViewController playerViewController);
public virtual void FailedToStartPictureInPicture (AVPlayerViewController playerViewController, Foundation.NSError error);
public virtual UIKit.UIViewController GetNextChannelInterstitialViewController (AVPlayerViewController playerViewController);
public virtual UIKit.UIViewController GetPreviousChannelInterstitialViewController (AVPlayerViewController playerViewController);
public virtual CoreMedia.CMTime GetTimeToSeekAfterUserNavigated (AVPlayerViewController playerViewController, CoreMedia.CMTime oldTime, CoreMedia.CMTime targetTime);
public virtual void RestoreUserInterfaceForPictureInPicture (AVPlayerViewController playerViewController, System.Action<bool> completionHandler);
public virtual bool ShouldAutomaticallyDismissAtPictureInPictureStart (AVPlayerViewController playerViewController);
public virtual bool ShouldDismiss (AVPlayerViewController playerViewController);
public virtual bool ShouldPresentContentProposal (AVPlayerViewController playerViewController, AVFoundation.AVContentProposal proposal);
public virtual void SkipToNextChannel (AVPlayerViewController playerViewController, System.Action<bool> completion);
public virtual void SkipToNextItem (AVPlayerViewController playerViewController);
public virtual void SkipToPreviousChannel (AVPlayerViewController playerViewController, System.Action<bool> completion);
public virtual void SkipToPreviousItem (AVPlayerViewController playerViewController);
public virtual void WillBeginDismissalTransition (AVPlayerViewController playerViewController);
public virtual void WillPresentInterstitialTimeRange (AVPlayerViewController playerViewController, AVInterstitialTimeRange interstitial);
public virtual void WillResumePlaybackAfterUserNavigatedFromTime (AVPlayerViewController playerViewController, CoreMedia.CMTime oldTime, CoreMedia.CMTime targetTime);
public virtual void WillStartPictureInPicture (AVPlayerViewController playerViewController);
public virtual void WillStopPictureInPicture (AVPlayerViewController playerViewController);
public virtual void WillTransitionToVisibilityOfTransportBar (AVPlayerViewController playerViewController, bool visible, IAVPlayerViewControllerAnimationCoordinator coordinator);

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

Added constructor:

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

Added property:

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

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.IASAuthorizationControllerDelegate

Added methods:

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

Type Changed: AuthenticationServices.IASAuthorizationControllerPresentationContextProviding

Modified methods:

-public abstract UIKit.UIWindow GetPresentationAnchor (ASAuthorizationController controller)
+public virtual UIKit.UIWindow GetPresentationAnchor (ASAuthorizationController controller)

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

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

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 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 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 ConnectionEventDidOccur (CBCentralManager central, CBConnectionEvent connectionEvent, CBPeripheral peripheral);
public virtual void DidDisconnectPeripheral (CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);
public virtual void DidUpdateAncsAuthorization (CBCentralManager central, CBPeripheral peripheral);
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 CoreData

Type Changed: CoreData.INSFetchedResultsControllerDelegate

Added methods:

public virtual void DidChangeContent (NSFetchedResultsController controller);
public virtual void DidChangeObject (NSFetchedResultsController controller, Foundation.NSObject anObject, Foundation.NSIndexPath indexPath, NSFetchedResultsChangeType type, Foundation.NSIndexPath newIndexPath);
public virtual void DidChangeSection (NSFetchedResultsController controller, INSFetchedResultsSectionInfo sectionInfo, UIntPtr sectionIndex, NSFetchedResultsChangeType type);
public virtual string SectionFor (NSFetchedResultsController controller, string sectionName);
public virtual void WillChangeContent (NSFetchedResultsController controller);

Type Changed: CoreData.INSFetchedResultsSectionInfo

Modified properties:

-public abstract IntPtr Count { get; }
+public virtual IntPtr Count { get; }
-public abstract string IndexTitle { get; }
+public virtual string IndexTitle { get; }
-public abstract string Name { get; }
+public virtual string Name { get; }
-public abstract Foundation.NSObject[] Objects { get; }
+public virtual Foundation.NSObject[] Objects { get; }

Namespace CoreHaptics

Type Changed: CoreHaptics.ICHHapticAdvancedPatternPlayer

Modified properties:

-public abstract System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% CompletionHandler { get; set; }
+public virtual System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% CompletionHandler { get; set; }
-public abstract bool IsMuted { get; set; }
+public virtual bool IsMuted { get; set; }
-public abstract bool LoopEnabled { get; set; }
+public virtual bool LoopEnabled { get; set; }
-public abstract double LoopEnd { get; set; }
+public virtual double LoopEnd { get; set; }
-public abstract float PlaybackRate { get; set; }
+public virtual float PlaybackRate { get; set; }

Modified methods:

-public abstract bool Pause (double time, out Foundation.NSError outError)
+public virtual bool Pause (double time, out Foundation.NSError outError)
-public abstract bool Resume (double time, out Foundation.NSError outError)
+public virtual bool Resume (double time, out Foundation.NSError outError)
-public abstract bool Seek (double offsetTime, out Foundation.NSError outError)
+public virtual bool Seek (double offsetTime, out Foundation.NSError outError)

Type Changed: CoreHaptics.ICHHapticDeviceCapability

Modified properties:

-public abstract bool SupportsAudio { get; }
+public virtual bool SupportsAudio { get; }
-public abstract bool SupportsHaptics { get; }
+public virtual bool SupportsHaptics { get; }

Modified methods:

-public abstract ICHHapticParameterAttributes GetAttributes (Foundation.NSString eventParameter, out Foundation.NSError outError)
+public virtual ICHHapticParameterAttributes GetAttributes (Foundation.NSString eventParameter, out Foundation.NSError outError)
-public abstract ICHHapticParameterAttributes GetAttributes (Foundation.NSString eventParameter, string type, out Foundation.NSError outError)
+public virtual ICHHapticParameterAttributes GetAttributes (Foundation.NSString eventParameter, string type, out Foundation.NSError outError)

Type Changed: CoreHaptics.ICHHapticParameterAttributes

Modified properties:

-public abstract float DefaultValue { get; }
+public virtual float DefaultValue { get; }
-public abstract float MaxValue { get; }
+public virtual float MaxValue { get; }
-public abstract float MinValue { get; }
+public virtual float MinValue { get; }

Type Changed: CoreHaptics.ICHHapticPatternPlayer

Modified properties:

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

Modified methods:

-public abstract bool Cancel (out Foundation.NSError outError)
+public virtual bool Cancel (out Foundation.NSError outError)
-public abstract bool Schedule (CHHapticParameterCurve parameterCurve, double time, out Foundation.NSError outError)
+public virtual bool Schedule (CHHapticParameterCurve parameterCurve, double time, out Foundation.NSError outError)
-public abstract bool Send (CHHapticDynamicParameter[] parameters, double time, out Foundation.NSError outError)
+public virtual bool Send (CHHapticDynamicParameter[] parameters, double time, out Foundation.NSError outError)
-public abstract bool Start (double time, out Foundation.NSError outError)
+public virtual bool Start (double time, out Foundation.NSError outError)
-public abstract bool Stop (double time, out Foundation.NSError outError)
+public virtual bool Stop (double time, out Foundation.NSError outError)

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 DidChangeAuthorization (CLLocationManager manager);
public virtual void Failed (CLLocationManager manager, Foundation.NSError error);
public virtual void LocationsUpdated (CLLocationManager manager, CLLocation[] locations);

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 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 bool? OpenGlesCompatibility { 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 OpenGlesCompatibility { get; }
	public static Foundation.NSString Planes { get; }
	public static Foundation.NSString QDCompatibility { get; }
	public static Foundation.NSString VerticalSubsampling { get; }
}

Namespace ExternalAccessory

Type Changed: ExternalAccessory.IEAAccessoryDelegate

Added method:

public virtual void Disconnected (EAAccessory accessory);

Namespace Foundation

Type Changed: Foundation.DictionaryContainer

Added methods:

protected UIKit.UIEdgeInsets? GetUIEdgeInsets (NSString key);
protected void SetUIEdgeInsets (NSString key, UIKit.UIEdgeInsets? value);

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.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 ShouldCopyItemAtUrl (NSFileManager fm, NSUrl srcUrl, NSUrl dstUrl);
public virtual bool ShouldLinkItemAtPath (NSFileManager fileManager, string srcPath, string dstPath);
public virtual bool ShouldLinkItemAtUrl (NSFileManager fileManager, NSUrl srcUrl, NSUrl dstUrl);
public virtual bool ShouldMoveItemAtPath (NSFileManager fileManager, string srcPath, string dstPath);
public virtual bool ShouldMoveItemAtUrl (NSFileManager fileManager, NSUrl srcUrl, NSUrl dstUrl);
public virtual bool ShouldProceedAfterErrorCopyingItem (NSFileManager fileManager, NSError error, NSUrl srcUrl, NSUrl dstUrl);
public virtual bool ShouldProceedAfterErrorCopyingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath);
public virtual bool ShouldProceedAfterErrorLinkingItem (NSFileManager fileManager, NSError error, NSUrl srcUrl, NSUrl dstUrl);
public virtual bool ShouldProceedAfterErrorLinkingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath);
public virtual bool ShouldProceedAfterErrorMovingItem (NSFileManager fileManager, NSError error, NSUrl srcUrl, NSUrl dstUrl);
public virtual bool ShouldProceedAfterErrorMovingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath);
public virtual bool ShouldProceedAfterErrorRemovingItem (NSFileManager fileManager, NSError error, NSUrl url);
public virtual bool ShouldProceedAfterErrorRemovingItem (NSFileManager fileManager, NSError error, string path);
public virtual bool ShouldRemoveItemAtPath (NSFileManager fileManager, string path);
public virtual bool ShouldRemoveItemAtUrl (NSFileManager fileManager, NSUrl url);

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 methods:

public virtual void AccommodatePresentedItemDeletion (System.Action<NSError> completionHandler);
public virtual void AccommodatePresentedSubitemDeletion (NSUrl url, System.Action<NSError> completionHandler);
public virtual void PresentedItemChanged ();
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.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.INSXpcListenerDelegate

Added method:

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

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 NSStringEncoding? CharacterEncoding { get; set; }
public float? CocoaVersion { get; set; }
public NSAttributedStringDocumentAttributes DefaultAttributes { get; set; }
public UIKit.NSTextScalingType? SourceTextScaling { get; set; }
public UIKit.NSTextScalingType? TextScaling { 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.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.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 properties:

public static NSString DirectoryEntryCountKey { get; }
public static NSString FileProtectionCompleteWhenUserInactive { 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.NSUserDefaults

Added properties:

public static NSString CompletedInitialSyncNotification { get; }
public static NSString DidChangeAccountsNotification { get; }
public static NSString SizeLimitExceededNotification { get; }

Type Changed: Foundation.NSUserDefaults.Notifications

Added methods:

public static NSObject ObserveCompletedInitialSync (System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveCompletedInitialSync (NSObject objectToObserve, System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveDidChangeAccounts (System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveDidChangeAccounts (NSObject objectToObserve, System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveSizeLimitExceeded (System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveSizeLimitExceeded (NSObject objectToObserve, System.EventHandler<NSNotificationEventArgs> handler);

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 ()

Type Changed: GLKit.IGLKViewControllerDelegate

Modified methods:

-public abstract void Update (GLKViewController controller)
+public virtual void Update (GLKViewController controller)

Added method:

public virtual void WillPause (GLKViewController controller, bool pause);

Type Changed: GLKit.IGLKViewDelegate

Modified methods:

-public abstract void DrawInRect (GLKView view, CoreGraphics.CGRect rect)
+public virtual void DrawInRect (GLKView view, CoreGraphics.CGRect rect)

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 UIKit.UIViewController 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 UIKit.UIViewController 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 UIKit.UIViewController 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 UIKit.UIViewController 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.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.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.IGKGameSessionSharingViewControllerDelegate

Modified methods:

-public abstract void DidFinish (GKGameSessionSharingViewController viewController, Foundation.NSError error)
+public virtual void DidFinish (GKGameSessionSharingViewController viewController, Foundation.NSError error)

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

Added methods:

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 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 GetMatchProperties (GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler);
public virtual void HostedPlayerDidAccept (GKMatchmakerViewController viewController, GKPlayer playerID);

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)

New Type: GameKit.GKChallengeComposeControllerResult

public class GKChallengeComposeControllerResult {
	// constructors
	public GKChallengeComposeControllerResult (UIKit.UIViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers);
	// properties
	public UIKit.UIViewController 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 (UIKit.UIViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (UIKit.UIViewController 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 HomeKit

Type Changed: HomeKit.HMError

Added value:

PartialCommunicationFailure = 104,

Type Changed: HomeKit.IHMAccessoryDelegate

Added methods:

public virtual void DidAddProfile (HMAccessory accessory, HMAccessoryProfile profile);
public virtual void DidRemoveProfile (HMAccessory accessory, HMAccessoryProfile profile);
public virtual void DidUpdateAssociatedServiceType (HMAccessory accessory, HMService service);
public virtual void DidUpdateFirmwareVersion (HMAccessory accessory, string firmwareVersion);
public virtual void DidUpdateName (HMAccessory accessory);
public virtual void DidUpdateNameForService (HMAccessory accessory, HMService service);
public virtual void DidUpdateReachability (HMAccessory accessory);
public virtual void DidUpdateServices (HMAccessory accessory);
public virtual void DidUpdateValueForCharacteristic (HMAccessory accessory, HMService service, HMCharacteristic characteristic);

Type Changed: HomeKit.IHMCameraSnapshotControlDelegate

Added methods:

public virtual void DidTakeSnapshot (HMCameraSnapshotControl cameraSnapshotControl, HMCameraSnapshot snapshot, Foundation.NSError error);
public virtual void DidUpdateMostRecentSnapshot (HMCameraSnapshotControl cameraSnapshotControl);

Type Changed: HomeKit.IHMCameraStreamControlDelegate

Added methods:

public virtual void DidStartStream (HMCameraStreamControl cameraStreamControl);
public virtual void DidStopStream (HMCameraStreamControl cameraStreamControl, Foundation.NSError error);

Type Changed: HomeKit.IHMHomeDelegate

Added methods:

public virtual void DidAddAccessory (HMHome home, HMAccessory accessory);
public virtual void DidAddActionSet (HMHome home, HMActionSet actionSet);
public virtual void DidAddRoom (HMHome home, HMRoom room);
public virtual void DidAddRoomToZone (HMHome home, HMRoom room, HMZone zone);
public virtual void DidAddService (HMHome home, HMService service, HMServiceGroup group);
public virtual void DidAddServiceGroup (HMHome home, HMServiceGroup group);
public virtual void DidAddTrigger (HMHome home, HMTrigger trigger);
public virtual void DidAddUser (HMHome home, HMUser user);
public virtual void DidAddZone (HMHome home, HMZone zone);
public virtual void DidEncounterError (HMHome home, Foundation.NSError error, HMAccessory accessory);
public virtual void DidRemoveAccessory (HMHome home, HMAccessory accessory);
public virtual void DidRemoveActionSet (HMHome home, HMActionSet actionSet);
public virtual void DidRemoveRoom (HMHome home, HMRoom room);
public virtual void DidRemoveRoomFromZone (HMHome home, HMRoom room, HMZone zone);
public virtual void DidRemoveService (HMHome home, HMService service, HMServiceGroup group);
public virtual void DidRemoveServiceGroup (HMHome home, HMServiceGroup group);
public virtual void DidRemoveTrigger (HMHome home, HMTrigger trigger);
public virtual void DidRemoveUser (HMHome home, HMUser user);
public virtual void DidRemoveZone (HMHome home, HMZone zone);
public virtual void DidUnblockAccessory (HMHome home, HMAccessory accessory);
public virtual void DidUpdateAccessControlForCurrentUser (HMHome home);
public virtual void DidUpdateActionsForActionSet (HMHome home, HMActionSet actionSet);
public virtual void DidUpdateHomeHubState (HMHome home, HMHomeHubState homeHubState);
public virtual void DidUpdateNameForActionSet (HMHome home, HMActionSet actionSet);
public virtual void DidUpdateNameForHome (HMHome home);
public virtual void DidUpdateNameForRoom (HMHome home, HMRoom room);
public virtual void DidUpdateNameForServiceGroup (HMHome home, HMServiceGroup group);
public virtual void DidUpdateNameForTrigger (HMHome home, HMTrigger trigger);
public virtual void DidUpdateNameForZone (HMHome home, HMZone zone);
public virtual void DidUpdateRoom (HMHome home, HMRoom room, HMAccessory accessory);
public virtual void DidUpdateSupportedFeatures (HMHome home);
public virtual void DidUpdateTrigger (HMHome home, HMTrigger trigger);

Type Changed: HomeKit.IHMHomeManagerDelegate

Added methods:

public virtual void DidAddHome (HMHomeManager manager, HMHome home);
public virtual void DidRemoveHome (HMHomeManager manager, HMHome home);
public virtual void DidUpdateAuthorizationStatus (HMHomeManager manager, HMHomeManagerAuthorizationStatus status);
public virtual void DidUpdateHomes (HMHomeManager manager);
public virtual void DidUpdatePrimaryHome (HMHomeManager manager);

Type Changed: HomeKit.IHMNetworkConfigurationProfileDelegate

Added method:

public virtual void DidUpdateNetworkAccessMode (HMNetworkConfigurationProfile profile);

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 Intents

Type Changed: Intents.IINAddMediaIntentHandling

Modified methods:

-public abstract void HandleAddMedia (INAddMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INAddMediaIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleAddMedia (INAddMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INAddMediaIntentResponse%GREATERTHANREPLACEMENT% completion)

Added methods:

public virtual void Confirm (INAddMediaIntent intent, System.Action<INAddMediaIntentResponse> completion);
public virtual void ResolveMediaDestination (INAddMediaIntent intent, System.Action<INAddMediaMediaDestinationResolutionResult> completion);
public virtual void ResolveMediaItems (INAddMediaIntent intent, System.Action<INAddMediaMediaItemResolutionResult[]> completion);

Type Changed: Intents.IINIntentHandlerProviding

Modified methods:

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

Type Changed: Intents.IINPlayMediaIntentHandling

Modified methods:

-public abstract void HandlePlayMedia (INPlayMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INPlayMediaIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandlePlayMedia (INPlayMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INPlayMediaIntentResponse%GREATERTHANREPLACEMENT% completion)

Added methods:

public virtual void Confirm (INPlayMediaIntent intent, System.Action<INPlayMediaIntentResponse> completion);
public virtual void ResolveMediaItems (INPlayMediaIntent intent, System.Action<Foundation.NSArray<INPlayMediaMediaItemResolutionResult>> completion);
public virtual void ResolvePlayShuffled (INPlayMediaIntent intent, System.Action<INBooleanResolutionResult> completion);
public virtual void ResolvePlaybackQueueLocation (INPlayMediaIntent intent, System.Action<INPlaybackQueueLocationResolutionResult> completion);
public virtual void ResolvePlaybackRepeatMode (INPlayMediaIntent intent, System.Action<INPlaybackRepeatModeResolutionResult> completion);
public virtual void ResolvePlaybackSpeed (INPlayMediaIntent intent, System.Action<INPlayMediaPlaybackSpeedResolutionResult> completion);
public virtual void ResolveResumePlayback (INPlayMediaIntent intent, System.Action<INBooleanResolutionResult> completion);

Type Changed: Intents.IINSearchForMediaIntentHandling

Modified methods:

-public abstract void HandleSearch (INSearchForMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForMediaIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleSearch (INSearchForMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForMediaIntentResponse%GREATERTHANREPLACEMENT% completion)

Added methods:

public virtual void Confirm (INSearchForMediaIntent intent, System.Action<INSearchForMediaIntentResponse> completion);
public virtual void ResolveMediaItems (INSearchForMediaIntent intent, System.Action<INSearchForMediaMediaItemResolutionResult[]> 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.IINUpdateMediaAffinityIntentHandling

Modified methods:

-public abstract void HandleUpdateMediaAffinity (INUpdateMediaAffinityIntent intent, System.Action%LESSERTHANREPLACEMENT%INUpdateMediaAffinityIntentResponse%GREATERTHANREPLACEMENT% completion)
+public virtual void HandleUpdateMediaAffinity (INUpdateMediaAffinityIntent intent, System.Action%LESSERTHANREPLACEMENT%INUpdateMediaAffinityIntentResponse%GREATERTHANREPLACEMENT% completion)

Added methods:

public virtual void Confirm (INUpdateMediaAffinityIntent intent, System.Action<INUpdateMediaAffinityIntentResponse> completion);
public virtual void ResolveAffinityType (INUpdateMediaAffinityIntent intent, System.Action<INMediaAffinityTypeResolutionResult> completion);
public virtual void ResolveMediaItems (INUpdateMediaAffinityIntent intent, System.Action<Foundation.NSArray<INUpdateMediaAffinityMediaItemResolutionResult>> completion);

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

Added methods:

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

Namespace MediaPlayer

Type Changed: MediaPlayer.IMPMediaPlayback

Modified properties:

-public abstract float CurrentPlaybackRate { get; set; }
+public virtual float CurrentPlaybackRate { get; set; }
-public abstract double CurrentPlaybackTime { get; set; }
+public virtual double CurrentPlaybackTime { get; set; }
-public abstract bool IsPreparedToPlay { get; }
+public virtual bool IsPreparedToPlay { get; }

Modified methods:

-public abstract void BeginSeekingBackward ()
+public virtual void BeginSeekingBackward ()
-public abstract void BeginSeekingForward ()
+public virtual void BeginSeekingForward ()
-public abstract void EndSeeking ()
+public virtual void EndSeeking ()
-public abstract void Pause ()
+public virtual void Pause ()
-public abstract void Play ()
+public virtual void Play ()
-public abstract void PrepareToPlay ()
+public virtual void PrepareToPlay ()
-public abstract void Stop ()
+public virtual void Stop ()

Type Changed: MediaPlayer.IMPNowPlayingSessionDelegate

Added methods:

public virtual void DidChangeActive (MPNowPlayingSession nowPlayingSession);
public virtual void DidChangeCanBecomeActive (MPNowPlayingSession nowPlayingSession);

Namespace Metal

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 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 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)

Added methods:

public virtual void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr index);
public virtual void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr index);
public virtual void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range);
public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr index);
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 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; }

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 IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset, UIntPtr bytesPerRow)
+public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset, UIntPtr bytesPerRow)
-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 bool RetainedReferences { get; }
+public virtual bool RetainedReferences { get; }
-public abstract MTLCommandBufferStatus Status { get; }
+public virtual MTLCommandBufferStatus Status { get; }

Added property:

public virtual IMTLResourceStateCommandEncoder ResourceStateCommandEncoder { 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 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 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 methods:

public virtual IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder ();
public virtual IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (MTLAccelerationStructurePassDescriptor descriptor);
public virtual IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (MTLResourceStatePassDescriptor resourceStatePassDescriptor);

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 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 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 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 SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex);
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);
public virtual void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex);
public virtual void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range);
public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr bufferIndex);
public virtual void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range);

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 UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions)
+public virtual UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions)

Added methods:

public virtual IMTLComputePipelineState CreateComputePipelineState (IMTLFunction[] functions, out Foundation.NSError error);
public virtual IMTLFunctionHandle CreateFunctionHandle (IMTLFunction function);
public virtual IMTLIntersectionFunctionTable CreateIntersectionFunctionTable (MTLIntersectionFunctionTableDescriptor descriptor);
public virtual IMTLVisibleFunctionTable CreateVisibleFunctionTable (MTLVisibleFunctionTableDescriptor descriptor);

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 IMTLCounterSet[] CounterSets { get; }
+public virtual IMTLCounterSet[] CounterSets { get; }
-public abstract UIntPtr CurrentAllocatedSize { get; }
+public virtual UIntPtr CurrentAllocatedSize { get; }
-public abstract bool HasUnifiedMemory { get; }
+public virtual bool HasUnifiedMemory { 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 string Name { get; }
+public virtual string Name { 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 RegistryId { get; }
+public virtual ulong RegistryId { get; }
-public abstract bool SupportsDynamicLibraries { get; }
+public virtual bool SupportsDynamicLibraries { get; }
-public abstract bool SupportsPullModelInterpolation { get; }
+public virtual bool SupportsPullModelInterpolation { get; }
-public abstract bool SupportsRenderDynamicLibraries { get; }
+public virtual bool SupportsRenderDynamicLibraries { get; }

Added properties:

public virtual MTLArchitecture Architecture { get; }
public virtual ulong RecommendedMaxWorkingSetSize { get; }
public virtual UIntPtr SparseTileSizeInBytes { get; }
public virtual bool Supports32BitFloatFiltering { get; }
public virtual bool Supports32BitMsaa { get; }
public virtual bool SupportsBCTextureCompression { get; }
public virtual bool SupportsFunctionPointers { get; }
public virtual bool SupportsFunctionPointersFromRender { get; }
public virtual bool SupportsPrimitiveMotionBlur { get; }
public virtual bool SupportsQueryTextureLod { get; }
public virtual bool SupportsRaytracing { get; }
public virtual bool SupportsRaytracingFromRender { get; }
public virtual bool SupportsShaderBarycentricCoordinates { get; }

Modified methods:

-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 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 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 SupportsTextureSampleCount (UIntPtr sampleCount)
+public virtual bool SupportsTextureSampleCount (UIntPtr sampleCount)

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 IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor);
public virtual IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size);
public virtual MTLAccelerationStructureSizes CreateAccelerationStructureSizes (MTLAccelerationStructureDescriptor descriptor);
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 IMTLRasterizationRateMap CreateRasterizationRateMap (MTLRasterizationRateMapDescriptor descriptor);
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);
public virtual MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount, MTLSparsePageSize sparsePageSize);
public virtual UIntPtr GetSparseTileSizeInBytes (MTLSparsePageSize sparsePageSize);
public virtual bool SupportsRasterizationRateMap (UIntPtr layerCount);
public virtual bool SupportsVertexAmplification (UIntPtr count);

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

Added property:

public virtual MTLFunctionOptions Options { 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.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.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)

Added methods:

public virtual System.Threading.Tasks.Task<IMTLFunction> CreateFunctionAsync (string name, MTLFunctionConstantValues constantValues);
public virtual void CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, System.Action<IMTLFunction,Foundation.NSError> completionHandler);
public virtual IMTLFunction CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, out Foundation.NSError error);

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.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 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 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 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 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 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 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 SetTriangleFillMode (MTLTriangleFillMode fillMode)
+public virtual void SetTriangleFillMode (MTLTriangleFillMode fillMode)
-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 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 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 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 MemoryBarrier (MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before);
public virtual void MemoryBarrier (IMTLResource[] resources, UIntPtr count, MTLRenderStages after, MTLRenderStages before);
public virtual void SetFragmentAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex);
public virtual void SetFragmentIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex);
public virtual void SetFragmentIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
public virtual void SetFragmentVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex);
public virtual void SetFragmentVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);
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 SetTileAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex);
public virtual void SetTileIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex);
public virtual void SetTileIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
public virtual void SetTileVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex);
public virtual void SetTileVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);
public virtual void SetVertexAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex);
public virtual void SetVertexAmplificationCount (UIntPtr count, MTLVertexAmplificationViewMapping viewMappings);
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);
public virtual void SetVertexIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex);
public virtual void SetVertexIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
public virtual void SetVertexVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex);
public virtual void SetVertexVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);

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 UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions)
+public virtual UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions)

Added methods:

public virtual IMTLFunctionHandle FunctionHandleWithFunction (IMTLFunction function, MTLRenderStages stage);
public virtual IMTLIntersectionFunctionTable NewIntersectionFunctionTableWithDescriptor (MTLIntersectionFunctionTableDescriptor descriptor, MTLRenderStages stage);
public virtual IMTLRenderPipelineState NewRenderPipelineStateWithAdditionalBinaryFunctions (MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions, out Foundation.NSError error);
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.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 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 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.MTLArgumentEncoder_Extensions

Added methods:

public static void SetAccelerationStructure (this IMTLArgumentEncoder This, IMTLAccelerationStructure accelerationStructure, UIntPtr index);
public static void SetIntersectionFunctionTable (this IMTLArgumentEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr index);
public static void SetIntersectionFunctionTables (this IMTLArgumentEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range);
public static void SetVisibleFunctionTable (this IMTLArgumentEncoder This, IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr index);
public static void SetVisibleFunctionTables (this IMTLArgumentEncoder This, IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range);

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

Added properties:

public virtual UIntPtr MaxCallStackDepth { get; set; }
public virtual bool SupportAddingBinaryFunctions { 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 void ConvertSparsePixelRegions (this IMTLDevice This, IntPtr pixelRegions, IntPtr tileRegions, MTLSize tileSize, MTLSparseTextureRegionAlignmentMode mode, UIntPtr numRegions);
public static void ConvertSparseTileRegions (this IMTLDevice This, IntPtr tileRegions, IntPtr pixelRegions, MTLSize tileSize, UIntPtr numRegions);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLDevice This, MTLAccelerationStructureDescriptor descriptor);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLDevice This, UIntPtr size);
public static MTLAccelerationStructureSizes CreateAccelerationStructureSizes (this IMTLDevice This, MTLAccelerationStructureDescriptor descriptor);
public static IMTLArgumentEncoder CreateArgumentEncoder (this IMTLDevice This, IMTLBufferBinding bufferBinding);
public static IMTLRasterizationRateMap CreateRasterizationRateMap (this IMTLDevice This, MTLRasterizationRateMapDescriptor descriptor);
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 MTLSize GetSparseTileSize (this IMTLDevice This, MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount);
public static MTLSize GetSparseTileSize (this IMTLDevice This, MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount, MTLSparsePageSize sparsePageSize);
public static UIntPtr GetSparseTileSizeInBytes (this IMTLDevice This);
public static UIntPtr GetSparseTileSizeInBytes (this IMTLDevice This, MTLSparsePageSize sparsePageSize);
public static bool GetSupports32BitFloatFiltering (this IMTLDevice This);
public static bool GetSupports32BitMsaa (this IMTLDevice This);
public static bool GetSupportsFunctionPointers (this IMTLDevice This);
public static bool GetSupportsFunctionPointersFromRender (this IMTLDevice This);
public static bool GetSupportsPrimitiveMotionBlur (this IMTLDevice This);
public static bool GetSupportsQueryTextureLod (this IMTLDevice This);
public static bool GetSupportsRaytracing (this IMTLDevice This);
public static bool GetSupportsRaytracingFromRender (this IMTLDevice This);
public static bool GetSupportsShaderBarycentricCoordinates (this IMTLDevice This);
public static bool SupportsRasterizationRateMap (this IMTLDevice This, UIntPtr layerCount);
public static bool SupportsVertexAmplification (this IMTLDevice This, UIntPtr count);

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

Added values:

v3_0 = 196608,
v3_1 = 196609,

Type Changed: Metal.MTLLibrary_Extensions

Added methods:

public static void CreateIntersectionFunction (this IMTLLibrary This, MTLIntersectionFunctionDescriptor descriptor, System.Action<IMTLFunction,Foundation.NSError> completionHandler);
public static IMTLFunction CreateIntersectionFunction (this IMTLLibrary This, MTLIntersectionFunctionDescriptor descriptor, out Foundation.NSError error);

Type Changed: Metal.MTLLinkedFunctions

Added property:

public virtual IMTLFunction[] BinaryFunctions { get; set; }

Type Changed: Metal.MTLRenderPassDescriptor

Added property:

public virtual IMTLRasterizationRateMap RasterizationRateMap { get; set; }

Type Changed: Metal.MTLRenderPipelineDescriptor

Added property:

public virtual UIntPtr MaxVertexAmplificationCount { get; set; }

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

Added property:

public virtual MTLSamplerBorderColor BorderColor { get; set; }

Type Changed: Metal.MTLTextureDescriptor

Added property:

public virtual MTLTextureCompressionType CompressionType { get; set; }

Type Changed: Metal.MTLTextureUsage

Added value:

ShaderAtomic = 32,

Type Changed: Metal.MTLTileRenderPipelineDescriptor

Added properties:

public virtual UIntPtr MaxCallStackDepth { get; set; }
public virtual bool SupportAddingBinaryFunctions { get; set; }

Type Changed: Metal.MTLVertexFormat

Added values:

FloatRG11B10 = 54,
FloatRgb9E5 = 55,

New Type: Metal.IMTLAccelerationStructure

public interface IMTLAccelerationStructure : IMTLResource, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual MTLResourceId GpuResourceId { get; }
	public virtual UIntPtr Size { get; }
}

New Type: Metal.IMTLAccelerationStructureCommandEncoder

public interface IMTLAccelerationStructureCommandEncoder : IMTLCommandEncoder, ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void BuildAccelerationStructure (IMTLAccelerationStructure accelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset);
	public virtual void CopyAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure);
	public virtual void CopyAndCompactAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure);
	public virtual 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, MTLAccelerationStructureRefitOptions options);
	public virtual void SampleCountersInBuffer (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier);
	public virtual void UpdateFence (IMTLFence fence);
	public virtual void UseHeap (IMTLHeap heap);
	public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count);
	public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage);
	public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage);
	public virtual void WaitForFence (IMTLFence fence);
	public virtual void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset);
	public virtual void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset, MTLDataType sizeDataType);
}

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

public interface IMTLFunctionHandle : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IMTLDevice Device { get; }
	public virtual MTLFunctionType FunctionType { get; }
	public virtual string Name { get; }
}

New Type: Metal.IMTLIntersectionFunctionTable

public interface IMTLIntersectionFunctionTable : IMTLResource, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual MTLResourceId GpuResourceId { get; }
	// methods
	public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index);
	public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
	public virtual void SetFunction (IMTLFunctionHandle function, UIntPtr index);
	public virtual void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range);
	public virtual void SetOpaqueCurveIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range);
	public virtual void SetOpaqueCurveIntersectionFunction (MTLIntersectionFunctionSignature signature, UIntPtr index);
	public virtual void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range);
	public virtual void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, UIntPtr index);
	public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex);
	public virtual void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange bufferRange);
}

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

public interface IMTLRasterizationRateMap : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IMTLDevice Device { get; }
	public virtual string Label { get; }
	public virtual UIntPtr LayerCount { get; }
	public virtual MTLSizeAndAlign ParameterBufferSizeAndAlign { get; }
	public virtual MTLSize PhysicalGranularity { get; }
	public virtual MTLSize ScreenSize { get; }
	// methods
	public virtual void CopyParameterData (IMTLBuffer buffer, UIntPtr offset);
	public virtual MTLSize GetPhysicalSize (UIntPtr layerIndex);
	public virtual MTLCoordinate2D MapPhysicalToScreenCoordinates (MTLCoordinate2D physicalCoordinates, UIntPtr layerIndex);
	public virtual MTLCoordinate2D MapScreenToPhysicalCoordinates (MTLCoordinate2D screenCoordinates, UIntPtr layerIndex);
}

New Type: Metal.IMTLResourceStateCommandEncoder

public interface IMTLResourceStateCommandEncoder : IMTLCommandEncoder, ObjCRuntime.INativeObject, System.IDisposable {
	// 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);
}

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

public interface IMTLVisibleFunctionTable : IMTLResource, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual MTLResourceId GpuResourceId { get; }
	// methods
	public virtual void SetFunction (IMTLFunctionHandle function, UIntPtr index);
	public virtual void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range);
}

New Type: Metal.MTLAccelerationStructureBoundingBoxGeometryDescriptor

public class MTLAccelerationStructureBoundingBoxGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	protected MTLAccelerationStructureBoundingBoxGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureBoundingBoxGeometryDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual IMTLBuffer BoundingBoxBuffer { get; set; }
	public virtual UIntPtr BoundingBoxBufferOffset { get; set; }
	public virtual UIntPtr BoundingBoxCount { get; set; }
	public virtual UIntPtr BoundingBoxStride { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static MTLAccelerationStructureBoundingBoxGeometryDescriptor Create ();
}

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

public class MTLAccelerationStructureDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructureDescriptor ();
	protected MTLAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MTLAccelerationStructureUsage Usage { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLAccelerationStructureGeometryDescriptor

public class MTLAccelerationStructureGeometryDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructureGeometryDescriptor ();
	protected MTLAccelerationStructureGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureGeometryDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual bool AllowDuplicateIntersectionFunctionInvocation { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIntPtr IntersectionFunctionTableOffset { get; set; }
	public virtual string Label { get; set; }
	public virtual bool Opaque { get; set; }
	public virtual IMTLBuffer PrimitiveDataBuffer { get; set; }
	public virtual UIntPtr PrimitiveDataBufferOffset { get; set; }
	public virtual UIntPtr PrimitiveDataElementSize { get; set; }
	public virtual UIntPtr PrimitiveDataStride { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLAccelerationStructureInstanceDescriptorType

[Serializable]
public enum MTLAccelerationStructureInstanceDescriptorType {
	Default = 0,
	Indirect = 3,
	IndirectMotion = 4,
	Motion = 2,
	UserID = 1,
}

New Type: Metal.MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor

public class MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor ();
	protected MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual MTLMotionKeyframeData[] BoundingBoxBuffers { get; set; }
	public virtual UIntPtr BoundingBoxCount { get; set; }
	public virtual UIntPtr BoundingBoxStride { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor Create ();
}

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

public class MTLAccelerationStructureMotionTriangleGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureMotionTriangleGeometryDescriptor ();
	protected MTLAccelerationStructureMotionTriangleGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureMotionTriangleGeometryDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IMTLBuffer IndexBuffer { get; set; }
	public virtual UIntPtr IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
	public virtual UIntPtr TransformationMatrixBufferOffset { get; set; }
	public virtual UIntPtr TriangleCount { get; set; }
	public virtual MTLMotionKeyframeData[] VertexBuffers { get; set; }
	public virtual MTLAttributeFormat VertexFormat { get; set; }
	public virtual UIntPtr VertexStride { get; set; }
	// methods
	public static MTLAccelerationStructureMotionTriangleGeometryDescriptor Create ();
}

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

public struct MTLAccelerationStructureSizes {
	// fields
	public UIntPtr AccelerationStructureSize;
	public UIntPtr BuildScratchBufferSize;
	public UIntPtr RefitScratchBufferSize;
}

New Type: Metal.MTLAccelerationStructureTriangleGeometryDescriptor

public class MTLAccelerationStructureTriangleGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureTriangleGeometryDescriptor ();
	protected MTLAccelerationStructureTriangleGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureTriangleGeometryDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IMTLBuffer IndexBuffer { get; set; }
	public virtual UIntPtr IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
	public virtual UIntPtr TransformationMatrixBufferOffset { get; set; }
	public virtual UIntPtr TriangleCount { get; set; }
	public virtual IMTLBuffer VertexBuffer { get; set; }
	public virtual UIntPtr VertexBufferOffset { get; set; }
	public virtual MTLAttributeFormat VertexFormat { get; set; }
	public virtual UIntPtr VertexStride { get; set; }
	// methods
	public static MTLAccelerationStructureTriangleGeometryDescriptor Create ();
}

New Type: Metal.MTLAccelerationStructureUsage

[Serializable]
[Flags]
public enum MTLAccelerationStructureUsage {
	ExtendedLimits = 4,
	None = 0,
	PreferFastBuild = 2,
	Refit = 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.MTLBlitCommandEncoder_Extensions

public static class MTLBlitCommandEncoder_Extensions {
	// methods
	public static void GetTextureAccessCounters (this IMTLBlitCommandEncoder This, IMTLTexture texture, MTLRegion region, UIntPtr mipLevel, UIntPtr slice, bool resetCounters, IMTLBuffer countersBuffer, UIntPtr countersBufferOffset);
	public static void ResetTextureAccessCounters (this IMTLBlitCommandEncoder This, IMTLTexture texture, MTLRegion region, UIntPtr mipLevel, UIntPtr slice);
}

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);
	public static IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (this IMTLCommandBuffer This, MTLAccelerationStructurePassDescriptor descriptor);
	public static IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (this IMTLCommandBuffer This, MTLResourceStatePassDescriptor resourceStatePassDescriptor);
	public static IMTLResourceStateCommandEncoder GetResourceStateCommandEncoder (this IMTLCommandBuffer This);
}

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 SetAccelerationStructure (this IMTLComputeCommandEncoder This, IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex);
	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);
	public static void SetIntersectionFunctionTable (this IMTLComputeCommandEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex);
	public static void SetIntersectionFunctionTables (this IMTLComputeCommandEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range);
	public static void SetVisibleFunctionTable (this IMTLComputeCommandEncoder This, IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr bufferIndex);
	public static void SetVisibleFunctionTables (this IMTLComputeCommandEncoder This, IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range);
}

New Type: Metal.MTLComputePipelineState_Extensions

public static class MTLComputePipelineState_Extensions {
	// methods
	public static IMTLComputePipelineState CreateComputePipelineState (this IMTLComputePipelineState This, IMTLFunction[] functions, out Foundation.NSError error);
	public static IMTLFunctionHandle CreateFunctionHandle (this IMTLComputePipelineState This, IMTLFunction function);
	public static IMTLIntersectionFunctionTable CreateIntersectionFunctionTable (this IMTLComputePipelineState This, MTLIntersectionFunctionTableDescriptor descriptor);
	public static IMTLVisibleFunctionTable CreateVisibleFunctionTable (this IMTLComputePipelineState This, MTLVisibleFunctionTableDescriptor descriptor);
	public static MTLResourceId GetGpuResourceId (this IMTLComputePipelineState This);
}

New Type: Metal.MTLCoordinate2D

public struct MTLCoordinate2D {
	// fields
	public float X;
	public float Y;
}

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

public static class MTLFunction_Extensions {
	// methods
	public static MTLFunctionOptions GetOptions (this IMTLFunction This);
}

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

public class MTLInstanceAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor {
	// constructors
	protected MTLInstanceAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLInstanceAccelerationStructureDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIntPtr InstanceCount { 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 IMTLAccelerationStructure[] InstancedAccelerationStructures { get; set; }
	public virtual IMTLBuffer MotionTransformBuffer { get; set; }
	public virtual UIntPtr MotionTransformBufferOffset { get; set; }
	public virtual UIntPtr MotionTransformCount { get; set; }
	// methods
	public static MTLInstanceAccelerationStructureDescriptor Create ();
}

New Type: Metal.MTLIntersectionFunctionDescriptor

public class MTLIntersectionFunctionDescriptor : Metal.MTLFunctionDescriptor, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLIntersectionFunctionDescriptor (Foundation.NSObjectFlag t);
	protected MTLIntersectionFunctionDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLIntersectionFunctionSignature

[Serializable]
[Flags]
public enum MTLIntersectionFunctionSignature {
	CurveData = 128,
	ExtendedLimits = 32,
	InstanceMotion = 8,
	Instancing = 1,
	MaxLevels = 64,
	None = 0,
	PrimitiveMotion = 16,
	TriangleData = 2,
	WorldSpaceData = 4,
}

New Type: Metal.MTLIntersectionFunctionTableDescriptor

public class MTLIntersectionFunctionTableDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLIntersectionFunctionTableDescriptor (Foundation.NSObjectFlag t);
	protected MTLIntersectionFunctionTableDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIntPtr FunctionCount { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MTLIntersectionFunctionTableDescriptor Create ();
}

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

[Serializable]
public enum MTLMotionBorderMode {
	Clamp = 0,
	Vanish = 1,
}

New Type: Metal.MTLMotionKeyframeData

public class MTLMotionKeyframeData : Foundation.NSObject {
	// constructors
	public MTLMotionKeyframeData ();
	protected MTLMotionKeyframeData (Foundation.NSObjectFlag t);
	protected MTLMotionKeyframeData (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual IMTLBuffer Buffer { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIntPtr Offset { get; set; }
	// methods
	public static MTLMotionKeyframeData Create ();
}

New Type: Metal.MTLPrimitiveAccelerationStructureDescriptor

public class MTLPrimitiveAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor {
	// constructors
	protected MTLPrimitiveAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLPrimitiveAccelerationStructureDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MTLAccelerationStructureGeometryDescriptor[] GeometryDescriptors { get; set; }
	public virtual MTLMotionBorderMode MotionEndBorderMode { get; set; }
	public virtual float MotionEndTime { get; set; }
	public virtual UIntPtr MotionKeyframeCount { get; set; }
	public virtual MTLMotionBorderMode MotionStartBorderMode { get; set; }
	public virtual float MotionStartTime { get; set; }
	// methods
	public static MTLPrimitiveAccelerationStructureDescriptor Create ();
}

New Type: Metal.MTLRasterizationRateLayerArray

public class MTLRasterizationRateLayerArray : Foundation.NSObject {
	// constructors
	public MTLRasterizationRateLayerArray ();
	protected MTLRasterizationRateLayerArray (Foundation.NSObjectFlag t);
	protected MTLRasterizationRateLayerArray (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual MTLRasterizationRateLayerDescriptor GetObject (UIntPtr layerIndex);
	public virtual void SetObject (MTLRasterizationRateLayerDescriptor layer, UIntPtr layerIndex);
}

New Type: Metal.MTLRasterizationRateLayerDescriptor

public class MTLRasterizationRateLayerDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLRasterizationRateLayerDescriptor (Foundation.NSObjectFlag t);
	public MTLRasterizationRateLayerDescriptor (MTLSize sampleCount);
	protected MTLRasterizationRateLayerDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MTLRasterizationRateSampleArray Horizontal { get; }
	public virtual MTLSize MaxSampleCount { get; }
	public virtual MTLSize SampleCount { get; set; }
	public virtual MTLRasterizationRateSampleArray Vertical { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLRasterizationRateMapDescriptor

public class MTLRasterizationRateMapDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLRasterizationRateMapDescriptor ();
	protected MTLRasterizationRateMapDescriptor (Foundation.NSObjectFlag t);
	protected MTLRasterizationRateMapDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string Label { get; set; }
	public virtual UIntPtr LayerCount { get; }
	public virtual MTLRasterizationRateLayerArray Layers { get; }
	public virtual MTLSize ScreenSize { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MTLRasterizationRateMapDescriptor Create (MTLSize screenSize);
	public static MTLRasterizationRateMapDescriptor Create (MTLSize screenSize, MTLRasterizationRateLayerDescriptor layer);
	public static MTLRasterizationRateMapDescriptor Create (MTLSize screenSize, UIntPtr layerCount, out MTLRasterizationRateLayerDescriptor layers);
	public virtual MTLRasterizationRateLayerDescriptor GetLayer (UIntPtr layerIndex);
	public virtual void SetLayer (MTLRasterizationRateLayerDescriptor layer, UIntPtr layerIndex);
}

New Type: Metal.MTLRasterizationRateSampleArray

public class MTLRasterizationRateSampleArray : Foundation.NSObject {
	// constructors
	public MTLRasterizationRateSampleArray ();
	protected MTLRasterizationRateSampleArray (Foundation.NSObjectFlag t);
	protected MTLRasterizationRateSampleArray (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual Foundation.NSNumber GetObject (UIntPtr index);
	public virtual void SetObject (Foundation.NSNumber value, UIntPtr index);
}

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 MemoryBarrier (this IMTLRenderCommandEncoder This, MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before);
	public static void MemoryBarrier (this IMTLRenderCommandEncoder This, IMTLResource[] resources, UIntPtr count, MTLRenderStages after, MTLRenderStages before);
	public static void SetFragmentAccelerationStructure (this IMTLRenderCommandEncoder This, IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex);
	public static void SetFragmentIntersectionFunctionTable (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex);
	public static void SetFragmentIntersectionFunctionTables (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
	public static void SetFragmentVisibleFunctionTable (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex);
	public static void SetFragmentVisibleFunctionTables (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);
	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 SetTileAccelerationStructure (this IMTLRenderCommandEncoder This, IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex);
	public static void SetTileIntersectionFunctionTable (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex);
	public static void SetTileIntersectionFunctionTables (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
	public static void SetTileVisibleFunctionTable (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex);
	public static void SetTileVisibleFunctionTables (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);
	public static void SetVertexAccelerationStructure (this IMTLRenderCommandEncoder This, IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex);
	public static void SetVertexAmplificationCount (this IMTLRenderCommandEncoder This, UIntPtr count, MTLVertexAmplificationViewMapping viewMappings);
	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);
	public static void SetVertexIntersectionFunctionTable (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex);
	public static void SetVertexIntersectionFunctionTables (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
	public static void SetVertexVisibleFunctionTable (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex);
	public static void SetVertexVisibleFunctionTables (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);
}

New Type: Metal.MTLRenderPipelineFunctionsDescriptor

public class MTLRenderPipelineFunctionsDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLRenderPipelineFunctionsDescriptor ();
	protected MTLRenderPipelineFunctionsDescriptor (Foundation.NSObjectFlag t);
	protected MTLRenderPipelineFunctionsDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IMTLFunction[] FragmentAdditionalBinaryFunctions { get; set; }
	public virtual IMTLFunction[] TileAdditionalBinaryFunctions { get; set; }
	public virtual IMTLFunction[] VertexAdditionalBinaryFunctions { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLRenderPipelineState_Extensions

public static class MTLRenderPipelineState_Extensions {
	// methods
	public static IMTLFunctionHandle FunctionHandleWithFunction (this IMTLRenderPipelineState This, IMTLFunction function, MTLRenderStages stage);
	public static UIntPtr GetMaxTotalThreadsPerMeshThreadgroup (this IMTLRenderPipelineState This);
	public static UIntPtr GetMaxTotalThreadsPerObjectThreadgroup (this IMTLRenderPipelineState This);
	public static UIntPtr GetObjectThreadExecutionWidth (this IMTLRenderPipelineState This);
	public static IMTLIntersectionFunctionTable NewIntersectionFunctionTableWithDescriptor (this IMTLRenderPipelineState This, MTLIntersectionFunctionTableDescriptor descriptor, MTLRenderStages stage);
	public static IMTLRenderPipelineState NewRenderPipelineStateWithAdditionalBinaryFunctions (this IMTLRenderPipelineState This, MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions, out Foundation.NSError error);
	public static IMTLVisibleFunctionTable NewVisibleFunctionTableWithDescriptor (this IMTLRenderPipelineState This, MTLVisibleFunctionTableDescriptor descriptor, MTLRenderStages stage);
}

New Type: Metal.MTLResourceId

public struct MTLResourceId {
	// fields
	public ulong Impl;
}

New Type: Metal.MTLResourceStateCommandEncoder_Extensions

public static class MTLResourceStateCommandEncoder_Extensions {
	// methods
	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);
}

New Type: Metal.MTLResourceStatePassDescriptor

public class MTLResourceStatePassDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLResourceStatePassDescriptor (Foundation.NSObjectFlag t);
	protected MTLResourceStatePassDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MTLResourceStatePassSampleBufferAttachmentDescriptorArray SampleBufferAttachments { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MTLResourceStatePassDescriptor Create ();
}

New Type: Metal.MTLResourceStatePassSampleBufferAttachmentDescriptor

public class MTLResourceStatePassSampleBufferAttachmentDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLResourceStatePassSampleBufferAttachmentDescriptor ();
	protected MTLResourceStatePassSampleBufferAttachmentDescriptor (Foundation.NSObjectFlag t);
	protected MTLResourceStatePassSampleBufferAttachmentDescriptor (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.MTLResourceStatePassSampleBufferAttachmentDescriptorArray

public class MTLResourceStatePassSampleBufferAttachmentDescriptorArray : Foundation.NSObject {
	// constructors
	public MTLResourceStatePassSampleBufferAttachmentDescriptorArray ();
	protected MTLResourceStatePassSampleBufferAttachmentDescriptorArray (Foundation.NSObjectFlag t);
	protected MTLResourceStatePassSampleBufferAttachmentDescriptorArray (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual MTLResourceStatePassSampleBufferAttachmentDescriptor GetObject (UIntPtr attachmentIndex);
	public virtual void SetObject (MTLResourceStatePassSampleBufferAttachmentDescriptor attachment, UIntPtr attachmentIndex);
}

New Type: Metal.MTLSamplerBorderColor

[Serializable]
public enum MTLSamplerBorderColor {
	OpaqueBlack = 1,
	OpaqueWhite = 2,
	TransparentBlack = 0,
}

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

[Serializable]
[Flags]
public enum MTLSparseTextureMappingMode {
	Map = 0,
	Unmap = 1,
}

New Type: Metal.MTLSparseTextureRegionAlignmentMode

[Serializable]
[Flags]
public enum MTLSparseTextureRegionAlignmentMode {
	Inward = 1,
	Outward = 0,
}

New Type: Metal.MTLTextureCompressionType

[Serializable]
public enum MTLTextureCompressionType {
	Lossless = 0,
	Lossy = 1,
}

New Type: Metal.MTLTexture_Extensions

public static class MTLTexture_Extensions {
	// methods
	public static MTLTextureCompressionType GetCompressionType (this IMTLTexture This);
	public static MTLResourceId GetGpuResourceId (this IMTLTexture This);
	public static bool GetIsSparse (this IMTLTexture This);
	public static UIntPtr GetTailSizeInBytes (this IMTLTexture This);
}

New Type: Metal.MTLVertexAmplificationViewMapping

public struct MTLVertexAmplificationViewMapping {
	// fields
	public uint RenderTargetArrayIndexOffset;
	public uint ViewportArrayIndexOffset;
}

New Type: Metal.MTLVisibleFunctionTableDescriptor

public class MTLVisibleFunctionTableDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLVisibleFunctionTableDescriptor (Foundation.NSObjectFlag t);
	protected MTLVisibleFunctionTableDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIntPtr FunctionCount { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MTLVisibleFunctionTableDescriptor Create ();
}

New Type: Metal.MTLVisibleFunctionTable_Extensions

public static class MTLVisibleFunctionTable_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLVisibleFunctionTable This);
}

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 property:

public virtual Metal.IMTLResourceStateCommandEncoder ResourceStateCommandEncoder { get; }

Added methods:

public virtual Metal.IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder ();
public virtual Metal.IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (Metal.MTLAccelerationStructurePassDescriptor descriptor);
public virtual Metal.IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (Metal.MTLResourceStatePassDescriptor resourceStatePassDescriptor);

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

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 = "17.2";
+public const string SdkVersion = "17.5";
-public const string Version = "17.2.0";
+public const string Version = "17.5.0";

Added fields:

public static const string CoreMidiLibrary = "/System/Library/Frameworks/CoreMIDI.framework/CoreMIDI";
public static const string CryptoTokenKitLibrary = "/System/Library/Frameworks/CryptoTokenKit.framework/CryptoTokenKit";
public static const string DeviceDiscoveryUILibrary = "/System/Library/Frameworks/DeviceDiscoveryUI.framework/DeviceDiscoveryUI";

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 OpenGLES

Type Changed: OpenGLES.IEAGLDrawable

Modified properties:

-public abstract Foundation.NSDictionary DrawableProperties { get; set; }
+public virtual Foundation.NSDictionary DrawableProperties { get; set; }

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

Added methods:

public virtual bool CanBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);
public virtual void DidEndPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);
public virtual double GetExtraMinimumTouchDuration (PHLivePhotoView livePhotoView, UIKit.UITouch touch, PHLivePhotoViewPlaybackStyle playbackStyle);
public virtual void WillBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);

Namespace ReplayKit

Type Changed: ReplayKit.IRPBroadcastActivityViewControllerDelegate

Modified methods:

-public abstract void DidFinish (RPBroadcastActivityViewController broadcastActivityViewController, RPBroadcastController broadcastController, Foundation.NSError error)
+public virtual void DidFinish (RPBroadcastActivityViewController broadcastActivityViewController, 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 method:

public virtual void DidFinish (RPPreviewViewController previewController);

Type Changed: ReplayKit.IRPScreenRecorderDelegate

Added methods:

public virtual void DidChangeAvailability (RPScreenRecorder screenRecorder);
public virtual void DidStopRecording (RPScreenRecorder screenRecorder, Foundation.NSError error, RPPreviewViewController previewViewController);
public virtual void DidStopRecording (RPScreenRecorder screenRecorder, RPPreviewViewController previewViewController, Foundation.NSError error);

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 method:

public virtual void HandleError (SCNProgram program, Foundation.NSError error);

Type Changed: SceneKit.ISCNSceneExportDelegate

Added method:

public virtual Foundation.NSUrl WriteImage (UIKit.UIImage 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 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 SharedWithYou

Type Changed: SharedWithYou.ISWHighlightCenterDelegate

Modified methods:

-public abstract void HighlightsDidChange (SWHighlightCenter highlightCenter)
+public virtual void HighlightsDidChange (SWHighlightCenter highlightCenter)

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

Namespace TVMLKit

Type Changed: TVMLKit.ITVApplicationControllerDelegate

Added methods:

public virtual void DidFail (TVApplicationController appController, Foundation.NSError error);
public virtual void DidFinishLaunching (TVApplicationController appController, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
public virtual void DidStop (TVApplicationController appController, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
public virtual void EvaluateAppJavaScript (TVApplicationController appController, JavaScriptCore.JSContext jsContext);
public virtual TVPlayer GetPlayer (TVApplicationController appController);

Type Changed: TVMLKit.ITVBrowserViewControllerDataSource

Modified methods:

-public abstract TVDocumentViewController GetCorrespondingDocumentViewController (TVBrowserViewController browserViewController, TVViewElement viewElement)
+public virtual TVDocumentViewController GetCorrespondingDocumentViewController (TVBrowserViewController browserViewController, TVViewElement viewElement)

Type Changed: TVMLKit.ITVBrowserViewControllerDelegate

Added methods:

public virtual void DidCenterOnViewElement (TVBrowserViewController browserViewController, TVViewElement viewElement);
public virtual void WillCenterOnViewElement (TVBrowserViewController browserViewController, TVViewElement viewElement);

Type Changed: TVMLKit.ITVDocumentViewControllerDelegate

Added methods:

public virtual void DidFailUpdate (TVDocumentViewController documentViewController, Foundation.NSError error);
public virtual void DidUpdate (TVDocumentViewController documentViewController);
public virtual void DidUpdate (TVDocumentViewController documentViewController, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> context);
public virtual bool HandleEvent (TVDocumentViewController documentViewController, Foundation.NSString event, TVViewElement element);
public virtual void WillUpdate (TVDocumentViewController documentViewController);

Type Changed: TVMLKit.ITVInterfaceCreating

Added methods:

public virtual ObjCRuntime.Class GetCollectionViewCellClass (TVViewElement element);
public virtual UIKit.UIImage GetImageForResource (string resourceName);
public virtual UIKit.UIViewController GetPlayerViewController (TVPlayer player);
public virtual Foundation.NSUrl GetUrlForResource (string resourceName);
public virtual UIKit.UIViewController GetViewControllerForElement (TVViewElement element, UIKit.UIViewController existingViewController);
public virtual UIKit.UIView GetViewForElement (TVViewElement element, UIKit.UIView existingView);

Type Changed: TVMLKit.ITVPlaybackEventMarshaling

Modified properties:

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

Added method:

public virtual void ProcessReturn (JavaScriptCore.JSValue value, JavaScriptCore.JSContext jsContext);

Namespace TVServices

Type Changed: TVServices.ITVTopShelfProvider

Modified properties:

-public abstract TVContentItem[] TopShelfItems { get; }
+public virtual TVContentItem[] TopShelfItems { get; }
-public abstract TVTopShelfContentStyle TopShelfStyle { get; }
+public virtual TVTopShelfContentStyle TopShelfStyle { get; }

Namespace TVUIKit

Type Changed: TVUIKit.ITVCollectionViewDelegateFullScreenLayout

Added methods:

public virtual void DidCenterCell (UIKit.UICollectionView collectionView, UIKit.UICollectionViewLayout collectionViewLayout, Foundation.NSIndexPath indexPath);
public virtual void WillCenterCell (UIKit.UICollectionView collectionView, UIKit.UICollectionViewLayout collectionViewLayout, Foundation.NSIndexPath indexPath);

Type Changed: TVUIKit.ITVLockupViewComponent

Added method:

public virtual void UpdateAppearanceForLockupView (UIKit.UIControlState state);

Namespace UIKit

Type Changed: UIKit.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: UIKit.INSCollectionLayoutEnvironment

Modified properties:

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

Type Changed: UIKit.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 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 UICollectionElementCategory RepresentedElementCategory { get; }
+public virtual UICollectionElementCategory RepresentedElementCategory { get; }
-public abstract string RepresentedElementKind { get; }
+public virtual string RepresentedElementKind { get; }
-public abstract CoreAnimation.CATransform3D Transform3D { get; set; }
+public virtual CoreAnimation.CATransform3D Transform3D { get; set; }
-public abstract IntPtr ZIndex { get; set; }
+public virtual IntPtr ZIndex { get; set; }

Type Changed: UIKit.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, UIFont 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);

Type Changed: UIKit.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 UIImage GetImageForBounds (CoreGraphics.CGRect bounds, NSTextContainer textContainer, UIntPtr characterIndex)
+public virtual UIImage GetImageForBounds (CoreGraphics.CGRect bounds, NSTextContainer textContainer, UIntPtr characterIndex)

Type Changed: UIKit.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 UIImage GetImageForBounds (CoreGraphics.CGRect bounds, Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer)
+public virtual UIImage GetImageForBounds (CoreGraphics.CGRect bounds, Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer)
-public abstract NSTextAttachmentViewProvider GetViewProvider (UIView parentView, INSTextLocation location, NSTextContainer textContainer)
+public virtual NSTextAttachmentViewProvider GetViewProvider (UIView parentView, INSTextLocation location, NSTextContainer textContainer)

Type Changed: UIKit.INSTextContentManagerDelegate

Added methods:

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

Type Changed: UIKit.INSTextContentStorageDelegate

Added method:

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

Type Changed: UIKit.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: UIKit.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: UIKit.INSTextLayoutOrientationProvider

Modified properties:

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

Type Changed: UIKit.INSTextLocation

Modified methods:

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

Type Changed: UIKit.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: UIKit.INSTextStorageDelegate

Added methods:

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

Type Changed: UIKit.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: UIKit.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: UIKit.IUIAccessibilityContainer

Added property:

public virtual UIAccessibilityContainerType AccessibilityContainerType { get; set; }

Added methods:

public virtual IntPtr AccessibilityElementCount ();
public virtual Foundation.NSObject GetAccessibilityElementAt (IntPtr index);
public virtual Foundation.NSObject GetAccessibilityElements ();
public virtual IntPtr GetIndexOfAccessibilityElement (Foundation.NSObject element);
public virtual void SetAccessibilityElements (Foundation.NSObject elements);

Type Changed: UIKit.IUIAccessibilityContainerDataTable

Modified properties:

-public abstract UIntPtr AccessibilityColumnCount { get; }
+public virtual UIntPtr AccessibilityColumnCount { get; }
-public abstract UIntPtr AccessibilityRowCount { get; }
+public virtual UIntPtr AccessibilityRowCount { get; }

Modified methods:

-public abstract IUIAccessibilityContainerDataTableCell GetAccessibilityDataTableCellElement (UIntPtr row, UIntPtr column)
+public virtual IUIAccessibilityContainerDataTableCell GetAccessibilityDataTableCellElement (UIntPtr row, UIntPtr column)

Added methods:

public virtual IUIAccessibilityContainerDataTableCell[] GetAccessibilityHeaderElementsForColumn (UIntPtr column);
public virtual IUIAccessibilityContainerDataTableCell[] GetAccessibilityHeaderElementsForRow (UIntPtr row);

Type Changed: UIKit.IUIAccessibilityContainerDataTableCell

Modified methods:

-public abstract Foundation.NSRange GetAccessibilityColumnRange ()
+public virtual Foundation.NSRange GetAccessibilityColumnRange ()
-public abstract Foundation.NSRange GetAccessibilityRowRange ()
+public virtual Foundation.NSRange GetAccessibilityRowRange ()

Type Changed: UIKit.IUIAccessibilityContentSizeCategoryImageAdjusting

Modified properties:

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

Type Changed: UIKit.IUIAccessibilityIdentification

Modified properties:

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

Type Changed: UIKit.IUIAccessibilityReadingContent

Modified methods:

-public abstract string GetAccessibilityContent (IntPtr lineNumber)
+public virtual string GetAccessibilityContent (IntPtr lineNumber)
-public abstract CoreGraphics.CGRect GetAccessibilityFrame (IntPtr lineNumber)
+public virtual CoreGraphics.CGRect GetAccessibilityFrame (IntPtr lineNumber)
-public abstract IntPtr GetAccessibilityLineNumber (CoreGraphics.CGPoint point)
+public virtual IntPtr GetAccessibilityLineNumber (CoreGraphics.CGPoint point)
-public abstract string GetAccessibilityPageContent ()
+public virtual string GetAccessibilityPageContent ()

Added methods:

public virtual Foundation.NSAttributedString GetAccessibilityAttributedContent (IntPtr lineNumber);
public virtual Foundation.NSAttributedString GetAccessibilityAttributedPageContent ();

Type Changed: UIKit.IUIAdaptivePresentationControllerDelegate

Added methods:

public virtual void DidAttemptToDismiss (UIPresentationController presentationController);
public virtual void DidDismiss (UIPresentationController presentationController);
public virtual UIModalPresentationStyle GetAdaptivePresentationStyle (UIPresentationController forPresentationController);
public virtual UIModalPresentationStyle GetAdaptivePresentationStyle (UIPresentationController controller, UITraitCollection traitCollection);
public virtual UIViewController GetViewControllerForAdaptivePresentation (UIPresentationController controller, UIModalPresentationStyle style);
public virtual void PrepareAdaptivePresentationController (UIPresentationController presentationController, UIPresentationController adaptivePresentationController);
public virtual bool ShouldDismiss (UIPresentationController presentationController);
public virtual void WillDismiss (UIPresentationController presentationController);
public virtual void WillPresent (UIPresentationController presentationController, UIModalPresentationStyle style, IUIViewControllerTransitionCoordinator transitionCoordinator);

Type Changed: UIKit.IUIApplicationDelegate

Added property:

public virtual UIWindow Window { get; set; }

Added methods:

public virtual void ApplicationSignificantTimeChange (UIApplication application);
public virtual bool ContinueUserActivity (UIApplication application, Foundation.NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler);
public virtual void DidDecodeRestorableState (UIApplication application, Foundation.NSCoder coder);
public virtual void DidDiscardSceneSessions (UIApplication application, Foundation.NSSet<UISceneSession> sceneSessions);
public virtual void DidEnterBackground (UIApplication application);
public virtual void DidFailToContinueUserActivity (UIApplication application, string userActivityType, Foundation.NSError error);
public virtual void DidReceiveRemoteNotification (UIApplication application, Foundation.NSDictionary userInfo, System.Action<UIBackgroundFetchResult> completionHandler);
public virtual void FailedToRegisterForRemoteNotifications (UIApplication application, Foundation.NSError error);
public virtual void FinishedLaunching (UIApplication application);
public virtual bool FinishedLaunching (UIApplication application, Foundation.NSDictionary launchOptions);
public virtual UISceneConfiguration GetConfiguration (UIApplication application, UISceneSession connectingSceneSession, UISceneConnectionOptions options);
public virtual Foundation.NSObject GetHandlerForIntent (UIApplication application, Intents.INIntent intent);
public virtual UIViewController GetViewController (UIApplication application, string[] restorationIdentifierComponents, Foundation.NSCoder coder);
public virtual void HandleEventsForBackgroundUrl (UIApplication application, string sessionIdentifier, System.Action completionHandler);
public virtual void HandleWatchKitExtensionRequest (UIApplication application, Foundation.NSDictionary userInfo, System.Action<Foundation.NSDictionary> reply);
public virtual void OnActivated (UIApplication application);
public virtual void OnResignActivation (UIApplication application);
public virtual bool OpenUrl (UIApplication app, Foundation.NSUrl url, Foundation.NSDictionary options);
public virtual void PerformFetch (UIApplication application, System.Action<UIBackgroundFetchResult> completionHandler);
public virtual void ProtectedDataDidBecomeAvailable (UIApplication application);
public virtual void ProtectedDataWillBecomeUnavailable (UIApplication application);
public virtual void ReceiveMemoryWarning (UIApplication application);
public virtual void ReceivedRemoteNotification (UIApplication application, Foundation.NSDictionary userInfo);
public virtual void RegisteredForRemoteNotifications (UIApplication application, Foundation.NSData deviceToken);
public virtual bool ShouldAllowExtensionPointIdentifier (UIApplication application, Foundation.NSString extensionPointIdentifier);
public virtual bool ShouldAutomaticallyLocalizeKeyCommands (UIApplication application);
public virtual void ShouldRequestHealthAuthorization (UIApplication application);
public virtual bool ShouldRestoreApplicationState (UIApplication application, Foundation.NSCoder coder);
public virtual bool ShouldRestoreSecureApplicationState (UIApplication application, Foundation.NSCoder coder);
public virtual bool ShouldSaveApplicationState (UIApplication application, Foundation.NSCoder coder);
public virtual bool ShouldSaveSecureApplicationState (UIApplication application, Foundation.NSCoder coder);
public virtual void UserActivityUpdated (UIApplication application, Foundation.NSUserActivity userActivity);
public virtual void UserDidAcceptCloudKitShare (UIApplication application, CloudKit.CKShareMetadata cloudKitShareMetadata);
public virtual bool WillContinueUserActivity (UIApplication application, string userActivityType);
public virtual void WillEncodeRestorableState (UIApplication application, Foundation.NSCoder coder);
public virtual void WillEnterForeground (UIApplication application);
public virtual bool WillFinishLaunching (UIApplication application, Foundation.NSDictionary launchOptions);
public virtual void WillTerminate (UIApplication application);

Type Changed: UIKit.IUIBarPositioning

Modified properties:

-public abstract UIBarPosition BarPosition { get; }
+public virtual UIBarPosition BarPosition { get; }

Type Changed: UIKit.IUIBarPositioningDelegate

Added method:

public virtual UIBarPosition GetPositionForBar (IUIBarPositioning barPositioning);

Type Changed: UIKit.IUICGFloatTraitDefinition

Added method:

public static System.Runtime.InteropServices.NFloat GetDefaultValue<T> ();

Type Changed: UIKit.IUICollectionViewDataSource

Modified methods:

-public abstract UICollectionViewCell GetCell (UICollectionView collectionView, Foundation.NSIndexPath indexPath)
+public virtual UICollectionViewCell GetCell (UICollectionView collectionView, Foundation.NSIndexPath indexPath)
-public abstract IntPtr GetItemsCount (UICollectionView collectionView, IntPtr section)
+public virtual IntPtr GetItemsCount (UICollectionView collectionView, IntPtr section)

Added methods:

public virtual bool CanMoveItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual Foundation.NSIndexPath GetIndexPath (UICollectionView collectionView, string title, IntPtr atIndex);
public virtual string[] GetIndexTitles (UICollectionView collectionView);
public virtual UICollectionReusableView GetViewForSupplementaryElement (UICollectionView collectionView, Foundation.NSString elementKind, Foundation.NSIndexPath indexPath);
public virtual void MoveItem (UICollectionView collectionView, Foundation.NSIndexPath sourceIndexPath, Foundation.NSIndexPath destinationIndexPath);
public virtual IntPtr NumberOfSections (UICollectionView collectionView);

Type Changed: UIKit.IUICollectionViewDataSourcePrefetching

Modified methods:

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

Added method:

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

Type Changed: UIKit.IUICollectionViewDelegate

Added methods:

public virtual bool CanEditItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual bool CanFocusItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual bool CanPerformAction (UICollectionView collectionView, ObjCRuntime.Selector action, Foundation.NSIndexPath indexPath, Foundation.NSObject sender);
public virtual bool CanPerformPrimaryActionForItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual void CellDisplayingEnded (UICollectionView collectionView, UICollectionViewCell cell, Foundation.NSIndexPath indexPath);
public virtual void DidUpdateFocus (UICollectionView collectionView, UICollectionViewFocusUpdateContext context, UIFocusAnimationCoordinator coordinator);
public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths, CoreGraphics.CGPoint point);
public virtual UITargetedPreview GetContextMenuConfigurationDismissalPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public virtual UITargetedPreview GetContextMenuConfigurationHighlightPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public virtual Foundation.NSIndexPath GetIndexPathForPreferredFocusedView (UICollectionView collectionView);
public virtual CoreGraphics.CGPoint GetTargetContentOffset (UICollectionView collectionView, CoreGraphics.CGPoint proposedContentOffset);
public virtual Foundation.NSIndexPath GetTargetIndexPathForMove (UICollectionView collectionView, Foundation.NSIndexPath originalIndexPath, Foundation.NSIndexPath proposedIndexPath);
public virtual Foundation.NSIndexPath GetTargetIndexPathForMoveOfItemFromOriginalIndexPath (UICollectionView collectionView, Foundation.NSIndexPath originalIndexPath, Foundation.NSIndexPath currentIndexPath, Foundation.NSIndexPath proposedIndexPath);
public virtual void ItemDeselected (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual void ItemHighlighted (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual void ItemSelected (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual void ItemUnhighlighted (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual void PerformAction (UICollectionView collectionView, ObjCRuntime.Selector action, Foundation.NSIndexPath indexPath, Foundation.NSObject sender);
public virtual void PerformPrimaryActionForItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual bool ShouldDeselectItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual bool ShouldHighlightItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual bool ShouldSelectItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual bool ShouldShowMenu (UICollectionView collectionView, Foundation.NSIndexPath indexPath);
public virtual bool ShouldUpdateFocus (UICollectionView collectionView, UICollectionViewFocusUpdateContext context);
public virtual void SupplementaryViewDisplayingEnded (UICollectionView collectionView, UICollectionReusableView view, Foundation.NSString elementKind, Foundation.NSIndexPath indexPath);
public virtual UICollectionViewTransitionLayout TransitionLayout (UICollectionView collectionView, UICollectionViewLayout fromLayout, UICollectionViewLayout toLayout);
public virtual void WillDisplayCell (UICollectionView collectionView, UICollectionViewCell cell, Foundation.NSIndexPath indexPath);
public virtual void WillDisplayContextMenu (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillDisplaySupplementaryView (UICollectionView collectionView, UICollectionReusableView view, string elementKind, Foundation.NSIndexPath indexPath);
public virtual void WillEndContextMenuInteraction (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.IUICollectionViewDelegateFlowLayout

Added methods:

public virtual UIEdgeInsets GetInsetForSection (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section);
public virtual System.Runtime.InteropServices.NFloat GetMinimumInteritemSpacingForSection (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section);
public virtual System.Runtime.InteropServices.NFloat GetMinimumLineSpacingForSection (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section);
public virtual CoreGraphics.CGSize GetReferenceSizeForFooter (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section);
public virtual CoreGraphics.CGSize GetReferenceSizeForHeader (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section);
public virtual CoreGraphics.CGSize GetSizeForItem (UICollectionView collectionView, UICollectionViewLayout layout, Foundation.NSIndexPath indexPath);

Type Changed: UIKit.IUICollisionBehaviorDelegate

Added methods:

public virtual void BeganBoundaryContact (UICollisionBehavior behavior, IUIDynamicItem dynamicItem, Foundation.NSObject boundaryIdentifier, CoreGraphics.CGPoint atPoint);
public virtual void BeganContact (UICollisionBehavior behavior, IUIDynamicItem firstItem, IUIDynamicItem secondItem, CoreGraphics.CGPoint atPoint);
public virtual void EndedBoundaryContact (UICollisionBehavior behavior, IUIDynamicItem dynamicItem, Foundation.NSObject boundaryIdentifier);
public virtual void EndedContact (UICollisionBehavior behavior, IUIDynamicItem firstItem, IUIDynamicItem secondItem);

Type Changed: UIKit.IUIConfigurationState

Modified properties:

-public abstract UITraitCollection TraitCollection { get; set; }
+public virtual UITraitCollection TraitCollection { get; set; }

Modified methods:

-public abstract Foundation.NSObject GetCustomState (string key)
+public virtual Foundation.NSObject GetCustomState (string key)
-public abstract Foundation.NSObject GetObject (string key)
+public virtual Foundation.NSObject GetObject (string key)
-public abstract void SetCustomState (Foundation.NSObject customState, string key)
+public virtual void SetCustomState (Foundation.NSObject customState, string key)
-public abstract void SetObject (Foundation.NSObject obj, string key)
+public virtual void SetObject (Foundation.NSObject obj, string key)

Type Changed: UIKit.IUIContentConfiguration

Modified methods:

-public abstract IUIContentConfiguration GetUpdatedConfiguration (IUIConfigurationState state)
+public virtual IUIContentConfiguration GetUpdatedConfiguration (IUIConfigurationState state)
-public abstract IUIContentView MakeContentView ()
+public virtual IUIContentView MakeContentView ()

Type Changed: UIKit.IUIContentContainer

Modified properties:

-public abstract CoreGraphics.CGSize PreferredContentSize { get; }
+public virtual CoreGraphics.CGSize PreferredContentSize { get; }

Modified methods:

-public abstract CoreGraphics.CGSize GetSizeForChildContentContainer (IUIContentContainer contentContainer, CoreGraphics.CGSize parentContainerSize)
+public virtual CoreGraphics.CGSize GetSizeForChildContentContainer (IUIContentContainer contentContainer, CoreGraphics.CGSize parentContainerSize)
-public abstract void PreferredContentSizeDidChangeForChildContentContainer (IUIContentContainer container)
+public virtual void PreferredContentSizeDidChangeForChildContentContainer (IUIContentContainer container)
-public abstract void SystemLayoutFittingSizeDidChangeForChildContentContainer (IUIContentContainer container)
+public virtual void SystemLayoutFittingSizeDidChangeForChildContentContainer (IUIContentContainer container)
-public abstract void ViewWillTransitionToSize (CoreGraphics.CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
+public virtual void ViewWillTransitionToSize (CoreGraphics.CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
-public abstract void WillTransitionToTraitCollection (UITraitCollection traitCollection, IUIViewControllerTransitionCoordinator coordinator)
+public virtual void WillTransitionToTraitCollection (UITraitCollection traitCollection, IUIViewControllerTransitionCoordinator coordinator)

Type Changed: UIKit.IUIContentSizeCategoryAdjusting

Modified properties:

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

Type Changed: UIKit.IUIContentView

Modified properties:

-public abstract IUIContentConfiguration Configuration { get; set; }
+public virtual IUIContentConfiguration Configuration { get; set; }

Added method:

public virtual bool SupportsConfiguration (IUIContentConfiguration configuration);

Type Changed: UIKit.IUIContextMenuInteractionAnimating

Modified properties:

-public abstract UIViewController PreviewViewController { get; }
+public virtual UIViewController PreviewViewController { get; }

Modified methods:

-public abstract void AddAnimations (System.Action animations)
+public virtual void AddAnimations (System.Action animations)
-public abstract void AddCompletion (System.Action completion)
+public virtual void AddCompletion (System.Action completion)

Type Changed: UIKit.IUIContextMenuInteractionDelegate

Modified methods:

-public abstract UIContextMenuConfiguration GetConfigurationForMenu (UIContextMenuInteraction interaction, CoreGraphics.CGPoint location)
+public virtual UIContextMenuConfiguration GetConfigurationForMenu (UIContextMenuInteraction interaction, CoreGraphics.CGPoint location)

Added methods:

public virtual UITargetedPreview GetDismissalPreview (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier);
public virtual UITargetedPreview GetHighlightPreview (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier);
public virtual void WillDisplayMenu (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillEnd (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.IUICoordinateSpace

Modified properties:

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

Modified methods:

-public abstract CoreGraphics.CGPoint ConvertPointFromCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace)
+public virtual CoreGraphics.CGPoint ConvertPointFromCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace)
-public abstract CoreGraphics.CGPoint ConvertPointToCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace)
+public virtual CoreGraphics.CGPoint ConvertPointToCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace)
-public abstract CoreGraphics.CGRect ConvertRectFromCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace)
+public virtual CoreGraphics.CGRect ConvertRectFromCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace)
-public abstract CoreGraphics.CGRect ConvertRectToCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace)
+public virtual CoreGraphics.CGRect ConvertRectToCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace)

Type Changed: UIKit.IUIDataSourceModelAssociation

Modified methods:

-public abstract Foundation.NSIndexPath GetIndexPath (string identifier, UIView view)
+public virtual Foundation.NSIndexPath GetIndexPath (string identifier, UIView view)
-public abstract string GetModelIdentifier (Foundation.NSIndexPath idx, UIView view)
+public virtual string GetModelIdentifier (Foundation.NSIndexPath idx, UIView view)

Type Changed: UIKit.IUIDataSourceTranslating

Modified methods:

-public abstract Foundation.NSIndexPath GetDataSourceIndexPath (Foundation.NSIndexPath presentationIndexPath)
+public virtual Foundation.NSIndexPath GetDataSourceIndexPath (Foundation.NSIndexPath presentationIndexPath)
-public abstract IntPtr GetDataSourceSectionIndex (IntPtr presentationSectionIndex)
+public virtual IntPtr GetDataSourceSectionIndex (IntPtr presentationSectionIndex)
-public abstract Foundation.NSIndexPath GetPresentationIndexPath (Foundation.NSIndexPath dataSourceIndexPath)
+public virtual Foundation.NSIndexPath GetPresentationIndexPath (Foundation.NSIndexPath dataSourceIndexPath)
-public abstract IntPtr GetPresentationSectionIndex (IntPtr dataSourceSectionIndex)
+public virtual IntPtr GetPresentationSectionIndex (IntPtr dataSourceSectionIndex)
-public abstract void PerformUsingPresentationValues (System.Action actionsToTranslate)
+public virtual void PerformUsingPresentationValues (System.Action actionsToTranslate)

Type Changed: UIKit.IUIDynamicAnimatorDelegate

Added methods:

public virtual void DidPause (UIDynamicAnimator animator);
public virtual void WillResume (UIDynamicAnimator animator);

Type Changed: UIKit.IUIDynamicItem

Modified properties:

-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.CGAffineTransform Transform { get; set; }
+public virtual CoreGraphics.CGAffineTransform Transform { get; set; }

Added properties:

public virtual UIBezierPath CollisionBoundingPath { get; }
public virtual UIDynamicItemCollisionBoundsType CollisionBoundsType { get; }

Type Changed: UIKit.IUIFocusAnimationContext

Modified properties:

-public abstract double Duration { get; }
+public virtual double Duration { get; }

Type Changed: UIKit.IUIFocusEnvironment

Modified properties:

-public abstract IUIFocusItemContainer FocusItemContainer { get; }
+public virtual IUIFocusItemContainer FocusItemContainer { get; }
-public abstract IUIFocusEnvironment ParentFocusEnvironment { get; }
+public virtual IUIFocusEnvironment ParentFocusEnvironment { get; }
-public abstract IUIFocusEnvironment[] PreferredFocusEnvironments { get; }
+public virtual IUIFocusEnvironment[] PreferredFocusEnvironments { get; }

Added property:

public virtual UIView PreferredFocusedView { get; }

Modified methods:

-public abstract void DidUpdateFocus (UIFocusUpdateContext context, UIFocusAnimationCoordinator coordinator)
+public virtual void DidUpdateFocus (UIFocusUpdateContext context, UIFocusAnimationCoordinator coordinator)
-public abstract void SetNeedsFocusUpdate ()
+public virtual void SetNeedsFocusUpdate ()
-public abstract bool ShouldUpdateFocus (UIFocusUpdateContext context)
+public virtual bool ShouldUpdateFocus (UIFocusUpdateContext context)
-public abstract void UpdateFocusIfNeeded ()
+public virtual void UpdateFocusIfNeeded ()

Added method:

public virtual Foundation.NSString GetSoundIdentifier (UIFocusUpdateContext context);

Type Changed: UIKit.IUIFocusItem

Modified properties:

-public abstract bool CanBecomeFocused { get; }
+public virtual bool CanBecomeFocused { get; }
-public abstract CoreGraphics.CGRect Frame { get; }
+public virtual CoreGraphics.CGRect Frame { get; }

Added method:

public virtual void DidHintFocusMovement (UIFocusMovementHint hint);

Type Changed: UIKit.IUIFocusItemContainer

Modified properties:

-public abstract IUICoordinateSpace CoordinateSpace { get; }
+public virtual IUICoordinateSpace CoordinateSpace { get; }

Modified methods:

-public abstract IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect)
+public virtual IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect)

Type Changed: UIKit.IUIFocusItemScrollableContainer

Modified properties:

-public abstract CoreGraphics.CGPoint ContentOffset { get; set; }
+public virtual CoreGraphics.CGPoint ContentOffset { get; set; }
-public abstract CoreGraphics.CGSize ContentSize { get; }
+public virtual CoreGraphics.CGSize ContentSize { get; }
-public abstract CoreGraphics.CGSize VisibleSize { get; }
+public virtual CoreGraphics.CGSize VisibleSize { get; }

Type Changed: UIKit.IUIGestureRecognizerDelegate

Added methods:

public virtual bool ShouldBeRequiredToFailBy (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer);
public virtual bool ShouldBegin (UIGestureRecognizer recognizer);
public virtual bool ShouldReceiveEvent (UIGestureRecognizer gestureRecognizer, UIEvent event);
public virtual bool ShouldReceivePress (UIGestureRecognizer gestureRecognizer, UIPress press);
public virtual bool ShouldReceiveTouch (UIGestureRecognizer recognizer, UITouch touch);
public virtual bool ShouldRecognizeSimultaneously (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer);
public virtual bool ShouldRequireFailureOf (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer);

Type Changed: UIKit.IUIGuidedAccessRestrictionDelegate

Modified properties:

-public abstract string[] GetGuidedAccessRestrictionIdentifiers { get; }
+public virtual string[] GetGuidedAccessRestrictionIdentifiers { get; }

Modified methods:

-public abstract string GetTextForGuidedAccessRestriction (string restrictionIdentifier)
+public virtual string GetTextForGuidedAccessRestriction (string restrictionIdentifier)
-public abstract void GuidedAccessRestrictionChangedState (string restrictionIdentifier, UIGuidedAccessRestrictionState newRestrictionState)
+public virtual void GuidedAccessRestrictionChangedState (string restrictionIdentifier, UIGuidedAccessRestrictionState newRestrictionState)

Added method:

public virtual string GetDetailTextForGuidedAccessRestriction (string restrictionIdentifier);

Type Changed: UIKit.IUIInputViewAudioFeedback

Added property:

public virtual bool EnableInputClicksWhenVisible { get; }

Type Changed: UIKit.IUIInteraction

Modified properties:

-public abstract UIView View { get; }
+public virtual UIView View { get; }

Modified methods:

-public abstract void DidMoveToView (UIView view)
+public virtual void DidMoveToView (UIView view)
-public abstract void WillMoveToView (UIView view)
+public virtual void WillMoveToView (UIView view)

Type Changed: UIKit.IUIKeyInput

Modified properties:

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

Modified methods:

-public abstract void DeleteBackward ()
+public virtual void DeleteBackward ()
-public abstract void InsertText (string text)
+public virtual void InsertText (string text)

Type Changed: UIKit.IUILayoutGuideAspectFitting

Modified properties:

-public abstract System.Runtime.InteropServices.NFloat AspectRatio { get; set; }
+public virtual System.Runtime.InteropServices.NFloat AspectRatio { get; set; }

Type Changed: UIKit.IUILayoutSupport

Modified properties:

-public abstract NSLayoutYAxisAnchor BottomAnchor { get; }
+public virtual NSLayoutYAxisAnchor BottomAnchor { get; }
-public abstract NSLayoutDimension HeightAnchor { get; }
+public virtual NSLayoutDimension HeightAnchor { get; }
-public abstract System.Runtime.InteropServices.NFloat Length { get; }
+public virtual System.Runtime.InteropServices.NFloat Length { get; }
-public abstract NSLayoutYAxisAnchor TopAnchor { get; }
+public virtual NSLayoutYAxisAnchor TopAnchor { get; }

Type Changed: UIKit.IUILetterformAwareAdjusting

Modified properties:

-public abstract UILetterformAwareSizingRule SizingRule { get; set; }
+public virtual UILetterformAwareSizingRule SizingRule { get; set; }

Type Changed: UIKit.IUIMenuBuilder

Modified properties:

-public abstract UIMenuSystem System { get; }
+public virtual UIMenuSystem System { get; }

Modified methods:

-public abstract UIAction GetAction (string identifier)
+public virtual UIAction GetAction (string identifier)
-public abstract UICommand GetCommand (ObjCRuntime.Selector action, Foundation.NSObject propertyList)
+public virtual UICommand GetCommand (ObjCRuntime.Selector action, Foundation.NSObject propertyList)
-public abstract UIMenu GetMenu (string identifier)
+public virtual UIMenu GetMenu (string identifier)
-public abstract void InsertChildMenuAtEnd (UIMenu childMenu, string parentIdentifier)
+public virtual void InsertChildMenuAtEnd (UIMenu childMenu, string parentIdentifier)
-public abstract void InsertChildMenuAtStart (UIMenu childMenu, string parentIdentifier)
+public virtual void InsertChildMenuAtStart (UIMenu childMenu, string parentIdentifier)
-public abstract void InsertSiblingMenuAfter (UIMenu siblingMenu, string siblingIdentifier)
+public virtual void InsertSiblingMenuAfter (UIMenu siblingMenu, string siblingIdentifier)
-public abstract void InsertSiblingMenuBefore (UIMenu siblingMenu, string siblingIdentifier)
+public virtual void InsertSiblingMenuBefore (UIMenu siblingMenu, string siblingIdentifier)
-public abstract void RemoveMenu (string removedIdentifier)
+public virtual void RemoveMenu (string removedIdentifier)
-public abstract void ReplaceChildrenOfMenu (string parentIdentifier, System.Func%LESSERTHANREPLACEMENT%UIMenuElement[],UIKit.UIMenuElement[]%GREATERTHANREPLACEMENT% childrenBlock)
+public virtual void ReplaceChildrenOfMenu (string parentIdentifier, System.Func%LESSERTHANREPLACEMENT%UIMenuElement[],UIKit.UIMenuElement[]%GREATERTHANREPLACEMENT% childrenBlock)
-public abstract void ReplaceMenu (string replacedIdentifier, UIMenu replacementMenu)
+public virtual void ReplaceMenu (string replacedIdentifier, UIMenu replacementMenu)

Type Changed: UIKit.IUIMenuLeaf

Modified properties:

-public abstract UIMenuElementAttributes Attributes { get; set; }
+public virtual UIMenuElementAttributes Attributes { get; set; }
-public abstract string DiscoverabilityTitle { get; set; }
+public virtual string DiscoverabilityTitle { get; set; }
-public abstract UIImage Image { get; set; }
+public virtual UIImage Image { get; set; }
-public abstract Foundation.NSObject Sender { get; }
+public virtual Foundation.NSObject Sender { get; }
-public abstract UIMenuElementState State { get; set; }
+public virtual UIMenuElementState State { get; set; }
-public abstract string Title { get; set; }
+public virtual string Title { get; set; }

Added property:

public virtual UIImage SelectedImage { get; set; }

Modified methods:

-public abstract void Target (Foundation.NSObject sender, Foundation.NSObject target)
+public virtual void Target (Foundation.NSObject sender, Foundation.NSObject target)

Type Changed: UIKit.IUIMutableTraits

Modified properties:

-public abstract UIAccessibilityContrast AccessibilityContrast { get; set; }
+public virtual UIAccessibilityContrast AccessibilityContrast { get; set; }
-public abstract UIUserInterfaceActiveAppearance ActiveAppearance { get; set; }
+public virtual UIUserInterfaceActiveAppearance ActiveAppearance { get; set; }
-public abstract UIDisplayGamut DisplayGamut { get; set; }
+public virtual UIDisplayGamut DisplayGamut { get; set; }
-public abstract System.Runtime.InteropServices.NFloat DisplayScale { get; set; }
+public virtual System.Runtime.InteropServices.NFloat DisplayScale { get; set; }
-public abstract UIForceTouchCapability ForceTouchCapability { get; set; }
+public virtual UIForceTouchCapability ForceTouchCapability { get; set; }
-public abstract UIUserInterfaceSizeClass HorizontalSizeClass { get; set; }
+public virtual UIUserInterfaceSizeClass HorizontalSizeClass { get; set; }
-public abstract UIImageDynamicRange ImageDynamicRange { get; set; }
+public virtual UIImageDynamicRange ImageDynamicRange { get; set; }
-public abstract UITraitEnvironmentLayoutDirection LayoutDirection { get; set; }
+public virtual UITraitEnvironmentLayoutDirection LayoutDirection { get; set; }
-public abstract UILegibilityWeight LegibilityWeight { get; set; }
+public virtual UILegibilityWeight LegibilityWeight { get; set; }
-public abstract string PreferredContentSizeCategory { get; set; }
+public virtual string PreferredContentSizeCategory { get; set; }
-public abstract UISceneCaptureState SceneCaptureState { get; set; }
+public virtual UISceneCaptureState SceneCaptureState { get; set; }
-public abstract UINSToolbarItemPresentationSize ToolbarItemPresentationSize { get; set; }
+public virtual UINSToolbarItemPresentationSize ToolbarItemPresentationSize { get; set; }
-public abstract string TypesettingLanguage { get; set; }
+public virtual string TypesettingLanguage { get; set; }
-public abstract UIUserInterfaceIdiom UserInterfaceIdiom { get; set; }
+public virtual UIUserInterfaceIdiom UserInterfaceIdiom { get; set; }
-public abstract UIUserInterfaceStyle UserInterfaceStyle { get; set; }
+public virtual UIUserInterfaceStyle UserInterfaceStyle { get; set; }
-public abstract UIUserInterfaceSizeClass VerticalSizeClass { get; set; }
+public virtual UIUserInterfaceSizeClass VerticalSizeClass { get; set; }

Modified methods:

-public abstract Foundation.NSObject GetObject (IUIObjectTraitDefinition trait)
+public virtual Foundation.NSObject GetObject (IUIObjectTraitDefinition trait)
-public abstract System.Runtime.InteropServices.NFloat GetValue (IUICGFloatTraitDefinition trait)
+public virtual System.Runtime.InteropServices.NFloat GetValue (IUICGFloatTraitDefinition trait)
-public abstract IntPtr GetValue (IUINSIntegerTraitDefinition trait)
+public virtual IntPtr GetValue (IUINSIntegerTraitDefinition trait)
-public abstract void SetObject (Foundation.NSObject object, IUIObjectTraitDefinition trait)
+public virtual void SetObject (Foundation.NSObject object, IUIObjectTraitDefinition trait)
-public abstract void SetValue (IntPtr value, IUINSIntegerTraitDefinition trait)
+public virtual void SetValue (IntPtr value, IUINSIntegerTraitDefinition trait)
-public abstract void SetValue (System.Runtime.InteropServices.NFloat value, IUICGFloatTraitDefinition trait)
+public virtual void SetValue (System.Runtime.InteropServices.NFloat value, IUICGFloatTraitDefinition trait)

Type Changed: UIKit.IUINSIntegerTraitDefinition

Added method:

public static IntPtr GetDefaultValue<T> ();

Type Changed: UIKit.IUINavigationBarDelegate

Added methods:

public virtual void DidPopItem (UINavigationBar navigationBar, UINavigationItem item);
public virtual void DidPushItem (UINavigationBar navigationBar, UINavigationItem item);
public virtual bool ShouldPopItem (UINavigationBar navigationBar, UINavigationItem item);
public virtual bool ShouldPushItem (UINavigationBar navigationBar, UINavigationItem item);

Type Changed: UIKit.IUINavigationControllerDelegate

Added methods:

public virtual void DidShowViewController (UINavigationController navigationController, UIViewController viewController, bool animated);
public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForOperation (UINavigationController navigationController, UINavigationControllerOperation operation, UIViewController fromViewController, UIViewController toViewController);
public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForAnimationController (UINavigationController navigationController, IUIViewControllerAnimatedTransitioning animationController);
public virtual void WillShowViewController (UINavigationController navigationController, UIViewController viewController, bool animated);

Type Changed: UIKit.IUIObjectTraitDefinition

Added method:

public static Foundation.NSObject GetDefaultValue<T> ();

Type Changed: UIKit.IUIPageControlProgressDelegate

Added methods:

public virtual float GetInitialProgressForPage (UIPageControlProgress progress, IntPtr page);
public virtual void VisibilityDidChange (UIPageControlProgress progress);

Type Changed: UIKit.IUIPageControlTimerProgressDelegate

Added methods:

public virtual void PageControlTimerProgressDidChange (UIPageControlTimerProgress progress);
public virtual bool ShouldAdvanceToPage (UIPageControlTimerProgress progress, IntPtr page);

Type Changed: UIKit.IUIPageViewControllerDataSource

Modified methods:

-public abstract UIViewController GetNextViewController (UIPageViewController pageViewController, UIViewController referenceViewController)
+public virtual UIViewController GetNextViewController (UIPageViewController pageViewController, UIViewController referenceViewController)
-public abstract UIViewController GetPreviousViewController (UIPageViewController pageViewController, UIViewController referenceViewController)
+public virtual UIViewController GetPreviousViewController (UIPageViewController pageViewController, UIViewController referenceViewController)

Added methods:

public virtual IntPtr GetPresentationCount (UIPageViewController pageViewController);
public virtual IntPtr GetPresentationIndex (UIPageViewController pageViewController);

Type Changed: UIKit.IUIPageViewControllerDelegate

Added methods:

public virtual void DidFinishAnimating (UIPageViewController pageViewController, bool finished, UIViewController[] previousViewControllers, bool completed);
public virtual void WillTransition (UIPageViewController pageViewController, UIViewController[] pendingViewControllers);

Type Changed: UIKit.IUIPopoverBackgroundViewMethods

Added methods:

public static System.Runtime.InteropServices.NFloat GetArrowBase<T> ();
public static System.Runtime.InteropServices.NFloat GetArrowHeight<T> ();
public static UIEdgeInsets GetContentViewInsets<T> ();

Type Changed: UIKit.IUIPopoverControllerDelegate

Added methods:

public virtual void DidDismiss (UIPopoverController popoverController);
public virtual bool ShouldDismiss (UIPopoverController popoverController);
public virtual void WillReposition (UIPopoverController popoverController, ref CoreGraphics.CGRect rect, ref UIView view);

Type Changed: UIKit.IUIPreviewActionItem

Modified properties:

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

Type Changed: UIKit.IUIResponderStandardEditActions

Added methods:

public virtual void Copy (Foundation.NSObject sender);
public virtual void Cut (Foundation.NSObject sender);
public virtual void DecreaseSize (Foundation.NSObject sender);
public virtual void Delete (Foundation.NSObject sender);
public virtual void Duplicate (Foundation.NSObject sender);
public virtual void Export (Foundation.NSObject sender);
public virtual void Find (Foundation.NSObject sender);
public virtual void FindAndReplace (Foundation.NSObject sender);
public virtual void FindNext (Foundation.NSObject sender);
public virtual void FindPrevious (Foundation.NSObject sender);
public virtual void IncreaseSize (Foundation.NSObject sender);
public virtual void MakeTextWritingDirectionLeftToRight (Foundation.NSObject sender);
public virtual void MakeTextWritingDirectionRightToLeft (Foundation.NSObject sender);
public virtual void Move (Foundation.NSObject sender);
public virtual void Paste (Foundation.NSObject sender);
public virtual void PasteAndGo (Foundation.NSObject sender);
public virtual void PasteAndMatchStyle (Foundation.NSObject sender);
public virtual void PasteAndSearch (Foundation.NSObject sender);
public virtual void Print (Foundation.NSObject sender);
public virtual void Rename (Foundation.NSObject sender);
public virtual void Select (Foundation.NSObject sender);
public virtual void SelectAll (Foundation.NSObject sender);
public virtual void ToggleBoldface (Foundation.NSObject sender);
public virtual void ToggleItalics (Foundation.NSObject sender);
public virtual void ToggleUnderline (Foundation.NSObject sender);
public virtual void UpdateTextAttributes (UITextAttributesConversionHandler conversionHandler);
public virtual void UseSelectionForFind (Foundation.NSObject sender);

Type Changed: UIKit.IUISceneDelegate

Added methods:

public virtual void ContinueUserActivity (UIScene scene, Foundation.NSUserActivity userActivity);
public virtual void DidBecomeActive (UIScene scene);
public virtual void DidDisconnect (UIScene scene);
public virtual void DidEnterBackground (UIScene scene);
public virtual void DidFailToContinueUserActivity (UIScene scene, string userActivityType, Foundation.NSError error);
public virtual void DidUpdateUserActivity (UIScene scene, Foundation.NSUserActivity userActivity);
public virtual Foundation.NSUserActivity GetStateRestorationActivity (UIScene scene);
public virtual void OpenUrlContexts (UIScene scene, Foundation.NSSet<UIOpenUrlContext> urlContexts);
public virtual void RestoreInteractionState (UIScene scene, Foundation.NSUserActivity stateRestorationActivity);
public virtual void WillConnect (UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions);
public virtual void WillContinueUserActivity (UIScene scene, string userActivityType);
public virtual void WillEnterForeground (UIScene scene);
public virtual void WillResignActive (UIScene scene);

Type Changed: UIKit.IUIScreenshotServiceDelegate

Added method:

public virtual void GeneratePdfRepresentation (UIScreenshotService screenshotService, UIScreenshotServiceDelegatePdfHandler completionHandler);

Type Changed: UIKit.IUIScrollViewAccessibilityDelegate

Added methods:

public virtual Foundation.NSAttributedString GetAccessibilityAttributedScrollStatus (UIScrollView scrollView);
public virtual string GetAccessibilityScrollStatus (UIScrollView scrollView);

Type Changed: UIKit.IUIScrollViewDelegate

Added methods:

public virtual void DecelerationEnded (UIScrollView scrollView);
public virtual void DecelerationStarted (UIScrollView scrollView);
public virtual void DidChangeAdjustedContentInset (UIScrollView scrollView);
public virtual void DidZoom (UIScrollView scrollView);
public virtual void DraggingEnded (UIScrollView scrollView, bool willDecelerate);
public virtual void DraggingStarted (UIScrollView scrollView);
public virtual void ScrollAnimationEnded (UIScrollView scrollView);
public virtual void Scrolled (UIScrollView scrollView);
public virtual void ScrolledToTop (UIScrollView scrollView);
public virtual bool ShouldScrollToTop (UIScrollView scrollView);
public virtual UIView ViewForZoomingInScrollView (UIScrollView scrollView);
public virtual void WillEndDragging (UIScrollView scrollView, CoreGraphics.CGPoint velocity, ref CoreGraphics.CGPoint targetContentOffset);
public virtual void ZoomingEnded (UIScrollView scrollView, UIView withView, System.Runtime.InteropServices.NFloat atScale);
public virtual void ZoomingStarted (UIScrollView scrollView, UIView view);

Type Changed: UIKit.IUISearchBarDelegate

Added methods:

public virtual void OnEditingStarted (UISearchBar searchBar);
public virtual void OnEditingStopped (UISearchBar searchBar);
public virtual void SearchButtonClicked (UISearchBar searchBar);
public virtual void SelectedScopeButtonIndexChanged (UISearchBar searchBar, IntPtr selectedScope);
public virtual bool ShouldBeginEditing (UISearchBar searchBar);
public virtual bool ShouldChangeTextInRange (UISearchBar searchBar, Foundation.NSRange range, string text);
public virtual bool ShouldEndEditing (UISearchBar searchBar);
public virtual void TextChanged (UISearchBar searchBar, string searchText);

Type Changed: UIKit.IUISearchControllerDelegate

Added methods:

public virtual void DidDismissSearchController (UISearchController searchController);
public virtual void DidPresentSearchController (UISearchController searchController);
public virtual void PresentSearchController (UISearchController searchController);
public virtual void WillDismissSearchController (UISearchController searchController);
public virtual void WillPresentSearchController (UISearchController searchController);

Type Changed: UIKit.IUISearchResultsUpdating

Modified methods:

-public abstract void UpdateSearchResultsForSearchController (UISearchController searchController)
+public virtual void UpdateSearchResultsForSearchController (UISearchController searchController)

Added method:

public virtual void UpdateSearchResults (UISearchController searchController, IUISearchSuggestion searchSuggestion);

Type Changed: UIKit.IUISearchSuggestion

Modified properties:

-public abstract Foundation.NSString LocalizedSuggestion { get; }
+public virtual Foundation.NSString LocalizedSuggestion { get; }

Added property:

public virtual Foundation.NSObject RepresentedObject { get; set; }

Added methods:

public virtual UIImage GetIconImage ();
public virtual Foundation.NSString GetLocalizedDescription ();

Type Changed: UIKit.IUISplitViewControllerDelegate

Added methods:

public virtual bool CollapseSecondViewController (UISplitViewController splitViewController, UIViewController secondaryViewController, UIViewController primaryViewController);
public virtual void DidCollapse (UISplitViewController splitViewController);
public virtual void DidExpand (UISplitViewController splitViewController);
public virtual bool EventShowDetailViewController (UISplitViewController splitViewController, UIViewController vc, Foundation.NSObject sender);
public virtual bool EventShowViewController (UISplitViewController splitViewController, UIViewController vc, Foundation.NSObject sender);
public virtual UISplitViewControllerDisplayMode GetDisplayModeForExpanding (UISplitViewController splitViewController, UISplitViewControllerDisplayMode proposedDisplayMode);
public virtual UIViewController GetPrimaryViewControllerForCollapsingSplitViewController (UISplitViewController splitViewController);
public virtual UIViewController GetPrimaryViewControllerForExpandingSplitViewController (UISplitViewController splitViewController);
public virtual UISplitViewControllerDisplayMode GetTargetDisplayModeForAction (UISplitViewController svc);
public virtual UISplitViewControllerColumn GetTopColumnForCollapsing (UISplitViewController splitViewController, UISplitViewControllerColumn proposedTopColumn);
public virtual void InteractivePresentationGestureDidEnd (UISplitViewController svc);
public virtual void InteractivePresentationGestureWillBegin (UISplitViewController svc);
public virtual UIViewController SeparateSecondaryViewController (UISplitViewController splitViewController, UIViewController primaryViewController);
public virtual void WillChangeDisplayMode (UISplitViewController svc, UISplitViewControllerDisplayMode displayMode);
public virtual void WillHideColumn (UISplitViewController splitViewController, UISplitViewControllerColumn column);
public virtual void WillShowColumn (UISplitViewController splitViewController, UISplitViewControllerColumn column);

Type Changed: UIKit.IUIStateRestoring

Added properties:

public virtual ObjCRuntime.Class ObjectRestorationClass { get; }
public virtual IUIStateRestoring RestorationParent { get; }

Added methods:

public virtual void ApplicationFinishedRestoringState ();
public virtual void DecodeRestorableState (Foundation.NSCoder coder);
public virtual void EncodeRestorableState (Foundation.NSCoder coder);

Type Changed: UIKit.IUITabBarControllerDelegate

Added methods:

public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForTransition (UITabBarController tabBarController, UIViewController fromViewController, UIViewController toViewController);
public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForAnimationController (UITabBarController tabBarController, IUIViewControllerAnimatedTransitioning animationController);
public virtual bool ShouldSelectViewController (UITabBarController tabBarController, UIViewController viewController);
public virtual void ViewControllerSelected (UITabBarController tabBarController, UIViewController viewController);

Type Changed: UIKit.IUITabBarDelegate

Added method:

public virtual void ItemSelected (UITabBar tabbar, UITabBarItem item);

Type Changed: UIKit.IUITableViewDataSource

Modified methods:

-public abstract UITableViewCell GetCell (UITableView tableView, Foundation.NSIndexPath indexPath)
+public virtual UITableViewCell GetCell (UITableView tableView, Foundation.NSIndexPath indexPath)
-public abstract IntPtr RowsInSection (UITableView tableView, IntPtr section)
+public virtual IntPtr RowsInSection (UITableView tableView, IntPtr section)

Added methods:

public virtual bool CanEditRow (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual bool CanMoveRow (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual void CommitEditingStyle (UITableView tableView, UITableViewCellEditingStyle editingStyle, Foundation.NSIndexPath indexPath);
public virtual void MoveRow (UITableView tableView, Foundation.NSIndexPath sourceIndexPath, Foundation.NSIndexPath destinationIndexPath);
public virtual IntPtr NumberOfSections (UITableView tableView);
public virtual IntPtr SectionFor (UITableView tableView, string title, IntPtr atIndex);
public virtual string[] SectionIndexTitles (UITableView tableView);
public virtual string TitleForFooter (UITableView tableView, IntPtr section);
public virtual string TitleForHeader (UITableView tableView, IntPtr section);

Type Changed: UIKit.IUITableViewDataSourcePrefetching

Modified methods:

-public abstract void PrefetchRows (UITableView tableView, Foundation.NSIndexPath[] indexPaths)
+public virtual void PrefetchRows (UITableView tableView, Foundation.NSIndexPath[] indexPaths)

Added method:

public virtual void CancelPrefetching (UITableView tableView, Foundation.NSIndexPath[] indexPaths);

Type Changed: UIKit.IUITableViewDelegate

Added methods:

public virtual void AccessoryButtonTapped (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual bool CanFocusRow (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual bool CanPerformAction (UITableView tableView, ObjCRuntime.Selector action, Foundation.NSIndexPath indexPath, Foundation.NSObject sender);
public virtual bool CanPerformPrimaryAction (UITableView tableView, Foundation.NSIndexPath rowIndexPath);
public virtual void CellDisplayingEnded (UITableView tableView, UITableViewCell cell, Foundation.NSIndexPath indexPath);
public virtual Foundation.NSIndexPath CustomizeMoveTarget (UITableView tableView, Foundation.NSIndexPath sourceIndexPath, Foundation.NSIndexPath proposedIndexPath);
public virtual void DidUpdateFocus (UITableView tableView, UITableViewFocusUpdateContext context, UIFocusAnimationCoordinator coordinator);
public virtual UITableViewCellEditingStyle EditingStyleForRow (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual System.Runtime.InteropServices.NFloat EstimatedHeight (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual System.Runtime.InteropServices.NFloat EstimatedHeightForFooter (UITableView tableView, IntPtr section);
public virtual System.Runtime.InteropServices.NFloat EstimatedHeightForHeader (UITableView tableView, IntPtr section);
public virtual void FooterViewDisplayingEnded (UITableView tableView, UIView footerView, IntPtr section);
public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UITableView tableView, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point);
public virtual System.Runtime.InteropServices.NFloat GetHeightForFooter (UITableView tableView, IntPtr section);
public virtual System.Runtime.InteropServices.NFloat GetHeightForHeader (UITableView tableView, IntPtr section);
public virtual System.Runtime.InteropServices.NFloat GetHeightForRow (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual Foundation.NSIndexPath GetIndexPathForPreferredFocusedView (UITableView tableView);
public virtual UITargetedPreview GetPreviewForDismissingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration);
public virtual UITargetedPreview GetPreviewForHighlightingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration);
public virtual UIView GetViewForFooter (UITableView tableView, IntPtr section);
public virtual UIView GetViewForHeader (UITableView tableView, IntPtr section);
public virtual void HeaderViewDisplayingEnded (UITableView tableView, UIView headerView, IntPtr section);
public virtual IntPtr IndentationLevel (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual void PerformAction (UITableView tableView, ObjCRuntime.Selector action, Foundation.NSIndexPath indexPath, Foundation.NSObject sender);
public virtual void PerformPrimaryAction (UITableView tableView, Foundation.NSIndexPath rowIndexPath);
public virtual void RowDeselected (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual void RowHighlighted (UITableView tableView, Foundation.NSIndexPath rowIndexPath);
public virtual void RowSelected (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual void RowUnhighlighted (UITableView tableView, Foundation.NSIndexPath rowIndexPath);
public virtual bool ShouldHighlightRow (UITableView tableView, Foundation.NSIndexPath rowIndexPath);
public virtual bool ShouldIndentWhileEditing (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual bool ShouldShowMenu (UITableView tableView, Foundation.NSIndexPath rowAtindexPath);
public virtual bool ShouldUpdateFocus (UITableView tableView, UITableViewFocusUpdateContext context);
public virtual Foundation.NSIndexPath WillDeselectRow (UITableView tableView, Foundation.NSIndexPath indexPath);
public virtual void WillDisplay (UITableView tableView, UITableViewCell cell, Foundation.NSIndexPath indexPath);
public virtual void WillDisplayContextMenu (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillDisplayFooterView (UITableView tableView, UIView footerView, IntPtr section);
public virtual void WillDisplayHeaderView (UITableView tableView, UIView headerView, IntPtr section);
public virtual void WillEndContextMenuInteraction (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual Foundation.NSIndexPath WillSelectRow (UITableView tableView, Foundation.NSIndexPath indexPath);

Type Changed: UIKit.IUITextCursorView

Modified properties:

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

Modified methods:

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

Type Changed: UIKit.IUITextDocumentProxy

Modified properties:

-public abstract string DocumentContextAfterInput { get; }
+public virtual string DocumentContextAfterInput { get; }
-public abstract string DocumentContextBeforeInput { get; }
+public virtual string DocumentContextBeforeInput { get; }
-public abstract Foundation.NSUuid DocumentIdentifier { get; }
+public virtual Foundation.NSUuid DocumentIdentifier { get; }
-public abstract UITextInputMode DocumentInputMode { get; }
+public virtual UITextInputMode DocumentInputMode { get; }
-public abstract string SelectedText { get; }
+public virtual string SelectedText { get; }

Modified methods:

-public abstract void AdjustTextPositionByCharacterOffset (IntPtr offset)
+public virtual void AdjustTextPositionByCharacterOffset (IntPtr offset)
-public abstract void SetMarkedText (string markedText, Foundation.NSRange selectedRange)
+public virtual void SetMarkedText (string markedText, Foundation.NSRange selectedRange)
-public abstract void UnmarkText ()
+public virtual void UnmarkText ()

Type Changed: UIKit.IUITextFieldDelegate

Added methods:

public virtual void DidChangeSelection (UITextField textField);
public virtual void EditingEnded (UITextField textField);
public virtual void EditingEnded (UITextField textField, UITextFieldDidEndEditingReason reason);
public virtual void EditingStarted (UITextField textField);
public virtual UIMenu GetEditMenu (UITextField textField, Foundation.NSRange range, UIMenuElement[] suggestedActions);
public virtual bool ShouldBeginEditing (UITextField textField);
public virtual bool ShouldChangeCharacters (UITextField textField, Foundation.NSRange range, string replacementString);
public virtual bool ShouldClear (UITextField textField);
public virtual bool ShouldEndEditing (UITextField textField);
public virtual bool ShouldReturn (UITextField textField);

Type Changed: UIKit.IUITextFormattingCoordinatorDelegate

Modified methods:

-public abstract void UpdateTextAttributes (UITextAttributesConversionHandler conversionHandler)
+public virtual void UpdateTextAttributes (UITextAttributesConversionHandler conversionHandler)

Type Changed: UIKit.IUITextInput

Modified properties:

-public abstract UITextPosition BeginningOfDocument { get; }
+public virtual UITextPosition BeginningOfDocument { get; }
-public abstract UITextPosition EndOfDocument { get; }
+public virtual UITextPosition EndOfDocument { get; }
-public abstract UITextRange MarkedTextRange { get; }
+public virtual UITextRange MarkedTextRange { get; }
-public abstract Foundation.NSDictionary MarkedTextStyle { get; set; }
+public virtual Foundation.NSDictionary MarkedTextStyle { get; set; }
-public abstract UITextRange SelectedTextRange { get; set; }
+public virtual UITextRange SelectedTextRange { get; set; }
-public abstract Foundation.NSObject WeakInputDelegate { get; set; }
+public virtual Foundation.NSObject WeakInputDelegate { get; set; }
-public abstract Foundation.NSObject WeakTokenizer { get; }
+public virtual Foundation.NSObject WeakTokenizer { get; }

Added properties:

public virtual UITextStorageDirection SelectionAffinity { get; set; }
public virtual UIView TextInputView { get; }

Modified methods:

-public abstract Foundation.NSComparisonResult ComparePosition (UITextPosition first, UITextPosition second)
+public virtual Foundation.NSComparisonResult ComparePosition (UITextPosition first, UITextPosition second)
-public abstract Foundation.NSWritingDirection GetBaseWritingDirection (UITextPosition forPosition, UITextStorageDirection direction)
+public virtual Foundation.NSWritingDirection GetBaseWritingDirection (UITextPosition forPosition, UITextStorageDirection direction)
-public abstract CoreGraphics.CGRect GetCaretRectForPosition (UITextPosition position)
+public virtual CoreGraphics.CGRect GetCaretRectForPosition (UITextPosition position)
-public abstract UITextRange GetCharacterRange (UITextPosition byExtendingPosition, UITextLayoutDirection direction)
+public virtual UITextRange GetCharacterRange (UITextPosition byExtendingPosition, UITextLayoutDirection direction)
-public abstract UITextRange GetCharacterRangeAtPoint (CoreGraphics.CGPoint point)
+public virtual UITextRange GetCharacterRangeAtPoint (CoreGraphics.CGPoint point)
-public abstract UITextPosition GetClosestPositionToPoint (CoreGraphics.CGPoint point)
+public virtual UITextPosition GetClosestPositionToPoint (CoreGraphics.CGPoint point)
-public abstract UITextPosition GetClosestPositionToPoint (CoreGraphics.CGPoint point, UITextRange withinRange)
+public virtual UITextPosition GetClosestPositionToPoint (CoreGraphics.CGPoint point, UITextRange withinRange)
-public abstract CoreGraphics.CGRect GetFirstRectForRange (UITextRange range)
+public virtual CoreGraphics.CGRect GetFirstRectForRange (UITextRange range)
-public abstract IntPtr GetOffsetFromPosition (UITextPosition fromPosition, UITextPosition toPosition)
+public virtual IntPtr GetOffsetFromPosition (UITextPosition fromPosition, UITextPosition toPosition)
-public abstract UITextPosition GetPosition (UITextPosition fromPosition, IntPtr offset)
+public virtual UITextPosition GetPosition (UITextPosition fromPosition, IntPtr offset)
-public abstract UITextPosition GetPosition (UITextPosition fromPosition, UITextLayoutDirection inDirection, IntPtr offset)
+public virtual UITextPosition GetPosition (UITextPosition fromPosition, UITextLayoutDirection inDirection, IntPtr offset)
-public abstract UITextPosition GetPositionWithinRange (UITextRange range, UITextLayoutDirection direction)
+public virtual UITextPosition GetPositionWithinRange (UITextRange range, UITextLayoutDirection direction)
-public abstract UITextSelectionRect[] GetSelectionRects (UITextRange range)
+public virtual UITextSelectionRect[] GetSelectionRects (UITextRange range)
-public abstract UITextRange GetTextRange (UITextPosition fromPosition, UITextPosition toPosition)
+public virtual UITextRange GetTextRange (UITextPosition fromPosition, UITextPosition toPosition)
-public abstract void ReplaceText (UITextRange range, string text)
+public virtual void ReplaceText (UITextRange range, string text)
-public abstract void SetBaseWritingDirectionforRange (Foundation.NSWritingDirection writingDirection, UITextRange range)
+public virtual void SetBaseWritingDirectionforRange (Foundation.NSWritingDirection writingDirection, UITextRange range)
-public abstract void SetMarkedText (string markedText, Foundation.NSRange selectedRange)
+public virtual void SetMarkedText (string markedText, Foundation.NSRange selectedRange)
-public abstract string TextInRange (UITextRange range)
+public virtual string TextInRange (UITextRange range)
-public abstract void UnmarkText ()
+public virtual void UnmarkText ()

Added methods:

public virtual void BeginFloatingCursor (CoreGraphics.CGPoint point);
public virtual void DictationRecognitionFailed ();
public virtual void DictationRecordingDidEnd ();
public virtual void EndFloatingCursor ();
public virtual CoreGraphics.CGAffineTransform GetCaretTransform (UITextPosition forPosition);
public virtual IntPtr GetCharacterOffsetOfPosition (UITextPosition position, UITextRange range);
public virtual UIMenu GetEditMenu (UITextRange textRange, UIMenuElement[] suggestedActions);
public virtual CoreGraphics.CGRect GetFrameForDictationResultPlaceholder (Foundation.NSObject placeholder);
public virtual UITextPosition GetPosition (UITextRange withinRange, IntPtr atCharacterOffset);
public virtual Foundation.NSDictionary GetTextStyling (UITextPosition atPosition, UITextStorageDirection inDirection);
public virtual void InsertDictationResult (Foundation.NSArray dictationResult);
public virtual Foundation.NSObject InsertDictationResultPlaceholder ();
public virtual void InsertText (string text, string[] alternatives, UITextAlternativeStyle style);
public virtual UITextPlaceholder InsertTextPlaceholder (CoreGraphics.CGSize size);
public virtual void RemoveDictationResultPlaceholder (Foundation.NSObject placeholder, bool willInsertResult);
public virtual void RemoveTextPlaceholder (UITextPlaceholder textPlaceholder);
public virtual void SetAttributedMarkedText (Foundation.NSAttributedString markedText, Foundation.NSRange selectedRange);
public virtual bool ShouldChangeTextInRange (UITextRange inRange, string replacementText);
public virtual void UpdateFloatingCursor (CoreGraphics.CGPoint point);

Type Changed: UIKit.IUITextInputDelegate

Modified methods:

-public abstract void SelectionDidChange (IUITextInput uiTextInput)
+public virtual void SelectionDidChange (IUITextInput uiTextInput)
-public abstract void SelectionWillChange (IUITextInput uiTextInput)
+public virtual void SelectionWillChange (IUITextInput uiTextInput)
-public abstract void TextDidChange (IUITextInput textInput)
+public virtual void TextDidChange (IUITextInput textInput)
-public abstract void TextWillChange (IUITextInput textInput)
+public virtual void TextWillChange (IUITextInput textInput)

Type Changed: UIKit.IUITextInputTokenizer

Modified methods:

-public abstract UITextPosition GetPosition (UITextPosition fromPosition, UITextGranularity toBoundary, UITextDirection inDirection)
+public virtual UITextPosition GetPosition (UITextPosition fromPosition, UITextGranularity toBoundary, UITextDirection inDirection)
-public abstract UITextRange GetRangeEnclosingPosition (UITextPosition position, UITextGranularity granularity, UITextDirection direction)
+public virtual UITextRange GetRangeEnclosingPosition (UITextPosition position, UITextGranularity granularity, UITextDirection direction)
-public abstract bool ProbeDirection (UITextPosition probePosition, UITextGranularity atBoundary, UITextDirection inDirection)
+public virtual bool ProbeDirection (UITextPosition probePosition, UITextGranularity atBoundary, UITextDirection inDirection)
-public abstract bool ProbeDirectionWithinTextUnit (UITextPosition probePosition, UITextGranularity withinTextUnit, UITextDirection inDirection)
+public virtual bool ProbeDirectionWithinTextUnit (UITextPosition probePosition, UITextGranularity withinTextUnit, UITextDirection inDirection)

Type Changed: UIKit.IUITextInputTraits

Added properties:

public virtual UITextAutocapitalizationType AutocapitalizationType { get; set; }
public virtual UITextAutocorrectionType AutocorrectionType { get; set; }
public virtual bool EnablesReturnKeyAutomatically { get; set; }
public virtual UITextInlinePredictionType InlinePredictionType { get; set; }
public virtual UIKeyboardAppearance KeyboardAppearance { get; set; }
public virtual UIKeyboardType KeyboardType { get; set; }
public virtual UITextInputPasswordRules PasswordRules { get; set; }
public virtual UIReturnKeyType ReturnKeyType { get; set; }
public virtual bool SecureTextEntry { get; set; }
public virtual UITextSmartDashesType SmartDashesType { get; set; }
public virtual UITextSmartInsertDeleteType SmartInsertDeleteType { get; set; }
public virtual UITextSmartQuotesType SmartQuotesType { get; set; }
public virtual UITextSpellCheckingType SpellCheckingType { get; set; }
public virtual Foundation.NSString TextContentType { get; set; }

Type Changed: UIKit.IUITextSelectionDisplayInteractionDelegate

Added method:

public virtual UIView GetSelectionContainerViewBelowText (UITextSelectionDisplayInteraction interaction);

Type Changed: UIKit.IUITextSelectionHandleView

Modified properties:

-public abstract UIBezierPath CustomShape { get; set; }
+public virtual UIBezierPath CustomShape { get; set; }
-public abstract NSDirectionalRectEdge Direction { get; set; }
+public virtual NSDirectionalRectEdge Direction { get; set; }
-public abstract bool Vertical { get; }
+public virtual bool Vertical { get; }

Modified methods:

-public abstract CoreGraphics.CGRect GetPreferredFrame (CoreGraphics.CGRect rect)
+public virtual CoreGraphics.CGRect GetPreferredFrame (CoreGraphics.CGRect rect)

Type Changed: UIKit.IUITextSelectionHighlightView

Modified properties:

-public abstract UITextSelectionRect[] SelectionRects { get; set; }
+public virtual UITextSelectionRect[] SelectionRects { get; set; }

Type Changed: UIKit.IUITextViewDelegate

Added methods:

public virtual void Changed (UITextView textView);
public virtual void EditingEnded (UITextView textView);
public virtual void EditingStarted (UITextView textView);
public virtual UIMenu GetEditMenuForText (UITextView textView, Foundation.NSRange range, UIMenuElement[] suggestedActions);
public virtual void SelectionChanged (UITextView textView);
public virtual bool ShouldBeginEditing (UITextView textView);
public virtual bool ShouldChangeText (UITextView textView, Foundation.NSRange range, string text);
public virtual bool ShouldEndEditing (UITextView textView);
public virtual bool ShouldInteractWithTextAttachment (UITextView textView, NSTextAttachment textAttachment, Foundation.NSRange characterRange);
public virtual bool ShouldInteractWithTextAttachment (UITextView textView, NSTextAttachment textAttachment, Foundation.NSRange characterRange, UITextItemInteraction interaction);
public virtual bool ShouldInteractWithUrl (UITextView textView, Foundation.NSUrl URL, Foundation.NSRange characterRange);
public virtual bool ShouldInteractWithUrl (UITextView textView, Foundation.NSUrl url, Foundation.NSRange characterRange, UITextItemInteraction interaction);

Type Changed: UIKit.IUITimingCurveProvider

Modified properties:

-public abstract UICubicTimingParameters CubicTimingParameters { get; }
+public virtual UICubicTimingParameters CubicTimingParameters { get; }
-public abstract UISpringTimingParameters SpringTimingParameters { get; }
+public virtual UISpringTimingParameters SpringTimingParameters { get; }
-public abstract UITimingCurveType TimingCurveType { get; }
+public virtual UITimingCurveType TimingCurveType { get; }

Type Changed: UIKit.IUITraitChangeObservable

Modified methods:

-public abstract void UnregisterForTraitChanges (IUITraitChangeRegistration registration)
+public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration)

Type Changed: UIKit.IUITraitDefinition

Added methods:

public static bool GetAffectsColorAppearance<T> ();
public static string GetIdentifier<T> ();
public static string GetName<T> ();

Type Changed: UIKit.IUITraitEnvironment

Modified properties:

-public abstract UITraitCollection TraitCollection { get; }
+public virtual UITraitCollection TraitCollection { get; }

Modified methods:

-public abstract void TraitCollectionDidChange (UITraitCollection previousTraitCollection)
+public virtual void TraitCollectionDidChange (UITraitCollection previousTraitCollection)

Type Changed: UIKit.IUITraitOverrides

Modified methods:

-public abstract bool ContainsTrait (IUITraitDefinition trait)
+public virtual bool ContainsTrait (IUITraitDefinition trait)
-public abstract void RemoveTrait (IUITraitDefinition trait)
+public virtual void RemoveTrait (IUITraitDefinition trait)

Type Changed: UIKit.IUIUserActivityRestoring

Modified methods:

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

Type Changed: UIKit.IUIViewAnimating

Modified properties:

-public abstract System.Runtime.InteropServices.NFloat FractionComplete { get; set; }
+public virtual System.Runtime.InteropServices.NFloat FractionComplete { get; set; }
-public abstract bool Reversed { get; set; }
+public virtual bool Reversed { get; set; }
-public abstract bool Running { get; }
+public virtual bool Running { get; }
-public abstract UIViewAnimatingState State { get; }
+public virtual UIViewAnimatingState State { get; }

Modified methods:

-public abstract void FinishAnimation (UIViewAnimatingPosition finalPosition)
+public virtual void FinishAnimation (UIViewAnimatingPosition finalPosition)
-public abstract void PauseAnimation ()
+public virtual void PauseAnimation ()
-public abstract void StartAnimation ()
+public virtual void StartAnimation ()
-public abstract void StartAnimation (double delay)
+public virtual void StartAnimation (double delay)
-public abstract void StopAnimation (bool withoutFinishing)
+public virtual void StopAnimation (bool withoutFinishing)

Type Changed: UIKit.IUIViewControllerAnimatedTransitioning

Modified methods:

-public abstract void AnimateTransition (IUIViewControllerContextTransitioning transitionContext)
+public virtual void AnimateTransition (IUIViewControllerContextTransitioning transitionContext)
-public abstract double TransitionDuration (IUIViewControllerContextTransitioning transitionContext)
+public virtual double TransitionDuration (IUIViewControllerContextTransitioning transitionContext)

Added methods:

public virtual void AnimationEnded (bool transitionCompleted);
public virtual IUIViewImplicitlyAnimating GetInterruptibleAnimator (IUIViewControllerContextTransitioning transitionContext);

Type Changed: UIKit.IUIViewControllerContextTransitioning

Modified properties:

-public abstract UIView ContainerView { get; }
+public virtual UIView ContainerView { get; }
-public abstract bool IsAnimated { get; }
+public virtual bool IsAnimated { get; }
-public abstract bool IsInteractive { get; }
+public virtual bool IsInteractive { get; }
-public abstract UIModalPresentationStyle PresentationStyle { get; }
+public virtual UIModalPresentationStyle PresentationStyle { get; }
-public abstract CoreGraphics.CGAffineTransform TargetTransform { get; }
+public virtual CoreGraphics.CGAffineTransform TargetTransform { get; }
-public abstract bool TransitionWasCancelled { get; }
+public virtual bool TransitionWasCancelled { get; }

Modified methods:

-public abstract void CancelInteractiveTransition ()
+public virtual void CancelInteractiveTransition ()
-public abstract void CompleteTransition (bool didComplete)
+public virtual void CompleteTransition (bool didComplete)
-public abstract void FinishInteractiveTransition ()
+public virtual void FinishInteractiveTransition ()
-public abstract CoreGraphics.CGRect GetFinalFrameForViewController (UIViewController vc)
+public virtual CoreGraphics.CGRect GetFinalFrameForViewController (UIViewController vc)
-public abstract CoreGraphics.CGRect GetInitialFrameForViewController (UIViewController vc)
+public virtual CoreGraphics.CGRect GetInitialFrameForViewController (UIViewController vc)
-public abstract UIViewController GetViewControllerForKey (Foundation.NSString uiTransitionKey)
+public virtual UIViewController GetViewControllerForKey (Foundation.NSString uiTransitionKey)
-public abstract UIView GetViewFor (Foundation.NSString uiTransitionContextToOrFromKey)
+public virtual UIView GetViewFor (Foundation.NSString uiTransitionContextToOrFromKey)
-public abstract void PauseInteractiveTransition ()
+public virtual void PauseInteractiveTransition ()
-public abstract void UpdateInteractiveTransition (System.Runtime.InteropServices.NFloat percentComplete)
+public virtual void UpdateInteractiveTransition (System.Runtime.InteropServices.NFloat percentComplete)

Type Changed: UIKit.IUIViewControllerInteractiveTransitioning

Added properties:

public virtual UIViewAnimationCurve CompletionCurve { get; }
public virtual System.Runtime.InteropServices.NFloat CompletionSpeed { get; }
public virtual bool WantsInteractiveStart { get; }

Modified methods:

-public abstract void StartInteractiveTransition (IUIViewControllerContextTransitioning transitionContext)
+public virtual void StartInteractiveTransition (IUIViewControllerContextTransitioning transitionContext)

Type Changed: UIKit.IUIViewControllerPreviewing

Modified properties:

-public abstract UIGestureRecognizer PreviewingGestureRecognizerForFailureRelationship { get; }
+public virtual UIGestureRecognizer PreviewingGestureRecognizerForFailureRelationship { get; }
-public abstract CoreGraphics.CGRect SourceRect { get; set; }
+public virtual CoreGraphics.CGRect SourceRect { get; set; }
-public abstract UIView SourceView { get; }
+public virtual UIView SourceView { get; }
-public abstract Foundation.NSObject WeakDelegate { get; }
+public virtual Foundation.NSObject WeakDelegate { get; }

Type Changed: UIKit.IUIViewControllerPreviewingDelegate

Modified methods:

-public abstract void CommitViewController (IUIViewControllerPreviewing previewingContext, UIViewController viewControllerToCommit)
+public virtual void CommitViewController (IUIViewControllerPreviewing previewingContext, UIViewController viewControllerToCommit)
-public abstract UIViewController GetViewControllerForPreview (IUIViewControllerPreviewing previewingContext, CoreGraphics.CGPoint location)
+public virtual UIViewController GetViewControllerForPreview (IUIViewControllerPreviewing previewingContext, CoreGraphics.CGPoint location)

Type Changed: UIKit.IUIViewControllerTransitionCoordinator

Modified methods:

-public abstract bool AnimateAlongsideTransition (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% animate, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% completion)
+public virtual bool AnimateAlongsideTransition (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% animate, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% completion)
-public abstract bool AnimateAlongsideTransitionInView (UIView view, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% animation, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% completion)
+public virtual bool AnimateAlongsideTransitionInView (UIView view, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% animation, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% completion)
-public abstract void NotifyWhenInteractionChanges (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% handler)
+public virtual void NotifyWhenInteractionChanges (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% handler)
-public abstract void NotifyWhenInteractionEndsUsingBlock (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% handler)
+public virtual void NotifyWhenInteractionEndsUsingBlock (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% handler)

Type Changed: UIKit.IUIViewControllerTransitionCoordinatorContext

Modified properties:

-public abstract UIViewAnimationCurve CompletionCurve { get; }
+public virtual UIViewAnimationCurve CompletionCurve { get; }
-public abstract System.Runtime.InteropServices.NFloat CompletionVelocity { get; }
+public virtual System.Runtime.InteropServices.NFloat CompletionVelocity { get; }
-public abstract UIView ContainerView { get; }
+public virtual UIView ContainerView { get; }
-public abstract bool InitiallyInteractive { get; }
+public virtual bool InitiallyInteractive { get; }
-public abstract bool IsAnimated { get; }
+public virtual bool IsAnimated { get; }
-public abstract bool IsCancelled { get; }
+public virtual bool IsCancelled { get; }
-public abstract bool IsInteractive { get; }
+public virtual bool IsInteractive { get; }
-public abstract bool IsInterruptible { get; }
+public virtual bool IsInterruptible { get; }
-public abstract System.Runtime.InteropServices.NFloat PercentComplete { get; }
+public virtual System.Runtime.InteropServices.NFloat PercentComplete { get; }
-public abstract UIModalPresentationStyle PresentationStyle { get; }
+public virtual UIModalPresentationStyle PresentationStyle { get; }
-public abstract double TransitionDuration { get; }
+public virtual double TransitionDuration { get; }

Modified methods:

-public abstract UIView GetTransitionViewControllerForKey (Foundation.NSString key)
+public virtual UIView GetTransitionViewControllerForKey (Foundation.NSString key)
-public abstract UIViewController GetViewControllerForKey (Foundation.NSString uiTransitionKey)
+public virtual UIViewController GetViewControllerForKey (Foundation.NSString uiTransitionKey)
-public abstract CoreGraphics.CGAffineTransform TargetTransform ()
+public virtual CoreGraphics.CGAffineTransform TargetTransform ()

Type Changed: UIKit.IUIViewControllerTransitioningDelegate

Added methods:

public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForDismissedController (UIViewController dismissed);
public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForPresentedController (UIViewController presented, UIViewController presenting, UIViewController source);
public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForDismissal (IUIViewControllerAnimatedTransitioning animator);
public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForPresentation (IUIViewControllerAnimatedTransitioning animator);
public virtual UIPresentationController GetPresentationControllerForPresentedViewController (UIViewController presentedViewController, UIViewController presentingViewController, UIViewController sourceViewController);

Type Changed: UIKit.IUIViewImplicitlyAnimating

Added methods:

public virtual void AddAnimations (System.Action animation);
public virtual void AddAnimations (System.Action animation, System.Runtime.InteropServices.NFloat delayFactor);
public virtual void AddCompletion (System.Action<UIViewAnimatingPosition> completion);
public virtual void ContinueAnimation (IUITimingCurveProvider parameters, System.Runtime.InteropServices.NFloat durationFactor);

Type Changed: UIKit.IUIWindowSceneDelegate

Added property:

public virtual UIWindow Window { get; set; }

Added method:

public virtual void UserDidAcceptCloudKitShare (UIWindowScene windowScene, CloudKit.CKShareMetadata cloudKitShareMetadata);

Type Changed: UIKit.UIControl

Added method:

public virtual void PerformPrimaryAction ();

Type Changed: UIKit.UIMenu

Added property:

public virtual UIMenuDisplayPreferences DisplayPreferences { get; set; }

Type Changed: UIKit.UIPresentationController

Added methods:

public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

Type Changed: UIKit.UIScrollView

Added properties:

public virtual bool BouncesHorizontally { get; set; }
public virtual bool BouncesVertically { get; set; }
public virtual CoreGraphics.CGPoint ContentAlignmentPoint { get; set; }
public virtual bool ScrollAnimating { get; }
public virtual bool TransfersHorizontalScrollingToParent { get; set; }
public virtual bool TransfersVerticalScrollingToParent { get; set; }
public virtual bool ZoomAnimating { get; }

Added methods:

public virtual void StopScrollingAndZooming ();
public virtual void WithScrollIndicatorsShown (System.Action forContentOffsetChanges);

Type Changed: UIKit.UITextContentType

Added properties:

public static Foundation.NSString CellularEid { get; }
public static Foundation.NSString CellularImei { get; }

Type Changed: UIKit.UITextField

Added method:

public virtual CoreGraphics.CGAffineTransform GetCaretTransform (UITextPosition forPosition);

Type Changed: UIKit.UITextInput_Extensions

Added method:

public static CoreGraphics.CGAffineTransform GetCaretTransform (this IUITextInput This, UITextPosition forPosition);

Type Changed: UIKit.UITextSelectionRect

Added property:

public virtual CoreGraphics.CGAffineTransform Transform { get; }

Type Changed: UIKit.UITextView

Obsoleted properties:

 [Obsolete ("Use 'TypingAttributes2' instead, because this property will return null instead of an empty dictionary.")]
 public virtual Foundation.NSDictionary TypingAttributes { get; set; }

Added property:

public Foundation.NSDictionary TypingAttributes2 { get; set; }

Added method:

public virtual CoreGraphics.CGAffineTransform GetCaretTransform (UITextPosition forPosition);

Type Changed: UIKit.UITouchProperties

Added value:

Roll = 16,

Type Changed: UIKit.UITraitChangeObservable_Extensions

Added methods:

public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, ObjCRuntime.Class[] traits, ObjCRuntime.Selector action);
public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

Type Changed: UIKit.UIView

Added methods:

public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

Type Changed: UIKit.UIViewController

Added methods:

public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

Type Changed: UIKit.UIWindowScene

Added methods:

public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

New Type: UIKit.IUIItemProviderReadingAugmentationProviding

public interface IUIItemProviderReadingAugmentationProviding : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public static string[] GetAdditionalLeadingReadableTypeIdentifiersForItemProvider<T> ();
	public static string[] GetAdditionalTrailingReadableTypeIdentifiersForItemProvider<T> ();
	public static Foundation.NSObject GetTypeIdentifier<T> (Foundation.NSData data, string typeIdentifier, ObjCRuntime.Class requestedClass, out Foundation.NSError outError);
}

New Type: UIKit.NSAttributedStringDocumentReadingOptions

public class NSAttributedStringDocumentReadingOptions : Foundation.DictionaryContainer {
	// constructors
	public NSAttributedStringDocumentReadingOptions ();
	public NSAttributedStringDocumentReadingOptions (Foundation.NSDictionary dictionary);
	// properties
	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; }
}

New Type: UIKit.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: UIKit.NSAttributedStringDocumentTypeExtensions

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

New Type: UIKit.UIMenuDisplayPreferences

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

New Type: UIKit.UIStandardTextCursorView

public class UIStandardTextCursorView : UIKit.UIView, ObjCRuntime.INativeObject, System.IDisposable, IUICoordinateSpace, IUITextCursorView {
	// constructors
	public UIStandardTextCursorView (CoreGraphics.CGRect frame);
	public UIStandardTextCursorView (Foundation.NSCoder coder);
	protected UIStandardTextCursorView (Foundation.NSObjectFlag t);
	protected UIStandardTextCursorView (ObjCRuntime.NativeHandle handle);
	// properties
	public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance Appearance { get; }
	public virtual bool Blinking { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual CoreGraphics.CGPoint ConvertPointFromCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace);
	public virtual CoreGraphics.CGPoint ConvertPointToCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace);
	public virtual CoreGraphics.CGRect ConvertRectFromCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace);
	public virtual CoreGraphics.CGRect ConvertRectToCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace);
	public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance<T> ();
	public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance<T> (UITraitCollection traits);
	public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance (UITraitCollection traits);
	public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance<T> (UITraitCollection traits, System.Type[] containers);
	public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance (UITraitCollection traits, System.Type[] containers);
	public virtual void ResetBlinkAnimation ();

	// inner types
	public class UIStandardTextCursorViewAppearance : UIKit.UIView+UIViewAppearance {
		// constructors
		protected UIStandardTextCursorView.UIStandardTextCursorViewAppearance (IntPtr handle);
	}
}

New Type: UIKit.UITextCursorDropPositionAnimator

public class UITextCursorDropPositionAnimator : Foundation.NSObject {
	// constructors
	protected UITextCursorDropPositionAnimator (Foundation.NSObjectFlag t);
	protected UITextCursorDropPositionAnimator (ObjCRuntime.NativeHandle handle);
	public UITextCursorDropPositionAnimator (IUITextCursorView cursorView, IUITextInput textInput);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IUITextCursorView CursorView { get; }
	public virtual IUITextInput TextInput { get; }
	// methods
	public virtual void AnimateAlongsideChanges (System.Action animation, System.Action completion);
	public virtual System.Threading.Tasks.Task AnimateAlongsideChangesAsync (System.Action animation);
	public virtual void PlaceCursor (UITextPosition atPosition, bool animated);
	public virtual void SetCursorVisible (bool visible, bool animated);
}

Namespace UserNotifications

Type Changed: UserNotifications.IUNUserNotificationCenterDelegate

Added method:

public virtual void WillPresentNotification (UNUserNotificationCenter center, UNNotification notification, System.Action<UNNotificationPresentationOptions> completionHandler);

Namespace VideoSubscriberAccount

Type Changed: VideoSubscriberAccount.IVSAccountManagerDelegate

Modified methods:

-public abstract void DismissViewController (VSAccountManager accountManager, UIKit.UIViewController viewController)
+public virtual void DismissViewController (VSAccountManager accountManager, UIKit.UIViewController viewController)
-public abstract void PresentViewController (VSAccountManager accountManager, UIKit.UIViewController viewController)
+public virtual void PresentViewController (VSAccountManager accountManager, UIKit.UIViewController viewController)

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

New Namespace CoreMidi

New Type: CoreMidi.MidiCVStatus

[Serializable]
public enum MidiCVStatus {
	AssignableControl = 3,
	AssignablePnc = 1,
	ChannelPressure = 13,
	ControlChange = 11,
	NoteOff = 8,
	NoteOn = 9,
	PerNoteMgmt = 15,
	PerNotePitchBend = 6,
	PitchBend = 14,
	PolyPressure = 10,
	ProgramChange = 12,
	RegisteredControl = 2,
	RegisteredPnc = 0,
	RelAssignableControl = 5,
	RelRegisteredControl = 4,
}

New Type: CoreMidi.MidiMessageType

[Serializable]
public enum MidiMessageType {
	ChannelVoice1 = 2,
	ChannelVoice2 = 4,
	Data128 = 5,
	SysEx = 3,
	System = 1,
	UnknownF = 15,
	Utility = 0,
}

New Type: CoreMidi.MidiNetworkConnectionPolicy

[Serializable]
public enum MidiNetworkConnectionPolicy {
	Anyone = 2,
	HostsInContactsList = 1,
	NoOne = 0,
}

New Type: CoreMidi.MidiNoteAttribute

[Serializable]
public enum MidiNoteAttribute {
	ManufacturerSpecific = 1,
	None = 0,
	Pitch = 3,
	ProfileSpecific = 2,
}

New Type: CoreMidi.MidiPerNoteManagementOptions

[Serializable]
[Flags]
public enum MidiPerNoteManagementOptions {
	Detach = 2,
	Reset = 1,
}

New Type: CoreMidi.MidiProgramChangeOptions

[Serializable]
[Flags]
public enum MidiProgramChangeOptions {
	BankValid = 1,
}

New Type: CoreMidi.MidiProtocolId

[Serializable]
public enum MidiProtocolId {
	Protocol_1_0 = 1,
	Protocol_2_0 = 2,
}

New Type: CoreMidi.MidiSysExStatus

[Serializable]
public enum MidiSysExStatus {
	Complete = 0,
	Continue = 2,
	End = 3,
	MixedDataSetHeader = 8,
	MixedDataSetPayload = 9,
	Start = 1,
}

New Type: CoreMidi.MidiSystemStatus

[Serializable]
public enum MidiSystemStatus {
	ActiveSending = 254,
	Continue = 251,
	EndOfExclusive = 247,
	Mtc = 241,
	SongPosPointer = 242,
	SongSelect = 243,
	Start = 250,
	StartOfExclusive = 240,
	Stop = 252,
	SystemReset = 255,
	TimingClock = 248,
	TuneRequest = 246,
}

New Type: CoreMidi.MidiUtilityStatus

[Serializable]
public enum MidiUtilityStatus {
	JitterReductionClock = 1,
	JitterReductionTimestamp = 2,
	Noop = 0,
}

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 DeviceDiscoveryUI

New Type: DeviceDiscoveryUI.DDDevicePickerViewController

public class DDDevicePickerViewController : UIKit.UIViewController {
	// constructors
	public DDDevicePickerViewController (Foundation.NSCoder coder);
	protected DDDevicePickerViewController (Foundation.NSObjectFlag t);
	protected DDDevicePickerViewController (ObjCRuntime.NativeHandle handle);
	public DDDevicePickerViewController (Network.NWBrowserDescriptor browseDescriptor, Network.NWParameters parameters);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static bool IsSupported (Network.NWBrowserDescriptor browseDescriptor, Network.NWParameters parameters);
	public void SetDevicePicker (DDDevicePickerViewController.DevicePickerCompletionHandler devicePickerCompletionHandler);

	// inner types
	public sealed delegate DevicePickerCompletionHandler : System.MulticastDelegate {
		// constructors
		public DDDevicePickerViewController.DevicePickerCompletionHandler (object object, IntPtr method);
		// methods
		public virtual System.IAsyncResult BeginInvoke (Network.NWEndpoint endpoint, Network.NWError error, System.AsyncCallback callback, object object);
		public virtual void EndInvoke (System.IAsyncResult result);
		public virtual void Invoke (Network.NWEndpoint endpoint, Network.NWError error);
	}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment