Xamarin.Mac SDK API diff: 4.4.99 vs 4.99.3

Xamarin.Mac SDK API diff: 4.4.99 vs 4.99.3

mscorlib.dll

Namespace System

Type Changed: System.BitConverter

Removed method:

public static int ToInt32 (System.ReadOnlySpan<byte> value);

Type Changed: System.Int32

Removed method:

public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);

Type Changed: System.String

Removed constructor:

public String (System.ReadOnlySpan<char> value);

Removed method:

public static System.ReadOnlySpan<char> op_Implicit (string value);

Removed Type System.Memory`1

Removed Type System.ReadOnlyMemory`1

Namespace System.Buffers

New Type: System.Buffers.IRetainable

public interface IRetainable {
    // methods
    public virtual bool Release ();
    public virtual void Retain ();
}

New Type: System.Buffers.MemoryHandle

public struct MemoryHandle, System.IDisposable {
    // constructors
    public MemoryHandle (IRetainable retainable, void* pointer, System.Runtime.InteropServices.GCHandle handle);
    // properties
    public bool HasPointer { get; }
    public void* Pointer { get; }
    // methods
    public virtual void Dispose ();
}

Namespace System.IO

Type Changed: System.IO.Stream

Removed methods:

public virtual int Read (System.Span<byte> destination);
public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public virtual void Write (System.ReadOnlySpan<byte> source);

Namespace System.Text

Type Changed: System.Text.Encoding

Removed method:

public string GetString (System.ReadOnlySpan<byte> bytes);

System.dll

Namespace System.IO.Compression

Type Changed: System.IO.Compression.GZipStream

Removed methods:

public override int Read (System.Span<byte> destination);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> source);

Namespace System.Net

Type Changed: System.Net.HttpWebRequest

Added method:

public override System.Threading.Tasks.Task<System.IO.Stream> GetRequestStreamAsync ();

Namespace System.Net.WebSockets

Type Changed: System.Net.WebSockets.ClientWebSocket

Removed methods:

public override System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);

Type Changed: System.Net.WebSockets.WebSocket

Removed methods:

public static WebSocket CreateFromStream (System.IO.Stream stream, bool isServer, string subProtocol, System.TimeSpan keepAliveInterval, System.Memory<byte> buffer);
public virtual System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);

System.Numerics.dll

Namespace System.Numerics

Type Changed: System.Numerics.BigInteger

Removed constructor:

public BigInteger (System.ReadOnlySpan<byte> value, bool isUnsigned, bool isBigEndian);

Removed methods:

public static BigInteger Parse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider);
public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, System.IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> value, out BigInteger result);
public static bool TryParse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out BigInteger result);
public bool TryWriteBytes (System.Span<byte> destination, out int bytesWritten, bool isUnsigned, bool isBigEndian);

Xamarin.Mac.dll

Namespace AVFoundation

Type Changed: AVFoundation.AVAssetResourceLoadingRequest

Added properties:

public virtual AVAssetResourceLoadingRequestor Requestor { get; }
public static Foundation.NSString StreamingContentKeyRequestRequiresPersistentKey { get; }

Type Changed: AVFoundation.AVAudioEngine

Added methods:

public virtual void ConnectMidi (AVAudioNode sourceNode, AVAudioNode destinationNode, AVAudioFormat format, AudioUnit.AUMidiOutputEventBlock tapHandler);
public virtual void ConnectMidi (AVAudioNode sourceNode, AVAudioNode[] destinationNodes, AVAudioFormat format, AudioUnit.AUMidiOutputEventBlock tapHandler);
public virtual void DisconnectMidi (AVAudioNode sourceNode, AVAudioNode destinationNode);
public virtual void DisconnectMidi (AVAudioNode sourceNode, AVAudioNode[] destinationNodes);
public virtual void DisconnectMidiInput (AVAudioNode node);
public virtual void DisconnectMidiOutput (AVAudioNode node);

Type Changed: AVFoundation.AVAudioRecorder

Added property:

public virtual double DeviceCurrentTime { get; }

Added methods:

public virtual bool RecordAt (double time);
public virtual bool RecordAt (double time, double duration);

Type Changed: AVFoundation.AVCaptureDevice

Added methods:

public static AVAuthorizationStatus GetAuthorizationStatus (AVAuthorizationMediaType mediaType);
public static AVAuthorizationStatus GetAuthorizationStatus (Foundation.NSString avMediaTypeToken);
public static void RequestAccessForMediaType (Foundation.NSString avMediaTypeToken, AVRequestAccessStatus completion);
public static System.Threading.Tasks.Task<bool> RequestAccessForMediaTypeAsync (Foundation.NSString avMediaTypeToken);

Type Changed: AVFoundation.AVCaptureSession

Added properties:

public static Foundation.NSString InterruptionEndedNotification { get; }
public static Foundation.NSString WasInterruptedNotification { get; }

Type Changed: AVFoundation.AVCaptureSession.Notifications

Added methods:

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

Type Changed: AVFoundation.AVContentKeySessionDelegate

Added methods:

public virtual void DidGenerateExpiredSessionReport (AVContentKeySession session);
public virtual void DidSucceed (AVContentKeySession session, AVContentKeyRequest keyRequest);

Type Changed: AVFoundation.AVContentKeySessionDelegate_Extensions

Added methods:

public static void DidGenerateExpiredSessionReport (this IAVContentKeySessionDelegate This, AVContentKeySession session);
public static void DidSucceed (this IAVContentKeySessionDelegate This, AVContentKeySession session, AVContentKeyRequest keyRequest);

Type Changed: AVFoundation.AVFragmentedAssetMinder

Added constructor:

public AVFragmentedAssetMinder (IAVFragmentMinding asset, double mindingInterval);

Type Changed: AVFoundation.AVMutableCompositionTrack

Added methods:

public virtual void AddTrackAssociation (AVCompositionTrack compositionTrack, string trackAssociationType);
public virtual void RemoveTrackAssociation (AVCompositionTrack compositionTrack, string trackAssociationType);

Type Changed: AVFoundation.AVMutableVideoComposition

Added property:

public virtual float RenderScale { get; set; }

Type Changed: AVFoundation.AVPlayer

Added property:

public virtual bool PreventsDisplaySleepDuringVideoPlayback { get; set; }

Type Changed: AVFoundation.AVSampleBufferRenderSynchronizer

Added property:

public static Foundation.NSString RateDidChangeNotification { get; }

Type Changed: AVFoundation.AVVideoComposition

Added property:

public virtual float RenderScale { get; set; }

New Type: AVFoundation.AVAssetResourceLoadingRequestor

public class AVAssetResourceLoadingRequestor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected AVAssetResourceLoadingRequestor (Foundation.NSObjectFlag t);
    protected AVAssetResourceLoadingRequestor (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool ProvidesExpiredSessionReports { get; }
}

New Type: AVFoundation.AVAuthorizationMediaType

[Serializable]
public enum AVAuthorizationMediaType {
    Audio = 1,
    Video = 0,
}

New Type: AVFoundation.AVPortraitEffectsMatte

public class AVPortraitEffectsMatte : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected AVPortraitEffectsMatte (Foundation.NSObjectFlag t);
    protected AVPortraitEffectsMatte (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CoreVideo.CVPixelBuffer MattingImage { get; }
    public virtual uint PixelFormatType { get; }
    // methods
    public virtual AVPortraitEffectsMatte Create (ImageIO.CGImagePropertyOrientation exifOrientation);
    public virtual AVPortraitEffectsMatte Create (CoreVideo.CVPixelBuffer pixelBuffer, out Foundation.NSError outError);
    public static AVPortraitEffectsMatte Create (Foundation.NSDictionary imageSourceAuxDataInfoDictionary, out Foundation.NSError outError);
    public virtual Foundation.NSDictionary GetDictionaryRepresentation (out string outAuxDataType);
}

New Type: AVFoundation.AVRequestAccessStatus

public sealed delegate AVRequestAccessStatus : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public AVRequestAccessStatus (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (bool accessGranted, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (bool accessGranted);
}

Namespace AppKit

Type Changed: AppKit.NSAnimationContext

Added method:

public static void RunAnimation (System.Action<NSAnimationContext> changes);

Type Changed: AppKit.NSAppearance

Added interface:

Foundation.INSSecureCoding

Added properties:

public static Foundation.NSString NameAccessibilityHighContrastAqua { get; }
public static Foundation.NSString NameAccessibilityHighContrastDarkAqua { get; }
public static Foundation.NSString NameAccessibilityHighContrastVibrantDark { get; }
public static Foundation.NSString NameAccessibilityHighContrastVibrantLight { get; }
public static Foundation.NSString NameDarkAqua { get; }

Added method:

public virtual string FindBestMatch (string[] appearances);

Type Changed: AppKit.NSApplication

Added interfaces:

INSAppearanceCustomization
INSMenuItemValidation
INSUserInterfaceValidations

Added properties:

public virtual NSAppearance Appearance { get; set; }
public virtual NSAppearance EffectiveAppearance { get; }
public NSApplicationHandlesKey HandlesKey { get; set; }
public virtual bool IsRegisteredForRemoteNotifications { get; }

Obsoleted methods:

[Obsolete ("Use the 'NextEvent (NSEventMask, NSDate, [NSRunLoopMode|NSString], bool)' overloads instead.")]
 public NSEvent NextEvent (NSEventMask mask, Foundation.NSDate expiration, string mode, bool deqFlag);
 [Obsolete ("Use the 'NextEvent (NSEventMask, NSDate, [NSRunLoopMode|NSString], bool)' overloads instead.")]
 protected virtual NSEvent NextEvent (uint mask, Foundation.NSDate expiration, string mode, bool deqFlag);

Added methods:

public NSEvent NextEvent (NSEventMask mask, Foundation.NSDate expiration, Foundation.NSRunLoopMode runLoopMode, bool deqFlag);
protected virtual NSEvent NextEvent (NSEventMask mask, Foundation.NSDate expiration, Foundation.NSString runLoopMode, bool deqFlag);
public virtual void RegisterForRemoteNotifications ();
public virtual bool ValidateMenuItem (NSMenuItem menuItem);
public virtual bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item);

Type Changed: AppKit.NSApplicationDelegate

Added method:

public virtual bool HandlesKey (NSApplication sender, string key);

Type Changed: AppKit.NSApplicationDelegate_Extensions

Added method:

public static bool HandlesKey (this INSApplicationDelegate This, NSApplication sender, string key);

Type Changed: AppKit.NSArrayController

Added interface:

INSEditorRegistration

Type Changed: AppKit.NSBackgroundStyle

Added values:

Emphasized = 1,
Normal = 0,

Type Changed: AppKit.NSBezierPath

Added interface:

Foundation.INSSecureCoding

Type Changed: AppKit.NSButton

Added interface:

INSUserInterfaceValidations

Added property:

public virtual NSColor ContentTintColor { get; set; }

Added method:

public virtual bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item);

Type Changed: AppKit.NSCollectionViewItem

Added interface:

INSEditor

Type Changed: AppKit.NSColor

Added properties:

public static NSColor[] AlternatingContentBackgroundColors { get; }
public static NSColor ControlAccentColor { get; }
public static NSColor FindHighlightColor { get; }
public static NSColor LinkColor { get; }
public static NSColor PlaceholderTextColor { get; }
public static NSColor SelectedContentBackgroundColor { get; }
public static NSColor SeparatorColor { get; }
public static NSColor UnemphasizedSelectedContentBackgroundColor { get; }
public static NSColor UnemphasizedSelectedTextBackgroundColor { get; }
public static NSColor UnemphasizedSelectedTextColor { get; }

Added method:

public virtual NSColor WithSystemEffect (NSColorSystemEffect systemEffect);

Type Changed: AppKit.NSColorPanel

Added interfaces:

INSMenuItemValidation
INSUserInterfaceValidations

Type Changed: AppKit.NSComboBox

Added interface:

INSUserInterfaceValidations

Type Changed: AppKit.NSControlTextEditingDelegate

Added methods:

public virtual void ControlTextDidBeginEditing (Foundation.NSNotification obj);
public virtual void ControlTextDidChange (Foundation.NSNotification obj);
public virtual void ControlTextDidEndEditing (Foundation.NSNotification obj);

Type Changed: AppKit.NSControlTextEditingDelegate_Extensions

Added methods:

public static void ControlTextDidBeginEditing (this INSControlTextEditingDelegate This, Foundation.NSNotification obj);
public static void ControlTextDidChange (this INSControlTextEditingDelegate This, Foundation.NSNotification obj);
public static void ControlTextDidEndEditing (this INSControlTextEditingDelegate This, Foundation.NSNotification obj);

Type Changed: AppKit.NSController

Added interface:

INSEditorRegistration

Type Changed: AppKit.NSDictionaryController

Added interface:

INSEditorRegistration

Type Changed: AppKit.NSDocument

Added interfaces:

INSEditorRegistration
INSMenuItemValidation
Foundation.INSFilePresenter

Added properties:

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

Added methods:

public virtual void AccommodatePresentedItemDeletion (System.Action<Foundation.NSError> completionHandler);
public virtual void AccommodatePresentedSubitemDeletion (Foundation.NSUrl url, System.Action<Foundation.NSError> completionHandler);
public virtual void ObjectDidBeginEditing (INSEditor editor);
public virtual void ObjectDidEndEditing (INSEditor editor);
public virtual void PresentedItemChanged ();
public virtual void PresentedItemChangedUbiquityAttributes (Foundation.NSSet<Foundation.NSString> attributes);
public virtual void PresentedItemGainedVersion (Foundation.NSFileVersion version);
public virtual void PresentedItemLostVersion (Foundation.NSFileVersion version);
public virtual void PresentedItemMoved (Foundation.NSUrl newURL);
public virtual void PresentedItemResolveConflictVersion (Foundation.NSFileVersion version);
public virtual void PresentedSubitemAppeared (Foundation.NSUrl atUrl);
public virtual void PresentedSubitemChanged (Foundation.NSUrl url);
public virtual void PresentedSubitemGainedVersion (Foundation.NSUrl url, Foundation.NSFileVersion version);
public virtual void PresentedSubitemLostVersion (Foundation.NSUrl url, Foundation.NSFileVersion version);
public virtual void PresentedSubitemMoved (Foundation.NSUrl oldURL, Foundation.NSUrl newURL);
public virtual void PresentedSubitemResolvedConflictVersion (Foundation.NSUrl url, Foundation.NSFileVersion version);
public virtual void RelinquishPresentedItemToReader (Foundation.NSFilePresenterReacquirer readerAction);
public virtual void RelinquishPresentedItemToWriter (Foundation.NSFilePresenterReacquirer writerAction);
public virtual void SavePresentedItemChanges (System.Action<Foundation.NSError> completionHandler);
public virtual bool ValidateMenuItem (NSMenuItem menuItem);
public bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem anItem);

Type Changed: AppKit.NSDocumentController

Added interface:

INSMenuItemValidation

Added methods:

public virtual bool ValidateMenuItem (NSMenuItem menuItem);
public bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem anItem);

Type Changed: AppKit.NSFontManager

Added interface:

INSMenuItemValidation

Added method:

public virtual bool ValidateMenuItem (NSMenuItem menuItem);

Type Changed: AppKit.NSFontPanel

Added interfaces:

INSMenuItemValidation
INSUserInterfaceValidations

Type Changed: AppKit.NSForm

Added interfaces:

INSUserInterfaceValidations
INSViewToolTipOwner

Type Changed: AppKit.NSGradient

Added interface:

Foundation.INSSecureCoding

Type Changed: AppKit.NSImageView

Added interface:

INSMenuItemValidation

Added property:

public virtual NSColor ContentTintColor { get; set; }

Added method:

public virtual bool ValidateMenuItem (NSMenuItem menuItem);

Type Changed: AppKit.NSLayoutManager

Added property:

public virtual bool LimitsLayoutForSuspiciousContents { get; set; }

Type Changed: AppKit.NSMatrix

Added interfaces:

INSUserInterfaceValidations
INSViewToolTipOwner

Added methods:

public virtual string GetStringForToolTip (NSView view, nint tag, CoreGraphics.CGPoint point, IntPtr data);
public virtual bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item);

Type Changed: AppKit.NSMatrixDelegate

Added methods:

public virtual void ControlTextDidBeginEditing (Foundation.NSNotification obj);
public virtual void ControlTextDidChange (Foundation.NSNotification obj);
public virtual void ControlTextDidEndEditing (Foundation.NSNotification obj);

Type Changed: AppKit.NSMenu

Added method:

public virtual void SetItemArray (NSMenuItem[] items);

Type Changed: AppKit.NSMenuItem

Added interface:

INSValidatedUserInterfaceItem

Type Changed: AppKit.NSObjectController

Added interface:

INSEditorRegistration

Type Changed: AppKit.NSOpenPanel

Added interfaces:

INSMenuItemValidation
INSUserInterfaceValidations

Type Changed: AppKit.NSOutlineView

Added interface:

INSUserInterfaceValidations

Type Changed: AppKit.NSPageController

Added interface:

INSEditor

Type Changed: AppKit.NSPanel

Added interfaces:

INSMenuItemValidation
INSUserInterfaceValidations

Type Changed: AppKit.NSPathCell

Added interface:

INSMenuItemValidation

Added method:

public virtual bool ValidateMenuItem (NSMenuItem menuItem);

Type Changed: AppKit.NSPopUpButton

Added interface:

INSUserInterfaceValidations

Type Changed: AppKit.NSPopUpButtonCell

Added interface:

INSMenuItemValidation

Added method:

public virtual bool ValidateMenuItem (NSMenuItem menuItem);

Type Changed: AppKit.NSRemoteOpenPanel

Added interfaces:

INSMenuItemValidation
INSUserInterfaceValidations

Type Changed: AppKit.NSRemoteSavePanel

Added interfaces:

INSMenuItemValidation
INSUserInterfaceValidations

Type Changed: AppKit.NSSavePanel

Added interfaces:

INSMenuItemValidation
INSUserInterfaceValidations

Type Changed: AppKit.NSSearchField

Added interface:

INSUserInterfaceValidations

Type Changed: AppKit.NSSecureTextField

Added interface:

INSUserInterfaceValidations

Type Changed: AppKit.NSShadow

Added interface:

Foundation.INSSecureCoding

Type Changed: AppKit.NSSharingServiceName

Added values:

PostOnLinkedIn = 17,
PostOnTencentWeibo = 16,
UseAsFacebookProfileImage = 18,
UseAsLinkedInProfileImage = 19,

Type Changed: AppKit.NSSound

Added interface:

Foundation.INSSecureCoding

Type Changed: AppKit.NSSplitViewController

Added interface:

INSEditor

Type Changed: AppKit.NSStatusBarButton

Added interface:

INSUserInterfaceValidations

Type Changed: AppKit.NSTabView

Added method:

public virtual void SetItems (NSTabViewItem[] items);

Type Changed: AppKit.NSTabViewController

Added interface:

INSEditor

Type Changed: AppKit.NSTableHeaderView

Added interface:

INSViewToolTipOwner

Added method:

public virtual string GetStringForToolTip (NSView view, nint tag, CoreGraphics.CGPoint point, IntPtr data);

Type Changed: AppKit.NSTableView

Added interface:

INSUserInterfaceValidations

Added method:

public virtual bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item);

Type Changed: AppKit.NSTextField

Added interface:

INSUserInterfaceValidations

Added method:

public virtual bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item);

Type Changed: AppKit.NSTextView

Added interfaces:

INSMenuItemValidation
INSTextInput
INSUserInterfaceValidations

Added property:

public virtual nint ConversationIdentifier { get; }

Added methods:

public static NSTextView CreateFieldEditor ();
public static NSScrollView CreateScrollableDocumentContentTextView ();
public static NSScrollView CreateScrollablePlainDocumentContentTextView ();
public static NSScrollView CreateScrollableTextView ();
public virtual Foundation.NSAttributedString GetAttributedSubstring (Foundation.NSRange range);
public virtual CoreGraphics.CGRect GetFirstRectForCharacterRange (Foundation.NSRange range);
public virtual bool PerformValidatedReplacement (Foundation.NSRange range, Foundation.NSAttributedString attributedString);
public virtual void SetMarkedText (Foundation.NSObject string, Foundation.NSRange selRange);
public virtual bool ValidateMenuItem (NSMenuItem menuItem);
public virtual bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item);

Type Changed: AppKit.NSTitlebarAccessoryViewController

Added interface:

INSEditor

Type Changed: AppKit.NSTokenField

Added interface:

INSUserInterfaceValidations

Type Changed: AppKit.NSToolbar

Added property:

public virtual string CenteredItemIdentifier { get; set; }

Type Changed: AppKit.NSToolbarItem

Added interfaces:

INSMenuItemValidation
INSValidatedUserInterfaceItem

Added method:

public virtual bool ValidateMenuItem (NSMenuItem menuItem);

Type Changed: AppKit.NSToolbarItemGroup

Added interfaces:

INSMenuItemValidation
INSValidatedUserInterfaceItem

Type Changed: AppKit.NSTreeController

Added interface:

INSEditorRegistration

Type Changed: AppKit.NSUserDefaultsController

Added interface:

INSEditorRegistration

Type Changed: AppKit.NSView

Added method:

public virtual void ViewDidChangeEffectiveAppearance ();

Type Changed: AppKit.NSViewController

Added interface:

INSEditor

Added properties:

public virtual NSMenu Menu { get; set; }
public virtual NSResponder NextResponder { get; set; }
public virtual NSTouchBar TouchBar { get; }
public virtual Foundation.NSUserActivity UserActivity { get; set; }

Added methods:

