Skip to content

AppKit macOS xcode27.0 b1

Alex Soto edited this page Jun 9, 2026 · 1 revision

#AppKit.framework

diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h	2026-04-24 22:47:24
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h	2026-05-30 22:31:41
@@ -122,6 +122,7 @@
 #import <AppKit/NSPrintPanel.h>
 #import <AppKit/NSPDFInfo.h>
 #import <AppKit/NSPDFPanel.h>
+#import <AppKit/NSRefreshController.h>
 #import <AppKit/NSResponder.h>
 #import <AppKit/NSSavePanel.h>
 #import <AppKit/NSMediaLibraryBrowserController.h>
@@ -154,6 +155,8 @@
 #import <AppKit/NSUserActivity.h>
 #import <AppKit/NSView.h>
 #import <AppKit/NSViewController.h>
+#import <AppKit/NSViewCornerConfiguration.h>
+#import <AppKit/NSViewCornerRadii.h>
 #import <AppKit/NSViewLayoutRegion.h>
 #import <AppKit/NSWindow.h>
 #import <AppKit/NSWindowTab.h>
@@ -176,6 +179,7 @@
 #import <AppKit/NSAttributedString.h>
 #import <AppKit/NSLayoutManager.h>
 #import <AppKit/NSParagraphStyle.h>
+#import <AppKit/NSTextSelectionManager.h>
 #import <AppKit/NSTextStorage.h>
 #import <AppKit/NSTextView.h>
 #import <AppKit/NSTextContainer.h>
@@ -200,6 +204,7 @@
 #import <AppKit/NSStatusBar.h>
 #import <AppKit/NSStatusBarButton.h>
 #import <AppKit/NSStatusItem.h>
+#import <AppKit/NSStatusItemExpandedInterfaceSession.h>
 #import <AppKit/NSSound.h>
 #import <AppKit/NSMovie.h>
 #import <AppKit/NSPDFImageRep.h>
@@ -221,6 +226,7 @@
 #import <AppKit/NSGlyphInfo.h>
 #import <AppKit/NSShadow.h>
 #import <AppKit/NSATSTypesetter.h>
+#import <AppKit/NSTypesetter.h>
 #import <AppKit/NSGlyphGenerator.h>
 #import <AppKit/NSSearchField.h>
 #import <AppKit/NSSearchFieldCell.h>
@@ -282,6 +288,7 @@
 #import <AppKit/NSTextLayoutFragment.h>
 #import <AppKit/NSTextLayoutManager.h>
 #import <AppKit/NSTextLineFragment.h>
+#import <AppKit/NSTextViewportRenderingSurface.h>
 #import <AppKit/NSTextViewportLayoutController.h>
 #import <AppKit/NSTextAttachmentCell.h>
 #import <AppKit/NSAdaptiveImageGlyph.h>
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKitDefines.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKitDefines.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKitDefines.h	2026-04-24 22:47:32
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKitDefines.h	2026-05-30 22:31:48
@@ -39,6 +39,20 @@
 #endif
 #endif
 
+#if __swift__
+#define APPKIT_SWIFT_FORWARD_DECLARE(DECLARATION) DECLARATION;
+#else
+#define APPKIT_SWIFT_FORWARD_DECLARE(DECLARATION)
+#endif
+
+#ifndef APPKIT_FINAL
+#if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
+#define APPKIT_FINAL __attribute__((objc_subclassing_restricted))
+#else
+#define APPKIT_FINAL
+#endif
+#endif
+
 /* These macros are for AppKit's own use. They may be modified or removed in a future release. */
 #ifndef APPKIT_IVAR
 #define APPKIT_IVAR DEPRECATED_MSG_ATTRIBUTE("AppKit instance variables are private, and the ability to access them will be removed in a future release.")
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h	2026-04-24 22:47:38
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h	2026-05-30 22:31:53
@@ -93,7 +93,19 @@
 ///
 /// The first three buttons are identified by the order in which they are added (not the order in which they may appear visually) as `NSAlertFirstButtonReturn`, `NSAlertSecondButtonReturn`, `NSAlertThirdButtonReturn` in the return-code parameter. Subsequent buttons are identified as `NSAlertThirdButtonReturn` + *n*, where *n* is an integer.
 ///
-/// By default, the first button has a key equivalent of Return, any button with a title of “Cancel” has a key equivalent of Escape, and any button with the title “Don’t Save” has a key equivalent of Command-D (but only if it’s not the first button). You can also assign different key equivalents for the buttons using the `keyEquivalent` method of the `NSButton` class. In addition, you can use the `tag` property of the `NSButton` class to set the alert presentation’s return-code. The framework reserves the use of the button’s `target` and `action`.
+/// By default, the first button has a key equivalent of Return, any button with a title of “Cancel” has a key equivalent of Escape, and any button with the title “Don’t Save” has a key equivalent of Command-D (but only if it’s not the first button). You can also assign different key equivalents for the buttons using the `keyEquivalent` method of the `NSButton` class.
+///
+/// You can use the `tag` property of the `NSButton` class to set the alert presentation’s return-code.
+///
+/// Alert button properties that are valid to customize are:
+///   - `keyEquivalent`
+///   - `keyEquivalentModifierMask`
+///   - `tag`
+///   - `hasDestructiveAction`
+///   - `enabled`
+///   - `title`
+/// Other button properties are not supported in alert contexts.
+/// The framework reserves the use of the button’s `target` and `action`.
 ///
 /// - Parameter title: Title of the button to add to the alert.
 /// - Returns: The button that was added to the alert.
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h	2026-04-24 22:47:41
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h	2026-05-30 22:31:55
@@ -170,7 +170,12 @@
     NSApplicationPresentationAutoHideToolbar API_AVAILABLE(macos(10.7)) = (1 << 11),
     
     /// "Shake mouse pointer to locate" is disabled for this application.
-    NSApplicationPresentationDisableCursorLocationAssistance API_AVAILABLE(macos(10.11.2)) = (1 << 12)
+    NSApplicationPresentationDisableCursorLocationAssistance API_AVAILABLE(macos(10.11.2)) = (1 << 12),
+
+    /// Disable screen corner interactions when the application is frontmost.
+    ///
+    /// `.autoHideDock` or `.hideDock` must also be set for this option to take effect.
+    NSApplicationPresentationDisableScreenCornerInteractions API_AVAILABLE(macos(27.0)) = (1 << 15),
 } API_AVAILABLE(macos(10.6));
 
 typedef NS_OPTIONS(NSUInteger, NSApplicationOcclusionState) {
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAttributedString.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAttributedString.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAttributedString.h	2026-04-24 22:47:41
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAttributedString.h	2026-05-30 22:31:55
@@ -2,17 +2,16 @@
 #import <TargetConditionals.h>
 
 #if !TARGET_OS_IPHONE
-#import <AppKit/AppKitDefines.h>
+//
+//  NSAttributedString.h
+//  Text Kit
+//
+//  Copyright (c) 1994-2025, Apple Inc. All rights reserved.
+//
 
-/*
-        NSAttributedString.h
-        Copyright (c) 1994-2025, Apple Inc.
-        All rights reserved.
- 
-        This file defines Application Kit extensions to NSAttributedString and NSMutableAttributedString.
-*/
-
 #import <Foundation/NSAttributedString.h>
+#import <Foundation/NSItemProvider.h>
+#import <AppKit/AppKitDefines.h>
 
 @class NSAttributedString;
 @class NSFileWrapper;
@@ -199,7 +198,7 @@
 
 @interface NSMutableAttributedString (NSMutableAttributedStringDocumentFormats)
 // Methods replacing the receiver contents with an external document data.  options specify document attributes for interpreting the document contents.  NSDocumentTypeDocumentAttribute, NSCharacterEncodingDocumentAttribute, and NSDefaultAttributesDocumentAttribute are supported options key.  When they are not specified, these methods will examine the data and do their best to detect the appropriate attributes.  If dict is non-NULL, it will return a dictionary with various document-wide attributes accessible via NS...DocumentAttribute keys.
-- (BOOL)readFromURL:(NSURL *)url options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)opts documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error  API_AVAILABLE(macosx(10.5), ios(9.0), watchos(2.0), tvos(9.0));
+- (BOOL)readFromURL:(NSURL *)url options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)opts documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error  API_AVAILABLE(macos(10.5), ios(9.0), watchos(2.0), tvos(9.0));
 - (BOOL)readFromData:(NSData *)data options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)opts documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey, id> * __nullable * __nullable)dict error:(NSError **)error API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
 @end
 
@@ -213,19 +212,23 @@
 - (BOOL)prefersRTFDInRange:(NSRange)range API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
 @end
 
+APPKIT_EXTERN NSAttributedStringDocumentAttributeKey NSPaperMarginDocumentAttribute API_AVAILABLE(ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));  // @"PaperMargin", NSValue containing UIEdgeInsets
+
+
+/************************ Deprecated ************************/
+APPKIT_EXTERN NSAttributedStringKey NSObliquenessAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0));         // NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skew
+APPKIT_EXTERN NSAttributedStringKey NSExpansionAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0));           // NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansion
+APPKIT_EXTERN NSAttributedStringKey NSVerticalGlyphFormAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0));   // An NSNumber containing an integer value.  0 means horizontal text.  1 indicates vertical text.  If not specified, it could follow higher-level vertical orientation settings.  Currently on iOS, it's always horizontal.  The behavior for any other value is undefined.
+
 NS_HEADER_AUDIT_END(nullability, sendability)
 
 #endif // !TARGET_OS_IPHONE
 #else
 #import <UIFoundation/NSAttributedString.h>
 #endif
-
-#import <Foundation/NSAttributedString.h>
-#import <Foundation/NSItemProvider.h>
 #import <AppKit/NSFontManager.h>
 #import <AppKit/NSText.h>
 #import <AppKit/NSPasteboard.h>
-#import <AppKit/AppKitDefines.h>
 
 @class NSTextBlock, NSTextTable, NSTextList;
 @class NSFileWrapper;
@@ -358,31 +361,25 @@
 - (void)setBaseWritingDirection:(NSWritingDirection)writingDirection range:(NSRange)range;
 @end
 
-/************************ Deprecated ************************/
 // NSUnderlineByWord and the NSUnderlinePattern* values are soft deprecated starting with macOS 10.14/iOS 12 and will be officially deprecated in a future release.  Please use the NSUnderlineStyle* equivalents instead.
 // Underlines will be drawn with a solid pattern by default, so NSUnderlinePatternSolid does not need to be specified.
-static const NSUnderlineStyle NSUnderlinePatternSolid = NSUnderlineStylePatternSolid;
-static const NSUnderlineStyle NSUnderlinePatternDot = NSUnderlineStylePatternDot;
-static const NSUnderlineStyle NSUnderlinePatternDash = NSUnderlineStylePatternDash;
-static const NSUnderlineStyle NSUnderlinePatternDashDot = NSUnderlineStylePatternDashDot;
-static const NSUnderlineStyle NSUnderlinePatternDashDotDot = NSUnderlineStylePatternDashDotDot;
-static const NSUnderlineStyle NSUnderlineByWord = NSUnderlineStyleByWord;
+static const NSUnderlineStyle NSUnderlinePatternSolid API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternSolid", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternSolid;
+static const NSUnderlineStyle NSUnderlinePatternDot API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternDot", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternDot;
+static const NSUnderlineStyle NSUnderlinePatternDash API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternDash", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternDash;
+static const NSUnderlineStyle NSUnderlinePatternDashDot API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternDashDot", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternDashDot;
+static const NSUnderlineStyle NSUnderlinePatternDashDotDot API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStylePatternDashDotDot", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStylePatternDashDotDot;
+static const NSUnderlineStyle NSUnderlineByWord API_DEPRECATED_WITH_REPLACEMENT("NSUnderlineStyleByWord", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), visionos(1.0, 1.0)) = NSUnderlineStyleByWord;
 
 APPKIT_EXTERN NSAttributedStringKey NSCharacterShapeAttributeName API_DEPRECATED("This attribute is bound to a specific implementation of ATS feature and not generically supported by wide range of fonts. The majority of characters accessed through this API are now encoded in the Unicode standard. Use the CTFont feature API for fine control over character shape choices.", macos(10.0,10.11));
 APPKIT_EXTERN NSAttributedStringKey NSUsesScreenFontsDocumentAttribute API_DEPRECATED("", macos(10.8,10.11));
 
-APPKIT_EXTERN NSAttributedStringKey  NSObliquenessAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED));         // NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skew
-APPKIT_EXTERN NSAttributedStringKey  NSExpansionAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.0, API_TO_BE_DEPRECATED), ios(7.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED));           // NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansion
-
-APPKIT_EXTERN NSAttributedStringKey  NSVerticalGlyphFormAttributeName API_DEPRECATED("This attribute is not supported with TextKit 2", macos(10.7, API_TO_BE_DEPRECATED), ios(6.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED));   // An NSNumber containing an integer value.  0 means horizontal text.  1 indicates vertical text.  If not specified, it could follow higher-level vertical orientation settings.  Currently on iOS, it's always horizontal.  The behavior for any other value is undefined.
-
 enum {
     NSNoUnderlineStyle API_DEPRECATED("Use NSUnderlineStyleNone instead", macos(10.0,10.9)) = 0,
     NSSingleUnderlineStyle API_DEPRECATED("Use NSUnderlineStyleSingle instead", macos(10.0,10.9))
 };
 
 APPKIT_EXTERN NSUInteger NSUnderlineStrikethroughMask API_DEPRECATED("Use NSStrikethroughStyleAttributeName instead", macos(10.0,10.9));
-APPKIT_EXTERN NSUInteger NSUnderlineByWordMask API_DEPRECATED("Use NSUnderlineByWord instead", macos(10.0,10.11));
+APPKIT_EXTERN NSUInteger NSUnderlineByWordMask API_DEPRECATED("Use NSUnderlineStyleByWord instead", macos(10.0,10.11));
 
 @interface NSAttributedString(NSDeprecatedKitAdditions)
 // This property is soft deprecated starting with OS X 10.11. It will be officially deprecated in a future release. Use -containsAttachmentsInRange: instead
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h	2026-04-24 22:47:34
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h	2026-05-30 22:31:49
@@ -380,9 +380,23 @@
 
 #pragma mark ** Dragging Source Methods **
 
-/* This method is called after it has been determined that a drag should begin, but before the drag has been started.  To refuse the drag, return NO. To start a drag, declared the pasteboard types that you support with [pasteboard declareTypes:owner:], place your data on the pasteboard, and return YES from the method. The drag image and other drag related information will be set up and provided by the view once this call returns with YES. You need to implement this method for your browser to be a drag source. 
+/* Implement this method to allow the browser to be an NSDraggingSource that supports multiple item dragging. Return custom objects that implement NSPasteboardWriting (or simply use NSPasteboardItem). Return nil to prevent a particular item from being dragged. If this method is implemented, then browser:writeRowsWithIndexes:inColumn:toPasteboard: will not be called.
  */
-- (BOOL)browser:(NSBrowser *)browser writeRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column toPasteboard:(NSPasteboard *)pasteboard NS_SWIFT_UI_ACTOR API_AVAILABLE(macos(10.5));
+- (nullable id <NSPasteboardWriting>)browser:(NSBrowser *)browser pasteboardWriterForRow:(NSInteger)row column:(NSInteger)column NS_SWIFT_UI_ACTOR API_AVAILABLE(macos(27.0));
+
+/* Implement this method to know when the dragging session is about to begin and to potentially modify the dragging session.
+ */
+- (void)browser:(NSBrowser *)browser draggingSession:(NSDraggingSession *)session willBeginAtPoint:(NSPoint)screenPoint forRowsWithIndexes:(NSIndexSet *)rowIndexes column:(NSInteger)column NS_SWIFT_UI_ACTOR API_AVAILABLE(macos(27.0));
+
+/* Implement this method to know when the dragging session has ended.
+ */
+- (void)browser:(NSBrowser *)browser draggingSession:(NSDraggingSession *)session endedAtPoint:(NSPoint)screenPoint operation:(NSDragOperation)operation NS_SWIFT_UI_ACTOR API_AVAILABLE(macos(27.0));
+
+/* Soft deprecated. Please use `browser:pasteboardWriterForRow:column:` instead.
+ 
+ This method is called after it has been determined that a drag should begin, but before the drag has been started.  To refuse the drag, return NO. To start a drag, declared the pasteboard types that you support with [pasteboard declareTypes:owner:], place your data on the pasteboard, and return YES from the method. The drag image and other drag related information will be set up and provided by the view once this call returns with YES. You need to implement this method for your browser to be a drag source.
+ */
+- (BOOL)browser:(NSBrowser *)browser writeRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column toPasteboard:(NSPasteboard *)pasteboard NS_SWIFT_UI_ACTOR API_DEPRECATED("Use browser:pasteboardWriterForRow:column: instead", macos(10.5, API_TO_BE_DEPRECATED));
 
 /* The delegate can support file promise drags by adding NSFilesPromisePboardType to the pasteboard in browser:writeRowsWithIndexes:inColumn:toPasteboard:. NSBrowser implements -namesOfPromisedFilesDroppedAtDestination: to return the results of this data source method.  This method should returns an array of filenames for the created files (filenames only, not full paths).  The URL represents the drop location.  For more information on file promise dragging, see documentation on the NSDraggingSource protocol and -namesOfPromisedFilesDroppedAtDestination:. You do not need to implement this method for your browser to be a drag source.
  */
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSColorPanel.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSColorPanel.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSColorPanel.h	2026-04-24 22:47:43
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSColorPanel.h	2026-05-30 22:31:56
@@ -38,30 +38,33 @@
     NSColorPanelCrayonModeMask		= 0x00000080,
     NSColorPanelAllModesMask		= 0x0000ffff
 };
-    
-    
 
 @interface NSColorPanel : NSPanel
 
 @property (class, readonly, strong) NSColorPanel *sharedColorPanel;
 @property (class, readonly) BOOL sharedColorPanelExists;
-+ (BOOL)dragColor:(NSColor *)color withEvent:(NSEvent *)event fromView:(NSView *)sourceView;
+
 + (void)setPickerMask:(NSColorPanelOptions)mask;
 + (void)setPickerMode:(NSColorPanelMode)mode;
++ (BOOL)dragColor:(NSColor *)color withEvent:(NSEvent *)event fromView:(NSView *)sourceView;
 
-@property (nullable, strong) NSView *accessoryView;
 @property (getter=isContinuous) BOOL continuous;
 @property BOOL showsAlpha;
 @property NSColorPanelMode mode;
 @property (copy) NSColor *color;
 @property (readonly) CGFloat alpha;
+
+/// The maximum linear exposure that can be set on a color picked in the color panel. Defaults to 1 and ignores any value less than 1. If set to a value >= 2, the color picked by the panel may have a linear exposure applied to it.
+@property CGFloat maximumLinearExposure API_AVAILABLE(macos(26.0));
+
+@property (nullable, strong) NSView *accessoryView;
+
 - (void)setAction:(nullable SEL)selector;
 - (void)setTarget:(nullable id)target;
+
 - (void)attachColorList:(NSColorList *)colorList;
 - (void)detachColorList:(NSColorList *)colorList;
 
-/// The maximum linear exposure that can be set on a color picked in the color panel. Defaults to 1 and ignores any value less than 1. If set to a value >= 2, the color picked by the panel may have a linear exposure applied to it.
-@property CGFloat maximumLinearExposure API_AVAILABLE(macos(26.0));
 @end
 
 @interface NSApplication(NSColorPanel)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSControl.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSControl.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSControl.h	2026-04-24 22:47:41
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSControl.h	2026-05-30 22:31:55
@@ -157,5 +157,35 @@
     NSControlBorderShapeCircle
 } API_AVAILABLE(macos(26.0)) NS_SWIFT_NAME(NSControl.BorderShape);
 
