macOS Monterey 12 Beta Release Notes

 

Overview

The macOS 12 SDK provides support to develop apps for Mac computers running macOS Monterey 12 beta. The SDK comes bundled with Xcode 13 beta, available from Beta Software Downloads. For information on the compatibility requirements for Xcode 13, see Xcode 13 Beta Release Notes.

AppKit

AirPlay Receiver

Known Issues

  • AirPlay Receiver doesn’t appear in System Preferences > Sharing on unsupported hardware. (78170150)

App Extensions

Known Issues

  • App Extensions within apps built for iOS or iPadOS won’t launch. (78042681)

App Store

New Features in macOS Monterey 12 beta

  • StoreKit 2 introduces a modern Swift-based API that takes advantage of new language features like Swift concurrency. Use this API to load product information, display in-app purchases in your store, allow customers to make purchases, manage access to content and subscriptions, and receive transaction information signed by the App Store in JSON Web Signature (JWS) format. (66587964)

Known Issues

  • Client apps using the status listener don’t receive status updates. Changing the Product.SubscriptionInfo.Status of a subscription doesn’t invoke the listener. (78375457)

  • When calling latest(for:) on Transaction, or accessing the latestTransaction property on a Product value, the method called may not return the latest Transaction for the given productID. (78466898)

  • Subscription renewals aren’t automatically pushed to your app through the StoreKit 2 APIs in the App Store sandbox environment. Transaction and renewal information may not be immediately available. (78463355)

  • StoreKit APIs fail if the app is contained within ~/Library. (78470009)

    Workaround: In Xcode Preferences > Location, change the Derived Data setting to Custom, and choose a directory that isn’t contained in ~/Library.

Authentication Services

Known Issues

  • An app might become unresponsive when attempting to register a passkey soon after canceling a previous passkey request. (78294960)

    Workaround: Force quit and relaunch the app.

AVFoundation

Known Issues

  • iOS and iPadOS apps on macOS with resizable windows might unexpectedly display rotated images when viewing live camera previews, or when capturing stills and video. (76122102)

Bluetooth

Known Issues

  • Input devices might disconnect unexpectedly. (78421734)

    Workaround: Turn Bluetooth off and on. If the issue persists, restart your Mac.

Calendar

Known Issues

  • Calendar might quit unexpectedly when adding a FaceTime video call to an existing repeating meeting. (78280294)

Core Graphics

Known Issues

  • Images or thumbnails might exhibit an unexpected black or white grid overlay. (77994242)

Core Haptics

New Features in macOS Monterey 12 beta

  • QuickLook can display a visual representation of your Apple Haptic Audio Pattern (AHAP) files. In Finder, select the .ahap file and press the Spacebar to preview the pattern visually. (70462875)

Create ML

New Features in macOS Monterey 12 beta

  • Create ML is now supported for use in command-line tools. (40637430)

  • The new MLHandPoseClassifier allows you to train models to categorize static hand poses in an image. The new MLHandActionClassifier allows you to train models to categorize dynamic hand actions in video. (68738683)

  • The new Audio Feature Print-based MLSoundClassifier algorithm enables you to train sound classifier models faster, with higher accuracy, lower latency, and a smaller model size. This is now the default algorithm option for the MLSoundClassifier in Create ML. (70106630)

Known Issues

  • Using Xcode 13 beta to build your existing macOS app that links against Create ML implicitly fails with an undefined symbol error. The same failure also happens if you use Xcode 13 beta on macOS Big Sur 11 to create a new macOS app that links against Create ML. (74036054)

    Workaround: Explicitly link against the Create ML framework: In Xcode, select your target > Build Phase > Link Binary With Libraries > Add CreateML.framework, and then build your app.

Debugging

Known Issues

  • When running apps with the LIBDISPATCH_COOPERATIVE_POOL_STRICT environment variable set to 1, the process crashes in libdispatch. (78177966, 78184764)

Displays Preferences

Known Issues

  • Changing display resolution immediately after changing refresh rate might result in the system resetting the refresh rate to the previous value. (77992111)

    Workaround: Quit and relaunch System Preferences after changing the refresh rate of a display.

  • In Displays Preferences, option-clicking the Scaled radio button might not reveal the full list of available resolutions and refresh rates. (77866488)

    Workaround: Turn off Caps Lock before option-clicking the button.