public virtual bool AcceptsFirstResponder ();
public virtual bool BecomeFirstResponder ();
public virtual void BeginGestureWithEvent (NSEvent theEvent);
public virtual bool CommitEditing (out Foundation.NSError error);
public virtual void CursorUpdate (NSEvent theEvent);
public virtual void EncodeRestorableState (Foundation.NSCoder coder);
public virtual void EncodeRestorableState (Foundation.NSCoder coder, Foundation.NSOperationQueue queue);
public virtual void EndGestureWithEvent (NSEvent theEvent);
public virtual void FlagsChanged (NSEvent theEvent);
public virtual void FlushBufferedKeyEvents ();
public virtual void GetNewWindowForTab (Foundation.NSObject sender);
public virtual void HelpRequested (NSEvent theEventPtr);
public virtual void InterpretKeyEvents (NSEvent[] eventArray);
public virtual void InvalidateRestorableState ();
public virtual void KeyDown (NSEvent theEvent);
public virtual void KeyUp (NSEvent theEvent);
public virtual void MagnifyWithEvent (NSEvent theEvent);
public virtual void MouseDown (NSEvent theEvent);
public virtual void MouseDragged (NSEvent theEvent);
public virtual void MouseEntered (NSEvent theEvent);
public virtual void MouseExited (NSEvent theEvent);
public virtual void MouseMoved (NSEvent theEvent);
public virtual void MouseUp (NSEvent theEvent);
public virtual void NoResponderFor (ObjCRuntime.Selector eventSelector);
public virtual void OtherMouseDown (NSEvent theEvent);
public virtual void OtherMouseDragged (NSEvent theEvent);
public virtual void OtherMouseUp (NSEvent theEvent);
public virtual bool PerformKeyEquivalent (NSEvent theEvent);
public virtual bool PresentError (Foundation.NSError error);
public void PresentError (Foundation.NSError error, NSWindow window, Foundation.NSObject delegate, ObjCRuntime.Selector didPresentSelector, IntPtr contextInfo);
public virtual void PressureChange (NSEvent pressureChangeEvent);
public virtual void QuickLook (NSEvent withEvent);
public virtual bool ResignFirstResponder ();
public static string[] RestorableStateKeyPaths ();
public virtual void RestoreState (Foundation.NSCoder coder);
public virtual void RestoreUserActivityState (Foundation.NSUserActivity userActivity);
public virtual void RightMouseDown (NSEvent theEvent);
public virtual void RightMouseDragged (NSEvent theEvent);
public virtual void RightMouseUp (NSEvent theEvent);
public virtual void RotateWithEvent (NSEvent theEvent);
public virtual void ScrollWheel (NSEvent theEvent);
public virtual bool ShouldBeTreatedAsInkEvent (NSEvent theEvent);
public virtual void ShowContextHelp (Foundation.NSObject sender);
public virtual void SmartMagnify (NSEvent withEvent);
public virtual Foundation.NSObject SupplementalTargetForAction (ObjCRuntime.Selector action, Foundation.NSObject sender);
public virtual void SwipeWithEvent (NSEvent theEvent);
public virtual void TabletPoint (NSEvent theEvent);
public virtual void TabletProximity (NSEvent theEvent);
public virtual void TouchesBeganWithEvent (NSEvent theEvent);
public virtual void TouchesCancelledWithEvent (NSEvent theEvent);
public virtual void TouchesEndedWithEvent (NSEvent theEvent);
public virtual void TouchesMovedWithEvent (NSEvent theEvent);
public virtual bool TryToPerformwith (ObjCRuntime.Selector anAction, Foundation.NSObject anObject);
public virtual void UpdateUserActivityState (Foundation.NSUserActivity userActivity);
public virtual Foundation.NSObject ValidRequestorForSendType (string sendType, string returnType);
public virtual bool WantsForwardedScrollEventsForAxis (NSEventGestureAxis axis);
public virtual bool WantsScrollEventsForSwipeTrackingOnAxis (NSEventGestureAxis axis);
public virtual Foundation.NSError WillPresentError (Foundation.NSError error);

Type Changed: AppKit.NSVisualEffectMaterial

Added values:

ContentBackground = 18,
FullScreenUI = 15,
HUDWindow = 13,
HeaderView = 10,
Sheet = 11,
ToolTip = 17,
UnderPageBackground = 22,
UnderWindowBackground = 21,
WindowBackground = 12,

Type Changed: AppKit.NSWindow

Added interfaces:

INSMenuItemValidation
INSUserInterfaceValidations

Added property:

public virtual INSAppearanceCustomization AppearanceSource { get; set; }

Added methods:

public virtual CoreGraphics.CGPoint ConvertPointFromBacking (CoreGraphics.CGPoint point);
public virtual CoreGraphics.CGPoint ConvertPointFromScreen (CoreGraphics.CGPoint point);
public virtual CoreGraphics.CGPoint ConvertPointToBacking (CoreGraphics.CGPoint point);
public virtual CoreGraphics.CGPoint ConvertPointToScreen (CoreGraphics.CGPoint point);
public virtual bool ValidateMenuItem (NSMenuItem menuItem);
public virtual bool ValidateUserInterfaceItem (INSValidatedUserInterfaceItem item);

Type Changed: AppKit.NSWorkspace

Added method:

public virtual void RequestAuthorization (NSWorkspaceAuthorizationType type, System.Action<NSWorkspaceAuthorization,Foundation.NSError> completionHandler);

New Type: AppKit.INSColorChanging

public interface INSColorChanging : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void ChangeColor (NSColorPanel sender);
}

New Type: AppKit.INSEditor

public interface INSEditor : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual bool CommitEditing ();
    public virtual bool CommitEditing (out Foundation.NSError error);
    public virtual void CommitEditing (Foundation.NSObject delegateObject, ObjCRuntime.Selector didCommitSelector, IntPtr contextInfo);
    public virtual void DiscardEditing ();
}

New Type: AppKit.INSEditorRegistration

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

New Type: AppKit.INSFontChanging

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

New Type: AppKit.INSMenuItemValidation

public interface INSMenuItemValidation : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual bool ValidateMenuItem (NSMenuItem menuItem);
}

New Type: AppKit.INSPasteboardTypeOwner

public interface INSPasteboardTypeOwner : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void ProvideData (NSPasteboard sender, string type);
}

New Type: AppKit.INSStandardKeyBindingResponding

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

New Type: AppKit.INSTextInput

public interface INSTextInput : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual nint ConversationIdentifier { get; }
    public virtual bool HasMarkedText { get; }
    public virtual Foundation.NSRange MarkedRange { get; }
    public virtual Foundation.NSRange SelectedRange { get; }
    public virtual Foundation.NSString[] ValidAttributesForMarkedText { get; }
    // methods
    public virtual Foundation.NSAttributedString GetAttributedSubstring (Foundation.NSRange range);
    public virtual uint GetCharacterIndex (CoreGraphics.CGPoint point);
    public virtual CoreGraphics.CGRect GetFirstRectForCharacterRange (Foundation.NSRange range);
    public virtual void InsertText (Foundation.NSObject insertString);
    public virtual void SetMarkedText (Foundation.NSObject string, Foundation.NSRange selRange);
    public virtual void UnmarkText ();
}

New Type: AppKit.INSTokenFieldCellDelegate

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

New Type: AppKit.INSToolbarItemValidation

public interface INSToolbarItemValidation : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual bool ValidateToolbarItem (NSToolbarItem item);
}

New Type: AppKit.INSViewToolTipOwner

public interface INSViewToolTipOwner : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual string GetStringForToolTip (NSView view, nint tag, CoreGraphics.CGPoint point, IntPtr data);
}

New Type: AppKit.NSApplicationHandlesKey

public sealed delegate NSApplicationHandlesKey : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NSApplicationHandlesKey (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (NSApplication sender, string key, System.AsyncCallback callback, object object);
    public virtual bool EndInvoke (System.IAsyncResult result);
    public virtual bool Invoke (NSApplication sender, string key);
}

New Type: AppKit.NSColorSystemEffect

[Serializable]
public enum NSColorSystemEffect {
    DeepPressed = 2,
    Disabled = 3,
    None = 0,
    Pressed = 1,
    Rollover = 4,
}

New Type: AppKit.NSEditorRegistration_Extensions

public static class NSEditorRegistration_Extensions {
    // methods
    public static void ObjectDidBeginEditing (this INSEditorRegistration This, INSEditor editor);
    public static void ObjectDidEndEditing (this INSEditorRegistration This, INSEditor editor);
}

New Type: AppKit.NSFontChanging_Extensions

public static class NSFontChanging_Extensions {
    // methods
    public static void ChangeFont (this INSFontChanging This, NSFontManager sender);
    public static NSFontPanelModeMask GetValidModes (this INSFontChanging This, NSFontPanel fontPanel);
}

New Type: AppKit.NSObject_NSEditorRegistration

public static class NSObject_NSEditorRegistration {
    // methods
    public static void ObjectDidBeginEditing (this Foundation.NSObject This, INSEditor editor);
    public static void ObjectDidEndEditing (this Foundation.NSObject This, INSEditor editor);
}

New Type: AppKit.NSObject_NSToolbarItemValidation

public static class NSObject_NSToolbarItemValidation {
    // methods
    public static bool ValidateToolbarItem (this Foundation.NSObject This, NSToolbarItem item);
}

New Type: AppKit.NSPasteboardTypeOwner_Extensions

public static class NSPasteboardTypeOwner_Extensions {
    // methods
    public static void PasteboardChangedOwner (this INSPasteboardTypeOwner This, NSPasteboard sender);
}

New Type: AppKit.NSSharingServiceNameExtensions

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

New Type: AppKit.NSStandardKeyBindingResponding_Extensions

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

New Type: AppKit.NSTokenFieldCell

public class NSTokenFieldCell : AppKit.NSTextFieldCell, INSAccessibility, INSAccessibilityElementProtocol, INSUserInterfaceItemIdentification, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public NSTokenFieldCell (Foundation.NSCoder coder);
    protected NSTokenFieldCell (Foundation.NSObjectFlag t);
    protected NSTokenFieldCell (IntPtr handle);
    public NSTokenFieldCell (string aString);
    // properties
    public virtual Foundation.NSCharacterSet CharacterSet { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual double CompletionDelay { get; set; }
    public static Foundation.NSCharacterSet DefaultCharacterSet { get; }
    public static double DefaultCompletionDelay { get; }
    public INSTokenFieldCellDelegate Delegate { get; set; }
    public virtual NSTokenStyle TokenStyle { get; set; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    // methods
    protected override void Dispose (bool disposing);
}

New Type: AppKit.NSTokenFieldCellDelegate

public class NSTokenFieldCellDelegate : Foundation.NSObject, INSTokenFieldCellDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public NSTokenFieldCellDelegate ();
    protected NSTokenFieldCellDelegate (Foundation.NSObjectFlag t);
    protected NSTokenFieldCellDelegate (IntPtr handle);
    // methods
    public virtual Foundation.NSArray GetCompletionStrings (NSTokenFieldCell tokenFieldCell, string substring, nint tokenIndex, ref nint selectedIndex);
    public virtual string GetDisplayString (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public virtual string GetEditingString (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public virtual NSMenu GetMenu (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public virtual Foundation.NSObject GetRepresentedObject (NSTokenFieldCell tokenFieldCell, string editingString);
    public virtual NSTokenStyle GetStyle (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public virtual bool HasMenu (NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public virtual Foundation.NSObject[] Read (NSTokenFieldCell tokenFieldCell, NSPasteboard pboard);
    public virtual Foundation.NSArray ShouldAddObjects (NSTokenFieldCell tokenFieldCell, Foundation.NSObject[] tokens, uint index);
    public virtual bool WriteRepresentedObjects (NSTokenFieldCell tokenFieldCell, Foundation.NSObject[] objects, NSPasteboard pboard);
}

New Type: AppKit.NSTokenFieldCellDelegate_Extensions

public static class NSTokenFieldCellDelegate_Extensions {
    // methods
    public static Foundation.NSArray GetCompletionStrings (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, string substring, nint tokenIndex, ref nint selectedIndex);
    public static string GetDisplayString (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public static string GetEditingString (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public static NSMenu GetMenu (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public static Foundation.NSObject GetRepresentedObject (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, string editingString);
    public static NSTokenStyle GetStyle (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public static bool HasMenu (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, Foundation.NSObject representedObject);
    public static Foundation.NSObject[] Read (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, NSPasteboard pboard);
    public static Foundation.NSArray ShouldAddObjects (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, Foundation.NSObject[] tokens, uint index);
    public static bool WriteRepresentedObjects (this INSTokenFieldCellDelegate This, NSTokenFieldCell tokenFieldCell, Foundation.NSObject[] objects, NSPasteboard pboard);
}

New Type: AppKit.NSWorkspaceAuthorization

public class NSWorkspaceAuthorization : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NSWorkspaceAuthorization (Foundation.NSObjectFlag t);
    protected NSWorkspaceAuthorization (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
}

New Type: AppKit.NSWorkspaceAuthorizationType

[Serializable]
public enum NSWorkspaceAuthorizationType {
    CreateSymbolicLink = 0,
    ReplaceFile = 2,
    SetAttributes = 1,
}

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLabel

Added values:

BinauralLeft = 208,
BinauralRight = 209,

Type Changed: AudioToolbox.AudioChannelLayoutTagExtensions

Added method:

public static bool IsReserved (this AudioChannelLayoutTag value);

New Type: AudioToolbox.AudioChannelLabelExtensions

public static class AudioChannelLabelExtensions {
    // methods
    public static bool IsReserved (this AudioChannelLabel value);
}

Namespace AudioUnit

Type Changed: AudioUnit.AUAudioUnit

Added property:

public virtual AUMidiCIProfileChangedCallback ProfileChangedCallback { get; set; }

Added methods:

public virtual bool Disable (CoreMidi.MidiCIProfile profile, byte cable, byte channel, out Foundation.NSError outError);
public virtual bool Enable (CoreMidi.MidiCIProfile profile, byte cable, byte channel, out Foundation.NSError outError);
public virtual CoreMidi.MidiCIProfileState GetProfileState (byte cable, byte channel);

New Type: AudioUnit.AUMidiCIProfileChangedCallback

public sealed delegate AUMidiCIProfileChangedCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public AUMidiCIProfileChangedCallback (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (byte cable, byte channel, CoreMidi.MidiCIProfile profile, bool enabled, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (byte cable, byte channel, CoreMidi.MidiCIProfile profile, bool enabled);
}

Namespace CloudKit

Type Changed: CloudKit.CKFetchRecordZoneChangesOperation

Added constructor:

public CKFetchRecordZoneChangesOperation (CKRecordZoneID[] recordZoneIDs, Foundation.NSDictionary<CKRecordZoneID,CloudKit.CKFetchRecordZoneChangesConfiguration> configurationsByRecordZoneID);

Added property:

public virtual Foundation.NSDictionary<CKRecordZoneID,CloudKit.CKFetchRecordZoneChangesConfiguration> ConfigurationsByRecordZoneID { get; set; }

Type Changed: CloudKit.CKShareMetadata

Added property:

public virtual CKShareParticipantRole ParticipantRole { get; }

Type Changed: CloudKit.CKShareParticipant

Added property:

public virtual CKShareParticipantRole Role { get; set; }

New Type: CloudKit.CKFetchRecordZoneChangesConfiguration

public class CKFetchRecordZoneChangesConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CKFetchRecordZoneChangesConfiguration ();
    public CKFetchRecordZoneChangesConfiguration (Foundation.NSCoder coder);
    protected CKFetchRecordZoneChangesConfiguration (Foundation.NSObjectFlag t);
    protected CKFetchRecordZoneChangesConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string[] DesiredKeys { get; set; }
    public virtual CKServerChangeToken PreviousServerChangeToken { get; set; }
    public virtual uint ResultsLimit { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CloudKit.CKShareParticipantRole

[Serializable]
public enum CKShareParticipantRole {
    Owner = 1,
    PrivateUser = 3,
    PublicUser = 4,
    Unknown = 0,
}

Namespace Contacts

Type Changed: Contacts.CNContact

Added methods:

public static Foundation.NSPredicate GetPredicateForContacts (CNPhoneNumber phoneNumber);
public static Foundation.NSPredicate GetPredicateForContactsMatchingEmailAddress (string emailAddress);

Type Changed: Contacts.CNErrorCode

Added values:

RecordIdentifierInvalid = 205,
VCardSummarizationError = 701,

Namespace ContactsUI

Type Changed: ContactsUI.CNContactViewController

Added interface:

AppKit.INSEditor

Namespace CoreAnimation

Type Changed: CoreAnimation.CAGradientLayer

Obsoleted properties:

[Obsolete ("Use 'LayerType' property instead.")]
 public virtual string Type { get; set; }

Added property:

public virtual CAGradientLayerType LayerType { get; set; }

New Type: CoreAnimation.CAGradientLayerType

[Serializable]
public enum CAGradientLayerType {
    Axial = 0,
    Conic = 2,
    Radial = 1,
}

New Type: CoreAnimation.CAGradientLayerTypeExtensions

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

New Type: CoreAnimation.CARenderer

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

New Type: CoreAnimation.CARendererOptions

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

Namespace CoreAudioKit

Type Changed: CoreAudioKit.AUViewController

Added interface:

AppKit.INSEditor

Type Changed: CoreAudioKit.CAInterDeviceAudioViewController

Added interface:

AppKit.INSEditor

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBCentralManager

Added property:

public static Foundation.NSString OptionStartDelayKey { get; }

Type Changed: CoreBluetooth.CBError

Added value:

OperationNotSupported = 13,

Namespace CoreFoundation

New Type: CoreFoundation.CFPropertyList

public class CFPropertyList : ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public CFPropertyList (IntPtr handle);
    public CFPropertyList (IntPtr handle, bool owns);
    // properties
    public virtual IntPtr Handle { get; }
    public object Value { get; }
    // methods
    public System.ValueTuple<Foundation.NSData,Foundation.NSError> AsData (CFPropertyListFormat format);
    public CFPropertyList DeepCopy (CFPropertyListMutabilityOptions options);
    public virtual void Dispose ();
    public virtual void Dispose (bool disposing);
    public static System.ValueTuple<CFPropertyList,CoreFoundation.CFPropertyListFormat,Foundation.NSError> FromData (Foundation.NSData data, CFPropertyListMutabilityOptions options);
    public bool IsValid (CFPropertyListFormat format);
    protected override void ~CFPropertyList ();
}

New Type: CoreFoundation.CFPropertyListFormat

[Serializable]
public enum CFPropertyListFormat {
    BinaryFormat1 = 200,
    OpenStep = 1,
    XmlFormat1 = 100,
}

New Type: CoreFoundation.CFPropertyListMutabilityOptions

[Serializable]
[Flags]
public enum CFPropertyListMutabilityOptions {
    Immutable = 0,
    MutableContainers = 1,
    MutableContainersAndLeaves = 2,
}

New Type: CoreFoundation.DispatchData

public class DispatchData : CoreFoundation.DispatchObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public DispatchData (IntPtr handle);
    public DispatchData (IntPtr handle, bool owns);
    // properties
    public uint Size { get; }
    // methods
    public static DispatchData Concat (DispatchData data1, DispatchData data2);
    public DispatchData CreateMap (out IntPtr bufferPtr, out uint size);
    public DispatchData CreateSubrange (uint offset, uint size);
    public static DispatchData FromBuffer (IntPtr buffer, uint size);
    public static DispatchData FromByteBuffer (byte[] buffer);
    public static DispatchData FromByteBuffer (byte[] buffer, int start, int length);
}

New Type: CoreFoundation.DispatchIO

public class DispatchIO : CoreFoundation.DispatchObject, ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public static void Read (int fd, uint size, DispatchQueue dispatchQueue, DispatchIOHandler handler);
    public static void Write (int fd, DispatchData dispatchData, DispatchQueue dispatchQueue, DispatchIOHandler handler);
}

New Type: CoreFoundation.DispatchIOHandler

public sealed delegate DispatchIOHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public DispatchIOHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (DispatchData data, int error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (DispatchData data, int error);
}

New Type: CoreFoundation.NativeObject

public abstract class NativeObject : ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    protected NativeObject ();
    protected NativeObject (IntPtr handle, bool owns);
    // properties
    protected override IntPtr Handle { get; set; }
    // methods
    public virtual void Dispose ();
    protected virtual void Dispose (bool disposing);
    protected virtual void InitializeHandle (IntPtr handle);
    protected virtual void Release ();
    protected virtual void Retain ();
    protected override void ~NativeObject ();
}

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColorSpace

Added constructor:

public CGColorSpace (CoreFoundation.CFPropertyList propertyList);

Added method:

public CoreFoundation.CFPropertyList ToPropertyList ();

Type Changed: CoreGraphics.CGColorSpaceModel

Added value:

XYZ = 7,

Type Changed: CoreGraphics.CGFont

Added methods:

public CoreText.CTFont ToCTFont (nfloat size);
public CoreText.CTFont ToCTFont (nfloat size, CGAffineTransform matrix);

Type Changed: CoreGraphics.CGFunction

Added property:

public CGFunction.CGFunctionEvaluate EvaluateFunction { get; set; }

Type Changed: CoreGraphics.CGImage

Added properties:

public CGImageByteOrderInfo ByteOrderInfo { get; }
public CGImagePixelFormatInfo PixelFormatInfo { get; }

Type Changed: CoreGraphics.CGPDFArray

Added methods:

public bool Apply (CGPDFArray.ApplyCallback callback, object info);
public bool GetArray (nint idx, out CGPDFArray array);
public bool GetBoolean (nint idx, out bool result);
public bool GetDictionary (nint idx, out CGPDFDictionary result);
public bool GetFloat (nint idx, out nfloat result);
public bool GetInt (nint idx, out nint result);
public bool GetName (nint idx, out string result);
public bool GetStream (nint idx, out CGPDFStream result);
public bool GetString (nint idx, out string result);

Type Changed: CoreGraphics.CGPDFDictionary

Added method:

public void Apply (CGPDFDictionary.ApplyCallback callback, object info);

New Type: CoreGraphics.CGImageByteOrderInfo

[Serializable]
[Flags]
public enum CGImageByteOrderInfo {
    ByteOrder16Big = 12288,
    ByteOrder16Little = 4096,
    ByteOrder32Big = 16384,
    ByteOrder32Little = 8192,
    ByteOrderDefault = 0,
    ByteOrderMask = 28672,
}

New Type: CoreGraphics.CGImagePixelFormatInfo

[Serializable]
public enum CGImagePixelFormatInfo {
    Mask = 983040,
    Packed = 0,
    Rgb101010 = 196608,
    Rgb555 = 65536,
    Rgb565 = 131072,
    RgbCif10 = 262144,
}

Namespace CoreImage

Type Changed: CoreImage.CIAreaMaximum

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIAreaMaximumAlpha

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIAreaMinimum

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIAreaMinimumAlpha

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIColumnAverage

Modified base type:

-CoreImage.CIFilter
+CoreImage.CIReductionFilter

Removed property:

public CIVector Extent { get; set; }

Type Changed: CoreImage.CIFilterInputKey

Added properties:

public static Foundation.NSString Amount { get; }
public static Foundation.NSString MatteImage { get; }

Type Changed: CoreImage.CIImage

Added constructors:

public CIImage (AVFoundation.AVDepthData data);
public CIImage (AVFoundation.AVPortraitEffectsMatte matte);
public CIImage (AVFoundation.AVDepthData data, Foundation.NSDictionary options);
public CIImage (AVFoundation.AVPortraitEffectsMatte matte, Foundation.NSDictionary options);

Added property:

public virtual AVFoundation.AVPortraitEffectsMatte PortraitEffectsMatte { get; }

Added methods:

public virtual CIImage CreateByInsertingIntermediate ();
public virtual CIImage CreateByInsertingIntermediate (bool cache);
public static CIImage FromDepthData (AVFoundation.AVDepthData data);
public static CIImage FromDepthData (AVFoundation.AVDepthData data, Foundation.NSDictionary options);
public static CIImage FromPortraitEffectsMatte (AVFoundation.AVPortraitEffectsMatte matte);
public static CIImage FromPortraitEffectsMatte (AVFoundation.AVPortraitEffectsMatte matte, Foundation.NSDictionary options);

Type Changed: CoreImage.CIImageInitializationOptions

Added property:

public bool? AuxiliaryPortraitEffectsMatte { get; }

Type Changed: CoreImage.CIImageRepresentationOptions

Added property:

public AVFoundation.AVPortraitEffectsMatte AVPortraitEffectsMatte { get; set; }

New Type: CoreImage.CIAreaMinMax

public class CIAreaMinMax : CoreImage.CIReductionFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIAreaMinMax ();
    public CIAreaMinMax (Foundation.NSCoder coder);
    protected CIAreaMinMax (Foundation.NSObjectFlag t);
    public CIAreaMinMax (IntPtr handle);
}

New Type: CoreImage.CICameraCalibrationLensCorrection

public class CICameraCalibrationLensCorrection : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CICameraCalibrationLensCorrection ();
    public CICameraCalibrationLensCorrection (Foundation.NSCoder coder);
    protected CICameraCalibrationLensCorrection (Foundation.NSObjectFlag t);
    public CICameraCalibrationLensCorrection (IntPtr handle);
    // properties
    public AVFoundation.AVCameraCalibrationData AVCameraCalibrationData { get; set; }
    public bool UseInverseLookUpTable { get; set; }
}

New Type: CoreImage.CIContext_CIDepthBlurEffect

public static class CIContext_CIDepthBlurEffect {
    // methods
    public static CIFilter GetDepthBlurEffectFilter (this CIContext This, Foundation.NSData data, Foundation.NSDictionary options);
    public static CIFilter GetDepthBlurEffectFilter (this CIContext This, Foundation.NSUrl url, Foundation.NSDictionary options);
    public static CIFilter GetDepthBlurEffectFilter (this CIContext This, CIImage image, CIImage disparityImage, CIImage portraitEffectsMatte, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary options);
}

New Type: CoreImage.CICoreMLModelFilter

public class CICoreMLModelFilter : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CICoreMLModelFilter ();
    public CICoreMLModelFilter (Foundation.NSCoder coder);
    protected CICoreMLModelFilter (Foundation.NSObjectFlag t);
    public CICoreMLModelFilter (IntPtr handle);
    // properties
    public CoreML.MLModel Model { get; set; }
}

New Type: CoreImage.CIDither

public class CIDither : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIDither ();
    public CIDither (Foundation.NSCoder coder);
    protected CIDither (Foundation.NSObjectFlag t);
    public CIDither (IntPtr handle);
    // properties
    public float Intensity { get; set; }
}

New Type: CoreImage.CIGuidedFilter

public class CIGuidedFilter : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIGuidedFilter ();
    public CIGuidedFilter (Foundation.NSCoder coder);
    protected CIGuidedFilter (Foundation.NSObjectFlag t);
    public CIGuidedFilter (IntPtr handle);
    // properties
    public float Epsilon { get; set; }
    public CIImage GuideImage { get; set; }
    public float Radius { get; set; }
}

New Type: CoreImage.CIMeshGenerator

public class CIMeshGenerator : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIMeshGenerator ();
    public CIMeshGenerator (Foundation.NSCoder coder);
    protected CIMeshGenerator (Foundation.NSObjectFlag t);
    public CIMeshGenerator (IntPtr handle);
    // properties
    public CIColor Color { get; set; }
    public float Width { get; set; }
}

New Type: CoreImage.CIMix

public class CIMix : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIMix ();
    public CIMix (Foundation.NSCoder coder);
    protected CIMix (Foundation.NSObjectFlag t);
    public CIMix (IntPtr handle);
    // properties
    public float Amount { get; set; }
    public CIImage BackgroundImage { get; set; }
}