+typedef NS_OPTIONS(NSUInteger, NSControlEvents) {
+    NSControlEventTrackingBegan           = 1 <<  0, // on all mouse / touch (bar) downs
+    NSControlEventTrackingRepeated         API_AVAILABLE(macos(27.0)) = 1 <<  1, // on multiple downs (click count > 1)
+    NSControlEventTrackingInside          = 1 <<  2, // on tracking change while inside the bounds of the control
+    NSControlEventTrackingOutside         = 1 <<  3, // on tracking change while outside the bounds of the control
+    NSControlEventTrackingEntered         = 1 <<  4, // on tracking change where tracking transitions from outside to inside the bounds of the control
+    NSControlEventTrackingExited          = 1 <<  5, // on tracking change where tracking transitions from inside to outside the bounds of the control
+    NSControlEventTrackingEndedInside     = 1 <<  6, // on mouse/touch up while inside the bounds of the control
+    NSControlEventTrackingEndedOutside    = 1 <<  7, // on mouse/touch up while outside the bounds of the control
+    NSControlEventTrackingCancelled       = 1 <<  8, // on cancellation of tracking
+    
+    NSControlEventValueChanged            API_AVAILABLE(macos(27.0)) = 1 << 12,     // sliders, etc.
+    NSControlEventPrimaryActionTriggered  API_AVAILABLE(macos(27.0)) = 1 << 13,     // semantic action: for buttons, etc.
+    NSControlEventMenuActionTriggered     API_AVAILABLE(macos(27.0)) = 1 << 14,     // triggered when the menu gesture fires but before the menu presents
+
+    NSControlEventAllTrackingEvents       = 0x00000FFF,  // for mouse/touch events
+    NSControlEventApplicationReserved      API_AVAILABLE(macos(27.0)) = 0x0F000000,  // range available for application use
+    NSControlEventSystemReserved          = 0xF0000000,  // range reserved for internal framework use
+    NSControlEventAllEvents               = 0xFFFFFFFF
+} API_AVAILABLE(macos(11.0)) NS_SWIFT_NAME(NSControl.Events);
+
+@interface NSControl(NSControlEvents)
+// add target/action for particular event. you can call this multiple times and you can specify multiple target/actions for a particular event.
+// passing in nil as the target goes up the responder chain. The action cannot be NULL. Note that the target is not retained.
+- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(NSControlEvents)controlEvents API_AVAILABLE(macos(11.0));
+
+// remove the target/action for a set of events. pass in NULL for the action to remove all actions for that target
+- (void)removeTarget:(nullable id)target action:(nullable SEL)action forControlEvents:(NSControlEvents)controlEvents API_AVAILABLE(macos(11.0));
+@end
+
 API_UNAVAILABLE_END
 NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSDraggingSession.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSDraggingSession.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSDraggingSession.h	2026-04-24 22:47:37
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSDraggingSession.h	2026-05-30 22:31:51
@@ -17,7 +17,8 @@
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
 
-@class NSPasteboard, NSImage, NSDraggingItem;
+@class NSDraggingItem, NSGestureRecognizer, NSImage, NSPasteboard;
+
 API_AVAILABLE(macos(10.7))
 @interface NSDraggingSession : NSObject
 /* Controls the dragging formation when the drag is over the source. The default value is NSDraggingFormationNone. */
@@ -49,6 +50,11 @@
 - (void)enumerateDraggingItemsWithOptions:(NSDraggingItemEnumerationOptions)enumOpts forView:(nullable NSView *)view classes:(NSArray<Class> *)classArray searchOptions:(NSDictionary<NSPasteboardReadingOptionKey, id> *)searchOptions usingBlock:(void (NS_NOESCAPE ^)(NSDraggingItem *draggingItem, NSInteger idx, BOOL *stop))block;
 @end
 
+@interface NSDraggingSession (Deprecated)
+
+- (void)updateDragWithGesture:(NSGestureRecognizer *)gesture NS_SWIFT_NAME(updateDrag(from:)) API_DEPRECATED("This method is deprecated and has no effect.", macos(27.0, 27.1));
+
+@end
 
 API_UNAVAILABLE_END
 NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h	2026-04-24 22:47:35
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h	2026-05-30 22:31:50
@@ -50,8 +50,8 @@
     NSEventTypeMagnify API_AVAILABLE(macos(10.5))       = 30,
     NSEventTypeSwipe   API_AVAILABLE(macos(10.5))       = 31,
     NSEventTypeRotate  API_AVAILABLE(macos(10.5))       = 18,
-    NSEventTypeBeginGesture API_AVAILABLE(macos(10.5))  = 19,
-    NSEventTypeEndGesture API_AVAILABLE(macos(10.5))    = 20,
+    NSEventTypeBeginGesture API_DEPRECATED("NSEventTypeBeginGesture is no longer delivered. Use the phase property on NSEvent or NSGestureRecognizer instead.", macos(10.5, API_TO_BE_DEPRECATED))  = 19,
+    NSEventTypeEndGesture API_DEPRECATED("NSEventTypeEndGesture is no longer delivered. Use the phase property on NSEvent or NSGestureRecognizer instead.", macos(10.5, API_TO_BE_DEPRECATED))    = 20,
     
     NSEventTypeSmartMagnify API_AVAILABLE(macos(10.8)) = 32,
     NSEventTypeQuickLook API_AVAILABLE(macos(10.8)) = 33,
@@ -119,8 +119,8 @@
     NSEventMaskMagnify API_AVAILABLE(macos(10.5))          = 1ULL << NSEventTypeMagnify,
     NSEventMaskSwipe API_AVAILABLE(macos(10.5))            = 1ULL << NSEventTypeSwipe,
     NSEventMaskRotate API_AVAILABLE(macos(10.5))           = 1ULL << NSEventTypeRotate,
-    NSEventMaskBeginGesture API_AVAILABLE(macos(10.5))     = 1ULL << NSEventTypeBeginGesture,
-    NSEventMaskEndGesture API_AVAILABLE(macos(10.5))       = 1ULL << NSEventTypeEndGesture,
+    NSEventMaskBeginGesture API_DEPRECATED("NSEventMaskBeginGesture is no longer delivered. Use the phase property on NSEvent or NSGestureRecognizer instead.", macos(10.5, API_TO_BE_DEPRECATED))     = 1ULL << NSEventTypeBeginGesture,
+    NSEventMaskEndGesture API_DEPRECATED("NSEventMaskEndGesture is no longer delivered. Use the phase property on NSEvent or NSGestureRecognizer instead.", macos(10.5, API_TO_BE_DEPRECATED))       = 1ULL << NSEventTypeEndGesture,
     
     /* Note: You can only use these event masks on 64 bit. In other words, you cannot setup a local, nor global, event monitor for these event types on 32 bit. Also, you cannot search the event queue for them (nextEventMatchingMask:...) on 32 bit.
      */
@@ -490,6 +490,10 @@
 
 /* this message is valid for NSEventTypePressure events */
 @property (readonly) NSPressureBehavior pressureBehavior API_AVAILABLE(macos(10.11));
+
+/* Returns the user's preference about using touch as a way to swipe between pages. This value is determined by the Touch preference panel for the current user.
+*/
+@property (class, readonly, getter=isTouchSwipeNavigationEnabled) BOOL touchSwipeNavigationEnabled API_AVAILABLE(macos(27));
 
 /* Returns the user's preference about using gesture scrolls as a way to track fluid swipes. This value is determined by the Mouse / Trackpad preference panel for the current user. Generally, NSScrollView will check this for you. However, if your app is not using an NSScrollView, or your NSResponder can receive scrollWheel messages without first being sent to an NSScrollView, then you should check this preference before calling -trackSwipeEventWithOptions:dampenAmountThresholdMin:max:usingHandler:
 */
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSFont.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSFont.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSFont.h	2026-04-24 22:47:31
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSFont.h	2026-05-30 22:31:46
@@ -1,3 +1,6 @@
+#if (defined(USE_APPKIT_PUBLIC_HEADERS) && USE_APPKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSFont.h>)
+#import <TargetConditionals.h>
+
 /*
 	NSFont.h
 	Application Kit
@@ -5,10 +8,11 @@
 	All rights reserved.
 */
 
-#import <Foundation/NSObject.h>
+#import <Foundation/NSNotification.h>
 #import <Foundation/NSString.h> // for NSStringEncoding
+#import <Foundation/NSGeometry.h>
+#import <CoreGraphics/CoreGraphics.h>
 #import <AppKit/AppKitDefines.h>
-#import <AppKit/NSCell.h> // for NSControlSize
 #import <AppKit/NSFontDescriptor.h>
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -76,8 +80,6 @@
 @property (class, readonly) CGFloat smallSystemFontSize; // size of standard small System font.
 @property (class, readonly) CGFloat labelFontSize; // size of the standard Label Font.
 
-+ (CGFloat)systemFontSizeForControlSize:(NSControlSize)controlSize;
-
 /********* Core font attribute *********/
 @property (readonly, copy) NSString *fontName;
 @property (readonly) CGFloat pointSize;
@@ -186,5 +188,17 @@
 + (NSFont *)preferredFontForTextStyle:(NSFontTextStyle)style options:(NSDictionary<NSFontTextStyleOptionKey, id> *)options API_AVAILABLE(macos(11.0));
 @end
 
+API_UNAVAILABLE_END
+NS_HEADER_AUDIT_END(nullability, sendability)
+#else
+#import <UIFoundation/NSFont.h>
+#endif
+
+#import <AppKit/NSCell.h> // for NSControlSize
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
+@interface NSFont (NSFont_AppKitAdditions)
++ (CGFloat)systemFontSizeForControlSize:(NSControlSize)controlSize;
+@end
 API_UNAVAILABLE_END
 NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSFontDescriptor.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSFontDescriptor.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSFontDescriptor.h	2026-04-24 22:47:34
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSFontDescriptor.h	2026-05-30 22:31:49
@@ -1,3 +1,6 @@
+#if (defined(USE_APPKIT_PUBLIC_HEADERS) && USE_APPKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSFontDescriptor.h>)
+#import <TargetConditionals.h>
+
 /*
 	NSFontDescriptor.h
 	Application Kit
@@ -199,7 +202,28 @@
 APPKIT_EXTERN NSFontTextStyle const NSFontTextStyleCaption1 API_AVAILABLE(macos(11.0));
 APPKIT_EXTERN NSFontTextStyle const NSFontTextStyleCaption2 API_AVAILABLE(macos(11.0));
 
+@interface NSFontDescriptor (NSFontDescriptor_TextStyles)
+// Returns a font descriptor containing the text style.
++ (NSFontDescriptor *)preferredFontDescriptorForTextStyle:(NSFontTextStyle)style options:(NSDictionary<NSFontTextStyleOptionKey, id> *)options API_AVAILABLE(macos(11.0));
+@end
+
 // Deprecated
+APPKIT_EXTERN NSString * NSFontColorAttribute             API_DEPRECATED("", macos(10.3,10.4)); // This attribute is obsolete. Use NSForegroundColorAttributeName instead.
+
+
+
+API_UNAVAILABLE_END
+NS_HEADER_AUDIT_END(nullability, sendability)
+#else
+#import <UIFoundation/NSFontDescriptor.h>
+#endif
+
+
+#import <AppKit/AppKitDefines.h>
+
+#if !TARGET_OS_IPHONE
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+// Deprecated
 typedef uint32_t NSFontFamilyClass; // Deprecated. Use NSFontDescriptorSymbolicTraits instead
 
 // The following enum items are deprecated. Use NSFontDescriptorSymbolicTraits instead
@@ -230,15 +254,5 @@
     NSFontVerticalTrait = (1 << 11),
     NSFontUIOptimizedTrait = (1 << 12)
 };
-
-APPKIT_EXTERN NSString * NSFontColorAttribute 			API_DEPRECATED("", macos(10.3,10.4)); // This attribute is obsolete. Use NSForegroundColorAttributeName instead.
-
-@interface NSFontDescriptor (NSFontDescriptor_TextStyles)
-// Returns a font descriptor containing the text style.
-+ (NSFontDescriptor *)preferredFontDescriptorForTextStyle:(NSFontTextStyle)style options:(NSDictionary<NSFontTextStyleOptionKey, id> *)options API_AVAILABLE(macos(11.0));
-@end
-
-
-
-API_UNAVAILABLE_END
 NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // !TARGET_OS_IPHONE
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGestureRecognizer.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGestureRecognizer.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGestureRecognizer.h	2026-04-24 22:47:36
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGestureRecognizer.h	2026-05-30 22:31:51
@@ -71,7 +71,14 @@
 @property BOOL delaysMagnificationEvents;           // default is NO.
 @property BOOL delaysRotationEvents;                // default is NO.
 
-/* individual NSGestureRecognizer subclasses may provide subclass-specific location information. see individual subclasses for details */
+/// Causes the receiver to be cancelled when its enclosing scroll view's gesture recognizer begins.
+///
+/// Defaults to `false`.
+@property (getter=isCancellableByScrollGesture) BOOL cancellableByScrollGesture API_AVAILABLE(macos(27.0));
+
+/*  individual NSGestureRecognizer subclasses may provide subclass-specific location information. see individual subclasses for details.
+    Note that locationInView: is only set after the recognizer starts recognizing events, so for example it is not valid to consult locationInView: from gestureRecognizer:shouldAttemptToRecognizeWithEvent: or gestureRecognizer:shouldReceiveTouch:, but it is valid for gestureRecognizerShouldBegin:
+ */
 - (NSPoint)locationInView:(nullable NSView*)view;
 
 @property (nullable, copy) NSString *name API_AVAILABLE(macos(26.0));
@@ -80,7 +87,7 @@
 @end
 
 @interface NSGestureRecognizer (NSTouchBar)
-/* Currently, only NSTouchTypeDirect is supported. Defaults to 0 */
+/* Currently, only NSTouchTypeDirect is supported. Defaults to NSTouchTypeDirect as of macOS 27, and 0 on earlier releases. */
 @property NSTouchTypeMask allowedTouchTypes API_AVAILABLE(macos(10.12.2));
 @end
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGlassEffectView.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGlassEffectView.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGlassEffectView.h	2026-04-24 22:47:40
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGlassEffectView.h	2026-05-30 22:31:54
@@ -35,6 +35,15 @@
 
 /// The style of glass this view uses.
 @property NSGlassEffectViewStyle style;
+
+/// Enables interactive glass behavior, which adds a visual response to user interactions.
+///
+/// This should be enabled for glass that is used as the background for interactive controls or when used as the container of interactive controls.
+///
+/// When `YES`, the glass effect will provide visual feedback when it is interacted with.
+/// When `NO`, the glass effect remains static. The default value is `NO`.
+@property BOOL effectIsInteractive API_AVAILABLE(macos(27.0));
+
 @end
 
 /// A view that efficiently merges descendant glass effect views together when they are within a specified proximity to each other.
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSItemBadge.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSItemBadge.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSItemBadge.h	2026-04-24 22:47:43
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSItemBadge.h	2026-05-30 22:31:56
@@ -1,4 +1,3 @@
-//
 /*
         NSItemBadge.h
         Application Kit
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSLayoutManager.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSLayoutManager.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSLayoutManager.h	2026-04-24 22:47:32
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSLayoutManager.h	2026-05-30 22:31:47
@@ -10,6 +10,7 @@
 #import <AppKit/NSTextStorage.h>
 #import <AppKit/NSFont.h>
 #import <AppKit/NSGlyphGenerator.h>
+#import <AppKit/NSText.h>
 
 @class NSTextContainer;
 @class NSColor;
@@ -26,12 +27,20 @@
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
 #if !TARGET_OS_IPHONE
-
+#if !__NSTEXT_LAYOUT_ORIENTATION_SECTION__
+#define __NSTEXT_LAYOUT_ORIENTATION_SECTION__ 1
 typedef NS_ENUM(NSInteger, NSTextLayoutOrientation) {
     NSTextLayoutOrientationHorizontal = 0, // Lines rendered horizontally, grow top to bottom
     NSTextLayoutOrientationVertical = 1, // Lines rendered vertically, grow right to left
-} API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0));
+} API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+#endif // !__NSTEXT_LAYOUT_ORIENTATION_SECTION__
 
+API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
+@protocol NSTextLayoutOrientationProvider
+// A property describing the receiver's layout orientation.  This property defines the default value for the range of string laid out in the receiver in absence of explicit NSVerticalGlyphFormAttributeName attribute.  For example, when NSTextLayoutOrientationVertical, the default value for NSVerticalGlyphFormAttributeName is 1.  When rendering into the receiver, the Text System assumes the coordinate system is appropriately rotated.
+@property (readonly) NSTextLayoutOrientation layoutOrientation API_AVAILABLE(macos(10.7), ios(7.0));
+@end
+
 typedef NS_OPTIONS(NSInteger, NSGlyphProperty) {
     NSGlyphPropertyNull = (1 << 0), // null glyph ignored for layout and display
     NSGlyphPropertyControlCharacter = (1 << 1), // control character such as tab, attachment, etc that has special behavior associated with
@@ -47,11 +56,6 @@
     NSControlCharacterActionParagraphBreak = (1 << 4), // Causes paragraph break; firstLineIndent will be used for the following glyph
     NSControlCharacterActionContainerBreak = (1 << 5) // Causes container break
 } API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0));
-
-@protocol NSTextLayoutOrientationProvider
-// A property describing the receiver's layout orientation.  This property defines the default value for the range of string laid out in the receiver in absence of explicit NSVerticalGlyphFormAttributeName attribute.  For example, when NSTextLayoutOrientationVertical, the default value for NSVerticalGlyphFormAttributeName is 1.  When rendering into the receiver, the Text System assumes the coordinate system is appropriately rotated.
-@property (readonly) NSTextLayoutOrientation layoutOrientation API_AVAILABLE(macos(10.7), ios(7.0), tvos(9.0));
-@end
 
 typedef NS_ENUM(NSInteger, NSTypesetterBehavior) {
     NSTypesetterLatestBehavior                  = -1,
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSMenuItem.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSMenuItem.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSMenuItem.h	2026-04-24 22:47:36
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSMenuItem.h	2026-05-30 22:31:51
@@ -18,6 +18,14 @@
 
 @class NSMenu, NSMenuItemBadge, NSImage, NSAttributedString, NSView;
 
+/// Values for the `preferredImageVisibility` property of NSMenuItem.
+/// When a menu item is initialized, the default value for the item's image visibility is Automatic.
+typedef NS_ENUM(NSInteger, NSMenuItemImageVisibility) {
+    NSMenuItemImageVisibilityAutomatic  = 0,    /// AppKit should choose whether the item's image is visible, considering the system configuration.
+    NSMenuItemImageVisibilityVisible    = 1,    /// The item image should always be visible. Note that in some cases, AppKit may still hide the image, overriding this preference.
+    NSMenuItemImageVisibilityHidden     = 2     /// The item image should not be visible.
+} API_AVAILABLE(macos(27.0)) NS_SWIFT_NAME(NSMenuItem.ImageVisibility);
+
 #pragma mark - NSMenuItem
 
 @interface NSMenuItem : NSObject <NSCopying, NSCoding, NSValidatedUserInterfaceItem, NSUserInterfaceItemIdentification, NSAccessibilityElement, NSAccessibility>
@@ -79,6 +87,11 @@
 @property BOOL allowsAutomaticKeyEquivalentMirroring API_AVAILABLE(macos(12.0));
 
 @property (nullable, strong) NSImage *image;
+
+/// A menu item's image visibility determines whether the item's image is displayed when the menu is open.
+/// The default visibility for an item's image is Automatic. With this value, AppKit determines whether the item's image is visible based on system configuration.
+/// If an item's image should be visible in all cases, regardless of macOS version or other settings, then set the image visibility to `.visible`.
+@property NSMenuItemImageVisibility preferredImageVisibility API_AVAILABLE(macos(27.0));
 
 @property NSControlStateValue state;
 @property (null_resettable, strong) NSImage *onStateImage; // checkmark by default
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSOpenPanel.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSOpenPanel.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSOpenPanel.h	2026-04-24 22:47:36
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSOpenPanel.h	2026-05-30 22:31:51
@@ -24,12 +24,23 @@
 @property (readonly, copy) NSArray<NSURL *> *URLs;
 
 @property BOOL resolvesAliases;
-
-@property BOOL canChooseDirectories;
-
 @property BOOL allowsMultipleSelection;
 
+/**
+Whether or not the user can choose files in the open panel.
+@discussion In macOS 27 and later, `canChooseFiles` is updated when you set `allowedContentTypes` or set `treatsFilePackagesAsDirectories`. If `allowedContentTypes` contains a type that does not conform to `UTTypeDirectory` then `canChooseFiles` is set to `YES`. If `allowedContentTypes` contains a type that conforms to `UTTypePackage` and `treatsFilePackagesAsDirectories` is `NO`, then `canChooseFiles` is set to `YES.
+By default `canChooseFiles` is `YES`.
+In general you will only need to set `canChooseFiles` to `NO` when `allowedContentTypes` is `[]` (the empty array).  If you set `canChooseFiles` to `NO` then set `allowedContentTypes` to `[]`, `canChooseFiles` will still be `NO`. However, if you reset `allowedContentTypes` from non-empty to empty, then that will also reset `canChooseFiles` to `YES`, the default value. In short, setting `allowedContentTypes` to `[]` keeps your setting or overrides the automatic system setting. If unsure, you can always set `canChooseFiles` after setting `allowedContentTypes`.
+ */
 @property BOOL canChooseFiles;
