Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created September 11, 2024 22:14
Show Gist options
  • Save vs-mobiletools-engineering-service2/e6bb47663a1048ce39f17815998e32db to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/e6bb47663a1048ce39f17815998e32db to your computer and use it in GitHub Desktop.
stable-api-comparison/diff/dotnet/Microsoft.tvOS.Ref/ref/net8.0/Microsoft.tvOS.md

API diff: Microsoft.tvOS.dll

Microsoft.tvOS.dll

Assembly Version Changed: 17.2.0.0 -> 18.0.0.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioEnvironmentNode

Added property:

public virtual bool ListenerHeadTrackingEnabled { get; set; }

Type Changed: AVFoundation.AVAudioFile

Added property:

public virtual bool IsOpen { get; }

Added method:

public virtual void Close ();

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

[Serializable]
public enum AVAudioSessionInterruptionReason {
	AppWasSuspended = 1,
	BuiltInMicMuted = 2,
	Default = 0,
	RouteDisconnected = 4,
}

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

Added value:

RecordingFailed = -1200,

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

Added property:

public static Foundation.NSString NonBlinkingTextInsertionIndicatorDidChangeNotification { get; }

Added method:

public static bool NonBlinkingTextInsertionIndicator ();

Type Changed: Accessibility.AXPrefers.Notifications

Added methods:

public static Foundation.NSObject ObserveNonBlinkingTextInsertionIndicatorDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveNonBlinkingTextInsertionIndicatorDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);

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

New Type: Accessibility.AXRequest

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

New Type: Accessibility.AXSettings

public static class AXSettings {
	// properties
	public static bool IsAssistiveAccessEnabled { get; }
	// methods
	public static void OpenSettingsFeature (AXSettingsFeature feature, System.Action<Foundation.NSError> completionHandler);
}

New Type: Accessibility.AXSettingsFeature

[Serializable]
public enum AXSettingsFeature {
	PersonalVoiceAllowAppsToRequestToUse = 1,
}

New Type: Accessibility.AXTechnology

[Serializable]
public enum AXTechnology {
	Automation = 5,
	FullKeyboardAccess = 3,
	HoverText = 6,
	SpeakScreen = 4,
	SwitchControl = 1,
	VoiceControl = 2,
	VoiceOver = 0,
	Zoom = 7,
}

New Type: Accessibility.AXTechnologyExtensions

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

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLayoutTag

Added values:

MPEG_5_0_E = 14155781,
MPEG_5_1_E = 14221318,
MPEG_6_1_B = 14286855,
MPEG_7_1_D = 14352392,

Type Changed: AudioToolbox.AudioConverter

Added methods:

public static AudioConverter Create (AudioStreamBasicDescription sourceFormat, AudioStreamBasicDescription destinationFormat, AudioConverterOptions options);
public static AudioConverter Create (AudioStreamBasicDescription sourceFormat, AudioStreamBasicDescription destinationFormat, AudioConverterOptions options, out AudioConverterError error);
public static void Prepare (AudioConverter.PrepareCompletionCallback completionCallback);
public static void Prepare (uint flags, IntPtr ioReserved, AudioConverter.PrepareCompletionCallback completionCallback);

Type Changed: AudioToolbox.AudioFile

Added methods:

public int CountUserData (AudioFileChunkType chunkType);
public AudioFileError GetUserData (AudioFileChunkType chunkType, int index, ref int size, IntPtr userData);
public AudioFileError GetUserData (AudioFileChunkType chunkType, int index, long offset, byte[] data, out int size);
public AudioFileError GetUserData (AudioFileChunkType chunkType, int index, long offset, ref int size, IntPtr userData);
public AudioFileError GetUserData (uint userDataId, int index, long offset, byte[] data, out int size);
public AudioFileError GetUserData (uint userDataId, int index, long offset, ref int size, IntPtr userData);
public int GetUserDataSize (AudioFileChunkType chunkType, int index);
public AudioFileError GetUserDataSize (AudioFileChunkType chunkType, int index, out ulong size);
public AudioFileError GetUserDataSize (uint userDataId, int index, out ulong size);

Type Changed: AudioToolbox.AudioFormatType

Obsoleted fields:

 [Obsolete ("Use 'EnhancedAC3' instead.")]
 EnhancedAES3 = 1700998451,

Added values:

Apac = 1634754915,
EnhancedAC3 = 1700998451,

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

New Type: AudioToolbox.AUVoiceIOOtherAudioDuckingLevel

[Serializable]
public enum AUVoiceIOOtherAudioDuckingLevel {
	Default = 0,
	Max = 30,
	Mid = 20,
	Min = 10,
}

New Type: AudioToolbox.AudioConverterOptions

[Serializable]
[Flags]
public enum AudioConverterOptions {
	None = 0,
	Unbuffered = 65536,
}

Namespace AudioUnit

Type Changed: AudioUnit.AUAudioUnit

Added property:

public virtual Foundation.NSData[] MigrateFromPlugin { get; }

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

Added method:

public virtual void Cancel ();

Type Changed: AuthenticationServices.ASAuthorizationError

Added value:

MatchedExcludedCredential = 1006,

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