New Type: CoreImage.CIReductionFilter

public abstract class CIReductionFilter : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CIReductionFilter (Foundation.NSCoder coder);
    protected CIReductionFilter (Foundation.NSObjectFlag t);
    public CIReductionFilter (IntPtr handle);
    protected CIReductionFilter (string name);
    // properties
    public CIVector Extent { get; set; }
}

New Type: CoreImage.CISaliencyMapFilter

public class CISaliencyMapFilter : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CISaliencyMapFilter ();
    public CISaliencyMapFilter (Foundation.NSCoder coder);
    protected CISaliencyMapFilter (Foundation.NSObjectFlag t);
    public CISaliencyMapFilter (IntPtr handle);
}

New Type: CoreImage.CISampleNearest

public class CISampleNearest : CoreImage.CIFilter, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CISampleNearest ();
    public CISampleNearest (Foundation.NSCoder coder);
    protected CISampleNearest (Foundation.NSObjectFlag t);
    public CISampleNearest (IntPtr handle);
}

Namespace CoreLocation

Type Changed: CoreLocation.CLActivityType

Added value:

Airborne = 5,

Type Changed: CoreLocation.CLLocationManager

Added property:

public static double MaxTimeInterval { get; }

Added method:

public virtual void RequestLocation ();

Namespace CoreML

Type Changed: CoreML.MLFeatureDescription

Added property:

public virtual MLSequenceConstraint SequenceConstraint { get; }

Type Changed: CoreML.MLFeatureType

Added value:

Sequence = 7,

Type Changed: CoreML.MLFeatureValue

Added property:

public virtual MLSequence SequenceValue { get; }

Added method:

public static MLFeatureValue Create (MLSequence sequence);

Type Changed: CoreML.MLImageConstraint

Added property:

public virtual MLImageSizeConstraint SizeConstraint { get; }

Type Changed: CoreML.MLModel

Added property:

public virtual MLModelConfiguration Configuration { get; }

Added methods:

public static MLModel Create (Foundation.NSUrl url, MLModelConfiguration configuration, out Foundation.NSError error);
public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);

Type Changed: CoreML.MLModelError

Added value:

CustomModel = 5,

Type Changed: CoreML.MLMultiArrayConstraint

Added property:

public virtual MLMultiArrayShapeConstraint ShapeConstraint { get; }

New Type: CoreML.IMLBatchProvider

public interface IMLBatchProvider : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual nint Count { get; }
    // methods
    public virtual IMLFeatureProvider GetFeatures (nint index);
}

New Type: CoreML.IMLCustomModel

public interface IMLCustomModel : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLArrayBatchProvider

public class MLArrayBatchProvider : Foundation.NSObject, IMLBatchProvider, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MLArrayBatchProvider (IMLFeatureProvider[] array);
    protected MLArrayBatchProvider (Foundation.NSObjectFlag t);
    protected MLArrayBatchProvider (IntPtr handle);
    public MLArrayBatchProvider (Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray> dictionary, out Foundation.NSError error);
    // properties
    public virtual IMLFeatureProvider[] Array { get; }
    public override IntPtr ClassHandle { get; }
    public virtual nint Count { get; }
    // methods
    public virtual IMLFeatureProvider GetFeatures (nint index);
}

New Type: CoreML.MLComputeUnits

[Serializable]
public enum MLComputeUnits {
    CpuAndGpu = 1,
    CpuOnly = 0,
}

New Type: CoreML.MLCustomModel

public abstract class MLCustomModel : Foundation.NSObject, IMLCustomModel, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLCustomModel ();
    protected MLCustomModel (Foundation.NSObjectFlag t);
    protected MLCustomModel (IntPtr handle);
    public MLCustomModel (MLModelDescription modelDescription, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> parameters, out Foundation.NSError error);
    // methods
    public virtual IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error);
    public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLCustomModel_Extensions