+
+/**
+Whether or not the user can choose directories in open the panel.
+@discussion In macOS 27 and later, `canChooseDirectories` is updated when you set `allowedContentTypes` or set `treatsFilePackagesAsDirectories`. If `allowedContentTypes` contains a type that conforms to `UTTypeDirectory` then `canChooseDirectories` is set to `YES`. If `allowedContentTypes` contains a type that conforms to `UTTypePackage` and `treatsFilePackagesAsDirectories` is `YES`, then `canChooseDirectories` is set to `YES`.
+By default `canChooseDirectories` is `NO`.
+In general you will only need to set `canChooseDirectories` to `YES` when `allowedContentTypes` is `[]` (the empty array). If you set `canChooseDirectories` to `YES` then set `allowedContentTypes` to `[]`, `canChooseDirectories` will still be `YES`. However, if you reset `allowedContentTypes` from non-empty to empty, then that will also reset `canChooseDirectories` to `NO`, the default value. In short, setting `allowedContentTypes` to `[]` keeps your setting or overrides the automatic system setting. If unsure, you can always set `canChooseDirectories` after setting `allowedContentTypes`.
+ */
+@property BOOL canChooseDirectories;
 
 /* Controls how the receiver responds to ubiquitous documents with conflicting versions. If YES, then when the user attempts to open one or more documents with conflicts, the receiver will first display conflict resolution UI, requiring the user to resolve those conflicts before the documents can be opened. If NO, then the receiver does nothing in response to conflicts, allowing your application to handle them. The default value is YES, except for applications linked against the 10.9 SDK or earlier that have adopted iCloud by specifying a ubiquitous container identifier entitlement.
  
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPanGestureRecognizer.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPanGestureRecognizer.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPanGestureRecognizer.h	2026-04-24 22:47:37
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPanGestureRecognizer.h	2026-05-30 22:31:52
@@ -16,8 +16,8 @@
 @interface NSPanGestureRecognizer : NSGestureRecognizer <NSCoding>
 
 /* Bitfield of the button(s) required to recognize this click where bit 0 is the primary button, 1 is the secondary button, etc...
-   NSClickGestureRecognizer.h dynamically returns YES to delay primary, secondary and other mouse events depending on this value.
-*/
+ NSClickGestureRecognizer.h dynamically returns YES to delay primary, secondary and other mouse events depending on this value.
+ */
 @property NSUInteger buttonMask; // Defaults to 0x1
 
 /* Translation in the coordinate system of the specified view */
@@ -28,7 +28,18 @@
 - (NSPoint)velocityInView:(nullable NSView*)view;
 
 /* Number of touches required to recognize the gesture when used in NSTouchBar */
-@property NSInteger numberOfTouchesRequired API_AVAILABLE(macos(10.12.2));
+@property NSInteger numberOfTouchesRequired API_DEPRECATED_WITH_REPLACEMENT("minimumNumberOfTouches", macos(10.12.2, 27.0));
+
+/// The minimum number of touches needed to recognize this gesture
+///
+/// Defaults to 1.
+@property NSInteger minimumNumberOfTouches API_AVAILABLE(macos(27.0));
+
+/// The maximum number of touches allowed to recognize this gesture
+///
+/// Set this property to 0 to require exactly `minimumNumberOfTouches` touches to recognize the gesture.
+/// Defaults to `NSIntegerMax`.
+@property NSInteger maximumNumberOfTouches API_AVAILABLE(macos(27.0));
 
 @end
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSParagraphStyle.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSParagraphStyle.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSParagraphStyle.h	2026-04-24 22:47:41
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSParagraphStyle.h	2026-05-30 22:31:55
@@ -2,20 +2,21 @@
 #import <TargetConditionals.h>
 
 #if !TARGET_OS_IPHONE
-#import <AppKit/AppKitDefines.h>
+//
+//  NSParagraphStyle.h
+//  Text Kit
+//
+//  Copyright (c) 1994-2025, Apple Inc. All rights reserved.
+//
+// NSParagraphStyle and NSMutableParagraphStyle hold paragraph style information
+// NSTextTab holds information about a single tab stop
 
-/*
-        NSParagraphStyle.h
-        Copyright (c) 1994-2025, Apple Inc.  All rights reserved.
- 
-	NSParagraphStyle and NSMutableParagraphStyle hold paragraph style information
-	NSTextTab holds information about a single tab stop
- */
-
 #import <Foundation/Foundation.h>
+#import <AppKit/AppKitDefines.h>
 #import <AppKit/NSText.h>
 
 @class NSTextList;
+@class NSTextBlock;
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
@@ -58,6 +59,9 @@
 
 + (NSCharacterSet *)columnTerminatorsForLocale:(nullable NSLocale *)aLocale API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0)); // Returns the column terminators for locale. Passing nil returns an instance corresponding to +[NSLocale systemLocale]. For matching user's formatting preferences, pass +[NSLocale currentLocale]. Can be used as the value for NSTabColumnTerminatorsAttributeName to make a decimal tab stop.
 
+- (instancetype)initWithTextAlignment:(NSTextAlignment)alignment location:(CGFloat)loc options:(NSDictionary<NSTextTabOptionKey, id> *)options NS_DESIGNATED_INITIALIZER; // Initializes a text tab with the text alignment, location, and options.  The text alignment is used to determine the position of text inside the tab column.
+
+@property (readonly) NSTextAlignment alignment;  // Defines the alignment of tab column contents. NSTextAlignmentNatural and NSTextAlignmentJustified are resolved either NSTextAlignmentLeft or NSTextAlignmentRight based on the user's preferred language.
 @property (readonly) CGFloat location; // Location of the tab stop inside the line fragment rect coordinate system
 @property (readonly) NSDictionary<NSTextTabOptionKey, id> *options; // Optional configuration attributes
 @end
@@ -67,6 +71,8 @@
 APPKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0))
 @interface NSParagraphStyle : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
 
+@property (readonly) NSTextAlignment alignment;
+
 @property (class, readonly, copy) NSParagraphStyle *defaultParagraphStyle; // This class property returns a shared and cached NSParagraphStyle instance with the default style settings, with same value as the result of [[NSParagraphStyle alloc] init].
 
 + (NSWritingDirection)defaultWritingDirectionForLanguage:(nullable NSString *)languageName;  // languageName is in ISO lang region format
@@ -101,16 +107,24 @@
 
 @property (readonly, copy) NSArray<NSTextList *> *textLists API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));     // Array to specify the text lists containing the paragraph, nested from outermost to innermost.
 
+@property (readonly, copy) NSArray<__kindof NSTextBlock *> *textBlocks API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0));    // Array to specify the text blocks containing the paragraph, nested from outermost to innermost.
+
 @property (readonly) BOOL allowsDefaultTighteningForTruncation API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0)); // Tightens inter-character spacing in attempt to fit lines wider than the available space if the line break mode is one of the truncation modes before starting to truncate. NO by default. The maximum amount of tightening performed is determined by the system based on contexts such as font, line width, etc.
 
 @property (readonly) NSLineBreakStrategy lineBreakStrategy API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0)); // Specifies the line break strategies that may be used for laying out the paragraph.  The default value is NSLineBreakStrategyNone.
 
+// Specifies the threshold for using tightening as an alternative to truncation when -allowsDefaultTighteningForTruncation=NO.  When the line break mode specifies truncation, the text system will attempt to tighten inter-character spacing as an alternative to truncation, provided that the ratio of the text width to the line fragment width does not exceed 1.0 + tighteningFactorForTruncation.  Otherwise the text will be truncated at a location determined by the line break mode.  The default value is 0.0 for apps linked against 10.11 and later SDK. This property is ignored when -allowsDefaultTighteningForTruncation=YES. Explicitly setting this property to 0.0 has a side effect of also setting -allowsDefaultTighteningForTruncation to NO.
+@property (readonly) float tighteningFactorForTruncation;
+
+// Specifies whether the paragraph is to be treated as a header for purposes of HTML generation.  Should be set to 0 (the default value) if the paragraph is not a header, or from 1 through 6 if the paragraph is to be treated as a header.
+@property (readonly) NSInteger headerLevel;
 @end
 
 
 APPKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0))
 @interface NSMutableParagraphStyle : NSParagraphStyle
 
+@property NSTextAlignment alignment;
 @property CGFloat lineSpacing;
 @property CGFloat paragraphSpacing;
 @property CGFloat firstLineHeadIndent;
@@ -129,12 +143,15 @@
 @property BOOL allowsDefaultTighteningForTruncation API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
 @property NSLineBreakStrategy lineBreakStrategy API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
 @property (NS_NONATOMIC_IOSONLY, copy) NSArray<NSTextList *> *textLists API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), watchos(2.0), visionos(1.0));
+@property (copy) NSArray<__kindof NSTextBlock *> *textBlocks API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0));
 
 - (void)addTabStop:(NSTextTab *)anObject API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
 - (void)removeTabStop:(NSTextTab *)anObject API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
 
 - (void)setParagraphStyle:(NSParagraphStyle *)obj API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), watchos(2.0), visionos(1.0));
 
+@property float tighteningFactorForTruncation;
+@property NSInteger headerLevel;
 @end
 
 NS_HEADER_AUDIT_END(nullability, sendability)
@@ -143,43 +160,9 @@
 #import <UIFoundation/NSParagraphStyle.h>
 #endif
 
-#import <Foundation/Foundation.h>
-#import <AppKit/AppKitDefines.h>
-#import <AppKit/NSText.h>
-
-@class NSTextList;
-@class NSTextBlock;
-
 #if !TARGET_OS_IPHONE
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-API_AVAILABLE(macos(10.0), ios(7.0), watchos(2.0), tvos(9.0), visionos(1.0)) @interface NSTextTab ()
-
-- (instancetype)initWithTextAlignment:(NSTextAlignment)alignment location:(CGFloat)loc options:(NSDictionary<NSTextTabOptionKey, id> *)options NS_DESIGNATED_INITIALIZER; // Initializes a text tab with the text alignment, location, and options.  The text alignment is used to determine the position of text inside the tab column.
-@property (readonly) NSTextAlignment alignment;  // Defines the alignment of tab column contents. NSTextAlignmentNatural and NSTextAlignmentJustified are resolved either NSTextAlignmentLeft or NSTextAlignmentRight based on the user's preferred language.
-
-@end
-
-API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0)) @interface NSParagraphStyle ()
-@property (readonly) NSTextAlignment alignment;
-
-// Specifies the threshold for using tightening as an alternative to truncation when -allowsDefaultTighteningForTruncation=NO.  When the line break mode specifies truncation, the text system will attempt to tighten inter-character spacing as an alternative to truncation, provided that the ratio of the text width to the line fragment width does not exceed 1.0 + tighteningFactorForTruncation.  Otherwise the text will be truncated at a location determined by the line break mode.  The default value is 0.0 for apps linked against 10.11 and later SDK. This property is ignored when -allowsDefaultTighteningForTruncation=YES. Explicitly setting this property to 0.0 has a side effect of also setting -allowsDefaultTighteningForTruncation to NO.
-@property (readonly) float tighteningFactorForTruncation;
-
-@property (readonly, copy) NSArray<__kindof NSTextBlock *> *textBlocks;    // Array to specify the text blocks containing the paragraph, nested from outermost to innermost.
-
-// Specifies whether the paragraph is to be treated as a header for purposes of HTML generation.  Should be set to 0 (the default value) if the paragraph is not a header, or from 1 through 6 if the paragraph is to be treated as a header.
-@property (readonly) NSInteger headerLevel;
-
-@end
-
-API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0)) @interface NSMutableParagraphStyle ()
-@property NSTextAlignment alignment;
-@property float tighteningFactorForTruncation;
-@property (copy) NSArray<__kindof NSTextBlock *> *textBlocks;
-@property NSInteger headerLevel;
-@end
-
 /************************ Deprecated ************************/
 // NSTextTabType and NSTextTab methods using the type are soft deprecated starting with OS X 10.11. It will be officially deprecated in a future release. Use NSTextAlignment-based API instead
 typedef NS_ENUM(NSUInteger, NSTextTabType) {
@@ -193,8 +176,6 @@
 - (instancetype)initWithType:(NSTextTabType)type location:(CGFloat)loc; // Use -initWithTextAlignment:location:options:
 @property (readonly) NSTextTabType tabStopType; // Use -alignment and -options
 @end
-
-
 
 NS_HEADER_AUDIT_END(nullability, sendability)
 #endif // !TARGET_OS_IPHONE
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPressGestureRecognizer.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPressGestureRecognizer.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPressGestureRecognizer.h	2026-04-24 22:47:32
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPressGestureRecognizer.h	2026-05-30 22:31:48
@@ -21,7 +21,7 @@
 @property NSUInteger buttonMask; // Defaults to 0x1
 
 /* Time in seconds the mouse button must be held down for the gesture to be recognized */
-@property NSTimeInterval minimumPressDuration; // Defaults to the user double-click interval
+@property NSTimeInterval minimumPressDuration; // Defaults appropriate for touch or mouse
 
 /* Maximum movement in screen points allowed before the gesture fails. Once recognized (after minimumPressDuration) there is no limit on cursor movement for the remainder of the gesture tracking
 */
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSRefreshController.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSRefreshController.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSRefreshController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSRefreshController.h	2026-05-30 22:31:47
@@ -0,0 +1,64 @@
+/*
+        NSRefreshController.h
+        Application Kit
+        Copyright (c) 2026, Apple Inc.
+        All rights reserved.
+*/
+
+#import <Foundation/Foundation.h>
+#import <AppKit/AppKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
+
+@class NSColor;
+@class NSAttributedString;
+
+/// A controller that provides pull-to-refresh functionality for scroll views.
+///
+/// `NSRefreshController` enables users to trigger refresh operations by pulling down
+/// on scrollable content. Add a refresh controller to an `NSScrollView` to provide
+/// this functionality. Configure the target and action to handle refresh events.
+API_AVAILABLE(macos(27.0))
+NS_SWIFT_UI_ACTOR
+@interface NSRefreshController : NSObject
+
+/// A Boolean value indicating whether a refresh operation is in progress.
+///
+/// The default value of this property is `NO`. When the user triggers a refresh,
+/// this property automatically becomes `YES`. Call ``endRefreshing`` when your
+/// refresh operation completes to reset this property to `NO`.
+@property (readonly) BOOL isRefreshing;
+
+/// The tint color for the refresh controller.
+///
+/// This color is used for the refresh indicator.
+@property (nullable, strong) NSColor *tintColor;
+
+/// The styled text to display in the refresh controller.
+///
+/// Use this property to provide additional context about the refresh operation.
+@property (nullable, copy) NSAttributedString *attributedTitle;
+
+/// The target object that receives action messages.
+@property (nullable, weak) id target;
+
+/// The action method to call when refresh is triggered.
+@property (nullable) SEL action;
+
+/// Tells the refresh controller that a refresh operation has begun.
+///
+/// Call this method to programmatically start a refresh operation. The refresh controller
+/// enters the refreshing state and displays its activity indicator. This is typically used
+/// when you want to show a refresh initiated by something other than user interaction.
+- (void)beginRefreshing;
+
+/// Tells the refresh controller that a refresh operation has ended.
+///
+/// Call this method when your refresh operation completes. The refresh controller
+/// returns to its default appearance and exits the refreshing state.
+- (void)endRefreshing;
+@end
+
+API_UNAVAILABLE_END
+NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h	2026-04-24 22:47:31
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h	2026-05-30 22:31:47
@@ -52,8 +52,8 @@
 - (void)magnifyWithEvent:(NSEvent *)event API_AVAILABLE(macos(10.5));
 - (void)rotateWithEvent:(NSEvent *)event API_AVAILABLE(macos(10.5));
 - (void)swipeWithEvent:(NSEvent *)event API_AVAILABLE(macos(10.5));
-- (void)beginGestureWithEvent:(NSEvent *)event API_AVAILABLE(macos(10.5));
-- (void)endGestureWithEvent:(NSEvent *)event API_AVAILABLE(macos(10.5));
+- (void)beginGestureWithEvent:(NSEvent *)event API_DEPRECATED("Begin/end gesture events are no longer delivered. Use the phase property on NSEvent or NSGestureRecognizer instead.", macos(10.5, API_TO_BE_DEPRECATED));
+- (void)endGestureWithEvent:(NSEvent *)event API_DEPRECATED("Begin/end gesture events are no longer delivered. Use the phase property on NSEvent or NSGestureRecognizer instead.", macos(10.5, API_TO_BE_DEPRECATED));
 
 - (void)smartMagnifyWithEvent:(NSEvent *)event API_AVAILABLE(macos(10.8));
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h	2026-04-24 22:47:35
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h	2026-05-30 22:31:50
@@ -171,9 +171,9 @@
 @property (nullable, copy) NSArray<NSString *> *tagNames API_AVAILABLE(macos(10.9));
 
 /**
- `NSSavePanel`: Whether or not to show a control for selecting the type of the saved file.
- The control shows the types in `allowedContentTypes`. Default is `NO`.
- `NSOpenPanel`: Not used.
+ Whether or not to show a popup list for selecting the type of the saved file.
+ @discussion The popup list shows the localized description for the types in `allowedContentTypes`. To display a different description, implement the delegate method `-panel:displayNameForType:`.
+ The default value is `NO`, do not show the content types.
  - Note: If `allowedContentTypes` is empty, the control is not displayed.
  */
 @property BOOL showsContentTypes API_AVAILABLE(macos(15.0));
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScreen.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScreen.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScreen.h	2026-04-24 22:47:33
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScreen.h	2026-05-30 22:31:48
@@ -20,6 +20,11 @@
 
 @class CADisplayLink, NSColorSpace;
 
+typedef NS_OPTIONS(NSUInteger, NSScreenTouchCapabilities) {
+    NSScreenTouchCapabilitiesNone = 0,
+    NSScreenTouchCapabilitiesMultiTouch = 0x1 << 0,
+} NS_SWIFT_NAME(NSScreen.TouchCapabilities) API_AVAILABLE(macos(27.0));
+
 @interface NSScreen : NSObject
 
 @property (class, readonly, copy) NSArray<NSScreen *> *screens;	/* All screens; first one is "zero" screen */
@@ -66,6 +71,8 @@
 
 /// The CGDirectDisplayID for this screen. This will return kCGNullDirectDisplay if there isn't one.
 @property (readonly) CGDirectDisplayID CGDirectDisplayID API_AVAILABLE(macos(26.0)) NS_REFINED_FOR_SWIFT;
+
+@property (readonly) NSScreenTouchCapabilities touchCapabilities API_AVAILABLE(macos(27.0));
 
 @end
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h	2026-04-24 22:47:34
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h	2026-05-30 22:31:49
@@ -9,6 +9,7 @@
 #import <AppKit/NSView.h>
 #import <AppKit/NSScroller.h>
 #import <AppKit/NSTextFinder.h>
+#import <AppKit/NSRefreshController.h>
 #import <AppKit/AppKitDefines.h>
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -130,7 +131,25 @@
 /* The distance the scrollers are inset from the edge of the scroll view. */
 @property NSEdgeInsets scrollerInsets API_AVAILABLE(macos(10.10));
 
+/// Enable touch scrolling
+///
+/// Defaults to `true`.
+@property (getter=isTouchScrollingEnabled) BOOL touchScrollingEnabled API_AVAILABLE(macos(27.0));
 
+/// The minimum number of touches needed for scrolling
+///
+/// Defaults to 1.
+@property NSInteger minimumNumberOfTouchesForScrolling API_AVAILABLE(macos(27.0));
+
+/// The maximum number of touches needed for scrolling
+///
+/// Set this property to 0 to require exactly `minimumNumberOfTouchesForScrolling` touches to recognize the gesture.
+/// Defaults to `NSIntegerMax`.
+@property NSInteger maximumNumberOfTouchesForScrolling API_AVAILABLE(macos(27.0));
+
+/// A gesture recognizer for setting up failure or exclusion relationships against scrolling gestures
+@property (readonly, strong) NSGestureRecognizer *scrollGestureForRelationships API_AVAILABLE(macos(27.0));
+
 @end
 
 /* This notification is sent at the beginning of a magnify gesture. The notification object is the scroll view performing the magnification.
@@ -157,6 +176,13 @@
 */
 APPKIT_EXTERN NSNotificationName const NSScrollViewDidEndLiveScrollNotification API_AVAILABLE(macos(10.9));
 
+@interface NSScrollView (NSRefreshControllerSupport)
+/// The refresh controller associated with this scroll view.
+///
+/// Setting this property adds the refresh controller to the scroll view,
+/// enabling pull-to-refresh functionality. Set to nil to remove it.
+@property (nullable, strong) NSRefreshController *refreshController API_AVAILABLE(macos(27.0));
+@end
 
 @interface NSScrollView (NSRulerSupport)
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSegmentedControl.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSegmentedControl.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSegmentedControl.h	2026-04-24 22:47:35
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSegmentedControl.h	2026-05-30 22:31:50
@@ -50,6 +50,12 @@
     
 } API_AVAILABLE(macos(10.13));
 
+typedef NS_ENUM(NSInteger, NSSegmentedControlRole) {
+    NSSegmentedControlRoleAutomatic = 0,
+    NSSegmentedControlRoleTabs = 1,
+    NSSegmentedControlRoleValueSelection = 2,
+} NS_SWIFT_NAME(NSSegmentedControl.Role) API_AVAILABLE(macos(27.0));
+
 @interface NSSegmentedControl : NSControl <NSUserInterfaceCompression>
 
 @property NSInteger segmentCount;
