macOS 27 Golden Gate Beta 4 Release Notes

Update your apps to use new features, and test your apps against API changes.

Overview

The macOS 27 SDK provides support to develop apps for Mac computers running macOS 27 Golden Gate beta 4. The SDK comes bundled with Xcode 27, available from the Mac App Store. For information on the compatibility requirements for Xcode 27, see Xcode 27 Release Notes.

Accessory Access

Resolved Issues

  • Fixed: Accessory Access does not work inside App Sandbox. (176815987)

  • Fixed: The Accessory Access framework is not supported within a macOS virtual machine. (177390971)

AirPods Max 2

Resolved Issues

  • Fixed: You cannot update AirPods Max 2 firmware beta in iOS 27 Beta 1 and macOS 27 Beta 1. AirPods Max 2 firmware beta updates are supported in iOS 27 Beta 2 and macOS 27 Beta 2. (178280323)

AirPort Utility

Deprecations

  • AirPort Utility is no longer included with new clean installations of macOS. However, if you update macOS when AirPort Utility is already installed, it remains on your system but functionality is not guaranteed starting in macOS 27. (158248382)

App Intents

New Features

  • You can now pass a name parameter of type AttributedString to the notes.createNote and notes.updateNote schemas. (173431080)

Resolved Issues

  • Fixed: Default values from schemas might not be applied for parameters that are of “Set” type. (175534195)

Known Issues

  • If you adopt the Audio App Schema domain, you might have trouble playing your content using Siri. (177198033)

    Workaround: Adopt an IntentValueQuery that takes the AudioSearch input, or index your entities in Spotlight.

  • AppEntity instances have a cumulative size limit of 10MB, including all child properties and their values. Your app might crash if an entity exceeds this limit, and the exception is logged. (181763422)

Deprecations

  • The calendar.deleteEvents schema has been renamed to calendar.deleteEvent. (176751155)

AppKit

New Features

  • The Recents list in the open and save panels can be accessed with the keyboard shortcut cmd-shift-f. (120442314)

  • Window > Move & Resize and Window > Full Screen Tile menus can be used to move, resize, open and save panels that are not displayed as a sheet. (150791154)

  • In macOS 27.0, AppKit adds NSRefreshController, providing pull-to-refresh functionality for NSScrollView. You can set it with NSScrollView.refreshController, configure a target or action to handle user-initiated refreshes, and call endRefreshing when the refresh completes or beginRefreshing to start one programmatically. (160867808)

  • NSToolbarItemGroup adds the role property and the NSToolbarItemGroupRole enum, allowing toolbar item groups to be tagged with a semantic role. NSSegmentedControl similarly adds a role property and the NSSegmentedControlRole enum, including a tabs role for controls that represent tab-based navigation and content selection. With this role, controls are read by VoiceOver as “tabs” and have a distinct visual appearance. This distinguishes the segmented control from others that represent value selection — for example, a text alignment control in an inspector. (162577742)

  • NSTextSelectionManager provides common text selection interactions (click, drag, shift-click, double/triple-click word/line/paragraph selection) to a NSView with a set of NSGestureRecognizers rather than overriding NSEvent mouse methods. NSTextView now uses NSTextSelectionManager and provides its own set of NSGestureRecognizers to provide additional features in addition to text selection. Existing NSTextView subclasses that override mouseDown: continue to work through a binary-compatible fallback path. (163365571)

  • In macOS 27.0, menu bar and context menus present a reduced set of menu item images, similar to the behavior prior to macOS 26.0. By default, NSMenu hides all menu item symbol images — non-symbol images remain visible. For menu items created from a xib file, NSMenu also observes the value of the “macOS 26.0 only” checkbox in the menu item inspector. If this checkbox is unchecked, the menu item image remains visible; if checked, it is hidden. These changes in menu item image visibility apply to applications linked on macOS 26.0 and later. Review the updated Human Interface Guidelines to determine which menu items in your app should still display images. Use the new preferredImageVisibility property on NSMenuItem to customize the image visibility for your menu items. As in macOS 26.0, NSMenu automatically provides default visible menu item images for certain common system-wide menu items, such as Settings, Share, and Print. (170477566)

  • NSTextView’s menuForEvent: now returns a context menu in which the Layout Orientation menu item, and its submenu, are located inside the Font submenu. Because this change can cause compatibility issues with some shipping applications, it applies only to applications linked on the macOS 27 SDK. For applications linked on earlier SDKs, the Layout Orientation menu item remains at the top level of the context menu. (177605020)

  • When an app is linked on macOS 26.0 or later, NSTitlebarAccessoryViewController is now allowed to draw outside its bounds by default, supporting effects such as shadows and interactive glass effects. During reveal animations, accessories might be clipped for the duration of the animation or when the accessory is hidden. (180962967) (FB23481212)

