{
 "schema_version": 1,
 "slug": "ios26.5-to-27.0",
 "title": "26.5 \u2192 27.0 \u00b7 beta 1",
 "old_ver": "26.5",
 "new_ver": "27.0",
 "old_build": "24943",
 "new_build": "25183.29.15",
 "generated_at": "2026-07-07T02:33:00+00:00",
 "frameworks": [
  {
   "name": "_AppIntents_HealthKit",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New framework introducing `AudioContext`, which lets App Intents declare workout audio context \u2014 including activity type and a three-level intensity (`low`/`medium`/`high`) \u2014 for HealthKit-aware workout intents.",
   "body": "fragment"
  },
  {
   "name": "_Contacts_AppIntents",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New private framework with no public API surface worth summarizing \u2014 only import declarations were added, with no developer-facing types, methods, or conformances.",
   "body": "fragment"
  },
  {
   "name": "_CoreLocation_SwiftUI",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "Minor additions \u2014 new module-level imports added with no new public API introduced.",
   "body": "fragment"
  },
  {
   "name": "_CoreMotion_SwiftUI",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New private framework with no public API surface \u2014 only imports are present.",
   "body": "fragment"
  },
  {
   "name": "_CoreSpotlight_FoundationModels",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "This 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.",
   "body": "fragment"
  },
  {
   "name": "_FinanceKit_AppIntents",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New private framework bridging FinanceKit with AppIntents, containing no public API beyond its module imports.",
   "body": "fragment"
  },
  {
   "name": "_FoundationModels_UIKit",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New `Attachment` struct bridges UIKit image content into FoundationModels, with an initializer that accepts an image and orientation.",
   "body": "fragment"
  },
  {
   "name": "_MediaIntents_AppIntents",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New framework introducing `AudioSearch`, a struct that bridges `MediaIntents` search queries with `AppIntents` for audio content.",
   "body": "fragment"
  },
  {
   "name": "_MediaPlayer_AppIntents",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New framework introducing `MPAppEntityIdentifier`, an `NSCoding`-compatible type that bridges MediaPlayer entities into the AppIntents system.",
   "body": "fragment"
  },
  {
   "name": "_NowPlaying_AppIntents",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New `MediaContentRepresentable` protocol added, requiring conformers to expose `appEntityIdentifiers` to bridge Now Playing media content into App Intents.",
   "body": "fragment"
  },
  {
   "name": "_RealityKit_ComputeGraph",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New private framework (`_RealityKit_ComputeGraph`) introduced in full, exposing GPU compute graph simulation components for RealityKit entities \u2014 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.\n\n- `ComputeGraphRuntimeComponent` provides read-back of simulation outputs, and `ComputeGraphViewpointComponent` supplies per-frame view position/direction to the graph.\n- `ComputeGraphComponent.SimulationState` (`playing`, `paused`, `stepping`) tracks execution state, with `spawn` methods for element emission into the simulation.",
   "body": "fragment"
  },
  {
   "name": "_SharedWithYou_AppIntents",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New private framework overlay adding AppIntents, Foundation, SharedWithYou, and concurrency module imports \u2014 no public API surface changes.",
   "body": "fragment"
  },
  {
   "name": "_USDKit_RealityKit",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "This framework appears to be entirely new \u2014 all declarations are additions with no removals, introducing a complete USD playback and rendering integration layer for RealityKit.\n\n- `USDPlayer` provides frame-by-frame USD stage playback with a structured `FrameUpdate` diff model covering mesh, material, texture, and deformation additions/updates/removals.\n- `USDStageComponent` adds a RealityKit component for embedding a USD stage with optional hit-testing, automatic rendering, and async render-result inspection via `waitForRenderComplete`.",
   "body": "fragment"
  },
  {
   "name": "_UserNotifications_AppIntents",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "`UNMutableNotificationContent` gains an `appEntityIdentifiers` property, allowing notification content to be associated with App Intents entities.",
   "body": "fragment"
  },
  {
   "name": "_Vision_FoundationModels",
   "status": "new",
   "private": true,
   "docs_url": null,
   "summary": "New framework that exposes Vision-backed `FoundationModels` tools \u2014 `BarcodeReaderTool` and `OCRTool` \u2014 allowing language model agents to invoke barcode reading and optical character recognition via the Vision framework.",
   "body": "fragment"
  },
  {
   "name": "AppIntentsTypeSupport",
   "status": "new",
   "private": false,
   "docs_url": null,
   "summary": "New 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.",
   "body": "fragment"
  },
  {
   "name": "AppManagedFeatures",
   "status": "new",
   "private": false,
   "docs_url": null,
   "summary": "New 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.\n\n- `FeatureManager` exposes `lock(restrictions:)`, `unlock()`, and `setSoftwareUpdateRequirement(_:)` for controlling app/web-domain restrictions and OS update deadlines.\n- `ActivationExtension` protocol defines a check-in/activation lifecycle (`willActivate`, `checkIn`, `didDeactivate`) tied to device identity (serial number, IMEI, organization ID).",
   "body": "fragment"
  },
  {
   "name": "AVSystemRouting",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/avsystemrouting",
   "summary": "AVSystemRouting is a new iOS 27\u2013only framework for discovering and connecting to system audio/video routes from an app, with support for bidirectional data channels and media session control.\n\n- Apps create an `AVSystemRouteSession` (with a URL and launch mode) and attach it to an `AVSystemRoute`, then call `start()`/`stop()` to manage connectivity and receive a `AVSystemRouteMediaSession` with playback control and a data channel.\n- `AVSystemRouteController.shared` provides a singleton observer interface that delivers `AVSystemRouteEvent` callbacks (activate/deactivate) when compatible routes appear or disappear.",
   "body": "fragment"
  },
  {
   "name": "ComputeGraph",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/computegraph",
   "summary": "ComputeGraph is an entirely new framework, introducing a GPU-driven node-graph simulation system (`ComputeNodeGraph`, `ComputeGraphSimulation`) for particle/element systems that runs on Metal.\n\n- `ComputeNodeGraph` provides a full dataflow graph model with typed nodes, ports, edges, state, and a shader library, used to describe compute pipelines declaratively.\n- `ComputeGraphSimulation` is the runtime that executes those pipelines, exposing methods to advance, spawn elements, set uniforms/buffers/textures, and control simulation rate.\n- 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.",
   "body": "fragment"
  },
  {
   "name": "CoreAI",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coreai",
   "summary": "New framework with no public API surface beyond its module imports.",
   "body": "fragment"
  },
  {
   "name": "CrashReportExtension",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/crashreportextension",
   "summary": "The 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.\n\n- The `CrashedProcess` class exposes the crashed process's binary images, crash reason, and corpse port, along with methods to symbolicate individual or batched addresses.\n- Supporting value types (`BinaryImageInfo`, `CrashReason`, `SymbolicatedFrame`) carry the structured data exchanged between the crashed process and the extension.",
   "body": "fragment"
  },
  {
   "name": "EnhancedLinkSecurity",
   "status": "new",
   "private": false,
   "docs_url": null,
   "summary": "New framework that lets apps request and query enhanced link security for URLs via a shared `EnhancedLinkSecurityManager` singleton.",
   "body": "fragment"
  },
  {
   "name": "MediaDevice",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mediadevice",
   "summary": "New 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.",
   "body": "fragment"
  },
  {
   "name": "MediaIntelligence",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mediaintelligence",
   "summary": "New framework introducing on-device face grouping across image/video assets and video analysis (key frames, highlights) via `FaceGroupAnalyzer`, `VideoAnalyzer`, and a CoreData-backed `MIDataStore`.\n\n- `FaceGroupAnalyzer` lets apps insert media assets, cluster detected faces into persistent entities, and query faces by entity, asset, or bounds, with incremental update support via `update(subprogress:)`.\n- `VideoAnalyzer` provides a request/result protocol pair with concrete `KeyFrameAnalysisRequest` and `HighlightAnalysisRequest` types for frame-level and highlight-level video analysis.\n- `MIDataStore` and its CoreData-managed `MIManagedFace` class back the persistent face store, exposing error cases for invalid stores, missing models, and internal failures.",
   "body": "fragment"
  },
  {
   "name": "MediaIntents",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mediaintents",
   "summary": "New `AudioSearch` struct added, representing an audio search request with a `Criteria` enum (`.searchQuery`, `.url`, `.unspecified`) and a `SpotlightResult` type for entity-based results.",
   "body": "fragment"
  },
  {
   "name": "MusicUnderstanding",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/musicunderstanding",
   "summary": "New framework \u2014 `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`.\n\n- `MusicUnderstandingSession` accepts an `AVAsset` or an audio provider and returns a `SessionResult` containing typed analysis structs for each requested `AnalysisType`.\n- 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).",
   "body": "fragment"
  },
  {
   "name": "NowPlaying",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/nowplaying",
   "summary": "The 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.\n\n- Apps can create a `MediaSession` and report richly typed content (music, podcast, movie, TV show, book, radio, etc.) along with a `MediaPlaybackSnapshot` and a full set of `MediaCommand` handlers for transport controls.\n- `RemoteMediaSession` and the `RemoteMediaSessionExtension` protocol 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.\n- Artwork can be provided as static `Artwork`/`ArtworkRepresentation` or as `AnimatedArtwork` with aspect-ratio variants, and `MediaDevice` describes the target output device by type (TV, car, speaker, wearable, etc.).",
   "body": "fragment"
  },
  {
   "name": "ScreenCaptureKit",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/screencapturekit",
   "summary": "ScreenCaptureKit 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.\n\n- A new `SCClipBufferingOutput` class lets streams continuously buffer video and export a recent clip on demand via `exportClipToURL:duration:`.\n- A new `SCVideoEffectOutput` (iOS 27 only) allows attaching a camera device to a stream to apply video effects.\n- `SCRecordingEditor` is new across all platforms, providing a system UI for previewing or sharing a completed recording file.",
   "body": "fragment"
  },
  {
   "name": "SiriInferenceLearning",
   "status": "new",
   "private": false,
   "docs_url": null,
   "summary": "No meaningful API additions or removals \u2014 the diff contains only new internal import dependencies.",
   "body": "fragment"
  },
  {
   "name": "StateReporting",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/statereporting",
   "summary": "New 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(_:)`.\n\n- Metadata values are typed using the new `ReportableMetadataValue` enum, which supports string, integer, floating-point, and date payloads.\n- Custom metadata types can be defined by conforming to the `ReportableMetadata` protocol, which exposes a dictionary of `ReportableMetadataValue` entries.",
   "body": "fragment"
  },
  {
   "name": "SuggestedActions",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/suggestedactions",
   "summary": "New framework that surfaces a SwiftUI view (`SuggestedActionsView`) for displaying AI-suggested reply actions given a message thread, backed by `SuggestedActionsMessage`/`Participant` model types.",
   "body": "fragment"
  },
  {
   "name": "TrustInsights",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/trustinsights",
   "summary": "New 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.",
   "body": "fragment"
  },
  {
   "name": "USDKit",
   "status": "new",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/usdkit",
   "summary": "USDKit 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.\n\n- The framework covers the full USD object model: `USDStage`, `USDLayer`, `USDPrim`, `USDPrim.Attribute`, `USDPrim.Relationship`, variant sets/specs, payloads, references, and typed `USDValue`/`USDToken` types.\n- Stage and layer change observation is supported via `USDStage.Notice`, `USDStage.ObjectsDidChange`, and `addObserver(for:using:)`.\n- A `StageKitPlugin` protocol allows third-party plugins to register custom USD backends.",
   "body": "fragment"
  },
  {
   "name": "_AppIntents_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "New `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.",
   "body": "fragment"
  },
  {
   "name": "_AppIntents_UIKit",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "New 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.",
   "body": "fragment"
  },
  {
   "name": "_AuthenticationServices_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "New `DeliveredVerificationCodesManager` type allows SwiftUI views to retrieve and consume one-time verification codes delivered to the device, accessible via a new `deliveredVerificationCodesManager` environment value.",
   "body": "fragment"
  },
  {
   "name": "_AVKit_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "No public API changes \u2014 only internal import removals (Combine and UIKit) with no additions or modifications to developer-facing declarations.",
   "body": "fragment"
  },
  {
   "name": "_ManagedAppDistribution_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "Minor addition \u2014 the framework now imports UIKit.",
   "body": "fragment"
  },
  {
   "name": "_MapKit_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "Minor additions \u2014 a new import dependency on `_CoreLocation_SwiftUI` was added to the framework.",
   "body": "fragment"
  },
  {
   "name": "_MarketplaceKit_UIKit",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "Minor conformance cleanup \u2014 `EnvironmentValues` extensions lost `Sendable` and `SendableMetatype` conformances, with no new API added.",
   "body": "fragment"
  },
  {
   "name": "_MusicKit_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "A 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.",
   "body": "fragment"
  },
  {
   "name": "_PassKit_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "New `ApplePayMerchandisingView` SwiftUI component lets apps display an Apple Pay merchandising surface with configurable amount, currency, region, action, style, and partner visibility controls.",
   "body": "fragment"
  },
  {
   "name": "_PermissionKit_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "No functional API changes \u2014 only internal conformance cleanup on `EnvironmentValues`.",
   "body": "fragment"
  },
  {
   "name": "_PhotosUI_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "New 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.\n\n- `photosPickerMetadataOptions(_:)` and `photosPickerSearchText(_:)` give programmatic control over what metadata the picker exposes and its pre-populated search query.\n- Three new shared-album sheet modifiers (`photosSharedAlbumCreationSheet`, `photosSharedAlbumCustomizationSheet`, `photosSharedAlbumPostingSheet`) replace/supplement the existing `postToPhotosSharedAlbumSheet` with a more complete shared-album workflow.",
   "body": "fragment"
  },
  {
   "name": "_RealityKit_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "The module's transitive import set was significantly pruned, replacing numerous framework imports (AVFoundation, Metal, UIKit, simd, and others) with a single `Spatial` import.",
   "body": "fragment"
  },
  {
   "name": "_StoreKit_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "Minor addition \u2014 a new `offerCodeRedemption(options:isPresented:onCompletion:)` view modifier adds an `options` parameter to the existing offer code redemption presentation API.",
   "body": "fragment"
  },
  {
   "name": "_SwiftData_CoreData",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "`NSManagedObjectModel.makeManagedObjectModel(for:mergedWith:)` has been removed with no replacement added in this diff.",
   "body": "fragment"
  },
  {
   "name": "_SwiftData_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "The `@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.",
   "body": "fragment"
  },
  {
   "name": "_WebKit_SwiftUI",
   "status": "changed",
   "private": true,
   "docs_url": null,
   "summary": "No public API changes.",
   "body": "fragment"
  },
  {
   "name": "AccessoryTransportExtension",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/accessorytransportextension",
   "summary": "New `pushToken` property on `AccessoryTransportSession` enables sessions to access their push notification token.",
   "body": "fragment"
  },
  {
   "name": "ActivityKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/activitykit",
   "summary": "Minor additions \u2014 two new internal Darwin imports with no public API surface changes.",
   "body": "fragment"
  },
  {
   "name": "AlarmKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/alarmkit",
   "summary": "New `AlarmConfiguration` factory methods (`alarm` and `timer`) and a matching initializer add first-class support for scheduling countdown-timer alarms alongside calendar-based alarms.",
   "body": "fragment"
  },
  {
   "name": "AppIntents",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/appintents",
   "summary": "A 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.\n\n- New protocols `LongRunningIntent`, `CancellableIntent`, and `IndexedEntityQuery` (with `performBackgroundTask`, `withIntentCancellationHandler`, and batch reindexing APIs) extend what intents can do during execution.\n- `IntentResponseStream` adds streaming output support (text, entities, files, Writing Tools output), and `SyncableEntity`/`SyncableEntityIdentifier` provide a new model for syncing entities with stable cross-device identifiers.\n- `CVReadOnlyPixelBuffer`, `Duration`, `IntentPrompt`, `EntityCollection`, and `IntentValueRepresentation` are new parameter/value types, broadening what data intents can accept and return.",
   "body": "fragment"
  },
  {
   "name": "ARKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/arkit",
   "summary": "ARKit adds object-tracking improvements and broadly marks most of its iOS-only API as unavailable on visionOS.\n\n- `ARWorldTrackingConfiguration` gains a `trackingObjects` property (iOS 27) and `environmentTexturingEnabled`, `ARObjectAnchor` now conforms to `ARTrackable` with an `isTracked` property, and `ARObjectScanningConfiguration` is deprecated in favor of a new reference object format.\n- `ARReferenceObject`'s legacy scanning APIs (`rawFeaturePoints`, `exportObjectToURL:`, `referenceObjectByMerging:`, etc.) are deprecated through iOS 27, with a new `usdzFile` property added for the replacement format.\n- `ARFrame` gains a `metadataObjects` property (iOS 27) exposing `AVMetadataObject` results from the camera feed.",
   "body": "fragment"
  },
  {
   "name": "Assignables",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/assignables",
   "summary": "New framework `Assignables` appears, importing `CoreGraphics` and `UniformTypeIdentifiers`.",
   "body": "fragment"
  },
  {
   "name": "AudioAccessoryKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/audioaccessorykit",
   "summary": "New `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.\n\n- `AccessoryControlDevice.Configuration` and `Capabilities` gain head-tracking and audio-spatialization fields, plus a `spatialExtensionDescription` for declaring spatial audio support.\n- A new `AudioAccessoryError` type surfaces activation and data-size error conditions.",
   "body": "fragment"
  },
  {
   "name": "AudioToolbox",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/audiotoolbox",
   "summary": "A 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.\n\n- A new `kReverbRoomType_OutdoorGeneral` reverb room type is added across iOS, macOS, tvOS, and visionOS 27.",
   "body": "fragment"
  },
  {
   "name": "AuthenticationServices",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/authenticationservices",
   "summary": "New `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.\n\n- `ASPasswordCredential` has been removed from the Swift overlay (likely moved or replaced; existing code referencing it directly may need updates).\n- `ASOneTimeCodeCredential` gains `AS_SWIFT_SENDABLE`, making it usable across Swift concurrency boundaries without casting.",
   "body": "fragment"
  },
  {
   "name": "AutomaticAssessmentConfiguration",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/automaticassessmentconfiguration",
   "summary": "macOS assessment sessions gain extensive new configuration controls for UI elements, accessibility features, and environment requirements.\n\n- 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.).\n- New \"enablement requirements\" properties (`requiresManagedDevice`, `requiresSIP`, `requiresSingleUser`, `requiresUserAccountType`) let an assessment enforce device/account conditions before a session can start.\n- `AEAssessmentParticipantConfiguration` gains per-language input-method menu item allow-lists on macOS.",
   "body": "fragment"
  },
  {
   "name": "AVFAudio",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/avfaudio",
   "summary": "AVFAudio 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.\n\n- `AVAudioSinkNode` and `AVAudioSourceNode` gain `RealtimeSafe` block-based initializers (C-only) for use on audio realtime threads, and `AVAudioInputNode` gains `setRealtimeSafeManualRenderingInputPCMFormat:inputBlock:` for the same purpose.\n- `AVAudioUnitReverb` adds `OutdoorGeneral` preset, `AVAudioFormat` deprecates `initWithCMAudioFormatDescription:` in favor of a new nullable `initWithFormatDescription:`, and `AVAudioSessionInterruptionType`/`InterruptionOptions` enums are deprecated wholesale.\n- `activateWithOptions:completionHandler:` is now available on iOS/tvOS/visionOS (not just watchOS), and a new `deactivateWithOptions:completionHandler:` is added alongside structured `DeactivationContext` and `ResumptionContext` objects.",
   "body": "fragment"
  },
  {
   "name": "AVFoundation",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/avfoundation",
   "summary": "AVFoundation 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.\n\n- `AVSampleBufferAudioRenderer` and `AVSampleBufferVideoRenderer` gain Swift-concurrency-native `Receiver` types (attached via `AVSampleBufferRenderSynchronizer.sampleBufferReceiver(adding:)`) that replace the old `enqueueSampleBuffer:`, `flush`, `requestMediaDataWhenReadyOnQueue:`, and status/notification APIs, which are now deprecated in Swift.\n- A new `AVAssetWritingPlanner` / `AVAssetVideoTrackPlan` / `AVPlannedVideoSegmentWritingRequest` cluster enables segment-by-segment, resumable video writing with VideoToolbox compression session integration; `AVAssetExportSession` gains `configureForResumableExport()` and `ResumptionState` for the same purpose.\n- Other notable additions: `AVPlayerItemSampleBufferOutput` for pulling sample buffers from a player item, `AVCaptureBroadcastVideoOutput` for broadcast-style capture, `AVProVideoStorage` and `usesProVideoStorage` on `AVAssetWriter`/`AVCaptureMovieFileOutput`, `AVPlayer.setDisconnectedFromSystemAudio(_:completionHandler:)`, and `AVExternalStorageDevice.reasonsNotRecommendedForCaptureUse` replacing the Boolean `isNotRecommendedForCaptureUse`.",
   "body": "fragment"
  },
  {
   "name": "AVKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/avkit",
   "summary": "AVKit 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`.\n\n- A new `AVViewport` property is exposed on `AVPlayerViewController` for visionOS 27, enabling viewport-aware layout of player content.\n- `AVLegibleMediaOptionsMenuController` and related types have their availability annotations corrected from `API_UNAVAILABLE(ios)` to `API_AVAILABLE(ios(26.4))`, making the subtitles/captions menu controller usable on iOS.",
   "body": "fragment"
  },
  {
   "name": "AVRouting",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/avrouting",
   "summary": "The entire `AVCustomRouting*` API family (`AVCustomRoutingController`, `AVCustomDeviceRoute`, `AVCustomRoutingEvent`, etc.) is deprecated as of iOS 27 in favor of new `AVSystemRoute`/`AVSystemRouteController` replacements.\n\n- `AVRoutingPlaybackArbiter.preferredParticipantForNonMixableAudioRoutes` is now available on iOS 27 (previously tvOS-only).",
   "body": "fragment"
  },
  {
   "name": "BackgroundAssets",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/backgroundassets",
   "summary": "BackgroundAssets 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.\n\n- The older `getAllAssetPacksWithCompletionHandler:` and `getAssetPackWithIdentifier:` methods are deprecated in favor of fetching a `BAAssetPackManifest` via the new `getManifestWithCompletionHandler:`.\n- A new `BAContentRequestLanguageChange` case lets background extensions respond to language-change events, and `LocalAvailabilityError` exposes per-pack success/failure detail when ensuring availability of multiple packs.",
   "body": "fragment"
  },
  {
   "name": "BackgroundTasks",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/backgroundtasks",
   "summary": "Most 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:`.\n\n- `BGTaskScheduler`, `BGTask` subclasses, and task request types gain `watchos(26.0)` availability, bringing background task scheduling to watchOS for the first time.\n- The existing synchronous `submitTaskRequest:error:` is deprecated (iOS/tvOS 27, watchOS 27) in favor of `submitTaskRequest:completionHandler:`, which captures all error conditions asynchronously.",
   "body": "fragment"
  },
  {
   "name": "BrowserEngineCore",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/browserenginecore",
   "summary": "A new availability macro `BROWSERENGINE_ACCESSIBILITY_AVAILABILITY_27` has been added for iOS/visionOS 27, expanding the set of platform guards for future accessibility APIs.",
   "body": "fragment"
  },
  {
   "name": "BrowserEngineKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/browserenginekit",
   "summary": "New 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.\n\n- `BEProcessCapability` gains a `screenCaptureWithEnvironment:` factory and moves `activateWithError:`/`suspendWithError:` directly onto the class (deprecating the same methods on `BECapability`).\n- `BEWebContentFilter` adds richer URL evaluation methods that accept a main-document/main-frame URL and frame context, plus new `requestPermissionForURL:referrerURL:` APIs returning a `BEWebContentFilterPermissionDecision`.\n- `NSObject (BEAccessibility)` gains properties for image data (`browserAccessibilityImageDataSize`, `browserAccessibilityImageData:`), scroll orientation, keyboard shortcuts, and details elements.",
   "body": "fragment"
  },
  {
   "name": "BrowserKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/browserkit",
   "summary": "New `BEBrowserContentFilter` class lets browser extensions evaluate URLs synchronously (via async callback) to decide whether to block them, available on iOS 27.",
   "body": "fragment"
  },
  {
   "name": "CarPlay",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/carplay",
   "summary": "CarPlay adds a substantial new panel system for the map template, plus multi-stop routing support, EV charging station details, and enriched route metadata.\n\n- `CPMapPanel`/`CPMapPanelSection`/`CPMapPanelItem` introduce a new slide-up panel UI for `CPMapTemplate` (show/push/pop/hide), and `CPNavigationSession` gains an `optionsPanel` property to surface it during active navigation.\n- Multi-stop routing arrives via new `CPMapTemplateDelegate` callbacks, `CPMultiStopCardConfiguration`, and `CPNavigationSession.resumeNavigation(updatedTrip:routeSegments:currentSegment:rerouteReason:)`.\n- `CPRouteDetail` provides rich per-route metadata (tolls, fuel, battery, eco score, emissions, etc.) now embeddable in `CPTravelEstimates` and `CPRouteChoice`.",
   "body": "fragment"
  },
  {
   "name": "Charts",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/charts",
   "summary": "Charts 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.",
   "body": "fragment"
  },
  {
   "name": "Cinematic",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/cinematic",
   "summary": "New `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.",
   "body": "fragment"
  },
  {
   "name": "CloudKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/cloudkit",
   "summary": "Several 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.\n\n- A new `CKAsset.ExportedAssetID` type and `CKAsset.init(importing:)` initializer have been added, enabling import/export of asset identifiers.\n- `CKShareParticipant` gains an explicit `isEqual(_:)` implementation.",
   "body": "fragment"
  },
  {
   "name": "ColorSync",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/colorsync",
   "summary": "Version constant bumped from `0x1A010000` to `0x1B000000`; no API additions or removals.",
   "body": "fragment"
  },
  {
   "name": "Contacts",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/contacts",
   "summary": "Minor addition \u2014 a new `debugDescriptionForName(_:)` method on `CNContact` for debug-formatting a contact's name.",
   "body": "fragment"
  },
  {
   "name": "ContactsUI",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/contactsui",
   "summary": "New `CNContactSavedAutoFillDetailsController` class lets apps check whether to surface an AutoFill prompt for a saved contact.",
   "body": "fragment"
  },
  {
   "name": "CoreAudio",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coreaudio",
   "summary": "Two 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.\n\n- `AudioHardwareBase.h` brings 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.\n- `AudioServerPlugIn.h` exposes the `AudioServerPlugInDriverInterface` and `AudioServerPlugInHostInterface` COM-style vtable contracts on iOS, allowing audio server plug-in drivers to be implemented or linked against on the platform.",
   "body": "fragment"
  },
  {
   "name": "CoreBluetooth",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/corebluetooth",
   "summary": "CoreBluetooth 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.",
   "body": "fragment"
  },
  {
   "name": "CoreData",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coredata",
   "summary": "CoreData 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.\n\n- `NSPersistentHistoryToken` gains `NS_SWIFT_SENDABLE`, making it safe to pass across concurrency boundaries without a wrapper.",
   "body": "fragment"
  },
  {
   "name": "CoreFoundation",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/corefoundation",
   "summary": "The entire `CFPlugInInstance` API family is deprecated in favor of UUID-based plugins.\n\n- `CFErrorRef` bridge annotation changed from `CF_BRIDGED_TYPE` to `CF_BRIDGED_MUTABLE_TYPE`, reflecting that `NSError` bridging is mutable.\n- `kCFCoreFoundationVersionNumber` is now declared `const`.",
   "body": "fragment"
  },
  {
   "name": "CoreGraphics",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coregraphics",
   "summary": "`CGColor` and `CGColorSpace` gain `Codable` support with explicit `CodingKeys`, and `CGInterpolationQuality` gets a `debugDescription`.\n\n- The `CGToneMapping` enum cases now carry individual `API_AVAILABLE` annotations with explicit raw values instead of a single enum-level annotation.\n- Parameter labels in `CGColorConversionInfoCreateForToneMapping` were renamed from `from`/`to` to `source`/`target` (source-compatible change).",
   "body": "fragment"
  },
  {
   "name": "CoreImage",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coreimage",
   "summary": "New `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.\n\n- Three new `CIImageOption` keys (`kCIImageSubsampleFactor`, `kCIImageTypeIdentifierHint`, `kCIImageUseHardwareAcceleration`) control image loading behavior on iOS/macOS 27.\n- `CIRAWFilter` adds a `despeckle` property pair and a `supportedCameraModelsWithVersion:` class method for version-scoped camera model queries.\n- 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.",
   "body": "fragment"
  },
  {
   "name": "CoreLocation",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/corelocation",
   "summary": "`CLLocationManager.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.",
   "body": "fragment"
  },
  {
   "name": "CoreMedia",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coremedia",
   "summary": "New 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`).\n\n- A new `kCMFormatDescriptionLogTransferFunction_AppleLog2` constant and SMPTE 2094-50 metadata identifiers/data types are added for HDR and immersive media workflows.\n- New `kCMMetadataBaseDataType_MacRoman` and `kCMMetadataBaseDataType_ISOLatin1` base data type constants are added for legacy text encoding support.",
   "body": "fragment"
  },
  {
   "name": "CoreML",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coreml",
   "summary": "Diagnostic suppression added around the `MLModelConfiguration (MultiFunctions)` category declaration to silence a duplicate-category warning \u2014 no functional API changes.",
   "body": "fragment"
  },
  {
   "name": "CoreMotion",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coremotion",
   "summary": "New `CMRecordedDeviceMotion` class and `CMBodyIdentifiable` protocol enable recording device motion data with timestamps and associating a body identity with motion sessions via `CMMotionManager.deviceMotionBody`.\n\n- `CMDeviceMotion` gains a `headingAccuracy` property (iOS 27).\n- `CMWaterSubmersionManagerDelegate` methods are now all `@optional`, removing the previous requirement to implement all delegate callbacks.",
   "body": "fragment"
  },
  {
   "name": "CoreNFC",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/corenfc",
   "summary": "Three new `NFCReaderError` codes cover location-permission and availability failures for the payment tag reader session introduced in iOS 26.6.",
   "body": "fragment"
  },
  {
   "name": "CoreSpotlight",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/corespotlight",
   "summary": "A 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.\n\n- `CSSearchableIndex` gains a `protectionClass` property and a new delegate method `searchableItemsForIdentifiers:protectionClass:` (iOS/macOS 27) to scope item lookups by data protection level.\n- watchOS is now explicitly marked unavailable (`API_UNAVAILABLE(watchos)`) across the entire framework, formalizing a restriction that was previously unenforced.",
   "body": "fragment"
  },
  {
   "name": "CoreTelephony",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coretelephony",
   "summary": "A 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.\n\n- `CTTelephonyNetworkInfo` gains a typed `RadioAccessTechnologyDidChangeMessage` struct and a `MessageIdentifier` protocol, providing a structured replacement for the string-based radio access technology change notification.\n- `CTSlicingManager.AppCategory` adds two new cases: `browsers` and `missionCritical`.",
   "body": "fragment"
  },
  {
   "name": "CoreTransferable",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coretransferable",
   "summary": "No meaningful API changes \u2014 only internal logging imports were added.",
   "body": "fragment"
  },
  {
   "name": "CoreVideo",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/corevideo",
   "summary": "CoreVideo 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.\n\n- `kCVImageBufferHorizontalDisparityAdjustmentKey` is newly exposed in the C header (backfilled availability to iOS 17/macOS 14).\n- IOSurface header inclusion logic is simplified in `CVBase.h` and `CVPixelBufferIOSurface.h`, removing the `COREVIDEO_USE_IOSURFACEREF` conditional and consolidating on `IOSurfaceRef.h`.",
   "body": "fragment"
  },
  {
   "name": "CryptoKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/cryptokit",
   "summary": "ML-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.\n\n- `SymmetricKey`, `AES.GCM.Nonce`, and `ChaChaPoly.Nonce` gain new initializers and raw-byte accessors for safer key/nonce construction and inspection.\n- AES-GCM and ChaCha20-Poly1305 add in-place seal/open variants, and HKDF gains explicit extract/expand steps for more granular key derivation control.",
   "body": "fragment"
  },
  {
   "name": "CryptoTokenKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/cryptotokenkit",
   "summary": "New `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.",
   "body": "fragment"
  },
  {
   "name": "DataDetection",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/datadetection",
   "summary": "`DataDetector.Match` and its nested types gain `Codable` and `Hashable` conformances, and `Match` gets a new public memberwise initializer.",
   "body": "fragment"
  },
  {
   "name": "DeclaredAgeRange",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/declaredagerange",
   "summary": "No meaningful API changes \u2014 only internal conformance removals on `EnvironmentValues` that do not affect typical client code.",
   "body": "fragment"
  },
  {
   "name": "DeveloperToolsSupport",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/developertoolssupport",
   "summary": "New `PreviewArguments` struct added to support parameterized preview configuration.",
   "body": "fragment"
  },
  {
   "name": "DeviceDiscoveryExtension",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/devicediscoveryextension",
   "summary": "Three media playback properties on `DDDevice` (`mediaPlaybackState`, `mediaContentTitle`, `mediaContentSubtitle`) are deprecated in favor of the new `MediaDeviceExtension` API.",
   "body": "fragment"
  },
  {
   "name": "DeviceDiscoveryUI",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/devicediscoveryui",
   "summary": "New `DiscoveryViewWrapper` SwiftUI view type added, providing a wrapper around the existing discovery view for use in SwiftUI contexts.",
   "body": "fragment"
  },
  {
   "name": "EnergyKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/energykit",
   "summary": "EnergyKit 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.\n\n- EV load events gain a `PerformanceMetrics` struct (estimated range, battery temperature) and a `deviceName` property, while HVAC load events similarly gain `deviceName`.\n- A new `ElectricalLoadDevice` type with a `DeviceType` enum (`electricVehicle`, `hvac`) provides a common device model across load event types.",
   "body": "fragment"
  },
  {
   "name": "EventKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/eventkit",
   "summary": "EventKit now imports CoreML as a dependency.",
   "body": "fragment"
  },
  {
   "name": "ExposureNotification",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/exposurenotification",
   "summary": "The entire ExposureNotification framework is deprecated as of iOS 27.0, with all API availability macros marked `API_DEPRECATED(\"No longer supported.\")`.",
   "body": "fragment"
  },
  {
   "name": "ExtensionFoundation",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/extensionfoundation",
   "summary": "ExtensionFoundation now imports the UniformTypeIdentifiers framework, making UTType available within extension contexts without a separate import.",
   "body": "fragment"
  },
  {
   "name": "ExternalAccessory",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/externalaccessory",
   "summary": "`EAAccessoryManager` 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.",
   "body": "fragment"
  },
  {
   "name": "FamilyControls",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/familycontrols",
   "summary": "No meaningful API changes \u2014 only Swift concurrency isolation adjustments on existing `Label` extensions and constructor.",
   "body": "fragment"
  },
  {
   "name": "FileProvider",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/fileprovider",
   "summary": "`NSFileProviderNamespacePolicy` is added to control per-item materialization behavior (inherited, lazy, or eager), but is currently marked unavailable on all platforms.",
   "body": "fragment"
  },
  {
   "name": "Foundation",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/foundation",
   "summary": "New `ProgressManager`/`ProgressReporter` API provides a structured, Swift-native alternative to `NSProgress` for tracking and composing hierarchical progress.\n\n- `NSBundleResourceRequest` and the On-Demand Resources API are deprecated in favor of Background Assets.\n- `NSError`'s zero-argument `init`/`+new` are deprecated, requiring callers to use `initWithDomain:code:userInfo:` explicitly.\n- `Data`'s `withUnsafeBytes`, `withUnsafeMutableBytes`, and related buffer-access methods have been updated to support typed throws (dropping `rethrows` in favor of a generic `E: Error` constraint).",
   "body": "fragment"
  },
  {
   "name": "FoundationModels",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/foundationmodels",
   "summary": "The 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.\n\n- Image input is now supported via `Transcript.ImageAttachment`, `Attachment`, and `ImageReference`, with CoreImage/CoreVideo/ImageIO imports added.\n- Sessions gain `DynamicInstructions`/`DynamicProfile` result-builder systems, `ContextOptions` with configurable `ReasoningLevel`, `ToolCallingMode`, and per-session token usage tracking.\n- `LanguageModelError` is reorganized into a typed enum replacing the previous `GenerationError` structure, and `LanguageModelSession.Error` adds cases for `concurrentRequests` and `transcriptMutationWhileResponding`.",
   "body": "fragment"
  },
  {
   "name": "GameController",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/gamecontroller",
   "summary": "New `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.\n\n- `GCSystemGestureStateAlwaysReceive` is deprecated in favor of `GCSystemGestureStateDisabled` (with a fixed raw value of 2, so the enum order changed \u2014 existing code using raw integer comparisons will break).\n- `GCHapticsLocality` constants are moved to a new `GCDeviceHapticsLocality.h` header split from `GCDeviceHaptics.h`.",
   "body": "fragment"
  },
  {
   "name": "GameplayKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/gameplaykit",
   "summary": "Version constant bumped to 102000004 with no API additions or removals.",
   "body": "fragment"
  },
  {
   "name": "GroupActivities",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/groupactivities",
   "summary": "New `GroupActivityMetadata.ActivityType.playTogether` case added for classifying group activities.",
   "body": "fragment"
  },
  {
   "name": "HealthKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/healthkit",
   "summary": "HealthKit 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.\n\n- Two new women's health data points are added: `HKCategoryTypeIdentifierMenopausalState` with a `HKCategoryValueMenopausalState` enum, and `HKCategoryTypeIdentifierBleedingAfterMenopause`.\n- `HKWorkoutActivityType` has been moved to its own header (`HKWorkoutActivityType.h`) with explicit raw values assigned to every case; no values changed, but the enum now also declares `HKWorkoutActivityTypeRest` and `HKWorkoutActivityTypeGroup` as unavailable placeholders.",
   "body": "fragment"
  },
  {
   "name": "HomeKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/homekit",
   "summary": "Several HomeKit accessory-setup classes (`HMAccessorySetupManager`, `HMAccessorySetupRequest`, `HMAccessorySetupResult`, `HMAccessorySetupPayload`, `HMAccessoryOwnershipToken`) are now available on macOS and Mac Catalyst, expanding the framework's platform reach.\n\n- `HMAccessorySetupManager` gains a class-level `isSupported` property (iOS 27/macOS 27) to allow runtime capability checks.\n- `HMUserFailedAccessoriesKey` is deprecated as of iOS/watchOS/tvOS 27 and macCatalyst 27 with no replacement.",
   "body": "fragment"
  },
  {
   "name": "IdentityDocumentServices",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/identitydocumentservices",
   "summary": "New APIs allow document requests and registrations to specify issuer key identifiers, enabling finer-grained trust/authority filtering when presenting or registering mobile documents.",
   "body": "fragment"
  },
  {
   "name": "ImageIO",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/imageio",
   "summary": "New `kCGImageSourceAllowableTypes` option lets callers restrict which image formats `CGImageSource` will accept when decoding.",
   "body": "fragment"
  },
  {
   "name": "ImagePlayground",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/imageplayground",
   "summary": "New `ImagePlaygroundOptions` properties let callers control the creation strategy (`automatic`, `editExisting`, `generateNew`) and target size when presenting the image playground UI.\n\n- The `imagePlaygroundSheet` SwiftUI modifiers gain new variants with `onAdaptiveImageGlyphCreation` callbacks and accept either a `UIImage` or a URL as the source image.\n- `ImagePlaygroundStyle` gains `any` and `emoji` style options.",
   "body": "fragment"
  },
  {
   "name": "ImmersiveMediaSupport",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/immersivemediasupport",
   "summary": "Two new presentation command types \u2014 `ShotFlipCommand` and `SetCameraCommand.Overrides` \u2014 add support for shot-flip transitions and per-camera lens/mask/rotation overrides in immersive media sequences.\n\n- `PresentationDescriptorReader` gains `isShotFlipped`, `cameraOverrides`, and new `metadataItem`/`metadataTrack` methods to read these properties from a presentation.\n- `PresentationCommand` adds a `shotFlip` case to route the new command type through existing command dispatch.",
   "body": "fragment"
  },
  {
   "name": "JavaScriptCore",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/javascriptcore",
   "summary": "The `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.",
   "body": "fragment"
  },
  {
   "name": "JournalingSuggestions",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/journalingsuggestions",
   "summary": "Minor addition \u2014 the framework now imports `_CoreLocation_SwiftUI` as a dependency.",
   "body": "fragment"
  },
  {
   "name": "ManagedAppDistribution",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/managedappdistribution",
   "summary": "`ManagedApp` gains a `licenseAgreementText` property to expose the app's license agreement string.",
   "body": "fragment"
  },
  {
   "name": "MapKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mapkit",
   "summary": "Twelve new `MKPointOfInterestCategory` values were added (including `airportTerminal`, `automotiveDealership`, `scenicView`, `visitorCenter`, `restArea`, and others), expanding the set of filterable POI categories.",
   "body": "fragment"
  },
  {
   "name": "Matter",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/matter",
   "summary": "Four 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`.\n\n- Several existing clusters gain new provisional attributes: BasicInformation and BridgedDeviceBasicInformation get `DeviceLocation`; GeneralDiagnostics gets `DeviceLoadStatus`; GroupKeyManagement gets `GroupcastAdoption`; SmokeCOAlarm gets `Unmounted`; OperationalState gets Apple-specific `AppleOperationCompleted`/`AppleOperationStartTime`; OccupancySensing gets `PredictedOccupancy`; AppleDeviceInformation gets `NeedsAdditionalConfiguration`.\n- The Groupcast cluster's `expireGracePeriod` command is replaced by `groupcastTesting`, several struct fields are renamed (`keyID`\u2192`keySetID`, removing `gracePeriod`), and `MTRGroupcastClusterExpireGracePeriodParams` is removed \u2014 callers must update.\n- `MTRDeviceControllerDelegate` and `MTRCommissioningDelegate` add a new `context:` variant of `commissioningComplete:nodeID:metrics:`, and the old metrics-only variant is deprecated with replacement.",
   "body": "fragment"
  },
  {
   "name": "MediaAccessibility",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mediaaccessibility",
   "summary": "A new `kMACaptionAppearanceDomainVideoConferencing` domain value has been added to `MACaptionAppearanceDomain`, allowing caption appearance settings to be scoped specifically to video conferencing contexts.",
   "body": "fragment"
  },
  {
   "name": "MediaPlayer",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mediaplayer",
   "summary": "New `MPNowPlayingInfoPropertyAppEntityIdentifiers` property key allows apps to associate App Intents entity identifiers with the current Now Playing item.",
   "body": "fragment"
  },
  {
   "name": "MediaToolbox",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mediatoolbox",
   "summary": "New `MTAudioProcessingTapCreateWithPreferredFormat` API lets callers specify a preferred `CMAudioFormatDescription` when creating an audio processing tap, giving control over the audio format the tap receives.",
   "body": "fragment"
  },
  {
   "name": "Messages",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/messages",
   "summary": "New `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:`.",
   "body": "fragment"
  },
  {
   "name": "MessageUI",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/messageui",
   "summary": "Two 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.\n\n- `MFMailDraft` is a new value type carrying the composed email's subject, body, recipients, and sender, returned via the `MFComposeAssistantViewControllerDelegate` callback instead of being sent directly.\n- `MFMessageComposeViewController` gains a typed notification (`TextMessageAvailabilityDidChangeMessage`) for observing SMS availability changes.",
   "body": "fragment"
  },
  {
   "name": "Metal",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/metal",
   "summary": "Tensors 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.\n\n- Several macOS-only APIs are deprecated as inapplicable on Apple Silicon: `MTLStorageModeManaged`, `synchronizeResource`, `didModifyRange`, `isLowPower`/`isHeadless`/`isRemovable`, `depth24Stencil8PixelFormatSupported`, and the `DeviceRemoved` error codes.\n- `MTLGPUFamilyMac2`, `Common1/2/3` GPU families are deprecated with replacement guidance pointing to equivalent `MTLGPUFamilyApple` tiers.\n- Metal Shading Language version 4.1 (`MTLLanguageVersion4_1`) is added.",
   "body": "fragment"
  },
  {
   "name": "MetalFX",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/metalfx",
   "summary": "Across 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.\n\n- `reactiveTextureUsage` is deprecated on both the temporal scaler and denoised scaler in favor of `reactiveMaskTextureUsage`, requiring a rename in existing code.\n- The temporal scaler adds `outputResolutionMotionVectorsEnabled` and `jitteredMotionVectorsEnabled` flags to give finer control over motion vector interpretation.",
   "body": "fragment"
  },
  {
   "name": "MetalPerformancePrimitives",
   "status": "changed",
   "private": false,
   "docs_url": null,
   "summary": "Large 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.\n\n- The type-checking trait used to gate `matmul2d` template overloads changed from `__is_thread_addrspace_v` to `__is_unqualified_v`, broadening the set of element types accepted by the API.\n- A `__TENSOR_OPS_SUPPORT_DEPLOYMENT_TARGET_27_0` availability macro was added, gating the new cooperative tensor copy/move-construct entry points.",
   "body": "fragment"
  },
  {
   "name": "MetalPerformanceShaders",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/metalperformanceshaders",
   "summary": "Two 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.\n\n- Four new `MPSDataType` cases (`float4e2m1`, `float8e4m3`, `float8e5m2`, `float8e8m0`) add support for microscaling and 8-bit floating-point data formats.\n- `MPSNDArrayUnaryKernel` and `MPSNDArrayMultiaryKernel` gain `encode(withMTL4CommandEncoder:\u2026)` variants, and `MPSNDArrayIdentity` gains a convenience `reshape(withSourceArray:shape:)` method.",
   "body": "fragment"
  },
  {
   "name": "MetalPerformanceShadersGraph",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/metalperformanceshadersgraph",
   "summary": "`MPSGraph` 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).\n\n- Graphs can now be run asynchronously via Metal 4 command queues (`runAsync(on:\u2026)` overloads on both `MPSGraph` and `MPSGraphExecutable`), excluding simulator targets.\n- `disableAutoLayoutConversion` is added to `MPSGraphCompilationDescriptor`, giving explicit control over automatic NHWC layout conversion introduced in the previous release.",
   "body": "fragment"
  },
  {
   "name": "MetricKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/metrickit",
   "summary": "MetricKit has been substantially redesigned with a new Swift-native API that deprecates virtually the entire existing `MX`-prefixed Objective-C surface.\n\n- The new API centers on `MetricManager`, `MetricReport`, `MetricResult`, `DiagnosticReport`, and `DiagnosticResult` \u2014 Swift structs replacing `MXMetricManager`, `MXMetricPayload`, `MXDiagnosticPayload`, and their associated metric/diagnostic classes.\n- A new state-reporting system is introduced via `StateReportingDomain`, `MetricManager.ReportedState`, and `MetricReport.StateEntry`, allowing metrics to be segmented by app-defined state.\n- Every major `MX`-prefixed class (`MXMetricManager`, `MXMetric`, `MXDiagnostic`, `MXCallStackTree`, etc.) is now formally deprecated with a replacement pointer to the new Swift types.",
   "body": "fragment"
  },
  {
   "name": "MultipeerConnectivity",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/multipeerconnectivity",
   "summary": "The 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).",
   "body": "fragment"
  },
  {
   "name": "MusicKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/musickit",
   "summary": "New `item(for:)` method on `MusicCatalogResourceResponse` allows looking up a specific resource by identifier.",
   "body": "fragment"
  },
  {
   "name": "NearbyInteraction",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/nearbyinteraction",
   "summary": "NearbyInteraction gains Bluetooth Channel Sounding support and several DL-TDOA measurement enhancements in iOS 27.\n\n- `NIDLTDOAConfiguration` gains a `discoveryMethod` property (Wi-Fi or BLE) and `NIDLTDOAMeasurement` gains `floorElevation`, `clusterInitiatorAddress`, and `responderClockFrequencyOffset` fields.\n- A new `NIMotionActivityState` enum and `NISession.updateMotionState(_:forObjectWithToken:)` method let apps report whether a nearby peer is stationary or moving.\n- `NIDeviceCapability` adds `supportsBluetoothChannelSounding` to check hardware eligibility.",
   "body": "fragment"
  },
  {
   "name": "Network",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/network",
   "summary": "`NetworkChannel` gains three new async update handlers (`onPathUpdate`, `onViabilityUpdate`, `onBetterPathUpdate`) enabling Swift-concurrency-native path monitoring on connections.\n\n- `nw_link_quality_t`'s raw value type narrows from `UInt32` to `UInt8`, which is a breaking change for any code that stores or passes the raw value as `UInt32`.\n- A new `nw_tcp_set_max_pacing_rate` function allows capping the TCP send pacing rate on a connection.\n- `NWProtocolFramer.Instance.prependApplicationProtocolIgnoringReady(options:)` adds a way to inject a protocol layer without waiting for the ready state.",
   "body": "fragment"
  },
  {
   "name": "NetworkExtension",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/networkextension",
   "summary": "`NEPacketTunnelNetworkSettings` gains fine-grained per-IP-family traffic routing controls (`includeAllNetworks`, `excludeLocalNetworks`, `enforceRoutes`, and exclusions for APNs/cellular/device communication) via a new `IPFamily` enum.\n\n- `NEURLFilterManager` adds a `ParsingConfiguration` type with detailed URL-component parsing options, plus reporting configuration (`reportEndpoint`, `reportFormat`, `reportInterval`) supporting JSON and protobuf formats.\n- IKEv2 TLS 1.3 is now a supported minimum TLS version via `NEVPNIKEv2TLSVersion.version1_3`.\n- `NEAppPushManager` adds `matchMissionCriticalService` to match push provider activation on mission-critical network services (iOS only).",
   "body": "fragment"
  },
  {
   "name": "OpenGLES",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/opengles",
   "summary": "The `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++.",
   "body": "fragment"
  },
  {
   "name": "PaperKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/paperkit",
   "summary": "PaperKit 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`).\n\n- `ShapeMarkup` supports seven shape types (rectangle, ellipse, line, arrow, star, polygon, chat bubble) with fill/stroke styling, line markers, and attributed text labels.\n- `MarkupAdornment` lets you attach anchored, draggable overlay views (with image configurations) to markup elements, with a delegate API on `PaperMarkupViewController` for tap and drag callbacks.\n- `PaperMarkupViewController` gains a `ScrollConfiguration` type for controlling scroll/zoom behavior, a `selection` property, and an `adornmentFrame(for:)` query method.",
   "body": "fragment"
  },
  {
   "name": "PassKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/passkit",
   "summary": "The deprecated `PKPaymentNetworkBancomat`/`PKPaymentNetworkPagoBancomat` deprecation direction has been reversed (Bancomat is now deprecated in favor of PagoBancomat), correcting a prior mistake.\n\n- `PKPaymentRequest` gains `unsupportedPrimaryAccountIdentifiers` to explicitly exclude specific account tokens from payment flows.\n- `PKAddCarKeyPassConfiguration` adds `vehicleIdentifier`, `ownerPairingToken`, and `region` properties for car key provisioning.\n- `PKIdentityDocumentDescriptor` gains `issuerIdentifiers` filtering and `PKIdentityElement` gains a combined `nameElement`, expanding identity document request capabilities.",
   "body": "fragment"
  },
  {
   "name": "PDFKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/pdfkit",
   "summary": "New 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 \u2014 no public API surface changes.",
   "body": "fragment"
  },
  {
   "name": "PencilKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/pencilkit",
   "summary": "New `PKStrokeRecognizer` class enables on-device handwriting recognition and text search directly on `PKDrawing` strokes without leaving the PencilKit framework.\n\n- Strokes gain stable `UUID`-based identity, `renderGroupID`, and a new `PKStrokeRenderState` (grain offset) to support richer rendering and selection workflows, including a new `selectedStrokeIDs`/`selection` property on `PKCanvasView`.\n- `PKStrokePath` adds a `bezierRepresentation`, a bezier-path-based initializer with a point-provider callback, and a `subpathWithRange:` method, while the older `enumerateInterpolatedPoints` block methods are deprecated in Swift in favor of `interpolatedPoints(in:by:)`.\n- `PKContentVersion` bumps to version 5 (latest) and `PKStrokePoint` gains a `lateralJitter` property.",
   "body": "fragment"
  },
  {
   "name": "Photos",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/photos",
   "summary": "New 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.\n\n- The background resource upload job extension (`PHBackgroundResourceUploadJobExtension`, `PHAssetResourceUploadJob`) is expanded to macOS and Mac Catalyst 27, and `PHCloudIdentifier`'s `stringValue`/`initWithStringValue:` are deprecated in favor of `archivalStringValue`.\n- `PHImageRequestOptions` gains `preferHDR` and `targetHDRHeadroom` controls, and `PHCollection` gains a `modificationDate` property.",
   "body": "fragment"
  },
  {
   "name": "PhotosUI",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/photosui",
   "summary": "Three new view controllers (`PHSharedAlbumCreationViewController`, `PHSharedAlbumCustomizationViewController`, `PHSharedAlbumPostingViewController`) let apps present native shared-album creation and posting flows on iOS, macOS, and visionOS.\n\n- `PHPickerConfiguration` gains `searchText` (a new `PHPickerSearchText` type) to pre-populate the picker's search field, and `metadataOptions` to strip location or captions from returned assets.\n- `PHPickerMetadataOptions` is a new option set (`RemoveLocation`, `RemoveCaptions`) available starting in iOS/macOS/visionOS 27.",
   "body": "fragment"
  },
  {
   "name": "ProximityReader",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/proximityreader",
   "summary": "A 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.\n\n- Mobile document request types (`MobileDriversLicenseRawDataRequest`, `MobileNationalIDCardRawDataRequest`, `MobilePhotoIDRawDataRequest`) gain `issuerIdentifiers` filtering and new convenience factory methods on `MobileDocumentRequest`.\n- A new `MobileDocumentHolderName` struct provides structured name components for document holder identity.",
   "body": "fragment"
  },
  {
   "name": "QuartzCore",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/quartzcore",
   "summary": "`CADisplayLink` is now available on macOS \u2014 the `API_UNAVAILABLE(macos)` restriction has been lifted from `+displayLinkWithTarget:selector:`.",
   "body": "fragment"
  },
  {
   "name": "QuickLook",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/quicklook",
   "summary": "QuickLook now imports AppIntents and CoreTransferable, enabling Quick Look integration with App Intents and Transferable workflows.",
   "body": "fragment"
  },
  {
   "name": "RealityFoundation",
   "status": "changed",
   "private": false,
   "docs_url": null,
   "summary": "RealityFoundation 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.\n\n- A fully programmable mesh deformation pipeline (`MeshDeformer` protocol, `MeshDeformationStack`, CPU/GPU deform parameters) and skeleton/retargeting system (`SkeletonResource`, `RetargetingConfiguration`, `AnimationGraphResource`) are now available for runtime character animation.\n- 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`).\n- `PhysicallyBasedMaterial` gains subsurface scattering properties, `LightmapResource`/`LightmapComponent` enable baked lighting, and new render-layer, bloom, tone-mapping, and decal components extend the rendering pipeline.",
   "body": "fragment"
  },
  {
   "name": "RealityKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/realitykit",
   "summary": "RealityKit'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.",
   "body": "fragment"
  },
  {
   "name": "ReplayKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/replaykit",
   "summary": "The entire ReplayKit public API \u2014 `RPScreenRecorder`, `RPBroadcastController`, `RPPreviewViewController`, and all related types \u2014 has been deprecated in favor of ScreenCaptureKit (`SCStream`, `SCRecordingOutput`, `SCClipBufferingOutput`, `SCContentSharingPicker`, etc.).",
   "body": "fragment"
  },
  {
   "name": "SafariServices",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/safariservices",
   "summary": "No meaningful API changes \u2014 SafariServices gained only an internal UIKit import declaration.",
   "body": "fragment"
  },
  {
   "name": "SensitiveContentAnalysis",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/sensitivecontentanalysis",
   "summary": "`SCSensitivityAnalysis` 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.",
   "body": "fragment"
  },
  {
   "name": "SensorKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/sensorkit",
   "summary": "SensorKit introduces a new typed `SRReader<Sensor>` Swift API with strongly-typed sensor structs, deprecating the old `SRSensorReader` class for Swift callers.\n\n- Two new sensors are added: `SRSensorHeadphoneMotion` and `SRSensorHeadphoneSettings`, the latter exposing a full `SRHeadphoneSettings` model including listening mode, adaptive audio strength, spatial audio, and hearing assistance details.\n- `SRFetchResult` gains a `sourceDevice` property (new `SRSourceDevice` class) to identify which device produced each sample.",
   "body": "fragment"
  },
  {
   "name": "SharedWithYou",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/sharedwithyou",
   "summary": "A new `SWCopyRepresentationTypeIdentifier` constant is added for use with `NSItemProvider`, alongside a new `CloudKit` import in the Swift module.",
   "body": "fragment"
  },
  {
   "name": "ShazamKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/shazamkit",
   "summary": "New `songs()` method on `SHMediaItem` provides direct access to associated song entries.",
   "body": "fragment"
  },
  {
   "name": "SoundAnalysis",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/soundanalysis",
   "summary": "Minor additions \u2014 two new OS-level imports (`os` and `os.lock`) with no public API surface changes.",
   "body": "fragment"
  },
  {
   "name": "Speech",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/speech",
   "summary": "New 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.\n\n- `AnalyzerInputConverter` handles format conversion for raw audio buffers, and `AssetInputSequenceProvider`/`CaptureInputSequenceProvider` produce `analyzerInputs` sequences from media assets and capture sessions respectively.\n- `SpeechAnalyzer.Options` gains an `ignoresResourceLimits` flag, and a new `cannotConfigureAudioSystem` error code is added to `SFSpeechError`.",
   "body": "fragment"
  },
  {
   "name": "SpriteKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/spritekit",
   "summary": "Minor version bump only \u2014 `SK_VERSION` updated from `52004001` to `53000002` with no API additions or removals.",
   "body": "fragment"
  },
  {
   "name": "StickerKit",
   "status": "changed",
   "private": false,
   "docs_url": null,
   "summary": "`AvatarEditorViewController` and its delegate protocol have been removed, and new internal animated sticker transcoding infrastructure (`AnimatedStickerTranscodeSlotPool`, `TranscodeSessionPair`) has been added.",
   "body": "fragment"
  },
  {
   "name": "StoreKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/storekit",
   "summary": "StoreKit 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.\n\n- `AppTransaction` gains a `StoreType` enum (consumer/education/enterprise), a `revocationDate`, and an `AppTransactions` async sequence via `AppTransaction.all`.\n- `Transaction` adds `OwnershipType.assigned`, `RevocationType.assignmentRevocation`, and `RevocationReason.upgradedToBundle` to cover bundle assignment and revocation scenarios.\n- A new `RedeemOption` type and an updated `presentOfferCodeRedeemSheet(from:options:)` overload give more control over offer code redemption presentation.",
   "body": "fragment"
  },
  {
   "name": "SwiftData",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/swiftdata",
   "summary": "Two new observer classes \u2014 `ResultsObserver` and `HistoryObserver` \u2014 provide programmatic, non-SwiftUI observation of fetch results and persistent history outside the view layer.\n\n- `ResultsObserver` supports sectioned results via `ResultsSection`/`ResultsSectionCollection`, mirroring the sectioned query capabilities previously only available through SwiftUI's `@Query`.\n- `Schema.Attribute` gains a `codable` storage option and `isCodable` flag, allowing attributes to be persisted using `Codable` encoding.\n- `PersistentIdentifier` gains `isTemporary` to distinguish unsaved object identifiers, and `ModelContext` notifications now include `historyTokens` for tracking persistent history across saves.",
   "body": "fragment"
  },
  {
   "name": "SwiftUI",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/swiftui",
   "summary": "New 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.\n\n- `AsyncImage` gains `URLRequest`-based initializers and a per-view `asyncImageURLSession` modifier, enabling custom session/header configuration per image.\n- Gesture initializers (`DragGesture`, `LongPressGesture`, `MagnifyGesture`, `RotateGesture`, `SpatialTapGesture`) add an `inputKinds` parameter to filter by input device type.\n- Several toolbar additions land: `ToolbarMinimizeBehavior` (scroll-driven auto-hide), `ToolbarItemVisibilityPriority` (overflow ordering), `ToolbarOverflowMenu`, and a `topBarPinnedTrailing` placement.",
   "body": "fragment"
  },
  {
   "name": "SwiftUICore",
   "status": "changed",
   "private": false,
   "docs_url": null,
   "summary": "`GestureInputKinds` is new, letting `TapGesture` (and likely other gestures) filter by input device (touch, pencil, pointer, etc.) via `init(count:inputKinds:)`.\n\n- A large number of SwiftUI view/shape/gesture types have dropped explicit `Sendable` conformance, which may affect Swift 6 concurrency code that relied on those conformances.\n- `GraphicsContext` gains new `Shading` factory methods for linear, radial, and conic gradients, plus `Filter` additions for alpha multiply and premultiplied color matrix.\n- `View.ignoresSafeArea(_:edges:alignment:)` adds an `alignment` parameter, and `EnvironmentValues.accessibilityPrefersCrossFadeTransitions` is now exposed publicly.",
   "body": "fragment"
  },
  {
   "name": "TelephonyMessagingKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/telephonymessagingkit",
   "summary": "New 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).\n\n- `RemoteCapabilities` gains three new flags for extended messaging features: custom reactions, reactions, and replies.\n- `BusinessInformationRequest` adds a `WelcomeMessageInformation` type for passing contextual welcome-message data with requests.\n- `IncomingMessageNotification` gains a `requestedDispositions` property.",
   "body": "fragment"
  },
  {
   "name": "TipKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/tipkit",
   "summary": "Two tip view types (`TipUICollectionReusableView` and `TipUIView`) gained a `safeAreaInsets` property.",
   "body": "fragment"
  },
  {
   "name": "TouchController",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/touchcontroller",
   "summary": "No public API changes \u2014 only import declarations were added with no new or removed symbols.",
   "body": "fragment"
  },
  {
   "name": "UIKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/uikit",
   "summary": "UIKit 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.\n\n- Navigation bars gain collapsible/minimizable behavior (`UIBarMinimizeBehavior`), `UIBarButtonItemVisibilityPriority` lets bars control which items are shown under space pressure, and `UIWindowSceneDelegate.supportedInterfaceOrientations(for:)` supersedes the `UIApplication` orientation delegate (now deprecated).\n- Menu and context-menu APIs gain `UIMenuElementImageVisibility`, per-element highlight callbacks, and a `allowsTypeSelect` option on `UIContextMenuConfiguration`; `UIMenuLeaf` grows a `subtitle` property, and `UIAction`/`UICommand`/`UIKeyCommand`/`UIMenu` initializers all add `selectedImage` and `preferredImageVisibility` parameters.\n- Scene management gains `UISceneClosureConfirmation` (custom close-dialog), `UISceneAccessory`/`UISceneAccessoryRegistration` for attaching external non-interactive scenes, `UIWindowScene.displayLink(target:selector:)` replacing the deprecated `UIScreen` display-link API, and `NSTextTable`/`NSTextBlock` types surface for the first time in UIKit.",
   "body": "fragment"
  },
  {
   "name": "UniformTypeIdentifiers",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/uniformtypeidentifiers",
   "summary": "A built-in `UTType` for Markdown is added, along with a new initializer that can return types for undeclared (unregistered) identifiers.",
   "body": "fragment"
  },
  {
   "name": "UserNotifications",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/usernotifications",
   "summary": "New `UNError.Code.attachmentUnsupportedType` error code added to distinguish unsupported attachment type failures from other attachment errors.",
   "body": "fragment"
  },
  {
   "name": "VideoToolbox",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/videotoolbox",
   "summary": "New 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.\n\n- `VTLowLatencyFrameInterpolationSession` gains two class methods for querying maximum dimension and pixel count limits per spatial scale factor.\n- `VTMotionEstimationSessionRef` is now marked `CM_SWIFT_SENDABLE`.",
   "body": "fragment"
  },
  {
   "name": "Vision",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/vision",
   "summary": "A 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.\n\n- Two new error codes (`VNErrorResourceUnavailable`, `VNErrorResourceCorrupted`) and a `DownloadableAssetsRequest` protocol with `assetStatus` and `downloadAssets()` provide explicit tracking and triggering of on-device model downloads.\n- New revision levels were added for face landmark, face rectangle, and human rectangle detection requests.",
   "body": "fragment"
  },
  {
   "name": "VisualIntelligence",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/visualintelligence",
   "summary": "New public framework `VisualIntelligence` added to the SDK, currently exporting only a Foundation dependency with no additional public API.",
   "body": "fragment"
  },
  {
   "name": "WebKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/webkit",
   "summary": "Several 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.\n\n- `WKContentWorldConfiguration` (iOS 27) lets you create content worlds with fine-grained capability flags (shadow root access, autofill scripting, node serialization, JS handle creation), and new `WKJSHandle`/`WKJSScriptingBuffer`/`WKJSSerializedNode` types expose lower-level JS object interop.\n- `WKNavigationDelegate` gains `willSubmitForm:` for intercepting form submissions, `WKUIDelegate` gains a geolocation permission callback, `WKNavigationAction`/`WKNavigationResponse` expose the associated `mainFrameNavigation`, and `WKWebpagePreferences` adds `alternateRequest` and `overrideReferrer` for navigation policy customization.\n- visionOS gains `WKImmersiveEnvironmentDelegate` (present/dismiss/allow callbacks) wired through a new `immersiveEnvironmentDelegate` property on `WKWebView`, and macOS 27 adds a `refreshController` property on `WKWebView`.",
   "body": "fragment"
  },
  {
   "name": "WidgetKit",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/widgetkit",
   "summary": "Two targeted additions: a new `systemExtraLargePortrait` widget family and an `isDynamicIslandLimitedInWidth` environment value for adapting Dynamic Island widget layouts.",
   "body": "fragment"
  },
  {
   "name": "WiFiAware",
   "status": "changed",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/wifiaware",
   "summary": "New `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.\n\n- The `NWParameters.wifiAware` property and factory method have been removed, indicating a break from the previous `Network`-framework-based connection setup path.",
   "body": "fragment"
  },
  {
   "name": "_AdAttributionKit_StoreKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_CoreData_CloudKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_CoreLocationUI_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_CoreNFC_UIKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_DeviceActivity_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_DeviceDiscoveryUI_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_GameController_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_GeoToolbox_AppIntents",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_GroupActivities_UIKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_HomeKit_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_Intents_TipKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "none"
  },
  {
   "name": "_LinkPresentation_AppIntents",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_LocationEssentials",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "none"
  },
  {
   "name": "_PermissionKit_UIKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_Photos_AppIntents",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_PhotosUI_WidgetKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "none"
  },
  {
   "name": "_QuickLook_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_RelevanceKit_MapKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_SceneKit_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_SecureElementCredential_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_SecureElementCredential_UIKit",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_SpriteKit_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_Translation_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "_WorkoutKit_SwiftUI",
   "status": "unchanged",
   "private": true,
   "docs_url": null,
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "Accelerate",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/accelerate",
   "summary": null,
   "body": "none"
  },
  {
   "name": "Accessibility",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/accessibility",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "AccessoryLiveActivities",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/accessoryliveactivities",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "AccessoryNotifications",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/accessorynotifications",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "AccessorySetupKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/accessorysetupkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "Accounts",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/accounts",
   "summary": null,
   "body": "none"
  },
  {
   "name": "AdAttributionKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/adattributionkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "AddressBook",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/addressbook",
   "summary": null,
   "body": "none"
  },
  {
   "name": "AddressBookUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/addressbookui",
   "summary": null,
   "body": "none"
  },
  {
   "name": "AdServices",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/adservices",
   "summary": null,
   "body": "none"
  },
  {
   "name": "AdSupport",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/adsupport",
   "summary": null,
   "body": "none"
  },
  {
   "name": "AppClip",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/appclip",
   "summary": null,
   "body": "none"
  },
  {
   "name": "AppMigrationKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/appmigrationkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "AppTrackingTransparency",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/apptrackingtransparency",
   "summary": null,
   "body": "none"
  },
  {
   "name": "AssetsLibrary",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/assetslibrary",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "AudioUnit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/audiounit",
   "summary": null,
   "body": "none"
  },
  {
   "name": "AutomatedDeviceEnrollment",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/automateddeviceenrollment",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "BusinessChat",
   "status": "unchanged",
   "private": false,
   "docs_url": null,
   "summary": null,
   "body": "none"
  },
  {
   "name": "CallKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/callkit",
   "summary": null,
   "body": "none"
  },
  {
   "name": "CarKey",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/carkey",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "CFNetwork",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/cfnetwork",
   "summary": null,
   "body": "none"
  },
  {
   "name": "ClassKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/classkit",
   "summary": null,
   "body": "none"
  },
  {
   "name": "ClassKitUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/classkitui",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "ClockKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/clockkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "Combine",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/combine",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "ContactProvider",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/contactprovider",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "CoreAudioKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coreaudiokit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "CoreAudioTypes",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coreaudiotypes",
   "summary": null,
   "body": "none"
  },
  {
   "name": "CoreHaptics",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/corehaptics",
   "summary": null,
   "body": "none"
  },
  {
   "name": "CoreLocationUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/corelocationui",
   "summary": null,
   "body": "none"
  },
  {
   "name": "CoreMediaIO",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coremediaio",
   "summary": null,
   "body": "none"
  },
  {
   "name": "CoreMIDI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coremidi",
   "summary": null,
   "body": "none"
  },
  {
   "name": "CoreServices",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coreservices",
   "summary": null,
   "body": "none"
  },
  {
   "name": "CoreText",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/coretext",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "CreateML",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/createml",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "CreateMLComponents",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/createmlcomponents",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "DeviceActivity",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/deviceactivity",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "DeviceCheck",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/devicecheck",
   "summary": null,
   "body": "none"
  },
  {
   "name": "DockKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/dockkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "EventKitUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/eventkitui",
   "summary": null,
   "body": "none"
  },
  {
   "name": "ExtensionKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/extensionkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "FileProviderUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/fileproviderui",
   "summary": null,
   "body": "none"
  },
  {
   "name": "FinanceKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/financekit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "FinanceKitUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/financekitui",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "GameKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/gamekit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "GameSave",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/gamesave",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "GeoToolbox",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/geotoolbox",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "GLKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/glkit",
   "summary": null,
   "body": "none"
  },
  {
   "name": "GSS",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/gss",
   "summary": null,
   "body": "none"
  },
  {
   "name": "HealthKitUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/healthkitui",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "iAd",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/iad",
   "summary": null,
   "body": "none"
  },
  {
   "name": "IdentityDocumentServicesUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/identitydocumentservicesui",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "IdentityLookup",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/identitylookup",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "IdentityLookupUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/identitylookupui",
   "summary": null,
   "body": "none"
  },
  {
   "name": "ImageCaptureCore",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/imagecapturecore",
   "summary": null,
   "body": "none"
  },
  {
   "name": "Intents",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/intents",
   "summary": null,
   "body": "none"
  },
  {
   "name": "IntentsUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/intentsui",
   "summary": null,
   "body": "none"
  },
  {
   "name": "IOSurface",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/iosurface",
   "summary": null,
   "body": "none"
  },
  {
   "name": "LightweightCodeRequirements",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/lightweightcoderequirements",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "LinkPresentation",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/linkpresentation",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "LiveCommunicationKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/livecommunicationkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "LocalAuthentication",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/localauthentication",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "LocalAuthenticationEmbeddedUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/localauthenticationembeddedui",
   "summary": null,
   "body": "none"
  },
  {
   "name": "LockedCameraCapture",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/lockedcameracapture",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "ManagedApp",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/managedapp",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "ManagedSettings",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/managedsettings",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "ManagedSettingsUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/managedsettingsui",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "MarketplaceKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/marketplacekit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "MatterSupport",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mattersupport",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "MediaSetup",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mediasetup",
   "summary": null,
   "body": "none"
  },
  {
   "name": "MetalKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/metalkit",
   "summary": null,
   "body": "none"
  },
  {
   "name": "MLCompute",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mlcompute",
   "summary": null,
   "body": "none"
  },
  {
   "name": "MobileCoreServices",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/mobilecoreservices",
   "summary": null,
   "body": "none"
  },
  {
   "name": "ModelIO",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/modelio",
   "summary": null,
   "body": "none"
  },
  {
   "name": "NaturalLanguage",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/naturallanguage",
   "summary": null,
   "body": "none"
  },
  {
   "name": "NotificationCenter",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/notificationcenter",
   "summary": null,
   "body": "none"
  },
  {
   "name": "OpenAL",
   "status": "unchanged",
   "private": false,
   "docs_url": null,
   "summary": null,
   "body": "none"
  },
  {
   "name": "OSLog",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/oslog",
   "summary": null,
   "body": "none"
  },
  {
   "name": "PermissionKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/permissionkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "PHASE",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/phase",
   "summary": null,
   "body": "none"
  },
  {
   "name": "PushKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/pushkit",
   "summary": null,
   "body": "none"
  },
  {
   "name": "PushToTalk",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/pushtotalk",
   "summary": null,
   "body": "none"
  },
  {
   "name": "QuickLookThumbnailing",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/quicklookthumbnailing",
   "summary": null,
   "body": "none"
  },
  {
   "name": "RelevanceKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/relevancekit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "RoomPlan",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/roomplan",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "SafetyKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/safetykit",
   "summary": null,
   "body": "none"
  },
  {
   "name": "SceneKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/scenekit",
   "summary": null,
   "body": "none"
  },
  {
   "name": "ScreenTime",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/screentime",
   "summary": null,
   "body": "none"
  },
  {
   "name": "SecureElementCredential",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/secureelementcredential",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "Security",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/security",
   "summary": null,
   "body": "none"
  },
  {
   "name": "SecurityUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/securityui",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "ServicesAccountLinking",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/servicesaccountlinking",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "SharedWithYouCore",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/sharedwithyoucore",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "Social",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/social",
   "summary": null,
   "body": "none"
  },
  {
   "name": "StickerFoundation",
   "status": "unchanged",
   "private": false,
   "docs_url": null,
   "summary": null,
   "body": "none"
  },
  {
   "name": "Symbols",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/symbols",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "SystemConfiguration",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/systemconfiguration",
   "summary": null,
   "body": "none"
  },
  {
   "name": "SystemExtensions",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/systemextensions",
   "summary": null,
   "body": "none"
  },
  {
   "name": "TabularData",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/tabulardata",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "ThreadNetwork",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/threadnetwork",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "Translation",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/translation",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "TranslationUIProvider",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/translationuiprovider",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "UserNotificationsUI",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/usernotificationsui",
   "summary": null,
   "body": "none"
  },
  {
   "name": "VideoSubscriberAccount",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/videosubscriberaccount",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "VisionKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/visionkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "WatchConnectivity",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/watchconnectivity",
   "summary": null,
   "body": "none"
  },
  {
   "name": "WeatherKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/weatherkit",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "WiFiInfrastructure",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/wifiinfrastructure",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "WirelessInsights",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/wirelessinsights",
   "summary": null,
   "body": "fragment"
  },
  {
   "name": "WorkoutKit",
   "status": "unchanged",
   "private": false,
   "docs_url": "https://developer.apple.com/documentation/workoutkit",
   "summary": null,
   "body": "fragment"
  }
 ]
}