Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created August 22, 2024 15:40
Show Gist options
  • Save vs-mobiletools-engineering-service2/f6befe52a535226f5ccd7f945343a6f0 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/f6befe52a535226f5ccd7f945343a6f0 to your computer and use it in GitHub Desktop.
stable-api-comparison/mac-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.Mac SDK API diff: 9.3.0 vs 9.5.0
List of API changes between Xamarin.Mac versions 9.3.0 and 9.5.0.
spouliot
sepoulio
8/22/2024
article
7f90c40b-1e1d-b854-c4c1-b76685477ba0
xamarin

Xamarin.Mac SDK API diff: 9.3.0 vs 9.5.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAssetDownloadDelegate

Added methods:

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

Type Changed: AVFoundation.AVAssetImageGenerator

Added method:

public virtual void GenerateCGImageAsynchronously (CoreMedia.CMTime requestedTime, AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler handler);

Type Changed: AVFoundation.AVAudioSinkNode

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 AVAudioSinkNode (AVAudioSinkNodeReceiverHandler receiverHandler);

Added constructors:

public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler2 receiverHandler);
public AVAudioSinkNode (AVAudioSinkNodeReceiverHandlerRaw receiverHandler);

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 (AVAudioSourceNodeRenderHandler2 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, AVAudioSourceNodeRenderHandler2 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.AVMetadataObjectTypeExtensions

Added methods:

public static Foundation.NSString[] ToArray (this AVMetadataObjectType value);
public static AVMetadataObjectType ToFlags (System.Collections.Generic.IEnumerable<Foundation.NSString> constants);

Type Changed: AVFoundation.AVMutableComposition

Added method:

public virtual Cinematic.CNCompositionInfo AddTracks (Cinematic.CNAssetInfo assetInfo, int preferredStartingTrackID);

Type Changed: AVFoundation.AVPlayerItemErrorLogEvent

Added property:

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

Type Changed: AVFoundation.AVSampleCursor

Obsoleted properties:

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

Added property:

public AVSampleCursorDependencyInfo CurrentSampleDependencyInfo2 { get; }

Type Changed: AVFoundation.AVSpeechSynthesizer

Obsoleted methods:

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

New Type: AVFoundation.AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler

public sealed delegate AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler : System.MulticastDelegate {
	// constructors
	public AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error);
}

New Type: AVFoundation.AVAudioSinkNodeReceiverHandler2

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

New Type: AVFoundation.AVAudioSinkNodeReceiverHandlerRaw

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

New Type: AVFoundation.AVAudioSourceNodeRenderHandler3

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

New Type: AVFoundation.AVAudioSourceNodeRenderHandlerRaw

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

Namespace Accessibility

New Type: Accessibility.AXAnimatedImagesUtilities

public static class AXAnimatedImagesUtilities {
	// properties
	public static Foundation.NSString AnimatedImagesEnabledDidChangeNotification { get; }
	public static bool Enabled { get; }

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

New Type: Accessibility.AXCustomContentProvider_Extensions

public static class AXCustomContentProvider_Extensions {
	// methods
	public static System.Func<AXCustomContent[]> GetAccessibilityCustomContentHandler (this IAXCustomContentProvider This);
	public static void SetAccessibilityCustomContentHandler (this IAXCustomContentProvider This, System.Func<AXCustomContent[]> value);
}

New Type: Accessibility.AXPrefers

public static class AXPrefers {
	// properties
	public static Foundation.NSString HorizontalTextLayoutDidChangeNotification { get; }
	// methods
	public static bool HorizontalTextEnabled ();

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

Namespace AppKit

Type Changed: AppKit.NSAccessibilityElement

Added properties:

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

Type Changed: AppKit.NSAccessibility_Extensions

Added methods:

public static Foundation.NSAttributedString[] GetAccessibilityAttributedUserInputLabels (this INSAccessibility This);
public static string[] GetAccessibilityUserInputLabels (this INSAccessibility This);
public static void SetAccessibilityAttributedUserInputLabels (this INSAccessibility This, Foundation.NSAttributedString[] value);
public static void SetAccessibilityUserInputLabels (this INSAccessibility This, string[] value);

Type Changed: AppKit.NSApplication

Added properties:

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

Added methods:

public virtual void Activate ();
public virtual void ActivateContextHelpMode (Foundation.NSObject sender);
public virtual void RegisterUserInterfaceItemSearchHandler (INSUserInterfaceItemSearching handler);
public virtual bool SearchStringInUserInterface (string searchString, string stringToSearch, Foundation.NSRange searchRange, out Foundation.NSRange foundRange);
public virtual void ShowHelp (Foundation.NSObject sender);
public virtual void UnregisterUserInterfaceItemSearchHandler (INSUserInterfaceItemSearching handler);
public virtual void YieldActivation (NSRunningApplication toApplication);
public virtual void YieldActivation (string toApplicationWithBundleIdentifier);

Type Changed: AppKit.NSBezelStyle

Added values:

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

Type Changed: AppKit.NSBezierPath

Added property:

public virtual CoreGraphics.CGPath CGPath { get; set; }

Added methods:

public virtual void CurveTo (CoreGraphics.CGPoint endPoint, CoreGraphics.CGPoint controlPoint);
public static NSBezierPath FromCGPath (CoreGraphics.CGPath cgPath);
public virtual void RelativeCurveTo (CoreGraphics.CGPoint endPoint, CoreGraphics.CGPoint controlPoint);

Type Changed: AppKit.NSBezierPathElement

Added value:

QuadraticCurveTo = 4,

Type Changed: AppKit.NSCell

Added properties:

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

Type Changed: AppKit.NSColor

Added interface:

INSAccessibilityColor

Added properties:

public virtual string AccessibilityName { get; }
public static NSColor QuaternarySystemFill { get; }
public static NSColor QuinaryLabel { get; }
public static NSColor QuinarySystemFill { get; }
public static NSColor SecondarySystemFill { get; }
public static NSColor SystemFill { get; }
public static NSColor TertiarySystemFill { get; }
public static NSColor TextInsertionPoint { get; }

Type Changed: AppKit.NSColorWell

Added property:

public virtual bool SupportsAlpha { get; set; }

Added method:

public static NSColorWell Create (NSColorWellStyle style);

Type Changed: AppKit.NSCursor

Added interface:

Foundation.INSSecureCoding

Type Changed: AppKit.NSDocument

Added method:

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

Type Changed: AppKit.NSDrawer

Added properties:

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

Type Changed: AppKit.NSEvent

Obsoleted methods:

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

Added methods:

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

Type Changed: AppKit.NSFontDescriptor

Added method:

public virtual NSFontDescriptor Create (Foundation.NSString design);

Type Changed: AppKit.NSGraphics

Obsoleted methods:

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

Added method:

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

Type Changed: AppKit.NSImage

Added property:

public virtual Foundation.NSLocale Locale { get; }

Added methods:

public virtual NSImage GetImage (Foundation.NSLocale locale);
public static NSImage GetImage (string symbolName, Foundation.NSBundle bundle, double variableValue);

Type Changed: AppKit.NSImageView

Added properties:

public static NSImageDynamicRange DefaultPreferredImageDynamicRange { get; set; }
public virtual NSImageDynamicRange ImageDynamicRange { get; }
public virtual NSImageDynamicRange PreferredImageDynamicRange { get; set; }

Added methods:

public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveAllSymbolEffects ();
public virtual void RemoveAllSymbolEffects (Symbols.NSSymbolEffectOptions options);
public virtual void RemoveAllSymbolEffects (Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void SetSymbolImage (NSImage symbolImage, Symbols.NSSymbolContentTransition contentTransition);
public virtual void SetSymbolImage (NSImage symbolImage, Symbols.NSSymbolContentTransition contentTransition, Symbols.NSSymbolEffectOptions options);

Type Changed: AppKit.NSMenu

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }
public virtual NSMenuPresentationStyle PresentationStyle { get; set; }
public virtual NSMenuItem[] SelectedItems { get; set; }
public virtual NSMenuSelectionMode SelectionMode { get; set; }

Added methods:

public static NSMenu CreatePaletteMenu (NSColor[] colors, string[] itemTitles, System.Action<NSMenu> onSelectionChange);
public static NSMenu CreatePaletteMenu (NSColor[] colors, string[] itemTitles, NSImage image, System.Action<NSMenu> onSelectionChange);

Type Changed: AppKit.NSMenuItem

Added properties:

public virtual Foundation.NSAttributedString[] AccessibilityAttributedUserInputLabels { get; set; }
public virtual string[] AccessibilityUserInputLabels { get; set; }
public virtual NSMenuItemBadge Badge { get; set; }
public virtual bool IsSectionHeader { get; }

Added method:

public static NSMenuItem CreateSectionHeader (string title);

Type Changed: AppKit.NSOutlineViewDelegate

Added methods:

public virtual bool UserCanChangeVisibility (NSOutlineView outlineView, NSTableColumn column);
public virtual void UserDidChangeVisibility (NSOutlineView outlineView, NSTableColumn[] columns);

Type Changed: AppKit.NSOutlineViewDelegate_Extensions

Added methods:

public static bool UserCanChangeVisibility (this INSOutlineViewDelegate This, NSOutlineView outlineView, NSTableColumn column);
public static void UserDidChangeVisibility (this INSOutlineViewDelegate This, NSOutlineView outlineView, NSTableColumn[] columns);

Type Changed: AppKit.NSPageLayout

Added methods:

public virtual void BeginSheet (NSPrintInfo printInfo, NSWindow parentWindow, System.Action<NSPageLayoutResult> handler);
public virtual System.Threading.Tasks.Task<NSPageLayoutResult> BeginSheetAsync (NSPrintInfo printInfo, NSWindow parentWindow);

Type Changed: AppKit.NSPasteboard

Obsoleted properties:

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

Type Changed: AppKit.NSPopover

Added properties:

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

Added method:

public virtual void ShowRelative (NSToolbarItem toToolbarItem);

Type Changed: AppKit.NSPrintPanel

Added methods:

public virtual void BeginSheet (NSPrintInfo printInfo, NSWindow parentWindow, System.Action<NSPrintPanelResult> handler);
public virtual System.Threading.Tasks.Task<NSPrintPanelResult> BeginSheetAsync (NSPrintInfo printInfo, NSWindow parentWindow);

Type Changed: AppKit.NSProgressIndicator

Added property:

public virtual Foundation.NSProgress ObservedProgress { get; set; }

Type Changed: AppKit.NSRunningApplication

Added method:

public virtual bool Activate (NSRunningApplication application, NSApplicationActivationOptions options);

Type Changed: AppKit.NSSavePanel

Added property:

public virtual string Identifier { get; set; }

Type Changed: AppKit.NSScreen

Added method:

public virtual CoreAnimation.CADisplayLink GetDisplayLink (Foundation.NSObject target, ObjCRuntime.Selector selector);

Type Changed: AppKit.NSSliderAccessory

Added properties:

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

Type Changed: AppKit.NSSpellChecker

Added properties:

public static Foundation.NSString DidChangeAutomaticInlinePredictionNotification { get; }
public static bool IsAutomaticInlinePredictionEnabled { get; }
public static Foundation.NSString TextCheckingGenerateInlinePredictionsKey { get; }

Added method:

public virtual void ShowInlinePrediction (Foundation.NSTextCheckingResult[] candidates, INSTextInputClient client);

Type Changed: AppKit.NSSpellChecker.Notifications

Added methods:

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

Type Changed: AppKit.NSSplitViewController

Added method:

public virtual void ToggleInspector (Foundation.NSObject sender);

Type Changed: AppKit.NSSplitViewItem

Added property:

public virtual bool CanCollapseFromWindowResize { get; set; }

Added method:

public static NSSplitViewItem CreateInspector (NSViewController viewController);

Type Changed: AppKit.NSSplitViewItemBehavior

Added value:

Inspector = 3,

Type Changed: AppKit.NSTableView

Added property:

public NSTableViewUserCanChangeColumnVisibility UserCanChangeVisibility { get; set; }

Added event:

public event System.EventHandler<NSTableViewUserCanChangeColumnsVisibilityEventArgs> UserDidChangeVisibility;

Type Changed: AppKit.NSTableViewDelegate

Added methods:

public virtual bool UserCanChangeVisibility (NSTableView tableView, NSTableColumn column);
public virtual void UserDidChangeVisibility (NSTableView tableView, NSTableColumn[] columns);

Type Changed: AppKit.NSTableViewDelegate_Extensions

Added methods:

public static bool UserCanChangeVisibility (this INSTableViewDelegate This, NSTableView tableView, NSTableColumn column);
public static void UserDidChangeVisibility (this INSTableViewDelegate This, NSTableView tableView, NSTableColumn[] columns);

Type Changed: AppKit.NSTextContentType

Added values:

AddressCity = 3,
AddressCityAndState = 4,
AddressLine2 = 39,
AddressState = 5,
Birthdate = 6,
BirthdateDay = 7,
BirthdateMonth = 8,
BirthdateYear = 9,
CountryName = 10,
CreditCardExpiration = 11,
CreditCardExpirationMonth = 12,
CreditCardExpirationYear = 13,
CreditCardFamilyName = 14,
CreditCardGivenName = 15,
CreditCardMiddleName = 16,
CreditCardName = 17,
CreditCardNumber = 18,
CreditCardSecurityCode = 19,
CreditCardType = 20,
DateTime = 21,
EmailAddress = 22,
FamilyName = 23,
FlightNumber = 24,
FullStreetAddress = 25,
GivenName = 26,
JobTitle = 27,
Location = 28,
MiddleName = 29,
Name = 30,
NamePrefix = 31,
NameSuffix = 32,
NewPassword = 33,
Nickname = 34,
OrganizationName = 35,
PostalCode = 36,
ShipmentTrackingNumber = 37,
StreetAddressLine1 = 38,
Sublocality = 40,
TelephoneNumber = 41,
Url = 42,

Type Changed: AppKit.NSTextInputClient

Added properties:

public virtual CoreGraphics.CGRect DocumentVisibleRect { get; }
public virtual NSTextCursorAccessoryPlacement PreferredTextAccessoryPlacement { get; }
public virtual CoreGraphics.CGRect UnionRectInVisibleSelectedRange { get; }

Type Changed: AppKit.NSTextInputClient_Extensions

Added methods:

public static CoreGraphics.CGRect GetDocumentVisibleRect (this INSTextInputClient This);
public static NSTextCursorAccessoryPlacement GetPreferredTextAccessoryPlacement (this INSTextInputClient This);
public static CoreGraphics.CGRect GetUnionRectInVisibleSelectedRange (this INSTextInputClient This);

Type Changed: AppKit.NSTextInputContext

Added methods:

public virtual void TextInputClientDidEndScrollingOrZooming ();
public virtual void TextInputClientWillStartScrollingOrZooming ();

Type Changed: AppKit.NSTextInputTraits_Extensions

Added methods:

public static NSTextInputTraitType GetInlinePredictionType (this INSTextInputTraits This);
public static void SetInlinePredictionType (this INSTextInputTraits This, NSTextInputTraitType value);

Type Changed: AppKit.NSTextLayoutFragment

Added methods:

public virtual NSTextLineFragment GetTextLineFragment (INSTextLocation textLocation, bool isUpstreamAffinity);
public virtual NSTextLineFragment GetTextLineFragment (nfloat verticalOffset, bool requiresExactMatch);

Type Changed: AppKit.NSTextView

Added properties:

public virtual CoreGraphics.CGRect DocumentVisibleRect { get; }
public virtual NSTextInputTraitType InlinePredictionType { get; set; }
public virtual NSTextCursorAccessoryPlacement PreferredTextAccessoryPlacement { get; }
public virtual CoreGraphics.CGRect UnionRectInVisibleSelectedRange { get; }

Type Changed: AppKit.NSToolbar

Added properties:

public static Foundation.NSString NSToolbarInspectorTrackingSeparatorItemIdentifier { get; }
public static Foundation.NSString NSToolbarToggleInspectorItemIdentifier { get; }

Type Changed: AppKit.NSToolbarItem

Added property:

public virtual bool Visible { get; }

Type Changed: AppKit.NSView

Added properties:

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

Added method:

public virtual CoreAnimation.CADisplayLink GetDisplayLink (Foundation.NSObject target, ObjCRuntime.Selector selector);

Type Changed: AppKit.NSViewController

Added property:

public virtual NSView ViewIfLoaded { get; }

Added methods:

public virtual void LoadViewIfNeeded ();
public virtual void Present (NSViewController viewController, CoreGraphics.CGRect positioningRect, NSView positioningView, NSRectEdge preferredEdge, NSPopoverBehavior behavior, byte hasFullSizeContent);

Type Changed: AppKit.NSWindow

Added properties:

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

Added method:

public virtual CoreAnimation.CADisplayLink GetDisplayLink (Foundation.NSObject target, ObjCRuntime.Selector selector);

New Type: AppKit.INSAccessibilityColor

public interface INSAccessibilityColor : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual string AccessibilityName { get; }
}

New Type: AppKit.INSUserInterfaceItemSearching

public interface INSUserInterfaceItemSearching : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract string[] GetLocalizedTitles (Foundation.NSObject forItem);
	public abstract void SearchForItems (string searchString, nint resultLimit, System.Action<Foundation.NSObject[]> matchedItemHandler);
}

New Type: AppKit.NSAttributedStringDocumentReadingOptions

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

New Type: AppKit.NSAttributedStringDocumentType

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

New Type: AppKit.NSAttributedStringDocumentTypeExtensions

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

New Type: AppKit.NSImageDynamicRange

[Serializable]
public enum NSImageDynamicRange {
	ConstrainedHigh = 1,
	High = 2,
	Standard = 0,
	Unspecified = -1,
}

New Type: AppKit.NSMenuItemBadge

public class NSMenuItemBadge : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected NSMenuItemBadge (Foundation.NSObjectFlag t);
	protected NSMenuItemBadge (IntPtr handle);
	public NSMenuItemBadge (string string);
	public NSMenuItemBadge (nint itemCount);
	public NSMenuItemBadge (nint itemCount, NSMenuItemBadgeType type);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint ItemCount { get; }
	public virtual string StringValue { get; }
	public virtual NSMenuItemBadgeType Type { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static NSMenuItemBadge CreateAlerts (nint itemCount);
	public static NSMenuItemBadge CreateNewItems (nint itemCount);
	public static NSMenuItemBadge CreateUpdates (nint itemCount);
}

New Type: AppKit.NSMenuItemBadgeType

[Serializable]
public enum NSMenuItemBadgeType {
	Alerts = 3,
	NewItems = 2,
	None = 0,
	Updates = 1,
}

New Type: AppKit.NSMenuPresentationStyle

[Serializable]
public enum NSMenuPresentationStyle {
	Palette = 1,
	Regular = 0,
}

New Type: AppKit.NSMenuSelectionMode

[Serializable]
public enum NSMenuSelectionMode {
	Automatic = 0,
	SelectAny = 2,
	SelectOne = 1,
}

New Type: AppKit.NSNibConnector