public static class MLCustomModel_Extensions {
    // methods
    public static IMLBatchProvider GetPredictions (this IMLCustomModel This, IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLImageSize

public class MLImageSize : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLImageSize (Foundation.NSObjectFlag t);
    protected MLImageSize (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual nint PixelsHigh { get; }
    public virtual nint PixelsWide { get; }
}

New Type: CoreML.MLImageSizeConstraint

public class MLImageSizeConstraint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLImageSizeConstraint (Foundation.NSObjectFlag t);
    protected MLImageSizeConstraint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MLImageSize[] EnumeratedImageSizes { get; }
    public virtual Foundation.NSRange PixelsHighRange { get; }
    public virtual Foundation.NSRange PixelsWideRange { get; }
    public virtual MLImageSizeConstraintType Type { get; }
}

New Type: CoreML.MLImageSizeConstraintType

[Serializable]
public enum MLImageSizeConstraintType {
    Enumerated = 2,
    Range = 3,
    Unspecified = 0,
}

New Type: CoreML.MLModelConfiguration

public class MLModelConfiguration : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MLModelConfiguration ();
    protected MLModelConfiguration (Foundation.NSObjectFlag t);
    protected MLModelConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MLComputeUnits ComputeUnits { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CoreML.MLMultiArrayShapeConstraint

public class MLMultiArrayShapeConstraint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLMultiArrayShapeConstraint (Foundation.NSObjectFlag t);
    protected MLMultiArrayShapeConstraint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSArray<Foundation.NSNumber>[] EnumeratedShapes { get; }
    public virtual Foundation.NSValue[] SizeRangeForDimension { get; }
    public virtual MLMultiArrayShapeConstraintType Type { get; }
}

New Type: CoreML.MLMultiArrayShapeConstraintType

[Serializable]
public enum MLMultiArrayShapeConstraintType {
    Enumerated = 2,
    Range = 3,
    Unspecified = 1,
}

New Type: CoreML.MLSequence

public class MLSequence : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLSequence (Foundation.NSObjectFlag t);
    protected MLSequence (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSNumber[] Int64Values { get; }
    public virtual string[] StringValues { get; }
    public virtual MLFeatureType Type { get; }
    // methods
    public static MLSequence Create (Foundation.NSNumber[] int64Values);
    public static MLSequence Create (string[] stringValues);
    public static MLSequence CreateEmpty (MLFeatureType type);
}

New Type: CoreML.MLSequenceConstraint

public class MLSequenceConstraint : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLSequenceConstraint (Foundation.NSObjectFlag t);
    protected MLSequenceConstraint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSRange CountRange { get; }
    public virtual MLFeatureDescription ValueDescription { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

Namespace CoreMedia

Type Changed: CoreMedia.CMTime

Added method:

public static CMTime Fold (CMTime time, CMTimeRange foldRange);

Namespace CoreMidi

Type Changed: CoreMidi.MidiDevice

Added properties:

public string FactoryPatchNameFile { get; set; }
public string UserPatchNameFile { get; set; }
public bool UsesSerial { get; set; }

Added method:

public int Add (string name, bool embedded, uint numSourceEndpoints, uint numDestinationEndpoints, MidiEntity newEntity);

New Type: CoreMidi.MidiCIDeviceIdentification

public struct MidiCIDeviceIdentification {
    // fields
    public byte[] Family;
    public byte[] Manufacturer;
    public byte[] ModelNumber;
    public byte[] Reserved;
    public byte[] RevisionLevel;
}

New Type: CoreMidi.MidiCIProfile

public class MidiCIProfile : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MidiCIProfile (Foundation.NSCoder coder);
    protected MidiCIProfile (Foundation.NSObjectFlag t);
    protected MidiCIProfile (IntPtr handle);
    public MidiCIProfile (Foundation.NSData data, string inName);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Name { get; }
    public virtual Foundation.NSData ProfileId { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMidi.MidiCIProfileChangedHandler

public sealed delegate MidiCIProfileChangedHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MidiCIProfileChangedHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (MidiCISession session, byte channel, MidiCIProfile profile, bool enabled, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (MidiCISession session, byte channel, MidiCIProfile profile, bool enabled);
}

New Type: CoreMidi.MidiCIProfileState

public class MidiCIProfileState : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MidiCIProfileState (Foundation.NSCoder coder);
    protected MidiCIProfileState (Foundation.NSObjectFlag t);
    protected MidiCIProfileState (IntPtr handle);
    public MidiCIProfileState (MidiCIProfile[] enabled, MidiCIProfile[] disabled);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MidiCIProfile[] DisabledProfiles { get; }
    public virtual MidiCIProfile[] EnabledProfiles { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMidi.MidiCIPropertyChangedHandler

public sealed delegate MidiCIPropertyChangedHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MidiCIPropertyChangedHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (MidiCISession session, byte channel, Foundation.NSData data, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (MidiCISession session, byte channel, Foundation.NSData data);
}

New Type: CoreMidi.MidiCIPropertyResponseHandler

public sealed delegate MidiCIPropertyResponseHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MidiCIPropertyResponseHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (MidiCISession session, byte channel, Foundation.NSData response, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (MidiCISession session, byte channel, Foundation.NSData response, Foundation.NSError error);
}

New Type: CoreMidi.MidiCISession

public class MidiCISession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MidiCISession (Foundation.NSObjectFlag t);
    protected MidiCISession (IntPtr handle);
    public MidiCISession (uint entity, System.Action handler);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MidiCIDeviceIdentification DeviceIdentification { get; }
    public virtual uint Entity { get; }
    public virtual MidiCIProfileChangedHandler ProfileChangedCallback { get; set; }
    public virtual MidiCIPropertyChangedHandler PropertyChangedCallback { get; set; }
    public virtual bool SupportsProfileCapability { get; }
    public virtual bool SupportsPropertyCapability { get; }
    // methods
    public virtual bool DisableProfile (MidiCIProfile profile, byte channel, out Foundation.NSError outError);
    public virtual bool EnableProfile (MidiCIProfile profile, byte channel, out Foundation.NSError outError);
    public virtual MidiCIProfileState GetProfileState (byte channel);
    public virtual void GetProperty (Foundation.NSData inquiry, byte channel, MidiCIPropertyResponseHandler handler);
    public virtual void HasProperty (Foundation.NSData inquiry, byte channel, MidiCIPropertyResponseHandler handler);
    public virtual void SetProperty (Foundation.NSData inquiry, byte channel, MidiCIPropertyResponseHandler handler);
}

New Type: CoreMidi.MidiDeviceList

public class MidiDeviceList : CoreMidi.MidiObject, System.IDisposable {
    // methods
    public int Add (MidiDevice device);
    public MidiDevice Get (uint index);
    public uint GetNumberOfDevices ();
}

Namespace CoreText

Type Changed: CoreText.CTFontCollection

Added method:

public CTFontDescriptor[] GetMatchingFontDescriptors (CTFontCollectionOptions options);

Type Changed: CoreText.CTFramesetter

Added method:

public static CTFramesetter Create (CTTypesetter typesetter);

Type Changed: CoreText.CTTypesetterOptionKey

Added property:

public static Foundation.NSString AllowUnboundedLayout { get; }

Type Changed: CoreText.CTTypesetterOptions

Added property:

public bool AllowUnboundedLayout { get; set; }

Namespace CoreVideo

Type Changed: CoreVideo.CVImageBufferTransferFunction

Added value:

Linear = 11,

Type Changed: CoreVideo.CVPixelFormatDescription

Added field:

public static Foundation.NSString ContainsGrayscaleKey;

Namespace EventKit

Type Changed: EventKit.EKRecurrenceDayOfWeek

Added constructor:

public EKRecurrenceDayOfWeek (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: EventKit.EKRecurrenceEnd

Added constructor:

public EKRecurrenceEnd (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Namespace FinderSync

Type Changed: FinderSync.FIFinderSyncController

Added property:

public static bool ExtensionEnabled { get; }

Added method:

public static void ShowExtensionManagementInterface ();

Namespace Foundation

Type Changed: Foundation.NSFileManager

Added method:

public static NSFileManager FromAuthorization (AppKit.NSWorkspaceAuthorization authorization);

Type Changed: Foundation.NSFileWrapper

Added interface:

INSSecureCoding

Type Changed: Foundation.NSItemProvider

Added property:

public virtual string SuggestedName { get; set; }

Type Changed: Foundation.NSKeyedArchiver

Added constructor:

public NSKeyedArchiver (bool requiresSecureCoding);

Added method:

public static NSData ArchivedDataWithRootObject (NSObject object, bool requiresSecureCoding, out NSError error);

Type Changed: Foundation.NSKeyedUnarchiver

Added constructor:

public NSKeyedUnarchiver (NSData data, out NSError error);

Added methods:

public static NSObject GetUnarchivedObject (Foundation.NSSet<ObjCRuntime.Class> classes, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (ObjCRuntime.Class cls, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (System.Type type, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (System.Type[] types, NSData data, out NSError error);

Type Changed: Foundation.NSString

Added method:

public static string GetLocalizedUserNotificationString (string key, NSObject[] arguments);

Type Changed: Foundation.NSUrlProtocol

Obsoleted constructors:

[Obsolete ("Use the overload that takes an 'INSUrlProtocolClient' instead.")]
 public NSUrlProtocol (NSUrlRequest request, NSCachedUrlResponse cachedResponse, NSUrlProtocolClient client);

Added constructor:

public NSUrlProtocol (NSUrlRequest request, NSCachedUrlResponse cachedResponse, INSUrlProtocolClient client);

Obsoleted properties:

[Obsolete ("Use 'Client' instead.")]
 public virtual NSObject WeakClient { get; }

Added property:

public virtual INSUrlProtocolClient Client { get; }

Type Changed: Foundation.NSUrlRequestNetworkServiceType

Added value:

ResponsiveData = 5,

Type Changed: Foundation.NSValueTransformer

Added property:

public static NSString SecureUnarchiveFromDataTransformerName { get; }

Type Changed: Foundation.ProtocolMemberAttribute

Added property:

public System.Type[] ParameterBlockProxy { get; set; }

New Type: Foundation.INSUrlProtocolClient

public interface INSUrlProtocolClient : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void CachedResponseIsValid (NSUrlProtocol protocol, NSCachedUrlResponse cachedResponse);
    public virtual void CancelledAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge);
    public virtual void DataLoaded (NSUrlProtocol protocol, NSData data);
    public virtual void FailedWithError (NSUrlProtocol protocol, NSError error);
    public virtual void FinishedLoading (NSUrlProtocol protocol);
    public virtual void ReceivedAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge);
    public virtual void ReceivedResponse (NSUrlProtocol protocol, NSUrlResponse response, NSUrlCacheStoragePolicy policy);
    public virtual void Redirected (NSUrlProtocol protocol, NSUrlRequest redirectedToEequest, NSUrlResponse redirectResponse);
}

New Type: Foundation.NSBindingSelectionMarker

public class NSBindingSelectionMarker : Foundation.NSObject, INSCopying, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
    // constructors
    protected NSBindingSelectionMarker (NSObjectFlag t);
    protected NSBindingSelectionMarker (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static NSBindingSelectionMarker MultipleValuesSelectionMarker { get; }
    public static NSBindingSelectionMarker NoSelectionMarker { get; }
    public static NSBindingSelectionMarker NotApplicableSelectionMarker { get; }
    // methods
    public virtual NSObject Copy (NSZone zone);
}

Namespace GameController

Type Changed: GameController.GCEventViewController

Added interface:

AppKit.INSEditor

Namespace GameKit

Type Changed: GameKit.GKAchievementViewController

Added interface:

AppKit.INSEditor

Type Changed: GameKit.GKChallengesViewController

Added interface:

AppKit.INSEditor

Type Changed: GameKit.GKFriendRequestComposeViewController

Added interface:

AppKit.INSEditor

Type Changed: GameKit.GKGameCenterViewController

Added interface:

AppKit.INSEditor

Type Changed: GameKit.GKLeaderboardViewController

Added interface:

AppKit.INSEditor

Type Changed: GameKit.GKMatchmakerViewController

Added interface:

AppKit.INSEditor

Type Changed: GameKit.GKTurnBasedMatchmakerViewController

Added interface:

AppKit.INSEditor

Namespace GameplayKit

Type Changed: GameplayKit.GKAgent

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKAgent2D

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKAgent3D

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKComponent

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKEntity

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGraph

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGraphNode

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGraphNode2D

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGraphNode3D

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGridGraph

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKGridGraphNode

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKMeshGraph`1

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKNoise

Obsoleted methods:

[Obsolete ("Use 'GKNoise.Displace' instead.")]
 public virtual void DisplaceX (GKNoise xDisplacementNoise, GKNoise yDisplacementNoise, GKNoise zDisplacementNoise);

Added method:

public virtual void Displace (GKNoise xDisplacementNoise, GKNoise yDisplacementNoise, GKNoise zDisplacementNoise);

Type Changed: GameplayKit.GKObstacleGraph

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKObstacleGraph`1

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKPolygonObstacle

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKSCNNodeComponent

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKSKNodeComponent

Added interface:

Foundation.INSSecureCoding

Type Changed: GameplayKit.GKScene

Added interface:

Foundation.INSSecureCoding

Namespace ImageIO

Type Changed: ImageIO.CGImageAuxiliaryDataType

Added value:

PortraitEffectsMatte = 2,

Type Changed: ImageIO.CGImageProperties

Removed property:

public static Foundation.NSString ExifCFAPattern { get; }

Added properties:

public static Foundation.NSString DNGActiveArea { get; }
public static Foundation.NSString DNGAnalogBalance { get; }
public static Foundation.NSString DNGAntiAliasStrength { get; }
public static Foundation.NSString DNGAsShotICCProfile { get; }
public static Foundation.NSString DNGAsShotPreProfileMatrix { get; }
public static Foundation.NSString DNGAsShotProfileName { get; }
public static Foundation.NSString DNGBaselineExposureOffset { get; }
public static Foundation.NSString DNGBayerGreenSplit { get; }
public static Foundation.NSString DNGBestQualityScale { get; }
public static Foundation.NSString DNGBlackLevelDeltaHorizontal { get; }
public static Foundation.NSString DNGBlackLevelDeltaVertical { get; }
public static Foundation.NSString DNGBlackLevelRepeatDim { get; }
public static Foundation.NSString DNGCfaLayout { get; }
public static Foundation.NSString DNGCfaPlaneColor { get; }
public static Foundation.NSString DNGChromaBlurRadius { get; }
public static Foundation.NSString DNGColorimetricReference { get; }
public static Foundation.NSString DNGCurrentICCProfile { get; }
public static Foundation.NSString DNGCurrentPreProfileMatrix { get; }
public static Foundation.NSString DNGDefaultBlackRender { get; }
public static Foundation.NSString DNGDefaultCropOrigin { get; }
public static Foundation.NSString DNGDefaultCropSize { get; }
public static Foundation.NSString DNGDefaultScale { get; }
public static Foundation.NSString DNGDefaultUserCrop { get; }
public static Foundation.NSString DNGExtraCameraProfiles { get; }
public static Foundation.NSString DNGForwardMatrix1 { get; }
public static Foundation.NSString DNGForwardMatrix2 { get; }
public static Foundation.NSString DNGLinearResponseLimit { get; }
public static Foundation.NSString DNGLinearizationTable { get; }
public static Foundation.NSString DNGMakerNoteSafety { get; }
public static Foundation.NSString DNGMaskedAreas { get; }
public static Foundation.NSString DNGNewRawImageDigest { get; }
public static Foundation.NSString DNGNoiseReductionApplied { get; }
public static Foundation.NSString DNGOpcodeList1 { get; }
public static Foundation.NSString DNGOpcodeList2 { get; }
public static Foundation.NSString DNGOpcodeList3 { get; }
public static Foundation.NSString DNGOriginalBestQualityFinalSize { get; }
public static Foundation.NSString DNGOriginalDefaultCropSize { get; }
public static Foundation.NSString DNGOriginalDefaultFinalSize { get; }
public static Foundation.NSString DNGOriginalRawFileData { get; }
public static Foundation.NSString DNGOriginalRawFileDigest { get; }
public static Foundation.NSString DNGOriginalRawFileName { get; }
public static Foundation.NSString DNGPreviewApplicationName { get; }
public static Foundation.NSString DNGPreviewApplicationVersion { get; }
public static Foundation.NSString DNGPreviewColorSpace { get; }
public static Foundation.NSString DNGPreviewDateTime { get; }
public static Foundation.NSString DNGPreviewSettingsDigest { get; }
public static Foundation.NSString DNGPreviewSettingsName { get; }
public static Foundation.NSString DNGProfileCopyright { get; }
public static Foundation.NSString DNGProfileEmbedPolicy { get; }
public static Foundation.NSString DNGProfileHueSatMapData1 { get; }
public static Foundation.NSString DNGProfileHueSatMapData2 { get; }
public static Foundation.NSString DNGProfileHueSatMapDims { get; }
public static Foundation.NSString DNGProfileHueSatMapEncoding { get; }
public static Foundation.NSString DNGProfileLookTableData { get; }
public static Foundation.NSString DNGProfileLookTableDims { get; }
public static Foundation.NSString DNGProfileLookTableEncoding { get; }
public static Foundation.NSString DNGProfileName { get; }
public static Foundation.NSString DNGProfileToneCurve { get; }
public static Foundation.NSString DNGRawDataUniqueId { get; }
public static Foundation.NSString DNGRawImageDigest { get; }
public static Foundation.NSString DNGRawToPreviewGain { get; }
public static Foundation.NSString DNGReductionMatrix1 { get; }
public static Foundation.NSString DNGReductionMatrix2 { get; }
public static Foundation.NSString DNGRowInterleaveFactor { get; }
public static Foundation.NSString DNGShadowScale { get; }
public static Foundation.NSString DNGSubTileBlockSize { get; }
public static Foundation.NSString ExifCfaPattern { get; }
public static Foundation.NSString PNGComment { get; }
public static Foundation.NSString PNGDisclaimer { get; }
public static Foundation.NSString PNGSource { get; }
public static Foundation.NSString PNGWarning { get; }
public static Foundation.NSString PrimaryImage { get; }

Type Changed: ImageIO.CGImageSource

Added method:

public uint GetPrimaryImageIndex ();

Namespace ImageKit

Type Changed: ImageKit.IKFilterBrowserPanel

Added interfaces:

AppKit.INSMenuItemValidation
AppKit.INSUserInterfaceValidations

Type Changed: ImageKit.IKImageEditPanel

Added interfaces:

AppKit.INSMenuItemValidation
AppKit.INSUserInterfaceValidations

Type Changed: ImageKit.IKPictureTaker

Added interfaces:

AppKit.INSMenuItemValidation
AppKit.INSUserInterfaceValidations

Namespace Intents

Type Changed: Intents.INIntent

Added methods:

public virtual INImage GetImage (string parameterName);
public virtual INImage GetKeyImage ();
public virtual void SetImage (INImage image, string parameterName);

Type Changed: Intents.INIntentErrorCode

Added values:

DecodingGeneric = 9000,
EncodingFailed = 8001,
EncodingGeneric = 8000,
ImageGeneric = 6000,
ImageLoadingFailed = 6003,
ImageNoServiceAvailable = 6001,
ImageProxyInvalid = 6006,
ImageProxyLoop = 6005,
ImageProxyTimeout = 6007,
ImageRetrievalFailed = 6004,
ImageScalingFailed = 6009,
ImageServiceFailure = 6008,
ImageStorageFailed = 6002,
NoAppAvailable = 2005,
PermissionDenied = 6010,
VoiceShortcutCreationFailed = 7000,
VoiceShortcutDeleteFailed = 7002,
VoiceShortcutGetFailed = 7001,

Type Changed: Intents.INIntentHandlingStatus

Added value:

UserConfirmationRequired = 6,

Type Changed: Intents.INIntentResponse

Modified properties:

-public virtual Foundation.NSUserActivity UserActivity { get; set; }
+public virtual Foundation.NSUserActivity UserActivity { get; }

Type Changed: Intents.INMessageType

Added values:

ActivitySnippet = 23,
Animoji = 22,
File = 24,
Link = 25,
PaymentNote = 21,
PaymentRequest = 20,
PaymentSent = 19,

Type Changed: Intents.INPerson

Added constructor:

public INPerson (INPersonHandle personHandle, Foundation.NSPersonNameComponents nameComponents, string displayName, INImage image, string contactIdentifier, string customIdentifier, bool isMe);

Type Changed: Intents.INPersonSuggestionType

Added value:

None = 0,

Type Changed: Intents.INSearchForMessagesIntent

Added constructor:

public INSearchForMessagesIntent (INPerson[] recipients, INPerson[] senders, string[] searchTerms, INMessageAttributeOptions attributes, INDateComponentsRange dateTimeRange, string[] identifiers, string[] notificationIdentifiers, INSpeakableString[] speakableGroupNames, string[] conversationIdentifiers);

Added properties:

public virtual string[] ConversationIdentifiers { get; }
public virtual INConditionalOperator ConversationIdentifiersOperator { get; }

Type Changed: Intents.INSendMessageRecipientUnsupportedReason

Added values:

NoHandleForLabel = 6,
NoValidHandle = 4,
RequestedHandleInvalid = 5,

Type Changed: Intents.INSpeakableString

Added interface:

Foundation.INSCopying

Added method:

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

New Type: Intents.INParameter

public class INParameter : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INParameter (Foundation.NSCoder coder);
    protected INParameter (Foundation.NSObjectFlag t);
    protected INParameter (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual ObjCRuntime.Class ParameterClass { get; }
    public virtual string ParameterKeyPath { get; }
    public System.Type ParameterType { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public virtual uint GetIndex (string subKeyPath);
    public static INParameter GetParameter (ObjCRuntime.Class aClass, string keyPath);
    public static INParameter GetParameter (System.Type type, string keyPath);
    public virtual bool IsEqualTo (INParameter parameter);
    public virtual void SetIndex (uint index, string subKeyPath);
}

Namespace MapKit

Type Changed: MapKit.MKMapSnapshot

Added property:

public virtual AppKit.NSAppearance Appearance { get; }

Type Changed: MapKit.MKMapSnapshotOptions

Added property:

public virtual AppKit.NSAppearance Appearance { get; set; }

Type Changed: MapKit.MKMapView

Added event:

public event System.EventHandler DidChangeVisibleRegion;

Type Changed: MapKit.MKMapViewDelegate

Added method:

public virtual void DidChangeVisibleRegion (MKMapView mapView);

Type Changed: MapKit.MKMapViewDelegate_Extensions

Added method:

public static void DidChangeVisibleRegion (this IMKMapViewDelegate This, MKMapView mapView);

Namespace Metal

Type Changed: Metal.MTLArgumentEncoder_Extensions

Added methods:

public static void SetIndirectCommandBuffer (this IMTLArgumentEncoder This, IMTLIndirectCommandBuffer indirectCommandBuffer, uint index);
public static void SetIndirectCommandBuffers (this IMTLArgumentEncoder This, IMTLIndirectCommandBuffer[] buffers, Foundation.NSRange range);
public static void SetRenderPipelineState (this IMTLArgumentEncoder This, IMTLRenderPipelineState pipeline, uint index);
public static void SetRenderPipelineStates (this IMTLArgumentEncoder This, IMTLRenderPipelineState[] pipelines, Foundation.NSRange range);

Type Changed: Metal.MTLBlitCommandEncoder_Extensions

Added methods:

public static void Copy (this IMTLBlitCommandEncoder This, IMTLIndirectCommandBuffer source, Foundation.NSRange sourceRange, IMTLIndirectCommandBuffer destination, uint destinationIndex);
public static void Optimize (this IMTLBlitCommandEncoder This, IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange range);
public static void OptimizeContentsForCpuAccess (this IMTLBlitCommandEncoder This, IMTLTexture texture);
public static void OptimizeContentsForCpuAccess (this IMTLBlitCommandEncoder This, IMTLTexture texture, uint slice, uint level);
public static void OptimizeContentsForGpuAccess (this IMTLBlitCommandEncoder This, IMTLTexture texture);
public static void OptimizeContentsForGpuAccess (this IMTLBlitCommandEncoder This, IMTLTexture texture, uint slice, uint level);
public static void ResetCommands (this IMTLBlitCommandEncoder This, IMTLIndirectCommandBuffer buffer, Foundation.NSRange range);

Type Changed: Metal.MTLCommandBuffer_Extensions

Added methods:

public static IMTLComputeCommandEncoder ComputeCommandEncoderDispatch (this IMTLCommandBuffer This, MTLDispatchType dispatchType);
public static void EncodeSignal (this IMTLCommandBuffer This, IMTLEvent event, ulong value);
public static void EncodeWait (this IMTLCommandBuffer This, IMTLEvent event, ulong value);

Type Changed: Metal.MTLComputeCommandEncoder_Extensions

Added methods:

public static MTLDispatchType GetDispatchType (this IMTLComputeCommandEncoder This);
public static void MemoryBarrier (this IMTLComputeCommandEncoder This, MTLBarrierScope scope);
public static void MemoryBarrier (this IMTLComputeCommandEncoder This, IMTLResource[] resources, uint count);
public static void SetStageInRegion (this IMTLComputeCommandEncoder This, IMTLBuffer indirectBuffer, uint indirectBufferOffset);

Type Changed: Metal.MTLComputePipelineDescriptor

Added property:

public virtual uint MaxTotalThreadsPerThreadgroup { get; set; }

Type Changed: Metal.MTLDataType

Added values:

IndirectCommandBuffer = 80,
RenderPipeline = 78,

Type Changed: Metal.MTLDevice_Extensions

Added methods:

public static IMTLEvent CreateEvent (this IMTLDevice This);
public static IMTLIndirectCommandBuffer CreateIndirectCommandBuffer (this IMTLDevice This, MTLIndirectCommandBufferDescriptor descriptor, uint maxCount, MTLResourceOptions options);
public static IMTLSharedEvent CreateSharedEvent (this IMTLDevice This);
public static IMTLSharedEvent CreateSharedEvent (this IMTLDevice This, MTLSharedEventHandle sharedEventHandle);
public static IMTLTexture CreateSharedTexture (this IMTLDevice This, MTLSharedTextureHandle sharedHandle);
public static IMTLTexture CreateSharedTexture (this IMTLDevice This, MTLTextureDescriptor descriptor);
public static uint GetMaxArgumentBufferSamplerCount (this IMTLDevice This);
public static uint GetMaxBufferLength (this IMTLDevice This);
public static uint GetMinimumTextureBufferAlignment (this IMTLDevice This, MTLPixelFormat format);

Type Changed: Metal.MTLFeatureSet

Added values:

iOS_GPUFamily1_v5 = 12,
iOS_GPUFamily2_v5 = 13,
iOS_GPUFamily3_v4 = 14,
iOS_GPUFamily4_v2 = 15,
tvOS_GPUFamily1_v4 = 30004,

Type Changed: Metal.MTLLanguageVersion

Added value:

v2_1 = 131073,

Type Changed: Metal.MTLRenderCommandEncoder_Extensions

Added methods:

public static void ExecuteCommands (this IMTLRenderCommandEncoder This, IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange);
public static void ExecuteCommands (this IMTLRenderCommandEncoder This, IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, uint indirectBufferOffset);
public static void MemoryBarrier (this IMTLRenderCommandEncoder This, MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before);
public static void MemoryBarrier (this IMTLRenderCommandEncoder This, IMTLResource[] resources, uint count, MTLRenderStages after, MTLRenderStages before);

Type Changed: Metal.MTLRenderPassDepthAttachmentDescriptor

Added property:

public virtual MTLMultisampleDepthResolveFilter DepthResolveFilter { get; set; }

Type Changed: Metal.MTLRenderPassStencilAttachmentDescriptor

Added property:

public virtual MTLMultisampleStencilResolveFilter StencilResolveFilter { get; set; }

Type Changed: Metal.MTLRenderPipelineDescriptor

Added property:

public virtual bool SupportIndirectCommandBuffers { get; set; }

Type Changed: Metal.MTLTextureDescriptor

Added property:

public virtual bool AllowGpuOptimizedContents { get; set; }

Added method:

public static MTLTextureDescriptor CreateTextureBufferDescriptor (MTLPixelFormat pixelFormat, uint width, MTLResourceOptions resourceOptions, MTLTextureUsage usage);

Type Changed: Metal.MTLTextureType

Added values:

k2DMultisampleArray = 8,
kTextureBuffer = 9,

Type Changed: Metal.MTLTexture_Extensions

Added methods:

public static MTLSharedTextureHandle CreateSharedTextureHandle (this IMTLTexture This);
public static bool GetAllowGpuOptimizedContents (this IMTLTexture This);
public static bool GetShareable (this IMTLTexture This);

New Type: Metal.IMTLEvent

public interface IMTLEvent : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual IMTLDevice Device { get; }
    public virtual string Label { get; set; }
}

New Type: Metal.IMTLIndirectCommandBuffer

public interface IMTLIndirectCommandBuffer : IMTLResource, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual uint Size { get; }
    // methods
    public virtual IMTLIndirectRenderCommand CreateIndirectRenderCommand (uint commandIndex);
    public virtual void Reset (Foundation.NSRange range);
}

New Type: Metal.IMTLIndirectRenderCommand

public interface IMTLIndirectRenderCommand : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void DrawIndexedPatches (uint numberOfPatchControlPoints, uint patchStart, uint patchCount, IMTLBuffer patchIndexBuffer, uint patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, uint controlPointIndexBufferOffset, uint instanceCount, uint baseInstance, IMTLBuffer buffer, uint offset, uint instanceStride);
    public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, uint indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, uint indexBufferOffset, uint instanceCount, nint baseVertex, uint baseInstance);
    public virtual void DrawPatches (uint numberOfPatchControlPoints, uint patchStart, uint patchCount, IMTLBuffer patchIndexBuffer, uint patchIndexBufferOffset, uint instanceCount, uint baseInstance, IMTLBuffer buffer, uint offset, uint instanceStride);
    public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, uint vertexStart, uint vertexCount, uint instanceCount, uint baseInstance);
    public virtual void Reset ();
    public virtual void SetFragmentBuffer (IMTLBuffer buffer, uint offset, uint index);
    public virtual void SetRenderPipelineState (IMTLRenderPipelineState pipelineState);
    public virtual void SetVertexBuffer (IMTLBuffer buffer, uint offset, uint index);
}

New Type: Metal.IMTLSharedEvent

public interface IMTLSharedEvent : IMTLEvent, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual ulong SignaledValue { get; set; }
    // methods
    public virtual MTLSharedEventHandle CreateSharedEventHandle ();
    public virtual void NotifyListener (MTLSharedEventListener listener, ulong atValue, MTLSharedEventNotificationBlock block);
}

New Type: Metal.MTLBarrierScope

[Serializable]
[Flags]
public enum MTLBarrierScope {
    Buffers = 1,
    RenderTargets = 4,
    Textures = 2,
}

New Type: Metal.MTLDispatchType

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

New Type: Metal.MTLIndirectCommandBufferDescriptor

public class MTLIndirectCommandBufferDescriptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MTLIndirectCommandBufferDescriptor ();
    protected MTLIndirectCommandBufferDescriptor (Foundation.NSObjectFlag t);
    protected MTLIndirectCommandBufferDescriptor (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MTLIndirectCommandType CommandTypes { get; set; }
    public virtual bool InheritBuffers { get; set; }
    public virtual bool InheritPipelineState { get; set; }
    public virtual uint MaxFragmentBufferBindCount { get; set; }
    public virtual uint MaxVertexBufferBindCount { get; set; }
}

New Type: Metal.MTLIndirectCommandType

[Serializable]
[Flags]
public enum MTLIndirectCommandType {
    Draw = 1,
    Indexed = 2,
}

New Type: Metal.MTLMultisampleStencilResolveFilter

[Serializable]
public enum MTLMultisampleStencilResolveFilter {
    DepthResolvedSample = 1,
    Sample0 = 0,
}

New Type: Metal.MTLRenderPipelineState_Extensions

public static class MTLRenderPipelineState_Extensions {
    // methods
    public static bool GetSupportIndirectCommandBuffers (this IMTLRenderPipelineState This);
}

New Type: Metal.MTLSharedEventHandle

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

New Type: Metal.MTLSharedEventListener

public class MTLSharedEventListener : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MTLSharedEventListener ();
    public MTLSharedEventListener (CoreFoundation.DispatchQueue dispatchQueue);
    protected MTLSharedEventListener (Foundation.NSObjectFlag t);
    protected MTLSharedEventListener (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CoreFoundation.DispatchQueue DispatchQueue { get; }
}

New Type: Metal.MTLSharedEventNotificationBlock