Resolved Issues

  • Fixed: In apps built with the macOS 27.0 SDK, setting allowedContentTypes and treatsFilePackagesAsDirectories on NSOpenPane updates canChooseFiles and canChooseDirectories based on whether the requested types are file or directory types. (6938919)

  • Fixed: Keyboard focus and tab order in expanded and collapsed open/save panels might not traverse all fields and controls — including the accessory view — in the expected order. (43112307)

  • Fixed: The Web Safe Colors list displays incorrectly in right-to-left layout. (107870015)

  • Fixed: Subclasses of NSTextContentManager cannot be instantiated due to internal class-cluster initialization assumptions, preventing apps from defining custom content managers. (115247760) (FB13146578)

  • Fixed: An NSTextField configured as selectable but not editable draws its text outside the field’s bounds when text truncation is enabled. (118196071) (FB13354582)

  • Fixed: NSAlert buttons erroneously allow bezelColor customization. (132024038)

  • Fixed: When an allowed file type has multiple valid extensions — for example, .htm and .htmlNSSavePanel appends additional file extensions to the saved filename. (140307283)

  • Fixed: NSScrollView displays the system scroll edge effect when the scroll view has no visible scrollers. (159019809) (FB19853927)

  • Fixed: An NSSegmentedCell draws incorrectly under the Liquid Glass appearance, with the control rendering at the wrong location. (168066807) (FB21616308)

  • Fixed: A subclass of NSSegmentedCell that overrides label drawing does not take charge of drawing labels, with the system drawing the default labels instead. (169126818) (FB21791717)

  • Fixed: When full keyboard navigation is off, the keyboard loop might not traverse the correct fields and controls. (169837566)

  • Fixed: An NSTextField whose textColor is set to nil displays inconsistent text colors while in editing mode. (175095850) (FB22546245)

  • Fixed: -[NSFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:] asserts that it is called during -prepareForDragOperation:, -performDragOperation:, or -concludeDragOperation:. If receivePromisedFilesAtDestination:... is called at other times, your application will throw an exception and terminate. (176048351)

  • Fixed: The base NSGestureRecognizer implementation of locationInView: previously returned the current mouse location converted into the view’s coordinate system, which is incorrect for touch-driven gestures. It now returns NSZeroPoint and logs an error pointing the developer at the missing override. Custom NSGestureRecognizer subclasses must provide their own locationInView: implementation. (176395420)

  • Fixed: Some NSMenu APIs, such as highlightedItem, will not work in context menus. (178288949)

  • Fixed: For applications linked on the macOS 27 SDK, both symbol and non-symbol menu item images are now automatically hidden. For applications linked on earlier SDKs, non-symbol images remain automatically visible, preserving compatibility with existing application behavior. This change allows applications to rely on system behavior for determining menu item image visibility, regardless of whether an image is a symbol image or a non-symbol image. If necessary, applications should use the preferredImageVisibility API to ensure that menu item images remain visible. (179374305) (FB23070183)

  • Fixed: For applications linked on SDKs prior to macOS 27, NSMenu now automatically shows menu item images if the menu item title and attributed title are both empty. This preserves existing application behavior when the image is the only representation of the menu item content. When linking against the macOS 27 SDK, these images will automatically be hidden; a menu with this design should use the preferredImageVisibility API to ensure that the menu item images remain visible. (179936632)

Known Issues

  • NSClickGestureRecognizers with a click count greater than 1 might improperly allow NSClickGestureRecognizers with a click count of 1 in an ancestor view to send an action before their multi-click timeout has elapsed. (173975472)

Apple Intelligence Report

Resolved Issues

  • Fixed: When you view Apple Intelligence Report entries for Home Intelligence, some data that was sent to Private Cloud Compute won’t appear in the report. (176056930)

Apple Unified Logging System

New Features

  • Unified Logging System archives generated on 27.0 releases cannot be read on macOS 26.1 or earlier due to an updated archive format. macOS 26.2 or later is required to read these archives. (160567675)

Automatic Assessment Configuration

New Features

  • You can now use a more flexible and granular Automatic Assessment Configuration in macOS 27, giving you greater control over your testing environment with controls for the Dock, Menu Bar, and accessibility settings, plus built-in system pre-checks and app launch restrictions. (158132137)

Background Assets

New Features

  • You can reduce your app’s storage usage with localized asset packs. The system delivers the appropriately localized asset packs based on the user’s preferred languages. (163944365)

Core AI

New Features

  • iOS 27 includes Neural Engine improvements for Apple Intelligence capable devices. The system now restricts background access to the Neural Engine, similar to GPU usage restrictions. Large model loading (over 1 GB) performance is improved on the Neural Engine. Neural Engine memory usage is now attributed to your app process instead of the system, and appears in the Allocations instrument. (174796039)

  • Access to the Neural engine when your app is in the background requires the new entitlement: “com.apple.developer.background-tasks.continued-processing.inference”. (179282606)

Resolved Issues

  • Fixed: AIModelCache entries might not honor the cache policy you provide, causing re-specialization to occur more often than expected. (169746264)

  • Fixed: When inference runs on the GPU, InferenceFunction.encode blocks until all compute is complete instead of returning as soon as encoding is done, unless the model is specialized with a preferred compute device of GPU. (175789258)

  • Fixed: Certain weight and activation configurations may not run on the Neural Engine, such as FP8-quantized weights and activations, palettized weights with quantized (non-Float16) values, and sparse weights. Affected models may run on the CPU or GPU instead. (176210080)

  • Fixed: When you run InferenceFunction.run on functions with both state arguments and outputs with dynamic shapes, the framework might be unable to infer the shape of the outputs and throw an error. (176807213)

  • Fixed: On-device specialization fails when loading an .aimodel converted with coreai-torch v0.4.0. (177008303)

  • Fixed: Inference might fail or crash for models with control flow over dynamic-shape tensors (for example, linear-attention LLMs such as Qwen3.5/3.6). (177354777)

  • Fixed: When Metal API Validation is enabled, CoreAI models might fail to execute. (177991751)

  • Fixed: Models with custom Metal kernels will fail to load. (178056451)

  • Fixed: App-group support might not work as expected on certain model types. (179732320)

  • Fixed: On-device specialization might fail when loading an .aimodelc compiled ahead of time using Xcode 27 Beta 2 or earlier. (181264112)

Known Issues

  • Ahead-of-time (AOT) compilation might fail unexpectedly for certain models. (177729331)

CoreStorage

Deprecations

  • Encrypted HFS+ (CoreStorage) is deprecated and will not be supported in a future version of macOS. If you use Encrypted HFS+ backups on external drives, begin backing up to encrypted APFS-formatted external drives instead. (175892420)

Deprecation Information

New Features

  • Intel-based applications that will no longer run in macOS 28.0 now display a treatment in Get Info. (169548657)

Disk Images

New Features

  • The new DiskImageKit framework provides Swift APIs for creating and managing standalone and stacked disk images in the Apple Sparse Image Format (ASIF) and raw disk image formats, for use with the Virtualization framework via VZDiskImageStorageDeviceAttachment. See DiskImageKit for more information. (177868758)

Dock

Resolved Issues

  • Fixed: While using an app in full screen, the Dock might persist when entering and exiting Mission Control. (174992242)

  • Fixed: The Dock might incorrectly indicate that some applications (such as Device Hub) are running in the background when they are not. (179502922)

Drag and Drop

Resolved Issues

  • Fixed: When you call enumerateDraggingItemsWithOptions:... during draggingSession:willBeginAtPoint:, the returned NSDraggingItem might have an incorrect draggingFrame value. (177839494)

DVDPlayback

Deprecations

  • The DVDPlayback framework has been removed from the macOS 27 Golden Gate SDK and apps cannot build against it. The framework will be removed in a future macOS release. (179136240)