Endpoint Security

Known Issues

  • When initializing a new EndpointSecurity client via es_new_client, a set of executable paths is automatically muted for a subset of AUTH event types to help reduce inadvertent negative impact to end users (for example, panics triggered by watchdogd due to clients not responding to AUTH events quickly enough). The set of muted paths and associated event types are inspectable using es_muted_paths_events. Although unmuting the AUTH events associated with these paths isn’t recommended, it’s possible to do so using es_unmute_path_events. (78405437)

FaceTime

Known Issues

  • Spatial panning of audio in Group FaceTime calls might not initiate when starting a call. (78537333)

    Workaround: Resize the FaceTime window.

Find My

Known Issues

  • You might be unable to remove, erase, or place a device into Lost Mode. (76912451)

    Workaround: Use iCloud Find instead.

Focus

Known Issues

  • Focus status in third party apps isn’t available. (75049369)

  • Autoreply isn’t functional. (77510470)

Foundation

New Features in macOS Monterey 12 beta

  • Foundation now includes an automatic grammar agreement engine. This simplifies your code and reduces the number of localized strings you need to provide by automatically inflecting localized strings to account for pluralization, grammatical gender agreement, and agreement with the user’s term of address. It is available for English and Spanish. (70210115)

  • Formatting APIs are now available, which focus on the format and remove the need to create, configure, and cache a formatter instance. Each Formatter type has a formatted function. These functions have arguments that allow for configuration and customization of the style. (70220307)

  • JSONSerialization and JSONDecoder now support decoding from JSON5. (73954652)

  • New SortDescriptorKeyPathComparator, and SortComparator APIs provide a Swift interface to express archivable rules for sorting values. (74264359)

Known Issues

Help

Known Issues

  • The sidebar doesn’t expand as expected when resizing the Help window. (78317786)

  • List items in the sidebar are incorrectly left-aligned instead of center-aligned when the sidebar is expanded. (78317877)

Home

Known Issues

  • Package Detection might not work, even though the “Package Detection” switch in camera settings is available. (78020938)

    Workaround: Update the operating system on your home hub device to the most recent beta.

iCloud

Known Issues

  • You might be unable to subscribe to an iCloud storage plan through the Hide My Email settings. (78112695)

    Workaround: Use System Preferences > Apple ID > iCloud > Manage > Buy More Storage, to subscribe to an iCloud plan.

  • Opening an Account Recovery Contact or Legacy Contact invitation link from Messages doesn’t display the invitation as expected. (78522143)

  • Choosing “Edit Message” during Account Recovery Contact and Legacy Contact setup generates an invalid invitation link. (78278107)

  • iCloud Private Relay settings might be unavailable. (78287769)

    Workaround: Sign into iCloud, then restart your Mac.

iWork

Known Issues

  • Opening a link to shared iWork document might cause Safari to load a blank page or become unresponsive. (76428696)

    Workaround: Install the corresponding iWork app and ensure that you have enabled iCloud Drive.

Language & Region

Known Issues

  • The user property of the Morphology type doesn’t currently reflect the selection made in System Preferences > Language & Region > Term of address. You can use the AppleUserMorphology default to test your app; for example, add the following argument to your app scheme to test as if the user selected a feminine term of address: AppleUserMorphology '{ "grammaticalGender" = "feminine"; }' (78230115)

  • Certain languages might display unlocalized text. (78476984)

  • Certain languages might exhibit clipped or misaligned layout. (78477103)

Lock Screen

Known Issues

  • Memoji isn’t animated as expected when set using the Apple ID pane in System Preferences. (76073287)

    Workaround: Set your Memoji using Contacts, or in System Preferences > Users & Groups.

Logging