@@ -89,6 +95,7 @@
 - (BOOL)showsMenuIndicatorForSegment:(NSInteger)segment API_AVAILABLE(macos(10.13));
 
 @property NSSegmentStyle segmentStyle API_AVAILABLE(macos(10.5));
+@property NSSegmentedControlRole role API_AVAILABLE(macos(27.0));
 
 @property (getter=isSpringLoaded) BOOL springLoaded API_AVAILABLE(macos(10.10.3)); // sends action on deep-press or extended hover while dragging. Defaults to NO.
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSShadow.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSShadow.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSShadow.h	2026-04-24 22:47:34
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSShadow.h	2026-05-30 22:31:49
@@ -1,40 +1,42 @@
-#if !__has_include(<UIFoundation/NSShadow.h>)
-/*
-        NSShadow.h
-        Application Kit
-	Copyright (c) 2002-2024, Apple Inc.
-        All rights reserved.
-*/
+#if (defined(USE_APPKIT_PUBLIC_HEADERS) && USE_APPKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSShadow.h>)
+#import <TargetConditionals.h>
 
-/* NSShadow stores the properties of a drop shadow to be added to drawing.  */
+#if !TARGET_OS_IPHONE
+//
+//  NSShadow.h
+//  Text Kit
+//
+//  Copyright (c) 2002-2025, Apple Inc. All rights reserved.
+//
 
-#import <Foundation/NSObject.h>
-#import <Foundation/NSGeometry.h>
+#import <Foundation/Foundation.h>
+#import <CoreGraphics/CoreGraphics.h>
 #import <AppKit/AppKitDefines.h>
 
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-#if !TARGET_OS_IPHONE
-
 @class NSColor;
 
-API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0)) @interface NSShadow : NSObject <NSCopying, NSSecureCoding>
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-- (instancetype)init NS_DESIGNATED_INITIALIZER;     // designated initializer, returns a default shadow with zero offset, zero blur radius, and default color
+/*
+ NSShadow stores the properties of a drop shadow for drawing text.
+ To set a shadow on an NSAttributedString use it as a value for NSShadowAttributeName.
+ */
 
-@property NSSize shadowOffset;  // offset in user space of the shadow from the original drawing, in default user space units, where positive values are up and to the right
+APPKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0))
+@interface NSShadow : NSObject <NSCopying, NSSecureCoding>
 
-@property CGFloat shadowBlurRadius;      // blur radius of the shadow in default user space units
+- (instancetype)init NS_DESIGNATED_INITIALIZER; // designated initializer, returns a default shadow with zero offset, zero blur radius, and default color
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
 
-@property(nullable, copy) NSColor *shadowColor;   // color used for the shadow (default is black with an alpha value of 1/3)
+@property CGSize shadowOffset;      // offset in user space of the shadow from the original drawing
+@property CGFloat shadowBlurRadius; // blur radius of the shadow in default user space units
+@property (nullable, copy) NSColor *shadowColor;           // color used for the shadow (default is black with an alpha value of 1/3)
 
 - (void)set;
-
 @end
 
-
-#endif // !TARGET_OS_IPHONE
-
 NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // !TARGET_OS_IPHONE
 #else
 #import <UIFoundation/NSShadow.h>
 #endif
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSharingCollaborationModeRestriction.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSharingCollaborationModeRestriction.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSharingCollaborationModeRestriction.h	2026-04-24 22:47:38
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSharingCollaborationModeRestriction.h	2026-05-30 22:31:53
@@ -1,4 +1,3 @@
-//
 /*
         NSSharingCollaborationModeRestriction.h
         Application Kit
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStatusItem.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStatusItem.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStatusItem.h	2026-04-24 22:47:42
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStatusItem.h	2026-05-30 22:31:56
@@ -17,11 +17,24 @@
 @class NSAttributedString;
 @class NSStatusBarButton;
 @class NSStatusBar;
+@class NSStatusItem;
+@class NSStatusItemExpandedInterfaceSession;
 @class NSWindow;
 @class NSImage;
 @class NSMenu;
 @class NSView;
 
+API_AVAILABLE(macos(27.0))
+@protocol NSStatusItemExpandedInterfaceDelegate <NSObject>
+@required
+
+/*  Status items which do not use an NSMenu but instead position other windows ("expanded interface") relative to the item should begin showing their expanded interface upon receipt of this message. This method should be used instead of manually toggling your interface by target/action handling on the button or item. The expanded interface should be closed upon receipt of -statusItemDidEndExpandedInterfaceSession:animated:. This allows the status item to participate in keyboard navigation and menu tracking behaviors. If the expanded interface is closed through other user action, -cancel should be invoked on statusItem.expandedInterfaceSession. Other user action could be the user clicking an action which should dismiss the interface, or the app detecting a click in another window or app (see NSEvent.addGlobalMonitorForEventsMatchingMask:handler: and NSEvent.addLocalMonitorForEventsMatchingMask:handler:).
+ */
+- (void)statusItem:(NSStatusItem *)statusItem didBeginExpandedInterfaceSession:(NSStatusItemExpandedInterfaceSession *)expandedInterfaceSession;
+- (void)statusItemDidEndExpandedInterfaceSession:(NSStatusItem *)statusItem animated:(BOOL)animated;
+
+@end
+
 typedef NS_OPTIONS(NSUInteger, NSStatusItemBehavior) {
     /* Allow the user to remove the item. By default, an item is not removable. To provide consistency with system status items, RemovalAllowed should be set if your application remains usable without the status item. It is the application's responsibility to allow the user to re-add the item. Upon removal, -visible is set to NO. This is observable through KVO.
      */
@@ -62,14 +75,29 @@
  */
 @property (null_resettable, copy) NSStatusItemAutosaveName autosaveName API_AVAILABLE(macos(10.12));
 
+/*  A delegate which handles the lifecycle of a status item's expanded interface, if any. Status items which assign an NSMenu to their button will not receive these callouts, as the expanded menu interface will be handled automatically. The delegate is responsible for showing any expanded interface such as an NSWindow positioned beneath the item upon receipt of -statusItem:didBeginExpandedInterfaceSession:, and then dismissing that interface when the delegate receives the -statusItemDidEndExpandedInterfaceSession:animated: message.
+ */
+@property (nullable, weak) id<NSStatusItemExpandedInterfaceDelegate> expandedInterfaceDelegate API_AVAILABLE(macos(27.0));
+
+/*  A session object tracking the lifecycle of a currently showing expanded interface, if any. Will be set to a valid session object before invocation of -statusItem:didBeginExpandedInterfaceSession:, and cleared to nil before invocation of -statusItemDidEndExpandedInterfaceSession:animated: on the expandedInterfaceDelegate.
+ */
+@property (nullable, readonly, strong) NSStatusItemExpandedInterfaceSession *expandedInterfaceSession API_AVAILABLE(macos(27.0));
+
+/*  An optional view to display in the status bar instead of -button. -button is preferred in most cases as it can alter its appearance automatically.
+ */
+@property (nullable, strong) NSView *view API_AVAILABLE(macos(10.0));
+
+/*  An optional target/action to be invoked when using a custom view rather than -button. Status items with no -expandedInterfaceDelegate and which use -view will receive this when interacted with.
+ */
+@property (nullable, weak) id target API_AVAILABLE(macos(10.0));
+@property (nullable) SEL action API_AVAILABLE(macos(10.0));
+
 @end
 
 
 @interface NSStatusItem (NSStatusItemDeprecated)
 /* These methods simply forward their calls onto the button property. */
-@property (nullable) SEL action API_DEPRECATED("Use the receiver's button.action instead", macos(10.0,10.14));
 @property (nullable) SEL doubleAction API_DEPRECATED("Use the receiver's button.doubleAction instead", macos(10.0,10.14));
-@property (nullable, weak) id target API_DEPRECATED("Use the receiver's button.target instead", macos(10.0,10.14));
 @property (nullable, copy) NSString *title API_DEPRECATED("Use the receiver's button.title instead", macos(10.0,10.14));
 @property (nullable, copy) NSAttributedString *attributedTitle API_DEPRECATED("Use the receiver's button.attributedTitle instead", macos(10.0,10.14));
 @property (nullable, strong) NSImage *image API_DEPRECATED("Use the receiver's button.image instead", macos(10.0,10.14));
@@ -80,11 +108,6 @@
 
 - (NSInteger)sendActionOn:(NSEventMask)mask API_DEPRECATED("Use the receiver's button's -sendActionOn: instead", macos(10.0,10.14));
 
-/*
- Custom views should not be set on a status item.
- The button property with a template image will allow proper styling of the status item in various states and contexts and should be used instead.
- */
-@property (nullable, strong) NSView *view API_DEPRECATED("Use the standard button property instead", macos(10.0,10.14));
 - (void)drawStatusBarBackgroundInRect:(NSRect)rect withHighlight:(BOOL)highlight API_DEPRECATED("Use the standard button instead which handles highlight drawing, making this method obsolete", macos(10.0,10.14));
 - (void)popUpStatusItemMenu:(NSMenu *)menu API_DEPRECATED("Use the menu property instead", macos(10.0,10.14));
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStatusItemExpandedInterfaceSession.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStatusItemExpandedInterfaceSession.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStatusItemExpandedInterfaceSession.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStatusItemExpandedInterfaceSession.h	2026-05-30 22:31:53
@@ -0,0 +1,24 @@
+/*
+        NSStatusItemExpandedInterfaceSession.h
+        Application Kit
+        Copyright (c) 2026, Apple Inc.
+        All rights reserved.
+*/
+
+#import <Foundation/Foundation.h>
+#import <AppKit/AppKitDefines.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
+
+API_AVAILABLE(macos(27.0))
+@interface NSStatusItemExpandedInterfaceSession : NSObject
+
+/*  Cancels tracking of the expanded interface state in the menu bar system. NSStatusItemExpandedInterfaceDelegate will receive -statusItemDidEndExpandedInterfaceSession:animated: after cancellation.
+ */
+- (void)cancel;
+
+@end
+
+API_UNAVAILABLE_END
+NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStringDrawing.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStringDrawing.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStringDrawing.h	2026-04-24 22:47:42
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSStringDrawing.h	2026-05-30 22:31:56
@@ -2,15 +2,16 @@
 #import <TargetConditionals.h>
 
 #if !TARGET_OS_IPHONE
-#import <AppKit/AppKitDefines.h>
+//
+//  NSStringDrawing.h
+//  Text Kit
+//
+//  Copyright (c) 1994-2025, Apple Inc. All rights reserved.
+//
 
-/*
-        NSStringDrawing.h
-        Copyright (c) 1994-2025, Apple Inc.  All rights reserved.
-*/
-
 #import <Foundation/Foundation.h>
 #import <CoreGraphics/CGGeometry.h>
+#import <AppKit/AppKitDefines.h>
 #import <AppKit/NSAttributedString.h>
 
 @class NSAttributedString;
@@ -19,7 +20,7 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-// When attributes=nil, the methods declared here uses the default behavior for each attribute described in <UIKitCore/NSAttributedString.h>. When stringDrawingContext=nil, it's equivalent of passing the default instance initialized with [[NSStringDrawingContext alloc] init].
+// When attributes=nil, the methods declared here uses the default behavior for each attribute described in <AppKit/NSAttributedString.h>. When stringDrawingContext=nil, it's equivalent of passing the default instance initialized with [[NSStringDrawingContext alloc] init].
 
 APPKIT_EXTERN API_AVAILABLE(macos(10.11), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0))
 @interface NSStringDrawingContext : NSObject
@@ -53,7 +54,7 @@
     NSStringDrawingUsesDeviceMetrics = 1 << 3, // Uses image glyph bounds instead of typographic bounds
     NSStringDrawingTruncatesLastVisibleLine API_AVAILABLE(macos(10.5), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 1 << 5, // Truncates and adds the ellipsis character to the last visible line if the text doesn't fit into the bounds specified. Ignored if NSStringDrawingUsesLineFragmentOrigin is not also set.
 
-    /// Specifies the behavior for resolving ``NSTextAlignment.natural`` to the visual alignment.
+    /// Specifies the behavior for resolving ``NSTextAlignment/natural`` to the visual alignment.
     ///
     /// When set, the resolved visual alignment is determined by the resolved base writing direction; otherwise, it is using the user’s preferred language.
     NSStringDrawingOptionsResolvesNaturalAlignmentWithBaseWritingDirection API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0), watchos(26.0)) = (1 << 9),
@@ -76,34 +77,20 @@
 - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options context:(nullable NSStringDrawingContext *)context API_AVAILABLE(macos(10.11), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
 @end
 
-NS_HEADER_AUDIT_END(nullability, sendability)
-#endif // !TARGET_OS_IPHONE
-#else
-#import <UIFoundation/NSStringDrawing.h>
-#endif
-
-#import <Foundation/Foundation.h>
-#import <AppKit/NSAttributedString.h>
-
-@class NSAttributedString;
-@class NSString;
-@class NSStringDrawingContext;
-
-#if !TARGET_OS_IPHONE
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-
 /************************ Deprecated ************************/
 // Following NSStringDrawing methods are soft deprecated starting with OS X 10.11. It will be officially deprecated in a future release. Use corresponding API with NSStringDrawingContext instead
 @interface NSString (NSStringDrawingDeprecated)
-- (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes; // Use -drawWithRect:options:attributes:context: instead
+- (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes API_DEPRECATED_WITH_REPLACEMENT("-drawWithRect:options:attributes:context:", macos(10.0, 27.0));
 
-- (NSRect)boundingRectWithSize:(NSSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes; // Use -boundingRectWithSize:options:attributes:context: instead
+- (NSRect)boundingRectWithSize:(NSSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes API_DEPRECATED_WITH_REPLACEMENT("-boundingRectWithSize:options:attributes:context:", macos(10.0, 27.0));
 @end
 
 @interface NSAttributedString (NSStringDrawingDeprecated)
 - (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options; // Use -drawWithRect:options:context: instead
 - (NSRect)boundingRectWithSize:(NSSize)size options:(NSStringDrawingOptions)options; // Use -boundingRectWithSize:options:context: instead
 @end
-
 NS_HEADER_AUDIT_END(nullability, sendability)
 #endif // !TARGET_OS_IPHONE
+#else
+#import <UIFoundation/NSStringDrawing.h>
+#endif
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSText.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSText.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSText.h	2026-04-24 22:47:41
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSText.h	2026-05-30 22:31:55
@@ -2,16 +2,17 @@
 #import <TargetConditionals.h>
 
 #if !TARGET_OS_IPHONE
-#import <AppKit/AppKitDefines.h>
+//
+//  NSText.h
+//  Text Kit
+//
+//  Copyright (c) 1994-2025, Apple Inc. All rights reserved.
+//
+
 #import <Foundation/Foundation.h>
+#import <AppKit/AppKitDefines.h>
+#import <CoreText/CTParagraphStyle.h>
 
-/*
-	NSText.h
-	Application Kit
-	Copyright (c) 1994-2025, Apple Inc.
-	All rights reserved.
-*/
-
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
 #if !__NSWRITING_DIRECTION_SHARED_SECTION__
@@ -24,23 +25,6 @@
 } API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0));
 #endif // !__NSWRITING_DIRECTION_SHARED_SECTION__
 
-NS_HEADER_AUDIT_END(nullability, sendability)
-#endif // !TARGET_OS_IPHONE
-#else
-#import <UIFoundation/NSText.h>
-#endif
-
-#import <AppKit/AppKitDefines.h>
-#import <AppKit/NSView.h>
-#import <AppKit/NSSpellProtocol.h>
-
-@class NSColor, NSFont, NSNotification;
-@protocol NSTextDelegate;
-
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-
-#if !TARGET_OS_IPHONE
-
 #if !__NSTEXT_ALIGNMENT_SHARED_SECTION__
 #define __NSTEXT_ALIGNMENT_SHARED_SECTION__ 1
 #pragma mark NSTextAlignment
@@ -64,7 +48,23 @@
 } API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0));
 #endif // !__NSTEXT_ALIGNMENT_SHARED_SECTION__
 