EcosystemUI

New Features

  • Settings > General now lists Intel-based apps that will be incompatible with macOS 28.0. The list also identifies unused Intel-based software discovered on the system. The system might suggest a website where an Apple silicon native version can be found for a listed app. (175697313)

Resolved Issues

  • Fixed: The Intel-based apps view might unexpectedly display “Additional components” when the primary app is not native. (175781938)

  • Fixed: Intel-based apps might appear erroneously in the unsupported apps list with the entry “Steam Game”. Games should not appear in this list, and the “Steam Game” entry can be safely ignored. (177192993)

Finder

Resolved Issues

  • Fixed: Suggested names for a file or folder might be more generic than its contents. For example, a folder containing only bird photos might receive suggestions like “Wildlife” or “Animal Photos” rather than bird-specific names. (178093786)

Resolved Issues

  • Fixed: Search assets might download slowly for languages and regions other than English and the United States, causing degraded search experiences for first-party apps up to a few hours after you install or upgrade to the latest OS, change your device language, or region. (178186226)

Foundation

Resolved Issues

  • Fixed: +[NSURL URLWithString:] no longer double-encodes the % of valid percent-escape sequences when encoding other invalid characters. (161588649) (FB20439045)

Foundation Models

Resolved Issues

  • Fixed: @Generable on an enum produces a deprecation warning about GenerationError that cannot be silenced. (177899620)

  • Fixed: Truncating transcript history in the onPrompt modifier might cause an unexpected runtime error. (177901494)

  • Fixed: onPrompt might not be called when applied to a Profile without instructions. (177902488)

  • Fixed: PrivateCloudComputeLanguageModel always uses greedy decoding. (178181782)

Known Issues

  • When using the on-device Apple Foundation Model for both tool calling and guided generation, some prompts might cause the model to call tools excessively. (177748926)

    Workaround: Adjust your instructions, prompts, and attachment labels.

Game Center

Resolved Issues

  • Fixed: When you trigger the Access Point, its completion handler is never invoked. (172683368)

Game Controller

New Features

  • The PlayStation® Access™ controller is now supported on macOS, iPadOS, and iOS. You can create custom input profiles in game controller settings and save them to your Apple device. (168071382)

Resolved Issues

  • Fixed: Modifications to the game controller lightbar (GCController.light) may persist after your application no longer has focus. (163514369) (FB20846101)

  • Fixed: +[GCController supportsHIDDevice:] might return an incorrect result when queried with a recently connected HID device. (176985783) (FB22770585)

Gaming

New Features

  • A new command line tool lets you enable support for legacy Intel-based games during beta releases. To enable it, run the following command in Terminal: sudo game-test-tool enable. Restart your Mac computer for the change to take effect. Once enabled, games run transparently through the new underlying system behavior. Note that enabling legacy game support disables Rosetta, non-game processes might crash or behave unexpectedly, and this feature is intended only for playing legacy Intel-based games and is not available outside of macOS beta releases. (166398727)

HomeKit

New Features

  • When Apple Intelligence in the Home app is enabled, your HomeKit Secure Video recordings are processed on-device and through Private Cloud Compute for video descriptions and search. (178858470)

  • Apple Intelligence for Home requires an iCloud+ subscription starting at 2TB. (181282161)

Image Playground

Resolved Issues

  • Fixed: When you try to generate an image using ChatGPT in the Messages extension on macOS, the image fails to generate. (174413381)

  • Fixed: In the Image Playground photo picker, the All and Suggested tabs are missing, which might limit the number of photos available for you to choose from. (178256174)

Launch Daemons and Agents

Resolved Issues

  • Fixed: launchd no longer supports loading launchd property list files with the quarantine extended attribute. (166415497)

Mac Catalyst

Resolved Issues

  • Fixed: Mac-Idiom Catalyst apps could not use UIStepper. (57819435)

  • Fixed: For some apps, the show/hide sidebar toolbar buttons are missing. (176879915)

Mail

Resolved Issues

  • Fixed: Smart Mailboxes might not update while you’re using Mail. (177768221)

Mail Banners

Resolved Issues

  • Fixed: Mail banners for early flights will show the flight status as delayed. (173869986)

Media Playback

Resolved Issues

  • Fixed: In apps like TV, Podcasts, and Music, the window controls may become unresponsive after dragging the playhead to adjust the playback position. (177984877)

Messages

Resolved Issues

  • Fixed: GIFs and pasted images might render as the incorrect size. (177657977)

  • Fixed: HDR screenshots might appear garbled when sent in Messages. (180859837)

Metal

Resolved Issues

  • Fixed: When you use a sampler to read from a texture with clamp-to-edge addressing mode, the result might be clamped to zero. (172520325)

  • Fixed: On devices in the Apple 10 GPU family, using a sampler to read from a texture with clamp-to-edge addressing mode might produce results that are clamped to zero. (177318505)

Music

Resolved Issues

  • Fixed: Music Visualizer shows a black screen in both full screen and window mode. (177480780)

Network Security

New Features

  • Starting in 27.0 operating systems, select system processes now enforce stricter network security (TLS) requirements. These new requirements might cause connections to fail if the server does not meet them. The affected processes are those involved in MDM, DDM, Automated Device Enrollment, configuration profile installation, app installation, and software updates. Servers must support TLS 1.2 at minimum, using cipher suites and certificates that meet App Transport Security (ATS) requirements.

    For additional details on affected processes, requirements, and how to audit and diagnose failures in managed environments, please reference Prepare your network environment for stricter security requirements. For additional details on ATS and the new requirements, please reference Preventing Insecure Network Connections and NSRequiresNIAPTLSPackageVersion. (176055825)

News

Resolved Issues

  • Fixed: The News app crashes on launch when configuration profiles are installed. (177972625)

Notification Center

Known Issues

  • You might be unable to dismiss certain notifications. (181736751)

    Workaround: Open Notification Center and click Dismiss All Notifications.

NSApplication

New Features

  • NSApplication.presentationOptions now includes the .disableScreenCornerInteractions option, which you can use to disable Hot Corners. (168692527)

NSGestureRecognizer