public sealed delegate MTLSharedEventNotificationBlock : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MTLSharedEventNotificationBlock (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (IMTLSharedEvent event, ulong value, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (IMTLSharedEvent event, ulong value);
}

New Type: Metal.MTLSharedTextureHandle

public class MTLSharedTextureHandle : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MTLSharedTextureHandle ();
    public MTLSharedTextureHandle (Foundation.NSCoder coder);
    protected MTLSharedTextureHandle (Foundation.NSObjectFlag t);
    protected MTLSharedTextureHandle (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual IMTLDevice Device { get; }
    public virtual string Label { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Metal.MTLStageInRegionIndirectArguments

public struct MTLStageInRegionIndirectArguments {
    // fields
    public uint StageInOrigin1;
    public uint StageInOrigin2;
    public uint StageInOrigin3;
    public uint StageInSize1;
    public uint StageInSize2;
    public uint StageInSize3;
}

Namespace MetalPerformanceShaders

Type Changed: MetalPerformanceShaders.IMPSCnnConvolutionDataSource

Added interface:

Foundation.INSCopying

Type Changed: MetalPerformanceShaders.MPSCnnConvolutionDataSource

Added interface:

Foundation.INSCopying

Added method:

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

Type Changed: MetalPerformanceShaders.MPSImageDescriptor

Added interface:

Foundation.INSCopying

Added method:

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

Namespace MobileCoreServices

Type Changed: MobileCoreServices.UTType

Added method:

public static bool Equals (Foundation.NSString uti1, Foundation.NSString uti2);

Namespace ModelIO

Type Changed: ModelIO.MDLSkeleton

Added property:

public virtual MDLMatrix4x4Array JointRestTransforms { get; }

Type Changed: ModelIO.MDLTexture

Obsoleted methods:

[Obsolete ("Use 'CreateTexture' instead.")]
 public static MDLTexture FromBundle (string name);
 [Obsolete ("Use 'CreateTexture' instead.")]
 public static MDLTexture FromBundle (string name, Foundation.NSBundle bundleOrNil);

Added methods:

public static MDLTexture CreateTexture (string name);
public static MDLTexture CreateTexture (string name, Foundation.NSBundle bundleOrNil);
public static MDLTexture CreateTexture (string name, IMDLAssetResolver resolver);

Namespace MultipeerConnectivity

Type Changed: MultipeerConnectivity.MCBrowserViewController

Added interface:

AppKit.INSEditor

Namespace NetworkExtension

Type Changed: NetworkExtension.NWHostEndpoint

Obsoleted constructors:

[Obsolete ("Use the 'Create' method instead.")]
 public NWHostEndpoint ();

Type Changed: NetworkExtension.NWPath

Obsoleted constructors:

[Obsolete ("This type is not meant to be user created.")]
 public NWPath ();

Namespace NotificationCenter

Type Changed: NotificationCenter.NCWidgetListViewController

Added interface:

AppKit.INSEditor

Type Changed: NotificationCenter.NCWidgetSearchViewController

Added interface:

AppKit.INSEditor

Namespace ObjCRuntime

Type Changed: ObjCRuntime.BlockLiteral

Added method:

public static T GetTarget<T> (IntPtr block);

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "10.13";
+public const string SdkVersion = "10.14";
-public const string Version = "4.4.99";
+public const string Version = "4.99.3";

Added fields:

public static const string AdSupportLibrary = "/System/Library/Frameworks/AdSupport.framework/AdSupport";
public static const string NaturalLanguageLibrary = "/System/Library/Frameworks/Frameworks/NaturalLanguage.framework/NaturalLanguage";
public static const string NetworkLibrary = "/System/Library/Frameworks/Network.framework/Network";
public static const string UserNotificationsLibrary = "/System/Library/Frameworks/UserNotifications.framework/UserNotifications";
public static const string VideoSubscriberAccountLibrary = "/System/Library/Frameworks/VideoSubscriberAccount.framework/VideoSubscriberAccount";
public static const string iTunesLibraryLibrary = "/System/Library/Frameworks/iTunesLibrary.framewor/iTunesLibrary";
public static const string libcompression = "/usr/lib/libcompression.dylib";

Namespace PdfKit

Type Changed: PdfKit.PdfDestination

Added property:

public static nfloat UnspecifiedValue { get; }

Type Changed: PdfKit.PdfView

Added property:

public virtual bool PageShadowsEnabled { get; set; }

Namespace Photos

Type Changed: Photos.PHProject

Added property:

public virtual bool HasProjectPreview { get; }

Type Changed: Photos.PHProjectChangeRequest

Added methods:

public virtual void RemoveAssets (PHAsset[] assets);
public virtual void SetProjectPreviewImage (AppKit.NSImage previewImage);

New Type: Photos.FigExifCustomRenderedValue

[Serializable]
public enum FigExifCustomRenderedValue {
    Custom = 1,
    HdrImage = 2,
    HdrPlusEV0_EV0Image = 4,
    HdrPlusEV0_HdrImage = 3,
    NotCustom = 0,
    PanoramaImage = 6,
    SdofImage = 7,
    SdofPlusOriginal_OriginalImage = 9,
    SdofPlusOriginal_SdofImage = 8,
}

Namespace PhotosUI

Type Changed: PhotosUI.PHProjectAssetElement

Added properties:

public virtual bool HorizontallyFlipped { get; }
public virtual bool VerticallyFlipped { get; }

Type Changed: PhotosUI.PHProjectExtensionContext

Added methods:

public virtual void ShowEditor (Photos.PHAsset asset);
public virtual Foundation.NSProgress UpdatedProjectInfo (PHProjectInfo existingProjectInfo, System.Action<PHProjectInfo> completionHandler);

Type Changed: PhotosUI.PHProjectExtensionController_Extensions

Added method:

public static IPHProjectTypeDescriptionDataSource GetTypeDescriptionDataSource (this IPHProjectExtensionController This, Foundation.NSString category, IPHProjectTypeDescriptionInvalidator invalidator);

Type Changed: PhotosUI.PHProjectInfo

Added properties:

public virtual bool BrandingEnabled { get; }
public virtual bool PageNumbersEnabled { get; }
public virtual string ProductIdentifier { get; }
public virtual string ThemeIdentifier { get; }

Type Changed: PhotosUI.PHProjectRegionOfInterest

Added property:

public virtual double Quality { get; }

Type Changed: PhotosUI.PHProjectSectionContent

Added property:

public virtual AppKit.NSColor BackgroundColor { get; }

Type Changed: PhotosUI.PHProjectTypeDescription

Added constructors:

public PHProjectTypeDescription (Foundation.NSString projectType, string localizedTitle, Foundation.NSAttributedString localizedAttributedDescription, AppKit.NSImage image, PHProjectTypeDescription[] subtypeDescriptions);
public PHProjectTypeDescription (Foundation.NSString projectType, string localizedTitle, Foundation.NSAttributedString localizedAttributedDescription, AppKit.NSImage image, bool canProvideSubtypes);
public PHProjectTypeDescription (Foundation.NSString projectType, string localizedTitle, string localizedDescription, AppKit.NSImage image, bool canProvideSubtypes);

Added properties:

public virtual bool CanProvideSubtypes { get; }
public virtual Foundation.NSAttributedString LocalizedAttributedDescription { get; }

New Type: PhotosUI.IPHProjectTypeDescriptionDataSource

public interface IPHProjectTypeDescriptionDataSource : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual Foundation.NSAttributedString GetFooterTextForSubtypes (Foundation.NSString projectType);
    public virtual PHProjectTypeDescription[] GetSubtypes (Foundation.NSString projectType);
    public virtual PHProjectTypeDescription GetTypeDescription (Foundation.NSString projectType);
}

New Type: PhotosUI.IPHProjectTypeDescriptionInvalidator

public interface IPHProjectTypeDescriptionInvalidator : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void InvalidateFooterTextForSubtypes (Foundation.NSString projectType);
    public virtual void InvalidateTypeDescription (Foundation.NSString projectType);
}

New Type: PhotosUI.PHProjectCategory

[Serializable]
public enum PHProjectCategory {
    Book = 0,
    Calendar = 1,
    Card = 2,
    Other = 6,
    Prints = 3,
    Slideshow = 4,
    WallDecor = 5,
}

New Type: PhotosUI.PHProjectCategoryExtensions

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

New Type: PhotosUI.PHProjectMapElement

public class PHProjectMapElement : PhotosUI.PHProjectElement, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public PHProjectMapElement (Foundation.NSCoder coder);
    protected PHProjectMapElement (Foundation.NSObjectFlag t);
    protected PHProjectMapElement (IntPtr handle);
    // properties
    public virtual double Altitude { get; }
    public virtual MapKit.IMKAnnotation[] Annotations { get; }
    public virtual CoreLocation.CLLocationCoordinate2D CenterCoordinate { get; }
    public override IntPtr ClassHandle { get; }
    public virtual double Heading { get; }
    public virtual MapKit.MKMapType MapType { get; }
    public virtual nfloat Pitch { get; }
    // methods
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: PhotosUI.PHProjectTypeDescriptionDataSource

public abstract class PHProjectTypeDescriptionDataSource : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, IPHProjectTypeDescriptionDataSource, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected PHProjectTypeDescriptionDataSource ();
    protected PHProjectTypeDescriptionDataSource (Foundation.NSObjectFlag t);
    protected PHProjectTypeDescriptionDataSource (IntPtr handle);
    // methods
    public virtual Foundation.NSAttributedString GetFooterTextForSubtypes (Foundation.NSString projectType);
    public virtual PHProjectTypeDescription[] GetSubtypes (Foundation.NSString projectType);
    public virtual PHProjectTypeDescription GetTypeDescription (Foundation.NSString projectType);
    public virtual void WillDiscardDataSource ();
}

New Type: PhotosUI.PHProjectTypeDescriptionDataSource_Extensions

public static class PHProjectTypeDescriptionDataSource_Extensions {
    // methods
    public static void WillDiscardDataSource (this IPHProjectTypeDescriptionDataSource This);
}

Namespace QuickLookUI

Type Changed: QuickLookUI.QLPreviewPanel

Added interfaces:

AppKit.INSMenuItemValidation
AppKit.INSUserInterfaceValidations

Namespace SafariServices

Type Changed: SafariServices.SFSafariExtensionViewController

Added interface:

AppKit.INSEditor

Namespace SceneKit

Type Changed: SceneKit.SCNHitTest

Added property:

public static Foundation.NSString SearchModeKey { get; }

Type Changed: SceneKit.SCNHitTestOptions

Obsoleted properties:

[Obsolete ("Use 'SearchMode' instead.")]
 public SCNHitTestSearchMode? OptionSearchMode { get; }

Added property:

public SCNHitTestSearchMode? SearchMode { get; set; }

Type Changed: SceneKit.SCNPhysicsBody

Added properties:

public virtual nfloat AngularRestingThreshold { get; set; }
public virtual SCNVector3 CenterOfMassOffset { get; set; }
public virtual nfloat ContinuousCollisionDetectionThreshold { get; set; }
public virtual nfloat LinearRestingThreshold { get; set; }

Added method:

public virtual void SetResting (bool resting);

Type Changed: SceneKit.SCNPhysicsShape

Obsoleted methods:

[Obsolete ("Use the 'Create' method that takes a 'SCNMatrix4 []'.")]
 public static SCNPhysicsShape Create (SCNPhysicsShape[] shapes, SCNVector3[] transforms);

Added method:

public static SCNPhysicsShape Create (SCNPhysicsShape[] shapes, SCNMatrix4[] transforms);

Namespace Security

Type Changed: Security.SslCipherSuite

Added values:

SSL_NO_SUCH_CIPHERSUITE = 65535,
SSL_RSA_WITH_3DES_EDE_CBC_MD5 = 65411,
SSL_RSA_WITH_DES_CBC_MD5 = 65410,
SSL_RSA_WITH_IDEA_CBC_MD5 = 65409,
SSL_RSA_WITH_RC2_CBC_MD5 = 65408,
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178,
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170,
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179,
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171,
TLS_DHE_PSK_WITH_NULL_SHA256 = 180,
TLS_DHE_PSK_WITH_NULL_SHA384 = 181,
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165,
TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 255,
TLS_PSK_WITH_AES_128_GCM_SHA256 = 168,
TLS_PSK_WITH_AES_256_GCM_SHA384 = 169,
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182,
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172,
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183,
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173,
TLS_RSA_PSK_WITH_NULL_SHA256 = 184,
TLS_RSA_PSK_WITH_NULL_SHA384 = 185,

Type Changed: Security.SslContext

Added methods:

public string[] GetAlpnProtocols ();
public string[] GetAlpnProtocols (out int error);
public int SetAlpnProtocols (string[] protocols);

New Type: Security.SecCertificate2

public class SecCertificate2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecCertificate2 (SecCertificate certificate);
    public SecCertificate2 (IntPtr handle, bool owns);
    // properties
    public SecCertificate Certificate { get; }
}

New Type: Security.SecIdentity2

public class SecIdentity2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecIdentity2 (SecIdentity identity);
    public SecIdentity2 (SecIdentity identity, SecCertificate[] certificates);
    public SecIdentity2 (IntPtr handle, bool owns);
    // properties
    public SecCertificate[] Certificates { get; }
    public SecIdentity Identity { get; }
}

New Type: Security.SecProtocolChallenge

public sealed delegate SecProtocolChallenge : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolChallenge (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, SecProtocolChallengeComplete challengeComplete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, SecProtocolChallengeComplete challengeComplete);
}

New Type: Security.SecProtocolChallengeComplete

public sealed delegate SecProtocolChallengeComplete : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolChallengeComplete (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecIdentity2 identity, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecIdentity2 identity);
}

New Type: Security.SecProtocolKeyUpdate

public sealed delegate SecProtocolKeyUpdate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolKeyUpdate (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, System.Action complete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, System.Action complete);
}

New Type: Security.SecProtocolMetadata

public class SecProtocolMetadata : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public bool EarlyDataAccepted { get; }
    public SslCipherSuite NegotiatedCipherSuite { get; }
    public string NegotiatedProtocol { get; }
    public SslProtocol NegotiatedProtocolVersion { get; }
    public CoreFoundation.DispatchData PeerPublicKey { get; }
}

New Type: Security.SecProtocolOptions

public class SecProtocolOptions : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public void AddPreSharedKey (CoreFoundation.DispatchData parameters);
    public void AddTlsApplicationProtocol (string applicationProtocol);
    public void AddTlsCipherSuite (SslCipherSuite cipherSuite);
    public void AddTlsCipherSuiteGroup (SslCipherSuiteGroup cipherSuiteGroup);
    public void SetKeyUpdateCallback (SecProtocolKeyUpdate keyUpdate, CoreFoundation.DispatchQueue keyUpdateQueue);
    public void SetLocalIdentity (SecIdentity2 identity);
    public void SetPeerAuthenticationRequired (bool peerAuthenticationRequired);
    public void SetTlsDiffieHellmanParameters (CoreFoundation.DispatchData parameters);
    public void SetTlsFalseStartEnabled (bool falseStartEnabled);
    public void SetTlsIsFallbackAttempt (bool isFallbackAttempt);
    public void SetTlsMaxVersion (SslProtocol protocol);
    public void SetTlsMinVersion (SslProtocol protocol);
    public void SetTlsOcspEnabled (bool ocspEnabled);
    public void SetTlsRenegotiationEnabled (bool renegotiationEnabled);
    public void SetTlsResumptionEnabled (bool resumptionEnabled);
    public void SetTlsServerName (string serverName);
    public void SetTlsSignCertificateTimestampEnabled (bool sctEnabled);
    public void SetTlsTicketsEnabled (bool ticketsEnabled);
}

New Type: Security.SecProtocolVerify

public sealed delegate SecProtocolVerify : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolVerify (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, SecTrust2 trust, SecProtocolVerifyComplete verifyComplete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, SecTrust2 trust, SecProtocolVerifyComplete verifyComplete);
}

New Type: Security.SecProtocolVerifyComplete

public sealed delegate SecProtocolVerifyComplete : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolVerifyComplete (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (bool complete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (bool complete);
}

New Type: Security.SecTrust2

public class SecTrust2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecTrust2 (SecTrust trust);
    public SecTrust2 (IntPtr handle, bool owns);
    // properties
    public SecTrust Trust { get; }
}

New Type: Security.SslCipherSuiteGroup

[Serializable]
public enum SslCipherSuiteGroup {
    Ats = 3,
    AtsCompatibility = 4,
    Compatibility = 1,
    Default = 0,
    Legacy = 2,
}

Namespace Social

Type Changed: Social.SLComposeServiceViewController

Added interface:

AppKit.INSEditor

Namespace SpriteKit

Type Changed: SpriteKit.SK3DNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAction

Added interface:

Foundation.INSSecureCoding

Obsoleted properties:

[Obsolete ("Use 'TimingFunction2' instead.")]
 public virtual SKActionTimingFunction TimingFunction { get; set; }

Added property:

public virtual SKActionTimingFunction2 TimingFunction2 { get; set; }

Type Changed: SpriteKit.SKAttribute

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAttributeValue

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAudioNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKCameraNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKConstraint

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKCropNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKEffectNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKEmitterNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKFieldNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKKeyframeSequence

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKLabelNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKLightNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKMutableTexture

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKNode

Added interface:

Foundation.INSSecureCoding

Added methods:

public static SKNode Create (string filename, Foundation.NSSet<ObjCRuntime.Class> classes, out Foundation.NSError error);
public static SKNode Create (string filename, System.Type[] types, out Foundation.NSError error);

Type Changed: SpriteKit.SKPhysicsBody

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJoint

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointFixed

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointLimit

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointPin

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointSliding

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointSpring

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsWorld

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKRange

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKReachConstraints

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKReferenceNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKRegion

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKScene

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKShader

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKShapeNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKSpriteNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTexture

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTextureAtlas

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileDefinition

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileGroup

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileGroupRule

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileMapNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileSet

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTransformNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKUniform

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKVideoNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKView

Added interface:

Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: SpriteKit.SKWarpGeometry

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKWarpGeometryGrid

Added interface:

Foundation.INSSecureCoding

New Type: SpriteKit.SKActionTimingFunction2

public sealed delegate SKActionTimingFunction2 : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SKActionTimingFunction2 (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (float time, System.AsyncCallback callback, object object);
    public virtual float EndInvoke (System.IAsyncResult result);
    public virtual float Invoke (float time);
}

Namespace StoreKit

Type Changed: StoreKit.SKDownload

Obsoleted properties:

[Obsolete ("Use 'State' instead.")]
 public virtual SKDownloadState DownloadState { get; }

Added properties:

public virtual SKDownloadState State { get; }
public static double TimeRemainingUnknown { get; }

Type Changed: StoreKit.SKMutablePayment

Added property:

public virtual bool SimulatesAskToBuyInSandbox { get; set; }

Type Changed: StoreKit.SKPayment

Added property:

public virtual bool SimulatesAskToBuyInSandbox { get; set; }

Type Changed: StoreKit.SKProduct

Added properties:

public virtual Foundation.NSNumber[] ContentLengths { get; }
public virtual string ContentVersion { get; }
public virtual string SubscriptionGroupIdentifier { get; }

Type Changed: StoreKit.SKReceiptRefreshRequest

Added method:

public static void TerminateForInvalidReceipt ();

New Type: StoreKit.SKStoreReviewController

public class SKStoreReviewController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected SKStoreReviewController (Foundation.NSObjectFlag t);
    protected SKStoreReviewController (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public static void RequestReview ();
}

Namespace VideoToolbox

Type Changed: VideoToolbox.VTCompressionProperties

Added properties:

public bool? AllowOpenGop { get; set; }
public bool? MaximizePowerEfficiency { get; set; }

Type Changed: VideoToolbox.VTCompressionPropertyKey

Added properties:

public static Foundation.NSString AllowOpenGop { get; }
public static Foundation.NSString MaximizePowerEfficiency { get; }

Type Changed: VideoToolbox.VTDecompressionProperties

Added property:

public bool? MaximizePowerEfficiency { get; set; }

Type Changed: VideoToolbox.VTDecompressionPropertyKey

Added property:

public static Foundation.NSString MaximizePowerEfficiency { get; }

Namespace Vision

Type Changed: Vision.VNBarcodeObservation

Added interface:

IVNRequestRevisionProviding

Added method:

public static VNBarcodeObservation FromBoundingBox (VNBarcodeObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);

Type Changed: Vision.VNClassificationObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNCoreMLFeatureValueObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNCoreMLRequest

Added properties:

public static VNCoreMLRequestRevision CurrentRevision { get; }
public static VNCoreMLRequestRevision DefaultRevision { get; }
public virtual VNCoreMLRequestRevision Revision { get; set; }
public static VNCoreMLRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectBarcodesRequest

Added properties:

public static VNDetectBarcodesRequestRevision CurrentRevision { get; }
public static VNDetectBarcodesRequestRevision DefaultRevision { get; }
public virtual VNDetectBarcodesRequestRevision Revision { get; set; }
public static VNDetectBarcodesRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectFaceLandmarksRequest

Added properties:

public static VNDetectFaceLandmarksRequestRevision CurrentRevision { get; }
public static VNDetectFaceLandmarksRequestRevision DefaultRevision { get; }
public virtual VNDetectFaceLandmarksRequestRevision Revision { get; set; }
public static VNDetectFaceLandmarksRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectFaceRectanglesRequest

Added properties:

public static VNDetectFaceRectanglesRequestRevision CurrentRevision { get; }
public static VNDetectFaceRectanglesRequestRevision DefaultRevision { get; }
public virtual VNDetectFaceRectanglesRequestRevision Revision { get; set; }
public static VNDetectFaceRectanglesRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectHorizonRequest

Added properties:

public static VNDetectHorizonRequestRevision CurrentRevision { get; }
public static VNDetectHorizonRequestRevision DefaultRevision { get; }
public virtual VNDetectHorizonRequestRevision Revision { get; set; }
public static VNDetectHorizonRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectRectanglesRequest

Added properties:

public static VNDetectRectanglesRequestRevision CurrentRevision { get; }
public static VNDetectRectanglesRequestRevision DefaultRevision { get; }
public virtual VNDetectRectanglesRequestRevision Revision { get; set; }
public static VNDetectRectanglesRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectTextRectanglesRequest

Added properties:

public static VNDetectTextRectanglesRequestRevision CurrentRevision { get; }
public static VNDetectTextRectanglesRequestRevision DefaultRevision { get; }
public virtual VNDetectTextRectanglesRequestRevision Revision { get; set; }
public static VNDetectTextRectanglesRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNDetectedObjectObservation

Added interface:

IVNRequestRevisionProviding

Added method:

public static VNDetectedObjectObservation FromBoundingBox (VNDetectedObjectObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);

Type Changed: Vision.VNErrorCode

Added value:

UnsupportedRevision = 16,

Type Changed: Vision.VNFaceObservation

Added interface:

IVNRequestRevisionProviding

Added properties:

public virtual nfloat? Roll { get; }
public virtual nfloat? Yaw { get; }

Added methods:

public static VNFaceObservation FromBoundingBox (VNFaceObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);
public static VNFaceObservation FromBoundingBox (VNFaceObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox, nfloat? roll, nfloat? yaw);

Type Changed: Vision.VNHomographicImageRegistrationRequest

Added properties:

public static VNHomographicImageRegistrationRequestRevision CurrentRevision { get; }
public static VNHomographicImageRegistrationRequestRevision DefaultRevision { get; }
public virtual VNHomographicImageRegistrationRequestRevision Revision { get; set; }
public static VNHomographicImageRegistrationRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNHorizonObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNImageAlignmentObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNImageHomographicAlignmentObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNImageTranslationAlignmentObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNObservation

Added interface:

IVNRequestRevisionProviding

Added property:

public virtual VNRequestRevision RequestRevision { get; }

Type Changed: Vision.VNPixelBufferObservation

Added interface:

IVNRequestRevisionProviding

Type Changed: Vision.VNRectangleObservation

Added interface:

IVNRequestRevisionProviding

Added method:

public static VNRectangleObservation FromBoundingBox (VNRectangleObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);

Type Changed: Vision.VNTextObservation

Modified base type:

-Vision.VNDetectedObjectObservation
+Vision.VNRectangleObservation

Added interface:

IVNRequestRevisionProviding

Added method:

public static VNTextObservation FromBoundingBox (VNTextObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);

Type Changed: Vision.VNTrackObjectRequest

Added properties:

public static VNTrackObjectRequestRevision CurrentRevision { get; }
public static VNTrackObjectRequestRevision DefaultRevision { get; }
public virtual VNTrackObjectRequestRevision Revision { get; set; }
public static VNTrackObjectRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNTrackRectangleRequest

Added properties:

public static VNTrackRectangleRequestRevision CurrentRevision { get; }
public static VNTrackRectangleRequestRevision DefaultRevision { get; }
public virtual VNTrackRectangleRequestRevision Revision { get; set; }
public static VNTrackRectangleRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

