macOS Sequoia 15 Beta 4 Seeded to Developers

macOS Sequoia 15 Beta 4 Seeded to Developers

Apple has seeded the next beta version of macOS Sequoia 15: beta 4. Like I did with the iPadOS/iOS beta 4 post, I'm going straight to the release notes from Apple and pulling out the new features.

These builds are massive, and I'm trying my best to comb through them!

App Store

  • Starting in macOS 15, the App Store no longer needs twice the space free for an initial app download and install. The free space requirement will now be the final install size of the app, plus a small buffer. Developers should consider this change in any messaging they might have around size requirements. (123838124)

Automation

  • To improve security, the process of allowing an application to control Finder has changed. Instead of a modal “Allow/Donʼt Allow” dialog, the attempt to control Finder fails, and a notification appears that directs the user to allow control in System Settings > Security & Privacy > Automation. (129086419)

Logging

  • By default, the sudo command in macOS does not have logging enabled. To enable logging for sudo, simply remove the line Defaults !log_allowed from sudoers configuration file. (126771963)

Maps

  • Introduced Place ID, a unique and persistent identifier. (129071038)

Quick Look

  • Support for deprecated Quick Look Generator plugins is being removed. To provide previews and thumbnails for your custom file types, migrate to Quick Look Preview Extension and Thumbnail Extension API. (116791365)

RealityKit

  • USD files which use Catmull-Clark subdivision now render using subdivision in RealityKit. Meshes which produce less than 35,000 patches can render using subdivision. This can increase memory consumption and reduce rendering performance. (129016034)
  • Virtual objects now render using the Display P3 color gamut. When using a Drawable Queue connected to a TextureResource with the .color semantic, render using the Display P3 color space. (129017592)

ScreenCaptureKit

  • Windows recorded using the new SCRecordingOutputConfiguration API will now have a new “Stop Recording This Window” menu item in the purple window menu to stop the windowʼs recording stream. (125112908)

StoreKit

  • macOS now supports in-app Offer Code redemption. Use StoreKit Testing in Xcode to ensure your app responds correctly when customers redeem a Mac App Store Offer Code. (60096251)

SwiftUI

  • SwiftUI sheets presented with the .sheet modifier now use .automatic sizing by default. .automatic resolves to .form or .form.fitted(horizontal:false, vertical: true) depending on the platform. (117551515)
  • Types conforming to the View protocol, and other similar SwiftUI protocols, are now isolated to the @MainActor by default. SwiftUIʼs runtime behavior with respect to actor isolation has not changed: SwiftUI views and similar types have always been evaluated on the main actor at runtime; this change improves compile-time diagnostics for potential data-race safety issues. To opt out of the new default main actor isolation and restore the previous default isolation, add the nonisolated keyword to methods and properties as needed, or move the protocol conformance to an extension to opt out the entire type. (120815051)

System Integrity Protection

  • To protect usersʼ privacy, app group containers (in ~/Library/Group Containers) are now protected by System Integrity Protection. This is similar to the protection added to app data containers in macOS Sonoma. An app thatʼs properly entitled for an app group continues to have access to the app group container. Specifically, the app must use FileManager to get the app group container path and meet one of the following requirements: the app is deployed through Mac App Store; the app group identifier is prefixed with the appʼs Team ID; or the app group identifier is authorised by a provisioning profile embedded within the app. If the app doesnʼt meet these requirements, the system might present the user a prompt to authorize the appʼs use of the app group container. If granted, that consent applies only for the duration of that app instance. This restriction also applies to app extensions, although in that case the system wonʼt prompt the user for consent but will instead just deny the access. (114586798)

Translation

  • Users can translate text and display results in app. See the TranslationSession class, and learn more in the WWDC24 video “Meet the Translation API.” (112844581)
  • Translation now supports translating Hindi in the Translate app, System-wide translation, Safari translation, and the new Translation APIs. (116622913)

Wallet

  • macOS now supports in-app Offer Code redemption. Use StoreKit Testing in Xcode to ensure your app responds correctly when customers redeem a Mac App Store Offer Code. (60096251)

WidgetKit

  • WidgetKit Simulator is now available. (126989860)