New Features

  • A new cancellableByScrollGesture property on NSGestureRecognizer allows gesture recognizers to be automatically cancelled when the enclosing scroll view is panned. (165650612)

  • Only the initial hit-tested view hierarchy will activate gesture recognizers until all gestures terminate. A new exclusiveGestureBehavior property on NSView allows you to opt-out of this exclusive behavior on a per-view-hierarchy basis. Further, the Info.plist key NSViewGestureRecognizerIsExclusive allows you to opt-out for the entire app. Additionally, a new Info.plist key NSGestureRecognizerSuppressesMainMenuActions allows main menu actions to be invoked while gesture recognizers are active. (173551081)

  • To prevent exclusive gestures from making apps unresponsive, stuck gestures are automatically cancelled after user input has ended for a few seconds. A new user default, NSCrashOnStuckGestureTimeout, allows you to crash your app when this condition occurs, to aid in debugging. (175705302)

  • A new diagnostic user default NSGestureRecognizerCrashOnMissingOverrides is provided to help developers find NSGestureRecognizer subclasses that are missing required overrides to ensure that they always reach a terminal state. Even without this gesture set, AppKit will produce error messages in the console to alert developers when such cases are found. (176396492)

NSScrollView

New Features

  • New properties on NSScrollView allow you to constrain the number of touches needed to scroll. The new scrollGestureForFailureRelationship property allows you to set up gesture relationships against scrolling gestures. (164924201)

Photos Edit

Known Issues

  • A thin white line might be visible in photos that have had Spatial Reframing applied. (178183850)

Physical surroundings light

Resolved Issues

  • Fixed: An App might crash if the SurroundingsLight component is added to more than 8 light entities. (178092354)

Previews

New Features

  • Preview and Quick Look have added support for RealityKit as the scene renderer for USD and other 3D scenes that were previously rendered by Storm. (176839273)

Resolved Issues

  • Fixed: After you load certain 3D models, materials for most other 3D models might not appear properly and display an error pattern instead. (177483209)

  • Fixed: When you drag an annotation in a 3D document, such as a USD file, and release the mouse button, the cursor might remain in the open-hand state instead of returning to the arrow cursor. (177754200)

RealityKit

New Features

  • The Gaussian Splat Component API in RealityKit will be available in an upcoming release. (178061856)

Resolved Issues

  • Fixed: ComputeGraphComponents stored in a Reality file do not render when loaded. (177674901)

  • Fixed: When OpacityComponent is applied to an entity with opaque materials, RealityRenderer renders the opaque materials with transparency, revealing interior surfaces. Only the frontmost surface should appear with partial transparency. (177976245)

Known Issues

  • Some MaterialX 1.39 nodes are not supported. (172875414)

Reminders

Known Issues

  • After you tap “Add to Reminders” in Messages, the “New Reminder” interface presents the reminder with an empty title field. (180040003)

    Workaround: Tap “Add to Reminders” in the “New Reminder” interface to create the reminder, then edit the title in the Reminders app.

Rosetta

New Features

  • On launch, Applications previously set to “Open using Rosetta” by a user will have the application launch natively.

    Any compatibility issues requiring Rosetta from the past should be re-assessed on macOS 27. (168097174)