Type Changed: Vision.VNTranslationalImageRegistrationRequest

Added properties:

public static VNTranslationalImageRegistrationRequestRevision CurrentRevision { get; }
public static VNTranslationalImageRegistrationRequestRevision DefaultRevision { get; }
public static VNTranslationalImageRegistrationRequestRevision[] SupportedRevisions { get; }
public static Foundation.NSIndexSet WeakSupportedRevisions { get; }

New Type: Vision.IVNRequestRevisionProviding

public interface IVNRequestRevisionProviding : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual VNRequestRevision RequestRevision { get; }
}

New Type: Vision.VNBarcodeObservationRequestRevision

[Serializable]
public enum VNBarcodeObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNCoreMLRequestRevision

[Serializable]
public enum VNCoreMLRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectBarcodesRequestRevision

[Serializable]
public enum VNDetectBarcodesRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectFaceLandmarksRequestRevision

[Serializable]
public enum VNDetectFaceLandmarksRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNDetectFaceRectanglesRequestRevision

[Serializable]
public enum VNDetectFaceRectanglesRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNDetectHorizonRequestRevision

[Serializable]
public enum VNDetectHorizonRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectRectanglesRequestRevision

[Serializable]
public enum VNDetectRectanglesRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectTextRectanglesRequestRevision

[Serializable]
public enum VNDetectTextRectanglesRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNDetectedObjectObservationRequestRevision

[Serializable]
public enum VNDetectedObjectObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNFaceObservationRequestRevision

[Serializable]
public enum VNFaceObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNHomographicImageRegistrationRequestRevision

[Serializable]
public enum VNHomographicImageRegistrationRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNRecognizedObjectObservation

public class VNRecognizedObjectObservation : Vision.VNDetectedObjectObservation, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IVNRequestRevisionProviding {
    // constructors
    public VNRecognizedObjectObservation (Foundation.NSCoder coder);
    protected VNRecognizedObjectObservation (Foundation.NSObjectFlag t);
    protected VNRecognizedObjectObservation (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual VNClassificationObservation[] Labels { get; }
    // methods
    public static VNRecognizedObjectObservation FromBoundingBox (CoreGraphics.CGRect boundingBox);
    public static VNRecognizedObjectObservation FromBoundingBox (VNRecognizedObjectObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox);
}

New Type: Vision.VNRecognizedObjectObservationRequestRevision

[Serializable]
public enum VNRecognizedObjectObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNRectangleObservationRequestRevision

[Serializable]
public enum VNRectangleObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNRequestRevision

[Serializable]
public enum VNRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNTextObservationRequestRevision

[Serializable]
public enum VNTextObservationRequestRevision {
    One = 1,
    Two = 2,
    Unspecified = 0,
}

New Type: Vision.VNTrackObjectRequestRevision

[Serializable]
public enum VNTrackObjectRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNTrackRectangleRequestRevision

[Serializable]
public enum VNTrackRectangleRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Type: Vision.VNTranslationalImageRegistrationRequestRevision

[Serializable]
public enum VNTranslationalImageRegistrationRequestRevision {
    One = 1,
    Unspecified = 0,
}

New Namespace AdSupport

New Type: AdSupport.ASIdentifierManager

public class ASIdentifierManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected ASIdentifierManager (Foundation.NSObjectFlag t);
    protected ASIdentifierManager (IntPtr handle);
    // properties
    public virtual Foundation.NSUuid AdvertisingIdentifier { get; }
    public override IntPtr ClassHandle { get; }
    public virtual bool IsAdvertisingTrackingEnabled { get; }
    public static ASIdentifierManager SharedManager { get; }
}

New Namespace Compression

New Type: Compression.CompressionAlgorithm

[Serializable]
public enum CompressionAlgorithm {
    LZ4 = 256,
    LZ4Raw = 257,
    Lzfse = 2049,
    Lzma = 774,
    Zlib = 517,
}

New Type: Compression.CompressionStream

public class CompressionStream : System.IO.Stream, System.IDisposable {
    // constructors
    public CompressionStream (System.IO.Stream stream, CompressionAlgorithm algorithm);
    public CompressionStream (System.IO.Stream stream, CompressionAlgorithm algorithm, bool leaveOpen);
    public CompressionStream (System.IO.Stream stream, System.IO.Compression.CompressionMode mode, CompressionAlgorithm algorithm);
    public CompressionStream (System.IO.Stream stream, System.IO.Compression.CompressionMode mode, CompressionAlgorithm algorithm, bool leaveOpen);
    // properties
    public System.IO.Stream BaseStream { get; }
    public override bool CanRead { get; }
    public override bool CanSeek { get; }
    public override bool CanWrite { get; }
    public override long Length { get; }
    public override long Position { get; set; }
    // methods
    public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
    public override System.IAsyncResult BeginWrite (byte[] array, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
    public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
    protected override void Dispose (bool disposing);
    public override int EndRead (System.IAsyncResult asyncResult);
    public override void EndWrite (System.IAsyncResult asyncResult);
    public override void Flush ();
    public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);
    public override int Read (byte[] array, int offset, int count);
    public override System.Threading.Tasks.Task<int> ReadAsync (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
    public override int ReadByte ();
    public override long Seek (long offset, System.IO.SeekOrigin origin);
    public override void SetLength (long value);
    public override void Write (byte[] array, int offset, int count);
    public override System.Threading.Tasks.Task WriteAsync (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
}

New Namespace NaturalLanguage

New Type: NaturalLanguage.NLLanguage

[Serializable]
public enum NLLanguage {
    Amharic = 1,
    Arabic = 2,
    Armenian = 3,
    Bengali = 4,
    Bulgarian = 5,
    Burmese = 6,
    Catalan = 7,
    Cherokee = 8,
    Croatian = 9,
    Czech = 10,
    Danish = 11,
    Dutch = 12,
    English = 13,
    Finnish = 14,
    French = 15,
    Georgian = 16,
    German = 17,
    Greek = 18,
    Gujarati = 19,
    Hebrew = 20,
    Hindi = 21,
    Hungarian = 22,
    Icelandic = 23,
    Indonesian = 24,
    Italian = 25,
    Japanese = 26,
    Kannada = 27,
    Khmer = 28,
    Korean = 29,
    Lao = 30,
    Malay = 31,
    Malayalam = 32,
    Marathi = 33,
    Mongolian = 34,
    Norwegian = 35,
    Oriya = 36,
    Persian = 37,
    Polish = 38,
    Portuguese = 39,
    Punjabi = 40,
    Romanian = 41,
    Russian = 42,
    SimplifiedChinese = 43,
    Sinhalese = 44,
    Slovak = 45,
    Spanish = 46,
    Swedish = 47,
    Tamil = 48,
    Telugu = 49,
    Thai = 50,
    Tibetan = 51,
    TraditionalChinese = 52,
    Turkish = 53,
    Ukrainian = 54,
    Undetermined = 0,
    Urdu = 55,
    Vietnamese = 56,
}

New Type: NaturalLanguage.NLLanguageExtensions

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

New Type: NaturalLanguage.NLLanguageRecognizer

public class NLLanguageRecognizer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public NLLanguageRecognizer ();
    protected NLLanguageRecognizer (Foundation.NSObjectFlag t);
    protected NLLanguageRecognizer (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public NLLanguage DominantLanguage { get; }
    public virtual NLLanguage[] LanguageConstraints { get; set; }
    public System.Collections.Generic.Dictionary<NLLanguage,System.Double> LanguageHints { get; set; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> NativeLanguageHints { get; set; }
    // methods
    public static NLLanguage GetDominantLanguage (string string);
    public System.Collections.Generic.Dictionary<NLLanguage,System.Double> GetLanguageHypotheses (uint maxHypotheses);
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> GetNativeLanguageHypotheses (uint maxHypotheses);
    public virtual void Process (string string);
    public virtual void Reset ();
}

New Type: NaturalLanguage.NLModel

public class NLModel : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLModel (Foundation.NSObjectFlag t);
    protected NLModel (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual NLModelConfiguration Configuration { get; }
    // methods
    public static NLModel Create (CoreML.MLModel mlModel, out Foundation.NSError error);
    public static NLModel Create (Foundation.NSUrl url, out Foundation.NSError error);
    public virtual string GetPredictedLabel (string string);
    public virtual string[] GetPredictedLabels (string[] tokens);
}

New Type: NaturalLanguage.NLModelConfiguration

public class NLModelConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public NLModelConfiguration ();
    public NLModelConfiguration (Foundation.NSCoder coder);
    protected NLModelConfiguration (Foundation.NSObjectFlag t);
    protected NLModelConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual NLLanguage Language { get; }
    public virtual uint Revision { get; }
    public virtual NLModelType Type { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static uint GetCurrentRevision (NLModelType type);
    public static Foundation.NSIndexSet GetSupportedRevisions (NLModelType type);
}

New Type: NaturalLanguage.NLModelType

[Serializable]
public enum NLModelType {
    Classifier = 0,
    Sequence = 1,
}

New Type: NaturalLanguage.NLTag

[Serializable]
public enum NLTag {
    Adjective = 6,
    Adverb = 7,
    Classifier = 15,
    CloseParenthesis = 22,
    CloseQuote = 20,
    Conjunction = 13,
    Dash = 24,
    Determiner = 9,
    Idiom = 16,
    Interjection = 14,
    Noun = 4,
    Number = 12,
    OpenParenthesis = 21,
    OpenQuote = 19,
    OrganizationName = 30,
    Other = 3,
    OtherPunctuation = 25,
    OtherWhitespace = 27,
    OtherWord = 17,
    ParagraphBreak = 26,
    Particle = 10,
    PersonalName = 28,
    PlaceName = 29,
    Preposition = 11,
    Pronoun = 8,
    Punctuation = 1,
    SentenceTerminator = 18,
    Verb = 5,
    Whitespace = 2,
    Word = 0,
    WordJoiner = 23,
}

New Type: NaturalLanguage.NLTagExtensions

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

New Type: NaturalLanguage.NLTagScheme

[Serializable]
public enum NLTagScheme {
    Language = 5,
    Lemma = 4,
    LexicalClass = 1,
    NameType = 2,
    NameTypeOrLexicalClass = 3,
    Script = 6,
    TokenType = 0,
}

New Type: NaturalLanguage.NLTagSchemeExtensions

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

New Type: NaturalLanguage.NLTagger

public class NLTagger : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLTagger (Foundation.NSObjectFlag t);
    public NLTagger (Foundation.NSString[] tagSchemes);
    public NLTagger (NLTagScheme[] tagSchemes);
    protected NLTagger (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public NLLanguage DominantLanguage { get; }
    public virtual string String { get; set; }
    public NLTagScheme[] TagSchemes { get; }
    // methods
    public virtual void EnumerateTags (Foundation.NSRange range, NLTokenUnit unit, Foundation.NSString scheme, NLTaggerOptions options, NLTaggerEnumerateTagsContinuationHandler handler);
    public void EnumerateTags (Foundation.NSRange range, NLTokenUnit unit, NLTagScheme scheme, NLTaggerOptions options, NLTaggerEnumerateTagsContinuationHandler handler);
    public static Foundation.NSString[] GetAvailableTagSchemes (NLTokenUnit unit, Foundation.NSString language);
    public static NLTagScheme[] GetAvailableTagSchemes (NLTokenUnit unit, NLLanguage language);
    public virtual NLModel[] GetModels (Foundation.NSString tagScheme);
    public NLModel[] GetModels (NLTagScheme tagScheme);
    public virtual Foundation.NSString GetTag (uint characterIndex, NLTokenUnit unit, Foundation.NSString scheme, Foundation.NSRange tokenRange);
    public NLTag GetTag (uint characterIndex, NLTokenUnit unit, NLTagScheme scheme, Foundation.NSRange tokenRange);
    public virtual Foundation.NSString[] GetTags (Foundation.NSRange range, NLTokenUnit unit, Foundation.NSString scheme, NLTaggerOptions options, out Foundation.NSValue[] tokenRanges);
    public NLTag[] GetTags (Foundation.NSRange range, NLTokenUnit unit, NLTagScheme scheme, NLTaggerOptions options, out Foundation.NSValue[] tokenRanges);
    public virtual Foundation.NSRange GetTokenRange (uint characterIndex, Foundation.NSString unit);
    public virtual void SetLanguage (Foundation.NSString language, Foundation.NSRange range);
    public void SetLanguage (NLLanguage language, Foundation.NSRange range);
    public virtual void SetModels (NLModel[] models, Foundation.NSString tagScheme);
    public void SetModels (NLModel[] models, NLTagScheme tagScheme);
    public virtual void SetOrthography (Foundation.NSOrthography orthography, Foundation.NSRange range);
}

New Type: NaturalLanguage.NLTaggerEnumerateTagsContinuationHandler

public sealed delegate NLTaggerEnumerateTagsContinuationHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NLTaggerEnumerateTagsContinuationHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (Foundation.NSString tag, 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.NSString tag, Foundation.NSRange tokenRange, out bool stop);
}

New Type: NaturalLanguage.NLTaggerOptions

[Serializable]
[Flags]
public enum NLTaggerOptions {
    JoinContractions = 32,
    JoinNames = 16,
    OmitOther = 8,
    OmitPunctuation = 2,
    OmitWhitespace = 4,
    OmitWords = 1,
}

New Type: NaturalLanguage.NLTokenUnit

[Serializable]
public enum NLTokenUnit {
    Document = 3,
    Paragraph = 2,
    Sentence = 1,
    Word = 0,
}

New Type: NaturalLanguage.NLTokenizer

public class NLTokenizer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLTokenizer (Foundation.NSObjectFlag t);
    public NLTokenizer (NLTokenUnit unit);
    protected NLTokenizer (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string String { get; set; }
    public virtual NLTokenUnit Unit { get; }
    // methods
    public virtual void EnumerateTokens (Foundation.NSRange range, NLTokenizerEnumerateContinuationHandler handler);
    public virtual Foundation.NSRange GetTokenRange (uint characterIndex);
    public virtual Foundation.NSValue[] GetTokens (Foundation.NSRange range);
    public void SetLanguage (NLLanguage language);
}

New Type: NaturalLanguage.NLTokenizerAttributes

[Serializable]
[Flags]
public enum NLTokenizerAttributes {
    Emoji = 4,
    Numeric = 1,
    Symbolic = 2,
}

New Type: NaturalLanguage.NLTokenizerEnumerateContinuationHandler

public sealed delegate NLTokenizerEnumerateContinuationHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NLTokenizerEnumerateContinuationHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (Foundation.NSRange tokenRange, NLTokenizerAttributes flags, out bool stop, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
    public virtual void Invoke (Foundation.NSRange tokenRange, NLTokenizerAttributes flags, out bool stop);
}

New Namespace Network

New Type: Network.NWAdvertiseDescriptor

public class NWAdvertiseDescriptor : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWAdvertiseDescriptor (IntPtr handle, bool owns);
    // properties
    public bool NoAutoRename { get; set; }
    // methods
    public static NWAdvertiseDescriptor CreateBonjourService (string name, string type, string domain);
    public void SetTxtRecord (string txt);
}

New Type: Network.NWConnection

public class NWConnection : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWConnection (NWEndpoint endpoint, NWParameters parameters);
    public NWConnection (IntPtr handle, bool owns);
    // properties
    public NWPath CurrentPath { get; }
    public string Description { get; }
    public NWEndpoint Endpoint { get; }
    public uint MaximumDatagramSize { get; }
    public NWParameters Parameters { get; }
    // methods
    public void Batch (System.Action method);
    public void Cancel ();
    public void CancelCurrentEndpoint ();
    public void ForceCancel ();
    public NWProtocolMetadata GetProtocolMetadata (NWProtocolDefinition definition);
    public void Receive (uint minimumIncompleteLength, uint maximumLength, NWConnectionReceiveCompletion callback);
    public void ReceiveData (uint minimumIncompleteLength, uint maximumLength, NWConnectionReceiveDispatchDataCompletion callback);
    public void ReceiveMessage (NWConnectionReceiveCompletion callback);
    public void ReceiveMessageData (NWConnectionReceiveDispatchDataCompletion callback);
    public void Restart ();
    public void Send (CoreFoundation.DispatchData buffer, NWContentContext context, bool isComplete, System.Action<NWError> callback);
    public void Send (byte[] buffer, NWContentContext context, bool isComplete, System.Action<NWError> callback);
    public void Send (byte[] buffer, int start, int length, NWContentContext context, bool isComplete, System.Action<NWError> callback);
    public void SendIdempotent (CoreFoundation.DispatchData buffer, NWContentContext context, bool isComplete);
    public void SendIdempotent (byte[] buffer, NWContentContext context, bool isComplete);
    public void SetBetterPathAvailableHandler (System.Action<bool> callback);
    public void SetBooleanChangeHandler (System.Action<bool> callback);
    public void SetPathChangedHandler (System.Action<NWPath> callback);
    public void SetQueue (CoreFoundation.DispatchQueue queue);
    public void SetStateChangeHandler (System.Action<NWConnectionState,Network.NWError> stateHandler);
    public void Start ();
}

New Type: Network.NWConnectionReceiveCompletion

public sealed delegate NWConnectionReceiveCompletion : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NWConnectionReceiveCompletion (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (IntPtr data, uint dataSize, NWContentContext context, bool isComplete, NWError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (IntPtr data, uint dataSize, NWContentContext context, bool isComplete, NWError error);
}

New Type: Network.NWConnectionReceiveDispatchDataCompletion

public sealed delegate NWConnectionReceiveDispatchDataCompletion : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NWConnectionReceiveDispatchDataCompletion (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (CoreFoundation.DispatchData data, NWContentContext context, bool isComplete, NWError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (CoreFoundation.DispatchData data, NWContentContext context, bool isComplete, NWError error);
}

New Type: Network.NWConnectionState

[Serializable]
public enum NWConnectionState {
    Cancelled = 5,
    Failed = 4,
    Invalid = 0,
    Preparing = 2,
    Ready = 3,
    Waiting = 1,
}

New Type: Network.NWContentContext

public class NWContentContext : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWContentContext (string contextIdentifier);
    public NWContentContext (IntPtr handle, bool owns);
    // properties
    public NWContentContext Antecedent { get; set; }
    public static NWContentContext DefaultMessage { get; }
    public static NWContentContext DefaultStream { get; }
    public ulong ExpirationMilliseconds { get; set; }
    public static NWContentContext FinalMessage { get; }
    public string Identifier { get; }
    public bool IsFinal { get; set; }
    public double RelativePriority { get; set; }
    // methods
    public NWProtocolMetadata GetProtocolMetadata (NWProtocolDefinition protocolDefinition);
    public void IterateProtocolMetadata (System.Action<NWProtocolDefinition,Network.NWProtocolMetadata> callback);
    protected override void Release ();
    public void SetMetadata (NWProtocolMetadata protocolMetadata);
}

New Type: Network.NWEndpoint

public class NWEndpoint : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWEndpoint (IntPtr handle, bool owns);
    // properties
    public string Address { get; }
    public string BonjourServiceDomain { get; }
    public string BonjourServiceName { get; }
    public string BonjourServiceType { get; }
    public string Hostname { get; }
    public string Port { get; }
    public ushort PortNumber { get; }
    public NWEndpointType Type { get; }
    // methods
    public static NWEndpoint Create (string hostname, string port);
    public static NWEndpoint CreateBonjourService (string name, string serviceType, string domain);
}

New Type: Network.NWEndpointType

[Serializable]
public enum NWEndpointType {
    Address = 1,
    BonjourService = 3,
    Host = 2,
    Invalid = 0,
}

New Type: Network.NWError

public class NWError : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWError (IntPtr handle, bool owns);
    // properties
    public CoreFoundation.CFException CFError { get; }
    public int ErrorCode { get; }
    public NWErrorDomain ErrorDomain { get; }
}

New Type: Network.NWErrorDomain

[Serializable]
public enum NWErrorDomain {
    Dns = 2,
    Invalid = 0,
    Posix = 1,
    Tls = 3,
}

New Type: Network.NWIPEcnFlag

[Serializable]
public enum NWIPEcnFlag {
    Ce = 3,
    Ect = 2,
    Ect1 = 1,
    NonEct = 0,
}

New Type: Network.NWIPVersion

[Serializable]
public enum NWIPVersion {
    Any = 0,
    Version4 = 1,
    Version6 = 2,
}

New Type: Network.NWInterface

public class NWInterface : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWInterface (IntPtr handle, bool owns);
    // properties
    public uint Index { get; }
    public NWInterfaceType InterfaceType { get; }
    public string Name { get; }
}

New Type: Network.NWInterfaceType

[Serializable]
public enum NWInterfaceType {
    Cellular = 2,
    Loopback = 4,
    Other = 0,
    Wifi = 1,
    Wired = 3,
}

New Type: Network.NWListener

public class NWListener : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWListener (IntPtr handle, bool owns);
    // properties
    public ushort Port { get; }
    // methods
    public void Cancel ();
    public static NWListener Create (NWParameters parameters);
    public static NWListener Create (NWConnection connection, NWParameters parameters);
    public static NWListener Create (string port, NWParameters parameters);
    public void SetAdvertiseDescriptor (NWAdvertiseDescriptor descriptor);
    public void SetAdvertisedEndpointChangedHandler (NWListener.AdvertisedEndpointChanged callback);
    public void SetNewConnectionHandler (System.Action<NWConnection> callback);
    public void SetQueue (CoreFoundation.DispatchQueue queue);
    public void SetStateChangedHandler (System.Action<NWListenerState,Network.NWError> callback);
    public void Start ();

    // inner types
    public sealed delegate AdvertisedEndpointChanged : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
        // constructors
        public NWListener.AdvertisedEndpointChanged (object object, IntPtr method);
        // methods
        public virtual System.IAsyncResult BeginInvoke (NWEndpoint endpoint, bool added, System.AsyncCallback callback, object object);
        public virtual void EndInvoke (System.IAsyncResult result);
        public virtual void Invoke (NWEndpoint endpoint, bool added);
    }
}

New Type: Network.NWListenerState

[Serializable]
public enum NWListenerState {
    Cancelled = 4,
    Failed = 3,
    Invalid = 0,
    Ready = 2,
    Waiting = 1,
}