[Serializable]
public enum ASAuthorizationPublicKeyCredentialUserVerificationPreferenceEnum {
	Discouraged = 2,
	Preferred = 0,
	Required = 1,
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialUserVerificationPreferenceEnumExtensions

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

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

Added property:

public virtual string ParticipantId { get; }

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

Added property:

public virtual CAToneMapMode ToneMapMode { get; set; }

Type Changed: CoreAnimation.CASpringAnimation

Added constructor:

public CASpringAnimation (double perceptualDuration, System.Runtime.InteropServices.NFloat bounce);

Added properties:

public virtual bool AllowsOverdamping { get; set; }
public virtual System.Runtime.InteropServices.NFloat Bounce { get; }
public virtual double PerceptualDuration { get; }

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

New Type: CoreAnimation.CAMetalDisplayLink

public class CAMetalDisplayLink : Foundation.NSObject {
	// constructors
	public CAMetalDisplayLink (CAMetalLayer layer);
	protected CAMetalDisplayLink (Foundation.NSObjectFlag t);
	protected CAMetalDisplayLink (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public ICAMetalDisplayLinkDelegate Delegate { get; set; }
	public virtual bool Paused { get; set; }
	public virtual float PreferredFrameLatency { get; set; }
	public virtual CAFrameRateRange PreferredFrameRateRange { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual void AddToRunLoop (Foundation.NSRunLoop runloop, Foundation.NSRunLoopMode mode);
	protected override void Dispose (bool disposing);
	public virtual void Invalidate ();
	public virtual void RemoveFromRunLoop (Foundation.NSRunLoop runloop, Foundation.NSRunLoopMode mode);
}

New Type: CoreAnimation.CAMetalDisplayLinkDelegate

public abstract class CAMetalDisplayLinkDelegate : Foundation.NSObject, ICAMetalDisplayLinkDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CAMetalDisplayLinkDelegate ();
	protected CAMetalDisplayLinkDelegate (Foundation.NSObjectFlag t);
	protected CAMetalDisplayLinkDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual void NeedsUpdate (CAMetalDisplayLink link, CAMetalDisplayLinkUpdate update);
}

New Type: CoreAnimation.CAMetalDisplayLinkUpdate

public class CAMetalDisplayLinkUpdate : Foundation.NSObject {
	// constructors
	protected CAMetalDisplayLinkUpdate (Foundation.NSObjectFlag t);
	protected CAMetalDisplayLinkUpdate (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual ICAMetalDrawable Drawable { get; }
	public virtual double TargetPresentationTimestamp { get; }
	public virtual double TargetTimestamp { get; }
}

New Type: CoreAnimation.CARenderer

public class CARenderer : Foundation.NSObject {
	// constructors
	public CARenderer ();
	protected CARenderer (Foundation.NSObjectFlag t);
	protected CARenderer (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual CoreGraphics.CGRect Bounds { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CALayer Layer { get; set; }
	// methods
	public virtual void AddUpdate (CoreGraphics.CGRect r);
	public void BeginFrame (double timeInSeconds);
	public virtual void BeginFrame (double timeInSeconds, ref Foundation.NSObject ts);
	public static CARenderer Create (Metal.IMTLTexture tex, CARendererOptions options);
	public static CARenderer Create (Metal.IMTLTexture tex, Foundation.NSDictionary dict);
	public virtual void EndFrame ();
	public virtual double GetNextFrameTime ();
	public virtual void Render ();
	public virtual void SetDestination (Metal.IMTLTexture tex);
	public virtual CoreGraphics.CGRect UpdateBounds ();
}

New Type: CoreAnimation.CARendererOptions

public class CARendererOptions : Foundation.DictionaryContainer {
	// constructors
	public CARendererOptions ();
	public CARendererOptions (Foundation.NSDictionary dictionary);
	// properties
	public CoreGraphics.CGColorSpace ColorSpace { get; set; }
	public Metal.IMTLCommandQueue MetalCommandQueue { get; set; }
}

New Type: CoreAnimation.CAToneMapMode

[Serializable]
public enum CAToneMapMode {
	Automatic = 0,
	IfSupported = 2,
	Never = 1,
}

New Type: CoreAnimation.CAToneMapModeExtensions

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

New Type: CoreAnimation.ICAMetalDisplayLinkDelegate

public interface ICAMetalDisplayLinkDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void NeedsUpdate (CAMetalDisplayLink link, CAMetalDisplayLinkUpdate update);
}

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBUUID

Added property:

public static Foundation.NSString CharacteristicObservationScheduleString { get; }

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

Type Changed: CoreData.UserInfoKeys

Added property:

public static Foundation.NSString ModelVersionChecksumKey { get; }

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColorSpace

Added method:

public CGColorSpace CopyBaseColorSpace ();

Type Changed: CoreGraphics.CGColorSpaceNames

Added property:

public static Foundation.NSString CoreMedia709 { get; }

Type Changed: CoreGraphics.CGContext

Added methods:

public bool DrawImageApplyingToneMapping (CGRect rect, CGImage image, CGToneMapping method, CGToneMappingOptions options);
public bool DrawImageApplyingToneMapping (CGRect rect, CGImage image, CGToneMapping method, Foundation.NSDictionary options);
public float GetEdrTargetHeadroom ();
public bool SetEdrTargetHeadroom (float value);

Type Changed: CoreGraphics.CGContextPDF

Added methods:

public void SetIdTree (CGPDFDictionary idTreeDictionary);
public void SetPageTagStructureTree (Foundation.NSDictionary pageTagStructureTreeDictionary);
public void SetParentTree (CGPDFDictionary parentTreeDictionary);

Type Changed: CoreGraphics.CGImage

Added constructor:

public CGImage (float headroom, int width, int height, int bitsPerComponent, int bitsPerPixel, int bytesPerRow, CGColorSpace colorSpace, CGBitmapFlags bitmapFlags, CGDataProvider provider, System.Runtime.InteropServices.NFloat[] decode, bool shouldInterpolate, CGColorRenderingIntent intent);

Added properties:

public bool ContainsImageSpecificToneMappingMetadata { get; }
public float ContentHeadroom { get; }
public static float DefaultHdrImageContentHeadroom { get; }
public bool ShouldToneMap { get; }

Added method:

public CGImage Copy (float headroom);

Type Changed: CoreGraphics.CGPdfTagType

Added value:

Object = 800,

New Type: CoreGraphics.CGToneMapping

[Serializable]
public enum CGToneMapping {
	Default = 0,
	ExrGamma = 4,
	ImageSpecificLumaScaling = 1,
	IturRecommended = 3,
	None = 5,
	ReferenceWhiteBased = 2,
}

New Type: CoreGraphics.CGToneMappingOptionKeys

public class CGToneMappingOptionKeys {
	// constructors
	public CGToneMappingOptionKeys ();
}

New Type: CoreGraphics.CGToneMappingOptions

public class CGToneMappingOptions : Foundation.DictionaryContainer {
	// constructors
	public CGToneMappingOptions ();
	public CGToneMappingOptions (Foundation.NSDictionary dictionary);
	// properties
	public float? ExrToneMappingGammaDefog { get; set; }
	public float? ExrToneMappingGammaExposure { get; set; }
	public float? ExrToneMappingGammaKneeHigh { get; set; }
	public float? ExrToneMappingGammaKneeLow { get; set; }
	public bool? SkipBoostToHdr { get; set; }
	public bool? Use100nitsHlgOotf { get; set; }
	public bool? UseBT1886ForCoreVideoGamma { get; set; }
}

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

Added properties:

public virtual float ContentHeadroom { get; }
public virtual Metal.IMTLTexture MetalTexture { get; }
public virtual bool Opaque { get; }

Added methods:

public virtual CIImage CreateByApplyingGainMap (CIImage gainMap);
public virtual CIImage CreateByApplyingGainMap (CIImage gainMap, float headroom);

Type Changed: CoreImage.CIToneCurve

Added property:

public bool Extrapolate { get; set; }

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

New Type: CoreImage.CIAreaBoundsRed

public class CIAreaBoundsRed : CoreImage.CIFilter, ICIAreaBoundsRedProtocol, ICIAreaReductionFilterProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CIAreaBoundsRed ();
	public CIAreaBoundsRed (Foundation.NSCoder coder);
	protected CIAreaBoundsRed (Foundation.NSObjectFlag t);
	protected CIAreaBoundsRed (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual CIImage InputImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

New Type: CoreImage.CIMaximumScaleTransform

public class CIMaximumScaleTransform : CoreImage.CIFilter, ICIFilterProtocol, ICIMaximumScaleTransformProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CIMaximumScaleTransform ();
	public CIMaximumScaleTransform (Foundation.NSCoder coder);
	protected CIMaximumScaleTransform (Foundation.NSObjectFlag t);
	protected CIMaximumScaleTransform (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual float AspectRatio { get; set; }
	public virtual CIImage InputImage { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual float Scale { get; set; }
}

New Type: CoreImage.CIToneMapHeadroom

public class CIToneMapHeadroom : CoreImage.CIFilter, ICIFilterProtocol, ICIToneMapHeadroomProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CIToneMapHeadroom ();
	public CIToneMapHeadroom (Foundation.NSCoder coder);
	protected CIToneMapHeadroom (Foundation.NSObjectFlag t);
	protected CIToneMapHeadroom (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual CIImage InputImage { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual float SourceHeadroom { get; set; }
	public virtual float TargetHeadroom { get; set; }
}

New Type: CoreImage.ICIAreaBoundsRedProtocol

public interface ICIAreaBoundsRedProtocol : ICIAreaReductionFilterProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CoreImage.ICIMaximumScaleTransformProtocol

public interface ICIMaximumScaleTransformProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual float AspectRatio { get; set; }
	public virtual CIImage InputImage { get; set; }
	public virtual float Scale { get; set; }
}

New Type: CoreImage.ICIToneMapHeadroomProtocol

public interface ICIToneMapHeadroomProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CIImage InputImage { get; set; }
	public virtual float SourceHeadroom { get; set; }
	public virtual float TargetHeadroom { get; set; }
}

Namespace CoreLocation

Type Changed: CoreLocation.CLUpdate

Added properties:

public virtual bool AccuracyLimited { get; }
public virtual bool AuthorizationDenied { get; }
public virtual bool AuthorizationDeniedGlobally { get; }
public virtual bool AuthorizationRestricted { get; }
public virtual bool InsufficientlyInUse { get; }
public virtual bool LocationUnavailable { get; }
public virtual bool Stationary { get; }

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

New Type: CoreLocation.CLBackgroundActivitySession

public class CLBackgroundActivitySession : Foundation.NSObject {
	// constructors
	protected CLBackgroundActivitySession (Foundation.NSObjectFlag t);
	protected CLBackgroundActivitySession (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static CLBackgroundActivitySession Create ();
	public static CLBackgroundActivitySession Create (CoreFoundation.DispatchQueue queue, CLBackgroundActivitySessionCreateHandler handler);
	public virtual void Invalidate ();
}

New Type: CoreLocation.CLBackgroundActivitySessionCreateHandler

public sealed delegate CLBackgroundActivitySessionCreateHandler : System.MulticastDelegate {
	// constructors
	public CLBackgroundActivitySessionCreateHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CLBackgroundActivitySessionDiagnostic diagnostic, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CLBackgroundActivitySessionDiagnostic diagnostic);
}

New Type: CoreLocation.CLBackgroundActivitySessionDiagnostic

public class CLBackgroundActivitySessionDiagnostic : Foundation.NSObject {
	// constructors
	public CLBackgroundActivitySessionDiagnostic ();
	protected CLBackgroundActivitySessionDiagnostic (Foundation.NSObjectFlag t);
	protected CLBackgroundActivitySessionDiagnostic (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual bool AuthorizationDenied { get; }
	public virtual bool AuthorizationDeniedGlobally { get; }
	public virtual bool AuthorizationRequestInProgress { get; }
	public virtual bool AuthorizationRestricted { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool InsufficientlyInUse { get; }
	public virtual bool ServiceSessionRequired { get; }
}

New Type: CoreLocation.CLServiceSession

public class CLServiceSession : Foundation.NSObject {
	// constructors
	protected CLServiceSession (Foundation.NSObjectFlag t);
	protected CLServiceSession (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static CLServiceSession CreateSession (CLServiceSessionAuthorizationRequirement authorizationRequirement);
	public static CLServiceSession CreateSession (CLServiceSessionAuthorizationRequirement authorizationRequirement, string fullAccuracyPurposeKey);
	public static CLServiceSession CreateSession (CLServiceSessionAuthorizationRequirement authorizationRequirement, CoreFoundation.DispatchQueue queue, CLServiceSessionCreateHandler handler);
	public static CLServiceSession CreateSession (CLServiceSessionAuthorizationRequirement authorizationRequirement, string fullAccuracyPurposeKey, CoreFoundation.DispatchQueue queue, CLServiceSessionCreateHandler handler);
	public virtual void Invalidate ();
}

New Type: CoreLocation.CLServiceSessionAuthorizationRequirement

[Serializable]
public enum CLServiceSessionAuthorizationRequirement {
	Always = 2,
	None = 0,
	WhenInUse = 1,
}

New Type: CoreLocation.CLServiceSessionCreateHandler

public sealed delegate CLServiceSessionCreateHandler : System.MulticastDelegate {
	// constructors
	public CLServiceSessionCreateHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CLServiceSessionDiagnostic diagnostic, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CLServiceSessionDiagnostic diagnostic);
}

New Type: CoreLocation.CLServiceSessionDiagnostic

public class CLServiceSessionDiagnostic : Foundation.NSObject {
	// constructors
	protected CLServiceSessionDiagnostic (Foundation.NSObjectFlag t);
	protected CLServiceSessionDiagnostic (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual bool AlwaysAuthorizationDenied { get; }
	public virtual bool AuthorizationDenied { get; }
	public virtual bool AuthorizationDeniedGlobally { get; }
	public virtual bool AuthorizationRequestInProgress { get; }
	public virtual bool AuthorizationRestricted { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool FullAccuracyDenied { get; }
	public virtual bool InsufficientlyInUse { get; }
	public virtual bool ServiceSessionRequired { get; }
}

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

Added methods:

public void DrawImage (ICTAdaptiveImageProviding provider, CoreGraphics.CGPoint point, CoreGraphics.CGContext context);
public CoreGraphics.CGRect GetTypographicBoundsForAdaptiveImageProvider (ICTAdaptiveImageProviding provider);
public bool HasTable (CTFontTable tag);

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

Type Changed: CoreText.CTStringAttributeKey

Added properties:

public static Foundation.NSString AdaptiveImageProvider { get; }
public static Foundation.NSString RubyAnnotation { get; }

Type Changed: CoreText.CTStringAttributes

Added property:

public ICTAdaptiveImageProviding AdaptiveImageProvider { 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; }
}

New Type: CoreText.ICTAdaptiveImageProviding

public interface ICTAdaptiveImageProviding : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual CoreGraphics.CGImage GetImage (CoreGraphics.CGSize proposedSize, System.Runtime.InteropServices.NFloat scaleFactor, out CoreGraphics.CGPoint imageOffset, out CoreGraphics.CGSize imageSize);
}

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 ulong? GetULongValue (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.NSAttributedString

Added methods:

public static NSAttributedString Create (UIKit.NSAdaptiveImageGlyph adaptiveImageGlyph, Foundation.NSDictionary<NSString,Foundation.NSObject> attributes);
public static NSAttributedString FromAttachment (UIKit.NSTextAttachment attachment, Foundation.NSDictionary<NSString,Foundation.NSObject> attributes);
public virtual bool PrefersRtfdInRange (NSRange range);

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,
LocalizedNumberFormat = 13,

Type Changed: Foundation.NSBundle

Added property:

public static NSString BundleDidLoadNotification { get; }

Type Changed: Foundation.NSCalendarUnit

Added value:

DayOfYear = 65536,

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

Added property:

public virtual IntPtr DayOfYear { get; set; }

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

Added property:

public virtual bool AllowsPersistentDns { get; set; }

Type Changed: Foundation.NSNumber

Added methods:

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

Type Changed: Foundation.NSNumberFormatter

Added property:

public virtual IntPtr MinimumGroupingDigits { get; set; }

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

Added property:

public static NSString PerformanceProfileDidChangeNotification { get; }

Type Changed: Foundation.NSProcessInfo.Notifications

Added methods:

public static NSObject ObservePerformanceProfileDidChange (System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObservePerformanceProfileDidChange (NSObject objectToObserve, System.EventHandler<NSNotificationEventArgs> handler);

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

Added methods:

public virtual NSObject GetRedoActionUserInfoValue (string key);
public virtual NSObject GetUndoActionUserInfoValue (string key);
public virtual void SetActionUserInfoValue (NSObject info, string key);

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

Added property:

public virtual bool AllowsPersistentDns { get; }

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

public static class NSKeyValueSharedObserverRegistration_NSObject {
	// methods
	public static void SetSharedObservers (this NSObject This, NSKeyValueSharedObserversSnapshot sharedObservers);
}

New Type: Foundation.NSKeyValueSharedObservers

public class NSKeyValueSharedObservers : Foundation.NSObject {
	// constructors
	protected NSKeyValueSharedObservers (NSObjectFlag t);
	public NSKeyValueSharedObservers (ObjCRuntime.Class observableClass);
	protected NSKeyValueSharedObservers (ObjCRuntime.NativeHandle handle);
	public NSKeyValueSharedObservers (System.Type observableType);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual void AddSharedObserver (NSObject observer, string forKey, NSKeyValueObservingOptions options, IntPtr context);
	public virtual NSKeyValueSharedObserversSnapshot GetSnapshot ();
}

New Type: Foundation.NSKeyValueSharedObserversSnapshot

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

New Type: Foundation.NSLocalizedNumberFormatRule

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

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

New Type: GameController.GCUIEventTypes

[Serializable]
public enum GCUIEventTypes {
	Gamepad = 1,
	None = 0,
}

Namespace GameKit

Type Changed: GameKit.GKAccessPoint

Added methods:

public virtual void TriggerAccessPoint (GKPlayer player, System.Action handler);
public virtual void TriggerAccessPoint (string leaderboardId, GKLeaderboardPlayerScope playerScope, GKLeaderboardTimeScope timeScope, System.Action handler);
public virtual void TriggerAccessPointWithAchievementId (string achievementId, System.Action handler);
public virtual void TriggerAccessPointWithLeaderboardSetId (string leaderboardSetId, System.Action handler);

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

Added constructors:

public GKGameCenterViewController (GKPlayer player);
public GKGameCenterViewController (string id, GKGameCenterViewControllerInitializationOption option);

Type Changed: GameKit.GKLeaderboardEntry

Added properties:

public virtual UIntPtr Context { get; }
public virtual Foundation.NSDate Date { get; }
public virtual string FormattedScore { get; }
public virtual IntPtr Rank { get; }
public virtual IntPtr Score { get; }

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

New Type: GameKit.GKGameCenterViewControllerInitializationOption

[Serializable]
public enum GKGameCenterViewControllerInitializationOption {
	Achievement = 0,
	LeaderboardSet = 1,
}

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

Added values:

AirPort = 32,
AudioReceiver = 31,
Speaker = 30,
Television = 26,
TelevisionSetTopBox = 27,
TelevisionStreamingStick = 28,
WiFiRouter = 29,

Type Changed: HomeKit.HMCharacteristicType

Added values:

ActiveIdentifier = 130,
ClosedCaptions = 123,
ConfiguredName = 128,
CurrentMediaState = 125,
CurrentVisibilityState = 132,
Identifier = 129,
InputDeviceType = 122,
InputSourceType = 121,
PictureMode = 127,
PowerModeSelection = 124,
RemoteKey = 126,
RouterStatus = 133,
TargetMediaState = 138,
TargetVisibilityState = 131,
VolumeControlType = 136,
VolumeSelector = 137,
WanStatusList = 134,
WiFiSatelliteStatus = 135,

Type Changed: HomeKit.HMError

Added value:

PartialCommunicationFailure = 104,

Type Changed: HomeKit.HMService

Added property:

public virtual Foundation.NSNumber MatterEndpointId { get; }

Type Changed: HomeKit.HMServiceType

Added values:

InputSource = 44,
Television = 43,
WiFiRouter = 45,
WiFiSatellite = 46,

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

New Type: HomeKit.HMCharacteristicValueClosedCaptions

[Serializable]
public enum HMCharacteristicValueClosedCaptions {
	Disabled = 0,
	Enabled = 1,
}

New Type: HomeKit.HMCharacteristicValueCurrentMediaState

[Serializable]
public enum HMCharacteristicValueCurrentMediaState {
	Interrupted = 5,
	Loading = 4,
	Paused = 1,
	Playing = 0,
	Stopped = 2,
	Unknown = 3,
}

New Type: HomeKit.HMCharacteristicValueCurrentVisibilityState

[Serializable]
public enum HMCharacteristicValueCurrentVisibilityState {
	AlwaysShown = 3,
	Connected = 2,
	Hidden = 1,
	Shown = 0,
}

New Type: HomeKit.HMCharacteristicValueInputDeviceType

[Serializable]
public enum HMCharacteristicValueInputDeviceType {
	AudioSystem = 5,
	None = 6,
	Other = 0,
	Playback = 4,
	Recording = 2,
	TV = 1,
	Tuner = 3,
}

New Type: HomeKit.HMCharacteristicValueInputSourceType

[Serializable]
public enum HMCharacteristicValueInputSourceType {
	AirPlay = 8,
	Application = 10,
	ComponentVideo = 6,
	CompositeVideo = 4,
	Dvi = 7,
	Hdmi = 3,
	HomeScreen = 1,
	Other = 0,
	SVideo = 5,
	Tuner = 2,
	Usb = 9,
}

New Type: HomeKit.HMCharacteristicValuePictureMode

[Serializable]
public enum HMCharacteristicValuePictureMode {
	Bright = 7,
	Calibrated = 10,
	Computer = 8,
	Custom1 = 11,
	Custom2 = 12,
	Custom3 = 13,
	Dark = 6,
	Game = 3,
	Movie = 1,
	Night = 9,
	Photo = 4,
	Sport = 2,
	Standard = 0,
	Vivid = 5,
}

New Type: HomeKit.HMCharacteristicValuePowerModeSelection

[Serializable]
public enum HMCharacteristicValuePowerModeSelection {
	Hide = 1,
	Show = 0,
}

New Type: HomeKit.HMCharacteristicValueRemoteKey

[Serializable]
public enum HMCharacteristicValueRemoteKey {
	ArrowDown = 5,
	ArrowLeft = 6,
	ArrowRight = 7,
	ArrowUp = 4,
	Back = 9,
	Exit = 10,
	FastForward = 1,
	Home = 16,
	Info = 15,
	Menu = 14,
	NextTrack = 2,
	Pause = 13,
	Play = 12,
	PlayPause = 11,
	PreviousTrack = 3,
	Rewind = 0,
	Select = 8,
}

New Type: HomeKit.HMCharacteristicValueRouterStatus

[Serializable]
public enum HMCharacteristicValueRouterStatus {
	NotReady = 1,
	Ready = 0,
}

New Type: HomeKit.HMCharacteristicValueTargetMediaState

[Serializable]
public enum HMCharacteristicValueTargetMediaState {
	Pause = 1,
	Play = 0,
	Stop = 2,
}

New Type: HomeKit.HMCharacteristicValueTargetVisibilityState

[Serializable]
public enum HMCharacteristicValueTargetVisibilityState {
	Hide = 1,
	Show = 0,
}

New Type: HomeKit.HMCharacteristicValueVolumeControlType

[Serializable]
public enum HMCharacteristicValueVolumeControlType {
	Absolute = 3,
	None = 0,
	Relative = 1,
	RelativeWithCurrent = 2,
}

New Type: HomeKit.HMCharacteristicValueVolumeSelector

[Serializable]
public enum HMCharacteristicValueVolumeSelector {
	VolumeDecrement = 1,
	VolumeIncrement = 0,
}

New Type: HomeKit.HMCharacteristicValueWiFiSatelliteStatus

[Serializable]
public enum HMCharacteristicValueWiFiSatelliteStatus {
	Connected = 1,
	NotConnected = 2,
	Unknown = 0,
}

Namespace IOSurface

Type Changed: IOSurface.IOSurface

Added property:

public virtual uint SurfaceId { get; }

Namespace ImageIO

Type Changed: ImageIO.CGImageAuxiliaryDataInfo

Added property:

public CoreGraphics.CGColorSpace ColorSpace { get; set; }

Type Changed: ImageIO.CGImageAuxiliaryDataType

Added value:

IsoGainMap = 9,

Type Changed: ImageIO.CGImageDestinationOptionsKeys

Added properties:

public static Foundation.NSString EncodeBaseIsSdr { get; }
public static Foundation.NSString EncodeRequest { get; }
public static Foundation.NSString EncodeRequestOptions { get; }
public static Foundation.NSString EncodeToIsoGainmap { get; }
public static Foundation.NSString EncodeToIsoHdr { get; }
public static Foundation.NSString EncodeToSdr { get; }
public static Foundation.NSString EncodeTonemapMode { get; }

Type Changed: ImageIO.CGImageProperties

Added properties:

public static Foundation.NSString GroupImageIndexMonoscopic { get; }
public static Foundation.NSString GroupImageIsMonoscopicImage { get; }
public static Foundation.NSString GroupImageStereoAggressors { get; }
public static Foundation.NSString GroupMonoscopicImageLocation { get; }
public static Foundation.NSString TIFFXPosition { get; }
public static Foundation.NSString TIFFYPosition { get; }

Type Changed: ImageIO.CGImageSource

Added method:

public static void SetAllowableTypes (string[] allowableTypes);

New Type: ImageIO.IOMonoscopicImageLocation

public static class IOMonoscopicImageLocation {
	// properties
	public static Foundation.NSString Center { get; }
	public static Foundation.NSString Left { get; }
	public static Foundation.NSString Right { get; }
	public static Foundation.NSString Unspecified { get; }
}

New Type: ImageIO.IOStereoAggressors

public static class IOStereoAggressors {
	// properties
	public static Foundation.NSString Severity { get; }
	public static Foundation.NSString SubTypeUri { get; }
	public static Foundation.NSString Type { get; }
}

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 JavaScriptCore

Type Changed: JavaScriptCore.JSType

Added value:

BigInt = 7,

Type Changed: JavaScriptCore.JSValue

Added property:

public virtual bool IsBigInt { get; }

Added methods:

public virtual JSRelationCondition Compare (JSValue other);
public virtual JSRelationCondition Compare (double other);
public virtual JSRelationCondition Compare (long other);
public virtual JSRelationCondition Compare (ulong other);
public static JSValue CreateNewBigInt (double uint64, JSContext context);
public static JSValue CreateNewBigInt (long int64, JSContext context);
public static JSValue CreateNewBigInt (string string, JSContext context);
public static JSValue CreateNewBigInt (ulong uint64, JSContext context);
public virtual long ToInt64 ();
public virtual ulong ToUInt64 ();

New Type: JavaScriptCore.JSRelationCondition

[Serializable]
public enum JSRelationCondition {
	Equal = 1,
	GreaterThan = 2,
	LessThan = 3,
	Undefined = 0,
}

Namespace LinkPresentation

Type Changed: LinkPresentation.LPErrorCode

Added value:

MetadataFetchNotAllowed = 5,

New Type: LinkPresentation.LPMetadataProvider

public class LPMetadataProvider : Foundation.NSObject {
	// constructors
	public LPMetadataProvider ();
	protected LPMetadataProvider (Foundation.NSObjectFlag t);
	protected LPMetadataProvider (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool ShouldFetchSubresources { get; set; }
	public virtual double Timeout { get; set; }
	// methods
	public virtual void Cancel ();
	public virtual void StartFetchingMetadata (Foundation.NSUrl url, System.Action<LPLinkMetadata,Foundation.NSError> completionHandler);
	public virtual void StartFetchingMetadata (Foundation.NSUrlRequest request, System.Action<LPLinkMetadata,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<LPLinkMetadata> StartFetchingMetadataAsync (Foundation.NSUrl url);
	public virtual System.Threading.Tasks.Task<LPLinkMetadata> StartFetchingMetadataAsync (Foundation.NSUrlRequest request);
}

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

Type Changed: MapKit.MKAnnotation

Added property:

public static Foundation.NSString CalloutInfoDidChangeNotification { get; }

Type Changed: MapKit.MKClusterAnnotation

Added property:

public static Foundation.NSString CalloutInfoDidChangeNotification { get; }

Type Changed: MapKit.MKLocalSearchCompleter

Added properties:

public virtual MKAddressFilter AddressFilter { get; set; }
public virtual MKLocalSearchRegionPriority RegionPriority { get; set; }

Type Changed: MapKit.MKLocalSearchCompleterResultType

Added value:

PhysicalFeature = 8,

Type Changed: MapKit.MKLocalSearchRequest

Added properties:

public virtual MKAddressFilter AddressFilter { get; set; }
public virtual MKLocalSearchRegionPriority RegionPriority { get; set; }

Type Changed: MapKit.MKLocalSearchResultType

Added value:

PhysicalFeature = 4,

Type Changed: MapKit.MKMapItem

Added properties:

public virtual Foundation.NSSet<MKMapItemIdentifier> AlternateIdentifiers { get; }
public virtual MKMapItemIdentifier Identifier { get; }

Type Changed: MapKit.MKPlacemark

Added property:

public static Foundation.NSString CalloutInfoDidChangeNotification { get; }

Type Changed: MapKit.MKPointOfInterestCategory

Added values:

AnimalService = 40,
AutomotiveRepair = 41,
Baseball = 42,
Basketball = 43,
Beauty = 44,
Bowling = 45,
Castle = 46,
ConventionCenter = 47,
Distillery = 48,
Fairground = 49,
Fishing = 50,
Fortress = 51,
GoKart = 53,
Golf = 52,
Hiking = 54,
Kayaking = 55,
Landmark = 56,
Mailbox = 57,
MiniGolf = 58,
MusicVenue = 59,
NationalMonument = 60,
Planetarium = 61,
RVPark = 63,
RockClimbing = 62,
SkatePark = 64,
Skating = 65,
Skiing = 66,
Soccer = 67,
Spa = 68,
Surfing = 69,
Swimming = 70,
Tennis = 71,
Volleyball = 72,

Type Changed: MapKit.MKShape

Added property:

public static Foundation.NSString CalloutInfoDidChangeNotification { get; }

New Type: MapKit.MKAddressFilter

public class MKAddressFilter : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MKAddressFilter (Foundation.NSCoder coder);
	protected MKAddressFilter (Foundation.NSObjectFlag t);
	protected MKAddressFilter (ObjCRuntime.NativeHandle handle);
	public MKAddressFilter (MKAddressFilterOption options, MKAddressFilterConstructorOption constructorOption);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static MKAddressFilter ExcludingAll { get; }
	public static MKAddressFilter IncludingAll { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual bool Excludes (MKAddressFilterOption options);
	public virtual bool Includes (MKAddressFilterOption options);
}

New Type: MapKit.MKAddressFilterConstructorOption

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

New Type: MapKit.MKAddressFilterOption

[Serializable]
[Flags]
public enum MKAddressFilterOption {
	AdministrativeArea = 2,
	Country = 1,
	Locality = 8,
	PostalCode = 32,
	SubAdministrativeArea = 4,
	SubLocality = 16,
}

New Type: MapKit.MKLocalSearchRegionPriority

[Serializable]
public enum MKLocalSearchRegionPriority {
	Default = 0,
	Required = 1,
}

New Type: MapKit.MKMapItemAnnotation

public class MKMapItemAnnotation : Foundation.NSObject, IMKAnnotation, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MKMapItemAnnotation (Foundation.NSObjectFlag t);
	public MKMapItemAnnotation (MKMapItem mapItem);
	protected MKMapItemAnnotation (ObjCRuntime.NativeHandle handle);
	// properties
	public static Foundation.NSString CalloutInfoDidChangeNotification { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreLocation.CLLocationCoordinate2D Coordinate { get; }
	public virtual MKMapItem MapItem { get; }
	public virtual string Subtitle { get; }
	public virtual string Title { get; }
	// methods
	public virtual void SetCoordinate (CoreLocation.CLLocationCoordinate2D value);

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

New Type: MapKit.MKMapItemIdentifier

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

New Type: MapKit.MKMapItemRequest

public class MKMapItemRequest : Foundation.NSObject {
	// constructors
	protected MKMapItemRequest (Foundation.NSObjectFlag t);
	public MKMapItemRequest (MKMapItemIdentifier identifier);
	protected MKMapItemRequest (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool IsCancelled { get; }
	public virtual bool IsLoading { get; }
	public virtual MKMapItemIdentifier MapItemIdentifier { get; }
	// methods
	public virtual void Cancel ();
	public virtual void GetMapItem (System.Action<MKMapItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<MKMapItem> GetMapItemAsync ();
}

Namespace MediaAccessibility

Type Changed: MediaAccessibility.MACaptionAppearance

Added method:

public static bool IsCustomized (MACaptionAppearanceDomain domain);

New Type: MediaAccessibility.MAMusicHapticTrackAvailabilityCallback

public sealed delegate MAMusicHapticTrackAvailabilityCallback : System.MulticastDelegate {
	// constructors
	public MAMusicHapticTrackAvailabilityCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool musicHapticsAvailable, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (bool musicHapticsAvailable);
}

New Type: MediaAccessibility.MAMusicHapticTrackStatusObserver

public sealed delegate MAMusicHapticTrackStatusObserver : System.MulticastDelegate {
	// constructors
	public MAMusicHapticTrackStatusObserver (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (string internationalStandardRecordingCode, bool musicHapticsActive, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (string internationalStandardRecordingCode, bool musicHapticsActive);
}

New Type: MediaAccessibility.MAMusicHapticsManager

public class MAMusicHapticsManager : Foundation.NSObject {
	// constructors
	protected MAMusicHapticsManager (Foundation.NSObjectFlag t);
	protected MAMusicHapticsManager (ObjCRuntime.NativeHandle handle);
	// properties
	public static Foundation.NSString ActiveStatusDidChangeNotification { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool IsActive { get; }
	public static MAMusicHapticsManager SharedManager { get; }
	// methods
	public virtual Foundation.INSCopying AddStatusObserver (MAMusicHapticTrackStatusObserver statusHandler);
	public virtual void CheckHapticTrackAvailability (string internationalStandardRecordingCode, MAMusicHapticTrackAvailabilityCallback completionHandler);
	public virtual System.Threading.Tasks.Task<bool> CheckHapticTrackAvailabilityAsync (string internationalStandardRecordingCode);
	public virtual void RemoveStatusObserver (Foundation.INSCopying registrationToken);

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

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

Type Changed: MediaPlayer.MPNowPlayingInfoCenter

Added properties:

public static Foundation.NSString PropertyExcludeFromSuggestions { get; }
public static Foundation.NSString PropertyInternationalStandardRecordingCode { get; }

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)

Added methods:

public virtual bool AddLibrary (MTLStitchedLibraryDescriptor descriptor, out Foundation.NSError error);
public virtual bool AddMeshRenderPipelineFunctions (MTLMeshRenderPipelineDescriptor descriptor, 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

Added interface:

IMTLAllocation

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);
public virtual void UseResidencySet (IMTLResidencySet residencySet);
public virtual void UseResidencySets (IMTLResidencySet[] residencySets);
public virtual void UseResidencySets (IntPtr residencySets, UIntPtr count);

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

Added methods:

public virtual void AddResidencySet (IMTLResidencySet residencySet);
public virtual void AddResidencySets (IMTLResidencySet[] residencySets);
public virtual void AddResidencySets (IntPtr residencySets, UIntPtr count);
public virtual void RemoveResidencySet (IMTLResidencySet residencySet);
public virtual void RemoveResidencySets (IMTLResidencySet[] residencySets);
public virtual void RemoveResidencySets (IntPtr residencySets, UIntPtr count);

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

public virtual MTLResourceId GpuResourceId { get; }
public virtual MTLShaderValidation ShaderValidation { 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 IMTLCommandQueue CreateCommandQueue (MTLCommandQueueDescriptor descriptor);
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 IMTLResidencySet CreateResidencySet (MTLResidencySetDescriptor descriptor, out Foundation.NSError error);
public virtual MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (MTLAccelerationStructureDescriptor descriptor);
public virtual MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (UIntPtr size);
public virtual IMTLLogState GetNewLogState (MTLLogStateDescriptor descriptor, out Foundation.NSError error);
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

Added interface:

IMTLAllocation

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

Added interface:

IMTLAllocation

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; }
public virtual MTLShaderValidation ShaderValidation { 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

Added interface:

IMTLAllocation

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

Added interface:

IMTLAllocation

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

Added property:

public virtual IMTLLogState LogState { get; set; }

Type Changed: Metal.MTLCompileOptions

Added properties:

public virtual bool AllowReferencingUndefinedSymbols { get; set; }
public virtual MTLCompileSymbolVisibility CompileSymbolVisibility { get; set; }
public virtual bool EnableLogging { get; set; }
public virtual MTLMathFloatingPointFunctions MathFloatingPointFunctions { get; set; }
public virtual MTLMathMode MathMode { 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 MTLShaderValidation ShaderValidation { 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

Added method:

public static IMTLDevice[] GetAllDevices ();

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

FailOnBinaryArchiveMiss = 4,
StoreFunctionInMetalPipelinesScript = 2,
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,
v3_2 = 196610,

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

Added value:

BindingInfo = 1,

Type Changed: Metal.MTLRenderPassDescriptor

Added property:

public virtual IMTLRasterizationRateMap RasterizationRateMap { get; set; }

Type Changed: Metal.MTLRenderPipelineDescriptor

Added properties:

public virtual UIntPtr MaxVertexAmplificationCount { get; set; }
public virtual MTLShaderValidation ShaderValidation { 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.MTLStitchedLibraryDescriptor

Added properties:

public virtual IMTLBinaryArchive[] BinaryArchives { get; set; }
public virtual MTLStitchedLibraryOptions Options { 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 MTLShaderValidation ShaderValidation { 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 : IMTLAllocation, 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.IMTLAllocation

public interface IMTLAllocation : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UIntPtr AllocatedSize { get; }
}

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 : IMTLAllocation, 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.IMTLLogState

public interface IMTLLogState : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void AddLogHandler (MTLLogStateLogHandler handler);
}

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

public interface IMTLResidencySet : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IMTLAllocation[] AllAllocations { get; }
	public virtual ulong AllocatedSize { get; }
	public virtual UIntPtr AllocationCount { get; }
	public virtual IMTLDevice Device { get; }
	public virtual string Label { get; }
	// methods
	public virtual void AddAllocation (IMTLAllocation allocation);
	public virtual void AddAllocations (IMTLAllocation[] allocations);
	public virtual void AddAllocations (IntPtr allocations, UIntPtr count);
	public virtual void Commit ();
	public virtual bool ContainsAllocation (IMTLAllocation allocation);
	public virtual void EndResidency ();
	public virtual void RemoveAllAllocations ();
	public virtual void RemoveAllocation (IMTLAllocation allocation);
	public virtual void RemoveAllocations (IMTLAllocation[] allocations);
	public virtual void RemoveAllocations (IntPtr allocations, UIntPtr count);
	public virtual void RequestResidency ();
}

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 : IMTLAllocation, 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.MTLCommandQueueDescriptor

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

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

[Serializable]
public enum MTLLogLevel {
	Debug = 1,
	Error = 4,
	Fault = 5,
	Info = 2,
	Notice = 3,
	Undefined = 0,
}

New Type: Metal.MTLLogStateDescriptor

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

New Type: Metal.MTLLogStateError

[Serializable]
public enum MTLLogStateError {
	Invalid = 2,
	InvalidSize = 1,
}

New Type: Metal.MTLLogStateErrorExtensions

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

New Type: Metal.MTLLogStateLogHandler

public sealed delegate MTLLogStateLogHandler : System.MulticastDelegate {
	// constructors
	public MTLLogStateLogHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (string subSystem, string category, MTLLogLevel logLevel, string message, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (string subSystem, string category, MTLLogLevel logLevel, string message);
}

New Type: Metal.MTLMathFloatingPointFunctions

[Serializable]
public enum MTLMathFloatingPointFunctions {
	Fast = 0,
	Precise = 1,
}

New Type: Metal.MTLMathMode

[Serializable]
public enum MTLMathMode {
	Fast = 2,
	Relaxed = 1,
	Safe = 0,
}

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 virtual IMTLBinaryArchive[] BinaryArchives { 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 MTLShaderValidation ShaderValidation { 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.MTLResidencySetDescriptor

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

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

[Serializable]
public enum MTLShaderValidation {
	Default = 0,
	Disabled = 2,
	Enabled = 1,
}

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

[Serializable]
[Flags]
public enum MTLStitchedLibraryOptions {
	FailOnBinaryArchiveMiss = 1,
	None = 0,
	StoreLibraryInMetalPipelinesScript = 2,
}

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 UIntPtr GetFirstMipmapInTail (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);
}

New Type: Metal.NSDeviceCertification

[Serializable]
public enum NSDeviceCertification {
	iPhonePerformanceGaming = 0,
}

New Type: Metal.NSDeviceCertificationExtensions

public static class NSDeviceCertificationExtensions {
	// methods
	public static IntPtr? GetConstant (this NSDeviceCertification self);
	public static NSDeviceCertification GetValue (IntPtr constant);
}

New Type: Metal.NSProcessInfo_NSDeviceCertification

public static class NSProcessInfo_NSDeviceCertification {
	// methods
	public static bool HasPerformanceProfile (this Foundation.NSProcessInfo This, NSProcessPerformanceProfile performanceProfile);
	public static bool IsDeviceCertifiedFor (this Foundation.NSProcessInfo This, NSDeviceCertification performanceTier);
}

New Type: Metal.NSProcessPerformanceProfile

[Serializable]
public enum NSProcessPerformanceProfile {
	Default = 0,
	Sustained = 1,
}

New Type: Metal.NSProcessPerformanceProfileExtensions

public static class NSProcessPerformanceProfileExtensions {
	// methods
	public static IntPtr? GetConstant (this NSProcessPerformanceProfile self);
	public static NSProcessPerformanceProfile GetValue (IntPtr constant);
}

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);
public virtual void UseResidencySet (Metal.IMTLResidencySet residencySet);
public virtual void UseResidencySets (IntPtr residencySets, UIntPtr count);

Namespace MetalPerformanceShadersGraph

Type Changed: MetalPerformanceShadersGraph.MPSGraph

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphCompilationDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Added properties:

public virtual Foundation.NSDictionary<Foundation.NSString,MetalPerformanceShadersGraph.MPSGraphExecutable> Callables { get; set; }
public virtual MPSGraphCompilationCompletionHandler CompilationCompletionHandler { get; set; }
public virtual CoreFoundation.DispatchQueue DispatchQueue { get; set; }
public virtual MPSGraphOptimization OptimizationLevel { get; set; }
public virtual MPSGraphOptimizationProfile OptimizationProfile { get; set; }
public virtual bool WaitForCompilationCompletion { get; set; }

Type Changed: MetalPerformanceShadersGraph.MPSGraphConvolution2DOpDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphCreateSparseOpDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphDepthwiseConvolution2DOpDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphDepthwiseConvolution3DOpDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphDevice

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphExecutable

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Added constructor:

public MPSGraphExecutable (Foundation.NSUrl packageUrl, MPSGraphCompilationDescriptor compilationDescriptor, MPSGraphExecutableInitializationOption option);

Added methods:

public virtual MPSGraphShapedType[] GetOutputTypes (MPSGraphDevice device, MPSGraphType[] inputTypes, MPSGraphCompilationDescriptor compilationDescriptor);
public virtual void SerializeToMPSGraphPackage (Foundation.NSUrl url, MPSGraphExecutableSerializationDescriptor descriptor);

Type Changed: MetalPerformanceShadersGraph.MPSGraphExecutableExecutionDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Added methods:

public virtual void SignalEvent (Metal.IMTLSharedEvent event, MPSGraphExecutionStage executionStage, ulong value);
public virtual void WaitForEvent (Metal.IMTLSharedEvent event, ulong value);

Type Changed: MetalPerformanceShadersGraph.MPSGraphExecutionDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Added property:

public virtual MPSGraphCompilationDescriptor CompilationDescriptor { get; set; }

Added methods:

public virtual void SignalEvent (Metal.IMTLSharedEvent event, MPSGraphExecutionStage executionStage, ulong value);
public virtual void WaitForEvent (Metal.IMTLSharedEvent event, ulong value);

Type Changed: MetalPerformanceShadersGraph.MPSGraphOperation

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphPaddingStyle

Added value:

OnnxSameLower = 4,

Type Changed: MetalPerformanceShadersGraph.MPSGraphPooling2DOpDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Added properties:

public virtual MetalPerformanceShaders.MPSDataType ReturnIndicesDataType { get; set; }
public virtual MPSGraphPoolingReturnIndicesMode ReturnIndicesMode { get; set; }

Type Changed: MetalPerformanceShadersGraph.MPSGraphPooling4DOpDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Added properties:

public virtual MetalPerformanceShaders.MPSDataType ReturnIndicesDataType { get; set; }
public virtual MPSGraphPoolingReturnIndicesMode ReturnIndicesMode { get; set; }

Type Changed: MetalPerformanceShadersGraph.MPSGraphRandomOpDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphStencilOpDescriptor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphTensor

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraphTensorData

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Added constructor:

public MPSGraphTensorData (Metal.IMTLBuffer buffer, int[] shape, MetalPerformanceShaders.MPSDataType dataType, UIntPtr rowBytes);

Type Changed: MetalPerformanceShadersGraph.MPSGraphTensorNamedDataLayout

Added values:

Dhwio = 10,
Ncdhw = 7,
Ndhwc = 8,
Oidhw = 9,

Type Changed: MetalPerformanceShadersGraph.MPSGraphType

Modified base type:

-Foundation.NSObject
+MetalPerformanceShadersGraph.MPSGraphObject

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphArithmeticOps

Added methods:

public static MPSGraphTensor AbsoluteSquare (this MPSGraph This, MPSGraphTensor tensor, string name);
public static MPSGraphTensor BitwiseAnd (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name);
public static MPSGraphTensor BitwiseLeftShift (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name);
public static MPSGraphTensor BitwiseNot (this MPSGraph This, MPSGraphTensor tensor, string name);
public static MPSGraphTensor BitwiseOr (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name);
public static MPSGraphTensor BitwisePopulationCount (this MPSGraph This, MPSGraphTensor tensor, string name);
public static MPSGraphTensor BitwiseRightShift (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name);
public static MPSGraphTensor BitwiseXor (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name);
public static MPSGraphTensor ComplexTensor (this MPSGraph This, MPSGraphTensor realTensor, MPSGraphTensor imaginaryTensor, string name);
public static MPSGraphTensor Conjugate (this MPSGraph This, MPSGraphTensor tensor, string name);
public static MPSGraphTensor ImaginaryPart (this MPSGraph This, MPSGraphTensor tensor, string name);
public static MPSGraphTensor RealPart (this MPSGraph This, MPSGraphTensor tensor, string name);
public static MPSGraphTensor ReciprocalSquareRoot (this MPSGraph This, MPSGraphTensor tensor, string name);
public static MPSGraphTensor Truncate (this MPSGraph This, MPSGraphTensor tensor, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphConvolutionOps

Added methods:

public static MPSGraphTensor Convolution3D (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor weights, MPSGraphConvolution3DOpDescriptor descriptor, string name);
public static MPSGraphTensor Convolution3DDataGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor weights, MPSGraphTensor outputShapeTensor, MPSGraphConvolution3DOpDescriptor forwardConvolutionDescriptor, string name);
public static MPSGraphTensor Convolution3DDataGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor weights, int[] outputShape, MPSGraphConvolution3DOpDescriptor forwardConvolutionDescriptor, string name);
public static MPSGraphTensor Convolution3DWeightsGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor outputShapeTensor, MPSGraphConvolution3DOpDescriptor forwardConvolutionDescriptor, string name);
public static MPSGraphTensor Convolution3DWeightsGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor source, int[] outputShape, MPSGraphConvolution3DOpDescriptor forwardConvolutionDescriptor, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphMatrixMultiplicationOps

Added methods:

public static MPSGraphTensor HammingDistance (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, MetalPerformanceShaders.MPSDataType resultDataType, string name);
public static MPSGraphTensor ScaledDotProductAttention (this MPSGraph This, MPSGraphTensor queryTensor, MPSGraphTensor keyTensor, MPSGraphTensor valueTensor, float scale, string name);
public static MPSGraphTensor ScaledDotProductAttention (this MPSGraph This, MPSGraphTensor queryTensor, MPSGraphTensor keyTensor, MPSGraphTensor valueTensor, MPSGraphTensor maskTensor, float scale, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphOptimizerOps

Added methods:

public static MPSGraphTensor[] Adam (this MPSGraph This, MPSGraphTensor currentLearningRateTensor, MPSGraphTensor beta1Tensor, MPSGraphTensor beta2Tensor, MPSGraphTensor epsilonTensor, MPSGraphTensor valuesTensor, MPSGraphTensor momentumTensor, MPSGraphTensor velocityTensor, MPSGraphTensor maximumVelocityTensor, MPSGraphTensor gradientTensor, string name);
public static MPSGraphTensor[] Adam (this MPSGraph This, MPSGraphTensor learningRateTensor, MPSGraphTensor beta1Tensor, MPSGraphTensor beta2Tensor, MPSGraphTensor epsilonTensor, MPSGraphTensor beta1PowerTensor, MPSGraphTensor beta2PowerTensor, MPSGraphTensor valuesTensor, MPSGraphTensor momentumTensor, MPSGraphTensor velocityTensor, MPSGraphTensor maximumVelocityTensor, MPSGraphTensor gradientTensor, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphPoolingOps

Added methods:

public static MPSGraphTensor MaxPooling2DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor indices, MPSGraphTensor outputShape, MPSGraphPooling2DOpDescriptor descriptor, string name);
public static MPSGraphTensor MaxPooling2DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor indices, int[] outputShape, MPSGraphPooling2DOpDescriptor descriptor, string name);
public static MPSGraphTensor[] MaxPooling2DReturnIndices (this MPSGraph This, MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, string name);
public static MPSGraphTensor MaxPooling4DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor indices, MPSGraphTensor outputShape, MPSGraphPooling4DOpDescriptor descriptor, string name);
public static MPSGraphTensor MaxPooling4DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor indices, int[] outputShape, MPSGraphPooling4DOpDescriptor descriptor, string name);
public static MPSGraphTensor[] MaxPooling4DReturnIndices (this MPSGraph This, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphReductionOps

Added methods:

public static MPSGraphTensor ReductionAnd (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name);
public static MPSGraphTensor ReductionAnd (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
public static MPSGraphTensor ReductionOr (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name);
public static MPSGraphTensor ReductionOr (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphResizeOps

Added methods:

public static MPSGraphTensor Resize (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphResizeMode mode, bool centerResult, bool alignCorners, string name);
public static MPSGraphTensor Resize (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphTensor scaleOffset, MPSGraphResizeMode mode, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor Resize (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphTensor scale, MPSGraphTensor offset, MPSGraphResizeMode mode, string name);
public static MPSGraphTensor ResizeBilinear (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphTensor scale, MPSGraphTensor offset, string name);
public static MPSGraphTensor ResizeBilinear (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphTensor scaleOffset, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeBilinear (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, bool centerResult, bool alignCorners, string name);
public static MPSGraphTensor ResizeBilinear (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeBilinearWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphTensor scale, MPSGraphTensor offset, string name);
public static MPSGraphTensor ResizeBilinearWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphTensor scaleOffset, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeBilinearWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeNearest (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphResizeNearestRoundingMode nearestRoundingMode, bool centerResult, bool alignCorners, string name);
public static MPSGraphTensor ResizeNearest (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphTensor scaleOffset, MPSGraphResizeNearestRoundingMode nearestRoundingMode, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeNearest (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphTensor scale, MPSGraphTensor offset, MPSGraphResizeNearestRoundingMode nearestRoundingMode, string name);
public static MPSGraphTensor ResizeNearest (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphResizeNearestRoundingMode nearestRoundingMode, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeNearestWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphTensor scaleOffset, MPSGraphResizeNearestRoundingMode nearestRoundingMode, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeNearestWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphTensor scale, MPSGraphTensor offset, MPSGraphResizeNearestRoundingMode nearestRoundingMode, string name);
public static MPSGraphTensor ResizeNearestWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphResizeNearestRoundingMode nearestRoundingMode, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphTensor scaleOffset, MPSGraphResizeMode mode, MPSGraphTensorNamedDataLayout layout, string name);
public static MPSGraphTensor ResizeWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphTensor scale, MPSGraphTensor offset, MPSGraphResizeMode mode, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphTensorShapeOps

Added methods:

public static MPSGraphTensor BatchToSpace (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor spatialAxesTensor, MPSGraphTensor batchAxisTensor, MPSGraphTensor blockDimensionsTensor, bool usePixelShuffleOrder, string name);
public static MPSGraphTensor BatchToSpace (this MPSGraph This, MPSGraphTensor tensor, int[] spatialAxes, IntPtr batchAxis, int[] blockDimensions, bool usePixelShuffleOrder, string name);
public static MPSGraphTensor CoordinateAlongAxis (this MPSGraph This, MPSGraphTensor axisTensor, MPSGraphTensor shapeTensor, string name);
public static MPSGraphTensor CoordinateAlongAxis (this MPSGraph This, MPSGraphTensor axisTensor, int[] shape, string name);
public static MPSGraphTensor CoordinateAlongAxis (this MPSGraph This, IntPtr axis, MPSGraphTensor shapeTensor, string name);
public static MPSGraphTensor CoordinateAlongAxis (this MPSGraph This, IntPtr axis, int[] shape, string name);
public static MPSGraphTensor ExpandDims (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axesTensor, string name);
public static MPSGraphTensor ExpandDims (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name);
public static MPSGraphTensor ExpandDims (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
public static MPSGraphTensor ReinterpretCast (this MPSGraph This, MPSGraphTensor tensor, MetalPerformanceShaders.MPSDataType type, string name);
public static MPSGraphTensor SliceUpdateData (this MPSGraph This, MPSGraphTensor dataTensor, MPSGraphTensor updatesTensor, MPSGraphTensor startsTensor, MPSGraphTensor endsTensor, MPSGraphTensor stridesTensor, string name);
public static MPSGraphTensor SliceUpdateData (this MPSGraph This, MPSGraphTensor dataTensor, MPSGraphTensor updatesTensor, int[] starts, int[] ends, int[] strides, string name);
public static MPSGraphTensor SliceUpdateData (this MPSGraph This, MPSGraphTensor dataTensor, MPSGraphTensor updateTensor, MPSGraphTensor startsTensor, MPSGraphTensor endsTensor, MPSGraphTensor stridesTensor, uint startMask, uint endMask, uint squeezeMask, string name);
public static MPSGraphTensor SliceUpdateData (this MPSGraph This, MPSGraphTensor dataTensor, MPSGraphTensor updateTensor, int[] starts, int[] ends, int[] strides, uint startMask, uint endMask, uint squeezeMask, string name);
public static MPSGraphTensor SpaceToBatch (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor spatialAxesTensor, MPSGraphTensor batchAxisTensor, MPSGraphTensor blockDimensionsTensor, bool usePixelShuffleOrder, string name);
public static MPSGraphTensor SpaceToBatch (this MPSGraph This, MPSGraphTensor tensor, int[] spatialAxes, IntPtr batchAxis, int[] blockDimensions, bool usePixelShuffleOrder, string name);
public static MPSGraphTensor[] Split (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor splitSizesTensor, IntPtr axis, string name);
public static MPSGraphTensor[] Split (this MPSGraph This, MPSGraphTensor tensor, int[] splitSizes, IntPtr axis, string name);
public static MPSGraphTensor[] Split (this MPSGraph This, MPSGraphTensor tensor, UIntPtr numSplits, IntPtr axis, string name);
public static MPSGraphTensor Squeeze (this MPSGraph This, MPSGraphTensor tensor, string name);
public static MPSGraphTensor Squeeze (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axesTensor, string name);
public static MPSGraphTensor Squeeze (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name);
public static MPSGraphTensor Squeeze (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
public static MPSGraphTensor Stack (this MPSGraph This, MPSGraphTensor[] inputTensors, IntPtr axis, string name);
public static MPSGraphTensor Transpose (this MPSGraph This, MPSGraphTensor tensor, int[] permutation, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphTopKGradientOps

Added methods:

public static MPSGraphTensor BottomKWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor axisTensor, MPSGraphTensor kTensor, string name);
public static MPSGraphTensor BottomKWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, IntPtr axis, UIntPtr k, string name);
public static MPSGraphTensor TopKWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor axisTensor, MPSGraphTensor kTensor, string name);
public static MPSGraphTensor TopKWithGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, IntPtr axis, UIntPtr k, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphTopKOps

Added methods:

public static MPSGraphTensor[] BottomK (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor axisTensor, MPSGraphTensor kTensor, string name);
public static MPSGraphTensor[] BottomK (this MPSGraph This, MPSGraphTensor source, IntPtr axis, UIntPtr k, string name);
public static MPSGraphTensor[] TopK (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor axisTensor, MPSGraphTensor kTensor, string name);
public static MPSGraphTensor[] TopK (this MPSGraph This, MPSGraphTensor source, IntPtr axis, UIntPtr k, string name);

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MemoryOps

Added methods:

public static MPSGraphTensor Constant (this MPSGraph This, double realPart, double imaginaryPart);
public static MPSGraphTensor Constant (this MPSGraph This, double realPart, double imaginaryPart, MetalPerformanceShaders.MPSDataType dataType);
public static MPSGraphTensor Constant (this MPSGraph This, double realPart, double imaginaryPart, int[] shape, MetalPerformanceShaders.MPSDataType dataType);
public static MPSGraphTensor Variable (this MPSGraph This, MPSGraphTensor tensor, string name);

New Type: MetalPerformanceShadersGraph.MPSGraphCompilationCompletionHandler

public sealed delegate MPSGraphCompilationCompletionHandler : System.MulticastDelegate {
	// constructors
	public MPSGraphCompilationCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (MPSGraphExecutable executable, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (MPSGraphExecutable executable, Foundation.NSError error);
}

New Type: MetalPerformanceShadersGraph.MPSGraphConvolution3DOpDescriptor

public class MPSGraphConvolution3DOpDescriptor : MetalPerformanceShadersGraph.MPSGraphObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MPSGraphConvolution3DOpDescriptor ();
	protected MPSGraphConvolution3DOpDescriptor (Foundation.NSObjectFlag t);
	protected MPSGraphConvolution3DOpDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MPSGraphTensorNamedDataLayout DataLayout { get; set; }
	public virtual UIntPtr DilationRateInX { get; set; }
	public virtual UIntPtr DilationRateInY { get; set; }
	public virtual UIntPtr DilationRateInZ { get; set; }
	public virtual UIntPtr Groups { get; set; }
	public virtual UIntPtr PaddingBack { get; set; }
	public virtual UIntPtr PaddingBottom { get; set; }
	public virtual UIntPtr PaddingFront { get; set; }
	public virtual UIntPtr PaddingLeft { get; set; }
	public virtual UIntPtr PaddingRight { get; set; }
	public virtual MPSGraphPaddingStyle PaddingStyle { get; set; }
	public virtual UIntPtr PaddingTop { get; set; }
	public virtual UIntPtr StrideInX { get; set; }
	public virtual UIntPtr StrideInY { get; set; }
	public virtual UIntPtr StrideInZ { get; set; }
	public virtual MPSGraphTensorNamedDataLayout WeightsLayout { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MPSGraphConvolution3DOpDescriptor Create (UIntPtr strideInX, UIntPtr strideInY, UIntPtr strideInZ, UIntPtr dilationRateInX, UIntPtr dilationRateInY, UIntPtr dilationRateInZ, UIntPtr groups, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout);
	public static MPSGraphConvolution3DOpDescriptor Create (UIntPtr strideInX, UIntPtr strideInY, UIntPtr strideInZ, UIntPtr dilationRateInX, UIntPtr dilationRateInY, UIntPtr dilationRateInZ, UIntPtr groups, UIntPtr paddingLeft, UIntPtr paddingRight, UIntPtr paddingTop, UIntPtr paddingBottom, UIntPtr paddingFront, UIntPtr paddingBack, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout);
	public virtual void SetExplicitPadding (UIntPtr paddingLeft, UIntPtr paddingRight, UIntPtr paddingTop, UIntPtr paddingBottom, UIntPtr paddingFront, UIntPtr paddingBack);
}

New Type: MetalPerformanceShadersGraph.MPSGraphDeploymentPlatform

[Serializable]
public enum MPSGraphDeploymentPlatform {
	iOS = 1,
	macOS = 0,
	tvOS = 2,
	visionOS = 3,
}

New Type: MetalPerformanceShadersGraph.MPSGraphExecutableInitializationOption

[Serializable]
public enum MPSGraphExecutableInitializationOption {
	CoreMLPackage = 0,
	MPSGraphPackage = 1,
}

New Type: MetalPerformanceShadersGraph.MPSGraphExecutableSerializationDescriptor

public class MPSGraphExecutableSerializationDescriptor : MetalPerformanceShadersGraph.MPSGraphObject {
	// constructors
	public MPSGraphExecutableSerializationDescriptor ();
	protected MPSGraphExecutableSerializationDescriptor (Foundation.NSObjectFlag t);
	protected MPSGraphExecutableSerializationDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual bool Append { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MPSGraphDeploymentPlatform DeploymentPlatform { get; set; }
	public virtual string MinimumDeploymentTarget { get; set; }
}

New Type: MetalPerformanceShadersGraph.MPSGraphExecutionStage

[Serializable]
public enum MPSGraphExecutionStage {
	Completed = 0,
}

New Type: MetalPerformanceShadersGraph.MPSGraphFftDescriptor

public class MPSGraphFftDescriptor : MetalPerformanceShadersGraph.MPSGraphObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MPSGraphFftDescriptor ();
	protected MPSGraphFftDescriptor (Foundation.NSObjectFlag t);
	protected MPSGraphFftDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool Inverse { get; set; }
	public virtual bool RoundToOddHermitean { get; set; }
	public virtual MPSGraphFftScalingMode ScalingMode { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MPSGraphFftDescriptor Create ();
}

New Type: MetalPerformanceShadersGraph.MPSGraphFftScalingMode

[Serializable]
public enum MPSGraphFftScalingMode {
	None = 0,
	Size = 1,
	Unitary = 2,
}

New Type: MetalPerformanceShadersGraph.MPSGraphGruDescriptor

public class MPSGraphGruDescriptor : MetalPerformanceShadersGraph.MPSGraphObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MPSGraphGruDescriptor ();
	protected MPSGraphGruDescriptor (Foundation.NSObjectFlag t);
	protected MPSGraphGruDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual bool Bidirectional { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool FlipZ { get; set; }
	public virtual MPSGraphRnnActivation OutputGateActivation { get; set; }
	public virtual bool ResetAfter { get; set; }
	public virtual MPSGraphRnnActivation ResetGateActivation { get; set; }
	public virtual bool ResetGateFirst { get; set; }
	public virtual bool Reverse { get; set; }
	public virtual bool Training { get; set; }
	public virtual MPSGraphRnnActivation UpdateGateActivation { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MPSGraphGruDescriptor Create ();
}

New Type: MetalPerformanceShadersGraph.MPSGraphImToColOpDescriptor

public class MPSGraphImToColOpDescriptor : MetalPerformanceShadersGraph.MPSGraphObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MPSGraphImToColOpDescriptor ();
	protected MPSGraphImToColOpDescriptor (Foundation.NSObjectFlag t);
	protected MPSGraphImToColOpDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MPSGraphTensorNamedDataLayout DataLayout { get; set; }
	public virtual UIntPtr DilationRateInX { get; set; }
	public virtual UIntPtr DilationRateInY { get; set; }
	public virtual UIntPtr KernelHeight { get; set; }
	public virtual UIntPtr KernelWidth { get; set; }
	public virtual UIntPtr PaddingBottom { get; set; }
	public virtual UIntPtr PaddingLeft { get; set; }
	public virtual UIntPtr PaddingRight { get; set; }
	public virtual UIntPtr PaddingTop { get; set; }
	public virtual UIntPtr StrideInX { get; set; }
	public virtual UIntPtr StrideInY { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MPSGraphImToColOpDescriptor Create (UIntPtr kernelWidth, UIntPtr kernelHeight, UIntPtr strideInX, UIntPtr strideInY, UIntPtr dilationRateInX, UIntPtr dilationRateInY, MPSGraphTensorNamedDataLayout dataLayout);
	public static MPSGraphImToColOpDescriptor Create (UIntPtr kernelWidth, UIntPtr kernelHeight, UIntPtr strideInX, UIntPtr strideInY, UIntPtr dilationRateInX, UIntPtr dilationRateInY, UIntPtr paddingLeft, UIntPtr paddingRight, UIntPtr paddingTop, UIntPtr paddingBottom, MPSGraphTensorNamedDataLayout dataLayout);
	public virtual void SetExplicitPadding (UIntPtr paddingLeft, UIntPtr paddingRight, UIntPtr paddingTop, UIntPtr paddingBottom);
}

New Type: MetalPerformanceShadersGraph.MPSGraphLstmDescriptor

public class MPSGraphLstmDescriptor : MetalPerformanceShadersGraph.MPSGraphObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MPSGraphLstmDescriptor ();
	protected MPSGraphLstmDescriptor (Foundation.NSObjectFlag t);
	protected MPSGraphLstmDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual MPSGraphRnnActivation Activation { get; set; }
	public virtual bool Bidirectional { get; set; }
	public virtual MPSGraphRnnActivation CellGateActivation { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MPSGraphRnnActivation ForgetGateActivation { get; set; }
	public virtual bool ForgetGateLast { get; set; }
	public virtual MPSGraphRnnActivation InputGateActivation { get; set; }
	public virtual MPSGraphRnnActivation OutputGateActivation { get; set; }
	public virtual bool ProduceCell { get; set; }
	public virtual bool Reverse { get; set; }
	public virtual bool Training { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MPSGraphLstmDescriptor Create ();
}

New Type: MetalPerformanceShadersGraph.MPSGraphNonMaximumSuppressionCoordinateMode

[Serializable]
public enum MPSGraphNonMaximumSuppressionCoordinateMode {
	CentersHeightFirst = 2,
	CentersWidthFirst = 3,
	CornersHeightFirst = 0,
	CornersWidthFirst = 1,
}

New Type: MetalPerformanceShadersGraph.MPSGraphObject

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

New Type: MetalPerformanceShadersGraph.MPSGraphOptimization

[Serializable]
public enum MPSGraphOptimization {
	Level0 = 0,
	Level1 = 1,
}

New Type: MetalPerformanceShadersGraph.MPSGraphOptimizationProfile

[Serializable]
public enum MPSGraphOptimizationProfile {
	Performance = 0,
	PowerEfficiency = 1,
}

New Type: MetalPerformanceShadersGraph.MPSGraphPoolingReturnIndicesMode

[Serializable]
public enum MPSGraphPoolingReturnIndicesMode {
	GlobalFlatten1d = 1,
	GlobalFlatten2d = 2,
	GlobalFlatten3d = 3,
	GlobalFlatten4d = 4,
	LocalFlatten1d = 5,
	LocalFlatten2d = 6,
	LocalFlatten3d = 7,
	LocalFlatten4d = 8,
	None = 0,
}

New Type: MetalPerformanceShadersGraph.MPSGraphResizeNearestRoundingMode

[Serializable]
public enum MPSGraphResizeNearestRoundingMode {
	Ceil = 2,
	Floor = 3,
	RoundPreferCeil = 0,
	RoundPreferFloor = 1,
	RoundToEven = 4,
	RoundToOdd = 5,
}

New Type: MetalPerformanceShadersGraph.MPSGraphRnnActivation

[Serializable]
public enum MPSGraphRnnActivation {
	HardSigmoid = 4,
	None = 0,
	Relu = 1,
	Sigmoid = 3,
	Tanh = 2,
}

New Type: MetalPerformanceShadersGraph.MPSGraphSingleGateRnnDescriptor

public class MPSGraphSingleGateRnnDescriptor : MetalPerformanceShadersGraph.MPSGraphObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MPSGraphSingleGateRnnDescriptor ();
	protected MPSGraphSingleGateRnnDescriptor (Foundation.NSObjectFlag t);
	protected MPSGraphSingleGateRnnDescriptor (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual MPSGraphRnnActivation Activation { get; set; }
	public virtual bool Bidirectional { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool Reverse { get; set; }
	public virtual bool Training { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MPSGraphSingleGateRnnDescriptor Create ();
}

New Type: MetalPerformanceShadersGraph.MPSGraph_CallOp

public static class MPSGraph_CallOp {
	// methods
	public static MPSGraphTensor[] Call (this MPSGraph This, string symbolName, MPSGraphTensor[] inputTensors, MPSGraphType[] outputTypes, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphCumulativeOps

public static class MPSGraph_MPSGraphCumulativeOps {
	// methods
	public static MPSGraphTensor CumulativeMaximum (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, string name);
	public static MPSGraphTensor CumulativeMaximum (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
	public static MPSGraphTensor CumulativeMaximum (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, bool exclusive, bool reverse, string name);
	public static MPSGraphTensor CumulativeMaximum (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, bool exclusive, bool reverse, string name);
	public static MPSGraphTensor CumulativeMinimum (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, string name);
	public static MPSGraphTensor CumulativeMinimum (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
	public static MPSGraphTensor CumulativeMinimum (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, bool exclusive, bool reverse, string name);
	public static MPSGraphTensor CumulativeMinimum (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, bool exclusive, bool reverse, string name);
	public static MPSGraphTensor CumulativeProduct (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, string name);
	public static MPSGraphTensor CumulativeProduct (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
	public static MPSGraphTensor CumulativeProduct (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, bool exclusive, bool reverse, string name);
	public static MPSGraphTensor CumulativeProduct (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, bool exclusive, bool reverse, string name);
	public static MPSGraphTensor CumulativeSum (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, string name);
	public static MPSGraphTensor CumulativeSum (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
	public static MPSGraphTensor CumulativeSum (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, bool exclusive, bool reverse, string name);
	public static MPSGraphTensor CumulativeSum (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, bool exclusive, bool reverse, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphFourierTransformOps

public static class MPSGraph_MPSGraphFourierTransformOps {
	// methods
	public static MPSGraphTensor FastFourierTransform (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axesTensor, MPSGraphFftDescriptor descriptor, string name);
	public static MPSGraphTensor FastFourierTransform (this MPSGraph This, MPSGraphTensor tensor, int[] axes, MPSGraphFftDescriptor descriptor, string name);
	public static MPSGraphTensor HermiteanToRealFft (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axesTensor, MPSGraphFftDescriptor descriptor, string name);
	public static MPSGraphTensor HermiteanToRealFft (this MPSGraph This, MPSGraphTensor tensor, int[] axes, MPSGraphFftDescriptor descriptor, string name);
	public static MPSGraphTensor RealToHermiteanFft (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axesTensor, MPSGraphFftDescriptor descriptor, string name);
	public static MPSGraphTensor RealToHermiteanFft (this MPSGraph This, MPSGraphTensor tensor, int[] axes, MPSGraphFftDescriptor descriptor, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphGatherAlongAxisOps

public static class MPSGraph_MPSGraphGatherAlongAxisOps {
	// methods
	public static MPSGraphTensor GatherAlongAxis (this MPSGraph This, MPSGraphTensor axisTensor, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, string name);
	public static MPSGraphTensor GatherAlongAxis (this MPSGraph This, IntPtr axis, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphImToColOps

public static class MPSGraph_MPSGraphImToColOps {
	// methods
	public static MPSGraphTensor ColToIm (this MPSGraph This, MPSGraphTensor source, int[] outputShape, MPSGraphImToColOpDescriptor descriptor, string name);
	public static MPSGraphTensor ImToCol (this MPSGraph This, MPSGraphTensor source, MPSGraphImToColOpDescriptor descriptor, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphLinearAlgebraOps

public static class MPSGraph_MPSGraphLinearAlgebraOps {
	// methods
	public static MPSGraphTensor BandPart (this MPSGraph This, MPSGraphTensor inputTensor, MPSGraphTensor numLowerTensor, MPSGraphTensor numUpperTensor, string name);
	public static MPSGraphTensor BandPart (this MPSGraph This, MPSGraphTensor inputTensor, IntPtr numLower, IntPtr numUpper, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphMatrixInverseOps

public static class MPSGraph_MPSGraphMatrixInverseOps {
	// methods
	public static MPSGraphTensor Inverse (this MPSGraph This, MPSGraphTensor inputTensor, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphNonMaximumSuppressionOps

public static class MPSGraph_MPSGraphNonMaximumSuppressionOps {
	// methods
	public static MPSGraphTensor NonMaximumSuppression (this MPSGraph This, MPSGraphTensor boxesTensor, MPSGraphTensor scoresTensor, float iouThreshold, float scoreThreshold, bool perClassSuppression, MPSGraphNonMaximumSuppressionCoordinateMode coordinateMode, string name);
	public static MPSGraphTensor NonMaximumSuppression (this MPSGraph This, MPSGraphTensor boxesTensor, MPSGraphTensor scoresTensor, MPSGraphTensor classIndicesTensor, float iouThreshold, float scoreThreshold, bool perClassSuppression, MPSGraphNonMaximumSuppressionCoordinateMode coordinateMode, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphQuantizationOps

public static class MPSGraph_MPSGraphQuantizationOps {
	// methods
	public static MPSGraphTensor Dequantize (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor lookupTableTensor, string name);
	public static MPSGraphTensor Dequantize (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor scaleTensor, MetalPerformanceShaders.MPSDataType dataType, string name);
	public static MPSGraphTensor Dequantize (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor lookupTableTensor, IntPtr axis, string name);
	public static MPSGraphTensor Dequantize (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor scaleTensor, MPSGraphTensor zeroPointTensor, MetalPerformanceShaders.MPSDataType dataType, string name);
	public static MPSGraphTensor Dequantize (this MPSGraph This, MPSGraphTensor tensor, double scale, double zeroPoint, MetalPerformanceShaders.MPSDataType dataType, string name);
	public static MPSGraphTensor Dequantize (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor scaleTensor, MPSGraphTensor zeroPointTensor, MetalPerformanceShaders.MPSDataType dataType, IntPtr axis, string name);
	public static MPSGraphTensor Dequantize (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor scaleTensor, double zeroPoint, MetalPerformanceShaders.MPSDataType dataType, IntPtr axis, string name);
	public static MPSGraphTensor Quantize (this MPSGraph This, MPSGraphTensor tensor, double scale, double zeroPoint, MetalPerformanceShaders.MPSDataType dataType, string name);
	public static MPSGraphTensor Quantize (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor scaleTensor, MPSGraphTensor zeroPointTensor, MetalPerformanceShaders.MPSDataType dataType, IntPtr axis, string name);
	public static MPSGraphTensor Quantize (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor scaleTensor, double zeroPoint, MetalPerformanceShaders.MPSDataType dataType, IntPtr axis, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphRnnOps

public static class MPSGraph_MPSGraphRnnOps {
	// methods
	public static MPSGraphTensor[] Gru (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphGruDescriptor descriptor, string name);
	public static MPSGraphTensor[] Gru (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphGruDescriptor descriptor, string name);
	public static MPSGraphTensor[] Gru (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor mask, MPSGraphTensor secondaryBias, MPSGraphGruDescriptor descriptor, string name);
	public static MPSGraphTensor[] GruGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor outputFwd, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphGruDescriptor descriptor, string name);
	public static MPSGraphTensor[] GruGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor outputFwd, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphGruDescriptor descriptor, string name);
	public static MPSGraphTensor[] GruGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor outputFwd, MPSGraphTensor stateGradient, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor mask, MPSGraphTensor secondaryBias, MPSGraphGruDescriptor descriptor, string name);
	public static MPSGraphTensor[] Lstm (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor initState, MPSGraphTensor initCell, MPSGraphLstmDescriptor descriptor, string name);
	public static MPSGraphTensor[] Lstm (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor initCell, MPSGraphLstmDescriptor descriptor, string name);
	public static MPSGraphTensor[] Lstm (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor initCell, MPSGraphTensor mask, MPSGraphTensor peephole, MPSGraphLstmDescriptor descriptor, string name);
	public static MPSGraphTensor[] LstmGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor cellOutputFwd, MPSGraphLstmDescriptor descriptor, string name);
	public static MPSGraphTensor[] LstmGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor cellOutputFwd, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor initCell, MPSGraphLstmDescriptor descriptor, string name);
	public static MPSGraphTensor[] LstmGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor cellOutputFwd, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor initCell, MPSGraphTensor mask, MPSGraphLstmDescriptor descriptor, string name);
	public static MPSGraphTensor[] LstmGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor cellOutputFwd, MPSGraphTensor stateGradient, MPSGraphTensor cellGradient, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor initCell, MPSGraphTensor mask, MPSGraphTensor peephole, MPSGraphLstmDescriptor descriptor, string name);
	public static MPSGraphTensor[] SingleGateRnn (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor initState, MPSGraphSingleGateRnnDescriptor descriptor, string name);
	public static MPSGraphTensor[] SingleGateRnn (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphSingleGateRnnDescriptor descriptor, string name);
	public static MPSGraphTensor[] SingleGateRnn (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor mask, MPSGraphSingleGateRnnDescriptor descriptor, string name);
	public static MPSGraphTensor[] SingleGateRnnGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor initState, MPSGraphSingleGateRnnDescriptor descriptor, string name);
	public static MPSGraphTensor[] SingleGateRnnGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphSingleGateRnnDescriptor descriptor, string name);
	public static MPSGraphTensor[] SingleGateRnnGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor mask, MPSGraphSingleGateRnnDescriptor descriptor, string name);
	public static MPSGraphTensor[] SingleGateRnnGradients (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor recurrentWeight, MPSGraphTensor sourceGradient, MPSGraphTensor zState, MPSGraphTensor stateGradient, MPSGraphTensor inputWeight, MPSGraphTensor bias, MPSGraphTensor initState, MPSGraphTensor mask, MPSGraphSingleGateRnnDescriptor descriptor, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphSampleGrid

public static class MPSGraph_MPSGraphSampleGrid {
	// methods
	public static MPSGraphTensor SampleGrid (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor coordinates, MPSGraphTensorNamedDataLayout layout, bool normalizeCoordinates, bool relativeCoordinates, bool alignCorners, MPSGraphPaddingMode paddingMode, MPSGraphResizeMode samplingMode, double constantValue, string name);
	public static MPSGraphTensor SampleGrid (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor coordinates, MPSGraphTensorNamedDataLayout layout, bool normalizeCoordinates, bool relativeCoordinates, bool alignCorners, MPSGraphPaddingMode paddingMode, MPSGraphResizeNearestRoundingMode nearestRoundingMode, double constantValue, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphScatterAlongAxisOps

public static class MPSGraph_MPSGraphScatterAlongAxisOps {
	// methods
	public static MPSGraphTensor ScatterAlongAxis (this MPSGraph This, MPSGraphTensor axisTensor, MPSGraphTensor dataTensor, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, MPSGraphScatterMode mode, string name);
	public static MPSGraphTensor ScatterAlongAxis (this MPSGraph This, MPSGraphTensor axisTensor, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, int[] shape, MPSGraphScatterMode mode, string name);
	public static MPSGraphTensor ScatterAlongAxis (this MPSGraph This, IntPtr axis, MPSGraphTensor dataTensor, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, MPSGraphScatterMode mode, string name);
	public static MPSGraphTensor ScatterAlongAxis (this MPSGraph This, IntPtr axis, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, int[] shape, MPSGraphScatterMode mode, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphSortOps

public static class MPSGraph_MPSGraphSortOps {
	// methods
	public static MPSGraphTensor ArgSort (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, string name);
	public static MPSGraphTensor ArgSort (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
	public static MPSGraphTensor ArgSort (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, bool descending, string name);
	public static MPSGraphTensor ArgSort (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, bool descending, string name);
	public static MPSGraphTensor Sort (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, string name);
	public static MPSGraphTensor Sort (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, string name);
	public static MPSGraphTensor Sort (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, bool descending, string name);
	public static MPSGraphTensor Sort (this MPSGraph This, MPSGraphTensor tensor, IntPtr axis, bool descending, string name);
}

New Type: MetalPerformanceShadersGraph.MPSGraph_NonZeroOps

public static class MPSGraph_NonZeroOps {
	// methods
	public static MPSGraphTensor NonZeroIndices (this MPSGraph This, MPSGraphTensor tensor, string name);
}

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

New Type: ModelIO.MDLUtility

public class MDLUtility : Foundation.NSObject {
	// constructors
	protected MDLUtility (Foundation.NSObjectFlag t);
	protected MDLUtility (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static void ConvertToUsdz (Foundation.NSUrl inputUrl, Foundation.NSUrl outputUrl);
}

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

Added value:

Persistent = 3,

Type Changed: Network.NWPrivacyContext

Added methods:

public void AddProxy (NWProxyConfig proxyConfig);
public void ClearProxies ();

Type Changed: Network.NWQuicMetadata

Added method:

public void SetDefaultKeepAlive ();

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 = "18.0";
-public const string Version = "17.2.0";
+public const string Version = "17.99.0";

Added fields:

public static const string BrowserEngineKitLibrary = "/System/Library/Frameworks/BrowserEngineKit.framework/BrowserEngineKit";
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)

Type Changed: Photos.PHAssetCollectionSubtype

Added value:

SmartAlbumSpatial = 219,

Type Changed: Photos.PHAssetMediaSubtype

Added value:

SmartAlbumSpatial = 1024,

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

Type Changed: SceneKit.SCNGeometry

Added property:

public virtual int[] GeometrySourceChannels { get; }

Added method:

public static SCNGeometry Create (SCNGeometrySource[] sources, SCNGeometryElement[] elements, int[] sourceChannels);

Type Changed: SceneKit.SCNGeometryElement

Added properties:

public virtual IntPtr IndicesChannelCount { get; }
public virtual bool InterleavedIndicesChannels { get; }

Added methods:

public static SCNGeometryElement FromBuffer (Metal.IMTLBuffer data, SCNGeometryPrimitiveType primitiveType, IntPtr primitiveCount, IntPtr indicesChannelCount, bool interleavedIndicesChannels, IntPtr bytesPerIndex);
public static SCNGeometryElement FromData (Foundation.NSData data, SCNGeometryPrimitiveType primitiveType, IntPtr primitiveCount, IntPtr indicesChannelCount, bool interleavedIndicesChannels, IntPtr bytesPerIndex);

Type Changed: SceneKit.SCNMaterialProperty

Added methods:

public static Foundation.NSObject GetPrecomputedLightingEnvironmentContents (Foundation.NSData url, out Foundation.NSError error);
public static Foundation.NSObject GetPrecomputedLightingEnvironmentContents (Foundation.NSUrl url, out Foundation.NSError error);
public static Foundation.NSData GetPrecomputedLightingEnvironmentData (Foundation.NSObject contents, Metal.IMTLDevice device, out Foundation.NSError error);

Type Changed: SceneKit.SCNNode

Added properties:

public virtual UIKit.UIFocusItemDeferralMode FocusItemDeferralMode { get; }
public virtual bool IsTransparentFocusItem { get; }

Namespace Security

Type Changed: Security.SecAccessControlCreateFlags

Added value:

Companion = 32,

Type Changed: Security.SecCertificate

Added properties:

public Foundation.NSDate NotValidAfterDate { get; }
public Foundation.NSDate NotValidBeforeDate { get; }

Type Changed: Security.SecImportExport

Added property:

public static Foundation.NSString ToMemoryOnly { get; }

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

Type Changed: ShazamKit.SHCustomCatalog

Added constructor:

public SHCustomCatalog (Foundation.NSData data, out Foundation.NSError error);

Added property:

public virtual Foundation.NSData DataRepresentation { get; }

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

Type Changed: SpriteKit.SKNode

Added interfaces:

UIKit.IUICoordinateSpace
UIKit.IUIFocusItemContainer

Added properties:

public virtual CoreGraphics.CGRect Bounds { get; }
public virtual UIKit.IUICoordinateSpace CoordinateSpace { get; }
public virtual UIKit.UIFocusItemDeferralMode FocusItemDeferralMode { get; }
public virtual bool IsTransparentFocusItem { get; }

Added methods:

public virtual CoreGraphics.CGPoint ConvertPointFromCoordinateSpace (CoreGraphics.CGPoint point, UIKit.IUICoordinateSpace coordinateSpace);
public virtual CoreGraphics.CGPoint ConvertPointToCoordinateSpace (CoreGraphics.CGPoint point, UIKit.IUICoordinateSpace coordinateSpace);
public virtual CoreGraphics.CGRect ConvertRectFromCoordinateSpace (CoreGraphics.CGRect rect, UIKit.IUICoordinateSpace coordinateSpace);
public virtual CoreGraphics.CGRect ConvertRectToCoordinateSpace (CoreGraphics.CGRect rect, UIKit.IUICoordinateSpace coordinateSpace);
public virtual UIKit.IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect);

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 Symbols

Type Changed: Symbols.NSSymbolEffectOptions

Added methods:

public static NSSymbolEffectOptions Create (NSSymbolEffectOptionsRepeatBehavior behavior);
public virtual NSSymbolEffectOptions Get (NSSymbolEffectOptionsRepeatBehavior behavior);

Type Changed: Symbols.NSSymbolReplaceContentTransition

Added method:

public static NSSymbolMagicReplaceContentTransition CreateMagicTransition (NSSymbolReplaceContentTransition fallback);

New Type: Symbols.NSSymbolBreatheEffect

public class NSSymbolBreatheEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolBreatheEffect (Foundation.NSCoder coder);
	protected NSSymbolBreatheEffect (Foundation.NSObjectFlag t);
	protected NSSymbolBreatheEffect (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual NSSymbolBreatheEffect ByLayer { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual NSSymbolBreatheEffect WholeSymbol { get; }
	// methods
	public static NSSymbolBreatheEffect Create ();
	public static NSSymbolBreatheEffect CreatePlainEffect ();
	public static NSSymbolBreatheEffect CreatePulseEffect ();
}

New Type: Symbols.NSSymbolEffectOptionsRepeatBehavior

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

New Type: Symbols.NSSymbolMagicReplaceContentTransition

public class NSSymbolMagicReplaceContentTransition : Symbols.NSSymbolContentTransition {
	// constructors
	public NSSymbolMagicReplaceContentTransition (Foundation.NSCoder coder);
	protected NSSymbolMagicReplaceContentTransition (Foundation.NSObjectFlag t);
	protected NSSymbolMagicReplaceContentTransition (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: Symbols.NSSymbolRotateEffect

public class NSSymbolRotateEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolRotateEffect (Foundation.NSCoder coder);
	protected NSSymbolRotateEffect (Foundation.NSObjectFlag t);
	protected NSSymbolRotateEffect (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual NSSymbolRotateEffect ByLayer { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual NSSymbolRotateEffect WholeSymbol { get; }
	// methods
	public static NSSymbolRotateEffect Create ();
	public static NSSymbolRotateEffect CreateClockwiseEffect ();
	public static NSSymbolRotateEffect CreateCounterClockwiseEffect ();
}

New Type: Symbols.NSSymbolWiggleEffect

public class NSSymbolWiggleEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolWiggleEffect (Foundation.NSCoder coder);
	protected NSSymbolWiggleEffect (Foundation.NSObjectFlag t);
	protected NSSymbolWiggleEffect (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual NSSymbolWiggleEffect ByLayer { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual NSSymbolWiggleEffect WholeSymbol { get; }
	// methods
	public static NSSymbolWiggleEffect Create ();
	public static NSSymbolWiggleEffect CreateBackwardEffect ();
	public static NSSymbolWiggleEffect CreateClockwiseEffect ();
	public static NSSymbolWiggleEffect CreateCounterClockwiseEffect ();
	public static NSSymbolWiggleEffect CreateCustomAngleEffect (double angle);
	public static NSSymbolWiggleEffect CreateDownEffect ();
	public static NSSymbolWiggleEffect CreateForwardEffect ();
	public static NSSymbolWiggleEffect CreateLeftEffect ();
	public static NSSymbolWiggleEffect CreateRightEffect ();
	public static NSSymbolWiggleEffect CreateUpEffect ();
}

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

public virtual UIFocusItemDeferralMode FocusItemDeferralMode { get; }
public virtual bool IsTransparentFocusItem { 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; }

Added property:

public virtual UIListEnvironment ListEnvironment { 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 void DidSelectTab (UITabBarController tabBarController, UITab tab, UITab previousTab);
public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForTransition (UITabBarController tabBarController, UIViewController fromViewController, UIViewController toViewController);
public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForAnimationController (UITabBarController tabBarController, IUIViewControllerAnimatedTransitioning animationController);
public virtual bool ShouldSelectTab (UITabBarController tabBarController, UITab tab);
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 bool SupportsAdaptiveImageGlyph { 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 Foundation.NSAttributedString GetAttributedText (UITextRange range);
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 InsertAdaptiveImageGlyph (NSAdaptiveImageGlyph adaptiveImageGlyph, UITextRange replacementRange);
public virtual void InsertAttributedText (Foundation.NSAttributedString text);
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 ReplaceRange (UITextRange range, Foundation.NSAttributedString attributedText);
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 UITextMathExpressionCompletionType MathExpressionCompletionType { 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.UIAccessibilityCustomAction

Added properties:

public virtual string Category { get; set; }
public static Foundation.NSString CategoryEdit { get; }

Type Changed: UIKit.UIBackgroundConfiguration

Added properties:

public static UIBackgroundConfiguration ListCellConfiguration { get; }
public static UIBackgroundConfiguration ListFooterConfiguration { get; }
public static UIBackgroundConfiguration ListHeaderConfiguration { get; }
public virtual UIShadowProperties ShadowProperties { get; }

Type Changed: UIKit.UIBarItem

Added property:

public virtual UIAccessibilityExpandedStatus AccessibilityExpandedStatus { get; set; }

Type Changed: UIKit.UICollectionLayoutListConfiguration

Added property:

public virtual UICollectionLayoutListContentHuggingElements ContentHuggingElements { get; set; }

Type Changed: UIKit.UICollectionView

Added method:

public virtual Foundation.NSIndexPath GetIndexPathForSupplementaryView (UICollectionReusableView supplementaryView);

Type Changed: UIKit.UIColor

Added property:

public virtual UIColorProminence Prominence { get; }

Added method:

public virtual UIColor ApplyProminence (UIColorProminence prominence);

Type Changed: UIKit.UIControl

Added method:

public virtual void PerformPrimaryAction ();

Type Changed: UIKit.UIFocusItem_Extensions

Added methods:

public static UIFocusItemDeferralMode GetFocusItemDeferralMode (this IUIFocusItem This);
public static bool GetIsTransparentFocusItem (this IUIFocusItem This);

Type Changed: UIKit.UIImage

Added property:

public virtual UIAccessibilityExpandedStatus AccessibilityExpandedStatus { get; set; }

Type Changed: UIKit.UIListContentConfiguration

Added properties:

public virtual System.Runtime.InteropServices.NFloat Alpha { get; set; }
public static UIListContentConfiguration FooterConfiguration { get; }
public static UIListContentConfiguration HeaderConfiguration { get; }

Type Changed: UIKit.UIListContentImageProperties

Added properties:

public virtual UIColor StrokeColor { get; set; }
public virtual UIConfigurationColorTransformerHandler StrokeColorTransformer { get; set; }
public virtual System.Runtime.InteropServices.NFloat StrokeWidth { get; set; }

Added method:

public virtual UIColor GetResolvedStrokeColor (UIColor tintColor);

Type Changed: UIKit.UIMenu

Added property:

public virtual UIMenuDisplayPreferences DisplayPreferences { get; set; }

Type Changed: UIKit.UIMutableTraits

Added property:

public virtual UIListEnvironment ListEnvironment { get; set; }

Type Changed: UIKit.UIPasteControlDisplayMode

Added value:

ArrowAndLabel = 3,

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

Added property:

public virtual UITextMathExpressionCompletionType MathExpressionCompletionType { get; set; }

Type Changed: UIKit.UIStringAttributeKey

Added properties:

public static Foundation.NSString AdaptiveImageGlyph { get; }
public static Foundation.NSString TextHighlightColorScheme { get; }
public static Foundation.NSString TextHighlightStyle { get; }

Type Changed: UIKit.UITabBarController

Added constructor:

public UITabBarController (UITab[] tabs);

Added properties:

public virtual string[] CompactTabIdentifiers { get; set; }
public virtual string CustomizationIdentifier { get; set; }
public virtual UITabBarControllerMode Mode { get; set; }
public virtual UITab SelectedTab { get; set; }
public UITabBarTabSelection ShouldSelectTab { get; set; }
public virtual bool TabBarHidden { get; set; }
public virtual UITab[] Tabs { get; set; }

Added event:

public event System.EventHandler<UITabBarTabSelectionEventArgs> DidSelectTab;

Added methods:

public virtual UITab GetTab (string identifier);
public virtual void SetTabBarHidden (bool hidden, bool animated);
public virtual void SetTabs (UITab[] tabs, bool animated);

Type Changed: UIKit.UITabBarControllerDelegate

Added methods:

public virtual void DidSelectTab (UITabBarController tabBarController, UITab tab, UITab previousTab);
public virtual bool ShouldSelectTab (UITabBarController tabBarController, UITab tab);

Type Changed: UIKit.UITabBarControllerDelegate_Extensions

Added methods:

public static void DidSelectTab (this IUITabBarControllerDelegate This, UITabBarController tabBarController, UITab tab, UITab previousTab);
public static bool ShouldSelectTab (this IUITabBarControllerDelegate This, UITabBarController tabBarController, UITab tab);

Type Changed: UIKit.UITableView

Added property:

public virtual UITableViewContentHuggingElements ContentHuggingElements { get; set; }

Type Changed: UIKit.UITextContentType

Added properties:

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

Type Changed: UIKit.UITextDocumentProxy

Added property:

public virtual UITextMathExpressionCompletionType MathExpressionCompletionType { get; set; }

Type Changed: UIKit.UITextField

Added properties:

public virtual UITextMathExpressionCompletionType MathExpressionCompletionType { get; set; }
public virtual bool SupportsAdaptiveImageGlyph { get; set; }

Added methods:

public virtual Foundation.NSAttributedString GetAttributedText (UITextRange range);
public virtual CoreGraphics.CGAffineTransform GetCaretTransform (UITextPosition forPosition);
public virtual void InsertAdaptiveImageGlyph (NSAdaptiveImageGlyph adaptiveImageGlyph, UITextRange replacementRange);
public virtual void InsertAttributedText (Foundation.NSAttributedString text);
public virtual void ReplaceRange (UITextRange range, Foundation.NSAttributedString attributedText);

Type Changed: UIKit.UITextInputTraits_Extensions

Added methods:

public static UITextMathExpressionCompletionType GetMathExpressionCompletionType (this IUITextInputTraits This);
public static void SetMathExpressionCompletionType (this IUITextInputTraits This, UITextMathExpressionCompletionType value);

Type Changed: UIKit.UITextInput_Extensions

Added methods:

public static Foundation.NSAttributedString GetAttributedText (this IUITextInput This, UITextRange range);
public static CoreGraphics.CGAffineTransform GetCaretTransform (this IUITextInput This, UITextPosition forPosition);
public static bool GetSupportsAdaptiveImageGlyph (this IUITextInput This);
public static void InsertAdaptiveImageGlyph (this IUITextInput This, NSAdaptiveImageGlyph adaptiveImageGlyph, UITextRange replacementRange);
public static void InsertAttributedText (this IUITextInput This, Foundation.NSAttributedString text);
public static void ReplaceRange (this IUITextInput This, UITextRange range, Foundation.NSAttributedString attributedText);
public static void SetSupportsAdaptiveImageGlyph (this IUITextInput This, bool value);

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

public virtual UITextMathExpressionCompletionType MathExpressionCompletionType { get; set; }
public virtual bool SupportsAdaptiveImageGlyph { get; set; }
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> TextHighlightAttributes { get; set; }
public Foundation.NSDictionary TypingAttributes2 { get; set; }

Added methods:

public virtual void DrawTextHighlightBackground (NSTextRange textRange, CoreGraphics.CGPoint origin);
public virtual Foundation.NSAttributedString GetAttributedText (UITextRange range);
public virtual CoreGraphics.CGAffineTransform GetCaretTransform (UITextPosition forPosition);
public virtual void InsertAdaptiveImageGlyph (NSAdaptiveImageGlyph adaptiveImageGlyph, UITextRange replacementRange);
public virtual void InsertAttributedText (Foundation.NSAttributedString text);
public virtual void ReplaceRange (UITextRange range, Foundation.NSAttributedString attributedText);

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

Added property:

public virtual UIListEnvironment ListEnvironment { get; }

Added method:

public static UITraitCollection GetTraitCollection (UIListEnvironment listEnvironment);

Type Changed: UIKit.UIView

Added properties:

public virtual UIAccessibilityExpandedStatus AccessibilityExpandedStatus { get; set; }
public virtual UIFocusItemDeferralMode FocusItemDeferralMode { get; }
public virtual bool IsTransparentFocusItem { get; }

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

public virtual UIViewControllerTransition PreferredTransition { get; set; }
public virtual UITab Tab { get; }

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

public class NSAdaptiveImageGlyph : Foundation.NSObject, CoreText.ICTAdaptiveImageProviding, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSAdaptiveImageGlyph (Foundation.NSCoder coder);
	public NSAdaptiveImageGlyph (Foundation.NSData imageContent);
	protected NSAdaptiveImageGlyph (Foundation.NSObjectFlag t);
	protected NSAdaptiveImageGlyph (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string ContentDescription { get; }
	public virtual string ContentIdentifier { get; }
	public static UniformTypeIdentifiers.UTType ContentType { get; }
	public virtual Foundation.NSData ImageContent { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual CoreGraphics.CGImage GetImage (CoreGraphics.CGSize proposedSize, System.Runtime.InteropServices.NFloat scaleFactor, out CoreGraphics.CGPoint imageOffset, out CoreGraphics.CGSize imageSize);
}

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; }
	public bool? TextKit1ListMarkerFormat { 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.NSObject_UIAccessibilityHitTest

public static class NSObject_UIAccessibilityHitTest {
	// methods
	public static Foundation.NSObject AccessibilityHitTest (this Foundation.NSObject This, CoreGraphics.CGPoint point, UIEvent withEvent);
}

New Type: UIKit.NSTextHighlightColorScheme

[Serializable]
public enum NSTextHighlightColorScheme {
	Blue = 5,
	Default = 0,
	Mint = 4,
	Orange = 3,
	Pink = 2,
	Purple = 1,
}

New Type: UIKit.NSTextHighlightColorSchemeExtensions

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

New Type: UIKit.NSTextHighlightStyle

[Serializable]
public enum NSTextHighlightStyle {
	Default = 0,
}

New Type: UIKit.NSTextHighlightStyleExtensions

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

New Type: UIKit.UIAccessibilityExpandedStatus

[Serializable]
public enum UIAccessibilityExpandedStatus {
	Collapsed = 2,
	Expanded = 1,
	Unsupported = 0,
}

New Type: UIKit.UICollectionLayoutListContentHuggingElements

[Serializable]
public enum UICollectionLayoutListContentHuggingElements {
	None = 0,
	SupplementaryHeader = 1,
}

New Type: UIKit.UIColorProminence

[Serializable]
public enum UIColorProminence {
	Primary = 0,
	Quaternary = 3,
	Secondary = 1,
	Tertiary = 2,
}

New Type: UIKit.UIFocusItemDeferralMode

[Serializable]
public enum UIFocusItemDeferralMode {
	Always = 1,
	Automatic = 0,
	Never = 2,
}

New Type: UIKit.UIListEnvironment

[Serializable]
public enum UIListEnvironment {
	Grouped = 3,
	InsetGrouped = 4,
	None = 1,
	Plain = 2,
	Sidebar = 5,
	SidebarPlain = 6,
	Unspecified = 0,
}

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

public class UISearchTab : UIKit.UITab {
	// constructors
	protected UISearchTab (Foundation.NSObjectFlag t);
	protected UISearchTab (ObjCRuntime.NativeHandle handle);
	public UISearchTab (System.Func<UITab,UIKit.UIViewController> viewControllerProvider);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: UIKit.UIShadowProperties

public class UIShadowProperties : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UIShadowProperties ();
	public UIShadowProperties (Foundation.NSCoder coder);
	protected UIShadowProperties (Foundation.NSObjectFlag t);
	protected UIShadowProperties (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIColor Color { get; set; }
	public virtual CoreGraphics.CGSize Offset { get; set; }
	public virtual System.Runtime.InteropServices.NFloat Opacity { get; set; }
	public virtual UIBezierPath Path { get; set; }
	public virtual System.Runtime.InteropServices.NFloat Radius { 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.UITab

public class UITab : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIAccessibilityIdentification {
	// constructors
	protected UITab (Foundation.NSObjectFlag t);
	protected UITab (ObjCRuntime.NativeHandle handle);
	public UITab (string title, UIImage image, string identifier, System.Func<UITab,UIKit.UIViewController> viewControllerProvider);
	// properties
	public virtual string AccessibilityIdentifier { get; set; }
	public virtual bool AllowsHiding { get; set; }
	public virtual string BadgeValue { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool Hidden { get; set; }
	public virtual bool HiddenByDefault { get; set; }
	public virtual string Identifier { get; }
	public virtual UIImage Image { get; set; }
	public virtual UITabGroup ManagingTabGroup { get; }
	public virtual UITabGroup Parent { get; }
	public virtual UITabPlacement PreferredPlacement { get; set; }
	public virtual string Subtitle { get; set; }
	public virtual UITabBarController TabBarController { get; }
	public virtual string Title { get; set; }
	public virtual Foundation.NSObject UserInfo { get; set; }
	public virtual UIViewController ViewController { get; }
}

New Type: UIKit.UITabBarControllerMode

[Serializable]
public enum UITabBarControllerMode {
	Automatic = 0,
	TabBar = 1,
	TabSidebar = 2,
}

New Type: UIKit.UITabBarTabSelection

public sealed delegate UITabBarTabSelection : System.MulticastDelegate {
	// constructors
	public UITabBarTabSelection (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (UITabBarController tabBarController, UITab tab, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (UITabBarController tabBarController, UITab tab);
}

New Type: UIKit.UITabBarTabSelectionEventArgs

public class UITabBarTabSelectionEventArgs : System.EventArgs {
	// constructors
	public UITabBarTabSelectionEventArgs (UITab tab, UITab previousTab);
	// properties
	public UITab PreviousTab { get; set; }
	public UITab Tab { get; set; }
}

New Type: UIKit.UITabGroup

public class UITabGroup : UIKit.UITab {
	// constructors
	protected UITabGroup (Foundation.NSObjectFlag t);
	protected UITabGroup (ObjCRuntime.NativeHandle handle);
	public UITabGroup (string title, UIImage image, string identifier, UITab[] children, System.Func<UITab,UIKit.UIViewController> viewControllerProvider);
	// properties
	public virtual bool AllowsReordering { get; set; }
	public virtual UITab[] Children { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string DefaultChildIdentifier { get; set; }
	public virtual UITab[] DisplayOrder { get; }
	public virtual string[] DisplayOrderIdentifiers { get; set; }
	public virtual UINavigationController ManagingNavigationController { get; set; }
	public virtual UITab SelectedChild { get; set; }
	public virtual UIAction[] SidebarActions { get; set; }
	// methods
	public virtual UITab GetTab (string identifier);
}

New Type: UIKit.UITabPlacement

[Serializable]
public enum UITabPlacement {
	Automatic = 0,
	Default = 1,
	Fixed = 5,
	Movable = 3,
	Optional = 2,
	Pinned = 4,
	SidebarOnly = 6,
}

New Type: UIKit.UITableViewContentHuggingElements

[Serializable]
public enum UITableViewContentHuggingElements {
	None = 0,
	SectionHeaders = 1,
}

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

New Type: UIKit.UITextMathExpressionCompletionType

[Serializable]
public enum UITextMathExpressionCompletionType {
	Default = 0,
	No = 1,
	Yes = 2,
}

New Type: UIKit.UITraitListEnvironment

public class UITraitListEnvironment : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitListEnvironment ();
	protected UITraitListEnvironment (Foundation.NSObjectFlag t);
	protected UITraitListEnvironment (ObjCRuntime.NativeHandle handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static IntPtr DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UIUpdateActionPhase

public class UIUpdateActionPhase : Foundation.NSObject {
	// constructors
	protected UIUpdateActionPhase (Foundation.NSObjectFlag t);
	protected UIUpdateActionPhase (ObjCRuntime.NativeHandle handle);
	// properties
	public static UIUpdateActionPhase AfterCADisplayLinkDispatch { get; }
	public static UIUpdateActionPhase AfterCATransactionCommit { get; }
	public static UIUpdateActionPhase AfterEventDispatch { get; }
	public static UIUpdateActionPhase AfterLowLatencyCATransactionCommit { get; }
	public static UIUpdateActionPhase AfterLowLatencyEventDispatch { get; }
	public static UIUpdateActionPhase AfterUpdateComplete { get; }
	public static UIUpdateActionPhase AfterUpdateScheduled { get; }
	public static UIUpdateActionPhase BeforeCADisplayLinkDispatch { get; }
	public static UIUpdateActionPhase BeforeCATransactionCommit { get; }
	public static UIUpdateActionPhase BeforeEventDispatch { get; }
	public static UIUpdateActionPhase BeforeLowLatencyCATransactionCommit { get; }
	public static UIUpdateActionPhase BeforeLowLatencyEventDispatch { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: UIKit.UIUpdateInfo

public class UIUpdateInfo : Foundation.NSObject {
	// constructors
	protected UIUpdateInfo (Foundation.NSObjectFlag t);
	protected UIUpdateInfo (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual double CompletionDeadlineTime { get; }
	public virtual double EstimatedPresentationTime { get; }
	public virtual bool ImmediatePresentationExpected { get; }
	public virtual bool LowLatencyEventDispatchConfirmed { get; }
	public virtual double ModelTime { get; }
	public virtual bool PerformingLowLatencyPhases { get; }
	// methods
	public static UIUpdateInfo GetCurrentUpdateInfo (UIView windowScene);
	public static UIUpdateInfo GetCurrentUpdateInfo (UIWindowScene windowScene);
}

New Type: UIKit.UIUpdateLink

public class UIUpdateLink : Foundation.NSObject {
	// constructors
	protected UIUpdateLink (Foundation.NSObjectFlag t);
	protected UIUpdateLink (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIUpdateInfo CurrentUpdateInfo { get; }
	public virtual bool Enabled { get; set; }
	public virtual CoreAnimation.CAFrameRateRange PreferredFrameRateRange { get; set; }
	public virtual bool RequiresContinuousUpdates { get; set; }
	public virtual bool WantsImmediatePresentation { get; set; }
	public virtual bool WantsLowLatencyEventDispatch { get; set; }
	// methods
	public virtual void AddAction (UIUpdateLinkCallback handler);
	public virtual void AddAction (Foundation.NSObject target, ObjCRuntime.Selector selector);
	public virtual void AddActionToPhase (UIUpdateActionPhase phase, UIUpdateLinkCallback handler);
	public virtual void AddActionToPhase (UIUpdateActionPhase phase, Foundation.NSObject target, ObjCRuntime.Selector selector);
	public static UIUpdateInfo GetUpdateLink (UIView windowScene);
	public static UIUpdateInfo GetUpdateLink (UIWindowScene windowScene);
	public static void UpdateLink (UIView windowScene, UIUpdateLinkCallback handler);
	public static void UpdateLink (UIWindowScene windowScene, UIUpdateLinkCallback handler);
	public static void UpdateLink (UIView windowScene, Foundation.NSObject target, ObjCRuntime.Selector selector);
	public static void UpdateLink (UIWindowScene windowScene, Foundation.NSObject target, ObjCRuntime.Selector selector);
}

New Type: UIKit.UIUpdateLinkCallback

public sealed delegate UIUpdateLinkCallback : System.MulticastDelegate {
	// constructors
	public UIUpdateLinkCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (UIUpdateLink updateLink, UIUpdateInfo updateInfo, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (UIUpdateLink updateLink, UIUpdateInfo updateInfo);
}

New Type: UIKit.UIViewControllerTransition

public class UIViewControllerTransition : Foundation.NSObject {
	// constructors
	protected UIViewControllerTransition (Foundation.NSObjectFlag t);
	protected UIViewControllerTransition (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static UIViewControllerTransition CoverVerticalTransition { get; }
	public static UIViewControllerTransition CrossDissolveTransition { get; }
	public static UIViewControllerTransition FlipHorizontalTransition { get; }
	public static UIViewControllerTransition PartialCurlTransition { get; }
	// methods
	public static UIViewControllerTransition Zoom (UIZoomTransitionOptions options, System.Func<UIZoomTransitionSourceViewProviderContext,UIKit.UIView> sourceViewProvider);
}

New Type: UIKit.UIZoomTransitionAlignmentRectContext

public class UIZoomTransitionAlignmentRectContext : Foundation.NSObject {
	// constructors
	public UIZoomTransitionAlignmentRectContext ();
	protected UIZoomTransitionAlignmentRectContext (Foundation.NSObjectFlag t);
	protected UIZoomTransitionAlignmentRectContext (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIView SourceView { get; }
	public virtual UIViewController ZoomedViewController { get; }
}

New Type: UIKit.UIZoomTransitionInteractionContext

public class UIZoomTransitionInteractionContext : Foundation.NSObject {
	// constructors
	public UIZoomTransitionInteractionContext ();
	protected UIZoomTransitionInteractionContext (Foundation.NSObjectFlag t);
	protected UIZoomTransitionInteractionContext (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreGraphics.CGPoint Location { get; }
	public virtual CoreGraphics.CGVector Velocity { get; }
	public virtual bool WillBegin { get; }
}

New Type: UIKit.UIZoomTransitionOptions

public class UIZoomTransitionOptions : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UIZoomTransitionOptions ();
	protected UIZoomTransitionOptions (Foundation.NSObjectFlag t);
	protected UIZoomTransitionOptions (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual System.Func<UIZoomTransitionAlignmentRectContext,CoreGraphics.CGRect> AlignmentRectProvider { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIColor DimmingColor { get; set; }
	public virtual UIBlurEffect DimmingVisualEffect { get; set; }
	public virtual System.Func<UIZoomTransitionInteractionContext,System.Boolean> InteractiveDismissShouldBegin { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: UIKit.UIZoomTransitionSourceViewProviderContext

public class UIZoomTransitionSourceViewProviderContext : Foundation.NSObject {
	// constructors
	protected UIZoomTransitionSourceViewProviderContext (Foundation.NSObjectFlag t);
	protected UIZoomTransitionSourceViewProviderContext (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIViewController SourceViewController { get; }
	public virtual UIViewController ZoomedViewController { get; }
}

Namespace UniformTypeIdentifiers

Type Changed: UniformTypeIdentifiers.UTTypes

Added properties:

public static UTType Css { get; }
public static UTType Dng { get; }
public static UTType Exr { get; }
public static UTType GeoJson { get; }
public static UTType Heics { get; }
public static UTType LinkPresentationMetadata { get; }
public static UTType TarArchive { get; }

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 VideoToolbox

Type Changed: VideoToolbox.VTCompressionProperties

Added properties:

public bool? CalculateMeanSquaredError { get; }
public double? MaximumRealTimeFrameRate { get; }

Type Changed: VideoToolbox.VTCompressionPropertyKey

Added properties:

public static Foundation.NSString CalculateMeanSquaredError { get; }
public static Foundation.NSString MaximumRealTimeFrameRate { get; }

Type Changed: VideoToolbox.VTCompressionSession

Added method:

public static bool IsStereoMvHevcEncodeSupported ();

Type Changed: VideoToolbox.VTDecodeInfoFlags

Added value:

SkippedLeadingFrameDropped = 8,

Type Changed: VideoToolbox.VTDecompressionProperties

Added properties:

public bool? AllowBitstreamToChangeFrameDimensions { get; }
public bool? GeneratePerFrameHdrDisplayMetadata { get; }

Type Changed: VideoToolbox.VTDecompressionPropertyKey

Added properties:

public static Foundation.NSString AllowBitstreamToChangeFrameDimensions { get; }
public static Foundation.NSString GeneratePerFrameHdrDisplayMetadata { get; }

Type Changed: VideoToolbox.VTDecompressionSession

Added method:

public static bool IsStereoMvHevcDecodeSupported ();

Type Changed: VideoToolbox.VTProfileLevelKeys

Added properties:

public static Foundation.NSString Hevc_Monochrome10_AutoLevel { get; }
public static Foundation.NSString Hevc_Monochrome_AutoLevel { get; }

Type Changed: VideoToolbox.VTStatus

Added values:

CouldNotFindExtensionErr = -19510,
CouldNotOutputTaggedBufferGroupErr = -17699,
ExtensionConflictErr = -19511,
ExtensionDisabledErr = -17697,
VideoEncoderMVHEVCVideoLayerIDsMismatchErr = -17698,

Type Changed: VideoToolbox.VTVideoEncoderSpecification

Added properties:

public bool? EnableHardwareAcceleratedVideoEncoder { get; set; }
public bool? RequireHardwareAcceleratedVideoEncoder { get; set; }

Type Changed: VideoToolbox.VTVideoEncoderSpecificationKeys

Added properties:

public static Foundation.NSString EnableHardwareAcceleratedVideoEncoder { get; }
public static Foundation.NSString RequireHardwareAcceleratedVideoEncoder { get; }

New Type: VideoToolbox.VTHdrPerFrameMetadataGenerationHdrFormatType

[Serializable]
public enum VTHdrPerFrameMetadataGenerationHdrFormatType {
	DolbyVision = 0,
}

New Type: VideoToolbox.VTHdrPerFrameMetadataGenerationHdrFormatTypeExtensions

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

New Type: VideoToolbox.VTHdrPerFrameMetadataGenerationOptions

public class VTHdrPerFrameMetadataGenerationOptions : Foundation.DictionaryContainer {
	// constructors
	public VTHdrPerFrameMetadataGenerationOptions ();
	public VTHdrPerFrameMetadataGenerationOptions (Foundation.NSDictionary dictionary);
	// properties
	public VTHdrPerFrameMetadataGenerationHdrFormatType? HdrFormats { get; set; }
}

New Type: VideoToolbox.VTHdrPerFrameMetadataGenerationOptionsKey

public static class VTHdrPerFrameMetadataGenerationOptionsKey {
	// properties
	public static Foundation.NSString HdrFormats { get; }
}

New Type: VideoToolbox.VTHdrPerFrameMetadataGenerationSession

public class VTHdrPerFrameMetadataGenerationSession : CoreFoundation.NativeObject {
	// constructors
	protected VTHdrPerFrameMetadataGenerationSession (ObjCRuntime.NativeHandle handle, bool owns);
	// methods
	public VTStatus AttachMetadata (CoreVideo.CVPixelBuffer pixelBuffer, bool sceneChange);
	public static VTHdrPerFrameMetadataGenerationSession Create (float framesPerSecond, Foundation.NSDictionary options, out VTStatus error);
	public static VTHdrPerFrameMetadataGenerationSession Create (float framesPerSecond, VTHdrPerFrameMetadataGenerationOptions options, out VTStatus error);
	public static IntPtr GetTypeId ();
}

New Type: VideoToolbox.VTSampleAttachmentKey

public static class VTSampleAttachmentKey {
	// properties
	public static Foundation.NSString QualityMetrics { get; }
	public static Foundation.NSString RequireLtrAcknowledgementToken { get; }
}

New Type: VideoToolbox.VTSampleAttachmentQualityMetrics

public class VTSampleAttachmentQualityMetrics : Foundation.DictionaryContainer {
	// constructors
	public VTSampleAttachmentQualityMetrics ();
	public VTSampleAttachmentQualityMetrics (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSObject ChromaBlueMeanSquaredError { get; }
	public Foundation.NSString ChromaRedMeanSquaredError { get; }
	public Foundation.NSObject LumaMeanSquaredError { get; }
}

New Type: VideoToolbox.VTSampleAttachmentQualityMetricsKey

public static class VTSampleAttachmentQualityMetricsKey {
	// properties
	public static Foundation.NSString ChromaBlueMeanSquaredError { get; }
	public static Foundation.NSString ChromaRedMeanSquaredError { get; }
	public static Foundation.NSString LumaMeanSquaredError { get; }
}

New Type: VideoToolbox.VTSampleAttachments

public class VTSampleAttachments : Foundation.DictionaryContainer {
	// constructors
	public VTSampleAttachments ();
	public VTSampleAttachments (Foundation.NSDictionary dictionary);
	// properties
	public VTSampleAttachmentQualityMetrics QualityMetrics { get; }
	public Foundation.NSNumber RequireLtrAcknowledgementToken { 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.VNGeneratePersonSegmentationRequest

Added method:

public virtual CoreVideo.CVPixelFormatType[] GetSupportedOutputPixelFormats (out Foundation.NSError error);

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

Added value:

Three = 3,

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

public class VNCalculateImageAestheticsScoresRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNCalculateImageAestheticsScoresRequest (Foundation.NSObjectFlag t);
	protected VNCalculateImageAestheticsScoresRequest (ObjCRuntime.NativeHandle handle);
	public VNCalculateImageAestheticsScoresRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual VNImageAestheticsScoresObservation[] Results { get; }
}

New Type: Vision.VNCalculateImageAestheticsScoresRequestRevision

[Serializable]
public enum VNCalculateImageAestheticsScoresRequestRevision {
	One = 1,
}

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

public class VNImageAestheticsScoresObservation : Vision.VNObservation {
	// constructors
	public VNImageAestheticsScoresObservation (Foundation.NSCoder coder);
	protected VNImageAestheticsScoresObservation (Foundation.NSObjectFlag t);
	protected VNImageAestheticsScoresObservation (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool IsUtility { get; }
	public virtual float OverallScore { 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 BrowserEngineKit

New Type: BrowserEngineKit.BEAccessibilityContainerType

[Serializable]
[Flags]
public enum BEAccessibilityContainerType {
	Alert = 1024,
	Article = 128,
	DescriptionList = 2048,
	Dialog = 16,
	Fieldset = 8,
	Frame = 64,
	Landmark = 1,
	List = 4,
	None = 0,
	ScrollArea = 512,
	SemanticGroup = 256,
	Table = 2,
	Tree = 32,
}

New Type: BrowserEngineKit.BEAccessibilityNotification

[Serializable]
public enum BEAccessibilityNotification {
	Changed = 1,
	SelectionChanged = 0,
}

New Type: BrowserEngineKit.BEAccessibilityNotificationExtensions

public static class BEAccessibilityNotificationExtensions {
	// methods
	public static uint? GetConstant (this BEAccessibilityNotification self);
	public static BEAccessibilityNotification GetValue (uint constant);
}

New Type: BrowserEngineKit.BEAccessibilityPressedState

[Serializable]
public enum BEAccessibilityPressedState {
	False = 1,
	Mixed = 3,
	True = 2,
	Undefined = 0,
}

New Type: BrowserEngineKit.BEAccessibilityTrait

[Serializable]
public enum BEAccessibilityTrait {
	MenuItem = 0,
	PopUpButton = 1,
	RadioButton = 2,
	ReadOnly = 3,
	Visited = 4,
}

New Type: BrowserEngineKit.BEAccessibilityTraitExtensions

public static class BEAccessibilityTraitExtensions {
	// methods
	public static ulong? GetConstant (this BEAccessibilityTrait self);
	public static BEAccessibilityTrait GetValue (ulong constant);
}

New Type: BrowserEngineKit.BEAutoFillTextSuggestion

public class BEAutoFillTextSuggestion : BrowserEngineKit.BETextSuggestion {
	// constructors
	protected BEAutoFillTextSuggestion (Foundation.NSObjectFlag t);
	protected BEAutoFillTextSuggestion (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> Contents { get; }
}

New Type: BrowserEngineKit.BEDirectionalTextRange

public struct BEDirectionalTextRange {
	// fields
	public IntPtr Length;
	public IntPtr Offset;
}

New Type: BrowserEngineKit.BEGestureType

[Serializable]
public enum BEGestureType {
	DoubleTap = 3,
	DoubleTapAndHold = 2,
	ForceTouch = 15,
	IMPhraseBoundaryDrag = 14,
	Loupe = 0,
	OneFingerDoubleTap = 8,
	OneFingerTap = 1,
	OneFingerTripleTap = 9,
	TwoFingerRangedSelectGesture = 11,
	TwoFingerSingleTap = 10,
}

New Type: BrowserEngineKit.BEKeyEntry

public class BEKeyEntry : Foundation.NSObject {
	// constructors
	protected BEKeyEntry (Foundation.NSObjectFlag t);
	protected BEKeyEntry (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIKit.UIKey Key { get; }
	public virtual bool KeyRepeating { get; }
	public virtual BEKeyPressState State { get; }
	public virtual double Timestamp { get; }
}

New Type: BrowserEngineKit.BEKeyEntryContext

public class BEKeyEntryContext : Foundation.NSObject {
	// constructors
	public BEKeyEntryContext (BEKeyEntry keyEntry);
	protected BEKeyEntryContext (Foundation.NSObjectFlag t);
	protected BEKeyEntryContext (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool DocumentEditable { get; set; }
	public virtual BEKeyEntry KeyEntry { get; }
	public virtual bool ShouldEvaluateForInputSystemHandling { get; set; }
	public virtual bool ShouldInsertCharacter { get; set; }
}

New Type: BrowserEngineKit.BEKeyModifierFlags

[Serializable]
[Flags]
public enum BEKeyModifierFlags {
	CapsLock = 2,
	None = 0,
	Shift = 1,
}

New Type: BrowserEngineKit.BEKeyPressState

[Serializable]
public enum BEKeyPressState {
	Down = 1,
	Up = 2,
}

New Type: BrowserEngineKit.BEScrollView

public class BEScrollView : UIKit.UIScrollView {
	// constructors
	public BEScrollView ();
	public BEScrollView (Foundation.NSCoder coder);
	protected BEScrollView (Foundation.NSObjectFlag t);
	protected BEScrollView (ObjCRuntime.NativeHandle handle);
	// properties
	public static BEScrollView.BEScrollViewAppearance Appearance { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public IBEScrollViewDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public static BEScrollView.BEScrollViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static BEScrollView.BEScrollViewAppearance GetAppearance<T> ();
	public static BEScrollView.BEScrollViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static BEScrollView.BEScrollViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static BEScrollView.BEScrollViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static BEScrollView.BEScrollViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class BEScrollViewAppearance : UIKit.UIScrollView+UIScrollViewAppearance {
		// constructors
		protected BEScrollView.BEScrollViewAppearance (IntPtr handle);
	}
}

New Type: BrowserEngineKit.BEScrollViewDelegate

public class BEScrollViewDelegate : UIKit.UIScrollViewDelegate, IBEScrollViewDelegate, ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUIScrollViewDelegate {
	// constructors
	public BEScrollViewDelegate ();
	protected BEScrollViewDelegate (Foundation.NSObjectFlag t);
	protected BEScrollViewDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual BEScrollView GetParentScrollView (BEScrollView scrollView);
	public virtual void HandleScrollUpdate (BEScrollView scrollView, BEScrollViewScrollUpdate scrollUpdate, System.Action<bool> completion);
}

New Type: BrowserEngineKit.BEScrollViewScrollUpdate

public class BEScrollViewScrollUpdate : Foundation.NSObject {
	// constructors
	protected BEScrollViewScrollUpdate (Foundation.NSObjectFlag t);
	protected BEScrollViewScrollUpdate (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual BEScrollViewScrollUpdatePhase Phase { get; }
	public virtual double Timestamp { get; }
	// methods
	public virtual CoreGraphics.CGPoint GetLocation (UIKit.UIView view);
	public virtual CoreGraphics.CGPoint GetTranslation (UIKit.UIView view);
}

New Type: BrowserEngineKit.BEScrollViewScrollUpdatePhase

[Serializable]
public enum BEScrollViewScrollUpdatePhase {
	Began = 0,
	Cancelled = 3,
	Changed = 1,
	Ended = 2,
}

New Type: BrowserEngineKit.BESelectionFlags

[Serializable]
[Flags]
public enum BESelectionFlags {
	None = 0,
	PhraseBoundaryChanged = 4,
	SelectionFlipped = 2,
	WordIsNearTap = 1,
}

New Type: BrowserEngineKit.BESelectionTouchPhase

[Serializable]
public enum BESelectionTouchPhase {
	Ended = 2,
	EndedMovingBackward = 4,
	EndedMovingForward = 3,
	EndedNotMoving = 5,
	Moved = 1,
	Started = 0,
}

New Type: BrowserEngineKit.BETextAlternatives

public class BETextAlternatives : Foundation.NSObject {
	// constructors
	protected BETextAlternatives (Foundation.NSObjectFlag t);
	protected BETextAlternatives (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual string[] AlternativeStrings { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string PrimaryString { get; }
}

New Type: BrowserEngineKit.BETextDocumentContext

public class BETextDocumentContext : Foundation.NSObject {
	// constructors
	protected BETextDocumentContext (Foundation.NSObjectFlag t);
	protected BETextDocumentContext (ObjCRuntime.NativeHandle handle);
	public BETextDocumentContext (Foundation.NSAttributedString selectedText, Foundation.NSAttributedString contextBefore, Foundation.NSAttributedString contextAfter, Foundation.NSAttributedString markedText, Foundation.NSRange selectedRangeInMarkedText);
	public BETextDocumentContext (string selectedText, string contextBefore, string contextAfter, string markedText, Foundation.NSRange selectedRangeInMarkedText);
	// properties
	public virtual Foundation.NSValue[] AutocorrectedRanges { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual void AddTextRect (CoreGraphics.CGRect rect, Foundation.NSRange range);
}

New Type: BrowserEngineKit.BETextDocumentRequest

public class BETextDocumentRequest : Foundation.NSObject {
	// constructors
	protected BETextDocumentRequest (Foundation.NSObjectFlag t);
	protected BETextDocumentRequest (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual IntPtr GranularityCount { get; set; }
	public virtual BETextDocumentRequestOptions Options { get; set; }
	public virtual UIKit.UITextGranularity SurroundingGranularity { get; set; }
}

New Type: BrowserEngineKit.BETextDocumentRequestOptions

[Serializable]
[Flags]
public enum BETextDocumentRequestOptions {
	AttributedText = 2,
	AutocorrectedRanges = 128,
	MarkedTextRects = 32,
	None = 0,
	Text = 1,
	TextRects = 4,
}

New Type: BrowserEngineKit.BETextInputDelegate

public abstract class BETextInputDelegate : Foundation.NSObject, IBETextInputDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected BETextInputDelegate ();
	protected BETextInputDelegate (Foundation.NSObjectFlag t);
	protected BETextInputDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual void DeferReplaceTextActionToSystem (IBETextInput textInput, Foundation.NSObject sender);
	public virtual void InvalidateTextEntryContext (IBETextInput textInput);
	public virtual void SelectionDidChange (IBETextInput textInput);
	public virtual void SelectionWillChange (IBETextInput textInput);
	public virtual void SetCandidateSuggestions (IBETextInput textInput, BETextSuggestion[] suggestions);
	public virtual bool ShouldDeferEventHandlingToSystem (IBETextInput textInput, BEKeyEntryContext keyEventContext);
}

New Type: BrowserEngineKit.BETextInputHandleKeyEntryCallback

public sealed delegate BETextInputHandleKeyEntryCallback : System.MulticastDelegate {
	// constructors
	public BETextInputHandleKeyEntryCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (BEKeyEntry entry, bool handled, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (BEKeyEntry entry, bool handled);
}

New Type: BrowserEngineKit.BETextInputReplaceTextCallback

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

New Type: BrowserEngineKit.BETextInputRequestTextContextForAutocorrectionCallback

public sealed delegate BETextInputRequestTextContextForAutocorrectionCallback : System.MulticastDelegate {
	// constructors
	public BETextInputRequestTextContextForAutocorrectionCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (BETextDocumentContext context, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (BETextDocumentContext context);
}

New Type: BrowserEngineKit.BETextInputRequestTextRectsCallback

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

New Type: BrowserEngineKit.BETextInteraction

public class BETextInteraction : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUIInteraction {
	// constructors
	public BETextInteraction ();
	protected BETextInteraction (Foundation.NSObjectFlag t);
	protected BETextInteraction (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public IBETextInteractionDelegate Delegate { get; set; }
	public virtual UIKit.UITextSelectionDisplayInteraction TextSelectionDisplayInteraction { get; }
	public virtual UIKit.UIView View { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual void AddShortcut (string text, CoreGraphics.CGRect presentationRect);
	public virtual void DidMoveToView (UIKit.UIView view);
	public virtual void DismissEditMenuForSelection ();
	protected override void Dispose (bool disposing);
	public virtual void EditabilityChanged ();
	public virtual void PresentEditMenuForSelection ();
	public virtual void RefreshKeyboardUI ();
	public virtual void SelectionBoundaryAdjusted (CoreGraphics.CGPoint point, BESelectionTouchPhase touch, BESelectionFlags flags);
	public virtual void SelectionChangedWithGesture (CoreGraphics.CGPoint point, BEGestureType gestureType, UIKit.UIGestureRecognizerState gestureState, BESelectionFlags flags);
	public virtual void Share (string text, CoreGraphics.CGRect presentationRect);
	public virtual void ShowDictionary (string textWithContext, Foundation.NSRange range, CoreGraphics.CGRect presentationRect);
	public virtual void ShowReplacements (string text);
	public virtual void Translate (string text, CoreGraphics.CGRect presentationRect);
	public virtual void TransliterateChinese (string text);
	public virtual void WillMoveToView (UIKit.UIView view);
}

New Type: BrowserEngineKit.BETextInteractionDelegate

public abstract class BETextInteractionDelegate : Foundation.NSObject, IBETextInteractionDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected BETextInteractionDelegate ();
	protected BETextInteractionDelegate (Foundation.NSObjectFlag t);
	protected BETextInteractionDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual void SystemDidChangeSelection (BETextInteraction textInteraction);
	public virtual void SystemWillChangeSelection (BETextInteraction textInteraction);
}

New Type: BrowserEngineKit.BETextReplacementOptions

[Serializable]
[Flags]
public enum BETextReplacementOptions {
	AddUnderline = 1,
	None = 0,
}

New Type: BrowserEngineKit.BETextSuggestion

public class BETextSuggestion : Foundation.NSObject {
	// constructors
	protected BETextSuggestion (Foundation.NSObjectFlag t);
	protected BETextSuggestion (ObjCRuntime.NativeHandle handle);
	public BETextSuggestion (string inputText);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string InputText { get; }
}

New Type: BrowserEngineKit.BEWebAppManifest

public class BEWebAppManifest : Foundation.NSObject {
	// constructors
	protected BEWebAppManifest (Foundation.NSObjectFlag t);
	protected BEWebAppManifest (ObjCRuntime.NativeHandle handle);
	public BEWebAppManifest (Foundation.NSData jsonData, Foundation.NSUrl manifestUrl);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSData JsonData { get; }
	public virtual Foundation.NSUrl ManifestUrl { get; }
}

New Type: BrowserEngineKit.IBEExtendedTextInputTraits

public interface IBEExtendedTextInputTraits : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUITextInputTraits {
	// properties
	public virtual UIKit.UIColor InsertionPointColor { get; }
	public virtual UIKit.UIColor SelectionHandleColor { get; }
	public virtual UIKit.UIColor SelectionHighlightColor { get; }
	public virtual bool SingleLineDocument { get; }
	public virtual bool TypingAdaptationEnabled { get; }
}

New Type: BrowserEngineKit.IBEResponderEditActions

public interface IBEResponderEditActions : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUIResponderStandardEditActions {
	// methods
	public virtual void AddShortcut (Foundation.NSObject sender);
	public virtual void FindSelected (Foundation.NSObject sender);
	public virtual void Lookup (Foundation.NSObject sender);
	public virtual void PromptForReplace (Foundation.NSObject sender);
	public virtual void Replace (Foundation.NSObject sender);
	public virtual void Share (Foundation.NSObject sender);
	public virtual void Translate (Foundation.NSObject sender);
	public virtual void TransliterateChinese (Foundation.NSObject sender);
}

New Type: BrowserEngineKit.IBEScrollViewDelegate

public interface IBEScrollViewDelegate : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUIScrollViewDelegate {
	// methods
	public virtual BEScrollView GetParentScrollView (BEScrollView scrollView);
	public virtual void HandleScrollUpdate (BEScrollView scrollView, BEScrollViewScrollUpdate scrollUpdate, System.Action<bool> completion);
}

New Type: BrowserEngineKit.IBETextInput

public interface IBETextInput : IBEResponderEditActions, IBETextSelectionDirectionNavigation, ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUIKeyInput, UIKit.IUIResponderStandardEditActions, UIKit.IUITextInputTraits {
	// properties
	public virtual Foundation.NSAttributedString AttributedMarkedText { get; }
	public virtual bool AutomaticallyPresentEditMenu { get; }
	public virtual bool Editable { get; }
	public virtual IBEExtendedTextInputTraits ExtendedTextInputTraits { get; }
	public virtual bool HasMarkedText { get; }
	public virtual string MarkedText { get; }
	public virtual UIKit.UITextRange MarkedTextRange { get; }
	public virtual bool ReplaceAllowed { get; }
	public virtual string SelectedText { get; }
	public virtual UIKit.UITextRange SelectedTextRange { get; set; }
	public virtual bool SelectionAtDocumentStart { get; }
	public virtual CoreGraphics.CGRect SelectionClipRect { get; }
	public virtual CoreGraphics.CGRect TextFirstRect { get; }
	public virtual UIKit.UIView TextInputView { get; }
	public virtual CoreGraphics.CGRect TextLastRect { get; }
	public virtual CoreGraphics.CGRect UnobscuredContentRect { get; }
	public virtual UIKit.UIView UnscaledView { get; }
	public virtual Foundation.NSObject WeakAsyncInputDelegate { get; set; }
	// methods
	public virtual void AddTextAlternatives (BETextAlternatives alternatives);
	public virtual void AdjustSelection (BEDirectionalTextRange range, System.Action completionHandler);
	public virtual void AdjustSelectionBoundary (CoreGraphics.CGPoint point, BESelectionTouchPhase touch, bool boundaryIsStart, BESelectionFlags flags);
	public virtual void Autoscroll (CoreGraphics.CGPoint point);
	public virtual bool CanPerformAction (ObjCRuntime.Selector action, Foundation.NSObject sender);
	public virtual void CancelAutoscroll ();
	public virtual void Delete (UIKit.UITextStorageDirection direction, UIKit.UITextGranularity granularity);
	public virtual void DidInsertFinalDictationResult ();
	public virtual BETextAlternatives[] GetAlternativesForSelectedText ();
	public virtual CoreGraphics.CGRect GetCaretRect (UIKit.UITextPosition position);
	public virtual IntPtr GetOffset (UIKit.UITextPosition from, UIKit.UITextPosition toPosition);
	public virtual UIKit.UITextSelectionRect[] GetSelectionRects (UIKit.UITextRange range);
	public virtual string GetText (UIKit.UITextRange range);
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetTextStyling (UIKit.UITextPosition position, UIKit.UITextStorageDirection direction);
	public virtual void HandleKeyEntry (BEKeyEntry entry, BETextInputHandleKeyEntryCallback completionHandler);
	public virtual void InsertTextAlternatives (BETextAlternatives alternatives);
	public virtual void InsertTextPlaceholder (CoreGraphics.CGSize size, System.Action<UIKit.UITextPlaceholder> completionHandler);
	public virtual void InsertTextSuggestion (BETextSuggestion textSuggestion);
	public virtual bool IsPointNearMarkedText (CoreGraphics.CGPoint point);
	public virtual void KeyboardWillDismiss ();
	public virtual void Move (IntPtr offset);
	public virtual void MoveSelectionAtBoundary (UIKit.UITextGranularity granularity, UIKit.UITextStorageDirection direction, System.Action completionHandler);
	public virtual void RemoveTextAlternatives ();
	public virtual void RemoveTextPlaceholder (UIKit.UITextPlaceholder placeholder, bool willInsertText, System.Action completionHandler);
	public virtual void ReplaceDictatedText (string oldText, string newText);
	public virtual void ReplaceSelectedText (string text, string replacementText);
	public virtual void ReplaceText (string originalText, string replacementText, BETextReplacementOptions options, BETextInputReplaceTextCallback completionHandler);
	public virtual void RequestDocumentContext (BETextDocumentRequest request, System.Action<BETextDocumentContext> completionHandler);
	public virtual void RequestTextContextForAutocorrection (BETextInputRequestTextContextForAutocorrectionCallback completionHandler);
	public virtual void RequestTextRects (string input, BETextInputRequestTextRectsCallback completionHandler);
	public virtual void SelectPosition (CoreGraphics.CGPoint point, System.Action completionHandler);
	public virtual void SelectPosition (CoreGraphics.CGPoint point, BETextDocumentRequest request, System.Action<BETextDocumentContext> completionHandler);
	public virtual void SelectText (UIKit.UITextGranularity granularity, CoreGraphics.CGPoint point, System.Action completionHandler);
	public virtual void SelectTextForEditMenu (CoreGraphics.CGPoint locationInView, System.Action<System.Boolean,Foundation.NSString,Foundation.NSRange> completionHandler);
	public virtual void SelectWordForReplacement ();
	public virtual void SetAttributedMarkedText (Foundation.NSAttributedString markedText, Foundation.NSRange selectedRange);
	public virtual void SetBaseWritingDirection (Foundation.NSWritingDirection writingDirection, UIKit.UITextRange range);
	public virtual void SetMarkedText (string markedText, Foundation.NSRange selectedRange);
	public virtual void SetSelection (CoreGraphics.CGPoint from, CoreGraphics.CGPoint to, BEGestureType gesture, UIKit.UIGestureRecognizerState state);
	public virtual void ShiftKeyStateChanged (BEKeyModifierFlags oldState, BEKeyModifierFlags newState);
	public virtual bool ShouldTextInteractionGestureBeginAtPoint (BEGestureType gestureType, CoreGraphics.CGPoint point);
	public virtual void TransposeCharactersAroundSelection ();
	public virtual void UnmarkText ();
	public virtual void UpdateCurrentSelection (CoreGraphics.CGPoint point, BEGestureType gestureType, UIKit.UIGestureRecognizerState state);
	public virtual void UpdateSelection (CoreGraphics.CGPoint extentPoint, UIKit.UITextGranularity granularity, System.Action<bool> completionHandler);
	public virtual void WillInsertFinalDictationResult ();
}

New Type: BrowserEngineKit.IBETextInputDelegate

public interface IBETextInputDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DeferReplaceTextActionToSystem (IBETextInput textInput, Foundation.NSObject sender);
	public virtual void InvalidateTextEntryContext (IBETextInput textInput);
	public virtual void SelectionDidChange (IBETextInput textInput);
	public virtual void SelectionWillChange (IBETextInput textInput);
	public virtual void SetCandidateSuggestions (IBETextInput textInput, BETextSuggestion[] suggestions);
	public virtual bool ShouldDeferEventHandlingToSystem (IBETextInput textInput, BEKeyEntryContext keyEventContext);
}

New Type: BrowserEngineKit.IBETextInteractionDelegate

public interface IBETextInteractionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void SystemDidChangeSelection (BETextInteraction textInteraction);
	public virtual void SystemWillChangeSelection (BETextInteraction textInteraction);
}

New Type: BrowserEngineKit.IBETextSelectionDirectionNavigation

public interface IBETextSelectionDirectionNavigation : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void ExtendInLayoutDirection (UIKit.UITextLayoutDirection direction);
	public virtual void ExtendInStorageDirection (UIKit.UITextStorageDirection direction, UIKit.UITextGranularity granularity);
	public virtual void MoveInLayoutDirection (UIKit.UITextLayoutDirection direction);
	public virtual void MoveInStorageDirection (UIKit.UITextStorageDirection direction, UIKit.UITextGranularity granularity);
}

New Type: BrowserEngineKit.NSObject_BEAccessibility

public static class NSObject_BEAccessibility {
	// methods
	public static void BrowserAccessibilityDeleteTextAtCursor (this Foundation.NSObject This, IntPtr numberOfCharacters);
	public static void BrowserAccessibilityInsertTextAtCursor (this Foundation.NSObject This, string text);
	public static Foundation.NSAttributedString GetBrowserAccessibilityAttributedValue (this Foundation.NSObject This, Foundation.NSRange range);
	public static BEAccessibilityContainerType GetBrowserAccessibilityContainerType (this Foundation.NSObject This);
	public static string GetBrowserAccessibilityCurrentStatus (this Foundation.NSObject This);
	public static bool GetBrowserAccessibilityHasDomFocus (this Foundation.NSObject This);
	public static bool GetBrowserAccessibilityIsRequired (this Foundation.NSObject This);
	public static BEAccessibilityPressedState GetBrowserAccessibilityPressedState (this Foundation.NSObject This);
	public static string GetBrowserAccessibilityRoleDescription (this Foundation.NSObject This);
	public static Foundation.NSRange GetBrowserAccessibilitySelectedTextRange (this Foundation.NSObject This);
	public static string GetBrowserAccessibilitySortDirection (this Foundation.NSObject This);
	public static string GetBrowserAccessibilityValue (this Foundation.NSObject This, Foundation.NSRange range);
	public static void SetBrowserAccessibilityContainerType (this Foundation.NSObject This, BEAccessibilityContainerType value);
	public static void SetBrowserAccessibilityCurrentStatus (this Foundation.NSObject This, string value);
	public static void SetBrowserAccessibilityHasDomFocus (this Foundation.NSObject This, bool value);
	public static void SetBrowserAccessibilityIsRequired (this Foundation.NSObject This, bool value);
	public static void SetBrowserAccessibilityPressedState (this Foundation.NSObject This, BEAccessibilityPressedState value);
	public static void SetBrowserAccessibilityRoleDescription (this Foundation.NSObject This, string value);
	public static void SetBrowserAccessibilitySelectedTextRange (this Foundation.NSObject This, Foundation.NSRange range);
	public static void SetBrowserAccessibilitySortDirection (this Foundation.NSObject This, string value);
}

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