Deprecations

  • If Rosetta was previously installed, it is not automatically restored after upgrading to macOS 27.0. (163213094)

  • Installer packages which specify no hostArchitecture will now default to arm64. Ensure any pre and post install scripts behave as intended under arm64. Additionally, audit any remaining installer plugins to ensure compatibility on Apple silicon. (171187112)

  • Intel-based plugins and loaders may not appear in Settings or trigger notifications of their incompatibility. All Intel-based software will no longer be compatible with macOS 28.0, excluding legacy games.

    Check common plugin locations for VSTs, HAL, ARA, PDEs, Color Pickers, Quicklook & Spotlight plugins/extensions/components, such as: ~/Library/Audio/Plug-Ins/* ~/Library/Printers/ ~/Library/ColorPickers/ (176042635)

Safari

Resolved Issues

  • Fixed: Selecting “Rename” or “Edit Address…” from the context menu in the sidebar has no effect. (177470803)

  • Fixed: Safari Intelligence features might appear as available before assets are fully downloaded. If you use the feature before assets are available, it won’t function correctly. (178099724)

Safari Extensions

Resolved Issues

  • Fixed: Turning on or off Safari extensions created via the “Describe an Extension” feature might not take effect until Safari is relaunched. (179293939)

Setup Assistant

Known Issues

  • Setup Assistant might remain on screen after you configure a new user account. (175787760)

    Workaround: Restart Mac and log back in.

ShaderGraph

Resolved Issues

  • Fixed: The realitykit_hair_surfaceshader node does not support DiffuseLightProbeGroupComponent. Materials built with this node might not respond to diffuse light probe group lighting. (177976666)

Shortcuts

Resolved Issues

  • Fixed: The Use Model action might fail to run when using the On-Device option for some output types. (181071784)

Known Issues

  • If an app intent uses Duration or LPLinkMetadata, creating a shortcut with that intent and then attempting to edit it with “Describe a change” might fail. (166068090)

    Workaround: If the model discards the action, press “Undo” to recover the unsupported intent.

  • When an app intent defines a UnionValue parameter with two number-related types (for example, both Int and Double), the number option appears twice in the parameter picker menu and shows as double-selected. (168315587)

    Workaround: Define only one number-related type in the UnionValue parameter (for example, use only Int or only Double, not both).

  • Battery Level and Charger automations might not work on macOS. (180337087)

Siri

Resolved Issues

  • Fixed: Siri cannot find albums in Photos on macOS. (172713904)

  • Fixed: When you ask Siri to start navigation using AMap, Tencent Maps, or Baidu Maps on Mac, navigation might not start. (174911042)

  • Fixed: Siri ignores custom values for navigation preferences, transport, and incident types in apps that use maps.startNavigation or maps.reportIncident intent schemas. (175230813)

  • Fixed: When location data is unavailable or only coarse-accuracy location data is available, Maps searches initiated through Siri might return empty or imprecise results. (175380461)

  • Fixed: When you ask Siri to work with reminder lists, you might need to use the exact list name. Siri might not recognize similar or partial list names. (176400964)

  • Fixed: App Intents with @UnionValue types that accept a PlaceDescriptorEntity and a String always receive String values instead of PlaceDescriptorEntity entities. (176844035)

  • Fixed: Starting a call with Siri might fail with an error in apps that adopt CallKit and the phone.startCall AppSchema. (177190637)

  • Fixed: When you ask Siri to send a message to a contact that doesn’t exist on your device, Siri might draft a message to an unrelated contact. (177356158)

  • Fixed: You might not see names and images of email senders in the Siri email list UI. (177416168)

  • Fixed: Siri might not resolve some entity types when your app has provided only an EntityStringQuery for the entity type. (177464215)

  • Fixed: Siri functionality during software updates is limited, including calls to emergency services. (177476889)

  • Fixed: Asking Siri to call short phone numbers, such as “Call 17”, might fail. (177545828)

  • Fixed: Cannot click on Notes in Siri responses on MacOS. (177634308)

  • Fixed: Disabling Siri might not delete your Siri and Dictation interaction history from your device. (177649865)

  • Fixed: Siri might not find app-specific contacts that are only indexed in Spotlight and do not appear in the Contacts app. (177679168)

  • Fixed: Siri cannot create a recurring reminder or update an existing reminder to be reoccurring. (177722240)

  • Fixed: When you use ChatGPT with Apple Intelligence, some responses used in follow-up queries or when you resume a chat might be logged by Apple. (177755742)

  • Fixed: When you ask Siri to find, search, or read reminders, Siri might list or read the reminders instead of showing a snippet. When reminder lists are displayed, the list color might not appear correctly. (177762533)

  • Fixed: Siri might run the incorrect OpenIntent or system.open intent when multiple intents targeting different entity types are available in your app. (177992979)

  • Fixed: When you tap the Send button in the Siri message confirmation flow, the message might fail to send. (178025056)

  • Fixed: When asking Siri to call, message, or email a contact, Siri might fail to resolve the correct person — particularly when multiple contacts share the same name, when group names contain emoji or special characters, or when relationship labels (e.g., “my brother”) are ambiguous. In some cases, Siri might pick the wrong contact, fail to present a disambiguation prompt, or freeze during the disambiguation UI. (178379209)

  • Fixed: Businesses with overnight hours might display as “Closed till [next day]” even during open hours. (178384054)

  • Fixed: Siri might not respond to your voice correctly. (178489724)

  • Fixed: In the Siri app, conversations might be deleted a few minutes after receiving streaming responses. (178560562)

Known Issues

  • After Siri returns photo search results and you select photos, Siri might not detect which photos are selected on screen. Commands like “Send these” might apply to all photos returned from the search rather than only the selected ones. (171728298)

    Workaround: Open Photos, select the photos you want to act on, then perform the action using Siri — for example, “Send these photos to Bob”.

  • When you turn off Siri, some photo-related questions might return web search results instead of prompting you to share the photo with ChatGPT. (175884006)

  • “Ask Siri” might appear in context menus on macOS even when Siri is disabled in System Settings or the system is in a region that does not currently support Siri. (176299524)

  • Siri doesn’t support voice commands to interact with specific photos. For example, you can’t refer to photos by number, such as “photo one” or “photo four.” (176812955)

    Workaround: Use the photo picker to select the photo you want, or tap to select photos directly.

  • When you ask Siri for Maps information, the response snippets might appear incomplete or display formatting issues. (177116121)

    Workaround: Ask Siri to repeat the information, or open Maps directly for complete details.

  • When you ask Siri to add photos to an album, the confirmation prompt and spoken response might report or display more photos than will actually be added. (177376984)

    Workaround: Add photos to the album manually in the Photos app: tap Select, tap the photos you want to add, tap the Share button, tap Add to Album, then tap the album.

  • Non-SF Symbol custom images for entities might not appear in Siri results for third-party apps. (177984074)

Software Update

Resolved Issues

  • Fixed: Background Security Improvements cannot be installed when your startup disk is an external storage device. (174428921)

  • Fixed: Devices configured with Reduced Security mode might fail to install macOS 27 beta 1. Devices in this mode might also be prevented from allowing kernel extensions or disabling System Integrity Protection. (178942816)

Spatial Preview

Resolved Issues

  • Fixed: When Device Discovery UI is invoked via the Spatial Preview API, it might show nearby Apple Vision Pro devices running an older release. Selecting a device running an older release causes Spatial Preview to fail. (156180612)

  • Fixed: Some large 3D models with poor mesh connectivity of approximately 750,000 to 3.75 million triangles might not appear when previewing on Apple Vision Pro. (174366004)

  • Fixed: When spatial previewing USDZ assets larger than 75MB in Preview or using the Spatial Preview API, edits made on Mac or Apple Vision Pro might not sync to other devices. (178168374)

Startup Disk

Known Issues

  • When a Mac is running macOS 11.0, you might not be able to select the boot volume of macOS 27.0 or later as the startup disk in System Settings. (166640903)

    Workaround: Shut down your Mac, press and hold the power button until “Loading startup options” appears, then select the boot volume of macOS 27.0 or later.

StoreKit

New Features

  • Offer code redemption APIs now return a VerificationResult when redemption completes. If a redemption succeeds, your app receives a VerificationResult that contains a Transaction object. If a redemption fails, your app receives an error that describes what caused the redemption to fail. (141012819)

  • StoreKit now includes the Transaction.OwnershipType.assigned and Transaction.RevocationType.assignmentRevoked enum values to support volume purchases. Transaction query methods now additionally return transactions assigned to the Managed Apple Account. (156749517)

  • New Product.ProductType APIs represent subscription Bundles and subscription Suites. New APIs in Product.SubscriptionInfo.BundledSubscription let you fetch merchandising data about subscriptions contained in a Bundle. Transaction and RenewalInfo contain new fields that provide information about purchases and customer status regarding Bundles and Suites. (160501742)

  • partnerName and partnerId properties for Advanced Commerce API are available in Transaction.AdvancedCommerceInfo and RenewalInfo.AdvancedCommerceInfo. (167808780)

Resolved Issues

  • Fixed: The transaction refund request sheet fails to display on macOS. (180072209)

Known Issues

  • Purchases of non-subscription In-App Purchases made using the SKTestSession.buyProduct() method might fail with an invalid product error. The billingPlanType(_:) PurchaseOption isn’t respected for subscription purchases. (181842500)

StoreKit Testing in Xcode

Resolved Issues

  • Fixed: The unified app receipt is not updated after forcing a subscription expiration with SKTestSession. (102093015) (FB11767567)

  • Fixed: The SKTestSession disableDialogs setting is not always respected for all system dialogs. (154390284) (FB18403150)

  • Fixed: Subscription upgrades performed with the Xcode Transaction Manager are not reported in Transaction.updates. (160698598) (FB20269723)

  • Fixed: The renewal behavior preference is not respected when using the purchaseDate(_:renewalBehavior:) purchase option to make purchases using SKTestSession. (162014134) (FB20537538)

  • Fixed: Calls to Transaction.requestRefund() fail in StoreKit Testing in Xcode and AppStore.presentOfferCodeRedeemSheet(from:options:) targets the sandbox environment instead of StoreKit Testing. (173406202)

  • Fixed: Re-purchasing a previously refunded non-consumable fails with an already owned error when using StoreKit Testing in Xcode. (174560379) (FB22475017)

  • Fixed: Using pricingTerms.commitmentInfo.price in StoreKit Testing in Xcode returns an incorrect price for monthly subscriptions with a 12-month commitment. (177942756)

  • Fixed: Transactions for upgraded subscriptions are immediately marked as expired when using StoreKit Testing in Xcode. (178441109)

  • Fixed: Purchases and fetching the unified app receipt sometimes fails with an unknown error when using StoreKit Testing in Xcode. (178555835)

Swift Charts

Resolved Issues

  • Fixed: When your project has a minimum deployment target lower than 27.0, using conditionals inside a Chart closure produces the warning “Conformance of _ConditionalContent<TrueContent, FalseContent> to ChartContent is only available in ‘’ 27.0 or newer,” and the app might crash at runtime when that content is loaded. (174168981)

SwiftData

Resolved Issues

  • Fixed: You might experience a deadlock for @Query when saving a ModelContext on a background actor while scheduling new async tasks for a ModelActor. (178113288)

SwiftUI

New Features

  • Bordered Menu and Picker buttons now support better label customization and no longer use NSPopUpButton in their implementation. (68559433) (FB8657381)

  • AsyncImage now automatically caches downloaded images using HTTP caching protocols, allowing servers to control caching behavior via standard headers. You can customize caching for specific images using the new AsyncImage initializers that accept URLRequest with custom cachePolicy settings. Additionally, you can set a custom URLSession using the new View.asyncImageURLSession(_:) API to control how all child AsyncImage views perform data tasks. (78212597)

  • A @State declared with an expression as its initial value used to evaluate the expression each time the view struct re-instantiates. In the case of @State private var model = Model(), this means Model.init() gets called many times throughout the view’s lifetime. Xcode 27 introduces a new @State implementation that avoids this repeated evaluation. This new behavior back-deploys to iOS 17 aligned OSes. The new @State is implemented with a Swift macro. It is largely source compatible with the property wrapper version, with a few exceptions.

    If you provide an initial value at @State declaration, and also try to assign a value to it in an initializer, the initializer value is discarded. This behavior has not changed because of the macro, but some such cases no longer compile:

     struct StickerPageView: View {
         @State private var page = StickerPage()
         let title: String
     
         init(title: String) {
             // `title` won't have any effect
             // this also won't compile with @State macro
             self.page = StickerPage(title: title)
             self.title = title
         }
     }

    When assigning initial value via an initializer, do not provide an initial value at the @State declaration.

     struct StickerPageView: View {
         @State private var page: StickerPage // no initial value expression
         let title: String
     
         init(title: String) {
             self.page = StickerPage(title: title) // works!
             self.title = title
         }
     }

    When all stored members of a struct are private, the compiler synthesizes a private init that can be used in an extension of the same type:

     struct StickerPageView: View {
         @State private var page: StickerPage
         private let title: String
         ...
     }
     
     extension StickerPageView {
         init(title: String, _ page: StickerPage) {
             self.init(page: page, title: title) // using the synthesized init
         }
     }

    The state macro disables this synthesized initializer. So the code above no longer compiles. To mitigate, assign value to members explicitly:

     extension StickerPageView {
         init(title: String, _ page: StickerPage) {
             self.title = title
             self.page = page
         }
     }

    In rare situations, the automatic inference of generic arguments of @State is less flexible with the macro implementation. Write the type with more specificity.

    Composing @State with other property wrappers or macros is not supported. (105893279)

  • In apps built with the iOS 27.0 and macOS 27.0 SDKs, selectable Text views now support TextRenderer. (158160386) (FB19589465)

  • In apps built with the 27.0 SDKs, the new ReadableDocument and WritableDocument protocols support asynchronous reading and writing, progress reporting, and direct access to document URLs. New DocumentGroup initializers that adopt these protocols let you disable document creation for editing-only apps and present custom UI before any document is opened. The initializers expose an Observable URLDocumentConfiguration and integrate with Swift concurrency and the Observation framework. New applications should prefer ReadableDocument and WritableDocument over ReferenceFileDocument, which remains available. (158441552)

  • The menu bar on iPadOS 27.0 and macOS 27.0, as well as context menus on macOS 27.0, present a reduced set of menu item images. By default, SwiftUI now hides all menu item symbol images in most contexts, while non-symbol images remain visible. Review the updated Human Interface Guidelines to determine which menu items in your app should still display images. Use the labelStyle(_:) view modifier with the .titleAndIcon style to indicate that a menu item Label’s icon should always be shown — such as when the menu item represents an object or a concept rather than an action. SwiftUI continues to automatically provide default visible menu item images for certain common system-wide menu items, such as Settings, Share, and Print. (170480710)

  • In apps built with the latest SDKs, the appearance of TabViews in inspectors now matches their appearance in sidebars, and in both contexts automatically uses the new .tabs picker style. (170678002)

  • Disabled Toggles using the .checkbox style are no longer tinted in macOS, so you can more easily distinguish them from their enabled state. (172689844)

  • The TabsPickerStyle style is now available for pickers that represent tab-based navigation and content selection. This style is similar to the .segmented style, but VoiceOver reads it as “tabs,” and on macOS it has a distinct visual appearance that distinguishes it from pickers that represent value selection — for example, a text alignment picker in an inspector. (173211711)

  • You can now use the TextInputBorderShape type to customize the border shape of text input controls like TextField with the textInputBorderShape(_:) view modifier. The .squareBorder and .roundedBorder text field styles are soft deprecated — use the new .bordered text field style instead. (173362083)

  • On macOS, the Slider implementation no longer uses NSSlider. (173990195)

  • In apps built with the 27.0 SDKs, a LabeledContent view used inside a Menu maps its value to the platform menu item’s subtitle. (175594929)

  • The @Entry macro now warns of potential issues if you store default class instances or closures in the environment. The SwiftUI Specialist skill in Xcode provides guidance for resolving these issues. (175902616)

  • You can now access concentricCornerRadii and concentricCornerRadii(in:) on GeometryProxy. These APIs return the corner radii that are concentric with the view’s container shape as a RectangleCornerRadii?. You can use these values to drive custom drawing or layout that responds to the container’s corners without rendering a ConcentricRectangle directly. (177185166)

  • You can now use the Document protocol for representing documents in DocumentGroup. This protocol combines ReadableDocument and WritableDocument for common read-and-write cases. Use Document instead of ReferenceFileDocument and FileDocument, which are now deprecated. (177458781)

  • @ContentBuilder type checking performance is further improved for valid code compared to Beta 1. (177526032)

  • The new data item or error object based alert and confirmationDialog modifiers can now be used by projects targeting iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, and visionOS 1.0. (179388848)

  • In macOS apps built with the macOS 27 SDK, the action retrieved from the \.newDocument environment value accepts an in-memory ReadableDocument produced by an autoclosure. SwiftUI presents a new document window populated with the supplied instance, instead of invoking the document group’s default factory. Use this to implement “New from Template” commands and similar flows. (180300890)

  • A new fileExporter(isPresented:documents:contentTypes:onCompletion:onCancellation:) modifier exports a collection of values that conform to WritableDocument whose Writer.Destination is URL. The system presents a single export dialog, writes each document to the chosen destination, and reports the resulting URLs through onCompletion. (180301165)

  • The makeFileWrapper closure of FileWrapperDocumentWriter now receives a second argument, previous: FileWrapper?, holding the FileWrapper from the document’s most recent read or write when one is available. Package documents can mutate previous in place and return it so that FileWrapper only writes children whose contents changed, avoiding rewriting an entire package on every save. Documents stored as a single file can ignore the second argument and return a fresh FileWrapper as before. Existing call sites must update their closures to accept the new parameter. (180301399)

  • DocumentReader.Source and DocumentWriter.Destination now default to URL. Conforming types that read from or write to a file URL no longer need to declare typealias Source = URL or typealias Destination = URL. (180301692)

Resolved Issues

  • In apps built with the macOS 27.0 SDK, TextField respects custom font and color styling applied to its prompt. Apply styling to the Text provided to TextField’s prompt parameter at initialization. (86580365)

  • Fixed: A custom TextRenderer applied via .textRenderer(_:) now takes effect on a Text view that also has .textSelection(.enabled) applied. Previously, the custom renderer was dropped on selectable text, falling back to default rendering. (151015350)

  • Fixed: When you apply both .fileExporter(_:...) and .fileMover(_:...) modifiers to a view, some dialogs might not present correctly. (154080867)

  • Fixed: Section backgrounds in the .grouped form style don’t display a border when the “Show borders” accessibility setting is turned on. (155906280)

  • Fixed: In macOS, buttons using the .glass and .glassProminent styles don’t display a hover state when used outside of a toolbar. (158800693)

  • Fixed: In apps built with the 27.0 SDKs, containerRelativeFrame(_:alignment:) incorrectly accounts for safe-area insets on a ScrollView’s non-scrollable axis, causing the calculated scrollable content size to be too small. For example, a view using containerRelativeFrame(.vertical) inside a horizontal ScrollView extends into vertical safe-area regions, such as the navigation bar and home indicator, because only the scrollable axis insets are applied. (165913417)

  • Fixed: Certain control-related view modifiers unexpectedly affect sheet and popover content. In apps built with the 27.0 SDKs, the controlSize, buttonSizing, buttonRepeatBehavior, menuIndicatorVisibility, and ButtonBorderShape environment values are now reset to their default values in sheets and popovers. (167448274)

  • Fixed: Dual-axis scroll views align to .center instead of the .topLeading unit point, which disagrees with documentation. Additionally, specifying .defaultScrollAnchor(_:) on dual-axis scroll views results in incorrect placement. (171755081)

  • Fixed: On macOS, a Menu composed with a .plain or custom button style uses the AXDescription (Label) attribute instead of the AXTitle attribute. (171831601)

  • Fixed: Buttons with keyboardShortcut(.defaultAction) remain tinted when disabled. (174278196)

  • In macOS apps built with the macOS 27 SDK, List accepts drops in two cases that previously didn’t work: drags with compatible transfer representations are accepted into reorderable content even when the .reorderableItem transfer type isn’t present, and a .dropDestination(...) modifier declared on a list item now performs the drop. These behaviors match the existing iOS List behavior. (174628712)

  • Fixed: The “Settings…” menu item does not display an icon. (175053352)

  • Fixed: An app might crash if a submenu within the toolbar overflow menu is an NSHostingMenu and a user tries to open the overflow menu. (177616606)

  • Fixed: Buttons with keyboardShortcut(.defaultAction) and a .destructive role don’t appear as a destructive button in sheet toolbars. (178957869)

  • Fixed: @State variable named using a raw identifier fails to compile. (179149051) (FB23015259)

  • The read(from:progress:) and write(content:to:previous:progress:) requirements of DocumentReader and DocumentWriter are declared with @concurrent instead of nonisolated. With approachable-concurrency defaults that infer MainActor isolation, an unannotated nonisolated async method runs on the main actor, defeating the intent of off-main reading and writing. Conforming types that previously used nonisolated should switch to @concurrent to match. (180302015)

  • The makeDocument: and makeReadableDocument: closures passed to DocumentGroup initializers are now @MainActor-isolated. SwiftUI invokes these factories on the main actor when constructing a document instance, allowing the closure body to access main-actor state — including the supplied URLDocumentConfiguration — without hopping isolation domains. (180302065)

  • URLDocumentConfiguration is a @MainActor-isolated @Observable reference type and no longer conforms to Sendable. Code that captured a configuration in a Sendable closure or stored it in a Sendable value should drop the constraint and access the configuration on the main actor. (180302075)

Known Issues

  • Progress reported in DocumentReader.read(from:progress:) and DocumentWriter.write(snapshot:to:previous:progress:) might not be presented. (158441261)

  • In some system video players, when you attempt to drag a Slider within a window that is configured to be movable by dragging its background, the window might be dragged instead of the slider. (177790490)

Deprecations

  • The FileDocument protocol is deprecated. Use ReadableDocument for read-only documents or Document for documents that support reading and writing. (178776840)

System

New Features

  • System now provides Swift APIs for the C stat, lstat, fstat, and fstatat system calls. This includes a new Stat type with initializers from FilePath, FileDescriptor, or a C string; FilePath.stat() and FileDescriptor.stat() instance methods; and supporting types (FileType, FileMode, FileFlags, UserID, GroupID, DeviceID, and Inode). See SYS-0006 for more details. (160612181)

Resolved Issues

  • Fixed: Custom FilePath or FileDescriptor extensions that make unqualified calls to stat() or stat(_) (without the Darwin. qualification) might conflict with the new Swift stat() instance methods introduced in SYS-0006, causing build errors. See SYS-0008 for more details. (177911316)

System Integrity Protection

New Features

  • Accessing files in other developer teams’ app data containers and app group containers no longer prompts the user for authorization; such accesses are denied by default and can be managed by the user in Privacy & Security settings. (161835690)

  • XProtect may now restrict access to app data that is commonly targeted by malicious software. Accessing files created by other developer teams’ apps may be denied by default but may be managed by the user in Privacy & Security settings. (178668601)

TCC

Deprecations

  • Apps can no longer access the local TCC database directly. (90775556)

Terminal

Resolved Issues

  • Fixed: Terminal might hang when you click Terminate in the “Do you want to terminate running process…” dialog, but recovers after a delay. (179656565)

Thunderbolt

Resolved Issues

  • Fixed: When connecting to two identical displays (same model and serial number), the first display will work as expected whereas the second display might not light up. (176292156)

UIKit

New Features

  • When linked on iOS 27, tvOS 27, macCatalyst 27, or visionOS 27 SDKs, you can use UIScene.extendStateRestoration and UIScene.completeStateRestoration to extend state restoration for UIScene.ActivationState.background to UIScene.ActivationState.foreground lifecycle transitions. (161843040)

  • On iOS 27.0 and iPadOS 27.0, Siri can load resources from drag interactions installed in your app’s interface. For example, when Apple Intelligence is invoked from a context menu, the system calls UIDragInteractionDelegate methods to load the content. Because drag sessions might begin without a user-initiated drag gesture, avoid performing animations or presenting modal UI for the drag in dragInteraction(_:sessionWillBegin:). Instead, perform those actions in dragInteraction(_:sessionDidMove:). (168884200)

  • On iPadOS 27.0 and macOS 27.0, the menu bar and context menus present a reduced set of menu item images and do not display images set on menu elements by default. You can use the new preferredImageVisibility property on UIMenuElement — including updated initializers on UIMenu, UIAction, UICommand, and UIKeyCommand — to customize the visibility of each element’s image in these menus. Review the updated Human Interface Guidelines to determine which menu elements in your app should display images. UIKit automatically provides default visible menu element images for certain common system-wide menu items, such as Settings, Share, and Print. (170479084)

Resolved Issues

  • Fixed: The UIMenuLeaf protocol is missing the subtitle property introduced in iOS 16.0. (173271862)

Known Issues

  • The UISceneClosureConfirmation API does not present a confirmation dialog. (170008344)

  • Catalyst views that have both UIDragInteraction and UIContextMenuInteraction do not allow you to activate both interactions with touch. (175048540)

Deprecations

USDKit

Resolved Issues

  • Fixed: Some types of USD attributes cannot be read or modified. (170653056)

  • Fixed: Array, vector, matrix, and quaternion types cannot be authored using USDKit. (178071414)

Deprecations

  • Meshes compressed using the USDKit export API or usdcrush tool in Beta 1 cannot be decoded by Beta 2, and meshes from Beta 2 cannot be decoded by Beta 1. (177417812)

VideoToolbox

New Features

  • VTLowLatencySuperResolutionScalerConfiguration now supports a 1.5x scale factor. Call +supportedScaleFactorsForFrameWidth:frameHeight: to discover the scale factors available for your source dimensions. (177635243)

  • VTLowLatencyFrameInterpolationConfiguration now supports arbitrary source dimensions up to 1080p. (179040806)

Virtualization

New Features

  • The vmnet port forwarding APIs now support port forwarding when communicating over loopback. (64203273) (FB7731708)

Resolved Issues

  • Fixed: Saving a virtual machine state with one or more USB devices passed through to a virtual machine may fail. (174267926)

  • Fixed: If an App uses AccessoryAccess framework within a Virtualization framework to launch a virtual machine, and if you assign both the Apple Keyboard (A1242 or A1243) and Apple Mouse (A1152) to that app and subsequently un-assign the mouse, then the virtual machine might crash. (174794802)

  • Fixed: A virtual machine might crash during restore if a USB mass storage device was hot-plugged before the virtual machine was saved but is not attached during the restore. (177528319)

  • Fixed: AAUSBAccessoryManager registerListener:withMatchingCriteria:completionHandler: does not work with a non-empty matching criteria array. (177662539)

Weather Highlights

Known Issues

  • Weather Highlights is currently only available in US English. (164408676)

Window Management

Resolved Issues

  • Fixed: When you exit a window from fullscreen mode using Mission Control, the window might be lost. (177660206)

Writing Tools

Resolved Issues

  • Fixed: Writing Tools on macOS might stop working after you use Describe Your Change. (174926739)

Xcode

Resolved Issues

  • Fixed: If you installed Xcode 27 beta on macOS Tahoe 26.5.1 and earlier, macOS virtual machine installation will fail due to a known bug. To restore virtual machine installation functionality, follow the How to reinstall macOS guide. (179068335)

xnu

Resolved Issues

  • Fixed: Launch binaries larger than 2GiB might fail. (134346968)

XQuartz

Known Issues

  • Clicking on X11 windows while XQuartz is in the background does not activate the XQuartz application. (180761569)

    Workaround: Click on XQuartz in the Dock.