New Type: Network.NWMultiPathService

[Serializable]
public enum NWMultiPathService {
    Aggregate = 3,
    Disabled = 0,
    Handover = 1,
    Interactive = 2,
}

New Type: Network.NWParameters

public class NWParameters : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWParameters ();
    public NWParameters (IntPtr handle, bool owns);
    // properties
    public NWParametersExpiredDnsBehavior ExpiredDnsBehavior { get; set; }
    public bool FastOpenEnabled { get; set; }
    public NWInterface Interface { get; }
    public NWEndpoint LocalEndpoint { get; set; }
    public bool LocalOnly { get; set; }
    public NWMultiPathService MultipathService { get; set; }
    public bool PreferNoProxy { get; set; }
    public bool ProhibitExpensive { get; set; }
    public NWProtocolStack ProtocolStack { get; }
    public NWInterfaceType RequiredInterfaceType { get; set; }
    public bool ReuseLocalAddress { get; set; }
    public NWServiceClass ServiceClass { get; set; }
    // methods
    public void ClearProhibitedInterfaceTypes ();
    public void ClearProhibitedInterfaces ();
    public NWParameters Clone ();
    public static NWParameters CreateSecureTcp (System.Action<NWProtocolOptions> configureTls, System.Action<NWProtocolOptions> configureTcp);
    public static NWParameters CreateSecureUdp (System.Action<NWProtocolOptions> configureTls, System.Action<NWProtocolOptions> configureUdp);
    public static NWParameters CreateTcp (System.Action<NWProtocolOptions> configureTcp);
    public static NWParameters CreateUdp (System.Action<NWProtocolOptions> configureUdp);
    public void IterateProhibitedInterfaces (System.Func<NWInterface,System.Boolean> iterationCallback);
    public void IterateProhibitedInterfaces (System.Func<NWInterfaceType,System.Boolean> callback);
    public void ProhibitInterface (NWInterface iface);
    public void ProhibitInterfaceType (NWInterfaceType ifaceType);
    public void RequireInterface (NWInterface iface);
}

New Type: Network.NWParametersExpiredDnsBehavior

[Serializable]
public enum NWParametersExpiredDnsBehavior {
    Allow = 1,
    Default = 0,
    Prohibit = 2,
}

New Type: Network.NWPath

public class NWPath : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWPath (IntPtr handle, bool owns);
    // properties
    public NWEndpoint EffectiveLocalEndpoint { get; }
    public NWEndpoint EffectiveRemoteEndpoint { get; }
    public bool HasDns { get; }
    public bool HasIPV4 { get; }
    public bool HasIPV6 { get; }
    public bool IsExpensive { get; }
    public NWPathStatus Status { get; }
    // methods
    public void EnumerateInterfaces (System.Action<NWInterface> callback);
    public bool EqualsTo (NWPath other);
    public bool UsesInterfaceType (NWInterfaceType type);
}

New Type: Network.NWPathMonitor

public class NWPathMonitor : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWPathMonitor ();
    public NWPathMonitor (NWInterfaceType interfaceType);
    public NWPathMonitor (IntPtr handle, bool owns);
    // methods
    public void Cancel ();
    public void SetQueue (CoreFoundation.DispatchQueue queue);
    public void Start ();
}

New Type: Network.NWPathStatus

[Serializable]
public enum NWPathStatus {
    Invalid = 0,
    Satisfiable = 3,
    Satisfied = 1,
    Unsatisfied = 2,
}

New Type: Network.NWProtocolDefinition

public class NWProtocolDefinition : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWProtocolDefinition (IntPtr handle, bool owns);
    // properties
    public static NWProtocolDefinition IPDefinition { get; }
    public static NWProtocolDefinition TcpDefinition { get; }
    public static NWProtocolDefinition TlsDefinition { get; }
    public static NWProtocolDefinition UdpDefinition { get; }
    // methods
    public bool Equals (object other);
}

New Type: Network.NWProtocolMetadata

public class NWProtocolMetadata : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWProtocolMetadata (IntPtr handle, bool owns);
    // properties
    public NWIPEcnFlag IPMetadataEcnFlag { get; set; }
    public bool IsIP { get; }
    public bool IsTls { get; }
    public bool IsUdp { get; }
    public NWProtocolDefinition ProtocolDefinition { get; }
    public Security.SecProtocolMetadata SecProtocolMetadata { get; }
    public NWServiceClass ServiceClass { get; set; }
    // methods
    public uint TcpGetAvailableReceiveBuffer ();
    public uint TcpGetAvailableSendBuffer ();
}

New Type: Network.NWProtocolOptions

public class NWProtocolOptions : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWProtocolOptions (IntPtr handle, bool owns);
    // properties
    public NWProtocolDefinition ProtocolDefinition { get; }
    public Security.SecProtocolOptions TlsProtocolOptions { get; }
    // methods
    public static NWProtocolOptions CreateTcp ();
    public static NWProtocolOptions CreateTls ();
    public static NWProtocolOptions CreateUdp ();
    public void IPSetDisableFragmentation (bool disableFragmentation);
    public void IPSetHopLimit (byte hopLimit);
    public void IPSetUseMinimumMtu (bool useMinimumMtu);
    public void IPSetVersion (NWIPVersion version);
    public void TcpSetConnectionTimeout (uint connectionTimeout);
    public void TcpSetDisableAckStretching (bool disableAckStretching);
    public void TcpSetDisableEcn (bool disableEcn);
    public void TcpSetEnableFastOpen (bool enableFastOpen);
    public void TcpSetEnableKeepAlive (bool enableKeepAlive);
    public void TcpSetKeepAliveCount (uint keepaliveCount);
    public void TcpSetKeepAliveIdleTime (uint keepaliveIdleTime);
    public void TcpSetKeepAliveInterval (uint keepaliveInterval);
    public void TcpSetMaximumSegmentSize (uint maximumSegmentSize);
    public void TcpSetNoDelay (bool noDelay);
    public void TcpSetNoOptions (bool noOptions);
    public void TcpSetNoPush (bool noPush);
    public void TcpSetPersistTimeout (uint persistTimeout);
    public void TcpSetRetransmitConnectionDropTime (uint retransmitConnectionDropTime);
    public void TcpSetRetransmitFinDrop (bool retransmitFinDrop);
    public void UdpSetPreferNoChecksum (bool preferNoChecksums);
}

New Type: Network.NWProtocolStack

public class NWProtocolStack : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public NWProtocolStack (IntPtr handle, bool owns);
    // properties
    public NWProtocolOptions InternetProtocol { get; }
    public NWProtocolOptions TransportProtocol { get; set; }
    // methods
    public void ClearApplicationProtocols ();
    public void IterateProtocols (System.Action<NWProtocolOptions> callback);
    public void PrependApplicationProtocol (NWProtocolOptions options);
}

New Type: Network.NWServiceClass

[Serializable]
public enum NWServiceClass {
    Background = 1,
    BestEffort = 0,
    InteractiveVideo = 2,
    InteractiveVoice = 3,
    ResponsiveData = 4,
    Signaling = 5,
}

New Namespace UserNotifications

New Type: UserNotifications.IUNUserNotificationCenterDelegate

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

New Type: UserNotifications.UNAlertStyle

[Serializable]
public enum UNAlertStyle {
    Alert = 2,
    Banner = 1,
    None = 0,
}

New Type: UserNotifications.UNAuthorizationOptions

[Serializable]
[Flags]
public enum UNAuthorizationOptions {
    Alert = 4,
    Badge = 1,
    CarPlay = 8,
    CriticalAlert = 16,
    None = 0,
    ProvidesAppNotificationSettings = 32,
    Provisional = 64,
    Sound = 2,
}

New Type: UserNotifications.UNAuthorizationStatus

[Serializable]
public enum UNAuthorizationStatus {
    Authorized = 2,
    Denied = 1,
    NotDetermined = 0,
    Provisional = 3,
}

New Type: UserNotifications.UNCalendarNotificationTrigger

public class UNCalendarNotificationTrigger : UserNotifications.UNNotificationTrigger, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNCalendarNotificationTrigger (Foundation.NSCoder coder);
    protected UNCalendarNotificationTrigger (Foundation.NSObjectFlag t);
    protected UNCalendarNotificationTrigger (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDateComponents DateComponents { get; }
    public virtual Foundation.NSDate NextTriggerDate { get; }
    // methods
    public static UNCalendarNotificationTrigger CreateTrigger (Foundation.NSDateComponents dateComponents, bool repeats);
}

New Type: UserNotifications.UNErrorCode

[Serializable]
public enum UNErrorCode {
    AttachmentCorrupt = 105,
    AttachmentInvalidFileSize = 102,
    AttachmentInvalidUrl = 100,
    AttachmentMoveIntoDataStoreFailed = 104,
    AttachmentNotInDataStore = 103,
    AttachmentUnrecognizedType = 101,
    NotificationInvalidNoContent = 1401,
    NotificationInvalidNoDate = 1400,
    NotificationsNotAllowed = 1,
}

New Type: UserNotifications.UNErrorCodeExtensions

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

New Type: UserNotifications.UNMutableNotificationContent

public class UNMutableNotificationContent : UserNotifications.UNNotificationContent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNMutableNotificationContent ();
    public UNMutableNotificationContent (Foundation.NSCoder coder);
    protected UNMutableNotificationContent (Foundation.NSObjectFlag t);
    protected UNMutableNotificationContent (IntPtr handle);
    // properties
    public virtual UNNotificationAttachment[] Attachments { get; set; }
    public virtual Foundation.NSNumber Badge { get; set; }
    public virtual string Body { get; set; }
    public virtual string CategoryIdentifier { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual UNNotificationSound Sound { get; set; }
    public virtual string Subtitle { get; set; }
    public virtual string SummaryArgument { get; set; }
    public virtual uint SummaryArgumentCount { get; set; }
    public virtual string ThreadIdentifier { get; set; }
    public virtual string Title { get; set; }
    public virtual Foundation.NSDictionary UserInfo { get; set; }
}

New Type: UserNotifications.UNNotification

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

New Type: UserNotifications.UNNotificationAction