+APPKIT_SWIFT_FORWARD_DECLARE(typedef CF_ENUM(uint8_t, CTTextAlignment))
+APPKIT_EXTERN CTTextAlignment NSTextAlignmentToCTTextAlignment(NSTextAlignment nsTextAlignment) API_AVAILABLE(macos(10.9), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
+APPKIT_EXTERN NSTextAlignment NSTextAlignmentFromCTTextAlignment(CTTextAlignment ctTextAlignment) API_AVAILABLE(macos(10.9), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
+
+NS_HEADER_AUDIT_END(nullability, sendability)
 #endif // !TARGET_OS_IPHONE
+#else
+#import <UIFoundation/NSText.h>
+#endif
+
+#import <AppKit/NSView.h>
+#import <AppKit/NSSpellProtocol.h>
+
+@class NSColor, NSFont, NSNotification;
+@protocol NSTextDelegate;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
 APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
 @interface NSText : NSView <NSChangeSpelling, NSIgnoreMisspelledWords>
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAlternatives.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAlternatives.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAlternatives.h	2026-04-24 22:47:36
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAlternatives.h	2026-05-30 22:31:51
@@ -1,22 +1,24 @@
-#if !__has_include(<UIFoundation/NSTextAlternatives.h>)
-/*
-	NSTextAlternatives.h
-	Application Kit
-	Copyright (c) 2011-2024, Apple Inc.
-	All rights reserved.
-*/
+#if (defined(USE_APPKIT_PUBLIC_HEADERS) && USE_APPKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextAlternatives.h>)
+#import <TargetConditionals.h>
 
+#if !TARGET_OS_IPHONE
+//
+//  NSTextAlternatives.h
+//  Text Kit
+//
+//  Copyright (c) 2011-2025, Apple Inc. All rights reserved.
+//
+
 #import <Foundation/NSObject.h>
 #import <Foundation/NSArray.h>
 #import <Foundation/NSNotification.h>
 #import <AppKit/AppKitDefines.h>
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-#if !TARGET_OS_IPHONE
 
 @class NSString;
 
-API_AVAILABLE(macos(10.8))
+APPKIT_EXTERN API_AVAILABLE(macos(10.8)) API_UNAVAILABLE(ios, tvos, watchos, visionos)
 @interface NSTextAlternatives : NSObject <NSSecureCoding>
 
 - (instancetype)initWithPrimaryString:(NSString *)primaryString alternativeStrings:(NSArray<NSString *> *)alternativeStrings;
@@ -28,12 +30,9 @@
 
 @end
 
-APPKIT_EXTERN NSNotificationName NSTextAlternativesSelectedAlternativeStringNotification API_AVAILABLE(macos(10.8)); // @"NSAlternativeString"
-
-
-
-#endif // !TARGET_OS_IPHONE
+APPKIT_EXTERN NSNotificationName NSTextAlternativesSelectedAlternativeStringNotification API_AVAILABLE(macos(10.8)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // @"NSAlternativeString"
 NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // !TARGET_OS_IPHONE
 #else
 #import <UIFoundation/NSTextAlternatives.h>
 #endif
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAttachment.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAttachment.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAttachment.h	2026-04-24 22:47:36
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAttachment.h	2026-05-30 22:31:51
@@ -2,16 +2,16 @@
 #import <TargetConditionals.h>
 
 #if !TARGET_OS_IPHONE
-#import <AppKit/AppKitDefines.h>
+//
+//  NSTextAttachment.h
+//  Text Kit
+//
+//  Copyright (c) 1994-2025, Apple Inc. All rights reserved.
+//
 
-/*
-        NSTextAttachment.h
-        Copyright (c) 1994-2025, Apple Inc.
-        All rights reserved.
-*/
-
 #import <Foundation/NSAttributedString.h>
 #import <CoreGraphics/CGGeometry.h>
+#import <AppKit/AppKitDefines.h>
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAttachmentCell.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAttachmentCell.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAttachmentCell.h	2026-04-24 22:47:27
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextAttachmentCell.h	2026-05-30 22:31:43
@@ -10,10 +10,10 @@
 @class NSLayoutManager;
 @class NSTextContainer;
 
+#if !TARGET_OS_IPHONE
+
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
-
-#if !TARGET_OS_IPHONE
 // These are the only methods required of cells in text attachments... The default NSCell class implements most of these; the NSTextAttachmentCell class is a subclass which implements all and provides some additional functionality.
 API_UNAVAILABLE(macCatalyst)
 @protocol NSTextAttachmentCell <NSObject>
@@ -37,7 +37,8 @@
 // Simple class to provide basic attachment cell functionality. By default this class causes NSTextView to send out delegate messages when the attachment is clicked on or dragged.
 @interface NSTextAttachmentCell : NSCell <NSTextAttachmentCell>
 @end
-#endif // !TARGET_OS_IPHONE
 
 API_UNAVAILABLE_END
 NS_HEADER_AUDIT_END(nullability, sendability)
+
+#endif // !TARGET_OS_IPHONE
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextContainer.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextContainer.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextContainer.h	2026-04-24 22:47:33
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextContainer.h	2026-05-30 22:31:48
@@ -2,23 +2,27 @@
 #import <TargetConditionals.h>
 
 #if !TARGET_OS_IPHONE
-#import <AppKit/AppKitDefines.h>
+//
+//  NSTextContainer.h
+//  Text Kit
+//
+//  Copyright (c) 1994-2025, Apple Inc. All rights reserved.
+//
 
-/*
-        NSTextContainer.h
-        Application Kit
-        Copyright (c) 1994-2025, Apple Inc.
-        All rights reserved.
-*/
 #import <Foundation/Foundation.h>
+#import <AppKit/AppKitDefines.h>
 #import <AppKit/NSParagraphStyle.h>
+#import <AppKit/NSText.h>
+#import <AppKit/NSLayoutManager.h>
 
 @class NSTextLayoutManager;
+@class NSTextView;
+@class NSBezierPath;
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
 APPKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
-@interface NSTextContainer : NSObject <NSSecureCoding>
+@interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
 
 /**************************** Initialization ****************************/
 
@@ -36,6 +40,9 @@
 // Default value: NSLineBreakByWordWrapping  The line break mode defines the behavior of the last line inside the text container.
 @property NSLineBreakMode lineBreakMode API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
+// Default value : empty array  An array of UIBezierPath representing the exclusion paths inside the receiver's bounding rect.
+@property (copy) NSArray<NSBezierPath *> *exclusionPaths API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+
 /************************* Layout constraint properties *************************/
 
 // Default value: 5.0  The layout padding at the beginning and end of the line fragment rects insetting the layout width available for the contents.  This value is utilized by NSLayoutManager for determining the layout width.
@@ -59,44 +66,34 @@
 @property BOOL widthTracksTextView;
 @property BOOL heightTracksTextView;
 
-@end
-
-NS_HEADER_AUDIT_END(nullability, sendability)
-#endif // !TARGET_OS_IPHONE
+// Set/get the view which the container is drawn in.  Having a view is optional.
+#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12
+@property (nullable, strong) NSTextView *textView;
 #else
-#import <UIFoundation/NSTextContainer.h>
+@property (nullable, weak) NSTextView *textView;
 #endif
+@end
 
-#import <Foundation/Foundation.h>
-#import <AppKit/AppKitDefines.h>
-#import <AppKit/NSParagraphStyle.h>
-#import <AppKit/NSLayoutManager.h>
+#pragma mark NSLayoutManager Interface
+@class NSLayoutManager;
 
-@class NSBezierPath;
-@class NSTextLayoutManager;
+@interface NSTextContainer (NSTextContainer_NSLayoutManagerInterface)
 
-#if !TARGET_OS_IPHONE
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-
-@interface NSTextContainer () <NSTextLayoutOrientationProvider>
-
 // Accessor for the NSLayoutManager object owning the receiver.
 // Avoid assigning a layout manager directly through this property.  Adding a text container to a layout manager through -[NSLayoutManager addTextContainer:] will use the property for assigning the new layout manager.
 @property (nullable, assign) NSLayoutManager *layoutManager API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
 // This method should be used instead of the primitive -setLayoutManager: if you need to replace a container's layoutManager with a new one leaving the rest of the web intact.  All the NSTextContainers on the old NSLayoutManager get transferred to the new one.  This method deals with all the work of making sure the containers don't get deallocated and removing the old layoutManager from the text storage and replacing it with the new one.
 - (void)replaceLayoutManager:(NSLayoutManager *)newLayoutManager NS_SWIFT_NAME(replaceLayoutManager(_:)) API_AVAILABLE(macos(10.0), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+@end
 
-// Default value : empty array  An array of NSBezierPath representing the exclusion paths inside the receiver's bounding rect.
-@property (copy) NSArray<NSBezierPath *> *exclusionPaths API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
-
-// Set/get the view which the container is drawn in.  Having a view is optional.
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12
-@property (nullable, strong) NSTextView *textView;
+NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // !TARGET_OS_IPHONE
 #else
-@property (nullable, weak) NSTextView *textView;
+#import <UIFoundation/NSTextContainer.h>
 #endif
-@end
+#if !TARGET_OS_IPHONE
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
 /**************************** Deprecated ****************************/
 // NSLineSweepDirection and NSLineMovementDirection are soft deprecated starting with OS X 10.11. It will be officially deprecated in a future release
@@ -125,8 +122,5 @@
 
 - (BOOL)containsPoint:(NSPoint)point API_DEPRECATED("", macos(10.0,10.11));
 @end
-
-
-
 NS_HEADER_AUDIT_END(nullability, sendability)
 #endif // !TARGET_OS_IPHONE
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextInputClient.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextInputClient.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextInputClient.h	2026-04-24 22:47:37
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextInputClient.h	2026-05-30 22:31:51
@@ -30,7 +30,7 @@
     NSTextCursorAccessoryPlacementOffscreenBottom // show bottom edge of visible rect with ↓
 } API_AVAILABLE(macos(14.0));
 
-@protocol NSTextInputClient
+@protocol NSTextInputClient <NSObject>
 @required
 /* The receiver inserts string replacing the content specified by replacementRange. string can be either an NSString or NSAttributedString instance.
 */
@@ -101,17 +101,17 @@
  */
 - (NSTextCursorAccessoryPlacement)preferredTextAccessoryPlacement;
 
-/* Return rect which covers whole selected text in screen coordinate. If this method isn't provided, -selectedRange + -firstRectForCharRange:actualRange: will be used. If the selected text is partially visible in the current clip view, it’s ok for `unionRectInVisibleSelectedRange` to go beyond `documentVisibleRect`.
+/* Return rect which covers whole selected text in screen coordinate. If this method isn't provided, -selectedRange + -firstRectForCharRange:actualRange: will be used. If the selected text is partially visible in the current clip view, it’s ok for `unionRectInVisibleSelectedRange` to go beyond `documentVisibleRect`. Treat the cursor as a selection with zero width.
 
  To support dictation indicator on custom text view, expose this method and `-documentVisibleRect`, and call `-[NSTextInputContext willStartScrollingOrZooming]`/ `-[NSTextInputContext didEndScrollingOrZooming]` when needed.
- To support Writing Tools affordance on custom text view, expose this method and `-documentVisibleRect`, and call `-[NSTextInputContext textInputClientDidUpdateSelectionRect]` when needed.
+ To support Writing Tools affordance on custom text view, expose this method and `-documentVisibleRect`, and call `-[NSTextInputContext textInputClientDidUpdateSelection]` when needed.
  */
 @property (readonly) NSRect unionRectInVisibleSelectedRange API_AVAILABLE(macos(14.0));
 
 /* Return visible rect of document area in screen coordinate. If this method isn't provided, -[NSView  visibleRect] will be used.
 
  To support dictation indicator on custom text view, expose this method and `-unionRectInVisibleSelectedRange`, and call `-[NSTextInputContext willStartScrollingOrZooming]`/ `-[NSTextInputContext didEndScrollingOrZooming]` when needed.
- To support Writing Tools affordance on custom text view, expose this method and `-unionRectInVisibleSelectedRange `, and call `-[NSTextInputContext textInputClientDidUpdateSelectionRect]` when needed.
+ To support Writing Tools affordance on custom text view, expose this method and `-unionRectInVisibleSelectedRange `, and call `-[NSTextInputContext textInputClientDidUpdateSelection]` when needed.
  */
 @property (readonly) NSRect documentVisibleRect API_AVAILABLE(macos(14.0));
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextLayoutFragment.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextLayoutFragment.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextLayoutFragment.h	2026-04-24 22:47:33
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextLayoutFragment.h	2026-05-30 22:31:49
@@ -11,6 +11,7 @@
 
 #import <Foundation/NSArray.h>
 #import <CoreGraphics/CoreGraphics.h>
+#import <AppKit/NSTextViewportRenderingSurface.h>
 
 @class NSTextLayoutManager;
 @class NSTextElement;
@@ -41,7 +42,7 @@
 } API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
 API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos)
-@interface NSTextLayoutFragment : NSObject <NSSecureCoding>
+@interface NSTextLayoutFragment : NSObject <NSSecureCoding, NSTextViewportRenderingSurfaceKey>
 #pragma mark Initialization
 - (instancetype)initWithTextElement:(NSTextElement *)textElement range:(nullable NSTextRange *)rangeInElement NS_DESIGNATED_INITIALIZER;
 - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextLayoutManager.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextLayoutManager.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextLayoutManager.h	2026-04-24 22:47:32
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextLayoutManager.h	2026-05-30 22:31:47
@@ -21,6 +21,8 @@
 @class NSTextSelection;
 @class NSTextSelectionNavigation;
 @class NSTextViewportLayoutController;
+@class NSTextAttachment;
+@class NSTextAttachmentViewProvider;
 @protocol NSTextLocation;
 @protocol NSTextLayoutManagerDelegate;
 @protocol NSTextSelectionDataSource;
@@ -61,10 +63,10 @@
 // When YES, NSTextLayoutManager will attempt to hyphenate when wrapping lines. May be overridden on a per-paragraph basis by the NSParagraphStyle's usesDefaultHyphenation. The receiver makes the best effort to decide the exact logic including the hyphenation factor based on the context. The default value is NO. Can be overridden by the preference key @"NSUsesDefaultHyphenation".
 @property BOOL usesHyphenation;
 
-/// Specifies the behavior for resolving ``NSTextAlignment.natural`` to the visual alignment.
+/// Specifies the behavior for resolving ``NSTextAlignment/natural`` to the visual alignment.
 ///
-/// When set to ``true``, the resolved visual alignment is determined by the resolved base writing direction; otherwise, it is using the user’s preferred language.
-/// The default value is ``true``.
+/// When set to `true`, the resolved visual alignment is determined by the resolved base writing direction; otherwise, it is using the user’s preferred language.
+/// The default value is `true`.
 @property BOOL resolvesNaturalAlignmentWithBaseWritingDirection API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
 
 #pragma mark NSTextContentManager interface
@@ -165,6 +167,16 @@
 // Rendering attributes
 // Returns a dictionary of rendering attributes for rendering NSLinkAttributeName. Just as other rendering attributes, specifying NSNull removes the attribute from the final attributes used for rendering. It has priority over the general rendering attributes.
 - (nullable NSDictionary<NSAttributedStringKey, id> *)textLayoutManager:(NSTextLayoutManager *)textLayoutManager renderingAttributesForLink:(id)link atLocation:(id <NSTextLocation>)location defaultAttributes:(NSDictionary<NSAttributedStringKey, id> *)renderingAttributes;
+
+// Returns the text viewport layout container for textContainer. If this method returns nil, it will instantiate from NSTextViewportLayoutController.
+- (nullable  NSTextViewportLayoutController *)textLayoutManager:(NSTextLayoutManager *)textLayoutManager textViewportLayoutControllerForTextContainer:(NSTextContainer *)textContainer API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+
+// View Provider caching
+// When implemented, notifies delegate that the viewProvider associated with a particular textAttachment is about to be invalidated, and can be used to cache the viewProvider.
+- (void)textLayoutManager:(NSTextLayoutManager *)textLayoutManager cacheTextAttachmentViewProvider:(NSTextAttachmentViewProvider *)viewProvider forTextAttachment:(NSTextAttachment *)textAttachment API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+
+// Returns a cached NSTextAttachmentViewProvider to be associated with a particular attachment
+- (nullable NSTextAttachmentViewProvider *)textLayoutManager:(NSTextLayoutManager *)textLayoutManager retrieveCachedTextAttachmentViewProviderForTextAttachment:(NSTextAttachment *)attachment API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
 
 @end
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextRange.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextRange.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextRange.h	2026-04-24 22:47:32
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextRange.h	2026-05-30 22:31:48
@@ -20,6 +20,13 @@
 
 // Compares and returns the logical ordering to location
 - (NSComparisonResult)compare:(id <NSTextLocation>)location API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0), visionos(1.0));
+
+// Basic comparison of location equivalence, should have the result of NSOrderedSame from compare:
+- (BOOL)isEqual:(nullable id)location;
+
+// Must be consistent with results from isEqual while also avoiding hash collisions
+@property (readonly) NSUInteger hash;
+
 @end
 
 #pragma mark NSTextRange
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextSelectionManager.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextSelectionManager.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextSelectionManager.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextSelectionManager.h	2026-05-30 22:31:48
@@ -0,0 +1,140 @@
+/*
+        NSTextSelectionManager.h
+        Application Kit
+        Copyright (c) 2026, Apple Inc.
+        All rights reserved.
+*/
+
+#import <AppKit/AppKit.h>
+#import <AppKit/NSTextSelection.h>
+#import <AppKit/NSTextSelectionNavigation.h>
+
+@protocol NSTextSelectionDataSource;
+@protocol NSTextLocation;
+@class NSTextSelection;
+
+@protocol NSTextSelectionManagerDelegate;
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
+
+
+/// Values for text selection interaction modes.
+///
+/// These modes determine how the text selection manager handles user interaction with text content.
+typedef NS_ENUM (NSInteger, NSTextSelectionMode) {
+    /// Text is editable and selectable.
+    NSTextSelectionModeEditable,
+    /// Text is selectable but not editable.
+    NSTextSelectionModeSelectable,
+    /// Text is neither selectable nor editable.
+    NSTextSelectionModeNonInteractive,
+} NS_SWIFT_NAME(NSTextSelectionManager.Mode) API_AVAILABLE(macos(27.0));
+
+/// An object that coordinates text selection behavior for custom text views.
+///
+/// ``NSTextSelectionManager`` provides a centralized way to manage text selection interactions using a set of gesture recognizers. For keyboard-based selection, integrate ``NSTextSelectionNavigation`` with your view. The selection manager works with a delegate to update and respond to selection changes, and with a data source to query the text layout system.
+API_AVAILABLE(macos(27.0))
+NS_SWIFT_UI_ACTOR
+@interface NSTextSelectionManager : NSObject
+
+/// The interaction mode for text selection.
+///
+/// Determines whether text is editable, selectable only, or non-interactive. The default value is `NSTextSelectionModeEditable`.
+@property NSTextSelectionMode textSelectionMode;
+
+/// The delegate of the text selection manager.
+///
+/// The delegate is responsible for storing the current text selection and responding to selection-related events.
+@property (nullable, weak) id <NSTextSelectionManagerDelegate> delegate;
+
+/// The data source that provides text layout information to the selection manager.
+///
+/// The data source is typically an `NSTextLayoutManager` or similar text layout object.
+@property (nullable, weak) id <NSTextSelectionDataSource> textSelectionDataSource;
+
+/// The gesture recognizers managed by the selection manager.
+///
+/// Other gesture recognizers in the view hierarchy can declare dependencies on these gestures using `requireGestureRecognizerToFail:` to ensure proper gesture recognition precedence.
+@property (readonly) NSArray <NSGestureRecognizer *> *gesturesForFailureRequirements;
+
+@end
+
+/// A set of methods that manage text selection state and let you customize selection behavior.
+///
+/// Delegates are responsible for managing the text selection state and can customize selection behavior by implementing optional methods.
+API_AVAILABLE(macos(27.0)) NS_SWIFT_NAME(NSTextSelectionManager.Delegate)
+@protocol NSTextSelectionManagerDelegate <NSObject>
+@required
+/// The current text selection.
+///
+/// The text selection manager updates this property in response to user interactions. The delegate is responsible for storing and providing access to the current selection. The ``NSTextLocation`` values that make up the ``NSTextRange`` objects can be any object that can describe a location in your text.
+@property (nullable, strong) NSTextSelection *textSelection;
+
+@optional
+/// Asks the delegate whether a selection can begin at the specified point.
+///
+/// Return `YES` to allow a text selection to begin at the specified point, `NO` to prevent it. If the delegate doesn't implement this method, selection is always allowed. The selection manager calls this method when the user initiates a selection gesture at the given point in the coordinate system of the view containing the selection manager.
+///
+/// - Parameters:
+///   - selectionManager: The selection manager requesting permission.
+///   - point: The point in the view's coordinate system where the selection gesture began.
+/// - Returns: `YES` if selection can begin at the point; otherwise, `NO`.
+- (BOOL)selectionManager:(NSTextSelectionManager *)selectionManager shouldBeginSelectionAtPoint:(NSPoint)point;
+
+/// Tells the delegate that a selection gesture is about to begin.
+///
+/// The selection manager calls this method after ``selectionManager:shouldBeginSelectionAtPoint:`` returns `YES` (or if that method isn't implemented) and before any selection changes are made.
+///
+/// - Parameter selectionManager: The selection manager that is about to begin selection.
+- (void)selectionManagerWillBeginSelection:(NSTextSelectionManager *)selectionManager;
+
+/// Tells the delegate that a selection gesture has ended.
+///
+/// The selection manager calls this method after finishing processing a selection gesture, such as when the user releases the mouse button.
+///
+/// - Parameter selectionManager: The selection manager that ended selection.
+- (void)selectionManagerDidEndSelection:(NSTextSelectionManager *)selectionManager;
+
+/// Returns the text location of the text container at the specified point.
+///
+/// Implement this method to support layouts with multiple text containers, such as multi-column or paginated layouts. For full multiple-text-container support, also implement ``selectionManager:frameOfTextContainerAtPoint:``.
+///
+/// - Parameters:
+///   - selectionManager: The selection manager requesting the text location.
+///   - point: The point in the view's coordinate system.
+/// - Returns: The text location for the text container at the point, or `nil` if no container exists there.
+- (nullable id <NSTextLocation>)selectionManager:(NSTextSelectionManager *)selectionManager locationOfTextContainerAtPoint:(NSPoint)point;
+
+/// Returns the frame of the text container at the specified point.
+///
+/// Implement this method to support layouts with multiple text containers. For full multiple-text-container support, also implement ``selectionManager:locationOfTextContainerAtPoint:``.
+///
+/// - Parameters:
+///   - selectionManager: The selection manager requesting the frame.
+///   - point: The point in the view's coordinate system.
+/// - Returns: The frame of the text container at the point, in the text container's coordinate system, or `NSZeroRect` if no container exists there.
+- (NSRect)selectionManager:(NSTextSelectionManager *)selectionManager frameOfTextContainerAtPoint:(NSPoint)point;
+
+/// Creates and returns a dragging session for the specified gesture recognizer.
+///
+/// The selection manager calls this method when the user attempts to drag the current text selection. Use this method to customize the dragging behavior, including setting drag data and drag images.
+///
+/// - Parameters:
+///   - selectionManager: The selection manager requesting the dragging session.
+///   - gesture: The gesture recognizer that detected the drag attempt.
+/// - Returns: A new dragging session, or `nil` to prevent dragging.
+- (nullable NSDraggingSession*)selectionManager:(NSTextSelectionManager *)selectionManager makeDraggingSessionWithGesture:(NSGestureRecognizer *)gesture NS_SWIFT_NAME(selectionManager(_:makeDraggingSession:));
+@end
+
+
+@interface NSView (TextSelectionManager)
+/// The text selection manager for this view.
+///
+/// Setting this property installs gesture recognizers and configures the view to handle text selection interactions. Setting it to `nil` removes text selection support. The default value is `nil`.
+@property (nullable, strong) NSTextSelectionManager *textSelectionManager API_AVAILABLE(macos(27.0));
+@end
+
+
+API_UNAVAILABLE_END
+NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextStorage.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextStorage.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextStorage.h	2026-04-24 22:47:32
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextStorage.h	2026-05-30 22:31:48
@@ -1,28 +1,32 @@
-#if !__has_include(<UIFoundation/NSTextStorage.h>)
-/*
-        NSTextStorage.h
-        Copyright (c) 1994-2024, Apple Inc.
-        All rights reserved.
-*/
+#if (defined(USE_APPKIT_PUBLIC_HEADERS) && USE_APPKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextStorage.h>)
+#import <TargetConditionals.h>
 
+#if !TARGET_OS_IPHONE
+//
+//  NSTextStorage.h
+//  Text Kit
+//
+//  Copyright (c) 1994-2025, Apple Inc. All rights reserved.
+//
+
 #import <Foundation/NSObject.h>
 #import <Foundation/NSNotification.h>
+#import <AppKit/AppKitDefines.h>
 #import <AppKit/NSAttributedString.h>
 
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
 @class NSArray, NSLayoutManager, NSNotification;
 
 @protocol NSTextStorageDelegate;
 @protocol NSTextStorageObserving;
 
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-#if !TARGET_OS_IPHONE
-
 typedef NS_OPTIONS(NSUInteger, NSTextStorageEditActions) {
-    NSTextStorageEditedAttributes API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) = (1 << 0),
-    NSTextStorageEditedCharacters API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) = (1 << 1)
-} API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0));
+    NSTextStorageEditedAttributes API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos) = (1 << 0),
+    NSTextStorageEditedCharacters API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos) = (1 << 1)
+} API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
+;
 
