_AppIntents_HealthKit
NEWNew framework introducing AudioContext, which lets App Intents declare workout audio context — including activity type and a three-level intensity (low/medium/high) — for HealthKit-aware workout intents.
_Contacts_AppIntents
NEWNew private framework with no public API surface worth summarizing — only import declarations were added, with no developer-facing types, methods, or conformances.
_CoreLocation_SwiftUI
NEWMinor additions — new module-level imports added with no new public API introduced.
_CoreMotion_SwiftUI
NEWNew private framework with no public API surface — only imports are present.
_CoreSpotlight_FoundationModels
NEWThis is an entirely new framework introducing SpotlightSearchTool, a FoundationModels Tool-conforming type that lets an on-device language model execute Spotlight and file-system searches, with configurable content domains (audio, calendar, communications, documents, visual media), a pipeline of typed result stages (SearchPipelineData), and hooks for custom processing stages and contact resolution.
_FinanceKit_AppIntents
NEWNew private framework bridging FinanceKit with AppIntents, containing no public API beyond its module imports.
_FoundationModels_UIKit
NEWNew Attachment struct bridges UIKit image content into FoundationModels, with an initializer that accepts an image and orientation.
_MediaIntents_AppIntents
NEWNew framework introducing AudioSearch, a struct that bridges MediaIntents search queries with AppIntents for audio content.
_MediaPlayer_AppIntents
NEWNew framework introducing MPAppEntityIdentifier, an NSCoding-compatible type that bridges MediaPlayer entities into the AppIntents system.
_NowPlaying_AppIntents
NEWNew MediaContentRepresentable protocol added, requiring conformers to expose appEntityIdentifiers to bridge Now Playing media content into App Intents.
_RealityKit_ComputeGraph
NEWNew private framework (_RealityKit_ComputeGraph) introduced in full, exposing GPU compute graph simulation components for RealityKit entities — including ComputeGraphComponent (with play/pause/step/fast-forward controls), ComputeGraphResource (loaded from disk or built programmatically), and ComputeGraphSharedUniforms for passing Metal buffers, textures, and typed uniforms to the graph.
ComputeGraphRuntimeComponentprovides read-back of simulation outputs, andComputeGraphViewpointComponentsupplies per-frame view position/direction to the graph.ComputeGraphComponent.SimulationState(playing,paused,stepping) tracks execution state, withspawnmethods for element emission into the simulation.
_USDKit_RealityKit
NEWThis framework appears to be entirely new — all declarations are additions with no removals, introducing a complete USD playback and rendering integration layer for RealityKit.
USDPlayerprovides frame-by-frame USD stage playback with a structuredFrameUpdatediff model covering mesh, material, texture, and deformation additions/updates/removals.USDStageComponentadds a RealityKit component for embedding a USD stage with optional hit-testing, automatic rendering, and async render-result inspection viawaitForRenderComplete.
_UserNotifications_AppIntents
NEWUNMutableNotificationContent gains an appEntityIdentifiers property, allowing notification content to be associated with App Intents entities.
_Vision_FoundationModels
NEWNew framework that exposes Vision-backed FoundationModels tools — BarcodeReaderTool and OCRTool — allowing language model agents to invoke barcode reading and optical character recognition via the Vision framework.
AppIntentsTypeSupport
NEWNew framework that provides the type conversion layer between Swift value types (primitives, collections, Foundation types, CLPlacemark, and App Intents entity identifiers) and the App Intents runtime via new IntentValueConvertible, IntentValueExpressing, and IntentValueConvertibleWrapper protocols.
AppManagedFeatures
NEWNew framework introducing a device-management API that lets an app lock/unlock device features (FeatureManager), enforce software update requirements, and implement an activation extension lifecycle for enrollment flows.
FeatureManagerexposeslock(restrictions:),unlock(), andsetSoftwareUpdateRequirement(_:)for controlling app/web-domain restrictions and OS update deadlines.ActivationExtensionprotocol defines a check-in/activation lifecycle (willActivate,checkIn,didDeactivate) tied to device identity (serial number, IMEI, organization ID).
AVSystemRouting
NEWAVSystemRouting is a new iOS 27–only framework for discovering and connecting to system audio/video routes from an app, with support for bidirectional data channels and media session control.
- Apps create an
AVSystemRouteSession(with a URL and launch mode) and attach it to anAVSystemRoute, then callstart()/stop()to manage connectivity and receive aAVSystemRouteMediaSessionwith playback control and a data channel. AVSystemRouteController.sharedprovides a singleton observer interface that deliversAVSystemRouteEventcallbacks (activate/deactivate) when compatible routes appear or disappear.
ComputeGraph
NEWComputeGraph is an entirely new framework, introducing a GPU-driven node-graph simulation system (ComputeNodeGraph, ComputeGraphSimulation) for particle/element systems that runs on Metal.
ComputeNodeGraphprovides a full dataflow graph model with typed nodes, ports, edges, state, and a shader library, used to describe compute pipelines declaratively.ComputeGraphSimulationis the runtime that executes those pipelines, exposing methods to advance, spawn elements, set uniforms/buffers/textures, and control simulation rate.- Metal-side headers (
ComputeGraphTypes.h,ComputeGraphElement.h, etc.) expose C++/Metal structs for element state, output, emission, simulation, texture, and debug-draw contexts usable in GPU shaders.
CoreAI
NEWNew framework with no public API surface beyond its module imports.
CrashReportExtension
NEWThe CrashReportExtension framework is entirely new, providing a CrashReporterExtension protocol and supporting types that let extensions receive crashed-process information, symbolicate addresses, and return structured symbolication results.
- The
CrashedProcessclass exposes the crashed process's binary images, crash reason, and corpse port, along with methods to symbolicate individual or batched addresses. - Supporting value types (
BinaryImageInfo,CrashReason,SymbolicatedFrame) carry the structured data exchanged between the crashed process and the extension.
EnhancedLinkSecurity
NEWNew framework that lets apps request and query enhanced link security for URLs via a shared EnhancedLinkSecurityManager singleton.
MediaDevice
NEWNew framework that provides an extension point for implementing custom media output device routing, including device discovery, session management, volume control, and real-time audio/video streaming to external devices.
MediaIntelligence
NEWNew framework introducing on-device face grouping across image/video assets and video analysis (key frames, highlights) via FaceGroupAnalyzer, VideoAnalyzer, and a CoreData-backed MIDataStore.
FaceGroupAnalyzerlets apps insert media assets, cluster detected faces into persistent entities, and query faces by entity, asset, or bounds, with incremental update support viaupdate(subprogress:).VideoAnalyzerprovides a request/result protocol pair with concreteKeyFrameAnalysisRequestandHighlightAnalysisRequesttypes for frame-level and highlight-level video analysis.MIDataStoreand its CoreData-managedMIManagedFaceclass back the persistent face store, exposing error cases for invalid stores, missing models, and internal failures.
MediaIntents
NEWNew AudioSearch struct added, representing an audio search request with a Criteria enum (.searchQuery, .url, .unspecified) and a SpotlightResult type for entity-based results.
MusicUnderstanding
NEWNew framework — MusicUnderstanding is a new SDK framework that analyzes audio assets to extract musical metadata including key, rhythm, tempo (pace), loudness, song structure, and instrument activity via MusicUnderstandingSession.
MusicUnderstandingSessionaccepts anAVAssetor an audio provider and returns aSessionResultcontaining typed analysis structs for each requestedAnalysisType.- Musical results cover key signature (tonic + mode), rhythm (beats, bars, BPM), loudness (integrated/momentary/short-term/peak), structural segmentation (sections, phrases, segments), and per-instrument activity (vocal, bass, drum, other).
NowPlaying
NEWThe NowPlaying framework is entirely new in this SDK version, introducing a comprehensive typed API for managing Now Playing sessions, media content metadata, playback state, and remote session control.
- Apps can create a
MediaSessionand report richly typed content (music, podcast, movie, TV show, book, radio, etc.) along with aMediaPlaybackSnapshotand a full set ofMediaCommandhandlers for transport controls. RemoteMediaSessionand theRemoteMediaSessionExtensionprotocol enable an app extension to represent and control playback sessions running on other devices, including push-to-start token support and per-device volume capabilities.- Artwork can be provided as static
Artwork/ArtworkRepresentationor asAnimatedArtworkwith aspect-ratio variants, andMediaDevicedescribes the target output device by type (TV, car, speaker, wearable, etc.).
ScreenCaptureKit
NEWScreenCaptureKit is now available on iOS, visionOS, and tvOS (27.0), bringing live screen capture, recording, clip buffering, and the content-sharing picker to those platforms for the first time.
- A new
SCClipBufferingOutputclass lets streams continuously buffer video and export a recent clip on demand viaexportClipToURL:duration:. - A new
SCVideoEffectOutput(iOS 27 only) allows attaching a camera device to a stream to apply video effects. SCRecordingEditoris new across all platforms, providing a system UI for previewing or sharing a completed recording file.
SiriInferenceLearning
NEWNo meaningful API additions or removals — the diff contains only new internal import dependencies.
StateReporting
NEWNew framework introducing StateReporter, which lets apps report named-domain state transitions and associated metadata (stable and volatile) to the system via reportTransition(to:stableMetadata:volatileMetadata:) and reportVolatileMetadataUpdate(_:).
- Metadata values are typed using the new
ReportableMetadataValueenum, which supports string, integer, floating-point, and date payloads. - Custom metadata types can be defined by conforming to the
ReportableMetadataprotocol, which exposes a dictionary ofReportableMetadataValueentries.
SuggestedActions
NEWNew framework that surfaces a SwiftUI view (SuggestedActionsView) for displaying AI-suggested reply actions given a message thread, backed by SuggestedActionsMessage/Participant model types.
TrustInsights
NEWNew framework that provides on-device trust signal evaluation, exposing whether a user is likely being coached (e.g., by social engineering) via InsightEvaluator with authorization gating, per-operation-category context, and a consumption-reporting mechanism for downstream friction adjustment.
USDKit
NEWUSDKit is an entirely new framework, introducing a comprehensive Swift API for reading, writing, and observing Universal Scene Description (USD) stages, layers, prims, attributes, relationships, and variants.
- The framework covers the full USD object model:
USDStage,USDLayer,USDPrim,USDPrim.Attribute,USDPrim.Relationship, variant sets/specs, payloads, references, and typedUSDValue/USDTokentypes. - Stage and layer change observation is supported via
USDStage.Notice,USDStage.ObjectsDidChange, andaddObserver(for:using:). - A
StageKitPluginprotocol allows third-party plugins to register custom USD backends.
_AppIntents_SwiftUI
CHANGEDNew View modifier APIs (appEntityIdentifier, appEntityUIElements) allow views to expose App Entity identity and UI element metadata, likely to support App Intents interactions with SwiftUI content.
_AppIntents_UIKit
CHANGEDNew protocols (UICollectionViewAppIntentsDataSource, UITableViewAppIntentsDataSource) and companion properties on UICollectionView, UITableView, and UIView let you associate App Intents entity identifiers directly with collection/table items and views, enabling the system to map on-screen UI elements to app entities.
_AuthenticationServices_SwiftUI
CHANGEDNew DeliveredVerificationCodesManager type allows SwiftUI views to retrieve and consume one-time verification codes delivered to the device, accessible via a new deliveredVerificationCodesManager environment value.
_AVKit_SwiftUI
CHANGEDNo public API changes — only internal import removals (Combine and UIKit) with no additions or modifications to developer-facing declarations.
_ManagedAppDistribution_SwiftUI
CHANGEDMinor addition — the framework now imports UIKit.
_MapKit_SwiftUI
CHANGEDMinor additions — a new import dependency on _CoreLocation_SwiftUI was added to the framework.
_MarketplaceKit_UIKit
CHANGEDMinor conformance cleanup — EnvironmentValues extensions lost Sendable and SendableMetatype conformances, with no new API added.
_MusicKit_SwiftUI
CHANGEDA new music-picker API is available, with a musicPicker(isPresented:title:selection:) view modifier backed by a PickableMusicItem protocol and concrete Song, MusicVideo, and Track types.
_PassKit_SwiftUI
CHANGEDNew ApplePayMerchandisingView SwiftUI component lets apps display an Apple Pay merchandising surface with configurable amount, currency, region, action, style, and partner visibility controls.
_PermissionKit_SwiftUI
CHANGEDNo functional API changes — only internal conformance cleanup on EnvironmentValues.
_PhotosUI_SwiftUI
CHANGEDNew view modifiers let you control Photos picker metadata filtering and search text, and three new sheet modifiers support creating, customizing, and posting to shared albums.
photosPickerMetadataOptions(_:)andphotosPickerSearchText(_:)give programmatic control over what metadata the picker exposes and its pre-populated search query.- Three new shared-album sheet modifiers (
photosSharedAlbumCreationSheet,photosSharedAlbumCustomizationSheet,photosSharedAlbumPostingSheet) replace/supplement the existingpostToPhotosSharedAlbumSheetwith a more complete shared-album workflow.
_RealityKit_SwiftUI
CHANGEDThe module's transitive import set was significantly pruned, replacing numerous framework imports (AVFoundation, Metal, UIKit, simd, and others) with a single Spatial import.
_StoreKit_SwiftUI
CHANGEDMinor addition — a new offerCodeRedemption(options:isPresented:onCompletion:) view modifier adds an options parameter to the existing offer code redemption presentation API.
_SwiftData_CoreData
CHANGEDNSManagedObjectModel.makeManagedObjectModel(for:mergedWith:) has been removed with no replacement added in this diff.
_SwiftData_SwiftUI
CHANGEDThe @Query property wrapper gains support for sectioned results via new sectionBy: initializer variants and a sections property, enabling SwiftData queries to be grouped into sections directly in SwiftUI.
_WebKit_SwiftUI
CHANGEDNo public API changes.
AccessoryTransportExtension
CHANGEDNew pushToken property on AccessoryTransportSession enables sessions to access their push notification token.
ActivityKit
CHANGEDMinor additions — two new internal Darwin imports with no public API surface changes.
AlarmKit
CHANGEDNew AlarmConfiguration factory methods (alarm and timer) and a matching initializer add first-class support for scheduling countdown-timer alarms alongside calendar-based alarms.
AppIntents
CHANGEDA sweeping expansion of the AppSchema/AssistantSchemas system formalizes typed conformance protocols for intents, entities, and enums across ~20 app domains (Audio, Browser, Calendar, Mail, Photos, etc.), enabling third-party apps to integrate with Siri and Apple Intelligence using structured schemas.
- New protocols
LongRunningIntent,CancellableIntent, andIndexedEntityQuery(withperformBackgroundTask,withIntentCancellationHandler, and batch reindexing APIs) extend what intents can do during execution. IntentResponseStreamadds streaming output support (text, entities, files, Writing Tools output), andSyncableEntity/SyncableEntityIdentifierprovide a new model for syncing entities with stable cross-device identifiers.CVReadOnlyPixelBuffer,Duration,IntentPrompt,EntityCollection, andIntentValueRepresentationare new parameter/value types, broadening what data intents can accept and return.
ARKit
CHANGEDARKit adds object-tracking improvements and broadly marks most of its iOS-only API as unavailable on visionOS.
ARWorldTrackingConfigurationgains atrackingObjectsproperty (iOS 27) andenvironmentTexturingEnabled,ARObjectAnchornow conforms toARTrackablewith anisTrackedproperty, andARObjectScanningConfigurationis deprecated in favor of a new reference object format.ARReferenceObject's legacy scanning APIs (rawFeaturePoints,exportObjectToURL:,referenceObjectByMerging:, etc.) are deprecated through iOS 27, with a newusdzFileproperty added for the replacement format.ARFramegains ametadataObjectsproperty (iOS 27) exposingAVMetadataObjectresults from the camera feed.
Assignables
CHANGEDNew framework Assignables appears, importing CoreGraphics and UniformTypeIdentifiers.
AudioAccessoryKit
CHANGEDNew AudioAccessoryHeadTracking class (with Session and Handler protocols) enables accessories to integrate head-tracking data with spatial audio, alongside a new AccessorySensorUpdates async sequence for streaming sensor packets.
AccessoryControlDevice.ConfigurationandCapabilitiesgain head-tracking and audio-spatialization fields, plus aspatialExtensionDescriptionfor declaring spatial audio support.- A new
AudioAccessoryErrortype surfaces activation and data-size error conditions.
AudioToolbox
CHANGEDA new AUHeadTrackingBinauralRenderer Audio Unit (kAudioUnitType_HeadTrackingBinauralRenderer) is introduced on iOS 27 for head-tracked binaural rendering, exposing head-tracking state, enabled/disabled status, and the associated device UID.
- A new
kReverbRoomType_OutdoorGeneralreverb room type is added across iOS, macOS, tvOS, and visionOS 27.
AuthenticationServices
CHANGEDNew ASDeliveredVerificationCodesManager API lets credential provider extensions read and consume one-time codes delivered to the device, surfacing them as ASVerificationCode values with structured domain, timestamp, and error-handling support.
ASPasswordCredentialhas been removed from the Swift overlay (likely moved or replaced; existing code referencing it directly may need updates).ASOneTimeCodeCredentialgainsAS_SWIFT_SENDABLE, making it usable across Swift concurrency boundaries without casting.
AutomaticAssessmentConfiguration
CHANGEDmacOS assessment sessions gain extensive new configuration controls for UI elements, accessibility features, and environment requirements.
- New macOS properties let assessments granularly allow or block the Dock, menu bar (with per-item allow-lists via
AEAppleMenuItem/AEMenuBarItem), dictation, emoji keyboard, and a range of accessibility features (VoiceOver, Switch Control, Voice Control, Zoom, etc.). - New "enablement requirements" properties (
requiresManagedDevice,requiresSIP,requiresSingleUser,requiresUserAccountType) let an assessment enforce device/account conditions before a session can start. AEAssessmentParticipantConfigurationgains per-language input-method menu item allow-lists on macOS.
AVFAudio
CHANGEDAVFAudio gains a sweeping set of changes: a new AVAudioSession interrupt model with structured DidBecomeActive/DidBecomeInactive/ResumptionRecommendation notifications replacing the deprecated interruption notification/keys, new error-returning variants of AVAudioEngine connect and AVAudioPlayerNode play methods replacing the void/throwing-exception originals, and a new AVReadOnlyAudioPCMBuffer type for immutable audio buffer access.
AVAudioSinkNodeandAVAudioSourceNodegainRealtimeSafeblock-based initializers (C-only) for use on audio realtime threads, andAVAudioInputNodegainssetRealtimeSafeManualRenderingInputPCMFormat:inputBlock:for the same purpose.AVAudioUnitReverbaddsOutdoorGeneralpreset,AVAudioFormatdeprecatesinitWithCMAudioFormatDescription:in favor of a new nullableinitWithFormatDescription:, andAVAudioSessionInterruptionType/InterruptionOptionsenums are deprecated wholesale.activateWithOptions:completionHandler:is now available on iOS/tvOS/visionOS (not just watchOS), and a newdeactivateWithOptions:completionHandler:is added alongside structuredDeactivationContextandResumptionContextobjects.
AVFoundation
CHANGEDAVFoundation adds a sweeping new Swift-native API for sample buffer rendering, resumable asset export, and video writing planning, while deprecating nearly all of the old Objective-C-style equivalents in Swift.
AVSampleBufferAudioRendererandAVSampleBufferVideoRenderergain Swift-concurrency-nativeReceivertypes (attached viaAVSampleBufferRenderSynchronizer.sampleBufferReceiver(adding:)) that replace the oldenqueueSampleBuffer:,flush,requestMediaDataWhenReadyOnQueue:, and status/notification APIs, which are now deprecated in Swift.- A new
AVAssetWritingPlanner/AVAssetVideoTrackPlan/AVPlannedVideoSegmentWritingRequestcluster enables segment-by-segment, resumable video writing with VideoToolbox compression session integration;AVAssetExportSessiongainsconfigureForResumableExport()andResumptionStatefor the same purpose. - Other notable additions:
AVPlayerItemSampleBufferOutputfor pulling sample buffers from a player item,AVCaptureBroadcastVideoOutputfor broadcast-style capture,AVProVideoStorageandusesProVideoStorageonAVAssetWriter/AVCaptureMovieFileOutput,AVPlayer.setDisconnectedFromSystemAudio(_:completionHandler:), andAVExternalStorageDevice.reasonsNotRecommendedForCaptureUsereplacing the BooleanisNotRecommendedForCaptureUse.
AVKit
CHANGEDAVKit adds a new AVInterfaceControllable protocol family on iOS 27 that lets custom playback UIs drive an external controller object for playback state, time, media selection, volume, and metadata without subclassing AVPlayerViewController.
- A new
AVViewportproperty is exposed onAVPlayerViewControllerfor visionOS 27, enabling viewport-aware layout of player content. AVLegibleMediaOptionsMenuControllerand related types have their availability annotations corrected fromAPI_UNAVAILABLE(ios)toAPI_AVAILABLE(ios(26.4)), making the subtitles/captions menu controller usable on iOS.
AVRouting
CHANGEDThe entire AVCustomRouting* API family (AVCustomRoutingController, AVCustomDeviceRoute, AVCustomRoutingEvent, etc.) is deprecated as of iOS 27 in favor of new AVSystemRoute/AVSystemRouteController replacements.
AVRoutingPlaybackArbiter.preferredParticipantForNonMixableAudioRoutesis now available on iOS 27 (previously tvOS-only).
BackgroundAssets
CHANGEDBackgroundAssets gains a full localization system for asset packs, with BAAssetPackManifest now exposing language metadata and per-language pack filtering, and BAAssetPackManager gaining language-aware file access methods and a resolvedLanguage setting.
- The older
getAllAssetPacksWithCompletionHandler:andgetAssetPackWithIdentifier:methods are deprecated in favor of fetching aBAAssetPackManifestvia the newgetManifestWithCompletionHandler:. - A new
BAContentRequestLanguageChangecase lets background extensions respond to language-change events, andLocalAvailabilityErrorexposes per-pack success/failure detail when ensuring availability of multiple packs.
BackgroundTasks
CHANGEDMost of the BackgroundTasks framework is now available on watchOS (starting at watchOS 26), and the synchronous submitTaskRequest:error: method is deprecated in favor of a new async submitTaskRequest:completionHandler:.
BGTaskScheduler,BGTasksubclasses, and task request types gainwatchos(26.0)availability, bringing background task scheduling to watchOS for the first time.- The existing synchronous
submitTaskRequest:error:is deprecated (iOS/tvOS 27, watchOS 27) in favor ofsubmitTaskRequest:completionHandler:, which captures all error conditions asynchronously.
BrowserEngineCore
CHANGEDA new availability macro BROWSERENGINE_ACCESSIBILITY_AVAILABILITY_27 has been added for iOS/visionOS 27, expanding the set of platform guards for future accessibility APIs.
BrowserEngineKit
CHANGEDNew screen-capture process capability and expanded web content filtering APIs are the headline additions, alongside new accessibility properties for image data, orientation, keyboard shortcuts, and details elements.
BEProcessCapabilitygains ascreenCaptureWithEnvironment:factory and movesactivateWithError:/suspendWithError:directly onto the class (deprecating the same methods onBECapability).BEWebContentFilteradds richer URL evaluation methods that accept a main-document/main-frame URL and frame context, plus newrequestPermissionForURL:referrerURL:APIs returning aBEWebContentFilterPermissionDecision.NSObject (BEAccessibility)gains properties for image data (browserAccessibilityImageDataSize,browserAccessibilityImageData:), scroll orientation, keyboard shortcuts, and details elements.
BrowserKit
CHANGEDNew BEBrowserContentFilter class lets browser extensions evaluate URLs synchronously (via async callback) to decide whether to block them, available on iOS 27.
CarPlay
CHANGEDCarPlay adds a substantial new panel system for the map template, plus multi-stop routing support, EV charging station details, and enriched route metadata.
CPMapPanel/CPMapPanelSection/CPMapPanelItemintroduce a new slide-up panel UI forCPMapTemplate(show/push/pop/hide), andCPNavigationSessiongains anoptionsPanelproperty to surface it during active navigation.- Multi-stop routing arrives via new
CPMapTemplateDelegatecallbacks,CPMultiStopCardConfiguration, andCPNavigationSession.resumeNavigation(updatedTrip:routeSegments:currentSegment:rerouteReason:). CPRouteDetailprovides rich per-route metadata (tolls, fuel, battery, eco score, emissions, etc.) now embeddable inCPTravelEstimatesandCPRouteChoice.
Charts
CHANGEDCharts introduces its own ViewBuilder, EmptyView, and TupleContent types to replace the previously used ForEach-based chart content construction, removing the two ForEach.init overloads that served that role.
Cinematic
CHANGEDNew CNImageRenderingSession class enables direct cinematic-mode rendering from raw RGBA and disparity textures via Metal command buffers, without requiring a full CNRenderingSession asset-playback pipeline.
CloudKit
CHANGEDSeveral existing CKDatabase and CKContainer completion-handler methods have been converted from NS_SWIFT_ASYNC_NAME to NS_REFINED_FOR_SWIFT_ASYNC, which changes how their Swift async wrappers are generated and allows the new hand-written async overloads added in this release to take precedence.
- A new
CKAsset.ExportedAssetIDtype andCKAsset.init(importing:)initializer have been added, enabling import/export of asset identifiers. CKShareParticipantgains an explicitisEqual(_:)implementation.
ColorSync
CHANGEDVersion constant bumped from 0x1A010000 to 0x1B000000; no API additions or removals.
Contacts
CHANGEDMinor addition — a new debugDescriptionForName(_:) method on CNContact for debug-formatting a contact's name.
ContactsUI
CHANGEDNew CNContactSavedAutoFillDetailsController class lets apps check whether to surface an AutoFill prompt for a saved contact.
CoreAudio
CHANGEDTwo headers (AudioHardwareBase.h and AudioServerPlugIn.h) are newly exposed in the iOS SDK, and AudioServerPlugIn.h adds AudioServerPlugInRegisterMediaDeviceExtension, an iOS 27-only API that lets a plug-in register as a media device extension with an optional interruption handler.
AudioHardwareBase.hbrings the full set of Audio HAL object/device/stream/control property selectors and constants to iOS, enabling lower-level audio hardware introspection previously limited to macOS.AudioServerPlugIn.hexposes theAudioServerPlugInDriverInterfaceandAudioServerPlugInHostInterfaceCOM-style vtable contracts on iOS, allowing audio server plug-in drivers to be implemented or linked against on the platform.
CoreBluetooth
CHANGEDCoreBluetooth adds Channel Sounding support on iOS 27, enabling distance measurement between Bluetooth peers via new CBChannelSoundingSessionConfiguration/CBChannelSoundingProcedureResults types, startChannelSoundingSession:/cancelChannelSoundingSession on CBPeripheral, and two new error codes for configuration and procedure failures.
CoreData
CHANGEDCoreData adds a typed-message API that wraps all existing Core Data notifications (save, merge, objectsDidChange, remote change, CloudKit events, etc.) as strongly-typed Swift structs conforming to a new MessageIdentifier protocol, replacing the untyped userInfo dictionary pattern.
NSPersistentHistoryTokengainsNS_SWIFT_SENDABLE, making it safe to pass across concurrency boundaries without a wrapper.
CoreFoundation
CHANGEDThe entire CFPlugInInstance API family is deprecated in favor of UUID-based plugins.
CFErrorRefbridge annotation changed fromCF_BRIDGED_TYPEtoCF_BRIDGED_MUTABLE_TYPE, reflecting thatNSErrorbridging is mutable.kCFCoreFoundationVersionNumberis now declaredconst.
CoreGraphics
CHANGEDCGColor and CGColorSpace gain Codable support with explicit CodingKeys, and CGInterpolationQuality gets a debugDescription.
- The
CGToneMappingenum cases now carry individualAPI_AVAILABLEannotations with explicit raw values instead of a single enum-level annotation. - Parameter labels in
CGColorConversionInfoCreateForToneMappingwere renamed fromfrom/totosource/target(source-compatible change).
CoreImage
CHANGEDNew CIRenderInfo properties expose planned pixel, pass, and memory metrics for render tasks, and CIImageProcessorKernel gains tiled-output support and temporary surface/pixel-buffer allocation during processing.
- Three new
CIImageOptionkeys (kCIImageSubsampleFactor,kCIImageTypeIdentifierHint,kCIImageUseHardwareAcceleration) control image loading behavior on iOS/macOS 27. CIRAWFilteradds adespeckleproperty pair and asupportedCameraModelsWithVersion:class method for version-scoped camera model queries.- Numerous APIs previously marked available at iOS 19/macOS 16 have been rebased to iOS/macOS 26, which may affect deployment-target guards in existing code.
CoreLocation
CHANGEDCLLocationManager.headingOrientation is deprecated in favor of a new headingBody property that accepts a CLBodyIdentifiable object to identify which physical body the heading should be computed relative to.
CoreMedia
CHANGEDNew typed Swift APIs for CMSampleBuffer and CMBlockBuffer attachments, replacing stringly-typed dictionaries with strongly-typed enums (CMDroppedFrameReason, CMStillImageLensStabilization) and typed attachment key namespaces (CMSampleBufferAttachmentKeyDefinitions, CMBlockBufferAttachmentKeyDefinitions).
- A new
kCMFormatDescriptionLogTransferFunction_AppleLog2constant and SMPTE 2094-50 metadata identifiers/data types are added for HDR and immersive media workflows. - New
kCMMetadataBaseDataType_MacRomanandkCMMetadataBaseDataType_ISOLatin1base data type constants are added for legacy text encoding support.
CoreML
CHANGEDDiagnostic suppression added around the MLModelConfiguration (MultiFunctions) category declaration to silence a duplicate-category warning — no functional API changes.
CoreMotion
CHANGEDNew CMRecordedDeviceMotion class and CMBodyIdentifiable protocol enable recording device motion data with timestamps and associating a body identity with motion sessions via CMMotionManager.deviceMotionBody.
CMDeviceMotiongains aheadingAccuracyproperty (iOS 27).CMWaterSubmersionManagerDelegatemethods are now all@optional, removing the previous requirement to implement all delegate callbacks.
CoreNFC
CHANGEDThree new NFCReaderError codes cover location-permission and availability failures for the payment tag reader session introduced in iOS 26.6.
CoreSpotlight
CHANGEDA new SearchableItemAttribute option-set type provides a Swift-native way to reference all Spotlight metadata attribute keys, and a new CSSearchableIndexDescription class (iOS/macOS 27) exposes index metadata including file protection class.
CSSearchableIndexgains aprotectionClassproperty and a new delegate methodsearchableItemsForIdentifiers:protectionClass:(iOS/macOS 27) to scope item lookups by data protection level.- watchOS is now explicitly marked unavailable (
API_UNAVAILABLE(watchos)) across the entire framework, formalizing a restriction that was previously unenforced.
CoreTelephony
CHANGEDA new CTQuickSwitchManager class is introduced for monitoring and querying "quick switch" carrier state (active, passive, not enrolled, failed), along with a delegate protocol for state-change callbacks.
CTTelephonyNetworkInfogains a typedRadioAccessTechnologyDidChangeMessagestruct and aMessageIdentifierprotocol, providing a structured replacement for the string-based radio access technology change notification.CTSlicingManager.AppCategoryadds two new cases:browsersandmissionCritical.
CoreTransferable
CHANGEDNo meaningful API changes — only internal logging imports were added.
CoreVideo
CHANGEDCoreVideo adds a comprehensive Swift-native attachment API, introducing typed protocols (CVAttachmentValueRepresentable, CVAttachmentKeyDefinitions), strongly-typed key/value structs for all standard image-buffer attachments (color primaries, transfer functions, chroma field, clean aperture, ProRes RAW metadata, etc.), and CVAttachmentAccess/CVAttachmentContainer for type-safe read/write of pixel buffer attachments without raw CFString keys.
kCVImageBufferHorizontalDisparityAdjustmentKeyis newly exposed in the C header (backfilled availability to iOS 17/macOS 14).- IOSurface header inclusion logic is simplified in
CVBase.handCVPixelBufferIOSurface.h, removing theCOREVIDEO_USE_IOSURFACEREFconditional and consolidating onIOSurfaceRef.h.
CryptoKit
CHANGEDML-KEM and X-Wing hybrid KEM algorithms gain OneTimePrivateKey types for post-quantum key encapsulation, alongside a new KEMOneTimePrivateKey protocol unifying the encapsulate/decapsulate interface.
SymmetricKey,AES.GCM.Nonce, andChaChaPoly.Noncegain new initializers and raw-byte accessors for safer key/nonce construction and inspection.- AES-GCM and ChaCha20-Poly1305 add in-place seal/open variants, and HKDF gains explicit extract/expand steps for more granular key derivation control.
CryptoTokenKit
CHANGEDNew TKSmartCard.send(ins:p1:p2:data:le:) method provides a direct way to send APDU commands to a smart card without manually constructing the command data buffer.
DataDetection
CHANGEDDataDetector.Match and its nested types gain Codable and Hashable conformances, and Match gets a new public memberwise initializer.
DeclaredAgeRange
CHANGEDNo meaningful API changes — only internal conformance removals on EnvironmentValues that do not affect typical client code.
DeveloperToolsSupport
CHANGEDNew PreviewArguments struct added to support parameterized preview configuration.
DeviceDiscoveryExtension
CHANGEDThree media playback properties on DDDevice (mediaPlaybackState, mediaContentTitle, mediaContentSubtitle) are deprecated in favor of the new MediaDeviceExtension API.
DeviceDiscoveryUI
CHANGEDNew DiscoveryViewWrapper SwiftUI view type added, providing a wrapper around the existing discovery view for use in SwiftUI contexts.
EnergyKit
CHANGEDEnergyKit adds substantial new EV charging intelligence, including a new ElectricVehicleStatusEvent type tracking plug state, charging status, state-of-charge, and estimated range, plus ElectricVehicleChargingReason enums that describe why charging started or paused.
- EV load events gain a
PerformanceMetricsstruct (estimated range, battery temperature) and adeviceNameproperty, while HVAC load events similarly gaindeviceName. - A new
ElectricalLoadDevicetype with aDeviceTypeenum (electricVehicle,hvac) provides a common device model across load event types.
EventKit
CHANGEDEventKit now imports CoreML as a dependency.
ExposureNotification
CHANGEDThe entire ExposureNotification framework is deprecated as of iOS 27.0, with all API availability macros marked API_DEPRECATED("No longer supported.").
ExtensionFoundation
CHANGEDExtensionFoundation now imports the UniformTypeIdentifiers framework, making UTType available within extension contexts without a separate import.
ExternalAccessory
CHANGEDEAAccessoryManager gains structured message types (AccessoryDidConnectMessage and AccessoryDidDisconnectMessage) for observing accessory connection events, replacing the previous notification-based approach with a typed messaging API built around a new MessageIdentifier protocol.
FamilyControls
CHANGEDNo meaningful API changes — only Swift concurrency isolation adjustments on existing Label extensions and constructor.
FileProvider
CHANGEDNSFileProviderNamespacePolicy is added to control per-item materialization behavior (inherited, lazy, or eager), but is currently marked unavailable on all platforms.
Foundation
CHANGEDNew ProgressManager/ProgressReporter API provides a structured, Swift-native alternative to NSProgress for tracking and composing hierarchical progress.
NSBundleResourceRequestand the On-Demand Resources API are deprecated in favor of Background Assets.NSError's zero-argumentinit/+neware deprecated, requiring callers to useinitWithDomain:code:userInfo:explicitly.Data'swithUnsafeBytes,withUnsafeMutableBytes, and related buffer-access methods have been updated to support typed throws (droppingrethrowsin favor of a genericE: Errorconstraint).
FoundationModels
CHANGEDThe framework has been substantially redesigned: SystemLanguageModel.Adapter and the init(adapter:guardrails:) initializer are removed, replaced by a new LanguageModelExecutor protocol-based architecture with concrete SystemLanguageModel.Executor and new PrivateCloudComputeLanguageModel types.
- Image input is now supported via
Transcript.ImageAttachment,Attachment, andImageReference, with CoreImage/CoreVideo/ImageIO imports added. - Sessions gain
DynamicInstructions/DynamicProfileresult-builder systems,ContextOptionswith configurableReasoningLevel,ToolCallingMode, and per-session token usage tracking. LanguageModelErroris reorganized into a typed enum replacing the previousGenerationErrorstructure, andLanguageModelSession.Erroradds cases forconcurrentRequestsandtranscriptMutationWhileResponding.
GameController
CHANGEDNew GCSpatialAccessory class adds visionOS 27 support for spatial input accessories, and a new GCControllerHomeButtonSettingsManager class lets apps read and redirect the controller home button action on macOS/iOS/visionOS.
GCSystemGestureStateAlwaysReceiveis deprecated in favor ofGCSystemGestureStateDisabled(with a fixed raw value of 2, so the enum order changed — existing code using raw integer comparisons will break).GCHapticsLocalityconstants are moved to a newGCDeviceHapticsLocality.hheader split fromGCDeviceHaptics.h.
GameplayKit
CHANGEDVersion constant bumped to 102000004 with no API additions or removals.
GroupActivities
CHANGEDNew GroupActivityMetadata.ActivityType.playTogether case added for classifying group activities.
HealthKit
CHANGEDHealthKit adds a full workout zones API, letting apps configure heart-rate (or other quantity) zones per workout, track time spent in each zone live via HKLiveWorkoutZoneUpdate, and read zone history from completed HKWorkout/HKWorkoutActivity objects.
- Two new women's health data points are added:
HKCategoryTypeIdentifierMenopausalStatewith aHKCategoryValueMenopausalStateenum, andHKCategoryTypeIdentifierBleedingAfterMenopause. HKWorkoutActivityTypehas been moved to its own header (HKWorkoutActivityType.h) with explicit raw values assigned to every case; no values changed, but the enum now also declaresHKWorkoutActivityTypeRestandHKWorkoutActivityTypeGroupas unavailable placeholders.
HomeKit
CHANGEDSeveral HomeKit accessory-setup classes (HMAccessorySetupManager, HMAccessorySetupRequest, HMAccessorySetupResult, HMAccessorySetupPayload, HMAccessoryOwnershipToken) are now available on macOS and Mac Catalyst, expanding the framework's platform reach.
HMAccessorySetupManagergains a class-levelisSupportedproperty (iOS 27/macOS 27) to allow runtime capability checks.HMUserFailedAccessoriesKeyis deprecated as of iOS/watchOS/tvOS 27 and macCatalyst 27 with no replacement.
IdentityDocumentServices
CHANGEDNew APIs allow document requests and registrations to specify issuer key identifiers, enabling finer-grained trust/authority filtering when presenting or registering mobile documents.
ImageIO
CHANGEDNew kCGImageSourceAllowableTypes option lets callers restrict which image formats CGImageSource will accept when decoding.
ImagePlayground
CHANGEDNew ImagePlaygroundOptions properties let callers control the creation strategy (automatic, editExisting, generateNew) and target size when presenting the image playground UI.
- The
imagePlaygroundSheetSwiftUI modifiers gain new variants withonAdaptiveImageGlyphCreationcallbacks and accept either aUIImageor a URL as the source image. ImagePlaygroundStylegainsanyandemojistyle options.
ImmersiveMediaSupport
CHANGEDTwo new presentation command types — ShotFlipCommand and SetCameraCommand.Overrides — add support for shot-flip transitions and per-camera lens/mask/rotation overrides in immersive media sequences.
PresentationDescriptorReadergainsisShotFlipped,cameraOverrides, and newmetadataItem/metadataTrackmethods to read these properties from a presentation.PresentationCommandadds ashotFlipcase to route the new command type through existing command dispatch.
JavaScriptCore
CHANGEDThe JSC_CF_ENUM macro gains a C++ branch that emits a plain enum declaration instead of typedef CF_ENUM(...), fixing a compatibility issue when the header is included from C++ translation units.
JournalingSuggestions
CHANGEDMinor addition — the framework now imports _CoreLocation_SwiftUI as a dependency.
ManagedAppDistribution
CHANGEDManagedApp gains a licenseAgreementText property to expose the app's license agreement string.
MapKit
CHANGEDTwelve new MKPointOfInterestCategory values were added (including airportTerminal, automotiveDealership, scenicView, visitorCenter, restArea, and others), expanding the set of filterable POI categories.
Matter
CHANGEDFour new provisional cluster types are added (Humidistat, AmbientContextSensing, ProximityRanging, NetworkIdentityManagement), along with new provisional attributes across several existing clusters and three new transport types on MTRTransportType.
- Several existing clusters gain new provisional attributes: BasicInformation and BridgedDeviceBasicInformation get
DeviceLocation; GeneralDiagnostics getsDeviceLoadStatus; GroupKeyManagement getsGroupcastAdoption; SmokeCOAlarm getsUnmounted; OperationalState gets Apple-specificAppleOperationCompleted/AppleOperationStartTime; OccupancySensing getsPredictedOccupancy; AppleDeviceInformation getsNeedsAdditionalConfiguration. - The Groupcast cluster's
expireGracePeriodcommand is replaced bygroupcastTesting, several struct fields are renamed (keyID→keySetID, removinggracePeriod), andMTRGroupcastClusterExpireGracePeriodParamsis removed — callers must update. MTRDeviceControllerDelegateandMTRCommissioningDelegateadd a newcontext:variant ofcommissioningComplete:nodeID:metrics:, and the old metrics-only variant is deprecated with replacement.
MediaAccessibility
CHANGEDA new kMACaptionAppearanceDomainVideoConferencing domain value has been added to MACaptionAppearanceDomain, allowing caption appearance settings to be scoped specifically to video conferencing contexts.
MediaPlayer
CHANGEDNew MPNowPlayingInfoPropertyAppEntityIdentifiers property key allows apps to associate App Intents entity identifiers with the current Now Playing item.
MediaToolbox
CHANGEDNew MTAudioProcessingTapCreateWithPreferredFormat API lets callers specify a preferred CMAudioFormatDescription when creating an audio processing tap, giving control over the audio format the tap receives.
Messages
CHANGEDNew MSUPIRequest class allows sending UPI (payment) requests directly from a Messages extension, providing a validation token and recipient list and delivering the request via sendWithCompletionHandler:.
MessageUI
CHANGEDTwo new view controllers expand the framework's capabilities: MFComposeAssistantViewController is a new mail-composition UI that returns a structured MFMailDraft object to its delegate, and a new WritingAssistant class plus MessageIdentifier protocol are added on the Messages side.
MFMailDraftis a new value type carrying the composed email's subject, body, recipients, and sender, returned via theMFComposeAssistantViewControllerDelegatecallback instead of being sent directly.MFMessageComposeViewControllergains a typed notification (TextMessageAvailabilityDidChangeMessage) for observing SMS availability changes.
Metal
CHANGEDTensors gain multi-plane support (scales plane alongside data plane) with new MTLTensorPlaneType, MTLTensorAuxiliaryPlaneDescriptor, and MTLTensorBufferAttachments APIs, enabling block-scaled low-precision formats (Float8, Float4E2M1, Int2/UInt2) introduced alongside.
- Several macOS-only APIs are deprecated as inapplicable on Apple Silicon:
MTLStorageModeManaged,synchronizeResource,didModifyRange,isLowPower/isHeadless/isRemovable,depth24Stencil8PixelFormatSupported, and theDeviceRemovederror codes. MTLGPUFamilyMac2,Common1/2/3GPU families are deprecated with replacement guidance pointing to equivalentMTLGPUFamilyAppletiers.- Metal Shading Language version 4.1 (
MTLLanguageVersion4_1) is added.
MetalFX
CHANGEDAcross the temporal scaler, temporal denoised scaler, and frame interpolator, MetalFX gains per-texture content offset/size properties to support subrect rendering, plus distortion texture support and explicit world/view/clip matrix inputs for frame interpolation.
reactiveTextureUsageis deprecated on both the temporal scaler and denoised scaler in favor ofreactiveMaskTextureUsage, requiring a rename in existing code.- The temporal scaler adds
outputResolutionMotionVectorsEnabledandjitteredMotionVectorsEnabledflags to give finer control over motion vector interpretation.
MetalPerformancePrimitives
CHANGEDLarge expansion of matmul2d backend implementations targeting a new deployment target (27.0), adding hundreds of type-combination run kernels (f16/f32/i8/ui8 across device, threadgroup, and cooperative memory) and copy/move-construct operations for cooperative tensor operands.
- The type-checking trait used to gate
matmul2dtemplate overloads changed from__is_thread_addrspace_vto__is_unqualified_v, broadening the set of element types accepted by the API. - A
__TENSOR_OPS_SUPPORT_DEPLOYMENT_TARGET_27_0availability macro was added, gating the new cooperative tensor copy/move-construct entry points.
MetalPerformanceShaders
CHANGEDTwo new top-level additions land: MPSFColorConversion (a color-space conversion kernel with configurable precision and channel options) and MPSFunction (a wrapper for Metal shader functions), both part of the new MPSFunctions sub-framework now included in the umbrella header.
- Four new
MPSDataTypecases (float4e2m1,float8e4m3,float8e5m2,float8e8m0) add support for microscaling and 8-bit floating-point data formats. MPSNDArrayUnaryKernelandMPSNDArrayMultiaryKernelgainencode(withMTL4CommandEncoder:…)variants, andMPSNDArrayIdentitygains a conveniencereshape(withSourceArray:shape:)method.
MetalPerformanceShadersGraph
CHANGEDMPSGraph and MPSGraphExecutable gain MTL4CommandQueue-based execution methods, and a new MPSGraphSDPADescriptor type enables richer scaled dot-product attention configuration (causal masking, sink tokens, explicit scale).
- Graphs can now be run asynchronously via Metal 4 command queues (
runAsync(on:…)overloads on bothMPSGraphandMPSGraphExecutable), excluding simulator targets. disableAutoLayoutConversionis added toMPSGraphCompilationDescriptor, giving explicit control over automatic NHWC layout conversion introduced in the previous release.
MetricKit
CHANGEDMetricKit has been substantially redesigned with a new Swift-native API that deprecates virtually the entire existing MX-prefixed Objective-C surface.
- The new API centers on
MetricManager,MetricReport,MetricResult,DiagnosticReport, andDiagnosticResult— Swift structs replacingMXMetricManager,MXMetricPayload,MXDiagnosticPayload, and their associated metric/diagnostic classes. - A new state-reporting system is introduced via
StateReportingDomain,MetricManager.ReportedState, andMetricReport.StateEntry, allowing metrics to be segmented by app-defined state. - Every major
MX-prefixed class (MXMetricManager,MXMetric,MXDiagnostic,MXCallStackTree, etc.) is now formally deprecated with a replacement pointer to the new Swift types.
MultipeerConnectivity
CHANGEDThe entire MultipeerConnectivity framework has been deprecated in favor of Network Framework, with API_DEPRECATED annotations added to every public class, protocol, enum, and constant across all headers (effective iOS 27.0 / macOS 27.0 / tvOS 27.0).
MusicKit
CHANGEDNew item(for:) method on MusicCatalogResourceResponse allows looking up a specific resource by identifier.
NearbyInteraction
CHANGEDNearbyInteraction gains Bluetooth Channel Sounding support and several DL-TDOA measurement enhancements in iOS 27.
NIDLTDOAConfigurationgains adiscoveryMethodproperty (Wi-Fi or BLE) andNIDLTDOAMeasurementgainsfloorElevation,clusterInitiatorAddress, andresponderClockFrequencyOffsetfields.- A new
NIMotionActivityStateenum andNISession.updateMotionState(_:forObjectWithToken:)method let apps report whether a nearby peer is stationary or moving. NIDeviceCapabilityaddssupportsBluetoothChannelSoundingto check hardware eligibility.
Network
CHANGEDNetworkChannel gains three new async update handlers (onPathUpdate, onViabilityUpdate, onBetterPathUpdate) enabling Swift-concurrency-native path monitoring on connections.
nw_link_quality_t's raw value type narrows fromUInt32toUInt8, which is a breaking change for any code that stores or passes the raw value asUInt32.- A new
nw_tcp_set_max_pacing_ratefunction allows capping the TCP send pacing rate on a connection. NWProtocolFramer.Instance.prependApplicationProtocolIgnoringReady(options:)adds a way to inject a protocol layer without waiting for the ready state.
NetworkExtension
CHANGEDNEPacketTunnelNetworkSettings gains fine-grained per-IP-family traffic routing controls (includeAllNetworks, excludeLocalNetworks, enforceRoutes, and exclusions for APNs/cellular/device communication) via a new IPFamily enum.
NEURLFilterManageradds aParsingConfigurationtype with detailed URL-component parsing options, plus reporting configuration (reportEndpoint,reportFormat,reportInterval) supporting JSON and protobuf formats.- IKEv2 TLS 1.3 is now a supported minimum TLS version via
NEVPNIKEv2TLSVersion.version1_3. NEAppPushManageraddsmatchMissionCriticalServiceto match push provider activation on mission-critical network services (iOS only).
OpenGLES
CHANGEDThe extern "C" block in all three ES headers (ES1, ES2, ES3) has been moved to wrap only the function declarations rather than the entire header, so #define constants are no longer inside the C linkage block when compiled as C++.
PaperKit
CHANGEDPaperKit is a new framework introducing a complete markup annotation system for documents, centered on a Markup protocol with concrete types for strokes (PKStroke), images (ImageMarkup), links (LinkMarkup), loupes (LoupeMarkup), and shapes (ShapeMarkup).
ShapeMarkupsupports seven shape types (rectangle, ellipse, line, arrow, star, polygon, chat bubble) with fill/stroke styling, line markers, and attributed text labels.MarkupAdornmentlets you attach anchored, draggable overlay views (with image configurations) to markup elements, with a delegate API onPaperMarkupViewControllerfor tap and drag callbacks.PaperMarkupViewControllergains aScrollConfigurationtype for controlling scroll/zoom behavior, aselectionproperty, and anadornmentFrame(for:)query method.
PassKit
CHANGEDThe deprecated PKPaymentNetworkBancomat/PKPaymentNetworkPagoBancomat deprecation direction has been reversed (Bancomat is now deprecated in favor of PagoBancomat), correcting a prior mistake.
PKPaymentRequestgainsunsupportedPrimaryAccountIdentifiersto explicitly exclude specific account tokens from payment flows.PKAddCarKeyPassConfigurationaddsvehicleIdentifier,ownerPairingToken, andregionproperties for car key provisioning.PKIdentityDocumentDescriptorgainsissuerIdentifiersfiltering andPKIdentityElementgains a combinednameElement, expanding identity document request capabilities.
PDFKit
CHANGEDNew cross-platform abstraction macros added to PDFKit's platform shim header for touch, gesture recognizers (tap, long-press, pan), table/combo-box views, and layout direction — no public API surface changes.
PencilKit
CHANGEDNew PKStrokeRecognizer class enables on-device handwriting recognition and text search directly on PKDrawing strokes without leaving the PencilKit framework.
- Strokes gain stable
UUID-based identity,renderGroupID, and a newPKStrokeRenderState(grain offset) to support richer rendering and selection workflows, including a newselectedStrokeIDs/selectionproperty onPKCanvasView. PKStrokePathadds abezierRepresentation, a bezier-path-based initializer with a point-provider callback, and asubpathWithRange:method, while the olderenumerateInterpolatedPointsblock methods are deprecated in Swift in favor ofinterpolatedPoints(in:by:).PKContentVersionbumps to version 5 (latest) andPKStrokePointgains alateralJitterproperty.
Photos
CHANGEDNew asset properties for star ratings (PHAssetRating), adjustments state, original resource choice (RAW vs. compressed), and animation subtype are added in iOS/macOS 27, alongside a new PHPhotoLibraryPersistentChangesObserver protocol for persistent change notifications.
- The background resource upload job extension (
PHBackgroundResourceUploadJobExtension,PHAssetResourceUploadJob) is expanded to macOS and Mac Catalyst 27, andPHCloudIdentifier'sstringValue/initWithStringValue:are deprecated in favor ofarchivalStringValue. PHImageRequestOptionsgainspreferHDRandtargetHDRHeadroomcontrols, andPHCollectiongains amodificationDateproperty.
PhotosUI
CHANGEDThree new view controllers (PHSharedAlbumCreationViewController, PHSharedAlbumCustomizationViewController, PHSharedAlbumPostingViewController) let apps present native shared-album creation and posting flows on iOS, macOS, and visionOS.
PHPickerConfigurationgainssearchText(a newPHPickerSearchTexttype) to pre-populate the picker's search field, andmetadataOptionsto strip location or captions from returned assets.PHPickerMetadataOptionsis a new option set (RemoveLocation,RemoveCaptions) available starting in iOS/macOS/visionOS 27.
ProximityReader
CHANGEDA new CustomerEngagementSession API lets a point-of-sale terminal conduct interactive customer-facing sessions over local wireless or web, supporting payment requests, loyalty sign-up, address collection, shopping cart display, and Wallet pass delivery.
- Mobile document request types (
MobileDriversLicenseRawDataRequest,MobileNationalIDCardRawDataRequest,MobilePhotoIDRawDataRequest) gainissuerIdentifiersfiltering and new convenience factory methods onMobileDocumentRequest. - A new
MobileDocumentHolderNamestruct provides structured name components for document holder identity.
QuartzCore
CHANGEDCADisplayLink is now available on macOS — the API_UNAVAILABLE(macos) restriction has been lifted from +displayLinkWithTarget:selector:.
QuickLook
CHANGEDQuickLook now imports AppIntents and CoreTransferable, enabling Quick Look integration with App Intents and Transferable workflows.
RealityFoundation
CHANGEDRealityFoundation has received an extremely broad set of new APIs spanning animation graphs, navigation meshes, mesh deformers, lightmapping, behavior trees, and rendering-layer controls, representing a major expansion of the framework's feature surface.
- A fully programmable mesh deformation pipeline (
MeshDeformerprotocol,MeshDeformationStack, CPU/GPU deform parameters) and skeleton/retargeting system (SkeletonResource,RetargetingConfiguration,AnimationGraphResource) are now available for runtime character animation. - Navigation mesh authoring and runtime pathfinding land as first-class APIs (
NavigationMeshResource,NavigationMeshComponent,NavigationController) alongside a new physics-based audio reverb system (ReverbMeshResource,Audio.Material/Absorption/Scattering). PhysicallyBasedMaterialgains subsurface scattering properties,LightmapResource/LightmapComponentenable baked lighting, and new render-layer, bloom, tone-mapping, and decal components extend the rendering pipeline.
RealityKit
CHANGEDRealityKit's module structure has been refactored to expose several new sub-frameworks (RealityCoreDeformation, RealityCoreRenderer, RealityCoreTextureProcessing, RealityFoundationCloth, ShaderGraph) while dropping the direct simd import, alongside new iOS 27 / macOS 27 availability macros.
ReplayKit
CHANGEDThe entire ReplayKit public API — RPScreenRecorder, RPBroadcastController, RPPreviewViewController, and all related types — has been deprecated in favor of ScreenCaptureKit (SCStream, SCRecordingOutput, SCClipBufferingOutput, SCContentSharingPicker, etc.).
SafariServices
CHANGEDNo meaningful API changes — SafariServices gained only an internal UIKit import declaration.
SensitiveContentAnalysis
CHANGEDSCSensitivityAnalysis now exposes a detectedTypes property returning a typed set of SCSensitiveContentType values (currently SexuallyExplicit and GoreOrViolence), allowing callers to distinguish *which kind* of sensitive content was detected rather than only knowing that something was flagged.
SensorKit
CHANGEDSensorKit introduces a new typed SRReader<Sensor> Swift API with strongly-typed sensor structs, deprecating the old SRSensorReader class for Swift callers.
- Two new sensors are added:
SRSensorHeadphoneMotionandSRSensorHeadphoneSettings, the latter exposing a fullSRHeadphoneSettingsmodel including listening mode, adaptive audio strength, spatial audio, and hearing assistance details. SRFetchResultgains asourceDeviceproperty (newSRSourceDeviceclass) to identify which device produced each sample.
ShazamKit
CHANGEDNew songs() method on SHMediaItem provides direct access to associated song entries.
SoundAnalysis
CHANGEDMinor additions — two new OS-level imports (os and os.lock) with no public API surface changes.
Speech
CHANGEDNew higher-level input-pipeline types (AnalyzerInputConverter, AssetInputSequenceProvider, CaptureInputSequenceProvider) make it easier to feed audio from AVAssets or AVCaptureSessions directly into SpeechAnalyzer without manual buffer management.
AnalyzerInputConverterhandles format conversion for raw audio buffers, andAssetInputSequenceProvider/CaptureInputSequenceProviderproduceanalyzerInputssequences from media assets and capture sessions respectively.SpeechAnalyzer.Optionsgains anignoresResourceLimitsflag, and a newcannotConfigureAudioSystemerror code is added toSFSpeechError.
SpriteKit
CHANGEDMinor version bump only — SK_VERSION updated from 52004001 to 53000002 with no API additions or removals.
StickerKit
CHANGEDAvatarEditorViewController and its delegate protocol have been removed, and new internal animated sticker transcoding infrastructure (AnimatedStickerTranscodeSlotPool, TranscodeSessionPair) has been added.
StoreKit
CHANGEDStoreKit adds first-class support for subscription bundles, exposing new BundledSubscription metadata on SubscriptionInfo, bundle-related fields on Transaction and RenewalInfo, and a new subscriptionBundle/subscriptionSuite product type.
AppTransactiongains aStoreTypeenum (consumer/education/enterprise), arevocationDate, and anAppTransactionsasync sequence viaAppTransaction.all.TransactionaddsOwnershipType.assigned,RevocationType.assignmentRevocation, andRevocationReason.upgradedToBundleto cover bundle assignment and revocation scenarios.- A new
RedeemOptiontype and an updatedpresentOfferCodeRedeemSheet(from:options:)overload give more control over offer code redemption presentation.
SwiftData
CHANGEDTwo new observer classes — ResultsObserver and HistoryObserver — provide programmatic, non-SwiftUI observation of fetch results and persistent history outside the view layer.
ResultsObserversupports sectioned results viaResultsSection/ResultsSectionCollection, mirroring the sectioned query capabilities previously only available through SwiftUI's@Query.Schema.Attributegains acodablestorage option andisCodableflag, allowing attributes to be persisted usingCodableencoding.PersistentIdentifiergainsisTemporaryto distinguish unsaved object identifiers, andModelContextnotifications now includehistoryTokensfor tracking persistent history across saves.
SwiftUI
CHANGEDNew document architecture (ReadableDocument, WritableDocument, DocumentReader, DocumentWriter) replaces the older FileDocument transfer model, and a new drag-and-drop reorder system (reorderContainer, ReorderDifference, DropSession.reorderDestination) adds first-class collection reordering support.
AsyncImagegainsURLRequest-based initializers and a per-viewasyncImageURLSessionmodifier, enabling custom session/header configuration per image.- Gesture initializers (
DragGesture,LongPressGesture,MagnifyGesture,RotateGesture,SpatialTapGesture) add aninputKindsparameter to filter by input device type. - Several toolbar additions land:
ToolbarMinimizeBehavior(scroll-driven auto-hide),ToolbarItemVisibilityPriority(overflow ordering),ToolbarOverflowMenu, and atopBarPinnedTrailingplacement.
SwiftUICore
CHANGEDGestureInputKinds is new, letting TapGesture (and likely other gestures) filter by input device (touch, pencil, pointer, etc.) via init(count:inputKinds:).
- A large number of SwiftUI view/shape/gesture types have dropped explicit
Sendableconformance, which may affect Swift 6 concurrency code that relied on those conformances. GraphicsContextgains newShadingfactory methods for linear, radial, and conic gradients, plusFilteradditions for alpha multiply and premultiplied color matrix.View.ignoresSafeArea(_:edges:alignment:)adds analignmentparameter, andEnvironmentValues.accessibilityPrefersCrossFadeTransitionsis now exposed publicly.
TelephonyMessagingKit
CHANGEDNew RCS Business Messaging APIs expose capabilities negotiation, welcome message configuration (with card/carousel/prefilled-text content types), and supported feature flags (chat, reactions, replies, file transfer, geo-push).
RemoteCapabilitiesgains three new flags for extended messaging features: custom reactions, reactions, and replies.BusinessInformationRequestadds aWelcomeMessageInformationtype for passing contextual welcome-message data with requests.IncomingMessageNotificationgains arequestedDispositionsproperty.
TipKit
CHANGEDTwo tip view types (TipUICollectionReusableView and TipUIView) gained a safeAreaInsets property.
TouchController
CHANGEDNo public API changes — only import declarations were added with no new or removed symbols.
UIKit
CHANGEDUIKit adds a broad set of new APIs across navigation, menus, tab bars, scenes, and text, while deprecating several older patterns in favor of scene-based replacements.
- Navigation bars gain collapsible/minimizable behavior (
UIBarMinimizeBehavior),UIBarButtonItemVisibilityPrioritylets bars control which items are shown under space pressure, andUIWindowSceneDelegate.supportedInterfaceOrientations(for:)supersedes theUIApplicationorientation delegate (now deprecated). - Menu and context-menu APIs gain
UIMenuElementImageVisibility, per-element highlight callbacks, and aallowsTypeSelectoption onUIContextMenuConfiguration;UIMenuLeafgrows asubtitleproperty, andUIAction/UICommand/UIKeyCommand/UIMenuinitializers all addselectedImageandpreferredImageVisibilityparameters. - Scene management gains
UISceneClosureConfirmation(custom close-dialog),UISceneAccessory/UISceneAccessoryRegistrationfor attaching external non-interactive scenes,UIWindowScene.displayLink(target:selector:)replacing the deprecatedUIScreendisplay-link API, andNSTextTable/NSTextBlocktypes surface for the first time in UIKit.
UniformTypeIdentifiers
CHANGEDA built-in UTType for Markdown is added, along with a new initializer that can return types for undeclared (unregistered) identifiers.
UserNotifications
CHANGEDNew UNError.Code.attachmentUnsupportedType error code added to distinguish unsupported attachment type failures from other attachment errors.
VideoToolbox
CHANGEDNew compression properties add support for log transfer functions, a constant-quality encoding factor, an Apple Immersive Video projection kind, and a ConsistentQuality preset; a new error code kVTLogTransferFunctionMismatchErr accompanies the log transfer function work.
VTLowLatencyFrameInterpolationSessiongains two class methods for querying maximum dimension and pixel count limits per spatial scale factor.VTMotionEstimationSessionRefis now markedCM_SWIFT_SENDABLE.
Vision
CHANGEDA new GenerateIterativeSegmentationRequest API enables iterative, user-guided foreground segmentation (seeded by points, boxes, or scribbles), and Vision gains watchOS support with platform-conditional exclusions for APIs that don't apply there.
- Two new error codes (
VNErrorResourceUnavailable,VNErrorResourceCorrupted) and aDownloadableAssetsRequestprotocol withassetStatusanddownloadAssets()provide explicit tracking and triggering of on-device model downloads. - New revision levels were added for face landmark, face rectangle, and human rectangle detection requests.
VisualIntelligence
CHANGEDNew public framework VisualIntelligence added to the SDK, currently exporting only a Foundation dependency with no additional public API.
WebKit
CHANGEDSeveral significant new capabilities land in WebKit: configurable content worlds, a JS handle/scripting-buffer API, form submission interception, geolocation permission delegation, and visionOS immersive environment support.
WKContentWorldConfiguration(iOS 27) lets you create content worlds with fine-grained capability flags (shadow root access, autofill scripting, node serialization, JS handle creation), and newWKJSHandle/WKJSScriptingBuffer/WKJSSerializedNodetypes expose lower-level JS object interop.WKNavigationDelegategainswillSubmitForm:for intercepting form submissions,WKUIDelegategains a geolocation permission callback,WKNavigationAction/WKNavigationResponseexpose the associatedmainFrameNavigation, andWKWebpagePreferencesaddsalternateRequestandoverrideReferrerfor navigation policy customization.- visionOS gains
WKImmersiveEnvironmentDelegate(present/dismiss/allow callbacks) wired through a newimmersiveEnvironmentDelegateproperty onWKWebView, and macOS 27 adds arefreshControllerproperty onWKWebView.
WidgetKit
CHANGEDTwo targeted additions: a new systemExtraLargePortrait widget family and an isDynamicIslandLimitedInWidth environment value for adapting Dynamic Island widget layouts.
WiFiAware
CHANGEDNew WAPerformanceForecast struct exposes pre-connection signal strength, throughput capacity, and latency estimates on WAEndpoint, allowing apps to make informed decisions before opening a Wi-Fi Aware connection.
- The
NWParameters.wifiAwareproperty and factory method have been removed, indicating a break from the previousNetwork-framework-based connection setup path.
_AdAttributionKit_StoreKit
UNCHANGED_CoreData_CloudKit
UNCHANGED_CoreLocationUI_SwiftUI
UNCHANGED_CoreNFC_UIKit
UNCHANGED_DeviceActivity_SwiftUI
UNCHANGED_DeviceDiscoveryUI_SwiftUI
UNCHANGED_GameController_SwiftUI
UNCHANGED_GeoToolbox_AppIntents
UNCHANGED_GroupActivities_UIKit
UNCHANGED_HomeKit_SwiftUI
UNCHANGED_Intents_TipKit
UNCHANGEDNo differences detected.
_LinkPresentation_AppIntents
UNCHANGED_LocationEssentials
UNCHANGEDNo differences detected.
_PermissionKit_UIKit
UNCHANGED_Photos_AppIntents
UNCHANGED_PhotosUI_WidgetKit
UNCHANGEDNo differences detected.
_QuickLook_SwiftUI
UNCHANGED_RelevanceKit_MapKit
UNCHANGED_SceneKit_SwiftUI
UNCHANGED_SecureElementCredential_SwiftUI
UNCHANGED_SecureElementCredential_UIKit
UNCHANGED_SpriteKit_SwiftUI
UNCHANGED_Translation_SwiftUI
UNCHANGED_WorkoutKit_SwiftUI
UNCHANGEDAccelerate
UNCHANGEDNo differences detected.
Accessibility
UNCHANGEDAccessoryLiveActivities
UNCHANGEDAccessoryNotifications
UNCHANGEDAccessorySetupKit
UNCHANGEDAccounts
UNCHANGEDNo differences detected.
AdAttributionKit
UNCHANGEDAddressBook
UNCHANGEDNo differences detected.
AddressBookUI
UNCHANGEDNo differences detected.
AdServices
UNCHANGEDNo differences detected.
AdSupport
UNCHANGEDNo differences detected.
AppClip
UNCHANGEDNo differences detected.
AppMigrationKit
UNCHANGEDAppTrackingTransparency
UNCHANGEDNo differences detected.
AssetsLibrary
UNCHANGEDAudioUnit
UNCHANGEDNo differences detected.
AutomatedDeviceEnrollment
UNCHANGEDBusinessChat
UNCHANGEDNo differences detected.
CallKit
UNCHANGEDNo differences detected.
CarKey
UNCHANGEDCFNetwork
UNCHANGEDNo differences detected.
ClassKit
UNCHANGEDNo differences detected.
ClassKitUI
UNCHANGEDClockKit
UNCHANGEDCombine
UNCHANGEDContactProvider
UNCHANGEDCoreAudioKit
UNCHANGEDCoreAudioTypes
UNCHANGEDNo differences detected.
CoreHaptics
UNCHANGEDNo differences detected.
CoreLocationUI
UNCHANGEDNo differences detected.
CoreMediaIO
UNCHANGEDNo differences detected.
CoreMIDI
UNCHANGEDNo differences detected.
CoreServices
UNCHANGEDNo differences detected.
CoreText
UNCHANGEDCreateML
UNCHANGEDCreateMLComponents
UNCHANGEDDeviceActivity
UNCHANGEDDeviceCheck
UNCHANGEDNo differences detected.
DockKit
UNCHANGEDEventKitUI
UNCHANGEDNo differences detected.
ExtensionKit
UNCHANGEDFileProviderUI
UNCHANGEDNo differences detected.
FinanceKit
UNCHANGEDFinanceKitUI
UNCHANGEDGameKit
UNCHANGEDGameSave
UNCHANGEDGeoToolbox
UNCHANGEDGLKit
UNCHANGEDNo differences detected.
GSS
UNCHANGEDNo differences detected.
HealthKitUI
UNCHANGEDiAd
UNCHANGEDNo differences detected.
IdentityDocumentServicesUI
UNCHANGEDIdentityLookup
UNCHANGEDIdentityLookupUI
UNCHANGEDNo differences detected.
ImageCaptureCore
UNCHANGEDNo differences detected.
Intents
UNCHANGEDNo differences detected.
IntentsUI
UNCHANGEDNo differences detected.
IOSurface
UNCHANGEDNo differences detected.
LightweightCodeRequirements
UNCHANGEDLinkPresentation
UNCHANGEDLiveCommunicationKit
UNCHANGEDLocalAuthentication
UNCHANGEDLocalAuthenticationEmbeddedUI
UNCHANGEDNo differences detected.
LockedCameraCapture
UNCHANGEDManagedApp
UNCHANGEDManagedSettings
UNCHANGEDManagedSettingsUI
UNCHANGEDMarketplaceKit
UNCHANGEDMatterSupport
UNCHANGEDMediaSetup
UNCHANGEDNo differences detected.
MetalKit
UNCHANGEDNo differences detected.
MLCompute
UNCHANGEDNo differences detected.
MobileCoreServices
UNCHANGEDNo differences detected.
ModelIO
UNCHANGEDNo differences detected.
NaturalLanguage
UNCHANGEDNo differences detected.
NotificationCenter
UNCHANGEDNo differences detected.
OpenAL
UNCHANGEDNo differences detected.
OSLog
UNCHANGEDNo differences detected.
PermissionKit
UNCHANGEDPHASE
UNCHANGEDNo differences detected.
PushKit
UNCHANGEDNo differences detected.
PushToTalk
UNCHANGEDNo differences detected.
QuickLookThumbnailing
UNCHANGEDNo differences detected.
RelevanceKit
UNCHANGEDRoomPlan
UNCHANGEDSafetyKit
UNCHANGEDNo differences detected.
SceneKit
UNCHANGEDNo differences detected.
ScreenTime
UNCHANGEDNo differences detected.
SecureElementCredential
UNCHANGEDSecurity
UNCHANGEDNo differences detected.
SecurityUI
UNCHANGEDServicesAccountLinking
UNCHANGEDSocial
UNCHANGEDNo differences detected.
StickerFoundation
UNCHANGEDNo differences detected.
Symbols
UNCHANGEDSystemConfiguration
UNCHANGEDNo differences detected.
SystemExtensions
UNCHANGEDNo differences detected.
TabularData
UNCHANGEDThreadNetwork
UNCHANGEDTranslation
UNCHANGEDTranslationUIProvider
UNCHANGEDUserNotificationsUI
UNCHANGEDNo differences detected.
VideoSubscriberAccount
UNCHANGEDVisionKit
UNCHANGEDWatchConnectivity
UNCHANGEDNo differences detected.