public class UNNotificationAction : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNNotificationAction (Foundation.NSCoder coder);
    protected UNNotificationAction (Foundation.NSObjectFlag t);
    protected UNNotificationAction (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Identifier { get; }
    public virtual UNNotificationActionOptions Options { get; }
    public virtual string Title { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static UNNotificationAction FromIdentifier (string identifier, string title, UNNotificationActionOptions options);
}

New Type: UserNotifications.UNNotificationActionOptions

[Serializable]
[Flags]
public enum UNNotificationActionOptions {
    AuthenticationRequired = 1,
    Destructive = 2,
    Foreground = 4,
    None = 0,
}

New Type: UserNotifications.UNNotificationAttachment

public class UNNotificationAttachment : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNNotificationAttachment (Foundation.NSCoder coder);
    protected UNNotificationAttachment (Foundation.NSObjectFlag t);
    protected UNNotificationAttachment (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Identifier { get; }
    public virtual string Type { get; }
    public virtual Foundation.NSUrl Url { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static UNNotificationAttachment FromIdentifier (string identifier, Foundation.NSUrl url, Foundation.NSDictionary options, out Foundation.NSError error);
    public static UNNotificationAttachment FromIdentifier (string identifier, Foundation.NSUrl url, UNNotificationAttachmentOptions attachmentOptions, out Foundation.NSError error);
}

New Type: UserNotifications.UNNotificationAttachmentOptions

public class UNNotificationAttachmentOptions : Foundation.DictionaryContainer {
    // constructors
    public UNNotificationAttachmentOptions ();
    public UNNotificationAttachmentOptions (Foundation.NSDictionary dictionary);
    // properties
    public CoreGraphics.CGRect? ThumbnailClippingRect { get; set; }
    public bool? ThumbnailHidden { get; set; }
    public CoreMedia.CMTime? ThumbnailTime { get; set; }
    public double? ThumbnailTimeInSeconds { get; set; }
    public string TypeHint { get; set; }
}

New Type: UserNotifications.UNNotificationCategory

public class UNNotificationCategory : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNNotificationCategory (Foundation.NSCoder coder);
    protected UNNotificationCategory (Foundation.NSObjectFlag t);
    protected UNNotificationCategory (IntPtr handle);
    // properties
    public virtual UNNotificationAction[] Actions { get; }
    public virtual string CategorySummaryFormat { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string HiddenPreviewsBodyPlaceholder { get; }
    public virtual string Identifier { get; }
    public virtual string[] IntentIdentifiers { get; }
    public virtual UNNotificationCategoryOptions Options { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static UNNotificationCategory FromIdentifier (string identifier, UNNotificationAction[] actions, string[] intentIdentifiers, UNNotificationCategoryOptions options);
    public static UNNotificationCategory FromIdentifier (string identifier, UNNotificationAction[] actions, string[] intentIdentifiers, string hiddenPreviewsBodyPlaceholder, UNNotificationCategoryOptions options);
    public static UNNotificationCategory FromIdentifier (string identifier, UNNotificationAction[] actions, string[] intentIdentifiers, string hiddenPreviewsBodyPlaceholder, string categorySummaryFormat, UNNotificationCategoryOptions options);
}

New Type: UserNotifications.UNNotificationCategoryOptions

[Serializable]
[Flags]
public enum UNNotificationCategoryOptions {
    AllowInCarPlay = 2,
    CustomDismissAction = 1,
    HiddenPreviewsShowSubtitle = 8,
    HiddenPreviewsShowTitle = 4,
    None = 0,
}

New Type: UserNotifications.UNNotificationContent

public class UNNotificationContent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNNotificationContent (Foundation.NSCoder coder);
    protected UNNotificationContent (Foundation.NSObjectFlag t);
    protected UNNotificationContent (IntPtr handle);
    // properties
    public virtual UNNotificationAttachment[] Attachments { get; }
    public virtual Foundation.NSNumber Badge { get; }
    public virtual string Body { get; }
    public virtual string CategoryIdentifier { get; }
    public override IntPtr ClassHandle { get; }
    public virtual UNNotificationSound Sound { get; }
    public virtual string Subtitle { get; }
    public virtual string SummaryArgument { get; }
    public virtual uint SummaryArgumentCount { get; }
    public virtual string ThreadIdentifier { get; }
    public virtual string Title { get; }
    public virtual Foundation.NSDictionary UserInfo { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: UserNotifications.UNNotificationPresentationOptions

[Serializable]
[Flags]
public enum UNNotificationPresentationOptions {
    Alert = 4,
    Badge = 1,
    None = 0,
    Sound = 2,
}

New Type: UserNotifications.UNNotificationRequest

public class UNNotificationRequest : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNNotificationRequest (Foundation.NSCoder coder);
    protected UNNotificationRequest (Foundation.NSObjectFlag t);
    protected UNNotificationRequest (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual UNNotificationContent Content { get; }
    public virtual string Identifier { get; }
    public virtual UNNotificationTrigger Trigger { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static UNNotificationRequest FromIdentifier (string identifier, UNNotificationContent content, UNNotificationTrigger trigger);
}

New Type: UserNotifications.UNNotificationResponse

public class UNNotificationResponse : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNNotificationResponse (Foundation.NSCoder coder);
    protected UNNotificationResponse (Foundation.NSObjectFlag t);
    protected UNNotificationResponse (IntPtr handle);
    // properties
    public virtual Foundation.NSString ActionIdentifier { get; }
    public override IntPtr ClassHandle { get; }
    public bool IsCustomAction { get; }
    public bool IsDefaultAction { get; }
    public bool IsDismissAction { get; }
    public virtual UNNotification Notification { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: UserNotifications.UNNotificationServiceExtension

public class UNNotificationServiceExtension : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected UNNotificationServiceExtension (Foundation.NSObjectFlag t);
    protected UNNotificationServiceExtension (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual void DidReceiveNotificationRequest (UNNotificationRequest request, System.Action<UNNotificationContent> contentHandler);
    public virtual void TimeWillExpire ();
}

New Type: UserNotifications.UNNotificationSetting

[Serializable]
public enum UNNotificationSetting {
    Disabled = 1,
    Enabled = 2,
    NotSupported = 0,
}

New Type: UserNotifications.UNNotificationSettings

public class UNNotificationSettings : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNNotificationSettings (Foundation.NSCoder coder);
    protected UNNotificationSettings (Foundation.NSObjectFlag t);
    protected UNNotificationSettings (IntPtr handle);
    // properties
    public virtual UNNotificationSetting AlertSetting { get; }
    public virtual UNAlertStyle AlertStyle { get; }
    public virtual UNAuthorizationStatus AuthorizationStatus { get; }
    public virtual UNNotificationSetting BadgeSetting { get; }
    public override IntPtr ClassHandle { get; }
    public virtual UNNotificationSetting CriticalAlertSetting { get; }
    public virtual UNNotificationSetting LockScreenSetting { get; }
    public virtual UNNotificationSetting NotificationCenterSetting { get; }
    public virtual bool ProvidesAppNotificationSettings { get; }
    public virtual UNShowPreviewsSetting ShowPreviewsSetting { get; }
    public virtual UNNotificationSetting SoundSetting { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: UserNotifications.UNNotificationSound

public class UNNotificationSound : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNNotificationSound (Foundation.NSCoder coder);
    protected UNNotificationSound (Foundation.NSObjectFlag t);
    protected UNNotificationSound (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static UNNotificationSound Default { get; }
    public static UNNotificationSound DefaultCriticalSound { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static UNNotificationSound GetCriticalSound (string name);
    public static UNNotificationSound GetCriticalSound (string name, float volume);
    public static UNNotificationSound GetDefaultCriticalSound (float volume);
    public static UNNotificationSound GetSound (string name);
}

New Type: UserNotifications.UNNotificationTrigger

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

New Type: UserNotifications.UNPushNotificationTrigger

public class UNPushNotificationTrigger : UserNotifications.UNNotificationTrigger, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNPushNotificationTrigger (Foundation.NSCoder coder);
    protected UNPushNotificationTrigger (Foundation.NSObjectFlag t);
    protected UNPushNotificationTrigger (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
}

New Type: UserNotifications.UNShowPreviewsSetting

[Serializable]
public enum UNShowPreviewsSetting {
    Always = 0,
    Never = 2,
    WhenAuthenticated = 1,
}

New Type: UserNotifications.UNTextInputNotificationAction

public class UNTextInputNotificationAction : UserNotifications.UNNotificationAction, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNTextInputNotificationAction (Foundation.NSCoder coder);
    protected UNTextInputNotificationAction (Foundation.NSObjectFlag t);
    protected UNTextInputNotificationAction (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string TextInputButtonTitle { get; }
    public virtual string TextInputPlaceholder { get; }
    // methods
    public static UNTextInputNotificationAction FromIdentifier (string identifier, string title, UNNotificationActionOptions options, string textInputButtonTitle, string textInputPlaceholder);
}

New Type: UserNotifications.UNTextInputNotificationResponse

public class UNTextInputNotificationResponse : UserNotifications.UNNotificationResponse, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNTextInputNotificationResponse (Foundation.NSCoder coder);
    protected UNTextInputNotificationResponse (Foundation.NSObjectFlag t);
    protected UNTextInputNotificationResponse (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string UserText { get; }
}

New Type: UserNotifications.UNTimeIntervalNotificationTrigger

public class UNTimeIntervalNotificationTrigger : UserNotifications.UNNotificationTrigger, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public UNTimeIntervalNotificationTrigger (Foundation.NSCoder coder);
    protected UNTimeIntervalNotificationTrigger (Foundation.NSObjectFlag t);
    protected UNTimeIntervalNotificationTrigger (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate NextTriggerDate { get; }
    public virtual double TimeInterval { get; }
    // methods
    public static UNTimeIntervalNotificationTrigger CreateTrigger (double timeInterval, bool repeats);
}

New Type: UserNotifications.UNUserNotificationCenter

public class UNUserNotificationCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected UNUserNotificationCenter (Foundation.NSObjectFlag t);
    protected UNUserNotificationCenter (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static UNUserNotificationCenter Current { get; }
    public virtual IUNUserNotificationCenterDelegate Delegate { get; set; }
    public virtual bool SupportsContentExtensions { get; }
    // methods
    public virtual void AddNotificationRequest (UNNotificationRequest request, System.Action<Foundation.NSError> completionHandler);
    public virtual System.Threading.Tasks.Task AddNotificationRequestAsync (UNNotificationRequest request);
    protected override void Dispose (bool disposing);
    public virtual void GetDeliveredNotifications (System.Action<UNNotification[]> completionHandler);
    public virtual System.Threading.Tasks.Task<UNNotification[]> GetDeliveredNotificationsAsync ();
    public virtual void GetNotificationCategories (System.Action<Foundation.NSSet<UNNotificationCategory>> completionHandler);
    public virtual System.Threading.Tasks.Task<Foundation.NSSet<UNNotificationCategory>> GetNotificationCategoriesAsync ();
    public virtual void GetNotificationSettings (System.Action<UNNotificationSettings> completionHandler);
    public virtual System.Threading.Tasks.Task<UNNotificationSettings> GetNotificationSettingsAsync ();
    public virtual void GetPendingNotificationRequests (System.Action<UNNotificationRequest[]> completionHandler);
    public virtual System.Threading.Tasks.Task<UNNotificationRequest[]> GetPendingNotificationRequestsAsync ();
    public virtual void RemoveAllDeliveredNotifications ();
    public virtual void RemoveAllPendingNotificationRequests ();
    public virtual void RemoveDeliveredNotifications (string[] identifiers);
    public virtual void RemovePendingNotificationRequests (string[] identifiers);
    public virtual void RequestAuthorization (UNAuthorizationOptions options, System.Action<System.Boolean,Foundation.NSError> completionHandler);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestAuthorizationAsync (UNAuthorizationOptions options);
    public virtual void SetNotificationCategories (Foundation.NSSet<UNNotificationCategory> categories);
}

New Type: UserNotifications.UNUserNotificationCenterDelegate

public class UNUserNotificationCenterDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IUNUserNotificationCenterDelegate {
    // constructors
    public UNUserNotificationCenterDelegate ();
    protected UNUserNotificationCenterDelegate (Foundation.NSObjectFlag t);
    protected UNUserNotificationCenterDelegate (IntPtr handle);
    // methods
    public virtual void DidReceiveNotificationResponse (UNUserNotificationCenter center, UNNotificationResponse response, System.Action completionHandler);
    public virtual void OpenSettings (UNUserNotificationCenter center, UNNotification notification);
    public virtual void WillPresentNotification (UNUserNotificationCenter center, UNNotification notification, System.Action<UNNotificationPresentationOptions> completionHandler);
}

New Type: UserNotifications.UNUserNotificationCenterDelegate_Extensions

public static class UNUserNotificationCenterDelegate_Extensions {
    // methods
    public static void DidReceiveNotificationResponse (this IUNUserNotificationCenterDelegate This, UNUserNotificationCenter center, UNNotificationResponse response, System.Action completionHandler);
    public static void OpenSettings (this IUNUserNotificationCenterDelegate This, UNUserNotificationCenter center, UNNotification notification);
    public static void WillPresentNotification (this IUNUserNotificationCenterDelegate This, UNUserNotificationCenter center, UNNotification notification, System.Action<UNNotificationPresentationOptions> completionHandler);
}

New Namespace VideoSubscriberAccount

New Type: VideoSubscriberAccount.IVSAccountManagerDelegate

public interface IVSAccountManagerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void DismissViewController (VSAccountManager accountManager, AppKit.NSViewController viewController);
    public virtual void PresentViewController (VSAccountManager accountManager, AppKit.NSViewController viewController);
}

New Type: VideoSubscriberAccount.VSAccountAccessStatus

[Serializable]
public enum VSAccountAccessStatus {
    Denied = 2,
    Granted = 3,
    NotDetermined = 0,
    Restricted = 1,
}

New Type: VideoSubscriberAccount.VSAccountManager

public class VSAccountManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public VSAccountManager ();
    protected VSAccountManager (Foundation.NSObjectFlag t);
    protected VSAccountManager (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual IVSAccountManagerDelegate Delegate { get; set; }
    // methods
    protected override void Dispose (bool disposing);
}

New Type: VideoSubscriberAccount.VSAccountManagerAccessOptions

public class VSAccountManagerAccessOptions : Foundation.DictionaryContainer {
    // constructors
    public VSAccountManagerAccessOptions ();
    public VSAccountManagerAccessOptions (Foundation.NSDictionary dictionary);
    // properties
    public bool? CheckAccessOptionPrompt { get; set; }
}

New Type: VideoSubscriberAccount.VSAccountManagerDelegate

public abstract class VSAccountManagerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IVSAccountManagerDelegate {
    // constructors
    protected VSAccountManagerDelegate ();
    protected VSAccountManagerDelegate (Foundation.NSObjectFlag t);
    protected VSAccountManagerDelegate (IntPtr handle);
    // methods
    public virtual void DismissViewController (VSAccountManager accountManager, AppKit.NSViewController viewController);
    public virtual void PresentViewController (VSAccountManager accountManager, AppKit.NSViewController viewController);
    public virtual bool ShouldAuthenticateAccountProvider (VSAccountManager accountManager, string accountProviderIdentifier);
}

New Type: VideoSubscriberAccount.VSAccountManagerDelegate_Extensions

public static class VSAccountManagerDelegate_Extensions {
    // methods
    public static bool ShouldAuthenticateAccountProvider (this IVSAccountManagerDelegate This, VSAccountManager accountManager, string accountProviderIdentifier);
}

New Type: VideoSubscriberAccount.VSAccountManagerResult

public class VSAccountManagerResult : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected VSAccountManagerResult (Foundation.NSObjectFlag t);
    protected VSAccountManagerResult (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual void Cancel ();
}

New Type: VideoSubscriberAccount.VSAccountMetadata

public class VSAccountMetadata : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public VSAccountMetadata ();
    protected VSAccountMetadata (Foundation.NSObjectFlag t);
    protected VSAccountMetadata (IntPtr handle);
    // properties
    public virtual string AccountProviderIdentifier { get; }
    public virtual VSAccountProviderResponse AccountProviderResponse { get; }
    public virtual Foundation.NSDate AuthenticationExpirationDate { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string SamlAttributeQueryResponse { get; }
    public virtual Foundation.NSData VerificationData { get; }
}

New Type: VideoSubscriberAccount.VSAccountMetadataRequest

public class VSAccountMetadataRequest : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public VSAccountMetadataRequest ();
    protected VSAccountMetadataRequest (Foundation.NSObjectFlag t);
    protected VSAccountMetadataRequest (IntPtr handle);
    // properties
    public virtual string[] AttributeNames { get; set; }
    public virtual string ChannelIdentifier { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual string[] FeaturedAccountProviderIdentifiers { get; set; }
    public virtual bool ForceAuthentication { get; set; }
    public virtual bool IncludeAccountProviderIdentifier { get; set; }
    public virtual bool IncludeAuthenticationExpirationDate { get; set; }
    public virtual bool InterruptionAllowed { get; set; }
    public virtual string LocalizedVideoTitle { get; set; }
    public virtual string[] SupportedAccountProviderIdentifiers { get; set; }
    public VSAccountProviderAuthenticationScheme[] SupportedAuthenticationSchemes { get; set; }
    protected virtual Foundation.NSString[] SupportedAuthenticationSchemesString { get; set; }
    public virtual string VerificationToken { get; set; }
}

New Type: VideoSubscriberAccount.VSAccountProviderAuthenticationScheme

[Serializable]
public enum VSAccountProviderAuthenticationScheme {
    Saml = 0,
}

New Type: VideoSubscriberAccount.VSAccountProviderAuthenticationSchemeExtensions

public static class VSAccountProviderAuthenticationSchemeExtensions {
    // methods
    public static Foundation.NSString GetConstant (this VSAccountProviderAuthenticationScheme self);
    public static Foundation.NSString[] GetConstants (this VSAccountProviderAuthenticationScheme[] self);
    public static VSAccountProviderAuthenticationScheme GetValue (Foundation.NSString constant);
    public static VSAccountProviderAuthenticationScheme[] GetValues (Foundation.NSString[] constants);
}

New Type: VideoSubscriberAccount.VSAccountProviderResponse

public class VSAccountProviderResponse : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public VSAccountProviderResponse ();
    protected VSAccountProviderResponse (Foundation.NSObjectFlag t);
    protected VSAccountProviderResponse (IntPtr handle);
    // properties
    public VSAccountProviderAuthenticationScheme AuthenticationScheme { get; }
    protected virtual Foundation.NSString AuthenticationSchemeString { get; }
    public virtual string Body { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string Status { get; }
}

New Type: VideoSubscriberAccount.VSErrorCode

[Serializable]
public enum VSErrorCode {
    AccessNotGranted = 0,
    InvalidVerificationToken = 5,
    ProviderRejected = 4,
    ServiceTemporarilyUnavailable = 3,
    UnsupportedProvider = 1,
    UserCancelled = 2,
}

New Type: VideoSubscriberAccount.VSErrorCodeExtensions

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

New Type: VideoSubscriberAccount.VSErrorInfo

public class VSErrorInfo : Foundation.DictionaryContainer {
    // constructors
    public VSErrorInfo ();
    public VSErrorInfo (Foundation.NSDictionary dictionary);
    // properties
    public string AccountProviderResponse { get; }
    public string SamlResponse { get; }
    public string SamlResponseStatus { get; }
    public string UnsupportedProviderIdentifier { get; }
}

New Type: VideoSubscriberAccount.VSSubscription

public class VSSubscription : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public VSSubscription ();
    protected VSSubscription (Foundation.NSObjectFlag t);
    protected VSSubscription (IntPtr handle);
    // properties
    public virtual VSSubscriptionAccessLevel AccessLevel { get; set; }
    public virtual string BillingIdentifier { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate ExpirationDate { get; set; }
    public virtual string[] TierIdentifiers { get; set; }
}

New Type: VideoSubscriberAccount.VSSubscriptionAccessLevel

[Serializable]
public enum VSSubscriptionAccessLevel {
    FreeWithAccount = 1,
    Paid = 2,
    Unknown = 0,
}

New Type: VideoSubscriberAccount.VSSubscriptionRegistrationCenter

public class VSSubscriptionRegistrationCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected VSSubscriptionRegistrationCenter (Foundation.NSObjectFlag t);
    protected VSSubscriptionRegistrationCenter (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static VSSubscriptionRegistrationCenter Default { get; }
    // methods
    public virtual void SetCurrentSubscription (VSSubscription currentSubscription);
}

New Namespace iTunesLibrary

New Type: iTunesLibrary.ITLibAlbum

public class ITLibAlbum : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ITLibAlbum ();
    protected ITLibAlbum (Foundation.NSObjectFlag t);
    protected ITLibAlbum (IntPtr handle);
    // properties
    public virtual string AlbumArtist { get; }
    public virtual ITLibArtist Artist { get; }
    public override IntPtr ClassHandle { get; }
    public virtual bool Compilation { get; }
    public virtual uint DiscCount { get; }
    public virtual uint DiscNumber { get; }
    public virtual bool Gapless { get; }
    public virtual Foundation.NSNumber PersistentId { get; }
    public virtual nint Rating { get; }
    public virtual bool RatingComputed { get; }
    public virtual string SortAlbumArtist { get; }
    public virtual string SortTitle { get; }
    public virtual string Title { get; }
    public virtual uint TrackCount { get; }
}

New Type: iTunesLibrary.ITLibArtist

public class ITLibArtist : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ITLibArtist ();
    protected ITLibArtist (Foundation.NSObjectFlag t);
    protected ITLibArtist (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Name { get; }
    public virtual Foundation.NSNumber PersistentId { get; }
    public virtual string SortName { get; }
}

New Type: iTunesLibrary.ITLibArtwork

public class ITLibArtwork : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ITLibArtwork ();
    protected ITLibArtwork (Foundation.NSObjectFlag t);
    protected ITLibArtwork (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual AppKit.NSImage Image { get; }
    public virtual Foundation.NSData ImageData { get; }
    public virtual ITLibArtworkFormat ImageDataFormat { get; }
}

New Type: iTunesLibrary.ITLibArtworkFormat

[Serializable]
public enum ITLibArtworkFormat {
    Bitmap = 1,
    Bmp = 6,
    Gif = 4,
    Jpeg = 2,
    Jpeg2000 = 3,
    None = 0,
    Pict = 8,
    Png = 5,
    Tiff = 7,
}

New Type: iTunesLibrary.ITLibDistinguishedPlaylistKind

[Serializable]
public enum ITLibDistinguishedPlaylistKind {
    Applications = 51,
    Audiobooks = 4,
    Books = 4,
    ClassicalMusic = 48,
    HomeVideos = 50,
    LibraryMusicVideos = 49,
    LovedSongs = 52,
    Movies = 1,
    Music = 3,
    MusicShowsAndMovies = 53,
    MusicVideos = 47,
    MyTopRated = 43,
    NightiesMusic = 42,
    None = 0,
    Podcasts = 7,
    Purchases = 16,
    RecentlyAdded = 46,
    RecentlyPlayed = 45,
    Ringtones = 5,
    TVShows = 2,
    Top25MostPlayed = 44,
    VoiceMemos = 14,
    iTunesU = 26,
}

New Type: iTunesLibrary.ITLibExportFeature

[Serializable]
public enum ITLibExportFeature {
    ITLibExportFeatureNone = 0,
}

New Type: iTunesLibrary.ITLibInitOptions

[Serializable]
public enum ITLibInitOptions {
    LazyLoadData = 1,
    None = 0,
}

New Type: iTunesLibrary.ITLibMediaEntity

public class ITLibMediaEntity : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ITLibMediaEntity ();
    protected ITLibMediaEntity (Foundation.NSObjectFlag t);
    protected ITLibMediaEntity (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSNumber PersistentId { get; }
    // methods
    public virtual void EnumerateValues (Foundation.NSSet<Foundation.NSString> properties, ITLibMediaEntityEnumerateValuesHandler handler);
    public virtual void EnumerateValuesExcept (Foundation.NSSet<Foundation.NSString> properties, ITLibMediaEntityEnumerateValuesHandler handler);
    public virtual Foundation.NSObject GetValue (string property);
}

New Type: iTunesLibrary.ITLibMediaEntityEnumerateValuesHandler

public sealed delegate ITLibMediaEntityEnumerateValuesHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public ITLibMediaEntityEnumerateValuesHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (Foundation.NSString property, Foundation.NSObject value, out bool stop, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
    public virtual void Invoke (Foundation.NSString property, Foundation.NSObject value, out bool stop);
}

New Type: iTunesLibrary.ITLibMediaEntityProperty

[Serializable]
public enum ITLibMediaEntityProperty {
    PersistentId = 0,
}

New Type: iTunesLibrary.ITLibMediaEntityPropertyExtensions

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

New Type: iTunesLibrary.ITLibMediaItem

public class ITLibMediaItem : iTunesLibrary.ITLibMediaEntity, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ITLibMediaItem ();
    protected ITLibMediaItem (Foundation.NSObjectFlag t);
    protected ITLibMediaItem (IntPtr handle);
    // properties
    public virtual Foundation.NSDate AddedDate { get; }
    public virtual ITLibAlbum Album { get; }
    public virtual ITLibArtist Artist { get; }
    public virtual ITLibArtwork Artwork { get; }
    public virtual bool ArtworkAvailable { get; }
    public virtual uint BeatsPerMinute { get; }
    public virtual uint Bitrate { get; }
    public virtual string Category { get; }
    public override IntPtr ClassHandle { get; }
    public virtual bool Cloud { get; }
    public virtual string Comments { get; }
    public virtual string Composer { get; }
    public virtual string ContentRating { get; }
    public virtual string Description { get; }
    public virtual bool DrmProtected { get; }
    public virtual ulong FileSize { get; }
    public virtual uint FileType { get; }
    public virtual string Genre { get; }
    public virtual string Grouping { get; }
    public virtual string Kind { get; }
    public virtual Foundation.NSDate LastPlayedDate { get; }
    public virtual Foundation.NSUrl Location { get; }
    public virtual ITLibMediaItemLocationType LocationType { get; }
    public virtual ITLibMediaItemLyricsContentRating LyricsContentRating { get; }
    public virtual ITLibMediaItemMediaKind MediaKind { get; }
    public virtual Foundation.NSDate ModifiedDate { get; }
    public virtual uint PlayCount { get; }
    public virtual ITLibMediaItemPlayStatus PlayStatus { get; }
    public virtual bool Purchased { get; }
    public virtual nint Rating { get; }
    public virtual bool RatingComputed { get; }
    public virtual Foundation.NSDate ReleaseDate { get; }
    public virtual uint SampleRate { get; }
    public virtual uint Size { get; }
    public virtual uint SkipCount { get; }
    public virtual Foundation.NSDate SkipDate { get; }
    public virtual string SortComposer { get; }
    public virtual string SortTitle { get; }
    public virtual uint StartTime { get; }
    public virtual uint StopTime { get; }
    public virtual string Title { get; }
    public virtual uint TotalTime { get; }
    public virtual uint TrackNumber { get; }
    public virtual bool UserDisabled { get; }
    public virtual bool Video { get; }
    public virtual ITLibMediaItemVideoInfo VideoInfo { get; }
    public virtual string VoiceOverLanguage { get; }
    public virtual nint VolumeAdjustment { get; }
    public virtual uint VolumeNormalizationEnergy { get; }
    public virtual uint Year { get; }
}

New Type: iTunesLibrary.ITLibMediaItemLocationType

[Serializable]
public enum ITLibMediaItemLocationType {
    File = 1,
    Remote = 3,
    Unknown = 0,
    Url = 2,
}

New Type: iTunesLibrary.ITLibMediaItemLyricsContentRating

[Serializable]
public enum ITLibMediaItemLyricsContentRating {
    Clean = 2,
    Explicit = 1,
    None = 0,
}

New Type: iTunesLibrary.ITLibMediaItemMediaKind

[Serializable]
public enum ITLibMediaItemMediaKind {
    AlertTone = 21,
    Audiobook = 5,
    Book = 19,
    DigitalBooklet = 15,
    HomeVideo = 12,
    InteractiveBooklet = 9,
    Movie = 3,
    MusicVideo = 7,
    PdfBook = 20,
    PdfBooklet = 6,
    Podcast = 4,
    Ringtone = 14,
    Song = 2,
    TVShow = 8,
    Unknown = 1,
    VoiceMemo = 17,
    iOSApplication = 16,
    iTunesU = 18,
}

New Type: iTunesLibrary.ITLibMediaItemPlayStatus

[Serializable]
public enum ITLibMediaItemPlayStatus {
    None = 0,
    PartiallyPlayed = 1,
    Unplayed = 2,
}

New Type: iTunesLibrary.ITLibMediaItemVideoInfo

public class ITLibMediaItemVideoInfo : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ITLibMediaItemVideoInfo ();
    protected ITLibMediaItemVideoInfo (Foundation.NSObjectFlag t);
    protected ITLibMediaItemVideoInfo (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string Episode { get; }
    public virtual nint EpisodeOrder { get; }
    public virtual bool HD { get; }
    public virtual uint Season { get; }
    public virtual string Series { get; }
    public virtual string SortSeries { get; }
    public virtual uint VideoHeight { get; }
    public virtual uint VideoWidth { get; }
}

New Type: iTunesLibrary.ITLibPlaylist

public class ITLibPlaylist : iTunesLibrary.ITLibMediaEntity, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ITLibPlaylist ();
    protected ITLibPlaylist (Foundation.NSObjectFlag t);
    protected ITLibPlaylist (IntPtr handle);
    // properties
    public virtual bool AllItemsPlaylist { get; }
    public override IntPtr ClassHandle { get; }
    public virtual ITLibDistinguishedPlaylistKind DistinguishedKind { get; }
    public virtual ITLibMediaItem[] Items { get; }
    public virtual ITLibPlaylistKind Kind { get; }
    public virtual bool Master { get; }
    public virtual string Name { get; }
    public virtual Foundation.NSNumber ParentId { get; }
    public virtual bool Visible { get; }
}

New Type: iTunesLibrary.ITLibPlaylistKind

[Serializable]
public enum ITLibPlaylistKind {
    Folder = 3,
    Genius = 2,
    GeniusMix = 4,
    Regular = 0,
    Smart = 1,
}

New Type: iTunesLibrary.ITLibPlaylistProperty

[Serializable]
public enum ITLibPlaylistProperty {
    AllItemsPlaylist = 1,
    DistinguisedKind = 2,
    Items = 6,
    Kind = 7,
    Master = 3,
    Name = 0,
    ParentPersistentId = 4,
    Visible = 5,
}

New Type: iTunesLibrary.ITLibPlaylistPropertyExtensions

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

New Type: iTunesLibrary.ITLibrary

public class ITLibrary : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public ITLibrary ();
    protected ITLibrary (Foundation.NSObjectFlag t);
    protected ITLibrary (IntPtr handle);
    public ITLibrary (string requestedAPIVersion, out Foundation.NSError error);
    public ITLibrary (string requestedAPIVersion, ITLibInitOptions options, out Foundation.NSError error);
    // properties
    public virtual ITLibMediaItem[] AllMediaItems { get; }
    public virtual ITLibPlaylist[] AllPlaylists { get; }
    public virtual uint ApiMajorVersion { get; }
    public virtual uint ApiMinorVersion { get; }
    public virtual string ApplicationVersion { get; }
    public override IntPtr ClassHandle { get; }
    public virtual ITLibExportFeature Features { get; }
    public virtual Foundation.NSUrl MediaFolderLocation { get; }
    public virtual Foundation.NSUrl MusicFolderLocation { get; }
    public virtual bool ShowContentRating { get; }
    // methods
    public virtual ITLibArtwork GetArtwork (Foundation.NSUrl mediaFileUrl);
    public static ITLibrary GetLibrary (string requestedAPIVersion, out Foundation.NSError error);
    public static ITLibrary GetLibrary (string requestedAPIVersion, ITLibInitOptions options, out Foundation.NSError error);
    public virtual bool ReloadData ();
    public virtual void UnloadData ();
}

New Type: iTunesLibrary.MediaItemProperty

[Serializable]
public enum MediaItemProperty {
    AddedDate = 30,
    AlbumArtist = 2,
    AlbumDiscCount = 8,
    AlbumDiscNumber = 9,
    AlbumIsCompilation = 7,
    AlbumIsGapless = 6,
    AlbumRating = 3,
    AlbumRatingComputed = 4,
    AlbumTitle = 0,
    AlbumTrackCount = 10,
    ArtistName = 11,
    Artwork = 69,
    BeatsPerMinute = 23,
    BitRate = 22,
    Category = 24,
    Comments = 25,
    Composer = 26,
    ContentRating = 28,
    Description = 32,
    FileSize = 55,
    FileType = 34,
    Genre = 35,
    Grouping = 36,
    HasArtwork = 21,
    IsDrmProtected = 45,
    IsPurchased = 46,
    IsUserDisabled = 33,
    IsVideo = 37,
    Kind = 38,
    LastPlayDate = 43,
    Location = 68,
    LocationType = 62,
    LyricsContentRating = 29,
    MediaKind = 67,
    ModifiedDate = 31,
    MovementCount = 47,
    MovementName = 48,
    MovementNumber = 49,
    PlayCount = 42,
    PlayStatus = 44,
    Rating = 50,
    RatingComputed = 51,
    ReleaseDate = 52,
    SampleRate = 53,
    Size = 54,
    SkipDate = 57,
    SortAlbumArtist = 5,
    SortAlbumTitle = 1,
    SortArtistName = 12,
    SortComposer = 27,
    SortTitle = 40,
    StartTime = 58,
    StopTime = 59,
    Title = 39,
    TotalTime = 60,
    TrackNumber = 61,
    UserSkipCount = 56,
    VideoEpisode = 19,
    VideoEpisodeOrder = 20,
    VideoHeight = 15,
    VideoIsHD = 13,
    VideoSeason = 18,
    VideoSeries = 16,
    VideoSortSeries = 17,
    VideoWidth = 14,
    VoiceOverLanguage = 63,
    VolumeAdjustment = 64,
    VolumeNormalizationEnergy = 41,
    Work = 65,
    Year = 66,
}

New Type: iTunesLibrary.MediaItemPropertyExtensions

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

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.