-
 /* Note for subclassing NSTextStorage: NSTextStorage is a semi-abstract subclass of NSMutableAttributedString. It implements change management (beginEditing/endEditing), verification of attributes, delegate handling, and layout management notification. The one aspect it does not implement is the actual attributed string storage --- this is left up to the subclassers, which need to override the two NSMutableAttributedString primitives in addition to two NSAttributedString primitives:
  
  - (NSString *)string;
@@ -34,20 +38,8 @@
  These primitives should perform the change then call edited:range:changeInLength: to get everything else to happen.
 */
 
-API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0)) @interface NSTextStorage : NSMutableAttributedString <NSSecureCoding>
-
-/**************************** Layout manager ****************************/
-
-// NSLayoutManager objects owned by the receiver.
-@property (readonly, copy) NSArray<NSLayoutManager *> *layoutManagers;
-
-// Adds aLayoutManager to the receiver.  Sends -[NSLayoutManager setTextStorage:] to aLayoutManager with the receiver.
-- (void)addLayoutManager:(NSLayoutManager *)aLayoutManager;
-
-// Removes aLayoutManager from the receiver if already owned by it.  Sends -[NSLayoutManager setTextStorage:] to aLayoutManager with nil.
-- (void)removeLayoutManager:(NSLayoutManager *)aLayoutManager;
-
-
+APPKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
+@interface NSTextStorage : NSMutableAttributedString <NSSecureCoding>
 /**************************** Pending edit info ****************************/
 // These methods return information about the editing status. Especially useful when there are outstanding beginEditing calls or during processEditing...
 
@@ -94,21 +86,22 @@
 
 /****  NSTextStorage delegate methods ****/
 
+API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
 @protocol NSTextStorageDelegate <NSObject>
 @optional
 
 // Sent inside -processEditing right before fixing attributes.  Delegates can change the characters or attributes.
-- (void)textStorage:(NSTextStorage *)textStorage willProcessEditing:(NSTextStorageEditActions)editedMask range:(NSRange)editedRange changeInLength:(NSInteger)delta API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0));
+- (void)textStorage:(NSTextStorage *)textStorage willProcessEditing:(NSTextStorageEditActions)editedMask range:(NSRange)editedRange changeInLength:(NSInteger)delta API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
 // Sent inside -processEditing right before notifying layout managers.  Delegates can change the attributes.
-- (void)textStorage:(NSTextStorage *)textStorage didProcessEditing:(NSTextStorageEditActions)editedMask range:(NSRange)editedRange changeInLength:(NSInteger)delta API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0));
+- (void)textStorage:(NSTextStorage *)textStorage didProcessEditing:(NSTextStorageEditActions)editedMask range:(NSRange)editedRange changeInLength:(NSInteger)delta API_AVAILABLE(macos(10.11), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
 @end
 
 /**** Notifications ****/
 
-APPKIT_EXTERN NSNotificationName  NSTextStorageWillProcessEditingNotification API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0));
-APPKIT_EXTERN NSNotificationName  NSTextStorageDidProcessEditingNotification API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0));
+APPKIT_EXTERN NSNotificationName  NSTextStorageWillProcessEditingNotification API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+APPKIT_EXTERN NSNotificationName  NSTextStorageDidProcessEditingNotification API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
 #pragma mark NSTextStorageObserving
 // NSTextStorageObserving defines the protocol for NSTextStorage controller objects observing changes in the text backing-store.
@@ -124,6 +117,20 @@
 - (void)performEditingTransactionForTextStorage:(NSTextStorage *)textStorage usingBlock:(void (NS_NOESCAPE ^) (void))transaction;
 @end
 
+/**************************** Layout Manager  ****************************/
+API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
+@interface NSTextStorage (NSTextStorage_NSLayoutManagerInterface)
+
+// NSLayoutManager objects owned by the receiver.
+@property (readonly, copy) NSArray<NSLayoutManager *> *layoutManagers;
+
+// Adds aLayoutManager to the receiver.  Sends -[NSLayoutManager setTextStorage:] to aLayoutManager with the receiver.
+- (void)addLayoutManager:(NSLayoutManager *)aLayoutManager;
+
+// Removes aLayoutManager from the receiver if already owned by it.  Sends -[NSLayoutManager setTextStorage:] to aLayoutManager with nil.
+- (void)removeLayoutManager:(NSLayoutManager *)aLayoutManager;
+@end
+
 /**** Deprecations ****/
 // NSTextStorageEditedOptions is deprecated along with -[NSLayoutManager textStorage:edited:range:changeInLength:invalidatedRange:. Use NSTextStorageEditActions.
 typedef NSUInteger NSTextStorageEditedOptions;
@@ -132,11 +139,8 @@
 - (void)textStorageWillProcessEditing:(NSNotification *)notification API_DEPRECATED("Use -textStorage:willProcessEditing:range:changeInLength: instead.", macos(10.0,10.11));
 - (void)textStorageDidProcessEditing:(NSNotification *)notification API_DEPRECATED("Use -textStorage:didProcessEditing:range:changeInLength: instead.", macos(10.0,10.11));
 @end
-
-
-
-#endif // !TARGET_OS_IPHONE
 NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // !TARGET_OS_IPHONE
 #else
 #import <UIFoundation/NSTextStorage.h>
 #endif
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextStorageScripting.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextStorageScripting.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextStorageScripting.h	2026-04-24 22:47:20
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextStorageScripting.h	2026-05-30 22:31:38
@@ -11,6 +11,8 @@
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 #if !TARGET_OS_IPHONE
 
+@class NSColor, NSFont;
+
 @interface NSTextStorage (Scripting)
 
 @property (copy) NSArray<NSTextStorage *> *attributeRuns;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextTable.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextTable.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextTable.h	2026-04-24 22:47:26
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextTable.h	2026-05-30 22:31:54
@@ -1,107 +1,159 @@
-#if !__has_include(<UIFoundation/NSTextTable.h>)
-/*
-        NSTextTable.h
-        Copyright (c) 2004-2024, Apple Inc.
-        All rights reserved.
+#if (defined(USE_APPKIT_PUBLIC_HEADERS) && USE_APPKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextTable.h>)
+#import <TargetConditionals.h>
 
-        Classes to represent text tables and other text blocks.
-        NSTextBlock represents a single block of text.
-        NSTextTableBlock is a subclass used to represent a block that is a cell in a table.
-        NSTextTable represents a whole table.
-*/
+#if !TARGET_OS_IPHONE
+//
+//  NSTextTable.h
+//  Text Kit
+//
+//  Copyright (c) 2004-2025, Apple Inc. All rights reserved.
+//
 
+#import <AppKit/AppKitDefines.h>
 #import <AppKit/NSText.h>
+#import <CoreFoundation/CFCGTypes.h>
+#import <Foundation/NSGeometry.h>
 
 @class NSTextTable;
 @class NSLayoutManager;
 @class NSTextContainer;
+@class NSColor;
 
+@class NSView;
+
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-#if !TARGET_OS_IPHONE
 
 /* Values for NSTextBlockValueType */
-typedef NS_ENUM(NSUInteger, NSTextBlockValueType) {
-    NSTextBlockAbsoluteValueType    = 0,    // Absolute value in points
-    NSTextBlockPercentageValueType  = 1     // Percentage value (out of 100)
-};
+typedef NS_ENUM(NSInteger, NSTextBlockValueType) {
+    NSTextBlockValueTypeAbsolute = 0,    // Absolute value in points
+    NSTextBlockValueTypePercentage = 1, // Percentage value (out of 100)
+    
+// Deprecated
+    NSTextBlockAbsoluteValueType NS_SWIFT_NAME(absoluteValueType) API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockValueTypeAbsolute", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockValueTypeAbsolute,    // Absolute value in points
 
+    NSTextBlockPercentageValueType NS_SWIFT_NAME(percentageValueType)  API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockValueTypePercentage", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos)  = NSTextBlockValueTypePercentage     // Percentage value (out of 100)
+} API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0)) NS_SWIFT_NAME(NSTextBlock.ValueType);
+
 /* Values for NSTextBlockDimension */
-typedef NS_ENUM(NSUInteger, NSTextBlockDimension) {
-    NSTextBlockWidth            = 0,
-    NSTextBlockMinimumWidth     = 1,
-    NSTextBlockMaximumWidth     = 2,
-    NSTextBlockHeight           = 4,
-    NSTextBlockMinimumHeight    = 5,
-    NSTextBlockMaximumHeight    = 6
-};
+typedef NS_ENUM(NSInteger, NSTextBlockDimension) {
+    NSTextBlockDimensionWidth = 0,
+    NSTextBlockDimensionMinimumWidth = 1,
+    NSTextBlockDimensionMaximumWidth = 2,
+    NSTextBlockDimensionHeight = 4,
+    NSTextBlockDimensionMinimumHeight = 5,
+    NSTextBlockDimensionMaximumHeight = 6,
+    
+    
+#if !TARGET_OS_IPHONE && !__swift__
+// Deprecated
+    NSTextBlockWidth API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockDimensionWidth", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockDimensionWidth,
 
+    NSTextBlockMinimumWidth API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockDimensionMinimumWidth", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockDimensionMinimumWidth,
+
+    NSTextBlockMaximumWidth API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockDimensionMaximumWidth", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockDimensionMaximumWidth,
+
+    NSTextBlockHeight API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockDimensionHeight", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockDimensionHeight,
+
+    NSTextBlockMinimumHeight API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockDimensionMinimumHeight", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockDimensionMinimumHeight,
+
+    NSTextBlockMaximumHeight API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockDimensionMaximumHeight", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockDimensionMaximumHeight
+#endif // !TARGET_OS_IPHONE && !__swift__
+} API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0)) NS_SWIFT_NAME(NSTextBlock.Dimension);
+
 /* Values for NSTextBlockLayer */
 typedef NS_ENUM(NSInteger, NSTextBlockLayer) {
-    NSTextBlockPadding  = -1,
-    NSTextBlockBorder   =  0,
-    NSTextBlockMargin   =  1
-};
+    NSTextBlockLayerPadding = -1,
+    NSTextBlockLayerBorder  =  0,
+    NSTextBlockLayerMargin  =  1,
+    
+#if !TARGET_OS_IPHONE && !__swift__
+// Deprecated
+    NSTextBlockPadding API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockLayerPadding", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos)  = NSTextBlockLayerPadding,
+    NSTextBlockBorder API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockLayerBorder", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) =  NSTextBlockLayerBorder,
+    NSTextBlockMargin API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockLayerMargin", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) =  NSTextBlockLayerMargin
+#endif // !TARGET_OS_IPHONE && !__swift__
+} API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0)) NS_SWIFT_NAME(NSTextBlock.Layer);
 
 /* Values for NSTextBlockVerticalAlignment */
-typedef NS_ENUM(NSUInteger, NSTextBlockVerticalAlignment) {
-    NSTextBlockTopAlignment         = 0,
-    NSTextBlockMiddleAlignment      = 1,
-    NSTextBlockBottomAlignment      = 2,
-    NSTextBlockBaselineAlignment    = 3
-};
+typedef NS_ENUM(NSInteger, NSTextBlockVerticalAlignment) {
+    NSTextBlockVerticalAlignmentTop = 0,
+    NSTextBlockVerticalAlignmentMiddle = 1,
+    NSTextBlockVerticalAlignmentBottom = 2,
+    NSTextBlockVerticalAlignmentBaseline = 3,
 
+// Deprecated
+    NSTextBlockTopAlignment NS_SWIFT_NAME(topAlignment) API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockVerticalAlignmentTop", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockVerticalAlignmentTop,
+
+    NSTextBlockMiddleAlignment NS_SWIFT_NAME(middleAlignment) API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockVerticalAlignmentMiddle", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockVerticalAlignmentMiddle,
+
+    NSTextBlockBottomAlignment NS_SWIFT_NAME(bottomAlignment) API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockVerticalAlignmentBottom", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockVerticalAlignmentBottom,
+
+    NSTextBlockBaselineAlignment NS_SWIFT_NAME(baselineAlignment) API_DEPRECATED_WITH_REPLACEMENT("NSTextBlockVerticalAlignmentBaseline", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextBlockVerticalAlignmentBaseline
+} API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0)) NS_SWIFT_NAME(NSTextBlock.VerticalAlignment);
+
 /* Values for NSTextTableLayoutAlgorithm */
-typedef NS_ENUM(NSUInteger, NSTextTableLayoutAlgorithm) {
-    NSTextTableAutomaticLayoutAlgorithm = 0,
-    NSTextTableFixedLayoutAlgorithm     = 1
-};
+typedef NS_ENUM(NSInteger, NSTextTableLayoutAlgorithm) {
+    NSTextTableLayoutAlgorithmAutomatic = 0,
+    NSTextTableLayoutAlgorithmFixed = 1,
+    
+// Deprecated
+    NSTextTableAutomaticLayoutAlgorithm NS_SWIFT_NAME(automaticLayoutAlgorithm) API_DEPRECATED_WITH_REPLACEMENT("NSTextTableLayoutAlgorithmAutomatic", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextTableLayoutAlgorithmAutomatic,
 
+    NSTextTableFixedLayoutAlgorithm NS_SWIFT_NAME(fixedLayoutAlgorithm) API_DEPRECATED_WITH_REPLACEMENT("NSTextTableLayoutAlgorithmFixed", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos) = NSTextTableLayoutAlgorithmFixed
+} API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0))  NS_SWIFT_NAME(NSTextTable.LayoutAlgorithm);
+
 /* NSTextBlock is the basic object for text block layout, and the superclass of the other classes. */
+APPKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0))
 @interface NSTextBlock : NSObject <NSSecureCoding, NSCopying>
-
 - (instancetype)init NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
 
 /* Content size */
-- (void)setValue:(CGFloat)val type:(NSTextBlockValueType)type forDimension:(NSTextBlockDimension)dimension;
+- (void)setValue:(CGFloat)value type:(NSTextBlockValueType)type forDimension:(NSTextBlockDimension)dimension;
 - (CGFloat)valueForDimension:(NSTextBlockDimension)dimension;
 - (NSTextBlockValueType)valueTypeForDimension:(NSTextBlockDimension)dimension;
 
 /* Convenience methods for content width in particular, using the above methods with dimension == NSTextBlockWidth */
-- (void)setContentWidth:(CGFloat)val type:(NSTextBlockValueType)type;
+- (void)setContentWidth:(CGFloat)contentWidth type:(NSTextBlockValueType)type;
 @property (readonly) CGFloat contentWidth;
 @property (readonly) NSTextBlockValueType contentWidthValueType;
 
 /* Margin, border, and padding */
-- (void)setWidth:(CGFloat)val type:(NSTextBlockValueType)type forLayer:(NSTextBlockLayer)layer edge:(NSRectEdge)edge;
-- (void)setWidth:(CGFloat)val type:(NSTextBlockValueType)type forLayer:(NSTextBlockLayer)layer;     // Convenience method sets all edges at once
-- (CGFloat)widthForLayer:(NSTextBlockLayer)layer edge:(NSRectEdge)edge;
-- (NSTextBlockValueType)widthValueTypeForLayer:(NSTextBlockLayer)layer edge:(NSRectEdge)edge;
+- (void)setWidth:(CGFloat)width type:(NSTextBlockValueType)type forLayer:(NSTextBlockLayer)layer;     // Convenience method sets all edges at once
+- (void)setWidth:(CGFloat)width type:(NSTextBlockValueType)type forLayer:(NSTextBlockLayer)layer rectEdge:(CGRectEdge)rectEdge API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0), watchos(27.0));
+- (CGFloat)widthForLayer:(NSTextBlockLayer)layer rectEdge:(CGRectEdge)rectEdge API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0), watchos(27.0));
+- (NSTextBlockValueType)widthValueTypeForLayer:(NSTextBlockLayer)layer rectEdge:(CGRectEdge)rectEdge API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0), watchos(27.0));
+- (CGFloat)widthForLayer:(NSTextBlockLayer)layer edge:(NSRectEdge)edge API_DEPRECATED_WITH_REPLACEMENT("-widthForLayer:rectEdge:", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos);
+- (void)setWidth:(CGFloat)val type:(NSTextBlockValueType)type forLayer:(NSTextBlockLayer)layer edge:(NSRectEdge)edge API_DEPRECATED_WITH_REPLACEMENT("-setWidth:type:forLayer:rectEdge:", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos);
+- (NSTextBlockValueType)widthValueTypeForLayer:(NSTextBlockLayer)layer edge:(NSRectEdge)edge API_DEPRECATED_WITH_REPLACEMENT("-widthValueTypeForLayer:rectEdge:", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos);
 
 /* Alignment */
 @property NSTextBlockVerticalAlignment verticalAlignment;
 
 /* Colors */
 @property (nullable, copy) NSColor *backgroundColor;
-- (void)setBorderColor:(nullable NSColor *)color forEdge:(NSRectEdge)edge;
 - (void)setBorderColor:(nullable NSColor *)color;        // Convenience method sets all edges at once
-- (nullable NSColor *)borderColorForEdge:(NSRectEdge)edge;
+- (void)setBorderColor:(nullable NSColor *)borderColor rectEdge:(CGRectEdge)rectEdge API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0), watchos(27.0));
+- (nullable NSColor *)borderColorForRectEdge:(CGRectEdge)rectEdge API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0), watchos(27.0));
+- (void)setBorderColor:(nullable NSColor *)color forEdge:(NSRectEdge)edge API_DEPRECATED_WITH_REPLACEMENT("-setBorderColor:rectEdge:", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos);
+- (nullable NSColor *)borderColorForEdge:(NSRectEdge)edge API_DEPRECATED_WITH_REPLACEMENT("-borderColorForRectEdge:", macos(10.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(ios, watchos, tvos, visionos);
 
 /* These methods will be called during layout to determine the size and position of the block.  The first will be called before the block is laid out to determine the rect within which glyphs should be laid.  The second will be called after the block is laid out to determine the rect the block occupies with borders and margins. */
 - (NSRect)rectForLayoutAtPoint:(NSPoint)startingPoint inRect:(NSRect)rect textContainer:(NSTextContainer *)textContainer characterRange:(NSRange)charRange;
 - (NSRect)boundsRectForContentRect:(NSRect)contentRect inRect:(NSRect)rect textContainer:(NSTextContainer *)textContainer characterRange:(NSRange)charRange;
 
 /* This method will be called during drawing to draw any colors and other decorations before the text is drawn. */
-- (void)drawBackgroundWithFrame:(NSRect)frameRect inView:(NSView *)controlView characterRange:(NSRange)charRange layoutManager:(NSLayoutManager *)layoutManager;
-
+- (void)drawBackgroundWithFrame:(NSRect)frameRect inView:(nullable NSView *)controlView characterRange:(NSRange)charRange layoutManager:(NSLayoutManager *)layoutManager;
 @end
 
 /* NSTextTableBlock is a subclass of NSTextBlock used for a block that appears as a cell in a text table. */
+APPKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0))
 @interface NSTextTableBlock : NSTextBlock
+- (instancetype)initWithTable:(NSTextTable *)table startingRow:(NSInteger)row rowSpan:(NSInteger)rowSpan startingColumn:(NSInteger)column columnSpan:(NSInteger)columnSpan NS_DESIGNATED_INITIALIZER;     // Designated initializer
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
 
-- (instancetype)initWithTable:(NSTextTable *)table startingRow:(NSInteger)row rowSpan:(NSInteger)rowSpan startingColumn:(NSInteger)col columnSpan:(NSInteger)colSpan NS_DESIGNATED_INITIALIZER;     // Designated initializer
-
 /* These methods determine the block's role in its enclosing table. */
-@property (readonly, strong) NSTextTable *table;
+@property (readonly, strong) NSTextTable * table;
 @property (readonly) NSInteger startingRow;
 @property (readonly) NSInteger rowSpan;
 @property (readonly) NSInteger startingColumn;
@@ -110,26 +162,20 @@
 @end
 
 /* NSTextTable represents a table as a whole. */
+APPKIT_EXTERN API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), visionos(1.0), watchos(2.0))
 @interface NSTextTable : NSTextBlock
-
 /* These methods control the basic parameters of the table. */
-@property NSUInteger numberOfColumns;
+@property NSInteger numberOfColumns;
 @property NSTextTableLayoutAlgorithm layoutAlgorithm;
 @property BOOL collapsesBorders;
 @property BOOL hidesEmptyCells;
-
 /* An NSTextTableBlock delegates its layout and drawing operations to its enclosing table, using the following NSTextTable methods. */
 - (NSRect)rectForBlock:(NSTextTableBlock *)block layoutAtPoint:(NSPoint)startingPoint inRect:(NSRect)rect textContainer:(NSTextContainer *)textContainer characterRange:(NSRange)charRange;
 - (NSRect)boundsRectForBlock:(NSTextTableBlock *)block contentRect:(NSRect)contentRect inRect:(NSRect)rect textContainer:(NSTextContainer *)textContainer characterRange:(NSRange)charRange;
 - (void)drawBackgroundForBlock:(NSTextTableBlock *)block withFrame:(NSRect)frameRect inView:(NSView *)controlView characterRange:(NSRange)charRange layoutManager:(NSLayoutManager *)layoutManager;