public class NSNibConnector : Foundation.NSObject, Foundation.INSCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSNibConnector ();
	public NSNibConnector (Foundation.NSCoder coder);
	protected NSNibConnector (Foundation.NSObjectFlag t);
	protected NSNibConnector (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSObject Destination { get; set; }
	public virtual string Label { get; set; }
	public virtual Foundation.NSObject Source { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual void EstablishConnection ();
	public virtual void Replace (Foundation.NSObject oldObject, Foundation.NSObject newObject);
}

New Type: AppKit.NSNibControlConnector

public class NSNibControlConnector : AppKit.NSNibConnector {
	// constructors
	public NSNibControlConnector ();
	public NSNibControlConnector (Foundation.NSCoder coder);
	protected NSNibControlConnector (Foundation.NSObjectFlag t);
	protected NSNibControlConnector (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void EstablishConnection ();
}

New Type: AppKit.NSNibOutletConnector

public class NSNibOutletConnector : AppKit.NSNibConnector {
	// constructors
	public NSNibOutletConnector ();
	public NSNibOutletConnector (Foundation.NSCoder coder);
	protected NSNibOutletConnector (Foundation.NSObjectFlag t);
	protected NSNibOutletConnector (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void EstablishConnection ();
}

New Type: AppKit.NSPageLayoutResult

[Serializable]
public enum NSPageLayoutResult {
	Cancelled = 0,
	Changed = 1,
}

New Type: AppKit.NSPasteboardName

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

New Type: AppKit.NSPasteboardNameExtensions

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

New Type: AppKit.NSPasteboardType

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

New Type: AppKit.NSPasteboardTypeExtensions

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

New Type: AppKit.NSPasteboardTypeFindPanelSearchOptionKey

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

New Type: AppKit.NSPasteboardTypeFindPanelSearchOptionKeyExtensions

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

New Type: AppKit.NSPasteboardTypeTextFinderOptionKey

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

New Type: AppKit.NSPasteboardTypeTextFinderOptionKeyExtensions

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

New Type: AppKit.NSPrintPanelResult

[Serializable]
public enum NSPrintPanelResult {
	Cancelled = 0,
	Printed = 1,
}

New Type: AppKit.NSTableViewUserCanChangeColumnVisibility

public sealed delegate NSTableViewUserCanChangeColumnVisibility : System.MulticastDelegate {
	// constructors
	public NSTableViewUserCanChangeColumnVisibility (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NSTableView tableView, NSTableColumn column, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (NSTableView tableView, NSTableColumn column);
}

New Type: AppKit.NSTableViewUserCanChangeColumnsVisibilityEventArgs

public class NSTableViewUserCanChangeColumnsVisibilityEventArgs : System.EventArgs {
	// constructors
	public NSTableViewUserCanChangeColumnsVisibilityEventArgs (NSTableColumn[] columns);
	// properties
	public NSTableColumn[] Columns { get; set; }
}

New Type: AppKit.NSTextCursorAccessoryPlacement

[Serializable]
public enum NSTextCursorAccessoryPlacement {
	Backward = 1,
	Center = 4,
	Forward = 2,
	Invisible = 3,
	OffscreenBottom = 8,
	OffscreenLeft = 5,
	OffscreenRight = 7,
	OffscreenTop = 6,
	Unspecified = 0,
}

New Type: AppKit.NSTextInsertionIndicator

public class NSTextInsertionIndicator : AppKit.NSView {
	// constructors
	public NSTextInsertionIndicator ();
	public NSTextInsertionIndicator (CoreGraphics.CGRect frameRect);
	public NSTextInsertionIndicator (Foundation.NSCoder coder);
	protected NSTextInsertionIndicator (Foundation.NSObjectFlag t);
	protected NSTextInsertionIndicator (IntPtr handle);
	// properties
	public virtual NSTextInsertionIndicatorAutomaticModeOptions AutomaticModeOptions { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual NSColor Color { get; set; }
	public virtual NSTextInsertionIndicatorDisplayMode DisplayMode { get; set; }
	public virtual System.Action<NSView> EffectsViewInserter { get; set; }
}

New Type: AppKit.NSTextInsertionIndicatorAutomaticModeOptions

[Serializable]
[Flags]
public enum NSTextInsertionIndicatorAutomaticModeOptions {
	EffectsView = 1,
	WhileTracking = 2,
}

New Type: AppKit.NSTextInsertionIndicatorDisplayMode

[Serializable]
public enum NSTextInsertionIndicatorDisplayMode {
	Automatic = 0,
	Hidden = 1,
	Visible = 2,
}

New Type: AppKit.NSUserInterfaceItemSearching_Extensions

public static class NSUserInterfaceItemSearching_Extensions {
	// methods
	public static void PerformAction (this INSUserInterfaceItemSearching This, Foundation.NSObject forItem);
	public static void ShowAllHelpTopics (this INSUserInterfaceItemSearching This, string searchString);
}

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLayoutTag

Added values:

Ogg_3_0 = 9830403,
Ogg_4_0 = 12124164,
Ogg_5_0 = 13893637,
Ogg_5_1 = 13959174,
Ogg_6_1 = 14024711,
Ogg_7_1 = 14090248,

Type Changed: AudioToolbox.MusicPlayer

Modified methods:

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

Added methods:

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

Namespace AudioUnit

Type Changed: AudioUnit.AudioComponentDescription

Modified fields:

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

Type Changed: AudioUnit.AudioObjectPropertySelector

Added value:

InputMute = 1852403056,

New Type: AudioUnit.AudioAggregateDriftCompensation

[Serializable]
public enum AudioAggregateDriftCompensation {
	HighQuality = 96,
	LowQuality = 32,
	MaxQuality = 127,
	MediumQuality = 64,
	MinQuality = 0,
}

Namespace AuthenticationServices

Type Changed: AuthenticationServices.ASAuthorizationAppleIdCredential

Added property:

public virtual ASUserAgeRange UserAgeRange { get; }

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialAssertion

Added properties:

public virtual ASAuthorizationPublicKeyCredentialAttachment Attachment { get; }
public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialAssertionRequest

Added property:

public virtual ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput LargeBlob { get; set; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialRegistration

Added properties:

public virtual ASAuthorizationPublicKeyCredentialAttachment Attachment { get; }
public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest

Added property:

public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; set; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionAuthenticationMethod

Added value:

SmartCard = 3,

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionAuthorizationRequest

Added property:

public virtual Foundation.NSData CallerAuditToken { get; }

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionKeyType

Added values:

CurrentDeviceEncryption = 11,
CurrentDeviceSigning = 10,
SharedDeviceEncryption = 5,
SharedDeviceSigning = 4,
UserSmartCard = 20,

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionLoginConfiguration

Added properties:

public virtual string AdditionalAuthorizationScopes { get; set; }
public virtual Foundation.NSUrlQueryItem[] CustomFederationUserPreauthenticationRequestValues { get; set; }
public virtual Foundation.NSUrlQueryItem[] CustomKeyExchangeRequestValues { get; set; }
public virtual Foundation.NSUrlQueryItem[] CustomKeyRequestValues { get; set; }
public virtual Foundation.NSUrlQueryItem[] CustomRefreshRequestValues { get; set; }
public virtual string CustomRequestJwtParameterName { get; set; }
public virtual Foundation.NSData DeviceContext { get; set; }
public virtual Foundation.NSUrl FederationMexUrl { get; set; }
public virtual string FederationMexUrlKeypath { get; set; }
public virtual string FederationPredicate { get; set; }
public virtual string FederationRequestUrn { get; set; }
public virtual ASAuthorizationProviderExtensionFederationType FederationType { get; set; }
public virtual Foundation.NSUrl FederationUserPreauthenticationUrl { get; set; }
public virtual string GroupRequestClaimName { get; set; }
public virtual string GroupResponseClaimName { get; set; }
public virtual Foundation.NSObject[] JwksTrustedRootCertificates { get; set; }
public virtual Foundation.NSUrl KeyEndpointUrl { get; set; }
public virtual Foundation.NSData LoginRequestEncryptionApvPrefix { get; set; }
public virtual Security.SecKey LoginRequestEncryptionPublicKey { get; set; }
public virtual Foundation.NSUrl RefreshEndpointUrl { get; set; }
public virtual string UniqueIdentifierClaimName { get; set; }
public virtual ASAuthorizationProviderExtensionUserSecureEnclaveKeyBiometricPolicy UserSecureEnclaveKeyBiometricPolicy { get; set; }

Added methods:

public virtual bool SetCustomKeyExchangeRequestBodyClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
public virtual bool SetCustomKeyExchangeRequestHeaderClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
public virtual bool SetCustomKeyRequestBodyClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
public virtual bool SetCustomKeyRequestHeaderClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
public virtual bool SetCustomRefreshRequestBodyClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
public virtual bool SetCustomRefreshRequestHeaderClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionLoginManager

Added properties:

public virtual Foundation.NSDictionary ExtensionData { get; }
public virtual ASAuthorizationProviderExtensionUserLoginConfiguration UserLoginConfiguration { get; }

Added methods:

public virtual void DecryptionKeysNeedRepair ();
public virtual void ResetDeviceKeys ();
public virtual void ResetUserSecureEnclaveKey ();
public virtual bool SaveUserLoginConfiguration (ASAuthorizationProviderExtensionUserLoginConfiguration userLoginConfiguration, out Foundation.NSError error);

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionRegistrationHandler

Added properties:

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

Added method:

public virtual void RegistrationDidCancel ();

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionRegistrationHandler_Extensions

Added methods:

public static ASAuthorizationProviderExtensionPlatformSSOProtocolVersion GetProtocolVersion (this IASAuthorizationProviderExtensionRegistrationHandler This);
public static ASAuthorizationProviderExtensionSupportedGrantTypes GetSupportedGrantTypes (this IASAuthorizationProviderExtensionRegistrationHandler This);
public static void RegistrationDidCancel (this IASAuthorizationProviderExtensionRegistrationHandler This);

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionRequestOptions

Added values:

RegistrationDeviceKeyMigration = 8,
RegistrationSharedDeviceKeys = 4,
UserKeyInvalid = 32,

Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertion

Added property:

public virtual bool AppId { get; }

Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest

Added property:

public virtual string AppId { get; set; }

Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialRegistration

Added property:

public virtual ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport[] Transports { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationWebBrowserPlatformPublicKeyCredential

Added properties:

public virtual string CustomTitle { get; }
public virtual string ProviderName { get; }

Type Changed: AuthenticationServices.ASCredentialIdentityStore

Added methods:

public virtual void GetCredentialIdentities (ASCredentialServiceIdentifier serviceIdentifier, ASCredentialIdentityTypes credentialIdentityTypes, ASCredentialIdentityStoreGetCredentialIdentitiesHandler completion);
public virtual System.Threading.Tasks.Task<IASCredentialIdentity[]> GetCredentialIdentitiesAsync (ASCredentialServiceIdentifier serviceIdentifier, ASCredentialIdentityTypes credentialIdentityTypes);
public virtual void RemoveCredentialIdentityEntries (IASCredentialIdentity[] credentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RemoveCredentialIdentityEntriesAsync (IASCredentialIdentity[] credentialIdentities);
public virtual void ReplaceCredentialIdentityEntries (IASCredentialIdentity[] newCredentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> ReplaceCredentialIdentityEntriesAsync (IASCredentialIdentity[] newCredentialIdentities);
public virtual void SaveCredentialIdentityEntries (IASCredentialIdentity[] credentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> SaveCredentialIdentityEntriesAsync (IASCredentialIdentity[] credentialIdentities);

Type Changed: AuthenticationServices.ASCredentialProviderExtensionContext

Added methods:

public virtual void CompleteAssertionRequest (ASPasskeyAssertionCredential credential, System.Action<bool> completionHandler);
public virtual System.Threading.Tasks.Task<bool> CompleteAssertionRequestAsync (ASPasskeyAssertionCredential credential);
public virtual void CompleteRegistrationRequest (ASPasskeyRegistrationCredential credential, System.Action<bool> completionHandler);
public virtual System.Threading.Tasks.Task<bool> CompleteRegistrationRequestAsync (ASPasskeyRegistrationCredential credential);

Type Changed: AuthenticationServices.ASCredentialProviderViewController

Added methods:

public virtual void PrepareCredentialList (ASCredentialServiceIdentifier[] serviceIdentifiers, ASPasskeyCredentialRequestParameters requestParameters);
public virtual void PrepareInterfaceForPasskeyRegistration (IASCredentialRequest registrationRequest);
public virtual void PrepareInterfaceToProvideCredential (IASCredentialRequest credentialRequest);
public virtual void ProvideCredentialWithoutUserInteraction (IASCredentialRequest credentialRequest);

Type Changed: AuthenticationServices.ASPasswordCredentialIdentity

Added interface:

IASCredentialIdentity

Type Changed: AuthenticationServices.ASWebAuthenticationSession

Added constructor:

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

Added property:

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

Type Changed: AuthenticationServices.ASWebAuthenticationSessionRequest

Added properties:

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

New Type: AuthenticationServices.ASAuthorizationProviderExtensionFederationType

[Serializable]
public enum ASAuthorizationProviderExtensionFederationType {
	DynamicWSTrust = 2,
	None = 0,
	WSTrust = 1,
}

New Type: AuthenticationServices.ASAuthorizationProviderExtensionPlatformSSOProtocolVersion

[Serializable]
public enum ASAuthorizationProviderExtensionPlatformSSOProtocolVersion {
	Version1_0 = 0,
	Version2_0 = 1,
}

New Type: AuthenticationServices.ASAuthorizationProviderExtensionSupportedGrantTypes

[Serializable]
[Flags]
public enum ASAuthorizationProviderExtensionSupportedGrantTypes {
	JwtBearer = 2,
	None = 0,
	Password = 1,
	Saml11 = 4,
	Saml20 = 8,
}

New Type: AuthenticationServices.ASAuthorizationProviderExtensionUserLoginConfiguration

public class ASAuthorizationProviderExtensionUserLoginConfiguration : Foundation.NSObject {
	// constructors
	protected ASAuthorizationProviderExtensionUserLoginConfiguration (Foundation.NSObjectFlag t);
	protected ASAuthorizationProviderExtensionUserLoginConfiguration (IntPtr handle);
	public ASAuthorizationProviderExtensionUserLoginConfiguration (string loginUserName);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string LoginUserName { get; set; }
	// methods
	public virtual bool SetCustomAssertionRequestBodyClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
	public virtual bool SetCustomAssertionRequestHeaderClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
	public virtual bool SetCustomLoginRequestBodyClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
	public virtual bool SetCustomLoginRequestHeaderClaims (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> claims, out Foundation.NSError error);
}

New Type: AuthenticationServices.ASAuthorizationProviderExtensionUserSecureEnclaveKeyBiometricPolicy

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

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialAttachment

[Serializable]
public enum ASAuthorizationPublicKeyCredentialAttachment {
	CrossPlatform = 1,
	Platform = 0,
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput

public class ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput : Foundation.NSObject {
	// constructors
	public ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation operation);
	protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (Foundation.NSObjectFlag t);
	protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData DataToWrite { get; set; }
	public virtual ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation Operation { get; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation

[Serializable]
public enum ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation {
	Read = 0,
	Write = 1,
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput

public class ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput : Foundation.NSObject {
	// constructors
	protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput (Foundation.NSObjectFlag t);
	protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool DidWrite { get; }
	public virtual Foundation.NSData ReadData { get; }
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput

public class ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput : Foundation.NSObject {
	// constructors
	public ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement requirement);
	protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (Foundation.NSObjectFlag t);
	protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement SupportRequirement { get; set; }
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput

public class ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput : Foundation.NSObject {
	// constructors
	public ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput ();
	protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput (Foundation.NSObjectFlag t);
	protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsSupported { get; }
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement

[Serializable]
public enum ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement {
	Preferred = 1,
	Required = 0,
}

New Type: AuthenticationServices.ASCredentialIdentityStoreGetCredentialIdentitiesHandler

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

New Type: AuthenticationServices.ASCredentialIdentityTypes

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

New Type: AuthenticationServices.ASCredentialRequestType

[Serializable]
public enum ASCredentialRequestType {
	PasskeyAssertion = 1,
	Password = 0,
}

New Type: AuthenticationServices.ASPasskeyAssertionCredential

public class ASPasskeyAssertionCredential : Foundation.NSObject, IASAuthorizationCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyAssertionCredential (Foundation.NSCoder coder);
	protected ASPasskeyAssertionCredential (Foundation.NSObjectFlag t);
	protected ASPasskeyAssertionCredential (IntPtr handle);
	public ASPasskeyAssertionCredential (Foundation.NSData userHandle, string relyingParty, Foundation.NSData signature, Foundation.NSData clientDataHash, Foundation.NSData authenticatorData, Foundation.NSData credentialId);
	// properties
	public virtual Foundation.NSData AuthenticatorData { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData ClientDataHash { get; }
	public virtual Foundation.NSData CredentialId { get; }
	public virtual string RelyingParty { get; }
	public virtual Foundation.NSData Signature { get; }
	public virtual Foundation.NSData UserHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static ASPasskeyAssertionCredential CreateCredential (Foundation.NSData userHandle, string relyingParty, Foundation.NSData signature, Foundation.NSData clientDataHash, Foundation.NSData authenticatorData, Foundation.NSData credentialId);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasskeyCredentialIdentity

public class ASPasskeyCredentialIdentity : Foundation.NSObject, IASCredentialIdentity, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyCredentialIdentity (Foundation.NSCoder coder);
	protected ASPasskeyCredentialIdentity (Foundation.NSObjectFlag t);
	protected ASPasskeyCredentialIdentity (IntPtr handle);
	public ASPasskeyCredentialIdentity (string relyingPartyIdentifier, string userName, Foundation.NSData credentialId, Foundation.NSData userHandle, string recordIdentifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData CredentialId { get; }
	public virtual nint Rank { get; set; }
	public virtual string RecordIdentifier { get; }
	public virtual string RelyingPartyIdentifier { get; }
	public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; }
	public virtual string User { get; }
	public virtual Foundation.NSData UserHandle { get; }
	public virtual string UserName { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static ASPasskeyCredentialIdentity CreateIdentity (string relyingPartyIdentifier, string userName, Foundation.NSData credentialId, Foundation.NSData userHandle, string recordIdentifier);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasskeyCredentialRequest

public class ASPasskeyCredentialRequest : Foundation.NSObject, IASCredentialRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyCredentialRequest (Foundation.NSCoder coder);
	protected ASPasskeyCredentialRequest (Foundation.NSObjectFlag t);
	protected ASPasskeyCredentialRequest (IntPtr handle);
	public ASPasskeyCredentialRequest (ASPasskeyCredentialIdentity credentialIdentity, Foundation.NSData clientDataHash, string userVerificationPreference, Foundation.NSNumber[] supportedAlgorithms);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData ClientDataHash { get; }
	public virtual IASCredentialIdentity CredentialIdentity { get; }
	public virtual Foundation.NSNumber[] SupportedAlgorithms { get; }
	public virtual ASCredentialRequestType Type { get; }
	public virtual string UserVerificationPreference { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static ASPasskeyCredentialRequest Create (ASPasskeyCredentialIdentity credentialIdentity, Foundation.NSData clientDataHash, string userVerificationPreference, Foundation.NSNumber[] supportedAlgorithms);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasskeyCredentialRequestParameters

public class ASPasskeyCredentialRequestParameters : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyCredentialRequestParameters (Foundation.NSCoder coder);
	protected ASPasskeyCredentialRequestParameters (Foundation.NSObjectFlag t);
	protected ASPasskeyCredentialRequestParameters (IntPtr handle);
	// properties
	public virtual Foundation.NSData[] AllowedCredentials { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData ClientDataHash { get; }
	public virtual string RelyingPartyIdentifier { get; }
	public virtual string UserVerificationPreference { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasskeyRegistrationCredential

public class ASPasskeyRegistrationCredential : Foundation.NSObject, IASAuthorizationCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyRegistrationCredential ();
	public ASPasskeyRegistrationCredential (Foundation.NSCoder coder);
	protected ASPasskeyRegistrationCredential (Foundation.NSObjectFlag t);
	protected ASPasskeyRegistrationCredential (IntPtr handle);
	public ASPasskeyRegistrationCredential (string relyingParty, Foundation.NSData clientDataHash, Foundation.NSData credentialId, Foundation.NSData attestationObject);
	// properties
	public virtual Foundation.NSData AttestationObject { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData ClientDataHash { get; }
	public virtual Foundation.NSData CredentialId { get; }
	public virtual string RelyingParty { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static ASPasskeyRegistrationCredential CreateCredential (string relyingParty, Foundation.NSData clientDataHash, Foundation.NSData credentialId, Foundation.NSData attestationObject);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasswordCredentialRequest

public class ASPasswordCredentialRequest : Foundation.NSObject, IASCredentialRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasswordCredentialRequest (ASPasswordCredentialIdentity credentialIdentity);
	public ASPasswordCredentialRequest (Foundation.NSCoder coder);
	protected ASPasswordCredentialRequest (Foundation.NSObjectFlag t);
	protected ASPasswordCredentialRequest (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IASCredentialIdentity CredentialIdentity { get; }
	public virtual ASCredentialRequestType Type { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static ASPasswordCredentialRequest Request (ASPasswordCredentialIdentity credentialIdentity);
}

New Type: AuthenticationServices.ASPublicKeyCredentialClientData

public class ASPublicKeyCredentialClientData : Foundation.NSObject {
	// constructors
	protected ASPublicKeyCredentialClientData (Foundation.NSObjectFlag t);
	protected ASPublicKeyCredentialClientData (IntPtr handle);
	public ASPublicKeyCredentialClientData (Foundation.NSData challenge, string origin);
	// properties
	public virtual Foundation.NSData Challenge { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual ASPublicKeyCredentialClientDataCrossOriginValue CrossOrigin { get; set; }
	public virtual string Origin { get; set; }
	public virtual string TopOrigin { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: AuthenticationServices.ASPublicKeyCredentialClientDataCrossOriginValue

[Serializable]
public enum ASPublicKeyCredentialClientDataCrossOriginValue {
	CrossOrigin = 1,
	NotSet = 0,
	SameOriginWithAncestors = 2,
}

New Type: AuthenticationServices.ASSettingsHelper

public class ASSettingsHelper : Foundation.NSObject {
	// constructors
	protected ASSettingsHelper (Foundation.NSObjectFlag t);
	protected ASSettingsHelper (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static void OpenCredentialProviderAppSettings (System.Action<Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task OpenCredentialProviderAppSettingsAsync ();
	public static void OpenVerificationCodeAppSettings (System.Action<Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task OpenVerificationCodeAppSettingsAsync ();
}

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 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static ASWebAuthenticationSessionCallback Create (string customScheme);
	public static ASWebAuthenticationSessionCallback Create (string httpsHost, string path);
	public virtual bool MatchesUrl (Foundation.NSUrl url);
}

New Type: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest

public interface IASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual ASPublicKeyCredentialClientData ClientData { get; }
	public virtual bool ShouldShowHybridTransport { get; set; }
}

New Type: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider

public interface IASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract ASAuthorizationPlatformPublicKeyCredentialAssertionRequest CreateCredentialAssertionRequest (ASPublicKeyCredentialClientData clientData);
	public abstract ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest CreateCredentialRegistrationRequest (ASPublicKeyCredentialClientData clientData, string name, Foundation.NSData userId);
}

New Type: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest

public interface IASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual ASPublicKeyCredentialClientData ClientData { get; }
	public virtual ASAuthorizationPlatformPublicKeyCredentialDescriptor[] ExcludedCredentials { get; set; }
	public virtual bool ShouldShowHybridTransport { get; set; }
}

New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialAssertionRequest

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

New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialProvider

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

New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialRegistrationRequest

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

New Type: AuthenticationServices.IASCredentialIdentity

public interface IASCredentialIdentity : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nint Rank { get; set; }
	public virtual string RecordIdentifier { get; }
	public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; }
	public virtual string User { get; }
}

New Type: AuthenticationServices.IASCredentialRequest

public interface IASCredentialRequest : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IASCredentialIdentity CredentialIdentity { get; }
	public virtual ASCredentialRequestType Type { get; }
}

Namespace AutomaticAssessmentConfiguration

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentApplication

Added constructors:

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

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentErrorCode

Added values:

ConfigurationUpdatesNotSupported = 4,
MultipleParticipantsNotSupported = 3,

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentSession

Added properties:

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

Namespace BackgroundAssets

New Type: BackgroundAssets.BAErrorCode

[Serializable]
public enum BAErrorCode {
	CallFromExtensionNotAllowed = 50,
	CallFromInactiveProcessNotAllowed = 51,
	CallerConnectionInvalid = 56,
	CallerConnectionNotAccepted = 55,
	DownloadAlreadyFailed = 103,
	DownloadAlreadyScheduled = 100,
	DownloadBackgroundActivityProhibited = 111,
	DownloadEssentialDownloadNotPermitted = 109,
	DownloadFailedToStart = 102,
	DownloadInvalid = 0,
	DownloadNotScheduled = 101,
	DownloadWouldExceedAllowance = 112,
	SessionDownloadAllowanceExceeded = 204,
	SessionDownloadDisallowedByAllowance = 203,
	SessionDownloadDisallowedByDomain = 202,
	SessionDownloadNotPermittedBeforeAppLaunch = 206,
}

New Type: BackgroundAssets.BAErrorCodeExtensions

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

Namespace CloudKit

Type Changed: CloudKit.CKQueryOperation

Added property:

public static nint MaximumResults { get; }

Type Changed: CloudKit.CKRecord

Added properties:

public static Foundation.NSString CreationDateKey { get; }
public static Foundation.NSString CreatorUserRecordIdKey { get; }
public static Foundation.NSString LastModifiedUserRecordIdKey { get; }
public static Foundation.NSString ModificationDateKey { get; }
public static Foundation.NSString RecordIdKey { get; }

Type Changed: CloudKit.CKShareMetadata

Obsoleted constructors:

 [Obsolete ("Get them from 'CKFetchShareMetadataOperation' or platform-specific scene / app delegate callbacks.")]
 public CKShareMetadata ();

New Type: CloudKit.CKSyncEngine

public class CKSyncEngine : Foundation.NSObject {
	// constructors
	public CKSyncEngine (CKSyncEngineConfiguration configuration);
	protected CKSyncEngine (Foundation.NSObjectFlag t);
	protected CKSyncEngine (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKDatabase Database { get; }
	public virtual CKSyncEngineState State { get; }
	// methods
	public virtual void CancelOperations (System.Action completionHandler);
	public virtual System.Threading.Tasks.Task CancelOperationsAsync ();
	public virtual void FetchChanges (System.Action<Foundation.NSError> completionHandler);
	public virtual void FetchChanges (CKSyncEngineFetchChangesOptions options, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task FetchChangesAsync ();
	public virtual System.Threading.Tasks.Task FetchChangesAsync (CKSyncEngineFetchChangesOptions options);
	public virtual void SendChanges (System.Action<Foundation.NSError> completionHandler);
	public virtual void SendChanges (CKSyncEngineSendChangesOptions options, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SendChangesAsync ();
	public virtual System.Threading.Tasks.Task SendChangesAsync (CKSyncEngineSendChangesOptions options);
}

New Type: CloudKit.CKSyncEngineAccountChangeEvent

public class CKSyncEngineAccountChangeEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineAccountChangeEvent ();
	protected CKSyncEngineAccountChangeEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineAccountChangeEvent (IntPtr handle);
	// properties
	public virtual CKSyncEngineAccountChangeType ChangeType { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID CurrentUser { get; }
	public virtual CKRecordID PreviousUser { get; }
}

New Type: CloudKit.CKSyncEngineAccountChangeType

[Serializable]
public enum CKSyncEngineAccountChangeType {
	SignIn = 0,
	SignOut = 1,
	SwitchAccounts = 2,
}

New Type: CloudKit.CKSyncEngineConfiguration

public class CKSyncEngineConfiguration : Foundation.NSObject {
	// constructors
	protected CKSyncEngineConfiguration (Foundation.NSObjectFlag t);
	protected CKSyncEngineConfiguration (IntPtr handle);
	public CKSyncEngineConfiguration (CKDatabase database, CKSyncEngineStateSerialization stateSerialization, ICKSyncEngineDelegate delegate);
	// properties
	public virtual bool AutomaticallySync { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CKDatabase Database { get; set; }
	public ICKSyncEngineDelegate Delegate { get; set; }
	public virtual CKSyncEngineStateSerialization StateSerialization { get; set; }
	public virtual string SubscriptionId { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CloudKit.CKSyncEngineDelegate

public abstract class CKSyncEngineDelegate : Foundation.NSObject, ICKSyncEngineDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CKSyncEngineDelegate ();
	protected CKSyncEngineDelegate (Foundation.NSObjectFlag t);
	protected CKSyncEngineDelegate (IntPtr handle);
	// methods
	public abstract void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event);
	public virtual CKSyncEngineFetchChangesOptions SyncEngine (CKSyncEngine syncEngine, CKSyncEngineFetchChangesContext context);
	public abstract CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context);
}

New Type: CloudKit.CKSyncEngineDelegate_Extensions

public static class CKSyncEngineDelegate_Extensions {
	// methods
	public static CKSyncEngineFetchChangesOptions SyncEngine (this ICKSyncEngineDelegate This, CKSyncEngine syncEngine, CKSyncEngineFetchChangesContext context);
}

New Type: CloudKit.CKSyncEngineDidFetchChangesEvent

public class CKSyncEngineDidFetchChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineDidFetchChangesEvent ();
	protected CKSyncEngineDidFetchChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineDidFetchChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchChangesContext Context { get; }
}

New Type: CloudKit.CKSyncEngineDidFetchRecordZoneChangesEvent

public class CKSyncEngineDidFetchRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineDidFetchRecordZoneChangesEvent ();
	protected CKSyncEngineDidFetchRecordZoneChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineDidFetchRecordZoneChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual CKRecordZoneID ZoneId { get; }
}

New Type: CloudKit.CKSyncEngineDidSendChangesEvent

public class CKSyncEngineDidSendChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineDidSendChangesEvent ();
	protected CKSyncEngineDidSendChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineDidSendChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineSendChangesContext Context { get; }
}

New Type: CloudKit.CKSyncEngineEvent

public class CKSyncEngineEvent : Foundation.NSObject {
	// constructors
	protected CKSyncEngineEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineEvent (IntPtr handle);
	// properties
	public virtual CKSyncEngineAccountChangeEvent AccountChangeEvent { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineDidFetchChangesEvent DidFetchChangesEvent { get; }
	public virtual CKSyncEngineDidFetchRecordZoneChangesEvent DidFetchRecordZoneChangesEvent { get; }
	public virtual CKSyncEngineDidSendChangesEvent DidSendChangesEvent { get; }
	public virtual CKSyncEngineFetchedDatabaseChangesEvent FetchedDatabaseChangesEvent { get; }
	public virtual CKSyncEngineFetchedRecordZoneChangesEvent FetchedRecordZoneChangesEvent { get; }
	public virtual CKSyncEngineSentDatabaseChangesEvent SentDatabaseChangesEvent { get; }
	public virtual CKSyncEngineSentRecordZoneChangesEvent SentRecordZoneChangesEvent { get; }
	public virtual CKSyncEngineStateUpdateEvent StateUpdateEvent { get; }
	public virtual CKSyncEngineEventType Type { get; }
	public virtual CKSyncEngineWillFetchChangesEvent WillFetchChangesEvent { get; }
	public virtual CKSyncEngineWillFetchRecordZoneChangesEvent WillFetchRecordZoneChangesEvent { get; }
	public virtual CKSyncEngineWillSendChangesEvent WillSendChangesEvent { get; }
}

New Type: CloudKit.CKSyncEngineEventType

[Serializable]
public enum CKSyncEngineEventType {
	AccountChange = 1,
	DidFetchChanges = 9,
	DidFetchRecordZoneChanges = 8,
	DidSendChanges = 11,
	FetchedDatabaseChanges = 2,
	FetchedRecordZoneChanges = 3,
	SentDatabaseChanges = 4,
	SentRecordZoneChanges = 5,
	StateUpdate = 0,
	WillFetchChanges = 6,
	WillFetchRecordZoneChanges = 7,
	WillSendChanges = 10,
}

New Type: CloudKit.CKSyncEngineFailedRecordSave

public class CKSyncEngineFailedRecordSave : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFailedRecordSave (Foundation.NSObjectFlag t);
	protected CKSyncEngineFailedRecordSave (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual CKRecord Record { get; }
}

New Type: CloudKit.CKSyncEngineFailedZoneSave

public class CKSyncEngineFailedZoneSave : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFailedZoneSave (Foundation.NSObjectFlag t);
	protected CKSyncEngineFailedZoneSave (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual CKRecordZone RecordZone { get; }
}

New Type: CloudKit.CKSyncEngineFetchChangesContext

public class CKSyncEngineFetchChangesContext : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFetchChangesContext (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchChangesContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchChangesOptions Options { get; }
	public virtual CKSyncEngineSyncReason Reason { get; }
}

New Type: CloudKit.CKSyncEngineFetchChangesOptions

public class CKSyncEngineFetchChangesOptions : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CKSyncEngineFetchChangesOptions ();
	public CKSyncEngineFetchChangesOptions (CKSyncEngineFetchChangesScope scope);
	protected CKSyncEngineFetchChangesOptions (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchChangesOptions (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKOperationGroup OperationGroup { get; set; }
	public virtual CKRecordZoneID[] PrioritizedZoneIds { get; set; }
	public virtual CKSyncEngineFetchChangesScope Scope { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CloudKit.CKSyncEngineFetchChangesScope

public class CKSyncEngineFetchChangesScope : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CKSyncEngineFetchChangesScope ();
	protected CKSyncEngineFetchChangesScope (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchChangesScope (IntPtr handle);
	public CKSyncEngineFetchChangesScope (Foundation.NSSet<CKRecordZoneID> zoneIds, bool excluded);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ExcludedZoneIds { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ZoneIds { get; }
	// methods
	public virtual bool Contains (CKRecordZoneID zoneId);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CloudKit.CKSyncEngineFetchedDatabaseChangesEvent

public class CKSyncEngineFetchedDatabaseChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineFetchedDatabaseChangesEvent ();
	protected CKSyncEngineFetchedDatabaseChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchedDatabaseChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchedZoneDeletion[] Deletions { get; }
	public virtual CKRecordZone[] Modifications { get; }
}

New Type: CloudKit.CKSyncEngineFetchedRecordDeletion

public class CKSyncEngineFetchedRecordDeletion : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFetchedRecordDeletion (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchedRecordDeletion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID RecordId { get; }
	public virtual string RecordType { get; }
}

New Type: CloudKit.CKSyncEngineFetchedRecordZoneChangesEvent

public class CKSyncEngineFetchedRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineFetchedRecordZoneChangesEvent ();
	protected CKSyncEngineFetchedRecordZoneChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchedRecordZoneChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchedRecordDeletion[] Deletions { get; }
	public virtual CKRecord[] Modifications { get; }
}

New Type: CloudKit.CKSyncEngineFetchedZoneDeletion

public class CKSyncEngineFetchedZoneDeletion : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFetchedZoneDeletion (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchedZoneDeletion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineZoneDeletionReason Reason { get; }
	public virtual CKRecordZoneID ZoneId { get; }
}

New Type: CloudKit.CKSyncEnginePendingDatabaseChange

public class CKSyncEnginePendingDatabaseChange : Foundation.NSObject {
	// constructors
	protected CKSyncEnginePendingDatabaseChange (Foundation.NSObjectFlag t);
	protected CKSyncEnginePendingDatabaseChange (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEnginePendingDatabaseChangeType Type { get; }
	public virtual CKRecordZoneID ZoneId { get; }
}

New Type: CloudKit.CKSyncEnginePendingDatabaseChangeType

[Serializable]
public enum CKSyncEnginePendingDatabaseChangeType {
	DeleteZone = 1,
	SaveZone = 0,
}

New Type: CloudKit.CKSyncEnginePendingRecordZoneChange

public class CKSyncEnginePendingRecordZoneChange : Foundation.NSObject {
	// constructors
	protected CKSyncEnginePendingRecordZoneChange (Foundation.NSObjectFlag t);
	protected CKSyncEnginePendingRecordZoneChange (IntPtr handle);
	public CKSyncEnginePendingRecordZoneChange (CKRecordID recordId, CKSyncEnginePendingRecordZoneChangeType type);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID RecordId { get; }
	public virtual CKSyncEnginePendingRecordZoneChangeType Type { get; }
}

New Type: CloudKit.CKSyncEnginePendingRecordZoneChangeType

[Serializable]
public enum CKSyncEnginePendingRecordZoneChangeType {
	DeleteRecord = 1,
	SaveRecord = 0,
}

New Type: CloudKit.CKSyncEnginePendingZoneDelete

public class CKSyncEnginePendingZoneDelete : CloudKit.CKSyncEnginePendingDatabaseChange {
	// constructors
	public CKSyncEnginePendingZoneDelete ();
	public CKSyncEnginePendingZoneDelete (CKRecordZoneID zoneId);
	protected CKSyncEnginePendingZoneDelete (Foundation.NSObjectFlag t);
	protected CKSyncEnginePendingZoneDelete (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CloudKit.CKSyncEnginePendingZoneSave

public class CKSyncEnginePendingZoneSave : CloudKit.CKSyncEnginePendingDatabaseChange {
	// constructors
	public CKSyncEnginePendingZoneSave ();
	public CKSyncEnginePendingZoneSave (CKRecordZone zone);
	protected CKSyncEnginePendingZoneSave (Foundation.NSObjectFlag t);
	protected CKSyncEnginePendingZoneSave (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordZone Zone { get; }
}

New Type: CloudKit.CKSyncEngineRecordZoneChangeBatch

public class CKSyncEngineRecordZoneChangeBatch : Foundation.NSObject {
	// constructors
	protected CKSyncEngineRecordZoneChangeBatch (Foundation.NSObjectFlag t);
	protected CKSyncEngineRecordZoneChangeBatch (IntPtr handle);
	public CKSyncEngineRecordZoneChangeBatch (CKSyncEnginePendingRecordZoneChange[] pendingChanges, System.Func<CKRecordID,CloudKit.CKRecord> recordProvider);
	public CKSyncEngineRecordZoneChangeBatch (CKRecord[] recordsToSave, CKRecordID[] recordIdsToDelete, bool atomicByZone);
	// properties
	public virtual bool AtomicByZone { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID[] RecordIdsToDelete { get; }
	public virtual CKRecord[] RecordsToSave { get; }
}

New Type: CloudKit.CKSyncEngineSendChangesContext

public class CKSyncEngineSendChangesContext : Foundation.NSObject {
	// constructors
	protected CKSyncEngineSendChangesContext (Foundation.NSObjectFlag t);
	protected CKSyncEngineSendChangesContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineSendChangesOptions Options { get; }
	public virtual CKSyncEngineSyncReason Reason { get; }
}

New Type: CloudKit.CKSyncEngineSendChangesOptions

public class CKSyncEngineSendChangesOptions : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CKSyncEngineSendChangesOptions ();
	public CKSyncEngineSendChangesOptions (CKSyncEngineSendChangesScope scope);
	protected CKSyncEngineSendChangesOptions (Foundation.NSObjectFlag t);
	protected CKSyncEngineSendChangesOptions (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKOperationGroup OperationGroup { get; set; }
	public virtual CKSyncEngineSendChangesScope Scope { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CloudKit.CKSyncEngineSendChangesScope

public class CKSyncEngineSendChangesScope : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CKSyncEngineSendChangesScope ();
	protected CKSyncEngineSendChangesScope (Foundation.NSObjectFlag t);
	public CKSyncEngineSendChangesScope (Foundation.NSSet<CKRecordID> recordIds);
	protected CKSyncEngineSendChangesScope (IntPtr handle);
	public CKSyncEngineSendChangesScope (Foundation.NSSet<CKRecordZoneID> zoneIds, bool excluded);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ExcludedZoneIds { get; }
	public virtual Foundation.NSSet<CKRecordID> RecordIds { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ZoneIds { get; }
	// methods
	public virtual bool ContainsPendingRecordZoneChange (CKSyncEnginePendingRecordZoneChange pendingRecordZoneChange);
	public virtual bool ContainsRecordId (CKRecordID recordId);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CloudKit.CKSyncEngineSentDatabaseChangesEvent

public class CKSyncEngineSentDatabaseChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineSentDatabaseChangesEvent ();
	protected CKSyncEngineSentDatabaseChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineSentDatabaseChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordZoneID[] DeletedZoneIds { get; }
	public virtual Foundation.NSDictionary<CKRecordZoneID,Foundation.NSError> FailedZoneDeletes { get; }
	public virtual CKSyncEngineFailedZoneSave[] FailedZoneSaves { get; }
	public virtual CKRecordZone[] SavedZones { get; }
}

New Type: CloudKit.CKSyncEngineSentRecordZoneChangesEvent

public class CKSyncEngineSentRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineSentRecordZoneChangesEvent ();
	protected CKSyncEngineSentRecordZoneChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineSentRecordZoneChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID[] DeletedRecordIds { get; }
	public virtual Foundation.NSDictionary<CKRecordID,Foundation.NSError> FailedRecordDeletes { get; }
	public virtual CKSyncEngineFailedRecordSave[] FailedRecordSaves { get; }
	public virtual CKRecord[] SavedRecords { get; }
}

New Type: CloudKit.CKSyncEngineState

public class CKSyncEngineState : Foundation.NSObject {
	// constructors
	protected CKSyncEngineState (Foundation.NSObjectFlag t);
	protected CKSyncEngineState (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool HasPendingUntrackedChanges { get; set; }
	public virtual CKSyncEnginePendingDatabaseChange[] PendingDatabaseChanges { get; }
	public virtual CKSyncEnginePendingRecordZoneChange[] PendingRecordZoneChanges { get; }
	public virtual CKRecordZoneID[] ZoneIdsWithUnfetchedServerChanges { get; }
	// methods
	public virtual void AddPendingDatabaseChanges (CKSyncEnginePendingDatabaseChange[] changes);
	public virtual void AddPendingRecordZoneChanges (CKSyncEnginePendingRecordZoneChange[] changes);
	public virtual void RemovePendingDatabaseChanges (CKSyncEnginePendingDatabaseChange[] changes);
	public virtual void RemovePendingRecordZoneChanges (CKSyncEnginePendingRecordZoneChange[] changes);
}

New Type: CloudKit.CKSyncEngineStateSerialization

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

New Type: CloudKit.CKSyncEngineStateUpdateEvent

public class CKSyncEngineStateUpdateEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineStateUpdateEvent ();
	protected CKSyncEngineStateUpdateEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineStateUpdateEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineStateSerialization StateSerialization { get; }
}

New Type: CloudKit.CKSyncEngineSyncReason

[Serializable]
public enum CKSyncEngineSyncReason {
	Manual = 1,
	Scheduled = 0,
}

New Type: CloudKit.CKSyncEngineWillFetchChangesEvent

public class CKSyncEngineWillFetchChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineWillFetchChangesEvent ();
	protected CKSyncEngineWillFetchChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineWillFetchChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchChangesContext Context { get; }
}

New Type: CloudKit.CKSyncEngineWillFetchRecordZoneChangesEvent

public class CKSyncEngineWillFetchRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineWillFetchRecordZoneChangesEvent ();
	protected CKSyncEngineWillFetchRecordZoneChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineWillFetchRecordZoneChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordZoneID ZoneId { get; }
}

New Type: CloudKit.CKSyncEngineWillSendChangesEvent

public class CKSyncEngineWillSendChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineWillSendChangesEvent ();
	protected CKSyncEngineWillSendChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineWillSendChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineSendChangesContext Context { get; }
}

New Type: CloudKit.CKSyncEngineZoneDeletionReason

[Serializable]
public enum CKSyncEngineZoneDeletionReason {
	Deleted = 0,
	EncryptedDataReset = 2,
	Purged = 1,
}

New Type: CloudKit.ICKSyncEngineDelegate

public interface ICKSyncEngineDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event);
	public abstract CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context);
}

Namespace Compression

Type Changed: Compression.CompressionAlgorithm

Added values:

Brotli = 2818,
LZBitmap = 1794,

Namespace Contacts

Type Changed: Contacts.CNErrorCode

Added value:

FeatureNotAvailable = 104,

Namespace CoreAnimation

New Type: CoreAnimation.CADisplayLink

public class CADisplayLink : Foundation.NSObject {
	// constructors
	public CADisplayLink ();
	protected CADisplayLink (Foundation.NSObjectFlag t);
	protected CADisplayLink (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Duration { get; }
	public virtual bool Paused { get; set; }
	public virtual CAFrameRateRange PreferredFrameRateRange { get; set; }
	public virtual double TargetTimestamp { get; }
	public virtual double Timestamp { get; }
	// methods
	public void AddToRunLoop (Foundation.NSRunLoop runloop, Foundation.NSRunLoopMode mode);
	public virtual void AddToRunLoop (Foundation.NSRunLoop runloop, Foundation.NSString mode);
	public static CADisplayLink Create (Foundation.NSObject target, ObjCRuntime.Selector sel);
	public virtual void Invalidate ();
	public void RemoveFromRunLoop (Foundation.NSRunLoop runloop, Foundation.NSRunLoopMode mode);
	public virtual void RemoveFromRunLoop (Foundation.NSRunLoop runloop, Foundation.NSString mode);
}

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBCentralManager

Added event:

public event System.EventHandler<CBPeripheralDiconnectionEventEventArgs> DidDisconnectPeripheral;

Type Changed: CoreBluetooth.CBCentralManagerDelegate

Added method:

public virtual void DidDisconnectPeripheral (CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);

Type Changed: CoreBluetooth.CBCentralManagerDelegate_Extensions

Added method:

public static void DidDisconnectPeripheral (this ICBCentralManagerDelegate This, CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);

Type Changed: CoreBluetooth.CBConnectPeripheralOptions

Added property:

public bool? EnableAutoReconnect { get; }

New Type: CoreBluetooth.CBPeripheralDiconnectionEventEventArgs

public class CBPeripheralDiconnectionEventEventArgs : System.EventArgs {
	// constructors
	public CBPeripheralDiconnectionEventEventArgs (CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);
	// properties
	public Foundation.NSError Error { get; set; }
	public bool IsReconnecting { get; set; }
	public CBPeripheral Peripheral { get; set; }
	public double Timestamp { get; set; }
}

Namespace CoreData

Type Changed: CoreData.NSAttributeType

Added value:

CompositeAttributeType = 2100,

Type Changed: CoreData.NSManagedObjectModel

Added property:

public virtual string VersionChecksum { get; }

Added method:

public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> ChecksumsForVersionedModel (Foundation.NSUrl modelUrl, out Foundation.NSError error);

Type Changed: CoreData.NSPersistentStoreCoordinator

Added methods:

public virtual bool FinishDeferredLightweightMigration (out Foundation.NSError error);
public virtual bool FinishDeferredLightweightMigrationTask (out Foundation.NSError error);

Type Changed: CoreData.UserInfoKeys

Added properties:

public static Foundation.NSString DeferredLightweightMigrationOptionKey { get; }
public static Foundation.NSString StagedMigrationManagerOptionKey { get; }

New Type: CoreData.NSCompositeAttributeDescription

public class NSCompositeAttributeDescription : CoreData.NSAttributeDescription {
	// constructors
	public NSCompositeAttributeDescription ();
	public NSCompositeAttributeDescription (Foundation.NSCoder coder);
	protected NSCompositeAttributeDescription (Foundation.NSObjectFlag t);
	protected NSCompositeAttributeDescription (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSAttributeDescription[] Elements { get; set; }
}

New Type: CoreData.NSCustomMigrationStage

public class NSCustomMigrationStage : CoreData.NSMigrationStage {
	// constructors
	protected NSCustomMigrationStage (Foundation.NSObjectFlag t);
	protected NSCustomMigrationStage (IntPtr handle);
	public NSCustomMigrationStage (NSManagedObjectModelReference currentModel, NSManagedObjectModelReference nextModel);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSManagedObjectModelReference CurrentModel { get; }
	public virtual System.Func<NSStagedMigrationManager,CoreData.NSCustomMigrationStage,Foundation.NSError,System.Boolean> DidMigrateHandler { get; set; }
	public virtual NSManagedObjectModelReference NextModel { get; }
	public virtual System.Func<NSStagedMigrationManager,CoreData.NSCustomMigrationStage,Foundation.NSError,System.Boolean> WillMigrateHandler { get; set; }
}

New Type: CoreData.NSLightweightMigrationStage

public class NSLightweightMigrationStage : CoreData.NSMigrationStage {
	// constructors
	protected NSLightweightMigrationStage (Foundation.NSObjectFlag t);
	protected NSLightweightMigrationStage (IntPtr handle);
	public NSLightweightMigrationStage (string[] versionChecksums);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string[] VersionChecksums { get; }
}

New Type: CoreData.NSManagedObjectModelReference

public class NSManagedObjectModelReference : Foundation.NSObject {
	// constructors
	protected NSManagedObjectModelReference (Foundation.NSObjectFlag t);
	protected NSManagedObjectModelReference (IntPtr handle);
	public NSManagedObjectModelReference (NSManagedObjectModel model, string versionChecksum);
	public NSManagedObjectModelReference (Foundation.NSUrl fileUrl, string versionChecksum);
	public NSManagedObjectModelReference (Foundation.NSDictionary versionHash, Foundation.NSBundle bundle, string versionChecksum);
	public NSManagedObjectModelReference (string modelName, Foundation.NSBundle bundle, string versionChecksum);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSManagedObjectModel ResolvedModel { get; }
	public virtual string VersionChecksum { get; }
}

New Type: CoreData.NSMigrationStage

public class NSMigrationStage : Foundation.NSObject {
	// constructors
	public NSMigrationStage ();
	protected NSMigrationStage (Foundation.NSObjectFlag t);
	protected NSMigrationStage (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Label { get; set; }
}

New Type: CoreData.NSStagedMigrationManager

public class NSStagedMigrationManager : Foundation.NSObject {
	// constructors
	public NSStagedMigrationManager (NSMigrationStage[] stages);
	protected NSStagedMigrationManager (Foundation.NSObjectFlag t);
	protected NSStagedMigrationManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSPersistentContainer Container { get; }
	public virtual NSMigrationStage[] Stages { get; }
}

Namespace CoreFoundation

Type Changed: CoreFoundation.CFRunLoop

Added properties:

public string[] AllModes { get; }
public string CurrentMode { get; }

Added method:

public CFRunLoopExitReason RunInMode (string mode, double seconds, bool returnAfterSourceHandled);

Namespace CoreGraphics

Type Changed: CoreGraphics.CGContext

Added method:

public void DrawConicGradient (CGGradient gradient, CGPoint point, nfloat angle);

Type Changed: CoreGraphics.CGEvent

Modified properties:

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

Added methods:

public double GetDoubleValueField (CGEventField field);
public long GetLongValueField (CGEventField field);
public void PostToPSN (IntPtr processSerialNumber);
public void PostToPid (int pid);
public static void PostToPid (CGEvent evt, int pid);
public void SetValueField (CGEventField field, double value);
public void SetValueField (CGEventField field, long value);

New Type: CoreGraphics.CGEventField

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

Namespace CoreImage

Type Changed: CoreImage.CIContext

Added property:

public static Foundation.NSString MemoryLimit { get; }

Added methods:

public virtual Foundation.NSData GetOpenEXRRepresentation (CIImage image, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError errorPtr);
public virtual bool WriteOpenExrRepresentation (CIImage image, Foundation.NSUrl url, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError errorPtr);

Type Changed: CoreImage.CIFilter

Added properties:

public static CIBlurredRectangleGenerator BlurredRectangleGeneratorFilter { get; }
public static CICannyEdgeDetector CannyEdgeDetectorFilter { get; }
public static CIRoundedRectangleStrokeGenerator RoundedRectangleStrokeGeneratorFilter { get; }
public static CISobelGradients SobelGradientsFilter { get; }

Type Changed: CoreImage.CIImage

Added properties:

public static int FormatRgb10 { get; }
public static int FormatRgbX16 { get; }
public static int FormatRgbXf { get; }
public static int FormatRgbXh { get; }

Type Changed: CoreImage.CIImageProcessorInput_Extensions

Added methods:

public static nuint GetRoiTileCount (this ICIImageProcessorInput This);
public static nuint GetRoiTileIndex (this ICIImageProcessorInput This);

Type Changed: CoreImage.CIImageProcessorKernel

Added method:

public static CIVector[] GetRoiTileArray (int input, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> arguments, CoreGraphics.CGRect outputRect);

Type Changed: CoreImage.CIPhotoEffect

Added property:

public bool Extrapolate { get; set; }

Type Changed: CoreImage.CIRenderInfo

Added property:

public virtual double KernelCompileTime { get; }

New Type: CoreImage.CIBlurredRectangleGenerator

public class CIBlurredRectangleGenerator : CoreImage.CIFilter, ICIBlurredRectangleGeneratorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CIBlurredRectangleGenerator ();
	public CIBlurredRectangleGenerator (Foundation.NSCoder coder);
	protected CIBlurredRectangleGenerator (Foundation.NSObjectFlag t);
	public CIBlurredRectangleGenerator (IntPtr handle);
	// properties
	public virtual CIColor Color { get; set; }
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual float Sigma { get; set; }
}

New Type: CoreImage.CICannyEdgeDetector

public class CICannyEdgeDetector : CoreImage.CIFilter, ICICannyEdgeDetectorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CICannyEdgeDetector ();
	public CICannyEdgeDetector (Foundation.NSCoder coder);
	protected CICannyEdgeDetector (Foundation.NSObjectFlag t);
	public CICannyEdgeDetector (IntPtr handle);
	// properties
	public virtual float GaussianSigma { get; set; }
	public virtual nint HysteresisPasses { get; set; }
	public virtual CIImage InputImage { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual bool Perceptual { get; set; }
	public virtual float ThresholdHigh { get; set; }
	public virtual float ThresholdLow { get; set; }
}

New Type: CoreImage.CIPhotoEffectProtocol_Extensions

public static class CIPhotoEffectProtocol_Extensions {
	// methods
	public static bool GetExtrapolate (this ICIPhotoEffectProtocol This);
	public static void SetExtrapolate (this ICIPhotoEffectProtocol This, bool value);
}

New Type: CoreImage.CIRoundedRectangleStrokeGenerator

public class CIRoundedRectangleStrokeGenerator : CoreImage.CIFilter, ICIFilterProtocol, ICIRoundedRectangleStrokeGeneratorProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CIRoundedRectangleStrokeGenerator ();
	public CIRoundedRectangleStrokeGenerator (Foundation.NSCoder coder);
	protected CIRoundedRectangleStrokeGenerator (Foundation.NSObjectFlag t);
	public CIRoundedRectangleStrokeGenerator (IntPtr handle);
	// properties
	public virtual CIColor Color { get; set; }
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual float Radius { get; set; }
	public virtual float Width { get; set; }
}

New Type: CoreImage.CISobelGradients

public class CISobelGradients : CoreImage.CIFilter, ICIFilterProtocol, ICISobelGradientsProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CISobelGradients ();
	public CISobelGradients (Foundation.NSCoder coder);
	protected CISobelGradients (Foundation.NSObjectFlag t);
	public CISobelGradients (IntPtr handle);
	// properties
	public virtual CIImage InputImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

New Type: CoreImage.ICIBlurredRectangleGeneratorProtocol

public interface ICIBlurredRectangleGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CIColor Color { get; set; }
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual float Sigma { get; set; }
}

New Type: CoreImage.ICICannyEdgeDetectorProtocol

public interface ICICannyEdgeDetectorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual float GaussianSigma { get; set; }
	public virtual nint HysteresisPasses { get; set; }
	public virtual CIImage InputImage { get; set; }
	public virtual bool Perceptual { get; set; }
	public virtual float ThresholdHigh { get; set; }
	public virtual float ThresholdLow { get; set; }
}

New Type: CoreImage.ICIRoundedRectangleStrokeGeneratorProtocol

public interface ICIRoundedRectangleStrokeGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CIColor Color { get; set; }
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual float Radius { get; set; }
	public virtual float Width { get; set; }
}

New Type: CoreImage.ICISobelGradientsProtocol

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

Namespace CoreLocation

New Type: CoreLocation.CLBeaconIdentityCondition

public class CLBeaconIdentityCondition : CoreLocation.CLCondition, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLBeaconIdentityCondition (Foundation.NSCoder coder);
	protected CLBeaconIdentityCondition (Foundation.NSObjectFlag t);
	public CLBeaconIdentityCondition (Foundation.NSUuid uuid);
	protected CLBeaconIdentityCondition (IntPtr handle);
	public CLBeaconIdentityCondition (Foundation.NSUuid uuid, ushort major);
	public CLBeaconIdentityCondition (Foundation.NSUuid uuid, ushort major, ushort minor);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber Major { get; }
	public virtual Foundation.NSNumber Minor { get; }
	public virtual Foundation.NSUuid Uuid { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLCircularGeographicCondition

public class CLCircularGeographicCondition : CoreLocation.CLCondition, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLCircularGeographicCondition ();
	public CLCircularGeographicCondition (Foundation.NSCoder coder);
	protected CLCircularGeographicCondition (Foundation.NSObjectFlag t);
	protected CLCircularGeographicCondition (IntPtr handle);
	public CLCircularGeographicCondition (CLLocationCoordinate2D center, double radius);
	// properties
	public virtual CLLocationCoordinate2D Center { get; }
	public override IntPtr ClassHandle { get; }
	public virtual double Radius { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLCondition

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

New Type: CoreLocation.CLLiveUpdateConfiguration

[Serializable]
public enum CLLiveUpdateConfiguration {
	Airborne = 4,
	AutomotiveNavigation = 1,
	Default = 0,
	Fitness = 3,
	OtherNavigation = 2,
}

New Type: CoreLocation.CLLocationUpdater

public class CLLocationUpdater : Foundation.NSObject {
	// constructors
	protected CLLocationUpdater (Foundation.NSObjectFlag t);
	protected CLLocationUpdater (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static CLLocationUpdater CreateLiveUpdates (CoreFoundation.DispatchQueue queue, System.Action<CLUpdate> handler);
	public static CLLocationUpdater CreateLiveUpdates (CLLiveUpdateConfiguration configuration, CoreFoundation.DispatchQueue queue, System.Action<CLUpdate> handler);
	public virtual void Invalidate ();
	public virtual void Pause ();
	public virtual void Resume ();
}

New Type: CoreLocation.CLMonitor

public class CLMonitor : Foundation.NSObject {
	// constructors
	protected CLMonitor (Foundation.NSObjectFlag t);
	protected CLMonitor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string[] MonitoredIdentifiers { get; }
	public virtual string Name { get; }
	// methods
	public virtual void AddCondition (CLCondition condition, string identifier);
	public virtual void AddCondition (CLCondition condition, string identifier, CLMonitoringState state);
	public virtual CLMonitoringRecord GetMonitoringRecord (string identifier);
	public virtual void RemoveCondition (string identifier);
	public static void RequestMonitor (CLMonitorConfiguration config, System.Action<CLMonitor> completionHandler);
	public static System.Threading.Tasks.Task<CLMonitor> RequestMonitorAsync (CLMonitorConfiguration config);
}

New Type: CoreLocation.CLMonitorConfiguration

public class CLMonitorConfiguration : Foundation.NSObject {
	// constructors
	public CLMonitorConfiguration ();
	protected CLMonitorConfiguration (Foundation.NSObjectFlag t);
	protected CLMonitorConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual System.Action<CLMonitor,CoreLocation.CLMonitoringEvent> EventHandler { get; }
	public virtual string Name { get; }
	public virtual CoreFoundation.DispatchQueue Queue { get; }
	// methods
	public static CLMonitorConfiguration Create (string name, CoreFoundation.DispatchQueue queue, System.Action<CLMonitor,CoreLocation.CLMonitoringEvent> eventHandler);
}

New Type: CoreLocation.CLMonitoringEvent

public class CLMonitoringEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLMonitoringEvent (Foundation.NSCoder coder);
	protected CLMonitoringEvent (Foundation.NSObjectFlag t);
	protected CLMonitoringEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual string Identifier { get; }
	public virtual CLCondition Refinement { get; }
	public virtual CLMonitoringState State { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLMonitoringRecord

public class CLMonitoringRecord : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLMonitoringRecord (Foundation.NSCoder coder);
	protected CLMonitoringRecord (Foundation.NSObjectFlag t);
	protected CLMonitoringRecord (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CLCondition Condition { get; }
	public virtual CLMonitoringEvent LastEvent { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLMonitoringState

[Serializable]
public enum CLMonitoringState {
	Satisfied = 1,
	Unknown = 0,
	Unmonitored = 3,
	Unsatisfied = 2,
}

New Type: CoreLocation.CLUpdate

public class CLUpdate : Foundation.NSObject {
	// constructors
	public CLUpdate ();
	protected CLUpdate (Foundation.NSObjectFlag t);
	protected CLUpdate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsStationary { get; }
	public virtual CLLocation Location { get; }
}

Namespace CoreML

Type Changed: CoreML.MLModel

Added properties:

public static IMLComputeDeviceProtocol[] AllComputeDevices { get; }
public static IMLComputeDeviceProtocol[] AvailableComputeDevices { get; }

Added methods:

public virtual void GetPrediction (IMLFeatureProvider input, System.Action<IMLFeatureProvider,Foundation.NSError> completionHandler);
public virtual void GetPrediction (IMLFeatureProvider input, MLPredictionOptions options, System.Action<IMLFeatureProvider,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<IMLFeatureProvider> GetPredictionAsync (IMLFeatureProvider input);
public virtual System.Threading.Tasks.Task<IMLFeatureProvider> GetPredictionAsync (IMLFeatureProvider input, MLPredictionOptions options);

Type Changed: CoreML.MLModelConfiguration

Added property:

public virtual MLOptimizationHints OptimizationHints { get; set; }

Type Changed: CoreML.MLModelError

Added value:

PredictionCancelled = 11,

New Type: CoreML.IMLComputeDeviceProtocol

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

New Type: CoreML.MLComputePlan

public class MLComputePlan : Foundation.NSObject {
	// constructors
	protected MLComputePlan (Foundation.NSObjectFlag t);
	protected MLComputePlan (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Weight { get; }
}

New Type: CoreML.MLComputePlanDeviceUsage

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

New Type: CoreML.MLCpuComputeDevice

public class MLCpuComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MLCpuComputeDevice (Foundation.NSObjectFlag t);
	protected MLCpuComputeDevice (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CoreML.MLGpuComputeDevice

public class MLGpuComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MLGpuComputeDevice (Foundation.NSObjectFlag t);
	protected MLGpuComputeDevice (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Metal.IMTLDevice MetalDevice { get; }
}

New Type: CoreML.MLModelStructure

public class MLModelStructure : Foundation.NSObject {
	// constructors
	protected MLModelStructure (Foundation.NSObjectFlag t);
	protected MLModelStructure (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MLModelStructureNeuralNetworkLayer[] Layers { get; }
}

New Type: CoreML.MLModelStructureNeuralNetworkLayer

public class MLModelStructureNeuralNetworkLayer : Foundation.NSObject {
	// constructors
	protected MLModelStructureNeuralNetworkLayer (Foundation.NSObjectFlag t);
	protected MLModelStructureNeuralNetworkLayer (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public virtual MLModelStructureProgramBinding[] Bindings { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: CoreML.MLModelStructureProgramBinding

public class MLModelStructureProgramBinding : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramBinding (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramBinding (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public virtual MLModelStructureProgramBlock Block { get; }
	public override IntPtr ClassHandle { get; }
	public virtual MLModelStructureProgramNamedValueType[] Inputs { get; }
}

New Type: CoreML.MLModelStructureProgramNamedValueType

public class MLModelStructureProgramNamedValueType : Foundation.NSObject {
	// constructors
	protected MLModelStructureProgramNamedValueType (Foundation.NSObjectFlag t);
	protected MLModelStructureProgramNamedValueType (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public virtual MLModelStructureProgramBlock[] Blocks { get; }
	public override IntPtr 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 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CoreML.MLModelStructureProgramValueType

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

New Type: CoreML.MLNeuralEngineComputeDevice

public class MLNeuralEngineComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MLNeuralEngineComputeDevice (Foundation.NSObjectFlag t);
	protected MLNeuralEngineComputeDevice (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint TotalCoreCount { 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 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MLReshapeFrequencyHint ReshapeFrequency { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreML.MLReshapeFrequencyHint

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

Namespace CoreMidi

Type Changed: CoreMidi.MidiDevice

Added property:

public MidiProtocolId ProtocolId { get; set; }

Type Changed: CoreMidi.MidiEndpoint

Added properties:

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

Type Changed: CoreMidi.MidiEntity

Added properties:

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

Type Changed: CoreMidi.MidiPacket

Obsoleted properties:

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

Added properties:

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

Namespace CoreMotion

New Type: CoreMotion.CMHeadphoneDeviceMotionHandler

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

New Type: CoreMotion.CMHeadphoneMotionManager

public class CMHeadphoneMotionManager : Foundation.NSObject {
	// constructors
	public CMHeadphoneMotionManager ();
	protected CMHeadphoneMotionManager (Foundation.NSObjectFlag t);
	protected CMHeadphoneMotionManager (IntPtr handle);
	// properties
	public static CMAuthorizationStatus AuthorizationStatus { get; }
	public override IntPtr ClassHandle { get; }
	public ICMHeadphoneMotionManagerDelegate Delegate { get; set; }
	public virtual CMDeviceMotion DeviceMotion { get; }
	public virtual bool DeviceMotionActive { get; }
	public virtual bool DeviceMotionAvailable { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void StartDeviceMotionUpdates ();
	public virtual void StartDeviceMotionUpdates (Foundation.NSOperationQueue queue, CMHeadphoneDeviceMotionHandler handler);
	public virtual void StopDeviceMotionUpdates ();
}

New Type: CoreMotion.CMHeadphoneMotionManagerDelegate

public class CMHeadphoneMotionManagerDelegate : Foundation.NSObject, ICMHeadphoneMotionManagerDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMHeadphoneMotionManagerDelegate ();
	protected CMHeadphoneMotionManagerDelegate (Foundation.NSObjectFlag t);
	protected CMHeadphoneMotionManagerDelegate (IntPtr handle);
	// methods
	public virtual void DidConnect (CMHeadphoneMotionManager manager);
	public virtual void DidDisconnect (CMHeadphoneMotionManager manager);
}

New Type: CoreMotion.CMHeadphoneMotionManagerDelegate_Extensions

public static class CMHeadphoneMotionManagerDelegate_Extensions {
	// methods
	public static void DidConnect (this ICMHeadphoneMotionManagerDelegate This, CMHeadphoneMotionManager manager);
	public static void DidDisconnect (this ICMHeadphoneMotionManagerDelegate This, CMHeadphoneMotionManager manager);
}

New Type: CoreMotion.CMOdometerData

public class CMOdometerData : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMOdometerData ();
	public CMOdometerData (Foundation.NSCoder coder);
	protected CMOdometerData (Foundation.NSObjectFlag t);
	protected CMOdometerData (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double DeltaAltitude { get; }
	public virtual double DeltaDistance { get; }
	public virtual double DeltaDistanceAccuracy { get; }
	public virtual Foundation.NSDate EndDate { get; }
	public virtual Foundation.NSDate GpsDate { get; }
	public virtual Foundation.NSNumber MaxAbsSlope { get; }
	public virtual CMOdometerOriginDevice OriginDevice { get; }
	public virtual Foundation.NSNumber Slope { get; }
	public virtual double Speed { get; }
	public virtual double SpeedAccuracy { get; }
	public virtual Foundation.NSDate StartDate { get; }
	public virtual double VerticalAccuracy { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMotion.CMOdometerOriginDevice

[Serializable]
public enum CMOdometerOriginDevice {
	Local = 1,
	Remote = 2,
	Unknown = 0,
}

New Type: CoreMotion.CMWaterSubmersionDepthState

[Serializable]
public enum CMWaterSubmersionDepthState {
	ApproachingMaxDepth = 400,
	NotSubmerged = 100,
	PastMaxDepth = 500,
	SensorDepthError = 600,
	SubmergedDeep = 300,
	SubmergedShallow = 200,
	Unknown = 0,
}

New Type: CoreMotion.CMWaterSubmersionState

[Serializable]
public enum CMWaterSubmersionState {
	NotSubmerged = 1,
	Submerged = 2,
	Unknown = 0,
}

New Type: CoreMotion.ICMHeadphoneMotionManagerDelegate

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

Namespace CoreSpotlight

Type Changed: CoreSpotlight.CSSearchableIndex

Added constructors:

public CSSearchableIndex (string name, Foundation.NSFileProtectionType protectionClass, string bundleIdentifier, nint options);
public CSSearchableIndex (string name, Foundation.NSString protectionClass, string bundleIdentifier, nint options);

Type Changed: CoreSpotlight.CSSuggestion

Added properties:

public virtual Foundation.NSNumber Score { get; }
public virtual Foundation.NSObject[] SuggestionDataSources { get; }

Namespace CoreText

Type Changed: CoreText.CTFontDescriptor

Obsoleted methods:

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

Added method:

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

Type Changed: CoreText.CTFontDescriptorAttributes

Added property:

public bool? WeakEnabled { get; set; }

New Type: CoreText.CTFontDescriptorMatchingProgress

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

Namespace CoreVideo

Type Changed: CoreVideo.CVImageBuffer

Added properties:

public static Foundation.NSString LogTransferFunctionAppleLogKey { get; }
public static Foundation.NSString LogTransferFunctionKey { get; }

Type Changed: CoreVideo.CVPixelBufferPool

Added properties:

public static Foundation.NSString LogTransferFunctionAppleLogKey { get; }
public static Foundation.NSString LogTransferFunctionKey { get; }

Namespace EventKit

Type Changed: EventKit.EKAuthorizationStatus

Added value:

WriteOnly = 4,

Type Changed: EventKit.EKEventStore

Added methods:

public virtual void RequestFullAccessToEvents (EKEventStoreRequestAccessCompletionHandler completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestFullAccessToEventsAsync ();
public virtual void RequestFullAccessToReminders (EKEventStoreRequestAccessCompletionHandler completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestFullAccessToRemindersAsync ();
public virtual void RequestWriteOnlyAccessToEvents (EKEventStoreRequestAccessCompletionHandler completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestWriteOnlyAccessToEventsAsync ();

New Type: EventKit.EKEventStoreRequestAccessCompletionHandler

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

Namespace FileProvider

Type Changed: FileProvider.NSFileProviderError

Added values:

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

Namespace Foundation

Type Changed: Foundation.DictionaryContainer

Added method:

protected T GetStrongDictionary<T> (NSString key, System.Func<NSDictionary,T> createStrongDictionary);

Type Changed: Foundation.NSAppleEventManager

Added property:

public static NSString WillProcessFirstEventNotification { get; }

Type Changed: Foundation.NSArray

Added method:

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

Type Changed: Foundation.NSArray`1

Added method:

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

Type Changed: Foundation.NSAttributedStringDocumentAttributes

Obsoleted properties:

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

Added properties:

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

Type Changed: Foundation.NSAttributedStringNameKey

Added values:

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

Type Changed: Foundation.NSBundle

Added property:

public static NSString BundleDidLoadNotification { get; }

Type Changed: Foundation.NSCharacterSet

Added properties:

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

Type Changed: Foundation.NSDataWritingOptions

Added value:

FileProtectionCompleteWhenUserInactive = 1342177280,

Type Changed: Foundation.NSDate

Added property:

public static NSString SystemClockDidChangeNotification { get; }

Type Changed: Foundation.NSError

Added property:

public static NSString NSNetServicesErrorCode { get; }

Type Changed: Foundation.NSFileManager

Obsoleted properties:

 [Obsolete ("Use the 'NSFileProtectionType' instead.")]
 public static NSString FileProtectionComplete { get; }
 [Obsolete ("Use the 'NSFileProtectionType' instead.")]
 public static NSString FileProtectionCompleteUnlessOpen { get; }
 [Obsolete ("Use the 'NSFileProtectionType' instead.")]
 public static NSString FileProtectionCompleteUntilFirstUserAuthentication { get; }
 [Obsolete ("Use the 'NSFileProtectionType' instead.")]
 public static NSString FileProtectionNone { get; }

Added methods:

public static bool GetSkipBackupAttribute (string filename);
public static bool GetSkipBackupAttribute (string filename, out NSError error);
public static NSError SetSkipBackupAttribute (string filename, bool skipBackup);

Type Changed: Foundation.NSFilePresenter

Added method:

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

Type Changed: Foundation.NSFilePresenter_Extensions

Added method:

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

Type Changed: Foundation.NSFileProviderService

Added methods:

public virtual void GetFileProviderConnection (System.Action<NSXpcConnection,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<NSXpcConnection> GetFileProviderConnectionAsync ();

Type Changed: Foundation.NSLocale

Added properties:

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

Type Changed: Foundation.NSMorphology

Added properties:

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

Type Changed: Foundation.NSMutableOrderedSet`1

Added method:

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

Type Changed: Foundation.NSMutableSet`1

Added method:

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

Type Changed: Foundation.NSNumber

Added methods:

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

Type Changed: Foundation.NSOrderedSet`1

Added method:

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

Type Changed: Foundation.NSPort

Added property:

public static NSString PortDidBecomeInvalidNotification { get; }

Type Changed: Foundation.NSSet`1

Added method:

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

Type Changed: Foundation.NSTask

Added property:

public virtual NSData LaunchRequirementData { get; set; }

Type Changed: Foundation.NSThread

Added properties:

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

Type Changed: Foundation.NSTimeZone

Added property:

public static NSString SystemTimeZoneDidChangeNotification { get; }

Type Changed: Foundation.NSUndoManager

Added properties:

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

Type Changed: Foundation.NSUrl

Added property:

public static NSString DirectoryEntryCountKey { get; }

Added methods:

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

Type Changed: Foundation.NSUrlComponents

Added method:

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

Type Changed: Foundation.NSUrlSession

Added methods:

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

Type Changed: Foundation.NSUrlSessionConfiguration

Added property:

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

Type Changed: Foundation.NSUrlSessionTaskDelegate

Added methods:

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

Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions

Added methods:

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

Type Changed: Foundation.NSUrlSessionUploadTask

Added property:

public static NSString ResumeDataKey { get; }

Added methods:

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

Type Changed: Foundation.ProtocolAttribute

Added property:

public bool BackwardsCompatibleCodeGeneration { get; set; }

New Type: Foundation.NSExceptionError

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

New Type: Foundation.NSFileProtectionType

[Serializable]
public enum NSFileProtectionType {
	Complete = 0,
	CompleteUnlessOpen = 1,
	CompleteUntilFirstUserAuthentication = 2,
	CompleteWhenUserInactive = 4,
	None = 3,
}

New Type: Foundation.NSFileProtectionTypeExtensions

public static class NSFileProtectionTypeExtensions {
	// methods
	public static NSString GetConstant (this NSFileProtectionType self);
	public static NSFileProtectionType GetValue (NSString constant);
}

New Type: Foundation.NSGrammaticalCase

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

New Type: Foundation.NSGrammaticalDefiniteness

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

New Type: Foundation.NSGrammaticalDetermination

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

New Type: Foundation.NSGrammaticalPerson

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

New Type: Foundation.NSGrammaticalPronounType

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

New Type: Foundation.NSMorphologyPronoun

public class NSMorphologyPronoun : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSMorphologyPronoun (NSCoder coder);
	protected NSMorphologyPronoun (NSObjectFlag t);
	protected NSMorphologyPronoun (IntPtr handle);
	public NSMorphologyPronoun (string pronoun, NSMorphology morphology, NSMorphology dependentMorphology);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static NSTermOfAddress Feminine { get; }
	public virtual string LanguageIdentifier { get; }
	public static NSTermOfAddress Masculine { get; }
	public static NSTermOfAddress Neutral { get; }
	public virtual NSMorphologyPronoun[] Pronouns { get; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public virtual void EncodeTo (NSCoder encoder);
	public static NSTermOfAddress GetLocalized (string language, NSMorphologyPronoun[] pronouns);
}

New Type: Foundation.NSUrlSessionUploadTaskResumeRequest

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

New Type: Foundation.OptionalMemberAttribute

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

New Type: Foundation.RequiredMemberAttribute

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

Namespace GameKit

Type Changed: GameKit.GKAchievement

Added methods:

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

Type Changed: GameKit.GKAchievementDescription

Added property:

public virtual Foundation.NSNumber RarityPercent { get; }

Type Changed: GameKit.GKError

Added values:

AppUnlisted = 37,
ICloudUnavailable = 35,
LockdownMode = 36,

Type Changed: GameKit.GKLeaderboardEntry

Added methods:

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

Type Changed: GameKit.GKMatch

Added properties:

public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> PlayerProperties { get; }
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; }

Type Changed: GameKit.GKMatchRequest

Added properties:

public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; set; }
public virtual string QueueName { get; set; }
public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> RecipientProperties { get; set; }

Type Changed: GameKit.GKMatchmaker

Added methods:

public virtual void FindMatchedPlayers (GKMatchRequest request, System.Action<GKMatchedPlayers,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<GKMatchedPlayers> FindMatchedPlayersAsync (GKMatchRequest request);
public virtual void QueryQueueActivity (string queueName, System.Action<System.nint,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<nint> QueryQueueActivityAsync (string queueName);

Type Changed: GameKit.GKMatchmakerViewControllerDelegate

Added method:

public virtual void GetMatchProperties (GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler);

Type Changed: GameKit.GKMatchmakerViewControllerDelegate_Extensions

Added method:

public static void GetMatchProperties (this IGKMatchmakerViewControllerDelegate This, GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler);

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

New Type: GameKit.GKChallengeComposeControllerResult

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

New Type: GameKit.GKChallengeComposeHandler2

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

New Type: GameKit.GKMatchedPlayers

public class GKMatchedPlayers : Foundation.NSObject {
	// constructors
	public GKMatchedPlayers ();
	protected GKMatchedPlayers (Foundation.NSObjectFlag t);
	protected GKMatchedPlayers (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> PlayerProperties { get; }
	public virtual GKPlayer[] Players { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; }
}

Namespace HealthKit

Type Changed: HealthKit.HKErrorCode

Added values:

BackgroundWorkoutSessionNotAllowed = 14,
DataSizeExceeded = 13,
WorkoutActivityNotAllowed = 12,

Type Changed: HealthKit.HKMetadataKey

Added properties:

public static Foundation.NSString AppleFitnessPlusSession { get; }
public static Foundation.NSString CyclingFunctionalThresholdPowerTestType { get; }
public static Foundation.NSString KeyActivityType { get; }
public static Foundation.NSString MaximumLightIntensity { get; }
public static Foundation.NSString PhysicalEffortEstimationType { get; }
public static Foundation.NSString WaterSalinity { get; }

Type Changed: HealthKit.HKQuantityTypeIdentifier

Added values:

CyclingCadence = 103,
CyclingFunctionalThresholdPower = 104,
CyclingPower = 105,
CyclingSpeed = 106,
EnvironmentalSoundReduction = 107,
PhysicalEffort = 108,
TimeInDaylight = 109,

Type Changed: HealthKit.HKUnit

Added property:

public static HKUnit Lux { get; }

Added method:

public static HKUnit CreateLux (HKMetricPrefix prefix);

Type Changed: HealthKit.HKWorkoutActivityType

Added value:

UnderwaterDiving = 84,

Type Changed: HealthKit.HKWorkoutSession

Added property:

public virtual HKWorkoutSessionType Type { get; }

Type Changed: HealthKit.HKWorkoutSessionDelegate

Added methods:

public virtual void DidDisconnect (HKWorkoutSession workoutSession, Foundation.NSError error);
public virtual void DidReceiveData (HKWorkoutSession workoutSession, Foundation.NSData[] data);

Type Changed: HealthKit.HKWorkoutSessionDelegate_Extensions

Added methods:

public static void DidDisconnect (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, Foundation.NSError error);
public static void DidReceiveData (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, Foundation.NSData[] data);

New Type: HealthKit.HKCyclingFunctionalThresholdPowerTestType

[Serializable]
public enum HKCyclingFunctionalThresholdPowerTestType {
	MaxExercise20Minute = 2,
	MaxExercise60Minute = 1,
	PredictionExercise = 4,
	RampTest = 3,
}

New Type: HealthKit.HKPhysicalEffortEstimationType

[Serializable]
public enum HKPhysicalEffortEstimationType {
	ActivityLookup = 1,
	DeviceSensed = 2,
}

New Type: HealthKit.HKWaterSalinity

[Serializable]
public enum HKWaterSalinity {
	FreshWater = 1,
	SaltWater = 2,
}

New Type: HealthKit.HKWorkoutSessionType

[Serializable]
public enum HKWorkoutSessionType {
	Mirrored = 1,
	Primary = 0,
}

Namespace ImageIO

Type Changed: ImageIO.CGImageDestinationOptions

Added property:

public Foundation.NSDictionary AvisDictionary { get; set; }

Type Changed: ImageIO.CGImageDestinationOptionsKeys

Added property:

public static Foundation.NSString AvisDictionary { get; }

Type Changed: ImageIO.CGImageProperties

Added properties:

public static Foundation.NSString AvisDictionary { 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.CGImageDecodeOptions

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

Namespace Intents

Type Changed: Intents.INIntentErrorCode

Added values:

NoAppIntent = 10001,
UnableToCreateAppIntentRepresentation = 10000,

Type Changed: Intents.INMessageType

Added value:

Reaction = 26,

Type Changed: Intents.INSearchForMessagesIntentResponseCode

Added value:

FailureRequiringInAppAuthentication = 8,

Type Changed: Intents.INSendMessageIntentResponseCode

Added value:

FailureRequiringInAppAuthentication = 7,

Type Changed: Intents.INSendMessageRecipientUnsupportedReason

Added value:

RequiringInAppAuthentication = 7,

New Type: Intents.IINEditMessageIntentHandling

public interface IINEditMessageIntentHandling : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void HandleEditMessage (INEditMessageIntent intent, System.Action<INEditMessageIntentResponse> completion);
}

New Type: Intents.IINUnsendMessagesIntentHandling

public interface IINUnsendMessagesIntentHandling : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void HandleUnsendMessages (INUnsendMessagesIntent intent, System.Action<INUnsendMessagesIntentResponse> completion);
}

New Type: Intents.INEditMessageIntent

public class INEditMessageIntent : Intents.INIntent {
	// constructors
	public INEditMessageIntent ();
	public INEditMessageIntent (Foundation.NSCoder coder);
	protected INEditMessageIntent (Foundation.NSObjectFlag t);
	protected INEditMessageIntent (IntPtr handle);
	public INEditMessageIntent (string messageIdentifier, string editedContent);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string EditedContent { get; }
	public virtual string MessageIdentifier { get; }
}

New Type: Intents.INEditMessageIntentHandling_Extensions

public static class INEditMessageIntentHandling_Extensions {
	// methods
	public static void ConfirmEditMessage (this IINEditMessageIntentHandling This, INEditMessageIntent intent, System.Action<INEditMessageIntentResponse> completion);
	public static void ResolveEditedContent (this IINEditMessageIntentHandling This, INEditMessageIntent intent, System.Action<INStringResolutionResult> completion);
}

New Type: Intents.INEditMessageIntentResponse

public class INEditMessageIntentResponse : Intents.INIntentResponse {
	// constructors
	public INEditMessageIntentResponse (Foundation.NSCoder coder);
	protected INEditMessageIntentResponse (Foundation.NSObjectFlag t);
	protected INEditMessageIntentResponse (IntPtr handle);
	public INEditMessageIntentResponse (INEditMessageIntentResponseCode code, Foundation.NSUserActivity userActivity);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual INEditMessageIntentResponseCode Code { get; }
}

New Type: Intents.INEditMessageIntentResponseCode

[Serializable]
public enum INEditMessageIntentResponseCode {
	Failure = 4,
	FailureMessageNotFound = 6,
	FailureMessageServiceNotAvailable = 10,
	FailureMessageTypeUnsupported = 8,
	FailurePastEditTimeLimit = 7,
	FailureRequiringAppLaunch = 5,
	FailureRequiringInAppAuthentication = 11,
	FailureUnsupportedOnService = 9,
	InProgress = 2,
	Ready = 1,
	Success = 3,
	Unspecified = 0,
}

New Type: Intents.INMessageLinkMetadata

public class INMessageLinkMetadata : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public INMessageLinkMetadata ();
	public INMessageLinkMetadata (Foundation.NSCoder coder);
	protected INMessageLinkMetadata (Foundation.NSObjectFlag t);
	protected INMessageLinkMetadata (IntPtr handle);
	public INMessageLinkMetadata (string siteName, string summary, string title, string openGraphType, Foundation.NSUrl linkUrl);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl LinkUrl { get; set; }
	public virtual string OpenGraphType { get; set; }
	public virtual string SiteName { get; set; }
	public virtual string Summary { get; set; }
	public virtual string Title { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INUnsendMessagesIntent

public class INUnsendMessagesIntent : Intents.INIntent {
	// constructors
	public INUnsendMessagesIntent ();
	public INUnsendMessagesIntent (Foundation.NSCoder coder);
	protected INUnsendMessagesIntent (Foundation.NSObjectFlag t);
	protected INUnsendMessagesIntent (IntPtr handle);
	public INUnsendMessagesIntent (string[] messageIdentifiers);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string[] MessageIdentifiers { get; }
}

New Type: Intents.INUnsendMessagesIntentHandling_Extensions

public static class INUnsendMessagesIntentHandling_Extensions {
	// methods
	public static void ConfirmUnsendMessages (this IINUnsendMessagesIntentHandling This, INUnsendMessagesIntent intent, System.Action<INUnsendMessagesIntentResponse> completion);
}

New Type: Intents.INUnsendMessagesIntentResponse

public class INUnsendMessagesIntentResponse : Intents.INIntentResponse {
	// constructors
	public INUnsendMessagesIntentResponse (Foundation.NSCoder coder);
	protected INUnsendMessagesIntentResponse (Foundation.NSObjectFlag t);
	protected INUnsendMessagesIntentResponse (IntPtr handle);
	public INUnsendMessagesIntentResponse (INUnsendMessagesIntentResponseCode code, Foundation.NSUserActivity userActivity);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual INUnsendMessagesIntentResponseCode Code { get; }
}

New Type: Intents.INUnsendMessagesIntentResponseCode

[Serializable]
public enum INUnsendMessagesIntentResponseCode {
	Failure = 4,
	FailureMessageNotFound = 6,
	FailureMessageServiceNotAvailable = 10,
	FailureMessageTypeUnsupported = 8,
	FailurePastUnsendTimeLimit = 7,
	FailureRequiringAppLaunch = 5,
	FailureRequiringInAppAuthentication = 11,
	FailureUnsupportedOnService = 9,
	InProgress = 2,
	Ready = 1,
	Success = 3,
	Unspecified = 0,
}

Namespace LocalAuthentication

Type Changed: LocalAuthentication.LABiometryType

Added value:

OpticId = 4,

Namespace MapKit

Type Changed: MapKit.MKMapItem

Added methods:

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

Type Changed: MapKit.MKMapSnapshotOptions

Added property:

public virtual MKMapConfiguration PreferredConfiguration { get; set; }

Type Changed: MapKit.MKMapView

Added properties:

public virtual MKFeatureVisibility PitchButtonVisibility { get; set; }
public virtual bool ShowsUserTrackingButton { get; set; }

Namespace MediaAccessibility

New Type: MediaAccessibility.MAFlashingLightsProcessor

public class MAFlashingLightsProcessor : Foundation.NSObject {
	// constructors
	public MAFlashingLightsProcessor ();
	protected MAFlashingLightsProcessor (Foundation.NSObjectFlag t);
	protected MAFlashingLightsProcessor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool CanProcess (IOSurface.IOSurface surface);
	public virtual MAFlashingLightsProcessorResult Process (IOSurface.IOSurface inSurface, IOSurface.IOSurface outSurface, double timestamp, Foundation.NSDictionary options);
}

New Type: MediaAccessibility.MAFlashingLightsProcessorResult

public class MAFlashingLightsProcessorResult : Foundation.NSObject {
	// constructors
	public MAFlashingLightsProcessorResult ();
	protected MAFlashingLightsProcessorResult (Foundation.NSObjectFlag t);
	protected MAFlashingLightsProcessorResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float IntensityLevel { get; }
	public virtual float MitigationLevel { get; }
	public virtual bool SurfaceProcessed { get; }
}

Namespace Metal

Type Changed: Metal.IMTLAccelerationStructure

Added property:

public virtual MTLResourceId GpuResourceId { get; }

Type Changed: Metal.IMTLRenderPipelineState

Added properties:

public virtual MTLResourceId GpuResourceId { get; }
public virtual nuint MaxTotalThreadgroupsPerMeshGrid { get; }
public virtual nuint MeshThreadExecutionWidth { get; }

Type Changed: Metal.MTLAccelerationStructureCommandEncoder_Extensions

Added method:

public static void RefitAccelerationStructure (this IMTLAccelerationStructureCommandEncoder This, IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, nuint scratchBufferOffset, MTLAccelerationStructureRefitOptions options);

Type Changed: Metal.MTLAccelerationStructureGeometryDescriptor

Added properties:

public virtual IMTLBuffer PrimitiveDataBuffer { get; set; }
public virtual nuint PrimitiveDataBufferOffset { get; set; }
public virtual nuint PrimitiveDataElementSize { get; set; }
public virtual nuint PrimitiveDataStride { get; set; }

Type Changed: Metal.MTLAccelerationStructureInstanceDescriptorType

Added values:

Indirect = 3,
IndirectMotion = 4,

Type Changed: Metal.MTLAccelerationStructureMotionTriangleGeometryDescriptor

Added properties:

public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
public virtual nuint TransformationMatrixBufferOffset { get; set; }
public virtual MTLAttributeFormat VertexFormat { get; set; }

Type Changed: Metal.MTLAccelerationStructureTriangleGeometryDescriptor

Added properties:

public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
public virtual nuint TransformationMatrixBufferOffset { get; set; }
public virtual MTLAttributeFormat VertexFormat { get; set; }

Type Changed: Metal.MTLAttributeFormat

Added values:

FloatRG11B10 = 54,
FloatRGB9E5 = 55,

Type Changed: Metal.MTLBinaryArchiveError

Added value:

InternalError = 4,

Type Changed: Metal.MTLBuffer_Extensions

Added method:

public static ulong GetGpuAddress (this IMTLBuffer This);

Type Changed: Metal.MTLCommandBuffer_Extensions

Added method:

public static IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (this IMTLCommandBuffer This, MTLAccelerationStructurePassDescriptor descriptor);

Type Changed: Metal.MTLCompileOptions

Added properties:

public virtual bool AllowReferencingUndefinedSymbols { get; set; }
public virtual MTLCompileSymbolVisibility CompileSymbolVisibility { get; set; }
public virtual nuint MaxTotalThreadsPerThreadgroup { get; set; }
public virtual MTLLibraryOptimizationLevel OptimizationLevel { get; set; }

Type Changed: Metal.MTLComputeCommandEncoder_Extensions

Added methods:

public static void SetBuffer (this IMTLComputeCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint stride, nuint index);
public static void SetBufferOffset (this IMTLComputeCommandEncoder This, nuint offset, nuint stride, nuint 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, nuint length, nuint stride, nuint index);

Type Changed: Metal.MTLComputePipelineReflection

Added property:

public virtual IMTLBinding[] Bindings { get; }

Type Changed: Metal.MTLComputePipelineState_Extensions

Added method:

public static MTLResourceId GetGpuResourceId (this IMTLComputePipelineState This);

Type Changed: Metal.MTLDataType

Added values:

BFloat = 121,
BFloat2 = 122,
BFloat3 = 123,
BFloat4 = 124,

Type Changed: Metal.MTLDevice_Extensions

Added methods:

public static IMTLArgumentEncoder CreateArgumentEncoder (this IMTLDevice This, IMTLBufferBinding bufferBinding);
public static void CreateRenderPipelineState (this IMTLDevice This, MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler);
public static IMTLRenderPipelineState CreateRenderPipelineState (this IMTLDevice This, MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error);
public static MTLArchitecture GetArchitecture (this IMTLDevice This);
public static MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (this IMTLDevice This, MTLAccelerationStructureDescriptor descriptor);
public static MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (this IMTLDevice This, nuint size);
public static nuint GetMaximumConcurrentCompilationTaskCount (this IMTLDevice This);
public static bool GetShouldMaximizeConcurrentCompilation (this IMTLDevice This);
public static MTLSize GetSparseTileSize (this IMTLDevice This, MTLTextureType textureType, MTLPixelFormat pixelFormat, nuint sampleCount, MTLSparsePageSize sparsePageSize);
public static nuint GetSparseTileSizeInBytes (this IMTLDevice This, MTLSparsePageSize sparsePageSize);
public static void SetShouldMaximizeConcurrentCompilation (this IMTLDevice This, bool value);

Type Changed: Metal.MTLFunctionOptions

Added value:

StoreFunctionInMetalScript = 2,

Type Changed: Metal.MTLFunctionType

Added values:

Mesh = 7,
Object = 8,

Type Changed: Metal.MTLGpuFamily

Added values:

Apple8 = 1008,
Apple9 = 1009,
Metal3 = 5001,

Type Changed: Metal.MTLHeapDescriptor

Added property:

public virtual MTLSparsePageSize SparsePageSize { get; set; }

Type Changed: Metal.MTLHeap_Extensions

Added methods:

public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, nuint size);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor, nuint offset);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, nuint size, nuint offset);

Type Changed: Metal.MTLIndirectCommandBufferDescriptor

Added properties:

public virtual nuint MaxKernelThreadgroupMemoryBindCount { get; set; }
public virtual nuint MaxMeshBufferBindCount { get; set; }
public virtual nuint MaxObjectBufferBindCount { get; set; }
public virtual nuint MaxObjectThreadgroupMemoryBindCount { get; set; }
public virtual bool SupportDynamicAttributeStride { get; set; }
public virtual bool SupportRayTracing { get; set; }

Type Changed: Metal.MTLIndirectCommandBuffer_Extensions

Added method:

public static MTLResourceId GetGpuResourceID (this IMTLIndirectCommandBuffer This);

Type Changed: Metal.MTLIndirectCommandType

Added values:

DrawMeshThreadgroups = 128,
DrawMeshThreads = 256,

Type Changed: Metal.MTLIndirectComputeCommand_Extensions

Added method:

public static void SetKernelBuffer (this IMTLIndirectComputeCommand This, IMTLBuffer buffer, nuint offset, nuint stride, nuint index);

Type Changed: Metal.MTLIntersectionFunctionSignature

Added values:

CurveData = 128,
MaxLevels = 64,

Type Changed: Metal.MTLLanguageVersion

Added values:

v3_0 = 196608,
v3_1 = 196609,

Type Changed: Metal.MTLRenderCommandEncoder_Extensions

Added methods:

public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, IMTLBuffer indirectBuffer, nuint indirectBufferOffset, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public static void DrawMeshThreads (this IMTLRenderCommandEncoder This, MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public static void SetMeshBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint index);
public static void SetMeshBufferOffset (this IMTLRenderCommandEncoder This, nuint offset, nuint index);
public static void SetMeshBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
public static void SetMeshBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, nuint length, nuint index);
public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, nuint index);
public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, nuint 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, nuint index);
public static void SetMeshTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range);
public static void SetObjectBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint index);
public static void SetObjectBufferOffset (this IMTLRenderCommandEncoder This, nuint offset, nuint index);
public static void SetObjectBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
public static void SetObjectBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, nuint length, nuint index);
public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, nuint index);
public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, nuint 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, nuint index);
public static void SetObjectTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range);
public static void SetObjectThreadgroupMemoryLength (this IMTLRenderCommandEncoder This, nuint length, nuint index);
public static void SetVertexBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint stride, nuint index);
public static void SetVertexBufferOffset (this IMTLRenderCommandEncoder This, nuint offset, nuint stride, nuint 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, nuint length, nuint stride, nuint index);

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

Added methods:

public static nuint GetMaxTotalThreadsPerMeshThreadgroup (this IMTLRenderPipelineState This);
public static nuint GetMaxTotalThreadsPerObjectThreadgroup (this IMTLRenderPipelineState This);
public static nuint GetObjectThreadExecutionWidth (this IMTLRenderPipelineState This);

Type Changed: Metal.MTLRenderStages

Added values:

Mesh = 16,
Object = 8,

Type Changed: Metal.MTLResourceStateCommandEncoder_Extensions

Added method:

public static void MoveTextureMappings (this IMTLResourceStateCommandEncoder This, IMTLTexture sourceTexture, nuint sourceSlice, nuint sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, nuint destinationSlice, nuint destinationLevel, MTLOrigin destinationOrigin);

Type Changed: Metal.MTLResource_Extensions

Added method:

public static int SetOwnerWithIdentity (this IMTLResource This, uint taskIdToken);

Type Changed: Metal.MTLTextureDescriptor

Added property:

public virtual MTLTextureCompressionType CompressionType { get; set; }

Type Changed: Metal.MTLTextureUsage

Added value:

ShaderAtomic = 32,

Type Changed: Metal.MTLTexture_Extensions

Added methods:

public static MTLTextureCompressionType GetCompressionType (this IMTLTexture This);
public static MTLResourceId GetGpuResourceId (this IMTLTexture This);

Type Changed: Metal.MTLVertexFormat

Added values:

FloatRG11B10 = 54,
FloatRgb9E5 = 55,

New Type: Metal.IMTLBinding

public interface IMTLBinding : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual MTLBindingAccess Access { get; }
	public virtual bool Argument { get; }
	public virtual nuint 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 nuint BufferAlignment { get; }
	public virtual nuint BufferDataSize { get; }
	public virtual MTLDataType BufferDataType { get; }
	public virtual MTLPointerType BufferPointerType { get; }
	public virtual MTLStructType BufferStructType { get; }
}

New Type: Metal.IMTLObjectPayloadBinding

public interface IMTLObjectPayloadBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nuint ObjectPayloadAlignment { get; }
	public virtual nuint ObjectPayloadDataSize { get; }
}

New Type: Metal.IMTLTextureBinding

public interface IMTLTextureBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nuint 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 nuint ThreadgroupMemoryAlignment { get; }
	public virtual nuint ThreadgroupMemoryDataSize { get; }
}

New Type: Metal.MTLAccelerationStructureCurveGeometryDescriptor

public class MTLAccelerationStructureCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureCurveGeometryDescriptor ();
	protected MTLAccelerationStructureCurveGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureCurveGeometryDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IMTLBuffer ControlPointBuffer { get; set; }
	public virtual nuint ControlPointBufferOffset { get; set; }
	public virtual nuint ControlPointCount { get; set; }
	public virtual MTLAttributeFormat ControlPointFormat { get; set; }
	public virtual nuint 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 nuint IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual IMTLBuffer RadiusBuffer { get; set; }
	public virtual nuint RadiusBufferOffset { get; set; }
	public virtual MTLAttributeFormat RadiusFormat { get; set; }
	public virtual nuint RadiusStride { get; set; }
	public virtual nuint SegmentControlPointCount { get; set; }
	public virtual nuint SegmentCount { get; set; }
	// methods
	public static MTLAccelerationStructureCurveGeometryDescriptor GetDescriptor ();
}

New Type: Metal.MTLAccelerationStructureMotionCurveGeometryDescriptor

public class MTLAccelerationStructureMotionCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureMotionCurveGeometryDescriptor ();
	protected MTLAccelerationStructureMotionCurveGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureMotionCurveGeometryDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLMotionKeyframeData[] ControlPointBuffers { get; set; }
	public virtual nuint ControlPointCount { get; set; }
	public virtual MTLAttributeFormat ControlPointFormat { get; set; }
	public virtual nuint 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 nuint IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual MTLMotionKeyframeData[] RadiusBuffers { get; set; }
	public virtual MTLAttributeFormat RadiusFormat { get; set; }
	public virtual nuint RadiusStride { get; set; }
	public virtual nuint SegmentControlPointCount { get; set; }
	public virtual nuint SegmentCount { get; set; }
	// methods
	public static MTLAccelerationStructureMotionCurveGeometryDescriptor GetDescriptor ();
}

New Type: Metal.MTLAccelerationStructurePassDescriptor

public class MTLAccelerationStructurePassDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructurePassDescriptor ();
	protected MTLAccelerationStructurePassDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructurePassDescriptor (IntPtr handle);
	// properties
	public static MTLAccelerationStructurePassDescriptor AccelerationStructurePassDescriptor { get; }
	public override IntPtr 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 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint EndOfEncoderSampleIndex { get; set; }
	public virtual IMTLCounterSampleBuffer SampleBuffer { get; set; }
	public virtual nuint 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 (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual MTLAccelerationStructurePassSampleBufferAttachmentDescriptor GetObject (nuint attachmentIndex);
	public virtual void SetObject (MTLAccelerationStructurePassSampleBufferAttachmentDescriptor attachment, nuint attachmentIndex);
}

New Type: Metal.MTLAccelerationStructureRefitOptions

[Serializable]
[Flags]
public enum MTLAccelerationStructureRefitOptions {
	PerPrimitiveData = 2,
	VertexData = 1,
}

New Type: Metal.MTLArchitecture

public class MTLArchitecture : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLArchitecture ();
	protected MTLArchitecture (Foundation.NSObjectFlag t);
	protected MTLArchitecture (IntPtr handle);
	// properties
	public override IntPtr 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.MTLCompileSymbolVisibility

[Serializable]
public enum MTLCompileSymbolVisibility {
	Default = 0,
	Hidden = 1,
}

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

[Serializable]
public enum MTLIOCommandQueueType {
	Concurrent = 0,
	Serial = 1,
}

New Type: Metal.MTLIOCompressionContext

public class MTLIOCompressionContext : ObjCRuntime.DisposableObject {
	// properties
	public static nint 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.MTLIndirectInstanceAccelerationStructureDescriptor

public class MTLIndirectInstanceAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor {
	// constructors
	public MTLIndirectInstanceAccelerationStructureDescriptor ();
	protected MTLIndirectInstanceAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLIndirectInstanceAccelerationStructureDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IMTLBuffer InstanceCountBuffer { get; set; }
	public virtual nuint InstanceCountBufferOffset { get; set; }
	public virtual IMTLBuffer InstanceDescriptorBuffer { get; set; }
	public virtual nuint InstanceDescriptorBufferOffset { get; set; }
	public virtual nuint InstanceDescriptorStride { get; set; }
	public virtual MTLAccelerationStructureInstanceDescriptorType InstanceDescriptorType { get; set; }
	public virtual nuint MaxInstanceCount { get; set; }
	public virtual nuint MaxMotionTransformCount { get; set; }
	public virtual IMTLBuffer MotionTransformBuffer { get; set; }
	public virtual nuint MotionTransformBufferOffset { get; set; }
	public virtual IMTLBuffer MotionTransformCountBuffer { get; set; }
	public virtual nuint 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, nuint offset, nuint stride, nuint index);
}

New Type: Metal.MTLIntersectionFunctionTable_Extensions

public static class MTLIntersectionFunctionTable_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLIntersectionFunctionTable This);
	public static void SetOpaqueCurveIntersectionFunction (this IMTLIntersectionFunctionTable This, MTLIntersectionFunctionSignature signature, Foundation.NSRange range);
	public static void SetOpaqueCurveIntersectionFunction (this IMTLIntersectionFunctionTable This, MTLIntersectionFunctionSignature signature, nuint index);
}

New Type: Metal.MTLLibraryOptimizationLevel

[Serializable]
public enum MTLLibraryOptimizationLevel {
	Default = 0,
	Size = 1,
}

New Type: Metal.MTLMeshRenderPipelineDescriptor

public class MTLMeshRenderPipelineDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLMeshRenderPipelineDescriptor ();
	protected MTLMeshRenderPipelineDescriptor (Foundation.NSObjectFlag t);
	protected MTLMeshRenderPipelineDescriptor (IntPtr handle);
	// properties
	public virtual bool AlphaToCoverageEnabled { get; set; }
	public virtual bool AlphaToOneEnabled { get; set; }
	public override IntPtr 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 nuint MaxTotalThreadgroupsPerMeshGrid { get; set; }
	public virtual nuint MaxTotalThreadsPerMeshThreadgroup { get; set; }
	public virtual nuint MaxTotalThreadsPerObjectThreadgroup { get; set; }
	public virtual nuint 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 nuint PayloadMemoryLength { get; set; }
	public virtual nuint RasterSampleCount { get; set; }
	public virtual bool RasterizationEnabled { get; set; }
	public virtual MTLPixelFormat StencilAttachmentPixelFormat { get; set; }
	public virtual bool SupportIndirectCommandBuffers { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void Reset ();
}

New Type: Metal.MTLResourceId

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

New Type: Metal.MTLSamplerState_Extensions

public static class MTLSamplerState_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLSamplerState This);
}

New Type: Metal.MTLSharedEvent_Extensions

public static class MTLSharedEvent_Extensions {
	// methods
	public static bool WaitUntilSignaledValue (this IMTLSharedEvent This, ulong value, ulong milliseconds);
}

New Type: Metal.MTLSparsePageSize

[Serializable]
public enum MTLSparsePageSize {
	Size16 = 101,
	Size256 = 103,
	Size64 = 102,
}

New Type: Metal.MTLTextureCompressionType

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

New Type: Metal.MTLVisibleFunctionTable_Extensions

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

Namespace MetalKit

Type Changed: MetalKit.MTKTextureLoaderOptions

Added property:

public bool? LoadAsArray { get; set; }

Type Changed: MetalKit.MTKView

Added property:

public virtual Metal.MTLStorageMode DepthStencilStorageMode { get; set; }

Namespace MetalPerformanceShaders

Type Changed: MetalPerformanceShaders.MPSCommandBuffer

Added method:

public virtual Metal.IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (Metal.MTLAccelerationStructurePassDescriptor descriptor);

Namespace MetricKit

Type Changed: MetricKit.MXCrashDiagnostic

Added property:

public virtual MXCrashDiagnosticObjectiveCExceptionReason ExceptionReason { get; }

Type Changed: MetricKit.MXDiagnostic

Added property:

public virtual MXSignpostRecord[] SignpostData { get; }

Type Changed: MetricKit.MXMetaData

Added properties:

public virtual bool IsTestFlightApp { get; }
public virtual bool LowPowerModeEnabled { get; }
public virtual int Pid { get; }

New Type: MetricKit.MXCrashDiagnosticObjectiveCExceptionReason

public class MXCrashDiagnosticObjectiveCExceptionReason : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MXCrashDiagnosticObjectiveCExceptionReason ();
	public MXCrashDiagnosticObjectiveCExceptionReason (Foundation.NSCoder coder);
	protected MXCrashDiagnosticObjectiveCExceptionReason (Foundation.NSObjectFlag t);
	protected MXCrashDiagnosticObjectiveCExceptionReason (IntPtr handle);
	// properties
	public virtual string[] Arguments { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string ClassName { get; }
	public virtual string ComposedMessage { get; }
	public virtual Foundation.NSDictionary DictionaryRepresentation { get; }
	public virtual string ExceptionName { get; }
	public virtual string ExceptionType { get; }
	public virtual string FormatString { get; }
	public virtual Foundation.NSData JsonRepresentation { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MetricKit.MXSignpostRecord

public class MXSignpostRecord : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MXSignpostRecord ();
	public MXSignpostRecord (Foundation.NSCoder coder);
	protected MXSignpostRecord (Foundation.NSObjectFlag t);
	protected MXSignpostRecord (IntPtr handle);
	// properties
	public virtual Foundation.NSDate BeginTimeStamp { get; }
	public virtual string Category { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary DictionaryRepresentation { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitDuration> Duration { get; }
	public virtual Foundation.NSDate EndTimeStamp { get; }
	public virtual bool IsInterval { get; }
	public virtual Foundation.NSData JsonRepresentation { get; }
	public virtual string Name { get; }
	public virtual string Subsystem { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

Namespace ModelIO

Type Changed: ModelIO.MDLMaterial

Added properties:

public MDLMaterialProperty Item { get; }
public MDLMaterialProperty Item { get; }

Namespace NaturalLanguage

New Type: NaturalLanguage.NLContextualEmbedding

public class NLContextualEmbedding : Foundation.NSObject {
	// constructors
	protected NLContextualEmbedding (Foundation.NSObjectFlag t);
	protected NLContextualEmbedding (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Dimension { get; }
	public virtual bool HasAvailableAssets { get; }
	public virtual string[] Languages { get; }
	public virtual nuint MaximumSequenceLength { get; }
	public virtual string ModelIdentifier { get; }
	public virtual nuint Revision { get; }
	public virtual string[] Scripts { get; }
	// methods
	public static NLContextualEmbedding[] Create (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> values);
	public static NLContextualEmbedding CreateWithLanguage (string language);
	public static NLContextualEmbedding CreateWithModelIdentifier (string modelIdentifier);
	public static NLContextualEmbedding CreateWithScript (string script);
	public virtual NLContextualEmbeddingResult GetEmbeddingResult (string string, string language, out Foundation.NSError error);
	public virtual bool Load (out Foundation.NSError error);
	public virtual void RequestAssets (System.Action<NLContextualEmbeddingAssetsResult,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<NLContextualEmbeddingAssetsResult> RequestAssetsAsync ();
	public virtual void Unload ();
}

New Type: NaturalLanguage.NLContextualEmbeddingAssetsResult

[Serializable]
public enum NLContextualEmbeddingAssetsResult {
	Available = 0,
	Error = 2,
	NotAvailable = 1,
}

New Type: NaturalLanguage.NLContextualEmbeddingResult

public class NLContextualEmbeddingResult : Foundation.NSObject {
	// constructors
	protected NLContextualEmbeddingResult (Foundation.NSObjectFlag t);
	protected NLContextualEmbeddingResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Language { get; }
	public virtual nuint SequenceLength { get; }
	public virtual string String { get; }
	// methods
	public virtual void EnumerateTokenVectors (Foundation.NSRange range, TokenVectorEnumeratorHandler enumerationHandler);
	public virtual nuint[] GetVector (nuint characterIndex, ref Foundation.NSRange tokenRange);
}

New Type: NaturalLanguage.NLContextualEmebeddingKey

[Serializable]
public enum NLContextualEmebeddingKey {
	Languages = 0,
	Revision = 2,
	Scripts = 1,
}

New Type: NaturalLanguage.NLContextualEmebeddingKeyExtensions

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

New Type: NaturalLanguage.NLScript

[Serializable]
public enum NLScript {
	Arabic = 1,
	Armenian = 2,
	Bengali = 3,
	CanadianAboriginalSyllabics = 4,
	Cherokee = 5,
	Cyrillic = 6,
	Devanagari = 7,
	Ethiopic = 8,
	Georgian = 9,
	Greek = 10,
	Gujarati = 11,
	Gurmukhi = 12,
	Hebrew = 13,
	Japanese = 14,
	Kannada = 15,
	Khmer = 16,
	Korean = 17,
	Lao = 18,
	Latin = 19,
	Malayalam = 20,
	Mongolian = 21,
	Myanmar = 22,
	Oriya = 23,
	SimplifiedChinese = 24,
	Sinhala = 25,
	Tamil = 26,
	Telugu = 27,
	Thai = 28,
	Tibetan = 29,
	TraditionalChinese = 30,
	Undetermined = 0,
}

New Type: NaturalLanguage.NLScriptExtensions

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

New Type: NaturalLanguage.TokenVectorEnumeratorHandler

public sealed delegate TokenVectorEnumeratorHandler : System.MulticastDelegate {
	// constructors
	public TokenVectorEnumeratorHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSArray<Foundation.NSNumber> tokenVector, Foundation.NSRange tokenRange, out bool stop, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSArray<Foundation.NSNumber> tokenVector, Foundation.NSRange tokenRange, out bool stop);
}

Namespace Network

Type Changed: Network.NWPrivacyContext

Added methods:

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

New Type: Network.NWProxyConfig

public class NWProxyConfig : CoreFoundation.NativeObject {
	// constructors
	public NWProxyConfig (IntPtr handle, bool owns);
	// 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 {
	// constructors
	public NWRelayHop (IntPtr handle, bool owns);
	// methods
	public void AddAdditionalHttpHeaderField (string fieldName, string fieldValue);
	public static NWRelayHop Create (NWEndpoint http3RelayEndpoint, NWEndpoint http2RelayEndpoint, NWProtocolOptions relayTlsOptions);
}

Namespace NetworkExtension

Type Changed: NetworkExtension.NEVpnIke2CertificateType

Added value:

Rsapss = 6,

Type Changed: NetworkExtension.NEVpnIke2DiffieHellman

Added value:

Group32 = 32,

Type Changed: NetworkExtension.NEVpnProtocol

Added property:

public virtual bool ExcludeDeviceCommunication { get; set; }

New Type: NetworkExtension.NEFailureHandlerProvider

public class NEFailureHandlerProvider : NetworkExtension.NEProvider {
	// constructors
	protected NEFailureHandlerProvider (Foundation.NSObjectFlag t);
	protected NEFailureHandlerProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void HandleFailure (Foundation.NSError error, System.Action completionHandler);
	public virtual System.Threading.Tasks.Task HandleFailureAsync (Foundation.NSError error);
}

New Type: NetworkExtension.NERelay

public class NERelay : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NERelay ();
	public NERelay (Foundation.NSCoder coder);
	protected NERelay (Foundation.NSObjectFlag t);
	protected NERelay (IntPtr handle);
	// properties
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> AdditionalHttpHeaderFields { get; set; }
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ConfigurationDidChangeNotification { get; }
	public virtual Foundation.NSUrl DnsOverHttpsUrl { get; set; }
	public static Foundation.NSString ErrorDomain { get; }
	public virtual Foundation.NSUrl Http2RelayUrl { get; set; }
	public virtual Foundation.NSUrl Http3RelayUrl { get; set; }
	public virtual Foundation.NSData IdentityData { get; set; }
	public virtual string IdentityDataPassword { get; set; }
	public virtual Foundation.NSData[] RawPublicKeys { get; set; }
	public virtual string SyntheticDnsAnswerIPv4Prefix { get; set; }
	public virtual string SyntheticDnsAnswerIPv6Prefix { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);

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

New Type: NetworkExtension.NERelayManager

public class NERelayManager : Foundation.NSObject {
	// constructors
	public NERelayManager ();
	protected NERelayManager (Foundation.NSObjectFlag t);
	protected NERelayManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual string[] ExcludedDomains { get; set; }
	public virtual string LocalizedDescription { get; set; }
	public virtual string[] MatchDomains { get; set; }
	public virtual NEOnDemandRule[] OnDemandRules { get; set; }
	public virtual NERelay[] Relays { get; set; }
	public static NERelayManager Shared { get; }
	// methods
	public static void LoadAllManagersFromPreferences (System.Action<Foundation.NSArray<NERelayManager>> completionHandler);
	public static System.Threading.Tasks.Task<Foundation.NSArray<NERelayManager>> LoadAllManagersFromPreferencesAsync ();
	public virtual void LoadFromPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task LoadFromPreferencesAsync ();
	public virtual void RemoveFromPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task RemoveFromPreferencesAsync ();
	public virtual void SaveToPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SaveToPreferencesAsync ();
}

New Type: NetworkExtension.NERelayManagerError

[Serializable]
public enum NERelayManagerError {
	CannotBeRemoved = 4,
	Disabled = 2,
	Invalid = 1,
	Stale = 3,
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "13.3";
+public const string SdkVersion = "14.5";
-public const string Version = "9.3.0";
+public const string Version = "9.5.0";

Added fields:

public static const string CinematicLibrary = "/System/Library/Frameworks/Cinematic.framework/Cinematic";
public static const string MetalFXLibrary = "/System/Library/Frameworks/MetalFX.framework/MetalFX";
public static const string SafetyKitLibrary = "/System/Library/Frameworks/SafetyKit.framework/SafetyKit";
public static const string SensitiveContentAnalysisLibrary = "/System/Library/Frameworks/SensitiveContentAnalysis.framework/SensitiveContentAnalysis";
public static const string ServiceManagementLibrary = "/System/Library/Frameworks/ServiceManagement.framework/ServiceManagement";
public static const string SymbolsLibrary = "/System/Library/Frameworks/Symbols.framework/Symbols";

Type Changed: ObjCRuntime.Dlfcn

Added method:

public static void SetObject (IntPtr handle, string symbol, Foundation.NSObject value);

Type Changed: ObjCRuntime.LinkWithAttribute

Added property:

public bool LinkWithSwiftSystemLibraries { get; set; }

New Type: ObjCRuntime.BlockCallbackAttribute

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

New Type: ObjCRuntime.CCallbackAttribute

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

Namespace PassKit

Type Changed: PassKit.PKContactFieldsExtensions

Added methods:

public static Foundation.NSString[] ToArray (this PKContactFields value);
public static PKContactFields ToFlags (System.Collections.Generic.IEnumerable<Foundation.NSString> constants);

Type Changed: PassKit.PKMerchantCapability

Added value:

InstantFundsOut = 128,

Type Changed: PassKit.PKPaymentNetwork

Added properties:

public static Foundation.NSString BankAxept { get; }
public static Foundation.NSString Meeza { get; }
public static Foundation.NSString Napas { get; }
public static Foundation.NSString PagoBancomat { get; }
public static Foundation.NSString Tmoney { get; }

Type Changed: PassKit.PKPaymentRequest

Added property:

public virtual PKApplePayLaterAvailability ApplePayLaterAvailability { get; set; }

New Type: PassKit.PKApplePayLaterAvailability

[Serializable]
public enum PKApplePayLaterAvailability {
	Available = 0,
	UnavailableItemIneligible = 1,
	UnavailableRecurringTransaction = 2,
}

Namespace PdfKit

Type Changed: PdfKit.PdfAnnotation

Added property:

public virtual bool ActivatableTextField { get; }

Namespace PencilKit

Type Changed: PencilKit.PKDrawing

Added property:

public virtual PKContentVersion RequiredContentVersion { get; }

Type Changed: PencilKit.PKInk

Added property:

public virtual PKContentVersion RequiredContentVersion { get; }

Type Changed: PencilKit.PKInkType

Added values:

Crayon = 6,
FountainPen = 4,
Monoline = 3,
Watercolor = 5,

Type Changed: PencilKit.PKInkingTool

Added property:

public virtual PKContentVersion RequiredContentVersion { get; }

Type Changed: PencilKit.PKStroke

Added property:

public virtual PKContentVersion RequiredContentVersion { get; }

Type Changed: PencilKit.PKStrokePoint

Added constructor:

public PKStrokePoint (CoreGraphics.CGPoint location, double timeOffset, CoreGraphics.CGSize size, nfloat opacity, nfloat force, nfloat azimuth, nfloat altitude, nfloat secondaryScale);

Added property:

public virtual nfloat SecondaryScale { get; }

New Type: PencilKit.PKContentVersion

[Serializable]
public enum PKContentVersion {
	Version1 = 1,
	Version2 = 2,
	Version3 = 3,
}

Namespace Photos

Type Changed: Photos.PHAssetResourceType

Added value:

PhotoProxy = 19,

Type Changed: Photos.PHContentEditingOutput

Added properties:

public virtual UniformTypeIdentifiers.UTType DefaultRenderedContentType { get; }
public virtual UniformTypeIdentifiers.UTType[] SupportedRenderedContentTypes { get; }

Added method:

public virtual Foundation.NSUrl GetRenderedContentUrl (UniformTypeIdentifiers.UTType type, out Foundation.NSError error);

Type Changed: Photos.PHImageRequestOptions

Added property:

public virtual bool AllowSecondaryDegradedImage { get; set; }

Type Changed: Photos.PHVideoRequestOptions

Added interfaces:

Foundation.INSCopying
ObjCRuntime.INativeObject
System.IDisposable

Added method:

public virtual Foundation.NSObject Copy (Foundation.NSZone zone);

Namespace PhotosUI

Type Changed: PhotosUI.PHLivePhotoView

Added property:

public virtual CoreGraphics.CGRect ContentsRect { get; set; }

Type Changed: PhotosUI.PHPickerConfiguration

Added properties:

public virtual PHPickerCapabilities DisabledCapabilities { get; set; }
public virtual AppKit.NSDirectionalRectEdge EdgesWithoutContentMargins { get; set; }
public virtual PHPickerMode Mode { get; set; }

Type Changed: PhotosUI.PHPickerConfigurationSelection

Added values:

Continuous = 2,
ContinuousAndOrdered = 3,

Type Changed: PhotosUI.PHPickerViewController

Added methods:

public virtual void ScrollToInitialPosition ();
public virtual void UpdatePicker (PHPickerUpdateConfiguration configuration);
public virtual void ZoomIn ();
public virtual void ZoomOut ();

New Type: PhotosUI.PHPickerCapabilities

[Serializable]
[Flags]
public enum PHPickerCapabilities {
	CollectionNavigation = 4,
	None = 0,
	Search = 1,
	SelectionActions = 8,
	SensitivityAnalysisIntervention = 16,
	StagingArea = 2,
}

New Type: PhotosUI.PHPickerMode

[Serializable]
public enum PHPickerMode {
	Compact = 1,
	Default = 0,
}

New Type: PhotosUI.PHPickerUpdateConfiguration

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

Namespace SafariServices

Type Changed: SafariServices.SFContentBlockerManager

Obsoleted constructors:

 [Obsolete ("Constructor marked as unavailable.")]
 public SFContentBlockerManager ();

Type Changed: SafariServices.SFExtension

Added property:

public static Foundation.NSString ProfileKey { get; }

Namespace SceneKit

Type Changed: SceneKit.SCNLayer

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Type Changed: SceneKit.SCNRenderer

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Type Changed: SceneKit.SCNSceneRenderer

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Type Changed: SceneKit.SCNSceneRenderer_Extensions

Added method:

public static CoreGraphics.CGColorSpace GetWorkingColorSpace (this ISCNSceneRenderer This);

Type Changed: SceneKit.SCNView

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Namespace ScreenCaptureKit

Type Changed: ScreenCaptureKit.SCContentFilter

Added properties:

public virtual CoreGraphics.CGRect ContentRect { get; }
public virtual bool IncludeMenuBar { get; set; }
public virtual float PointPixelScale { get; }
public virtual SCStreamType StreamType { get; }
public virtual SCShareableContentStyle Style { get; }

Type Changed: ScreenCaptureKit.SCShareableContent

Added methods:

public static void GetCurrentProcessShareableContent (System.Action<SCShareableContent,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<SCShareableContent> GetCurrentProcessShareableContentAsync ();
public static SCShareableContentInfo GetInfo (SCContentFilter filter);

Type Changed: ScreenCaptureKit.SCStreamConfiguration

Added properties:

public virtual SCCaptureResolutionType CaptureResolution { get; set; }
public virtual bool CapturesShadowsOnly { get; set; }
public virtual bool IgnoreGlobalClipDisplay { get; set; }
public virtual bool IgnoreGlobalClipSingleWindow { get; set; }
public virtual bool IgnoreShadowsDisplay { get; set; }
public virtual bool IgnoreShadowsSingleWindow { get; set; }
public virtual bool IncludeChildWindows { get; set; }
public virtual SCPresenterOverlayAlertSetting PresenterOverlayPrivacyAlertSetting { get; set; }
public virtual bool PreservesAspectRatio { get; set; }
public virtual bool ShouldBeOpaque { get; set; }
public virtual string StreamName { get; set; }

Type Changed: ScreenCaptureKit.SCStreamDelegate

Added methods:

public virtual void OutputVideoEffectDidStart (SCStream stream);
public virtual void OutputVideoEffectDidStop (SCStream stream);
public virtual void UserDidStop (SCStream stream);

Type Changed: ScreenCaptureKit.SCStreamDelegate_Extensions

Added methods:

public static void OutputVideoEffectDidStart (this ISCStreamDelegate This, SCStream stream);
public static void OutputVideoEffectDidStop (this ISCStreamDelegate This, SCStream stream);
public static void UserDidStop (this ISCStreamDelegate This, SCStream stream);

Type Changed: ScreenCaptureKit.SCStreamFrameInfoKeys

Added properties:

public static Foundation.NSString BoundingRect { get; }
public static Foundation.NSString PresenterOverlayContentRect { get; }

New Type: ScreenCaptureKit.ISCContentSharingPickerObserver

public interface ISCContentSharingPickerObserver : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void DidCancel (SCContentSharingPicker picker, SCStream stream);
	public abstract void DidFail (Foundation.NSError error);
	public abstract void DidUpdate (SCContentSharingPicker picker, SCContentFilter filter, SCStream stream);
}

New Type: ScreenCaptureKit.SCCaptureResolutionType

[Serializable]
public enum SCCaptureResolutionType {
	Automatic = 0,
	Best = 1,
	Nominal = 2,
}

New Type: ScreenCaptureKit.SCContentSharingPicker

public class SCContentSharingPicker : Foundation.NSObject {
	// constructors
	protected SCContentSharingPicker (Foundation.NSObjectFlag t);
	protected SCContentSharingPicker (IntPtr handle);
	// properties
	public virtual bool Active { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual SCContentSharingPickerConfiguration DefaultConfiguration { get; set; }
	public virtual int MaximumStreamCount { get; set; }
	public static SCContentSharingPicker SharedPicker { get; }
	// methods
	public virtual void AddObserver (ISCContentSharingPickerObserver observer);
	public virtual void Present ();
	public virtual void Present (SCShareableContentStyle contentStyle);
	public virtual void Present (SCStream stream);
	public virtual void Present (SCStream stream, SCShareableContentStyle contentStyle);
	public virtual void RemoveObserver (ISCContentSharingPickerObserver observer);
	public virtual void SetConfiguration (SCContentSharingPickerConfiguration pickerConfig, SCStream stream);
}

New Type: ScreenCaptureKit.SCContentSharingPickerConfiguration

public class SCContentSharingPickerConfiguration : Foundation.NSObject {
	// constructors
	public SCContentSharingPickerConfiguration ();
	protected SCContentSharingPickerConfiguration (Foundation.NSObjectFlag t);
	protected SCContentSharingPickerConfiguration (IntPtr handle);
	// properties
	public virtual SCContentSharingPickerMode AllowedPickerModes { get; set; }
	public virtual bool AllowsChangingSelectedContent { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string[] ExcludedBundleIds { get; set; }
	public virtual Foundation.NSNumber[] ExcludedWindowIds { get; set; }
}

New Type: ScreenCaptureKit.SCContentSharingPickerMode

[Serializable]
[Flags]
public enum SCContentSharingPickerMode {
	MultipleApplications = 8,
	MultipleWindows = 2,
	SingleApplication = 4,
	SingleDisplay = 16,
	SingleWindow = 1,
}

New Type: ScreenCaptureKit.SCContentSharingPickerObserver

public abstract class SCContentSharingPickerObserver : Foundation.NSObject, ObjCRuntime.INativeObject, ISCContentSharingPickerObserver, System.IDisposable {
	// constructors
	protected SCContentSharingPickerObserver ();
	protected SCContentSharingPickerObserver (Foundation.NSObjectFlag t);
	protected SCContentSharingPickerObserver (IntPtr handle);
	// methods
	public abstract void DidCancel (SCContentSharingPicker picker, SCStream stream);
	public abstract void DidFail (Foundation.NSError error);
	public abstract void DidUpdate (SCContentSharingPicker picker, SCContentFilter filter, SCStream stream);
}

New Type: ScreenCaptureKit.SCPresenterOverlayAlertSetting

[Serializable]
public enum SCPresenterOverlayAlertSetting {
	Always = 2,
	Never = 1,
	System = 0,
}

New Type: ScreenCaptureKit.SCScreenshotManager

public class SCScreenshotManager : Foundation.NSObject {
	// constructors
	protected SCScreenshotManager (Foundation.NSObjectFlag t);
	protected SCScreenshotManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static void CaptureImage (SCContentFilter contentFilter, SCStreamConfiguration config, System.Action<CoreGraphics.CGImage,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CoreGraphics.CGImage> CaptureImageAsync (SCContentFilter contentFilter, SCStreamConfiguration config);
	public static void CaptureSampleBuffer (SCContentFilter contentFilter, SCStreamConfiguration config, System.Action<CoreMedia.CMSampleBuffer,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CoreMedia.CMSampleBuffer> CaptureSampleBufferAsync (SCContentFilter contentFilter, SCStreamConfiguration config);
}

New Type: ScreenCaptureKit.SCShareableContentInfo

public class SCShareableContentInfo : Foundation.NSObject {
	// constructors
	protected SCShareableContentInfo (Foundation.NSObjectFlag t);
	protected SCShareableContentInfo (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGRect ContentRect { get; }
	public virtual float PointPixelScale { get; }
	public virtual SCShareableContentStyle Style { get; }
}

New Type: ScreenCaptureKit.SCShareableContentStyle

[Serializable]
public enum SCShareableContentStyle {
	Application = 3,
	Display = 2,
	None = 0,
	Window = 1,
}

New Type: ScreenCaptureKit.SCStreamType

[Serializable]
public enum SCStreamType {
	Display = 1,
	Window = 0,
}

Namespace Security

Type Changed: Security.AuthorizationFlags

Added value:

SkipInternalAuth = 512,

Type Changed: Security.SecKeyAlgorithm

Added values:

EcdsaSignatureDigestRfc4754 = 76,
EcdsaSignatureDigestRfc4754Sha1 = 77,
EcdsaSignatureDigestRfc4754Sha224 = 78,
EcdsaSignatureDigestRfc4754Sha256 = 79,
EcdsaSignatureDigestRfc4754Sha384 = 80,
EcdsaSignatureDigestRfc4754Sha512 = 81,
EcdsaSignatureMessageRfc4754Sha1 = 82,
EcdsaSignatureMessageRfc4754Sha224 = 83,
EcdsaSignatureMessageRfc4754Sha256 = 84,
EcdsaSignatureMessageRfc4754Sha384 = 85,
EcdsaSignatureMessageRfc4754Sha512 = 86,

Namespace ShazamKit

Type Changed: ShazamKit.SHErrorCode

Added value:

MediaItemFetchFailed = 600,

Type Changed: ShazamKit.SHMediaItem

Added property:

public virtual Foundation.NSDate CreationDate { get; }

Type Changed: ShazamKit.SHMediaItemProperty

Added value:

CreationDate = 16,

Namespace Speech

Type Changed: Speech.SFSpeechRecognitionRequest

Added property:

public virtual SFSpeechLanguageModelConfiguration CustomizedLanguageModel { get; set; }

New Type: Speech.SFAnalysisContextTag

public class SFAnalysisContextTag {
	// constructors
	public SFAnalysisContextTag ();
	// properties

	[Obsolete ("This API has been removed from the framework.")]
public static Foundation.NSString LeftContext { get; }

	[Obsolete ("This API has been removed from the framework.")]
public static Foundation.NSString RightContext { get; }

	[Obsolete ("This API has been removed from the framework.")]
public static Foundation.NSString SelectedText { get; }
}

New Type: Speech.SFSpeechErrorCode

[Serializable]
public enum SFSpeechErrorCode {
	InternalServiceError = 1,
	MalformedSupplementalModel = 8,
	UndefinedTemplateClassName = 7,
}

New Type: Speech.SFSpeechErrorCodeExtensions

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

New Type: Speech.SFSpeechLanguageModel

public class SFSpeechLanguageModel : Foundation.NSObject {
	// constructors
	protected SFSpeechLanguageModel (Foundation.NSObjectFlag t);
	protected SFSpeechLanguageModel (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static void PrepareCustomModel (Foundation.NSUrl asset, string clientIdentifier, SFSpeechLanguageModelConfiguration configuration, System.Action<Foundation.NSError> completion);
	public static void PrepareCustomModel (Foundation.NSUrl asset, string clientIdentifier, SFSpeechLanguageModelConfiguration configuration, bool ignoresCache, System.Action<Foundation.NSError> completion);
	public static System.Threading.Tasks.Task PrepareCustomModelAsync (Foundation.NSUrl asset, string clientIdentifier, SFSpeechLanguageModelConfiguration configuration);
	public static System.Threading.Tasks.Task PrepareCustomModelAsync (Foundation.NSUrl asset, string clientIdentifier, SFSpeechLanguageModelConfiguration configuration, bool ignoresCache);
}

New Type: Speech.SFSpeechLanguageModelConfiguration

public class SFSpeechLanguageModelConfiguration : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public SFSpeechLanguageModelConfiguration ();
	protected SFSpeechLanguageModelConfiguration (Foundation.NSObjectFlag t);
	public SFSpeechLanguageModelConfiguration (Foundation.NSUrl languageModel);
	protected SFSpeechLanguageModelConfiguration (IntPtr handle);
	public SFSpeechLanguageModelConfiguration (Foundation.NSUrl languageModel, Foundation.NSUrl vocabulary);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl LanguageModel { get; }
	public virtual Foundation.NSUrl Vocabulary { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

Namespace UniformTypeIdentifiers

Type Changed: UniformTypeIdentifiers.UTTypes

Added property:

public static UTType Ahap { get; }

Namespace VideoSubscriberAccount

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 (IntPtr handle);
	public VSAppleSubscription (string customerId, string[] productCodes);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string CustomerId { get; set; }
	public virtual string[] ProductCodes { get; set; }
}

Namespace Vision

Type Changed: Vision.VNBarcodeObservation

Added properties:

public virtual bool IsColorInverted { get; }
public virtual bool IsGS1DataCarrier { get; }
public virtual Foundation.NSData PayloadData { get; }
public virtual VNBarcodeCompositeType SupplementalCompositeType { get; }
public virtual Foundation.NSData SupplementalPayloadData { get; }
public virtual string SupplementalPayloadString { get; }

Type Changed: Vision.VNBarcodeSymbology

Added value:

MsiPlessey = 23,

Type Changed: Vision.VNClassifyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNDetectBarcodesRequest

Added property:

public virtual bool CoalesceCompositeSymbologies { get; set; }

Type Changed: Vision.VNDetectBarcodesRequestRevision

Added values:

Four = 4,
Three = 3,

Type Changed: Vision.VNDetectFaceCaptureQualityRequestRevision

Added value:

Three = 3,

Type Changed: Vision.VNDetectHumanBodyPoseRequest

Added methods:

public virtual VNHumanBodyPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
public virtual VNHumanBodyPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);

Type Changed: Vision.VNDetectHumanHandPoseRequest

Added methods:

public virtual VNHumanHandPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
public virtual VNHumanHandPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);

Type Changed: Vision.VNErrorCode

Added values:

UnsupportedComputeDevice = 22,
UnsupportedComputeStage = 21,

Type Changed: Vision.VNGenerateAttentionBasedSaliencyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNGenerateImageFeaturePrintRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNGenerateObjectnessBasedSaliencyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNImageRequestHandler

Added constructors:

public VNImageRequestHandler (CoreMedia.CMSampleBuffer sampleBuffer, AVFoundation.AVDepthData depthData, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
public VNImageRequestHandler (CoreVideo.CVPixelBuffer pixelBuffer, AVFoundation.AVDepthData depthData, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);

Type Changed: Vision.VNRectangleObservation

Added method:

public static VNRectangleObservation FromRectangleObservation (VNRectangleObservationRequestRevision requestRevision, CoreGraphics.CGPoint topLeft, CoreGraphics.CGPoint topRight, CoreGraphics.CGPoint bottomRight, CoreGraphics.CGPoint bottomLeft);

Type Changed: Vision.VNRequest

Added methods:

public virtual CoreML.IMLComputeDeviceProtocol GetComputeDevice (string computeStage);
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray<CoreML.IMLComputeDeviceProtocol>> GetSupportedComputeDevices (out Foundation.NSError error);
public virtual void SetComputeDevice (CoreML.IMLComputeDeviceProtocol computeDevice, string computeStage);

Type Changed: Vision.VNTrackingRequest

Added method:

public virtual nuint 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 (IntPtr handle);
	// properties
	public virtual VNAnimalBodyPoseObservationJointsGroupName[] AvailableJointGroupNames { get; }
	public virtual VNAnimalBodyPoseObservationJointName[] AvailableJointNames { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual VNRecognizedPoint GetRecognizedPoint (VNAnimalBodyPoseObservationJointName jointName, out Foundation.NSError error);
	public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint> GetRecognizedPoints (VNAnimalBodyPoseObservationJointsGroupName jointsGroupName, out Foundation.NSError error);
}

New Type: Vision.VNAnimalBodyPoseObservationJointName

[Serializable]
public enum VNAnimalBodyPoseObservationJointName {
	LeftBackElbow = 17,
	LeftBackKnee = 19,
	LeftBackPaw = 21,
	LeftEarBottom = 5,
	LeftEarMiddle = 3,
	LeftEarTop = 1,
	LeftEye = 7,
	LeftFrontElbow = 11,
	LeftFrontKnee = 13,
	LeftFrontPaw = 15,
	Neck = 10,
	None = 0,
	Nose = 9,
	RightBackElbow = 18,
	RightBackKnee = 20,
	RightBackPaw = 22,
	RightEarBottom = 6,
	RightEarMiddle = 4,
	RightEarTop = 2,
	RightEye = 8,
	RightFrontElbow = 12,
	RightFrontKnee = 14,
	RightFrontPaw = 16,
	TailBottom = 25,
	TailMiddle = 24,
	TailTop = 23,
}

New Type: Vision.VNAnimalBodyPoseObservationJointNameExtensions

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

New Type: Vision.VNAnimalBodyPoseObservationJointsGroupName

[Serializable]
public enum VNAnimalBodyPoseObservationJointsGroupName {
	All = 6,
	Forelegs = 3,
	Head = 1,
	Hindlegs = 4,
	None = 0,
	Tail = 5,
	Trunk = 2,
}

New Type: Vision.VNAnimalBodyPoseObservationJointsGroupNameExtensions

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

New Type: Vision.VNBarcodeCompositeType

[Serializable]
public enum VNBarcodeCompositeType {
	Gs1TypeA = 2,
	Gs1TypeB = 3,
	Gs1TypeC = 4,
	Linked = 1,
	None = 0,
}

New Type: Vision.VNComputeStage

[Serializable]
public enum VNComputeStage {
	Main = 1,
	None = 0,
	PostProcessing = 2,
}

New Type: Vision.VNComputeStageExtensions

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

New Type: Vision.VNDetectAnimalBodyPoseRequest

public class VNDetectAnimalBodyPoseRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNDetectAnimalBodyPoseRequest (Foundation.NSObjectFlag t);
	protected VNDetectAnimalBodyPoseRequest (IntPtr handle);
	public VNDetectAnimalBodyPoseRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr 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 (IntPtr handle);
	public VNDetectHumanBodyPose3DRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr 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 (IntPtr handle);
	public VNGenerateForegroundInstanceMaskRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual VNInstanceMaskObservation[] Results { get; }
}

New Type: Vision.VNGeneratePersonInstanceMaskRequest

public class VNGeneratePersonInstanceMaskRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNGeneratePersonInstanceMaskRequest (Foundation.NSObjectFlag t);
	protected VNGeneratePersonInstanceMaskRequest (IntPtr handle);
	public VNGeneratePersonInstanceMaskRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public virtual VNHumanBodyPose3DObservationJointName[] AvailableJointNames { get; }
	public virtual VNHumanBodyPose3DObservationJointsGroupName[] AvailableJointsGroupNames { get; }
	public virtual float BodyHeight { get; }
	public virtual OpenTK.NMatrix4 CameraOriginMatrix { get; }
	public override IntPtr ClassHandle { get; }
	public virtual VNHumanBodyPose3DObservationHeightEstimation HeightEstimation { get; }
	// methods
	public virtual bool GetCameraRelativePosition (out OpenTK.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 (Foundation.NSCoder coder);
	protected VNHumanBodyRecognizedPoint3D (Foundation.NSObjectFlag t);
	public VNHumanBodyRecognizedPoint3D (OpenTK.NMatrix4 position);
	protected VNHumanBodyRecognizedPoint3D (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.NMatrix4 LocalPosition { get; }
	public virtual VNHumanBodyPose3DObservationJointName ParentJoint { get; }
}

New Type: Vision.VNInstanceMaskObservation

public class VNInstanceMaskObservation : Vision.VNObservation {
	// constructors
	public VNInstanceMaskObservation (Foundation.NSCoder coder);
	protected VNInstanceMaskObservation (Foundation.NSObjectFlag t);
	protected VNInstanceMaskObservation (IntPtr handle);
	// properties
	public virtual Foundation.NSIndexSet AllInstances { get; }
	public override IntPtr 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 (Foundation.NSCoder coder);
	protected VNPoint3D (Foundation.NSObjectFlag t);
	public VNPoint3D (OpenTK.NMatrix4 position);
	protected VNPoint3D (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.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 (Foundation.NSCoder coder);
	protected VNRecognizedPoint3D (Foundation.NSObjectFlag t);
	public VNRecognizedPoint3D (OpenTK.NMatrix4 position);
	protected VNRecognizedPoint3D (IntPtr handle);
	// properties
	public override IntPtr 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 (IntPtr handle);
	// properties
	public virtual Foundation.NSString[] AvailableGroupKeys { get; }
	public virtual Foundation.NSString[] AvailableKeys { get; }
	public override IntPtr 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 (IntPtr handle);
	public VNTrackHomographicImageRegistrationRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr 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 (IntPtr handle);
	public VNTrackOpticalFlowRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr 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 (IntPtr handle);
	public VNTrackTranslationalImageRegistrationRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public static VNTrackTranslationalImageRegistrationRequestRevision CurrentRevision { get; }
	public static VNTrackTranslationalImageRegistrationRequestRevision DefaultRevision { get; }
	public virtual VNImageTranslationAlignmentObservation[] Results { get; }
	public virtual VNTrackTranslationalImageRegistrationRequestRevision Revision { get; set; }
	public static VNTrackTranslationalImageRegistrationRequestRevision[] SupportedRevisions { get; }
	public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
}

New Type: Vision.VNTrackTranslationalImageRegistrationRequestRevision

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

Namespace WebKit

Type Changed: WebKit.WKHttpCookieStore

Added methods:

public virtual void GetCookiePolicy (System.Action<WKCookiePolicy> completionHandler);
public virtual System.Threading.Tasks.Task<WKCookiePolicy> GetCookiePolicyAsync ();
public virtual void SetCookiePolicy (WKCookiePolicy policy, System.Action completionHandler);
public virtual System.Threading.Tasks.Task SetCookiePolicyAsync (WKCookiePolicy policy);

Type Changed: WebKit.WKPdfConfiguration

Added property:

public virtual bool AllowTransparentBackground { get; set; }

Type Changed: WebKit.WKPreferences

Added property:

public virtual WKInactiveSchedulingPolicy InactiveSchedulingPolicy { get; set; }

Type Changed: WebKit.WKWebView

Added methods:

public virtual void GoBack (Foundation.NSObject sender);
public virtual void GoForward (Foundation.NSObject sender);
public virtual void Reload (Foundation.NSObject sender);
public virtual void ReloadFromOrigin (Foundation.NSObject sender);
public virtual void StopLoading (Foundation.NSObject sender);

Type Changed: WebKit.WKWebViewConfiguration

Added properties:

public virtual bool AllowsInlinePredictions { get; set; }
public virtual WKUserInterfaceDirectionPolicy UserInterfaceDirectionPolicy { get; set; }

Type Changed: WebKit.WKWebsiteDataStore

Added property:

public virtual Foundation.NSUuid Identifier { get; }

Added methods:

public static WKWebsiteDataStore Create (Foundation.NSUuid identifier);
public static void FetchAllDataStoreIdentifiers (System.Action<Foundation.NSArray<Foundation.NSUuid>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<Foundation.NSUuid>> FetchAllDataStoreIdentifiersAsync ();
public static void Remove (Foundation.NSUuid identifier, System.Action<Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task RemoveAsync (Foundation.NSUuid identifier);

Type Changed: WebKit.WKWebsiteDataType

Added properties:

public static Foundation.NSString HashSalt { get; }
public static Foundation.NSString MediaKeys { get; }
public static Foundation.NSString SearchFieldRecentSearches { get; }

New Type: WebKit.WKCookiePolicy

[Serializable]
public enum WKCookiePolicy {
	Allow = 0,
	Disallow = 1,
}

New Type: WebKit.WKInactiveSchedulingPolicy

[Serializable]
public enum WKInactiveSchedulingPolicy {
	None = 2,
	Suspend = 0,
	Throttle = 1,
}

New Type: WebKit.WKUserInterfaceDirectionPolicy

[Serializable]
public enum WKUserInterfaceDirectionPolicy {
	Content = 0,
	System = 1,
}

New Type: WebKit.WebViewNotification

public static class WebViewNotification {
	// properties
	public static Foundation.NSString DidBeginEditing { get; }
	public static Foundation.NSString DidChange { get; }
	public static Foundation.NSString DidChangeSelection { get; }
	public static Foundation.NSString DidChangeTypingStyle { get; }
	public static Foundation.NSString DidEndEditing { get; }

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

New Namespace Cinematic

New Type: Cinematic.CNAssetInfo

public class CNAssetInfo : Foundation.NSObject {
	// constructors
	protected CNAssetInfo (Foundation.NSObjectFlag t);
	protected CNAssetInfo (IntPtr handle);
	// properties
	public virtual AVFoundation.AVAssetTrack[] AllCinematicTracks { get; }
	public virtual AVFoundation.AVAsset Asset { get; }
	public virtual AVFoundation.AVAssetTrack CinematicDisparityTrack { get; }
	public virtual AVFoundation.AVAssetTrack CinematicMetadataTrack { get; }
	public virtual AVFoundation.AVAssetTrack CinematicVideoTrack { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVFoundation.AVAssetTrack FrameTimingTrack { get; }
	public virtual CoreGraphics.CGSize NaturalSize { get; }
	public virtual CoreGraphics.CGSize PreferredSize { get; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; }
	public virtual Foundation.NSNumber[] SampleDataTrackIds { get; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
	public virtual Foundation.NSNumber[] VideoCompositionTrackIds { get; }
	public virtual AVFoundation.AVAssetTrack[] VideoCompositionTracks { get; }
	// methods
	public static void CheckIfCinematic (AVFoundation.AVAsset asset, System.Action<bool> completionHandler);
	public static System.Threading.Tasks.Task<bool> CheckIfCinematicAsync (AVFoundation.AVAsset asset);
	public static void LoadFromAsset (AVFoundation.AVAsset asset, System.Action<CNAssetInfo,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CNAssetInfo> LoadFromAssetAsync (AVFoundation.AVAsset asset);
}

New Type: Cinematic.CNBoundsPrediction

public class CNBoundsPrediction : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CNBoundsPrediction ();
	protected CNBoundsPrediction (Foundation.NSObjectFlag t);
	protected CNBoundsPrediction (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float Confidence { get; set; }
	public virtual CoreGraphics.CGRect NormalizedBounds { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: Cinematic.CNCinematicErrorCode

[Serializable]
public enum CNCinematicErrorCode {
	Cancelled = 7,
	Incompatible = 6,
	Incomplete = 3,
	Malformed = 4,
	Unknown = 1,
	Unreadable = 2,
	Unsupported = 5,
}

New Type: Cinematic.CNCinematicErrorCodeExtensions

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

New Type: Cinematic.CNCompositionInfo

public class CNCompositionInfo : Cinematic.CNAssetInfo {
	// constructors
	public CNCompositionInfo ();
	protected CNCompositionInfo (Foundation.NSObjectFlag t);
	protected CNCompositionInfo (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool InsertTimeRange (CoreMedia.CMTimeRange timeRange, CNAssetInfo assetInfo, CoreMedia.CMTime startTime, out Foundation.NSError outError);
}

New Type: Cinematic.CNCustomDetectionTrack

public class CNCustomDetectionTrack : Cinematic.CNDetectionTrack {
	// constructors
	public CNCustomDetectionTrack ();
	protected CNCustomDetectionTrack (Foundation.NSObjectFlag t);
	protected CNCustomDetectionTrack (IntPtr handle);
	public CNCustomDetectionTrack (CNDetection[] detections, bool applySmoothing);
	// properties
	public virtual CNDetection[] AllDetections { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: Cinematic.CNDecision

public class CNDecision : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNDecision (Foundation.NSObjectFlag t);
	protected CNDecision (IntPtr handle);
	public CNDecision (CoreMedia.CMTime time, long detectionId, bool isStrong, CNDecisionIdentifierType identifierType);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual long DetectionGroupId { get; }
	public virtual long DetectionId { get; }
	public virtual bool GroupDecision { get; }
	public virtual bool StrongDecision { get; }
	public virtual CoreMedia.CMTime Time { get; }
	public virtual bool UserDecision { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Cinematic.CNDecisionIdentifierType

[Serializable]
public enum CNDecisionIdentifierType {
	Group = 1,
	Single = 0,
}

New Type: Cinematic.CNDetection

public class CNDetection : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNDetection (Foundation.NSObjectFlag t);
	protected CNDetection (IntPtr handle);
	public CNDetection (CoreMedia.CMTime time, CNDetectionType detectionType, CoreGraphics.CGRect normalizedRect, float focusDisparity);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual long DetectionGroupId { get; }
	public virtual long DetectionId { get; }
	public virtual CNDetectionType DetectionType { get; }
	public virtual float FocusDisparity { get; }
	public virtual CoreGraphics.CGRect NormalizedRect { get; }
	public virtual CoreMedia.CMTime Time { get; }
	// methods
	public static string AccessibilityLabelForDetectionType (CNDetectionType detectionType);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static float DisparityInNormalizedRect (CoreGraphics.CGRect normalizedRect, CoreVideo.CVPixelBuffer sourceDisparity, CNDetectionType detectionType, float priorDisparity);
	public static bool IsValidDetectionGroupId (long detectionGroupId);
	public static bool IsValidDetectionId (long detectionId);
}

New Type: Cinematic.CNDetectionTrack

public class CNDetectionTrack : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNDetectionTrack (Foundation.NSObjectFlag t);
	protected CNDetectionTrack (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual long DetectionGroupId { get; }
	public virtual long DetectionId { get; }
	public virtual CNDetectionType DetectionType { get; }
	public virtual bool Discrete { get; }
	public virtual bool UserCreated { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual CNDetection GetDetectionAtOrBeforeTime (CoreMedia.CMTime time);
	public virtual CNDetection GetDetectionNearestTime (CoreMedia.CMTime time);
	public virtual CNDetection[] GetDetectionsInTimeRange (CoreMedia.CMTimeRange timeRange);
}

New Type: Cinematic.CNDetectionType

[Serializable]
public enum CNDetectionType {
	AutoFocus = 100,
	CatBody = 4,
	CatHead = 9,
	Custom = 102,
	DogBody = 5,
	DogHead = 10,
	FixedFocus = 101,
	HumanFace = 1,
	HumanHead = 2,
	HumanTorso = 3,
	SportsBall = 11,
	Unknown = 0,
}

New Type: Cinematic.CNFixedDetectionTrack

public class CNFixedDetectionTrack : Cinematic.CNDetectionTrack {
	// constructors
	public CNFixedDetectionTrack ();
	public CNFixedDetectionTrack (CNDetection originalDetection);
	protected CNFixedDetectionTrack (Foundation.NSObjectFlag t);
	protected CNFixedDetectionTrack (IntPtr handle);
	public CNFixedDetectionTrack (float focusDisparity);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float FocusDisparity { get; }
	public virtual CNDetection OriginalDetection { get; }
}

New Type: Cinematic.CNObjectTracker

public class CNObjectTracker : Foundation.NSObject {
	// constructors
	protected CNObjectTracker (Foundation.NSObjectFlag t);
	public CNObjectTracker (Metal.IMTLCommandQueue commandQueue);
	protected CNObjectTracker (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CNDetectionTrack FinishDetectionTrack { get; }
	public static bool IsSupported { get; }
	// methods
	public virtual CNBoundsPrediction ContinueTracking (CoreMedia.CMTime atTime, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity);
	public virtual CNBoundsPrediction FindObject (CoreGraphics.CGPoint point, CoreVideo.CVPixelBuffer sourceImage);
	public virtual void ResetDetectionTrack ();
	public virtual bool StartTracking (CoreMedia.CMTime atTime, CoreGraphics.CGRect normalizedBounds, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity);
}

New Type: Cinematic.CNRenderingQuality

[Serializable]
public enum CNRenderingQuality {
	Export = 2,
	ExportHigh = 3,
	Preview = 1,
	Thumbnail = 0,
}

New Type: Cinematic.CNRenderingSession

public class CNRenderingSession : Foundation.NSObject {
	// constructors
	protected CNRenderingSession (Foundation.NSObjectFlag t);
	protected CNRenderingSession (IntPtr handle);
	public CNRenderingSession (Metal.IMTLCommandQueue commandQueue, CNRenderingSessionAttributes sessionAttributes, CoreGraphics.CGAffineTransform preferredTransform, CNRenderingQuality quality);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Metal.IMTLCommandQueue CommandQueue { get; }
	public static Foundation.NSNumber[] DestinationPixelFormatTypes { get; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; }
	public virtual CNRenderingQuality Quality { get; }
	public virtual CNRenderingSessionAttributes SessionAttributes { get; }
	public static Foundation.NSNumber[] SourcePixelFormatTypes { get; }
	// methods
	public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, CoreVideo.CVPixelBuffer destinationImage);
	public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, Metal.IMTLTexture destinationRgba);
	public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, Metal.IMTLTexture destinationLuma, Metal.IMTLTexture destinationChroma);
}

New Type: Cinematic.CNRenderingSessionAttributes

public class CNRenderingSessionAttributes : Foundation.NSObject {
	// constructors
	protected CNRenderingSessionAttributes (Foundation.NSObjectFlag t);
	protected CNRenderingSessionAttributes (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint RenderingVersion { get; }
	// methods
	public static void Load (AVFoundation.AVAsset asset, System.Action<CNRenderingSessionAttributes,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CNRenderingSessionAttributes> LoadAsync (AVFoundation.AVAsset asset);
}

New Type: Cinematic.CNRenderingSessionFrameAttributes

public class CNRenderingSessionFrameAttributes : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNRenderingSessionFrameAttributes (Foundation.NSObjectFlag t);
	protected CNRenderingSessionFrameAttributes (IntPtr handle);
	public CNRenderingSessionFrameAttributes (AVFoundation.AVTimedMetadataGroup metadataGroup, CNRenderingSessionAttributes sessionAttributes);
	public CNRenderingSessionFrameAttributes (CoreMedia.CMSampleBuffer sampleBuffer, CNRenderingSessionAttributes sessionAttributes);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float FNumber { get; set; }
	public virtual float FocusDisparity { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: Cinematic.CNScript

public class CNScript : Foundation.NSObject {
	// constructors
	protected CNScript (Foundation.NSObjectFlag t);
	protected CNScript (IntPtr handle);
	// properties
	public virtual CNDetectionTrack[] AddedDetectionTracks { get; }
	public virtual CNScriptChanges Changes { get; }
	public override IntPtr ClassHandle { get; }
	public virtual float FNumber { get; set; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
	// methods
	public virtual long AddDetectionTrack (CNDetectionTrack detectionTrack);
	public virtual bool AddUserDecision (CNDecision decision);
	public virtual CNDecision[] GetBaseDecisions (CoreMedia.CMTimeRange timeRange);
	public virtual CNScriptChanges GetChangesTrimmed (CoreMedia.CMTimeRange timeRange);
	public virtual CNDecision GetDecision (CoreMedia.CMTime time, CoreMedia.CMTime tolerance);
	public virtual CNDecision GetDecisionAfterTime (CoreMedia.CMTime time);
	public virtual CNDecision GetDecisionBeforeTime (CoreMedia.CMTime time);
	public virtual CNDecision[] GetDecisions (CoreMedia.CMTimeRange timeRange);
	public virtual CNDetectionTrack GetDetectionTrack (CNDecision decision);
	public virtual CNDetectionTrack GetDetectionTrackForId (long detectionId);
	public virtual CNScriptFrame GetFrame (CoreMedia.CMTime time, CoreMedia.CMTime tolerance);
	public virtual CNScriptFrame[] GetFrames (CoreMedia.CMTimeRange timeRange);
	public virtual CNDecision GetPrimaryDecision (CoreMedia.CMTime time);
	public virtual CNDecision GetSecondaryDecision (CoreMedia.CMTime time);
	public virtual CoreMedia.CMTimeRange GetTimeRangeOfTransitionAfterDecision (CNDecision decision);
	public virtual CoreMedia.CMTimeRange GetTimeRangeOfTransitionBeforeDecision (CNDecision decision);
	public virtual CNDecision[] GetUserDecisions (CoreMedia.CMTimeRange timeRange);
	public static void Load (AVFoundation.AVAsset asset, CNScriptChanges changes, Foundation.NSProgress progress, System.Action<CNScript,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CNScript> LoadAsync (AVFoundation.AVAsset asset, CNScriptChanges changes, Foundation.NSProgress progress);
	public virtual void Reload (CNScriptChanges changes);
	public virtual void RemoveAllUserDecisions ();
	public virtual bool RemoveDetectionTrack (CNDetectionTrack detectionTrack);
	public virtual bool RemoveUserDecision (CNDecision decision);
}

New Type: Cinematic.CNScriptChanges

public class CNScriptChanges : Foundation.NSObject {
	// constructors
	public CNScriptChanges (Foundation.NSData dataRepresentation);
	protected CNScriptChanges (Foundation.NSObjectFlag t);
	protected CNScriptChanges (IntPtr handle);
	// properties
	public virtual CNDetectionTrack[] AddedDetectionTracks { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData DataRepresentation { get; }
	public virtual float FNumber { get; }
	public virtual CNDecision[] UserDecisions { get; }
}

New Type: Cinematic.CNScriptFrame

public class CNScriptFrame : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNScriptFrame (Foundation.NSObjectFlag t);
	protected CNScriptFrame (IntPtr handle);
	// properties
	public virtual CNDetection[] AllDetections { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CNDetection FocusDetection { get; }
	public virtual float FocusDisparity { get; }
	public virtual CoreMedia.CMTime Time { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual CNDetection GetBestDetectionForGroupId (long detectionGroupId);
	public virtual CNDetection GetDetectionForId (long detectionId);
}

New Namespace MetalFX

New Type: MetalFX.IMTLFXSpatialScaler

public interface IMTLFXSpatialScaler : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual MTLFXSpatialScalerColorProcessingMode ColorProcessingMode { get; }
	public virtual Metal.IMTLTexture ColorTexture { get; set; }
	public virtual Metal.MTLPixelFormat ColorTextureFormat { get; }
	public virtual Metal.MTLTextureUsage ColorTextureUsage { get; }
	public virtual Metal.IMTLFence Fence { get; set; }
	public virtual nuint InputContentHeight { get; set; }
	public virtual nuint InputContentWidth { get; set; }
	public virtual nuint InputHeight { get; }
	public virtual nuint InputWidth { get; }
	public virtual nuint OutputHeight { get; }
	public virtual Metal.IMTLTexture OutputTexture { get; set; }
	public virtual Metal.MTLPixelFormat OutputTextureFormat { get; }
	public virtual Metal.MTLTextureUsage OutputTextureUsage { get; }
	public virtual nuint OutputWidth { get; }
	// methods
	public abstract void Encode (Metal.IMTLCommandBuffer commandBuffer);
}

New Type: MetalFX.IMTLFXTemporalScaler

public interface IMTLFXTemporalScaler : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Metal.IMTLTexture ColorTexture { get; set; }
	public virtual Metal.MTLPixelFormat ColorTextureFormat { get; }
	public virtual Metal.MTLTextureUsage ColorTextureUsage { get; }
	public virtual bool DepthReversed { get; set; }
	public virtual Metal.IMTLTexture DepthTexture { get; set; }
	public virtual Metal.MTLPixelFormat DepthTextureFormat { get; }
	public virtual Metal.MTLTextureUsage DepthTextureUsage { get; }
	public virtual Metal.IMTLTexture ExposureTexture { get; set; }
	public virtual Metal.IMTLFence Fence { get; set; }
	public virtual nuint InputContentHeight { get; set; }
	public virtual float InputContentMaxScale { get; }
	public virtual float InputContentMinScale { get; }
	public virtual nuint InputContentWidth { get; set; }
	public virtual nuint InputHeight { get; }
	public virtual nuint InputWidth { get; }
	public virtual float JitterOffsetX { get; set; }
	public virtual float JitterOffsetY { get; set; }
	public virtual Metal.IMTLTexture MotionTexture { get; set; }
	public virtual Metal.MTLPixelFormat MotionTextureFormat { get; }
	public virtual Metal.MTLTextureUsage MotionTextureUsage { get; }
	public virtual float MotionVectorScaleX { get; set; }
	public virtual float MotionVectorScaleY { get; set; }
	public virtual nuint OutputHeight { get; }
	public virtual Metal.IMTLTexture OutputTexture { get; set; }
	public virtual Metal.MTLPixelFormat OutputTextureFormat { get; }
	public virtual Metal.MTLTextureUsage OutputTextureUsage { get; }
	public virtual nuint OutputWidth { get; }
	public virtual float PreExposure { get; set; }
	public virtual Metal.IMTLTexture ReactiveMaskTexture { get; set; }
	public virtual Metal.MTLTextureUsage ReactiveTextureUsage { get; }
	public virtual bool Reset { get; set; }
	// methods
	public abstract void Encode (Metal.IMTLCommandBuffer commandBuffer);
}

New Type: MetalFX.MTLFXSpatialScalerColorProcessingMode

[Serializable]
public enum MTLFXSpatialScalerColorProcessingMode {
	Hdr = 2,
	Linear = 1,
	Perceptual = 0,
}

New Type: MetalFX.MTLFXSpatialScalerDescriptor

public class MTLFXSpatialScalerDescriptor : Foundation.NSObject {
	// constructors
	protected MTLFXSpatialScalerDescriptor (Foundation.NSObjectFlag t);
	protected MTLFXSpatialScalerDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLFXSpatialScalerColorProcessingMode ColorProcessingMode { get; set; }
	public virtual Metal.MTLPixelFormat ColorTextureFormat { get; set; }
	public virtual nuint InputHeight { get; set; }
	public virtual nuint InputWidth { get; set; }
	public virtual nuint OutputHeight { get; set; }
	public virtual Metal.MTLPixelFormat OutputTextureFormat { get; set; }
	public virtual nuint OutputWidth { get; set; }
	// methods
	public virtual IMTLFXSpatialScaler Create (Metal.IMTLDevice device);
	public static bool SupportsDevice (Metal.IMTLDevice device);
}

New Type: MetalFX.MTLFXTemporalScalerDescriptor

public class MTLFXTemporalScalerDescriptor : Foundation.NSObject {
	// constructors
	protected MTLFXTemporalScalerDescriptor (Foundation.NSObjectFlag t);
	protected MTLFXTemporalScalerDescriptor (IntPtr handle);
	// properties
	public virtual bool AutoExposureEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Metal.MTLPixelFormat ColorTextureFormat { get; set; }
	public virtual Metal.MTLPixelFormat DepthTextureFormat { get; set; }
	public virtual float InputContentMaxScale { get; set; }
	public virtual float InputContentMinScale { get; set; }
	public virtual bool InputContentPropertiesEnabled { get; set; }
	public virtual nuint InputHeight { get; set; }
	public virtual nuint InputWidth { get; set; }
	public virtual Metal.MTLPixelFormat MotionTextureFormat { get; set; }
	public virtual nuint OutputHeight { get; set; }
	public virtual Metal.MTLPixelFormat OutputTextureFormat { get; set; }
	public virtual nuint OutputWidth { get; set; }
	public virtual bool ReactiveMaskTextureEnabled { get; set; }
	public virtual Metal.MTLPixelFormat ReactiveMaskTextureFormat { get; set; }
	// methods
	public virtual IMTLFXTemporalScaler Create (Metal.IMTLDevice device);
	public static float GetSupportedInputContentMaxScale (Metal.IMTLDevice device);
	public static float GetSupportedInputContentMinScale (Metal.IMTLDevice device);
	public static bool SupportsDevice (Metal.IMTLDevice device);
}

New Namespace SafetyKit

New Type: SafetyKit.ISACrashDetectionDelegate

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

New Type: SafetyKit.ISAEmergencyResponseDelegate

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

New Type: SafetyKit.SAAuthorizationStatus

[Serializable]
public enum SAAuthorizationStatus {
	Authorized = 2,
	Denied = 1,
	NotDetermined = 0,
}

New Type: SafetyKit.SACrashDetectionDelegate

public class SACrashDetectionDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, ISACrashDetectionDelegate, System.IDisposable {
	// constructors
	public SACrashDetectionDelegate ();
	protected SACrashDetectionDelegate (Foundation.NSObjectFlag t);
	protected SACrashDetectionDelegate (IntPtr handle);
	// methods
	public virtual void DidDetectEvent (SACrashDetectionManager crashDetectionManager, SACrashDetectionEvent event);
}

New Type: SafetyKit.SACrashDetectionDelegate_Extensions

public static class SACrashDetectionDelegate_Extensions {
	// methods
	public static void DidDetectEvent (this ISACrashDetectionDelegate This, SACrashDetectionManager crashDetectionManager, SACrashDetectionEvent event);
}

New Type: SafetyKit.SACrashDetectionEvent

public class SACrashDetectionEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public SACrashDetectionEvent (Foundation.NSCoder coder);
	protected SACrashDetectionEvent (Foundation.NSObjectFlag t);
	protected SACrashDetectionEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual CoreLocation.CLLocation Location { get; }
	public virtual SACrashDetectionEventResponse Response { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: SafetyKit.SACrashDetectionEventResponse

[Serializable]
public enum SACrashDetectionEventResponse {
	Attempted = 0,
	Disabled = 1,
}

New Type: SafetyKit.SACrashDetectionManager

public class SACrashDetectionManager : Foundation.NSObject {
	// constructors
	public SACrashDetectionManager ();
	protected SACrashDetectionManager (Foundation.NSObjectFlag t);
	protected SACrashDetectionManager (IntPtr handle);
	// properties
	public virtual SAAuthorizationStatus AuthorizationStatus { get; }
	public static bool Available { get; }
	public override IntPtr ClassHandle { get; }
	public ISACrashDetectionDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void RequestAuthorization (SACrashDetectionManagerRequestAuthorizationCompletionHandler handler);
	public virtual System.Threading.Tasks.Task<SAAuthorizationStatus> RequestAuthorizationAsync ();
}

New Type: SafetyKit.SACrashDetectionManagerRequestAuthorizationCompletionHandler

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

New Type: SafetyKit.SAEmergencyResponseDelegate

public class SAEmergencyResponseDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, ISAEmergencyResponseDelegate, System.IDisposable {
	// constructors
	public SAEmergencyResponseDelegate ();
	protected SAEmergencyResponseDelegate (Foundation.NSObjectFlag t);
	protected SAEmergencyResponseDelegate (IntPtr handle);
	// methods
	public virtual void DidUpdateVoiceCallStatus (SAEmergencyResponseManager emergencyResponseManager, SAEmergencyResponseManagerVoiceCallStatus voiceCallStatus);
}

New Type: SafetyKit.SAEmergencyResponseDelegate_Extensions

public static class SAEmergencyResponseDelegate_Extensions {
	// methods
	public static void DidUpdateVoiceCallStatus (this ISAEmergencyResponseDelegate This, SAEmergencyResponseManager emergencyResponseManager, SAEmergencyResponseManagerVoiceCallStatus voiceCallStatus);
}

New Type: SafetyKit.SAEmergencyResponseManager

public class SAEmergencyResponseManager : Foundation.NSObject {
	// constructors
	public SAEmergencyResponseManager ();
	protected SAEmergencyResponseManager (Foundation.NSObjectFlag t);
	protected SAEmergencyResponseManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public ISAEmergencyResponseDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual void DialVoiceCall (string phoneNumber, SAEmergencyResponseManagerDialVoiceCallCompletionHandler handler);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DialVoiceCallAsync (string phoneNumber);
	protected override void Dispose (bool disposing);
}

New Type: SafetyKit.SAEmergencyResponseManagerDialVoiceCallCompletionHandler

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

New Type: SafetyKit.SAEmergencyResponseManagerVoiceCallStatus

[Serializable]
public enum SAEmergencyResponseManagerVoiceCallStatus {
	Active = 1,
	Dialing = 0,
	Disconnected = 2,
	Failed = 3,
}

New Type: SafetyKit.SAErrorCode

[Serializable]
public enum SAErrorCode {
	InvalidArgument = 3,
	NotAllowed = 2,
	NotAuthorized = 1,
	OperationFailed = 4,
}

New Type: SafetyKit.SAErrorCodeExtensions

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

New Namespace SensitiveContentAnalysis

New Type: SensitiveContentAnalysis.SCSensitivityAnalysis

public class SCSensitivityAnalysis : Foundation.NSObject {
	// constructors
	protected SCSensitivityAnalysis (Foundation.NSObjectFlag t);
	protected SCSensitivityAnalysis (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Sensitive { get; }
}

New Type: SensitiveContentAnalysis.SCSensitivityAnalysisPolicy

[Serializable]
public enum SCSensitivityAnalysisPolicy {
	DescriptiveInterventions = 2,
	Disabled = 0,
	SimpleInterventions = 1,
}

New Type: SensitiveContentAnalysis.SCSensitivityAnalyzer

public class SCSensitivityAnalyzer : Foundation.NSObject {
	// constructors
	public SCSensitivityAnalyzer ();
	protected SCSensitivityAnalyzer (Foundation.NSObjectFlag t);
	protected SCSensitivityAnalyzer (IntPtr handle);
	// properties
	public virtual SCSensitivityAnalysisPolicy AnalysisPolicy { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void AnalyzeImage (CoreGraphics.CGImage image, System.Action<SCSensitivityAnalysis,Foundation.NSError> completionHandler);
	public virtual void AnalyzeImage (Foundation.NSUrl fileUrl, System.Action<SCSensitivityAnalysis,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<SCSensitivityAnalysis> AnalyzeImageAsync (CoreGraphics.CGImage image);
	public virtual System.Threading.Tasks.Task<SCSensitivityAnalysis> AnalyzeImageAsync (Foundation.NSUrl fileUrl);
	public virtual Foundation.NSProgress AnalyzeVideo (Foundation.NSUrl fileUrl, System.Action<SCSensitivityAnalysis,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<SCSensitivityAnalysis> AnalyzeVideoAsync (Foundation.NSUrl fileUrl);
	public virtual System.Threading.Tasks.Task<SCSensitivityAnalysis> AnalyzeVideoAsync (Foundation.NSUrl fileUrl, out Foundation.NSProgress result);
}

New Namespace ServiceManagement

New Type: ServiceManagement.SMAppService

public class SMAppService : Foundation.NSObject {
	// constructors
	protected SMAppService (Foundation.NSObjectFlag t);
	protected SMAppService (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static SMAppService MainApp { get; }
	public virtual SMAppServiceStatus Status { get; }
	// methods
	public static SMAppService CreateAgentService (string plistName);
	public static SMAppService CreateDaemonService (string plistName);
	public static SMAppService CreateLoginItemService (string identifier);
	public static SMAppServiceStatus GetStatus (Foundation.NSUrl legacyUrl);
	public static void OpenSystemSettingsLoginItems ();
	public bool Register ();
	public virtual bool Register (out Foundation.NSError error);
	public bool Unregister ();
	public virtual void Unregister (System.Action<Foundation.NSError> handler);
	public virtual bool Unregister (out Foundation.NSError error);
	public virtual System.Threading.Tasks.Task UnregisterAsync ();
}

New Type: ServiceManagement.SMAppServiceStatus

[Serializable]
public enum SMAppServiceStatus {
	Enabled = 1,
	NotFound = 3,
	NotRegistered = 0,
	RequiresApproval = 2,
}

New Namespace Symbols

New Type: Symbols.NSSymbolAppearEffect

public class NSSymbolAppearEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolAppearEffect (Foundation.NSCoder coder);
	protected NSSymbolAppearEffect (Foundation.NSObjectFlag t);
	protected NSSymbolAppearEffect (IntPtr handle);
	// properties
	public virtual NSSymbolAppearEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolAppearEffect WholeSymbol { get; }
	// methods
	public static NSSymbolAppearEffect Create ();
	public static NSSymbolAppearEffect CreateAppearDownEffect ();
	public static NSSymbolAppearEffect CreateAppearUpEffect ();
}

New Type: Symbols.NSSymbolAutomaticContentTransition

public class NSSymbolAutomaticContentTransition : Symbols.NSSymbolContentTransition {
	// constructors
	public NSSymbolAutomaticContentTransition (Foundation.NSCoder coder);
	protected NSSymbolAutomaticContentTransition (Foundation.NSObjectFlag t);
	protected NSSymbolAutomaticContentTransition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static NSSymbolAutomaticContentTransition Create ();
}

New Type: Symbols.NSSymbolBounceEffect

public class NSSymbolBounceEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolBounceEffect (Foundation.NSCoder coder);
	protected NSSymbolBounceEffect (Foundation.NSObjectFlag t);
	protected NSSymbolBounceEffect (IntPtr handle);
	// properties
	public virtual NSSymbolBounceEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolBounceEffect WholeSymbol { get; }
	// methods
	public static NSSymbolBounceEffect Create ();
	public static NSSymbolBounceEffect CreateBounceDownEffect ();
	public static NSSymbolBounceEffect CreateBounceUpEffect ();
}

New Type: Symbols.NSSymbolContentTransition

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

New Type: Symbols.NSSymbolDisappearEffect

public class NSSymbolDisappearEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolDisappearEffect (Foundation.NSCoder coder);
	protected NSSymbolDisappearEffect (Foundation.NSObjectFlag t);
	protected NSSymbolDisappearEffect (IntPtr handle);
	// properties
	public virtual NSSymbolDisappearEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolDisappearEffect WholeSymbol { get; }
	// methods
	public static NSSymbolDisappearEffect Create ();
	public static NSSymbolDisappearEffect CreateDisappearDownEffect ();
	public static NSSymbolDisappearEffect CreateDisappearUpEffect ();
}

New Type: Symbols.NSSymbolEffect

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

New Type: Symbols.NSSymbolEffectOptions

public class NSSymbolEffectOptions : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSSymbolEffectOptions (Foundation.NSCoder coder);
	protected NSSymbolEffectOptions (Foundation.NSObjectFlag t);
	protected NSSymbolEffectOptions (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static NSSymbolEffectOptions Create ();
	public static NSSymbolEffectOptions Create (double speed);
	public static NSSymbolEffectOptions Create (nint repeatCount);
	public static NSSymbolEffectOptions CreateNonRepeating ();
	public static NSSymbolEffectOptions CreateRepeating ();
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual NSSymbolEffectOptions Get (double speed);
	public virtual NSSymbolEffectOptions Get (nint repeatCount);
	public virtual NSSymbolEffectOptions GetNonRepeating ();
	public virtual NSSymbolEffectOptions GetRepeating ();
}

New Type: Symbols.NSSymbolPulseEffect

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

New Type: Symbols.NSSymbolReplaceContentTransition

public class NSSymbolReplaceContentTransition : Symbols.NSSymbolContentTransition {
	// constructors
	public NSSymbolReplaceContentTransition (Foundation.NSCoder coder);
	protected NSSymbolReplaceContentTransition (Foundation.NSObjectFlag t);
	protected NSSymbolReplaceContentTransition (IntPtr handle);
	// properties
	public virtual NSSymbolReplaceContentTransition ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolReplaceContentTransition WholeSymbol { get; }
	// methods
	public static NSSymbolReplaceContentTransition Create ();
	public static NSSymbolReplaceContentTransition CreateReplaceDownUpTransition ();
	public static NSSymbolReplaceContentTransition CreateReplaceOffUpTransition ();
	public static NSSymbolReplaceContentTransition CreateReplaceUpUpTransition ();
}

New Type: Symbols.NSSymbolScaleEffect

public class NSSymbolScaleEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolScaleEffect (Foundation.NSCoder coder);
	protected NSSymbolScaleEffect (Foundation.NSObjectFlag t);
	protected NSSymbolScaleEffect (IntPtr handle);
	// properties
	public virtual NSSymbolScaleEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolScaleEffect WholeSymbol { get; }
	// methods
	public static NSSymbolScaleEffect Create ();
	public static NSSymbolScaleEffect CreateScaleDownEffect ();
	public static NSSymbolScaleEffect CreateScaleUpEffect ();
}

New Type: Symbols.NSSymbolVariableColorEffect

public class NSSymbolVariableColorEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolVariableColorEffect (Foundation.NSCoder coder);
	protected NSSymbolVariableColorEffect (Foundation.NSObjectFlag t);
	protected NSSymbolVariableColorEffect (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolVariableColorEffect Cumulative { get; }
	public virtual NSSymbolVariableColorEffect DimInactiveLayers { get; }
	public virtual NSSymbolVariableColorEffect HideInactiveLayers { get; }
	public virtual NSSymbolVariableColorEffect Iterative { get; }
	public virtual NSSymbolVariableColorEffect NonReversing { get; }
	public virtual NSSymbolVariableColorEffect Reversing { get; }
	// methods
	public static NSSymbolVariableColorEffect Create ();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment