Skip Navigation
Article

macOS Sequoia 15.4 Beta Release Notes

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

Overview

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

Apple Intelligence

Known Issues

  • After restoring macOS 15.4, some Apple Intelligence features might not be available or you might see “Downloading support…”. (145297891)

    Workaround: Restarting your device might resolve the issue.

FSKit

New Features

  • FSKit is now available, enabling delivery of user space file systems as Application Extensions. These file systems support integration with DiskArbitration. (44900760)

Game Controller

Resolved Issues

  • Fixed: Game controllers might stop responding when accessibility features, such as Voice Over, are enabled. (141497799)

libxml2

Deprecations

  • The custom allocation API for libxml2 is deprecated starting in macOS Sequoia 15.4, iOS 18.4, tvOS 18.4, visionOS 2.4, and tvOS 18.4. If this API is not used, no changes are required. If this API is currently used, make changes to call malloc() instead of xmlMalloc() or xmlMallocAtomic(); call realloc() instead of xmlRealloc(); call free() instead of xmlFree() and call strdup() instead of xmlMemStrdup(). Stop calling xmlMemSetup(), xmlMemGet(), xmlGcMemSetup() and xmlGcMemGet() to set custom allocation functions. Do not set global variables xmlMalloc, xmlMallocAtomic, xmlRealloc, xmlFree, and xmlMemStrdup. Internally, libxml2 and libxslt will now use the system allocator instead of this API, so do not rely on these libraries using the custom allocation API. (138404994)

Podcasts

New Features

  • Podcasts Search provides suggestions as you type to help you find what you’re looking for. (144169175)

SCSIControllerDriverKit

New Features

  • Four new API’s have been introduced: UserMapBundledParallelTaskCommandAndResponseBuffers, BundledParallelTaskCompletion, UserProcessBundledParallelTasks and UserCompleteBundledParallelTask.

    These APIs introduce the concepts of bundled I/Os and shared memory, for parallel task command and response buffers.

    The shared memory addresses the RPC copy overhead. Bundled I/O enables the exchange of multiple I/Os in a single API call (in both submission and completion path), instead of handing over one I/O at a time between DriverKit and DriverExtension. This helps mitigate the DriverKit latencies while interacting with DriverExtension.

    The IOUserSCSIParallelInterfaceController.iig file explains the concepts of I/O bundling and shared memory for parallel task and response buffers.

    If DriverExtension has considerably lower I/O performance compared to the KernelExtension for workloads with high queue depths or very small I/O sizes (i.e. 4KB), try using these new APIs. (134516478)

StoreKit

New Features

  • New StoreKit APIs support Advanced Commerce API in-app purchases. (118528943)

  • By using the new purchase option API introductoryOfferEligibility(compactJWS:), you can now set a preference for whether an introductory offer should be redeemed during a purchase. This API requires you to sign a payload on your server in order to either apply the offer (even if the customer is not eligible) or block it. (136152740)

  • New properties appTransactionID, originalPlatform, and period are now available in AppTransaction, Transaction, Transaction.Offer, and Product.SubscriptionInfo.RenewalInfo. (136395697)

Deprecations

  • Transaction.currentEntitlement(for:) is now deprecated. This API returns the latest transaction that entitles the user to a product, which may not include transactions originated for family shared subscriptions. Use the Transaction.currentEntitlements(for:) method to get all the transactions that entitle the user to a product. (138320205)

SwiftUI

Resolved Issues

  • Fixed: A color set by the tint(_:) modifier does not override the tint color of buttons in that view’s confirmation dialogs and alerts. (138774306)

  • Fixed: For apps compiled against iOS 18.4 beta, applying defaultVisibility(.hidden) to customizable toolbar items does not hide the item by default on iOS. (139815290)

  • Fixed: When NavigationStack or NavigationSplitView content updates, the environment is not invalidated unless properties in the environment have changed. (139855826)

Known Issues

  • On macOS, .sheet, .alert and .confirmationDialog modals conditionally allow app termination (via the menu item, ⌘Q, Software Update, etc.) in some configurations. (141551605)

    Workaround: For macOS 15.4 beta, modals listed above will allow app quit while presented under specific conditions. If you strictly need to block app quit in macOS 15.4 beta, you can temporarily mark the dialog as critical with dialogSeverity, ensure the sheet toolbar has > 1 button (or no buttons with .confirmationAction or cancellationAction placements), or ensure the dialog has > 1 action button in it.

System Calls

New Features

  • fileport_makeport(2) and fileport_makefd(2) are now APIs with manual pages. (66571768) (FB8270900)

UIWritingToolsCoordinator

Known Issues

  • In macOS 15.4 beta, NSWritingToolsCoordinatorDelegate method -writingToolsCoordinator:requestsRangeInContextWithIdentifierForPoint:completion: is marked as optional and will not be called. (142681236)

    Workaround: When building on macOS 15.4 beta and deploying to macOS 15.2, implement the deprecated NSWritingToolsCoordinatorDelegate method -writingToolsCoordinator:requestsRangeInContextWithIdentifierForPoint:completion:. If you are not deploying earlier than macOS 15.4, do not implement this method.

URLSession

New Features

  • To enable the new HTTP loading mode, set usesClassicLoadingMode to false on URLSessionConfiguration. The new loading mode will become the default in a future release. (89390075)

Virtual Machines

Known Issues

  • Upon update to macOS 15.4 beta 1, M4 Macs will be unable to launch virtual machines and attempts will result in a system restart. (145309647) (FB16542958)

    Workaround: Do not launch virtual machines. If virtual machine applications launch upon login, boot to Safe Mode and disable in system settings.

Writing Tools

Known Issues

  • After generating a list, key point, table, or summary in the pop-over, selecting “Replace” results in an error message. (145186545)

    Workaround: The generated content can be copied and pasted. User can manually replace the selected text with the generated text.

See Also

Current page is macOS Sequoia 15.4 Beta Release Notes