-
 @end
-
-
-
-#endif // !TARGET_OS_IPHONE
-
 NS_HEADER_AUDIT_END(nullability, sendability)
+#endif // !TARGET_OS_IPHONE
 #else
 #import <UIFoundation/NSTextTable.h>
 #endif
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h	2026-04-24 22:47:36
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h	2026-05-30 22:31:51
@@ -28,12 +28,14 @@
 #import <AppKit/NSMenu.h>
 #import <AppKit/NSTextContent.h>
 #import <AppKit/NSTextCheckingClient.h>
+#import <AppKit/NSTextContainer.h>
+#import <AppKit/NSTextViewportLayoutController.h>
 
 @protocol NSTextViewDelegate;
+@protocol NSTextViewportLayoutControllerDelegate;
 @protocol NSTextLayoutOrientationProvider;
 @protocol NSTextAttachmentCell;
 @protocol QLPreviewItem;
-
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
 
@@ -51,7 +53,14 @@
 @class NSValue;
 @class NSTextAttachment;
 @class NSTextRange;
+@class NSTextViewportLayoutController;
+@class NSTextLayoutFragment;
 
+typedef NS_OPTIONS(NSUInteger, NSTextAttachmentViewProviderReusePolicy) {
+    NSTextAttachmentViewProviderReusePolicyOnScrollingOutOfViewport = 1 << 0, // Cache text attachment related objects when they are scrolled out of the viewport
+    NSTextAttachmentViewProviderReusePolicyOnEditingInlineParagraphs = 1 << 1, // Cache text attachment related objects when the paragraphs containing them are recycled because of editing
+};
+
 /* Values for NSSelectionGranularity */
 typedef NS_ENUM(NSUInteger, NSSelectionGranularity) {
     NSSelectByCharacter = 0,
@@ -73,7 +82,7 @@
 #if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12
 NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE
 #endif
-@interface NSTextView : NSText <NSColorChanging, NSMenuItemValidation, NSUserInterfaceValidations, NSTextInputClient, NSTextLayoutOrientationProvider, NSDraggingSource, NSStandardKeyBindingResponding, NSTextInput, NSAccessibilityNavigableStaticText, NSTextContent>
+@interface NSTextView : NSText <NSColorChanging, NSMenuItemValidation, NSUserInterfaceValidations, NSTextInputClient, NSTextLayoutOrientationProvider, NSDraggingSource, NSStandardKeyBindingResponding, NSTextInput, NSAccessibilityNavigableStaticText, NSTextContent, NSTextViewportLayoutControllerDelegate>
 
 /**************************** Initializing ****************************/
 
@@ -486,6 +495,24 @@
 
 // Allows clients to turn math inline completion on or off for this view.
 @property NSTextInputTraitType mathExpressionCompletionType API_AVAILABLE(macos(15.0));
+
+/// Register the NSTextAttachmentViewProviderReusePolicy for all instances of a particular subclass of NSTextAttachmentViewProvider.
+- (void)registerTextAttachmentViewProviderReusePolicy:(NSTextAttachmentViewProviderReusePolicy)policy forTextAttachmentViewProviderType:(Class)viewProviderType API_AVAILABLE(macos(27.0));
+
+/// `NSTextViewportLayoutControllerDelegate` method that the framework calls when the layout controller lays out a text layout fragment in the UI. Requires a call to super.
+- (void)textViewportLayoutController:(NSTextViewportLayoutController *)textViewportLayoutController configureRenderingSurfaceForTextLayoutFragment:(NSTextLayoutFragment *)textLayoutFragment API_AVAILABLE(macos(27.0)) NS_REQUIRES_SUPER;
+
+/// `NSTextViewportLayoutControllerDelegate` method that the framework calls to request the current viewport, which is the view visible bounds plus the overdraw area. Requires a call to super.
+- (CGRect)viewportBoundsForTextViewportLayoutController:(NSTextViewportLayoutController *)textViewportLayoutController API_AVAILABLE(macos(27.0)) NS_REQUIRES_SUPER;
+
+/// `NSTextViewportLayoutControllerDelegate` method that the framework calls when the text viewport layout controller starts its layout process. Requires a call to super.
+- (void)textViewportLayoutControllerWillLayout:(NSTextViewportLayoutController *)textViewportLayoutController API_AVAILABLE(macos(27.0)) NS_REQUIRES_SUPER;
+
+/// `NSTextViewportLayoutControllerDelegate` method that the framework calls when the text viewport layout controller finishes its layout process. Requires a call to super.
+- (void)textViewportLayoutControllerDidLayout:(NSTextViewportLayoutController *)textViewportLayoutController API_AVAILABLE(macos(27.0)) NS_REQUIRES_SUPER;
+
+/// `NSTextViewportLayoutControllerDelegate` method that the framework calls when the text viewport layout controller receives a `setNeedsLayout` call. Requires a call to super.
+- (void)textViewportLayoutControllerReceivedSetNeedsLayout:(NSTextViewportLayoutController *)textViewportLayoutController API_AVAILABLE(macos(27.0)) NS_REQUIRES_SUPER;
 
 @end
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextViewportLayoutController.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextViewportLayoutController.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextViewportLayoutController.h	2026-04-24 22:47:42
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextViewportLayoutController.h	2026-05-30 22:31:56
@@ -11,11 +11,13 @@
 
 #import <Foundation/NSObject.h>
 #import <CoreGraphics/CGGeometry.h>
+#import <AppKit/NSTextViewportRenderingSurface.h>
 
 @class NSTextRange;
 @class NSTextLayoutManager;
-@class NSTextLayoutFragment;
+@class NSTextContainer;
 @class NSTextViewportLayoutController;
+@class NSTextLayoutFragment;
 @protocol NSTextLocation;
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
@@ -45,6 +47,19 @@
 // Called when textViewportLayoutController is about to layout.
 // Layout information on textViewportLayoutController is up-to-date at the point of this call.
 - (void)textViewportLayoutControllerDidLayout:(NSTextViewportLayoutController *)textViewportLayoutController;
+
+// View Provider Caching Support
+- (void)textViewportLayoutController:(NSTextViewportLayoutController *)textViewportLayoutController cacheRenderingSurface:(id<NSTextViewportRenderingSurface>)renderingSurface forKey:(id<NSTextViewportRenderingSurfaceKey>)renderingSurfaceKey;
+
+- (id<NSTextViewportRenderingSurface>)textViewportLayoutController:(NSTextViewportLayoutController *)textViewportLayoutController retrieveCachedRenderingSurfaceForKey:(id<NSTextViewportRenderingSurfaceKey>)renderingSurfaceKey;
+
+// Triggers relayout of the view.
+- (void)textViewportLayoutControllerReceivedSetNeedsLayout:(NSTextViewportLayoutController *)textViewportLayoutController;
+
+#pragma mark NSTextViewportRenderingSurface support
+// Invoked right before textViewportLayoutController:configureRenderingSurfaceForTextLayoutFragment:. The returned rendering surface is registered and mapped by renderingSurfaceForKey:.
+- (nullable id <NSTextViewportRenderingSurface>)textViewportLayoutController:(NSTextViewportLayoutController *)textViewportLayoutController renderingSurfaceForTextLayoutFragment:(NSTextLayoutFragment *)textLayoutFragment API_UNAVAILABLE(macos, ios, tvos, visionos, watchos);
+
 @end
 
 #pragma mark NSTextViewportLayoutController
@@ -84,7 +99,13 @@
 // Adjusts the viewport rect by the specified offset if needed.
 // This is used to artificially move the viewport without affecting viewport content, can be both positive/negative offset.
 - (void)adjustViewportByVerticalOffset:(CGFloat)verticalOffset;
+
+#pragma mark NSTextViewportRenderingSurface support
+// Returns a rendering surface corresponding to key. The mapping is registered via the returned rendering surfaces from textViewportLayoutController:renderingSurfaceForTextLayoutFragment:. In addition, it can return auxiliary rendering surfaces registered through addRenderingSurface:key:group:placement:. The mappings are cleared at the beginning of each layoutViewport.
+- (nullable id <NSTextViewportRenderingSurface>)renderingSurfaceForKey:(id <NSTextViewportRenderingSurfaceKey>)key API_UNAVAILABLE(macos, ios, tvos, visionos, watchos);
+
 @end
+
 NS_HEADER_AUDIT_END(nullability, sendability)
 #endif // !TARGET_OS_IPHONE
 #else
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextViewportRenderingSurface.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextViewportRenderingSurface.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextViewportRenderingSurface.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextViewportRenderingSurface.h	2026-05-30 22:31:47
@@ -0,0 +1,30 @@
+#if (defined(USE_APPKIT_PUBLIC_HEADERS) && USE_APPKIT_PUBLIC_HEADERS) || !__has_include(<UIFoundation/NSTextViewportRenderingSurface.h>)
+#import <TargetConditionals.h>
+
+#if !TARGET_OS_IPHONE
+//
+//  NSTextViewportRenderingSurface.h
+//  AppKit
+//
+//  Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSObject.h>
+#import <AppKit/AppKitDefines.h>
+
+#pragma mark - NSTextViewportRenderingSurface
+// A visual drawable element inside the viewport corresponding to a NSTextParagraph and NSTextLayoutFragment . Typically an NSView, UIView or CALayer.
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0), watchos(27.0))
+@protocol NSTextViewportRenderingSurface <NSObject>
+
+@end
+
+#pragma mark - NSTextViewportRenderingSurfaceKey
+// The key for identifying a rendering surface inside a viewport. NSString and NSTextLayoutFragment conform to this protocol.
+API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), visionos(2.0), watchos(11.0))
+@protocol NSTextViewportRenderingSurfaceKey <NSObject>
+@end
+#endif // !TARGET_OS_IPHONE
+#else
+#import <UIFoundation/NSTextViewportRenderingSurface.h>
+#endif
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTitlebarAccessoryViewController.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTitlebarAccessoryViewController.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTitlebarAccessoryViewController.h	2026-04-24 22:47:33
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTitlebarAccessoryViewController.h	2026-05-30 22:31:48
@@ -27,6 +27,8 @@
     For applications linked on 10.12 and higher, NSLayoutAttributeLeading and NSLayoutAttributeTrailing can also be used to specify an abstract position that automatically flips depending on the localized language.  For applications that do not link on 10.12, NSLayoutAttributeLeft will automatically flip to the Right when in a Right To Left language.
  
     For applications linked on 10.13 and higher, NSLayoutAttributeTop can also be used to specify a view that will be at the top of the titlebar area. Only one should be used per window, and if one is set the normal titlebar will not be drawn. Using the top attributed requires the window to have the NSWindowStyleMaskFullSizeContentView style mask set. The "hidden" property can be used to show and hide the view. The "hidden" property will animate the view via an alpha fade in and out if accessed through the animator proxy (such as: viewController.animator.hidden = YES).
+ 
+    For applications linked on macOS 27.0 or higher, leading and trailing accessories are positioned within the titlebar area only (excluding the toolbar) when the window uses NSWindowToolbarStyleExpanded or NSWindowToolbarStylePreference, or when the window has no toolbar.
 
  */
 @property NSLayoutAttribute layoutAttribute;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItemGroup.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItemGroup.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItemGroup.h	2026-04-24 22:47:42
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItemGroup.h	2026-05-30 22:31:56
@@ -34,6 +34,12 @@
     NSToolbarItemGroupControlRepresentationCollapsed  // All functions of the control will be presented through a menu
 } API_AVAILABLE(macos(10.15), ios(13.0));
 
+typedef NS_ENUM(NSInteger, NSToolbarItemGroupRole) {
+    NSToolbarItemGroupRoleAutomatic = 0,
+    NSToolbarItemGroupRoleTabs = 1,
+    NSToolbarItemGroupRoleValueSelection = 2,
+} NS_SWIFT_NAME(NSToolbarItemGroup.Role) API_AVAILABLE(macos(27.0), ios(27.0));
+
 API_AVAILABLE(macos(10.5), ios(13.0))
 @interface NSToolbarItemGroup : NSToolbarItem
 
@@ -70,6 +76,12 @@
  Only applies when using one of the constructors to create the item with a system defined control representation.
  */
 @property NSToolbarItemGroupSelectionMode selectionMode API_AVAILABLE(macos(10.15));
+
+/**
+ The semantic role of the item.
+ Defaults to `NSToolbarItemGroupRoleAutomatic`.
+ */
+@property NSToolbarItemGroupRole role API_AVAILABLE(macos(27.0));
 
 /**
  The most recently selected item of the group, or -1 if nothing is selected.
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h	2026-04-24 22:47:39
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h	2026-05-30 22:31:53
@@ -27,7 +27,7 @@
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
 
-@class CADisplayLink, CALayer, CIFilter, NSAttributedString, NSBitmapImageRep, NSCursor, NSDraggingSession, NSGestureRecognizer, NSGraphicsContext, NSImage, NSLayoutGuide, NSScreen, NSScrollView, NSShadow, NSTextInputContext, NSTrackingArea, NSWindow;
+@class CADisplayLink, CALayer, CIFilter, NSAttributedString, NSBitmapImageRep, NSCursor, NSDraggingSession, NSGestureRecognizer, NSGraphicsContext, NSImage, NSLayoutGuide, NSScreen, NSScrollView, NSShadow, NSTextInputContext, NSTrackingArea, NSViewCornerConfiguration, NSViewCornerRadii, NSWindow;
 
 // Bitset options for the autoresizingMask
 typedef NS_OPTIONS(NSUInteger, NSAutoresizingMaskOptions) {
@@ -230,7 +230,7 @@
 /* Deprecated in favor of allowedTouchTypes. Return YES if allowedTouchTypes includes NSTouchTypeMaskIndirect */
 @property BOOL acceptsTouchEvents API_DEPRECATED("Use allowedTouchTypes instead", macos(10.6,10.12.2));
 
-/* In some cases, the user may rest a thumb or other touch on the device. By default, these touches are not delivered and are not included in the event's set of touches. Touches may transition in and out of resting at any time. Unless the view wants restingTouches, began / ended events are simlulated as touches transition from resting to active and vice versa.
+/* In some cases, the user may rest a thumb or other touch on the device. By default, these touches are not delivered and are not included in the event's set of touches. Touches may transition in and out of resting at any time. Unless the view wants restingTouches, began / ended events are simulated as touches transition from resting to active and vice versa.
 */
 @property BOOL wantsRestingTouches API_AVAILABLE(macos(10.6));
 
@@ -254,11 +254,11 @@
  */
 @property (readonly) BOOL wantsUpdateLayer API_AVAILABLE(macos(10.8));
 
-/* Layer Backed Views: If the view responds YES to wantsUpdateLayer, then updateLayer will be called as opposed to drawRect:. This method should be used for better performance; it is faster to directly set the layer.contents with a shared image and inform it how to stretch with the layer.contentsCenter property instead of drawing into a context with drawRect:. In general, one should also set the layerContentsRedrawPolicy to an appropriate value in the init method (frequently NSViewLayerContentsRedrawOnSetNeedsDisplay is desired). To signal a refresh of the layer contents, one will then call [view setNeedsDisplay:YES], and -updateLayer will be lazily called when the layer needs its contents. One should not alter geometry or add/remove subviews (or layers) during this method. To add subviews (or layers) use -layout. -layout will still be called even if autolayout is not enabled, and wantsUpdateLayer returns YES.
+/* Layer Backed Views: If the view responds YES to wantsUpdateLayer, then updateLayer will be called as opposed to drawRect:. This method should be used for better performance; it is faster to directly set the layer.contents with a shared image and inform it how to stretch with the layer.contentsCenter property instead of drawing into a context with drawRect:. In general, one should also set the layerContentsRedrawPolicy to an appropriate value in the init method (frequently NSViewLayerContentsRedrawOnSetNeedsDisplay is desired). To signal a refresh of the layer contents, one will then call [view setNeedsDisplay:YES], and -updateLayer will be lazily called when the layer needs its contents. One should not alter geometry or add/remove subviews (or layers) during this method. To add subviews (or layers) use -layout. -layout will still be called even if Auto Layout is not enabled, and wantsUpdateLayer returns YES.
  */
 - (void)updateLayer API_AVAILABLE(macos(10.8));
 
-/* When canDrawSubviewsIntoLayer is set to YES, and the view is layer-backed (either explicitly with -wantsLayer=YES, or by having a parent view that is layer-backed), the layer will draw all subviews into this view's layer, and each subview will not get an individual layer (the exception to this is a subview which has wantsLayer explicitly set to YES). This is useful for layer-backing a complex set of views that can not be refactored to take advantage of proper resizing and -wantsUpdateLayer==YES. If canDrawSubviewsIntoLayer is YES, the value returned from wantsUpdateLayer will be ignored, and the layer will always have drawRect: invoked to get the layer's contents. The default value is NO. NOTE: These methods should NOT be overridden, and the setter should always be used.
+/* When canDrawSubviewsIntoLayer is set to YES, and the view is layer-backed (either explicitly with -wantsLayer=YES, or by having a parent view that is layer-backed), the layer will draw all subviews into this view's layer, and each subview will not get an individual layer (the exception to this is a subview which has wantsLayer explicitly set to YES). This is useful for layer-backing a complex set of views that cannot be refactored to take advantage of proper resizing and -wantsUpdateLayer==YES. If canDrawSubviewsIntoLayer is YES, the value returned from wantsUpdateLayer will be ignored, and the layer will always have drawRect: invoked to get the layer's contents. The default value is NO. NOTE: These methods should NOT be overridden, and the setter should always be used.
  */
 @property BOOL canDrawSubviewsIntoLayer API_AVAILABLE(macos(10.9));
 
@@ -319,7 +319,7 @@
 /* A view receives viewWillStartLiveResize before the frame is first changed for a live resize. It is important to call [super viewWillStartLiveResize] to allow AppKit to do any internal work it needs. */
 - (void)viewWillStartLiveResize;
 
-/* A view receives viewWillEndLiveResize after the frame is last changed for a live resize. It is important to call [super viewDidEndLiveResize].
+/* A view receives viewDidEndLiveResize after the frame is last changed for a live resize. It is important to call [super viewDidEndLiveResize].
  */
 - (void)viewDidEndLiveResize;
 
@@ -327,11 +327,11 @@
  */
 @property (readonly) BOOL inLiveResize;
 
-/* A view that returns YES for -preservesContentDuringLiveResize is responsible for invalidating its own dirty rects during live resize 
+/* A view that returns YES for -preservesContentDuringLiveResize is responsible for invalidating its own dirty rects during live resize.
  */
 @property (readonly) BOOL preservesContentDuringLiveResize;
 
-/* -rectPreservedDuringLiveResize indicates the rect the view previously occupied, in the current coordinate system of the view 
+/* -rectPreservedDuringLiveResize indicates the rect the view previously occupied, in the current coordinate system of the view.
  */
 @property (readonly) NSRect rectPreservedDuringLiveResize;
 
@@ -339,7 +339,7 @@
 - (void)getRectsExposedDuringLiveResize:(NSRect[_Nonnull 4])exposedRects count:(NSInteger *)count;
 
 /* Text Input */
-/* Returns NSTextInputContext object for the receiver. Returns nil if the receiver doesn't conform to NSTextInputClient protocol.
+/* Returns an `NSTextInputContext` object for the receiver. Returns `nil` if the receiver doesn’t conform to the `NSTextInputClient` protocol.
  */
 @property (nullable, readonly, strong) NSTextInputContext *inputContext API_AVAILABLE(macos(10.6));
 
@@ -359,7 +359,7 @@
  */
 - (void)prepareForReuse API_AVAILABLE(macos(10.7));
 
-/* A subclass of any NSScrollView, NSClipView or the NSScrollView's documentView can override this method to verify that its customizations are compatible with 10.9's responsive scrolling behavior. By default, AppKit assumes that a ScrollView is responsive scrolling compatible if it and its clipview and document view do not override certain methods such as -scrollWheel: (See documentation for the expanded list). However, these views may still opt into responsive scrolling if they work with the new scrolling behavior by overriding and returning YES for this method. Likewise, the same set of views may return NO to explicitly opt out of responsive scrolling.
+/* A subclass of any NSScrollView, NSClipView or the NSScrollView's documentView can override this method to verify that its customizations are compatible with 10.9's responsive scrolling behavior. By default, AppKit assumes that a scroll view is responsive scrolling compatible if it and its clip view and document view do not override certain methods such as -scrollWheel: (see documentation for the expanded list). However, these views may still opt into responsive scrolling if they work with the new scrolling behavior by overriding and returning YES for this method. Likewise, the same set of views may return NO to explicitly opt out of responsive scrolling.
 */
 @property (class, readonly, getter=isCompatibleWithResponsiveScrolling) BOOL compatibleWithResponsiveScrolling API_AVAILABLE(macos(10.9));
 