New Features in macOS Monterey 12 beta

  • os_signpost(_:dso:log:name:signpostID:) from Swift as part of the framework OS on all platforms:

    • Instantiate OSSignposter using a subsystem and category, an existing OSLog object, or an existing Logger object.

    • The OSSignposter API provides methods for emitting signposts. beginInterval(_:id:) emits begin signposts, endInterval(_:_:) emits end signposts, emitEvent(_:id:) emits event signposts. These replace the existing os_signpost calls based on String and varargs.

    • The APIs support String interpolations for the metadata parameter. The String interpolations are the same as those accepted by the Logger APIs.

    • The OSSignposter API supports all formatting and privacy options — previously offered by the os_signpost functions — and follows the same syntax as the Logger APIs.

    • The APIs provide performance improvements over the legacy APIs.

    • The OSSignposter type provides a new scoped API for surrounding a block of code by begin and end signposts, withIntervalSignpost(_:id:_:around:).

    Note: These APIs are unavailable in iOS 14 and iPadOS 14 and earlier; however, the existing os_signpost API remains available. (54756831)

  • os_signpost(_:dso:log:name:signpostID:) from Swift is part of the framework operating system on all platforms:

    • Instantiate OSSignposter using a subsystem and a category, an existing OSLog object, or an existing Logger object.

    • The OSSignposter API provides methods for emitting signposts. OSSignposter.beginInterval emits begin signposts, OSSignposter.endInterval emits end signposts, and OSSignposter.emitEvent emits event signposts. These replace the existing os_signpost calls based on String and varargs.

    • The APIs support String interpolations for the metadata parameter. The String interpolations are the same as those accepted by the Logger APIs.

    • The OSSignposter API supports all formatting and privacy options — previously offered by the os_signpost functions — and follows the same syntax as the Logger APIs.

    • The APIs provide performance improvements over the legacy APIs.

    • The OSSignposter type provides a new scoped API for surrounding a block of code by begin and end signposts, OSSignposter.withIntervalSignpost. Note: These APIs are unavailable in iOS 14 and iPadOS 14 and earlier; however, the existing os_signpost API remains available. (54756831

Known Issues

  • For every process crash, macOS generates two crash logs. (76650102)

Mac Catalyst

New Features in macOS Monterey 12 beta

  • Users of iPad and iPhone apps on Macs with M1 may enable/disable the Touch Alternatives feature via the app’s preferences panel. This preference is automatically added to all iPad and iPhone apps on Macs with M1. The feature makes it possible to use the keyboard to simulate swipes, taps, and drags, as well as device tilt, and it maps touches from the trackpad directly into the app when the Option key is held down.

    • Developers can automatically enable this feature for their app by default, by adding a properly configured com.apple.uikit.inputalternatives.plist to the app bundle. An onboarding dialog is shown on first launch in this case.

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>defaultEnablement</key>    <true/>    <key>version</key>    <real>1</real>    <key>requiredOnboarding</key>    <array> <!-- Only include applicable features! -->        <string>Tap</string>        <string>Arrow Swipe</string>        <string>Scroll Drag</string>        <string>Tilt</string>        <string>Trackpad Capture</string>    </array></dict></plist>
    • Tailor the requiredOnboarding array to onboard the Touch Alternatives that only make the most sense for your app. While only the subset of features specified in the array is visually presented to the user during onboarding, all Touch Alternatives are active when enabled in this manner.

Known Issues

  • MusicKit can’t be imported alongside SwiftUI in a given Swift file for a Mac Catalyst app; however, Mac Catalyst apps built with UIKit aren’t affected. (78525134)

    Workaround: Isolate usage of MusicKit for Mac Catalyst in files that don’t import SwiftUI.

  • buttonSize has no effect. (74057477)

    Workaround: Use the UIBehavioralStylePad behavioral style if button size is non-negotiable.

  • Setting the title color of a UIButton doesn’t work regardless of whether you use baseForegroundColor or titleColorForState:. (76566253)

  • System buttons have a black background color if no color is set. (76910619)

    Workaround: Set a color, or if you want the system default color, request a button using the iOS 14 and Mac Catalyst 15 or earlier API: buttonWithType:.

  • Toolbar buttons that invoke actions handled by subclasses of UISplitViewController are never enabled. (78421561)

macOS Recovery

Known Issues

Mail

Known Issues

  • Enabling or disabling an app extension might not be reflected in the toolbar of newly opened compose windows. (76475807)

    Workaround: Quit and relaunch Mail.

  • MailKit APIs might unexpectedly appear available to Mac Catalyst; however, these are only supported in macOS. (78105388)

Maps

Known Issues

  • Maps might become unresponsive if you resize the window after clicking into the search bar. (78486298)

Deprecations

Messages

Known Issues

  • Clicking the reply bubble in a Business Chat conversation might produce unexpected results. (76702989)

    Workaround: Use Business Chat on iPhone.

Music

Known Issues

  • The share item might not appear in the contextual menu for songs and albums. (78037998)

  • You might be unable to play Lossless or Spatial Audio tracks via Siri. (78277808)

Networking

New Features in macOS Monterey 12 beta

  • The default Accept-Language header that URLSession sends has an updated format and corrected values for multiple locales. In addition to the preferred language, the header also includes the current system language as a fallback if it differs from the preferred language. This behavior effects apps with links against macOS Monterey 12, iOS 15, tvOS 15, and watchOS 8 SDKs. (38772422)

  • URLSession now includes async functions. (68890254)

    For example, a one-shot fetch:

    let (data, response) = try await URLSession.shared.data(from: URL(string: "https://www.apple.com")!)if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {    // Use data.}

    And support for an AsyncSequence stream of bytes:

    let (bytes, response) = try await URLSession.shared.bytes(with: URL(string: "https://www.apple.com")!)if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {    for try await line in bytes.lines() {        // Parse line.    }}

Deprecations

  • Support for cleartext HTTP URL schemes for Proxy Automatic Configuration (PAC) is now deprecated. Use only HTTPS URL schemes for PAC. This affects all PAC configurations including, but not limited to, configurations set via Settings, System Preferences, profiles, and URLSession APIs such as connectionProxyDictionary, and CFNetworkExecuteProxyAutoConfigurationURL(_:_:_:_:). If you configure a cleartext HTTP PAC URL, the system may upgrade it to HTTPS during PAC file loads. Web Proxy Auto-Discovery (WPAD) Protocol via DNS isn’t affected. Dynamic Host Configuration Protocol (DHCP) Option 252 WPAD may attempt to upgrade cleartext HTTP URLs to HTTPS during PAC file loads. (61981845)

Notes

Known Issues

  • The Quick Note hot corner can’t be configured from the Hot Corners sheet in Desktop & Screen Saver preferences. (77272604)

    Workaround: Configure the Quick Note hot corner using System Preferences > Mission Control > Hot Corners.

Photos

Known Issues

  • “Shared with You” might appear even when the Automatic Sharing switch in Messages is turned off. (78181276)

Python

Known Issues

  • A prompt informing you about the deprecation of Python 2.7 might appear multiple times, and the name of the app indicated in the prompt might be inaccurate. (78719958)

RealityKit

Known Issues

Deprecations

  • The output Combine publisher property for the message stream is deprecated. The PhotogrammetrySession.outputs property which uses the new Swift feature AsyncSequence replaces it. (78319158)

Safari

Known Issues

  • Safari might not load websites as expected when Hide IP address from trackers is on. (78529425)

    Workaround: Refresh the page, or uncheck Hide IP address from trackers under Safari > Preferences > Privacy.

  • Text in the Smart Search field might appear faded. (78407518)

Shazam

Known Issues

  • The songs property is only available when compiling against devices as an extension of SHMatchedMediaItem. (78589271)

Shortcuts

Known Issues

  • The Shortcuts command-line tool doesn’t support signing. (74999291)

  • Apps running under Rosetta 2 might become unresponsive if Shortcuts are enabled for the Services menu. (78134762)

  • Shortcuts isn’t scriptable. (78609585)

Swift

New Features in macOS Monterey 12 beta

  • AttributedString is now available with the same character-counting behavior as Swift string. It is fully localizable, and also includes support for Markdown, Codable, strongly typed attributes, and more. (27227292)

  • NotificationCenter includes the AsyncSequence API for receiving notifications using async/await. (74401384)

    for await note in NotificationCenter.default.notifications(named: .MyNote) {    // use note.}

SwiftUI

New Features in macOS Monterey 12 beta

Resolved in macOS Monterey 12 beta

  • Fixed an issue that occurred when creating a Color from a UIColor or an NSColor. This process now uses the explicit init(uiColor:) or init(nsColor:) initializers. Give preference to the Color standard-system colors over the equivalent from UIColor or NSColor. For example, use blue over the visually equivalent systemBlue. (73987059)

  • Fixed an issue that dispatched a callback for onAppear(perform:) and onDisappear(perform:) when any of the views in a group of multiple views appeared or disappeared. Now, when you apply them to a group of multiple views, onAppear(perform:) and onDisappear(perform:) only dispatch the callback each time the first view appears and the last view disappears. (75609476)

  • Fixed an issue with labeled views that distributed the space in the view equally between controls. When laid out horizontally, labeled views now prioritize displaying the label fully before distributing space to the rest of the controls. (74728764)

  • Fixed asset catalog images with the Preserve Vector Representation option set so the images work correctly when resized by re-rendering from their vector source. (49074629)

  • Symbol images in Widgets and watchOS complications are now redrawn from their vector outlines, avoiding pixellation. (50464514)

  • Updated BackgroundStyle and the new background modifier to include desktop tinting in Dark Mode as expected. (71062814)

  • Fixed keyboard shortcuts using an uppercase key so they no longer have an implicitly added ⇧ modifier. (68047066)

  • An app using the SwiftUI app lifecycle will no longer attempt to load the main storyboard file if one is set in the Info.plist file. (72819768)

  • Commands bodies are now automatically updated in response to changes in dynamic property values used in the body definition. Types like State and FocusedValue can now be used to create dynamic dependencies in command content. (64788135)

  • Fixed bordered buttons so they are clickable only by their label, not by the button chrome. (78192660)

  • Updated Sheets to dismiss using the proper animation. (66393848)

  • Fixed fileImporter and fileExporter to properly present when used in a Commands context. (77531659)

  • Fixed nested ScrollViews with orthogonal scrolling directions, like a horizontal ScrollView inside of a vertical ScrollView, to scroll as expected. (54849400)

Deprecations

  • Fn (Function) shortcut modifier is deprecated and reserved for system usage. (78627099)

Known Issues

  • If you create a Text view from an AttributedString that contains a morphology attribute and then interpolate the Text view inside a LocalizedStringKey, the attributes of the AttributedString don’t affect the displayed text. (78914478)

    For example:

    Text("\(Text(attributedString)) friend(s)")
  • AsyncImage in List sometimes cancels image downloads prematurely. (78187465)

  • TextField in a ForEach might update the incorrect text binding. (78168257)

  • Providing a binding to an OutlineGroup might require including wrappedValue in the init(_:children:content:) key path parameter, and won’t back-deploy to earlier releases. (77890799)

  • BorderlessButtonMenuStyle and BorderedButtonMenuStyle aren’t available as static members. Syntax such as .menuStyle(.button) doesn’t currently compile. (78606888)

    Workaround: Provide the initialized style type instead; for example, .menuStyle(BorderlessButtonMenuStyle()).

  • Focusing a view in a newly added List row using FocusState requires deferring the update to the focus state property to the next time the main runloop runs. (78607356)

TabularData

New Features in macOS Monterey 12 beta

  • TabularData is a new Swift framework you use to analyze and manipulate tabular data. You can use DataFrame to read CSV and JSON files, as well as join, group, and aggregate data. (69982458)

Translation

Known Issues

  • System-wide translation sends requests to the server, even if On-Device Mode is on. (75374469)

Virtualization

New Features in macOS Monterey 12 beta

  • Interfaces that previously took unsigned long long arguments or returned unsigned long long results have been updated to use the uint64_t type instead. (77291339)

Known Issues

  • VZVirtualMachine configured with an audio device terminates unexpectedly when audio begins. (77870970)

  • Docker might display a Linux kernel panic on launch. (78549867)

    Workaround: Don’t enable the new virtualization framework in Experimental Features. If Docker was already set up before updating to macOS Monterey 12 beta, choose “Reset Docker to factory defaults” when the Fatal Error appears.

WebKit

Known Issues