Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created January 8, 2024 09:11

Revisions

  1. vs-mobiletools-engineering-service2 created this gist Jan 8, 2024.
    2,380 changes: 2,380 additions & 0 deletions Microsoft.macOS.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,2380 @@
    # API diff: Microsoft.macOS.dll

    ## Microsoft.macOS.dll

    ### Namespace AVFoundation

    #### Type Changed: AVFoundation.AVAssetDownloadDelegate

    Added methods:

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



    ### Namespace AppKit

    #### Type Changed: AppKit.NSApplication

    Added methods:

    ```csharp
    public virtual void ActivateContextHelpMode (Foundation.NSObject sender);
    public virtual void RegisterUserInterfaceItemSearchHandler (INSUserInterfaceItemSearching handler);
    public virtual bool SearchStringInUserInterface (string searchString, string stringToSearch, Foundation.NSRange searchRange, out Foundation.NSRange foundRange);
    public virtual void ShowHelp (Foundation.NSObject sender);
    public virtual void UnregisterUserInterfaceItemSearchHandler (INSUserInterfaceItemSearching handler);
    ```


    #### Type Changed: AppKit.NSBezelStyle

    Added values:

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


    #### Type Changed: AppKit.NSFontDescriptor

    Added method:

    ```csharp
    public virtual NSFontDescriptor Create (Foundation.NSString design);
    ```


    #### Type Changed: AppKit.NSGraphics

    Obsoleted methods:

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

    Added method:

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


    #### New Type: AppKit.INSUserInterfaceItemSearching

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

    #### New Type: AppKit.NSAttributedStringDocumentReadingOptions

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

    #### New Type: AppKit.NSAttributedStringDocumentType

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

    #### New Type: AppKit.NSAttributedStringDocumentTypeExtensions

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

    #### New Type: AppKit.NSUserInterfaceItemSearching_Extensions

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


    ### Namespace AudioToolbox

    #### Type Changed: AudioToolbox.MusicPlayer

    Modified methods:

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

    Added methods:

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



    ### Namespace AutomaticAssessmentConfiguration

    #### Type Changed: AutomaticAssessmentConfiguration.AEAssessmentApplication

    Added constructors:

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



    ### Namespace CoreMidi

    #### Type Changed: CoreMidi.MidiPacket

    Obsoleted properties:

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



    ### Namespace CoreText

    #### Type Changed: CoreText.CTFontDescriptor

    Obsoleted methods:

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

    Added method:

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


    #### Type Changed: CoreText.CTFontDescriptorAttributes

    Added property:

    ```csharp
    public bool? WeakEnabled { get; set; }
    ```


    #### New Type: CoreText.CTFontDescriptorMatchingProgress

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


    ### Namespace Foundation

    #### Type Changed: Foundation.NSAttributedStringNameKey

    Added values:

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


    #### Type Changed: Foundation.NSDataWritingOptions

    Added value:

    ```csharp
    FileProtectionCompleteWhenUserInactive = 1342177280,
    ```


    #### Type Changed: Foundation.NSError

    Added property:

    ```csharp
    public static NSString NSNetServicesErrorCode { get; }
    ```


    #### Type Changed: Foundation.NSFileProtectionType

    Added value:

    ```csharp
    CompleteWhenUserInactive = 4,
    ```


    #### Type Changed: Foundation.NSLocale

    Added properties:

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


    #### Type Changed: Foundation.NSMorphology

    Added properties:

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


    #### Type Changed: Foundation.NSUrl

    Added property:

    ```csharp
    public static NSString DirectoryEntryCountKey { get; }
    ```

    Added method:

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


    #### Type Changed: Foundation.NSUrlComponents

    Added method:

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


    #### Type Changed: Foundation.NSUrlSession

    Added methods:

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


    #### Type Changed: Foundation.NSUrlSessionConfiguration

    Added property:

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


    #### Type Changed: Foundation.NSUrlSessionTaskDelegate

    Added methods:

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


    #### Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions

    Added methods:

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


    #### Type Changed: Foundation.NSUrlSessionUploadTask

    Added property:

    ```csharp
    public static NSString ResumeDataKey { get; }
    ```

    Added methods:

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


    #### New Type: Foundation.NSGrammaticalCase

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

    #### New Type: Foundation.NSGrammaticalDefiniteness

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

    #### New Type: Foundation.NSGrammaticalDetermination

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

    #### New Type: Foundation.NSGrammaticalPerson

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

    #### New Type: Foundation.NSGrammaticalPronounType

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

    #### New Type: Foundation.NSMorphologyPronoun

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

    #### New Type: Foundation.NSTermOfAddress

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

    #### New Type: Foundation.NSUrlSessionUploadTaskResumeRequest

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


    ### Namespace GameKit

    #### Type Changed: GameKit.GKAchievement

    Added methods:

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


    #### Type Changed: GameKit.GKAchievementDescription

    Added property:

    ```csharp
    public virtual Foundation.NSNumber RarityPercent { get; }
    ```


    #### Type Changed: GameKit.GKLeaderboardEntry

    Added methods:

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


    #### Type Changed: GameKit.GKVoiceChat

    Added property:

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


    #### New Type: GameKit.GKChallengeComposeControllerResult

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

    #### New Type: GameKit.GKChallengeComposeHandler2

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


    ### Namespace Metal

    #### Type Changed: Metal.IMTLAccelerationStructure

    Added property:

    ```csharp
    public virtual MTLResourceId GpuResourceId { get; }
    ```


    #### Type Changed: Metal.IMTLRenderPipelineState

    Added properties:

    ```csharp
    public virtual MTLResourceId GpuResourceId { get; }
    public virtual UIntPtr MaxTotalThreadgroupsPerMeshGrid { get; }
    public virtual UIntPtr MeshThreadExecutionWidth { get; }
    ```


    #### Type Changed: Metal.IMTLTexture

    Added property:

    ```csharp
    public virtual MTLTextureCompressionType CompressionType { get; }
    ```


    #### Type Changed: Metal.MTLAccelerationStructureGeometryDescriptor

    Added properties:

    ```csharp
    public virtual IMTLBuffer PrimitiveDataBuffer { get; set; }
    public virtual UIntPtr PrimitiveDataBufferOffset { get; set; }
    public virtual UIntPtr PrimitiveDataElementSize { get; set; }
    public virtual UIntPtr PrimitiveDataStride { get; set; }
    ```


    #### Type Changed: Metal.MTLAccelerationStructureInstanceDescriptorType

    Added values:

    ```csharp
    Indirect = 3,
    IndirectMotion = 4,
    ```


    #### Type Changed: Metal.MTLAccelerationStructureMotionTriangleGeometryDescriptor

    Added properties:

    ```csharp
    public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
    public virtual UIntPtr TransformationMatrixBufferOffset { get; set; }
    public virtual MTLAttributeFormat VertexFormat { get; set; }
    ```


    #### Type Changed: Metal.MTLAccelerationStructureTriangleGeometryDescriptor

    Added properties:

    ```csharp
    public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
    public virtual UIntPtr TransformationMatrixBufferOffset { get; set; }
    public virtual MTLAttributeFormat VertexFormat { get; set; }
    ```


    #### Type Changed: Metal.MTLAttributeFormat

    Added values:

    ```csharp
    FloatRG11B10 = 54,
    FloatRGB9E5 = 55,
    ```


    #### Type Changed: Metal.MTLBinaryArchiveError

    Added value:

    ```csharp
    InternalError = 4,
    ```


    #### Type Changed: Metal.MTLCompileOptions

    Added properties:

    ```csharp
    public virtual bool AllowReferencingUndefinedSymbols { get; set; }
    public virtual MTLCompileSymbolVisibility CompileSymbolVisibility { get; set; }
    public virtual UIntPtr MaxTotalThreadsPerThreadgroup { get; set; }
    public virtual MTLLibraryOptimizationLevel OptimizationLevel { get; set; }
    ```


    #### Type Changed: Metal.MTLComputePipelineReflection

    Added property:

    ```csharp
    public virtual IMTLBinding[] Bindings { get; }
    ```


    #### Type Changed: Metal.MTLDataType

    Added values:

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


    #### Type Changed: Metal.MTLDevice_Extensions

    Added methods:

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


    #### Type Changed: Metal.MTLFunctionOptions

    Added value:

    ```csharp
    StoreFunctionInMetalScript = 2,
    ```


    #### Type Changed: Metal.MTLFunctionType

    Added values:

    ```csharp
    Mesh = 7,
    Object = 8,
    ```


    #### Type Changed: Metal.MTLGpuFamily

    Added values:

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


    #### Type Changed: Metal.MTLHeapDescriptor

    Added property:

    ```csharp
    public virtual MTLSparsePageSize SparsePageSize { get; set; }
    ```


    #### Type Changed: Metal.MTLIndirectCommandBufferDescriptor

    Added properties:

    ```csharp
    public virtual UIntPtr MaxKernelThreadgroupMemoryBindCount { get; set; }
    public virtual UIntPtr MaxMeshBufferBindCount { get; set; }
    public virtual UIntPtr MaxObjectBufferBindCount { get; set; }
    public virtual UIntPtr MaxObjectThreadgroupMemoryBindCount { get; set; }
    public virtual bool SupportDynamicAttributeStride { get; set; }
    public virtual bool SupportRayTracing { get; set; }
    ```


    #### Type Changed: Metal.MTLIndirectCommandType

    Added values:

    ```csharp
    DrawMeshThreadgroups = 128,
    DrawMeshThreads = 256,
    ```


    #### Type Changed: Metal.MTLIntersectionFunctionSignature

    Added values:

    ```csharp
    CurveData = 128,
    MaxLevels = 64,
    ```


    #### Type Changed: Metal.MTLLanguageVersion

    Added values:

    ```csharp
    v3_0 = 196608,
    v3_1 = 196609,
    ```


    #### Type Changed: Metal.MTLRenderPipelineReflection

    Added properties:

    ```csharp
    public virtual IMTLBinding[] FragmentBindings { get; }
    public virtual IMTLBinding[] MeshBindings { get; }
    public virtual IMTLBinding[] ObjectBindings { get; }
    public virtual IMTLBinding[] TileBindings { get; }
    public virtual IMTLBinding[] VertexBindings { get; }
    ```


    #### Type Changed: Metal.MTLRenderStages

    Added values:

    ```csharp
    Mesh = 16,
    Object = 8,
    ```


    #### Type Changed: Metal.MTLResourceStateCommandEncoder_Extensions

    Added method:

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


    #### Type Changed: Metal.MTLTextureDescriptor

    Added property:

    ```csharp
    public virtual MTLTextureCompressionType CompressionType { get; set; }
    ```


    #### Type Changed: Metal.MTLTextureUsage

    Added value:

    ```csharp
    ShaderAtomic = 32,
    ```


    #### Type Changed: Metal.MTLTexture_Extensions

    Added method:

    ```csharp
    public static MTLResourceId GetGpuResourceId (this IMTLTexture This);
    ```


    #### Type Changed: Metal.MTLVertexFormat

    Added values:

    ```csharp
    FloatRG11B10 = 54,
    FloatRgb9E5 = 55,
    ```


    #### New Type: Metal.IMTLBinding

    ```csharp
    public interface IMTLBinding : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual MTLBindingAccess Access { get; }
    public virtual bool Argument { get; }
    public virtual UIntPtr Index { get; }
    public virtual string Name { get; }
    public virtual MTLBindingType Type { get; }
    public virtual bool Used { get; }
    }
    ```

    #### New Type: Metal.IMTLBufferBinding

    ```csharp
    public interface IMTLBufferBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual UIntPtr BufferAlignment { get; }
    public virtual UIntPtr BufferDataSize { get; }
    public virtual MTLDataType BufferDataType { get; }
    public virtual MTLPointerType BufferPointerType { get; }
    public virtual MTLStructType BufferStructType { get; }
    }
    ```

    #### New Type: Metal.IMTLObjectPayloadBinding

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

    #### New Type: Metal.IMTLTextureBinding

    ```csharp
    public interface IMTLTextureBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual UIntPtr ArrayLength { get; }
    public virtual bool DepthTexture { get; }
    public virtual MTLDataType TextureDataType { get; }
    public virtual MTLTextureType TextureType { get; }
    }
    ```

    #### New Type: Metal.IMTLThreadgroupBinding

    ```csharp
    public interface IMTLThreadgroupBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual UIntPtr ThreadgroupMemoryAlignment { get; }
    public virtual UIntPtr ThreadgroupMemoryDataSize { get; }
    }
    ```

    #### New Type: Metal.MTLAccelerationStructureCommandEncoder_Extensions

    ```csharp
    public static class MTLAccelerationStructureCommandEncoder_Extensions {
    // methods
    public static void RefitAccelerationStructure (this IMTLAccelerationStructureCommandEncoder This, IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset, MTLAccelerationStructureRefitOptions options);
    }
    ```

    #### New Type: Metal.MTLAccelerationStructureCurveGeometryDescriptor

    ```csharp
    public class MTLAccelerationStructureCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
    // constructors
    public MTLAccelerationStructureCurveGeometryDescriptor ();
    protected MTLAccelerationStructureCurveGeometryDescriptor (Foundation.NSObjectFlag t);
    protected MTLAccelerationStructureCurveGeometryDescriptor (ObjCRuntime.NativeHandle handle);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual IMTLBuffer ControlPointBuffer { get; set; }
    public virtual UIntPtr ControlPointBufferOffset { get; set; }
    public virtual UIntPtr ControlPointCount { get; set; }
    public virtual MTLAttributeFormat ControlPointFormat { get; set; }
    public virtual UIntPtr ControlPointStride { get; set; }
    public virtual MTLCurveBasis CurveBasis { get; set; }
    public virtual MTLCurveEndCaps CurveEndCaps { get; set; }
    public virtual MTLCurveType CurveType { get; set; }
    public virtual IMTLBuffer IndexBuffer { get; set; }
    public virtual UIntPtr IndexBufferOffset { get; set; }
    public virtual MTLIndexType IndexType { get; set; }
    public virtual IMTLBuffer RadiusBuffer { get; set; }
    public virtual UIntPtr RadiusBufferOffset { get; set; }
    public virtual MTLAttributeFormat RadiusFormat { get; set; }
    public virtual UIntPtr RadiusStride { get; set; }
    public virtual UIntPtr SegmentControlPointCount { get; set; }
    public virtual UIntPtr SegmentCount { get; set; }
    // methods
    public static MTLAccelerationStructureCurveGeometryDescriptor GetDescriptor ();
    }
    ```

    #### New Type: Metal.MTLAccelerationStructureMotionCurveGeometryDescriptor

    ```csharp
    public class MTLAccelerationStructureMotionCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
    // constructors
    public MTLAccelerationStructureMotionCurveGeometryDescriptor ();
    protected MTLAccelerationStructureMotionCurveGeometryDescriptor (Foundation.NSObjectFlag t);
    protected MTLAccelerationStructureMotionCurveGeometryDescriptor (ObjCRuntime.NativeHandle handle);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual MTLMotionKeyframeData[] ControlPointBuffers { get; set; }
    public virtual UIntPtr ControlPointCount { get; set; }
    public virtual MTLAttributeFormat ControlPointFormat { get; set; }
    public virtual UIntPtr ControlPointStride { get; set; }
    public virtual MTLCurveBasis CurveBasis { get; set; }
    public virtual MTLCurveEndCaps CurveEndCaps { get; set; }
    public virtual MTLCurveType CurveType { get; set; }
    public virtual IMTLBuffer IndexBuffer { get; set; }
    public virtual UIntPtr IndexBufferOffset { get; set; }
    public virtual MTLIndexType IndexType { get; set; }
    public virtual MTLMotionKeyframeData[] RadiusBuffers { get; set; }
    public virtual MTLAttributeFormat RadiusFormat { get; set; }
    public virtual UIntPtr RadiusStride { get; set; }
    public virtual UIntPtr SegmentControlPointCount { get; set; }
    public virtual UIntPtr SegmentCount { get; set; }
    // methods
    public static MTLAccelerationStructureMotionCurveGeometryDescriptor GetDescriptor ();
    }
    ```

    #### New Type: Metal.MTLAccelerationStructurePassDescriptor

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

    #### New Type: Metal.MTLAccelerationStructurePassSampleBufferAttachmentDescriptor

    ```csharp
    public class MTLAccelerationStructurePassSampleBufferAttachmentDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public MTLAccelerationStructurePassSampleBufferAttachmentDescriptor ();
    protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (Foundation.NSObjectFlag t);
    protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (ObjCRuntime.NativeHandle handle);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual UIntPtr EndOfEncoderSampleIndex { get; set; }
    public virtual IMTLCounterSampleBuffer SampleBuffer { get; set; }
    public virtual UIntPtr StartOfEncoderSampleIndex { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    }
    ```

    #### New Type: Metal.MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray

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

    #### New Type: Metal.MTLAccelerationStructureRefitOptions

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

    #### New Type: Metal.MTLArchitecture

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

    #### New Type: Metal.MTLBindingAccess

    ```csharp
    [Serializable]
    public enum MTLBindingAccess {
    ReadOnly = 0,
    ReadWrite = 1,
    WriteOnly = 2,
    }
    ```

    #### New Type: Metal.MTLBindingType

    ```csharp
    [Serializable]
    public enum MTLBindingType {
    Buffer = 0,
    Imageblock = 17,
    ImageblockData = 16,
    InstanceAccelerationStructure = 26,
    IntersectionFunctionTable = 27,
    ObjectPayload = 34,
    PrimitiveAccelerationStructure = 25,
    Sampler = 3,
    Texture = 2,
    ThreadgroupMemory = 1,
    VisibleFunctionTable = 24,
    }
    ```

    #### New Type: Metal.MTLBuffer_Extensions

    ```csharp
    public static class MTLBuffer_Extensions {
    // methods
    public static ulong GetGpuAddress (this IMTLBuffer This);
    }
    ```

    #### New Type: Metal.MTLCommandBuffer_Extensions

    ```csharp
    public static class MTLCommandBuffer_Extensions {
    // methods
    public static IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (this IMTLCommandBuffer This, MTLAccelerationStructurePassDescriptor descriptor);
    }
    ```

    #### New Type: Metal.MTLCompileSymbolVisibility

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

    #### New Type: Metal.MTLComputeCommandEncoder_Extensions

    ```csharp
    public static class MTLComputeCommandEncoder_Extensions {
    // methods
    public static void SetBuffer (this IMTLComputeCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
    public static void SetBufferOffset (this IMTLComputeCommandEncoder This, UIntPtr offset, UIntPtr stride, UIntPtr index);
    public static void SetBuffers (this IMTLComputeCommandEncoder This, IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range);
    public static void SetBytes (this IMTLComputeCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index);
    }
    ```

    #### New Type: Metal.MTLComputePipelineState_Extensions

    ```csharp
    public static class MTLComputePipelineState_Extensions {
    // methods
    public static MTLResourceId GetGpuResourceId (this IMTLComputePipelineState This);
    }
    ```

    #### New Type: Metal.MTLCurveBasis

    ```csharp
    [Serializable]
    public enum MTLCurveBasis {
    BSpline = 0,
    Bezier = 3,
    CatmullRom = 1,
    Linear = 2,
    }
    ```

    #### New Type: Metal.MTLCurveEndCaps

    ```csharp
    [Serializable]
    public enum MTLCurveEndCaps {
    Disk = 1,
    None = 0,
    Sphere = 2,
    }
    ```

    #### New Type: Metal.MTLCurveType

    ```csharp
    [Serializable]
    public enum MTLCurveType {
    Flat = 1,
    Round = 0,
    }
    ```

    #### New Type: Metal.MTLHeap_Extensions

    ```csharp
    public static class MTLHeap_Extensions {
    // methods
    public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor);
    public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, UIntPtr size);
    public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor, UIntPtr offset);
    public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, UIntPtr size, UIntPtr offset);
    }
    ```

    #### New Type: Metal.MTLIOCommandQueueType

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

    #### New Type: Metal.MTLIOCompressionContext

    ```csharp
    public class MTLIOCompressionContext : ObjCRuntime.DisposableObject {
    // properties
    public static IntPtr DefaultChunkSize { get; }
    // methods
    public void AppendData (Foundation.NSData data);
    public void AppendData (byte[] data);
    public void AppendData (System.ReadOnlySpan<byte> data);
    public static MTLIOCompressionContext Create (string path, MTLIOCompressionMethod type, long chunkSize);
    protected override void Dispose (bool disposing);
    public MTLIOCompressionStatus FlushAndDestroy ();
    }
    ```

    #### New Type: Metal.MTLIOCompressionMethod

    ```csharp
    [Serializable]
    public enum MTLIOCompressionMethod {
    Lz4 = 2,
    LzBitmap = 4,
    Lzfse = 1,
    Lzma = 3,
    Zlib = 0,
    }
    ```

    #### New Type: Metal.MTLIOCompressionStatus

    ```csharp
    [Serializable]
    public enum MTLIOCompressionStatus {
    Complete = 0,
    Error = 1,
    }
    ```

    #### New Type: Metal.MTLIOError

    ```csharp
    [Serializable]
    public enum MTLIOError {
    Internal = 2,
    UrlInvalid = 1,
    }
    ```

    #### New Type: Metal.MTLIOErrorExtensions

    ```csharp
    public static class MTLIOErrorExtensions {
    // methods
    public static Foundation.NSString GetDomain (this MTLIOError self);
    }
    ```

    #### New Type: Metal.MTLIOPriority

    ```csharp
    [Serializable]
    public enum MTLIOPriority {
    High = 0,
    Low = 2,
    Normal = 1,
    }
    ```

    #### New Type: Metal.MTLIOStatus

    ```csharp
    [Serializable]
    public enum MTLIOStatus {
    Cancelled = 1,
    Complete = 3,
    Error = 2,
    Pending = 0,
    }
    ```

    #### New Type: Metal.MTLIndirectCommandBuffer_Extensions

    ```csharp
    public static class MTLIndirectCommandBuffer_Extensions {
    // methods
    public static MTLResourceId GetGpuResourceID (this IMTLIndirectCommandBuffer This);
    }
    ```

    #### New Type: Metal.MTLIndirectComputeCommand_Extensions

    ```csharp
    public static class MTLIndirectComputeCommand_Extensions {
    // methods
    public static void SetKernelBuffer (this IMTLIndirectComputeCommand This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
    }
    ```

    #### New Type: Metal.MTLIndirectInstanceAccelerationStructureDescriptor

    ```csharp
    public class MTLIndirectInstanceAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor {
    // constructors
    public MTLIndirectInstanceAccelerationStructureDescriptor ();
    protected MTLIndirectInstanceAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
    protected MTLIndirectInstanceAccelerationStructureDescriptor (ObjCRuntime.NativeHandle handle);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual IMTLBuffer InstanceCountBuffer { get; set; }
    public virtual UIntPtr InstanceCountBufferOffset { get; set; }
    public virtual IMTLBuffer InstanceDescriptorBuffer { get; set; }
    public virtual UIntPtr InstanceDescriptorBufferOffset { get; set; }
    public virtual UIntPtr InstanceDescriptorStride { get; set; }
    public virtual MTLAccelerationStructureInstanceDescriptorType InstanceDescriptorType { get; set; }
    public virtual UIntPtr MaxInstanceCount { get; set; }
    public virtual UIntPtr MaxMotionTransformCount { get; set; }
    public virtual IMTLBuffer MotionTransformBuffer { get; set; }
    public virtual UIntPtr MotionTransformBufferOffset { get; set; }
    public virtual IMTLBuffer MotionTransformCountBuffer { get; set; }
    public virtual UIntPtr MotionTransformCountBufferOffset { get; set; }
    // methods
    public static MTLIndirectInstanceAccelerationStructureDescriptor GetDescriptor ();
    }
    ```

    #### New Type: Metal.MTLIndirectRenderCommand_Extensions

    ```csharp
    public static class MTLIndirectRenderCommand_Extensions {
    // methods
    public static void SetVertexBuffer (this IMTLIndirectRenderCommand This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
    }
    ```

    #### New Type: Metal.MTLIntersectionFunctionTable_Extensions

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

    #### New Type: Metal.MTLLibraryOptimizationLevel

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

    #### New Type: Metal.MTLMeshRenderPipelineDescriptor

    ```csharp
    public class MTLMeshRenderPipelineDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public MTLMeshRenderPipelineDescriptor ();
    protected MTLMeshRenderPipelineDescriptor (Foundation.NSObjectFlag t);
    protected MTLMeshRenderPipelineDescriptor (ObjCRuntime.NativeHandle handle);
    // properties
    public virtual bool AlphaToCoverageEnabled { get; set; }
    public virtual bool AlphaToOneEnabled { get; set; }
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual MTLRenderPipelineColorAttachmentDescriptorArray ColorAttachments { get; }
    public virtual MTLPixelFormat DepthAttachmentPixelFormat { get; set; }
    public virtual MTLPipelineBufferDescriptorArray FragmentBuffers { get; }
    public virtual IMTLFunction FragmentFunction { get; set; }
    public virtual MTLLinkedFunctions FragmentLinkedFunctions { get; set; }
    public virtual string Label { get; set; }
    public virtual UIntPtr MaxTotalThreadgroupsPerMeshGrid { get; set; }
    public virtual UIntPtr MaxTotalThreadsPerMeshThreadgroup { get; set; }
    public virtual UIntPtr MaxTotalThreadsPerObjectThreadgroup { get; set; }
    public virtual UIntPtr MaxVertexAmplificationCount { get; set; }
    public virtual MTLPipelineBufferDescriptorArray MeshBuffers { get; }
    public virtual IMTLFunction MeshFunction { get; set; }
    public virtual MTLLinkedFunctions MeshLinkedFunctions { get; set; }
    public virtual bool MeshThreadgroupSizeIsMultipleOfThreadExecutionWidth { get; set; }
    public virtual MTLPipelineBufferDescriptorArray ObjectBuffers { get; }
    public virtual IMTLFunction ObjectFunction { get; set; }
    public virtual MTLLinkedFunctions ObjectLinkedFunctions { get; set; }
    public virtual bool ObjectThreadgroupSizeIsMultipleOfThreadExecutionWidth { get; set; }
    public virtual UIntPtr PayloadMemoryLength { get; set; }
    public virtual UIntPtr RasterSampleCount { get; set; }
    public virtual bool RasterizationEnabled { get; set; }
    public virtual MTLPixelFormat StencilAttachmentPixelFormat { get; set; }
    public virtual bool SupportIndirectCommandBuffers { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void Reset ();
    }
    ```

    #### New Type: Metal.MTLRenderCommandEncoder_Extensions

    ```csharp
    public static class MTLRenderCommandEncoder_Extensions {
    // methods
    public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
    public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
    public static void DrawMeshThreads (this IMTLRenderCommandEncoder This, MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
    public static void SetMeshBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr index);
    public static void SetMeshBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr index);
    public static void SetMeshBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
    public static void SetMeshBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr index);
    public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, UIntPtr index);
    public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index);
    public static void SetMeshSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, Foundation.NSRange range);
    public static void SetMeshSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
    public static void SetMeshTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, UIntPtr index);
    public static void SetMeshTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range);
    public static void SetObjectBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr index);
    public static void SetObjectBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr index);
    public static void SetObjectBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
    public static void SetObjectBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr index);
    public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, UIntPtr index);
    public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index);
    public static void SetObjectSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, Foundation.NSRange range);
    public static void SetObjectSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
    public static void SetObjectTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, UIntPtr index);
    public static void SetObjectTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range);
    public static void SetObjectThreadgroupMemoryLength (this IMTLRenderCommandEncoder This, UIntPtr length, UIntPtr index);
    public static void SetVertexBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index);
    public static void SetVertexBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr stride, UIntPtr index);
    public static void SetVertexBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range);
    public static void SetVertexBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index);
    }
    ```

    #### New Type: Metal.MTLRenderPipelineState_Extensions

    ```csharp
    public static class MTLRenderPipelineState_Extensions {
    // methods
    public static UIntPtr GetMaxTotalThreadsPerMeshThreadgroup (this IMTLRenderPipelineState This);
    public static UIntPtr GetMaxTotalThreadsPerObjectThreadgroup (this IMTLRenderPipelineState This);
    public static UIntPtr GetObjectThreadExecutionWidth (this IMTLRenderPipelineState This);
    }
    ```

    #### New Type: Metal.MTLResourceId

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

    #### New Type: Metal.MTLSamplerState_Extensions

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

    #### New Type: Metal.MTLSparsePageSize

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

    #### New Type: Metal.MTLTextureCompressionType

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

    #### New Type: Metal.MTLVisibleFunctionTable_Extensions

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


    ### Namespace MetalPerformanceShaders

    #### Type Changed: MetalPerformanceShaders.MPSCommandBuffer

    Added method:

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



    ### Namespace ModelIO

    #### Type Changed: ModelIO.MDLMaterial

    Added properties:

    ```csharp
    public MDLMaterialProperty Item { get; }
    public MDLMaterialProperty Item { get; }
    ```



    ### Namespace Network

    #### Type Changed: Network.NWPrivacyContext

    Added methods:

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


    #### New Type: Network.NWProxyConfig

    ```csharp
    public class NWProxyConfig : CoreFoundation.NativeObject {
    // properties
    public bool FailoverAllowed { get; set; }
    // methods
    public void AddExcludedDomain (string domain);
    public void AddMatchDomain (string domain);
    public void ClearExcludedDomains ();
    public void ClearMatchDomains ();
    public static NWProxyConfig CreateHttpConnect (NWEndpoint proxyEndpoint, NWProtocolTlsOptions options);
    public static NWProxyConfig CreateObliviousHttp (NWRelayHop hop, string relaysResourcePath, byte[] gatewayKeyConfig);
    public static NWProxyConfig CreateRelay (NWRelayHop firstHop, NWRelayHop secondHop);
    public static NWProxyConfig CreateSocksV5 (NWEndpoint endpoint);
    public void EnumerateExcludedDomains (System.Action<string> handler);
    public void EnumerateMatchDomains (System.Action<string> handler);
    public void SetUsernameAndPassword (string username, string password);
    }
    ```

    #### New Type: Network.NWRelayHop

    ```csharp
    public class NWRelayHop : CoreFoundation.NativeObject {
    // methods
    public void AddAdditionalHttpHeaderField (string fieldName, string fieldValue);
    public static NWRelayHop Create (NWEndpoint http3RelayEndpoint, NWEndpoint http2RelayEndpoint, NWProtocolOptions relayTlsOptions);
    }
    ```


    ### Namespace ObjCRuntime

    #### Type Changed: ObjCRuntime.Constants

    Modified fields:

    ```diff
    -public const string Version = "9.0.0";
    +public const string Version = "9.1.0";
    ```


    #### Type Changed: ObjCRuntime.DisposableObject

    Added method:

    ```csharp
    protected void ClearHandle ();
    ```



    ### Namespace Vision

    #### Type Changed: Vision.VNBarcodeObservation

    Added properties:

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


    #### Type Changed: Vision.VNBarcodeSymbology

    Added value:

    ```csharp
    MsiPlessey = 23,
    ```


    #### Type Changed: Vision.VNClassifyImageRequestRevision

    Added value:

    ```csharp
    Two = 2,
    ```


    #### Type Changed: Vision.VNDetectBarcodesRequest

    Added property:

    ```csharp
    public virtual bool CoalesceCompositeSymbologies { get; set; }
    ```


    #### Type Changed: Vision.VNDetectBarcodesRequestRevision

    Added values:

    ```csharp
    Four = 4,
    Three = 3,
    ```


    #### Type Changed: Vision.VNDetectFaceCaptureQualityRequestRevision

    Added value:

    ```csharp
    Three = 3,
    ```


    #### Type Changed: Vision.VNDetectHumanBodyPoseRequest

    Added methods:

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


    #### Type Changed: Vision.VNDetectHumanHandPoseRequest

    Added methods:

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


    #### Type Changed: Vision.VNErrorCode

    Added values:

    ```csharp
    UnsupportedComputeDevice = 22,
    UnsupportedComputeStage = 21,
    ```


    #### Type Changed: Vision.VNGenerateAttentionBasedSaliencyImageRequestRevision

    Added value:

    ```csharp
    Two = 2,
    ```


    #### Type Changed: Vision.VNGenerateImageFeaturePrintRequestRevision

    Added value:

    ```csharp
    Two = 2,
    ```


    #### Type Changed: Vision.VNGenerateObjectnessBasedSaliencyImageRequestRevision

    Added value:

    ```csharp
    Two = 2,
    ```


    #### Type Changed: Vision.VNImageRequestHandler

    Added constructors:

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


    #### Type Changed: Vision.VNRectangleObservation

    Added method:

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


    #### Type Changed: Vision.VNRequest

    Added methods:

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


    #### Type Changed: Vision.VNTrackingRequest

    Added method:

    ```csharp
    public virtual UIntPtr GetSupportedNumberOfTrackers (out Foundation.NSError error);
    ```


    #### New Type: Vision.VNAnimalBodyPoseObservation

    ```csharp
    public class VNAnimalBodyPoseObservation : Vision.VNRecognizedPointsObservation {
    // constructors
    public VNAnimalBodyPoseObservation (Foundation.NSCoder coder);
    protected VNAnimalBodyPoseObservation (Foundation.NSObjectFlag t);
    protected VNAnimalBodyPoseObservation (ObjCRuntime.NativeHandle handle);
    // properties
    public virtual VNAnimalBodyPoseObservationJointsGroupName[] AvailableJointGroupNames { get; }
    public virtual VNAnimalBodyPoseObservationJointName[] AvailableJointNames { get; }
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    // methods
    public virtual VNRecognizedPoint GetRecognizedPoint (VNAnimalBodyPoseObservationJointName jointName, out Foundation.NSError error);
    public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint> GetRecognizedPoints (VNAnimalBodyPoseObservationJointsGroupName jointsGroupName, out Foundation.NSError error);
    }
    ```

    #### New Type: Vision.VNAnimalBodyPoseObservationJointName

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

    #### New Type: Vision.VNAnimalBodyPoseObservationJointNameExtensions

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

    #### New Type: Vision.VNAnimalBodyPoseObservationJointsGroupName

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

    #### New Type: Vision.VNAnimalBodyPoseObservationJointsGroupNameExtensions

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

    #### New Type: Vision.VNBarcodeCompositeType

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

    #### New Type: Vision.VNComputeStage

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

    #### New Type: Vision.VNComputeStageExtensions

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

    #### New Type: Vision.VNDetectAnimalBodyPoseRequest

    ```csharp
    public class VNDetectAnimalBodyPoseRequest : Vision.VNImageBasedRequest {
    // constructors
    protected VNDetectAnimalBodyPoseRequest (Foundation.NSObjectFlag t);
    protected VNDetectAnimalBodyPoseRequest (ObjCRuntime.NativeHandle handle);
    public VNDetectAnimalBodyPoseRequest (VNRequestCompletionHandler completionHandler);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual VNAnimalBodyPoseObservation[] Results { get; }
    // methods
    public virtual VNAnimalBodyPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
    public virtual VNAnimalBodyPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);
    }
    ```

    #### New Type: Vision.VNDetectHumanBodyPose3DRequest

    ```csharp
    public class VNDetectHumanBodyPose3DRequest : Vision.VNStatefulRequest {
    // constructors
    public VNDetectHumanBodyPose3DRequest ();
    protected VNDetectHumanBodyPose3DRequest (Foundation.NSObjectFlag t);
    protected VNDetectHumanBodyPose3DRequest (ObjCRuntime.NativeHandle handle);
    public VNDetectHumanBodyPose3DRequest (VNRequestCompletionHandler completionHandler);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public static VNDetectHumanBodyPose3DRequestRevision CurrentRevision { get; }
    public static VNDetectHumanBodyPose3DRequestRevision DefaultRevision { get; }
    public virtual VNHumanBodyPose3DObservation[] Results { get; }
    public virtual VNDetectHumanBodyPose3DRequestRevision Revision { get; set; }
    public static VNDetectHumanBodyPose3DRequestRevision[] SupportedRevisions { get; }
    public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
    // methods
    public virtual VNHumanBodyPose3DObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
    public virtual VNHumanBodyPose3DObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);
    }
    ```

    #### New Type: Vision.VNDetectHumanBodyPose3DRequestRevision

    ```csharp
    [Serializable]
    public enum VNDetectHumanBodyPose3DRequestRevision {
    One = 1,
    }
    ```

    #### New Type: Vision.VNGenerateForegroundInstanceMaskRequest

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

    #### New Type: Vision.VNGeneratePersonInstanceMaskRequest

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

    #### New Type: Vision.VNHumanBodyPose3DObservation

    ```csharp
    public class VNHumanBodyPose3DObservation : Vision.VNRecognizedPoints3DObservation {
    // constructors
    public VNHumanBodyPose3DObservation (Foundation.NSCoder coder);
    protected VNHumanBodyPose3DObservation (Foundation.NSObjectFlag t);
    protected VNHumanBodyPose3DObservation (ObjCRuntime.NativeHandle handle);
    // properties
    public virtual VNHumanBodyPose3DObservationJointName[] AvailableJointNames { get; }
    public virtual VNHumanBodyPose3DObservationJointsGroupName[] AvailableJointsGroupNames { get; }
    public virtual float BodyHeight { get; }
    public virtual CoreGraphics.NMatrix4 CameraOriginMatrix { get; }
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual VNHumanBodyPose3DObservationHeightEstimation HeightEstimation { get; }
    // methods
    public virtual bool GetCameraRelativePosition (out CoreGraphics.NMatrix4 modelPositionOut, VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
    public virtual VNHumanBodyPose3DObservationJointName GetParentJointName (VNHumanBodyPose3DObservationJointName jointName);
    public virtual VNPoint GetPointInImage (VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
    public virtual VNHumanBodyRecognizedPoint3D GetRecognizedPoint (VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
    public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNHumanBodyRecognizedPoint3D> GetRecognizedPoints (VNHumanBodyPose3DObservationJointsGroupName jointName, out Foundation.NSError error);
    }
    ```

    #### New Type: Vision.VNHumanBodyPose3DObservationHeightEstimation

    ```csharp
    [Serializable]
    public enum VNHumanBodyPose3DObservationHeightEstimation {
    Measured = 1,
    Reference = 0,
    }
    ```

    #### New Type: Vision.VNHumanBodyPose3DObservationJointName

    ```csharp
    [Serializable]
    public enum VNHumanBodyPose3DObservationJointName {
    CenterHead = 11,
    CenterShoulder = 10,
    LeftAnkle = 8,
    LeftElbow = 14,
    LeftHip = 6,
    LeftKnee = 7,
    LeftShoulder = 13,
    LeftWrist = 15,
    None = 0,
    RightAnkle = 4,
    RightElbow = 16,
    RightHip = 2,
    RightKnee = 3,
    RightShoulder = 5,
    RightWrist = 17,
    Root = 1,
    Spine = 9,
    TopHead = 12,
    }
    ```

    #### New Type: Vision.VNHumanBodyPose3DObservationJointNameExtensions

    ```csharp
    public static class VNHumanBodyPose3DObservationJointNameExtensions {
    // methods
    public static Foundation.NSString GetConstant (this VNHumanBodyPose3DObservationJointName self);
    public static VNHumanBodyPose3DObservationJointName GetValue (Foundation.NSString constant);
    }
    ```

    #### New Type: Vision.VNHumanBodyPose3DObservationJointsGroupName

    ```csharp
    [Serializable]
    public enum VNHumanBodyPose3DObservationJointsGroupName {
    All = 7,
    Head = 1,
    LeftArm = 3,
    LeftLeg = 5,
    None = 0,
    RightArm = 4,
    RightLeg = 6,
    Torso = 2,
    }
    ```

    #### New Type: Vision.VNHumanBodyPose3DObservationJointsGroupNameExtensions

    ```csharp
    public static class VNHumanBodyPose3DObservationJointsGroupNameExtensions {
    // methods
    public static Foundation.NSString GetConstant (this VNHumanBodyPose3DObservationJointsGroupName self);
    public static VNHumanBodyPose3DObservationJointsGroupName GetValue (Foundation.NSString constant);
    }
    ```

    #### New Type: Vision.VNHumanBodyRecognizedPoint3D

    ```csharp
    public class VNHumanBodyRecognizedPoint3D : Vision.VNRecognizedPoint3D {
    // constructors
    public VNHumanBodyRecognizedPoint3D (CoreGraphics.NMatrix4 position);
    public VNHumanBodyRecognizedPoint3D (Foundation.NSCoder coder);
    protected VNHumanBodyRecognizedPoint3D (Foundation.NSObjectFlag t);
    protected VNHumanBodyRecognizedPoint3D (ObjCRuntime.NativeHandle handle);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual CoreGraphics.NMatrix4 LocalPosition { get; }
    public virtual VNHumanBodyPose3DObservationJointName ParentJoint { get; }
    }
    ```

    #### New Type: Vision.VNInstanceMaskObservation

    ```csharp
    public class VNInstanceMaskObservation : Vision.VNObservation {
    // constructors
    public VNInstanceMaskObservation (Foundation.NSCoder coder);
    protected VNInstanceMaskObservation (Foundation.NSObjectFlag t);
    protected VNInstanceMaskObservation (ObjCRuntime.NativeHandle handle);
    // properties
    public virtual Foundation.NSIndexSet AllInstances { get; }
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual CoreVideo.CVPixelBuffer InstanceMask { get; }
    // methods
    public virtual CoreVideo.CVPixelBuffer GenerateMask (Foundation.NSIndexSet instances, out Foundation.NSError error);
    public virtual CoreVideo.CVPixelBuffer GenerateMaskedImage (Foundation.NSIndexSet instances, VNImageRequestHandler requestHandler, bool cropResult, out Foundation.NSError error);
    public virtual CoreVideo.CVPixelBuffer GenerateScaledMask (Foundation.NSIndexSet instances, VNImageRequestHandler requestHandler, out Foundation.NSError error);
    }
    ```

    #### New Type: Vision.VNPoint3D

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

    #### New Type: Vision.VNRecognizedPoint3D

    ```csharp
    public class VNRecognizedPoint3D : Vision.VNPoint3D {
    // constructors
    public VNRecognizedPoint3D (CoreGraphics.NMatrix4 position);
    public VNRecognizedPoint3D (Foundation.NSCoder coder);
    protected VNRecognizedPoint3D (Foundation.NSObjectFlag t);
    protected VNRecognizedPoint3D (ObjCRuntime.NativeHandle handle);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public static Foundation.NSString GroupKeyAll { get; }
    public virtual string Identifier { get; }
    }
    ```

    #### New Type: Vision.VNRecognizedPoints3DObservation

    ```csharp
    public class VNRecognizedPoints3DObservation : Vision.VNObservation {
    // constructors
    public VNRecognizedPoints3DObservation (Foundation.NSCoder coder);
    protected VNRecognizedPoints3DObservation (Foundation.NSObjectFlag t);
    protected VNRecognizedPoints3DObservation (ObjCRuntime.NativeHandle handle);
    // properties
    public virtual Foundation.NSString[] AvailableGroupKeys { get; }
    public virtual Foundation.NSString[] AvailableKeys { get; }
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    // methods
    public virtual VNRecognizedPoint3D GetRecognizedPoint (Foundation.NSString pointKey, out Foundation.NSError error);
    public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint3D> GetRecognizedPoints (Foundation.NSString groupKey, out Foundation.NSError error);
    }
    ```

    #### New Type: Vision.VNTrackHomographicImageRegistrationRequest

    ```csharp
    public class VNTrackHomographicImageRegistrationRequest : Vision.VNStatefulRequest {
    // constructors
    public VNTrackHomographicImageRegistrationRequest ();
    protected VNTrackHomographicImageRegistrationRequest (Foundation.NSObjectFlag t);
    protected VNTrackHomographicImageRegistrationRequest (ObjCRuntime.NativeHandle handle);
    public VNTrackHomographicImageRegistrationRequest (VNRequestCompletionHandler completionHandler);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public static VNTrackHomographicImageRegistrationRequestRevision CurrentRevision { get; }
    public static VNTrackHomographicImageRegistrationRequestRevision DefaultRevision { get; }
    public virtual VNImageHomographicAlignmentObservation[] Results { get; }
    public virtual VNTrackHomographicImageRegistrationRequestRevision Revision { get; set; }
    public static VNTrackHomographicImageRegistrationRequestRevision[] SupportedRevisions { get; }
    public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
    }
    ```

    #### New Type: Vision.VNTrackHomographicImageRegistrationRequestRevision

    ```csharp
    [Serializable]
    public enum VNTrackHomographicImageRegistrationRequestRevision {
    One = 1,
    }
    ```

    #### New Type: Vision.VNTrackOpticalFlowRequest

    ```csharp
    public class VNTrackOpticalFlowRequest : Vision.VNStatefulRequest {
    // constructors
    public VNTrackOpticalFlowRequest ();
    protected VNTrackOpticalFlowRequest (Foundation.NSObjectFlag t);
    protected VNTrackOpticalFlowRequest (ObjCRuntime.NativeHandle handle);
    public VNTrackOpticalFlowRequest (VNRequestCompletionHandler completionHandler);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public virtual VNTrackOpticalFlowRequestComputationAccuracy ComputationAccuracy { get; set; }
    public virtual bool KeepNetworkOutput { get; set; }
    public virtual uint OutputPixelFormat { get; set; }
    public virtual VNPixelBufferObservation[] Results { get; }
    }
    ```

    #### New Type: Vision.VNTrackOpticalFlowRequestComputationAccuracy

    ```csharp
    [Serializable]
    public enum VNTrackOpticalFlowRequestComputationAccuracy {
    High = 2,
    Low = 0,
    Medium = 1,
    VeryHigh = 3,
    }
    ```

    #### New Type: Vision.VNTrackOpticalFlowRequestRevision

    ```csharp
    [Serializable]
    public enum VNTrackOpticalFlowRequestRevision {
    One = 1,
    }
    ```

    #### New Type: Vision.VNTrackTranslationalImageRegistrationRequest

    ```csharp
    public class VNTrackTranslationalImageRegistrationRequest : Vision.VNStatefulRequest {
    // constructors
    public VNTrackTranslationalImageRegistrationRequest ();
    protected VNTrackTranslationalImageRegistrationRequest (Foundation.NSObjectFlag t);
    protected VNTrackTranslationalImageRegistrationRequest (ObjCRuntime.NativeHandle handle);
    public VNTrackTranslationalImageRegistrationRequest (VNRequestCompletionHandler completionHandler);
    // properties
    public override ObjCRuntime.NativeHandle ClassHandle { get; }
    public static VNTrackTranslationalImageRegistrationRequestRevision CurrentRevision { get; }
    public static VNTrackTranslationalImageRegistrationRequestRevision DefaultRevision { get; }
    public virtual VNImageTranslationAlignmentObservation[] Results { get; }
    public virtual VNTrackTranslationalImageRegistrationRequestRevision Revision { get; set; }
    public static VNTrackTranslationalImageRegistrationRequestRevision[] SupportedRevisions { get; }
    public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
    }
    ```

    #### New Type: Vision.VNTrackTranslationalImageRegistrationRequestRevision

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


    ### Namespace WebKit

    #### Type Changed: WebKit.WKHttpCookieStore

    Added methods:

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


    #### Type Changed: WebKit.WKPdfConfiguration

    Added property:

    ```csharp
    public virtual bool AllowTransparentBackground { get; set; }
    ```


    #### Type Changed: WebKit.WKPreferences

    Added property:

    ```csharp
    public virtual WKInactiveSchedulingPolicy InactiveSchedulingPolicy { get; set; }
    ```


    #### Type Changed: WebKit.WKWebView

    Added methods:

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


    #### Type Changed: WebKit.WKWebViewConfiguration

    Added properties:

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


    #### Type Changed: WebKit.WKWebsiteDataStore

    Added property:

    ```csharp
    public virtual Foundation.NSUuid Identifier { get; }
    ```

    Added methods:

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


    #### Type Changed: WebKit.WKWebsiteDataType

    Added properties:

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


    #### New Type: WebKit.WKCookiePolicy

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

    #### New Type: WebKit.WKInactiveSchedulingPolicy

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

    #### New Type: WebKit.WKUserInterfaceDirectionPolicy

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

    #### New Type: WebKit.WebViewNotification

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

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