@@ -483,8 +483,18 @@
 
 
 @interface NSView(NSDrag)
-/* Starts a dragging session with a group of NSDraggingItems. The frame property of each NSDraggingItem must be in the view's coordinate system. The images may animate (flock) from thier initial layout into a system defined formation. Flocking or may not be done immediately. (see NSDraggingSession's flockOnBeginDrag. The visible area of the view is used as the clip rect.
+/**
+    Starts a gesture based dragging session with an array of `NSDraggingItems`.
+    
+    The frame property of each NSDraggingItem must be in the view's coordinate system. The images may animate (flock) from their initial layout into a system defined formation. Flocking may not be done immediately (see NSDraggingSession's flockOnBeginDrag). The visible area of the view is used as the clip rect.
+    
+    @returns If the drag begins, returns the dragging session. If the drag fails to begin, returns `nil`.
 */
+- (nullable NSDraggingSession *)beginDraggingSessionWithItems:(NSArray<NSDraggingItem *> *)items gesture:(NSGestureRecognizer *)gesture source:(id<NSDraggingSource>)source NS_SWIFT_NAME(beginDraggingSession(items:gesture:source:)) API_AVAILABLE(macos(27.0));
+
+/**
+    Starts a dragging session with an array of NSDraggingItems. The frame property of each NSDraggingItem must be in the view's coordinate system. The images may animate (flock) from their initial layout into a system defined formation. Flocking may or may not be done immediately (see NSDraggingSession's flockOnBeginDrag). The visible area of the view is used as the clip rect.
+*/
 - (NSDraggingSession *)beginDraggingSessionWithItems:(NSArray<NSDraggingItem *> *)items event:(NSEvent *)event source:(id<NSDraggingSource>)source API_AVAILABLE(macos(10.7));
 
 @property (readonly, copy) NSArray<NSPasteboardType> *registeredDraggedTypes;
@@ -526,7 +536,7 @@
 
 /* Takes a whole attributed string with the target range (normally, this is the selected range), and shows a window displaying the definition of the specified range.  The caller can pass a zero-length range and the appropriate range will be auto-detected around the range's offset.  That's the recommended approach when there is no selection.
  
- This method also an 'options' dictionary containing options described below as key-value pairs (can be nil).
+ This method also takes an 'options' dictionary containing options described below as key-value pairs (can be nil).
  
  Except when NSDefinitionPresentationTypeKey with NSDefinitionPresentationTypeDictionaryApplication is specified in options, the caller must supply an originProvider Block which returns the baseline origin of the first character at proposed adjustedRange in the receiver view coordinate system.
  
@@ -551,6 +561,27 @@
 @property (copy) NSArray<__kindof NSGestureRecognizer *> *gestureRecognizers API_AVAILABLE(macos(10.10));
 - (void)addGestureRecognizer:(NSGestureRecognizer *)gestureRecognizer API_AVAILABLE(macos(10.10));
 - (void)removeGestureRecognizer:(NSGestureRecognizer *)gestureRecognizer API_AVAILABLE(macos(10.10));
+
+/// Exclusive gesture behavior
+/// 
+/// See the `exclusiveGestureBehavior` property of `NSView` more information.
+typedef NS_ENUM(NSInteger, NSViewExclusiveGestureBehavior) {
+    /// Inherit from superview
+    NSViewExclusiveGestureBehaviorInherit = 0,
+    /// This view and its subviews have exclusive gestures
+    NSViewExclusiveGestureBehaviorExclusive = 1,
+    /// This view and its subviews do not have exclusive gestures
+    NSViewExclusiveGestureBehaviorNotExclusive = 2,
+} NS_SWIFT_NAME(NSView.ExclusiveGestureBehavior) API_AVAILABLE(macos(27.0));
+
+/// Declares whether gesture recognizers should be exclusive in this view and its subviews.
+///
+/// When a view is set to `.exclusive`, and one or more of its gesture recognizers is active, a second input event
+/// will not activate any further gesture recognizers, unless that event hit tests to this view or its subviews.
+///
+/// Defaults to `.inherit`.
+@property NSViewExclusiveGestureBehavior exclusiveGestureBehavior API_AVAILABLE(macos(27.0));
+
 @end
 
 @interface NSView (NSTouchBar)
@@ -560,13 +591,13 @@
 
 @interface NSView (NSSafeAreas)
 
-/* Indicates the potentially-obscured distance from each edge of the view (e.g, not behind the window title bar, etc., if present). */
+/* Indicates the potentially-obscured distance from each edge of the view (e.g., not behind the window title bar, etc., if present). */
 @property (readonly) NSEdgeInsets safeAreaInsets API_AVAILABLE(macos(11.0));
 
 /* Configurable insets added to insets inherited from the superview (if any), and contributing to self.safeAreaInsets. */
 @property NSEdgeInsets additionalSafeAreaInsets API_AVAILABLE(macos(11.0));
 
-/* This layout guide reflects the safe area for this view (i.e., the frame minus safeAreaInsets), and provides a convenient way to arrange content relative to the safe area using auto layout. */
+/* This layout guide reflects the safe area for this view (i.e., the frame minus safeAreaInsets), and provides a convenient way to arrange content relative to the safe area using Auto Layout. */
 @property(readonly, strong) NSLayoutGuide *safeAreaLayoutGuide API_AVAILABLE(macos(11.0));
 
 /* The safe area for this view expressed as a rectangle in the view's coordinate space. */
@@ -577,15 +608,30 @@
 
 @end
 
+@interface NSView (NSViewCornerConfigurations)
+
+/// Defines the corner styles (e.g., square, capsule, concentric, etc) for the view’s corners.
+@property (readonly, nullable, copy) NSViewCornerConfiguration *cornerConfiguration API_AVAILABLE(macos(27.0));
+
+/// The effective radius of each corner in the view, calculated based on the corner configuration (`cornerConfiguration`). This value is `nil` when the corner configuration is `nil`.
+@property (readonly, nullable, copy) NSViewCornerRadii *effectiveCornerRadii API_AVAILABLE(macos(27.0));
+
+/// Informs the view that its effective corner radii changed. This method should be overridden to apply the corner radii to the view as required.
+- (void)viewDidChangeEffectiveCornerRadii API_AVAILABLE(macos(27.0));
+
+/// Invalidates the corner configuration, causing both the configuration and its dependencies to be recomputed.
+- (void)invalidateCornerConfiguration API_AVAILABLE(macos(27.0));
+
+@end
+
 @interface NSView (NSCompactControlSizeMetrics)
-/// When this property is true, any NSControls in the view or its descendants will be sized with compact
-/// metrics compatible with macOS 15 and earlier.
-/// Defaults to false
+/// When this property is `YES`, any `NSControl`s in the view or its descendants will be sized with compact metrics compatible with macOS 15.0 and earlier.
+/// Defaults to `NO`.
 @property BOOL prefersCompactControlSizeMetrics API_AVAILABLE(macos(26.0));
 @end
 
 @interface NSView(NSTrackingArea)
-/* The following methods are meant to be invoked, and probably don't need to be overridden
+/* The following methods are meant to be invoked, and probably don't need to be overridden.
 */
 - (void)addTrackingArea:(NSTrackingArea *)trackingArea API_AVAILABLE(macos(10.5));
 - (void)removeTrackingArea:(NSTrackingArea *)trackingArea API_AVAILABLE(macos(10.5));
@@ -595,7 +641,7 @@
 */
 - (void)updateTrackingAreas API_AVAILABLE(macos(10.5));
 
-/* The following methods are soft deprecated. Use the above NSTrackingArea API instead
+/* The following methods are soft deprecated. Use the above NSTrackingArea API instead.
 */
 - (void)addCursorRect:(NSRect)rect cursor:(NSCursor *)object;
 - (void)removeCursorRect:(NSRect)rect cursor:(NSCursor *)object;
@@ -636,7 +682,7 @@
  */
 - (BOOL)shouldDrawColor API_DEPRECATED("This method no longer does anything", macos(10.0,10.10));
 
-/* The gState class of methods are deprecated and in many cases did not do anything, or not what one would expect.
+/* The gState class of methods are deprecated and in many cases did not do anything, or did not do what one would expect.
  */
 - (NSInteger)gState API_DEPRECATED("", macos(10.0,10.10));
 - (void)allocateGState API_DEPRECATED("", macos(10.0,10.10));
@@ -658,7 +704,7 @@
 APPKIT_EXTERN NSNotificationName NSViewFrameDidChangeNotification;
 APPKIT_EXTERN NSNotificationName NSViewFocusDidChangeNotification API_DEPRECATED("", macos(10.0,10.4));
 
-/* This notification is sent whenever the views bounds change and the frame does not.  That is, it is sent whenever the view's bounds are translated, scaled or rotated, but NOT when the bounds change as a result of, for example, setFrameSize:.
+/* This notification is sent whenever the view’s bounds change and the frame does not.  That is, it is sent whenever the view’s bounds are translated, scaled or rotated, but NOT when the bounds change as a result of, for example, setFrameSize:.
  */
 APPKIT_EXTERN NSNotificationName NSViewBoundsDidChangeNotification;
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerConfiguration.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerConfiguration.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerConfiguration.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerConfiguration.h	2026-05-30 22:31:54
@@ -0,0 +1,136 @@
+//
+/*
+        NSViewCornerConfiguration.h
+        Application Kit
+        Copyright (c) 2026, Apple Inc.
+        All rights reserved.
+*/
+
+#import <AppKit/AppKitDefines.h>
+#import <AppKit/NSViewCornerRadius.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
+
+/// A configuration object that defines the corner styles of a view’s overall shape.
+API_AVAILABLE(macos(27.0))
+@interface NSViewCornerConfiguration : NSObject
+
+/// A configuration that applies the given radius independently to all corners.
+///
+/// When used with a container concentric radius, this allows each individual
+/// corner to resolve to different radii.
++ (NSViewCornerConfiguration *)configurationWithRadius:(NSViewCornerRadius *)radius NS_SWIFT_NAME(corners(radius:));
+
+/// A configuration with independent radii for each corner.
+/// - Parameters:
+///   - topLeftRadius: Radius of top left corner.
+///   - topRightRadius: Radius of top right corner.
+///   - bottomLeftRadius: Radius of bottom left corner.
+///   - bottomRightRadius: Radius of bottom right corner.
++ (NSViewCornerConfiguration *)configurationWithTopLeftRadius:(nullable NSViewCornerRadius *)topLeftRadius
+                                               topRightRadius:(nullable NSViewCornerRadius *)topRightRadius
+                                             bottomLeftRadius:(nullable NSViewCornerRadius *)bottomLeftRadius
+                                            bottomRightRadius:(nullable NSViewCornerRadius *)bottomRightRadius
+NS_SWIFT_NAME(corners(topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:));
+
+/// A configuration where the container is to take on a capsule shape, scaling with the view’s size.
+@property (class, copy, readonly) NSViewCornerConfiguration *capsuleCornerConfiguration NS_SWIFT_NAME(capsule);
+
+/// A configuration where the container is to take on a capsule shape, scaling with the view’s size.
+/// and clamped to the `maximumRadius`.
+/// - Parameters maximumRadius: Maximum radius for the capsule.
++ (NSViewCornerConfiguration *)capsuleCornerConfigurationWithMaximumRadius:(CGFloat)maximumRadius NS_SWIFT_NAME(capsule(maximumRadius:));
+
+/// A configuration that applies the given radius uniformly to all corners, using the largest of the resolved corner radii when they differ.
+/// - Parameters radius: Radius for all corners.
++ (NSViewCornerConfiguration *)configurationWithUniformRadius:(NSViewCornerRadius *)radius NS_SWIFT_NAME(uniformCorners(radius:));
+
+/// A configuration that applies the given uniform radius uniformly to all corners that are otherwise unspecified. Any specified corner is independent of the others.
+/// - Parameters:
+///   - radius: Uniform radius for all unspecified corners.
+///   - topLeftRadius: Radius of top left corner.
+///   - topRightRadius: Radius of top right corner.
+///   - bottomLeftRadius: Radius of bottom left corner.
+///   - bottomRightRadius: Radius of bottom right corner.
++ (NSViewCornerConfiguration *)configurationWithUniformRadius:(NSViewCornerRadius *)radius
+                                                topLeftRadius:(nullable NSViewCornerRadius *)topLeftRadius
+                                               topRightRadius:(nullable NSViewCornerRadius *)topRightRadius
+                                             bottomLeftRadius:(nullable NSViewCornerRadius *)bottomLeftRadius
+                                            bottomRightRadius:(nullable NSViewCornerRadius *)bottomRightRadius
+NS_SWIFT_NAME(uniformCorners(radius:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:));
+
+/// A configuration that applies the `topRadius` uniformly to the top-left and top-right corners, and the `bottomRadius` uniformly to the
+/// bottom-left and bottom-right corners. When the uniform corners differ, it uses the largest of the resolved corner radii.
+/// - Parameters:
+///   - topRadius: Radius for top edge.
+///   - bottomRadius: Radius for the bottom edge.
++ (NSViewCornerConfiguration *)configurationWithUniformTopRadius:(NSViewCornerRadius *)topRadius
+                                                    bottomRadius:(NSViewCornerRadius *)bottomRadius
+NS_SWIFT_NAME(uniformEdges(topRadius:bottomRadius:));
+
+/// A configuration that applies the `leftRadius` uniformly to the top-left and bottom-left corners, and the `rightRadius` uniformly to the top-right
+/// and bottom-right corners. When the uniform corners differ, it uses the largest of the resolved corner radii.
+/// - Parameters:
+///   - leftRadius: Radius for left edge.
+///   - rightRadius: Radius for the right edge.
++ (NSViewCornerConfiguration *)configurationWithUniformLeftRadius:(NSViewCornerRadius *)leftRadius
+                                                      rightRadius:(NSViewCornerRadius *)rightRadius
+NS_SWIFT_NAME(uniformEdges(leftRadius:rightRadius:));
+
+
+/// A configuration that applies the `topRadius` uniformly to the top-left
+/// and top-right corners, with optional independent radii for the bottom-left
+/// and bottom-right corners. When the uniform corners differ, it uses the largest of the resolved corner radii.
+/// - Parameters:
+///   - topRadius: Radius for top edge.
+///   - bottomLeftRadius: Radius for the bottom left corner.
+///   - bottomRightRadius: Radius for the bottom right corner.
++ (NSViewCornerConfiguration *)configurationWithUniformTopRadius:(NSViewCornerRadius *)topRadius
+                                                bottomLeftRadius:(nullable NSViewCornerRadius *)bottomLeftRadius
+                                               bottomRightRadius:(nullable NSViewCornerRadius *)bottomRightRadius
+NS_SWIFT_NAME(uniformTopRadius(_:bottomLeftRadius:bottomRightRadius:));
+
+/// A configuration that applies the `bottomRadius` uniformly to the bottom-left
+/// and bottom-right corners, with optional independent radii for the top-left
+/// and top-right corners. When the uniform corners differ, it uses the largest of the resolved corner radii.
+/// - Parameters:
+///   - bottomRadius: Radius for bottom edge.
+///   - topLeftRadius: Radius for the top left corner.
+///   - topRightRadius: Radius for the top right corner.
++ (NSViewCornerConfiguration *)configurationWithUniformBottomRadius:(NSViewCornerRadius *)bottomRadius
+                                                      topLeftRadius:(nullable NSViewCornerRadius *)topLeftRadius
+                                                     topRightRadius:(nullable NSViewCornerRadius *)topRightRadius
+NS_SWIFT_NAME(uniformBottomRadius(_:topLeftRadius:topRightRadius:));
+
+/// A configuration that applies the `leftRadius` uniformly to the top-left
+/// and bottom-left corners, with optional independent radii for the top-right
+/// and bottom-right corners. When the uniform corners differ, it uses the largest of the resolved corner radii.
+/// - Parameters:
+///   - leftRadius: Radius for left edge.
+///   - topRightRadius: Radius for the top right corner.
+///   - bottomRightRadius: Radius for the bottom right corner.
++ (NSViewCornerConfiguration *)configurationWithUniformLeftRadius:(NSViewCornerRadius *)leftRadius
+                                                   topRightRadius:(nullable NSViewCornerRadius *)topRightRadius
+                                                bottomRightRadius:(nullable NSViewCornerRadius *)bottomRightRadius
+NS_SWIFT_NAME(uniformLeftRadius(_:topRightRadius:bottomRightRadius:));
+
+/// A configuration that applies the `rightRadius` uniformly to the top-right
+/// and bottom-right corners, with optional independent radii for the top-left
+/// and bottom-left corners. When the uniform corners differ, it uses the largest of the resolved corner radii.
+/// - Parameters:
+///   - rightRadius: Radius for right edge.
+///   - topLeftRadius: Radius for the top left corner.
+///   - bottomLeftRadius: Radius for the bottom left corner.
++ (NSViewCornerConfiguration *)configurationWithUniformRightRadius:(NSViewCornerRadius *)rightRadius
+                                                     topLeftRadius:(nullable NSViewCornerRadius *)topLeftRadius
+                                                  bottomLeftRadius:(nullable NSViewCornerRadius *)bottomLeftRadius
+NS_SWIFT_NAME(uniformRightRadius(_:topLeftRadius:bottomLeftRadius:));
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+API_UNAVAILABLE_END
+NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerRadii.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerRadii.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerRadii.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerRadii.h	2026-05-30 22:31:52
@@ -0,0 +1,37 @@
+//
+/*
+        NSViewCornerRadii.h
+        Application Kit
+        Copyright (c) 2026, Apple Inc.
+        All rights reserved.
+*/
+
+#import <AppKit/AppKitDefines.h>
+#import <Foundation/Foundation.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST
+
+///  Provides a structured way to define custom corner radii for each corner of a view, along with a corner curve.
+APPKIT_FINAL API_AVAILABLE(macos(27.0))
+@interface NSViewCornerRadii : NSObject <NSCopying>
+
+/// Radius of the top left corner of the view.
+@property (readonly) CGFloat topLeft;
+
+/// Radius of the top right corner of the view.
+@property (readonly) CGFloat topRight;
+
+/// Radius of the bottom left corner of the view.
+@property (readonly) CGFloat bottomLeft;
+
+/// Radius of the bottom right corner of the view.
+@property (readonly) CGFloat bottomRight;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+API_UNAVAILABLE_END
+NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerRadius.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerRadius.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerRadius.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewCornerRadius.h	2026-05-30 22:31:51
@@ -0,0 +1,34 @@
+//
+/*
+        NSViewCornerRadius.h
+        Application Kit
+        Copyright (c) 2026, Apple Inc.
+        All rights reserved.
+*/
+
+#import <AppKit/AppKitDefines.h>
+#import <Foundation/Foundation.h>
+
+NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+/// Represents a radius used to round a corner. It supports fixed and adaptive configurations.
+API_AVAILABLE(macos(27.0))
+@interface NSViewCornerRadius : NSObject <NSCopying>
+
+/// Shorthand initializer for a configuration where all four corners are using a fixed corner radius in points.
+/// - Parameter radius: Radius for all the corners.
++ (NSViewCornerRadius *)fixedRadius:(CGFloat)radius NS_SWIFT_NAME(fixed(_:));
+
+/// A dynamic corner radius calculated based on the view’s container shape and limited to the provided minimum radius.
+/// - Parameter minimumRadius: Corner radius that’s applied when a corner of the view’s container is smaller than the specified radius.
++ (NSViewCornerRadius *)containerConcentricRadiusWithMinimum:(CGFloat)minimumRadius NS_SWIFT_NAME(containerConcentric(_:));
+
+/// A dynamic corner radius calculated based on the view’s container shape.
+@property (class, copy, readonly) NSViewCornerRadius *containerConcentricRadius NS_SWIFT_NAME(containerConcentric);
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWritingToolsCoordinator.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWritingToolsCoordinator.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWritingToolsCoordinator.h	2026-04-24 22:47:34
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWritingToolsCoordinator.h	2026-05-30 22:31:49
@@ -263,13 +263,10 @@
 API_AVAILABLE(macos(15.2)) NS_SWIFT_UI_ACTOR
 @interface NSWritingToolsCoordinator : NSObject
 
-/// A Boolean value that indicates whether Writing Tools features are
-/// currently available.
+/// A Boolean value that indicates whether Writing Tools features are available to enable.
 ///
-/// The value of this property is `true` when Writing Tools features are
-/// available, and `false` when they aren’t. Writing Tools support might
-/// be unavailable because of device constraints or because the system isn’t
-/// ready to process Writing Tools requests.
+/// The value of this property is `true` when Writing Tools features are supported, even when the user has not enabled the feature.
+/// Writing Tools support might be unavailable because of device constraints.
 @property (class, readonly) BOOL isWritingToolsAvailable;
 
 // Convenience initializers

Clone this wiki locally