Released August 20, 2026
New
- Peak memory footprint –
memory-debuggingnow covers reading an app’s peak footprint withtask_vm_infoand its remaining headroom withos_proc_available_memory(): which figure a memory-limit kill and background jetsam each judge, taking a before-and-after delta because the peak never resets, and why a headroom reading of zero is ambiguous.performance-profilingreads the peak before recording in Instruments, to tell a transient spike from steady growth.
Updated
- Lazy containers and memory – Explains that through iOS 26, lazy containers such as
LazyVStackandListkeep the state of every row a user scrolls past, so memory grows with the rows visited, while iOS 27 releases those rows and rebuilds them on the way back, resetting their@State, even in apps built with the iOS 26 SDK. Lift per-row state above the row and keep heavy payloads such as images in a bounded store likeNSCache;swiftui-performance-analyzernow flags those payloads in a lazy row’s state. The change coversswiftui-layout-ref,swiftui-containers-ref,swiftui-performanceandmemory-debugging, which tells this growth apart from a leak.
Full Changelog: v27.0.0-beta.47...v27.0.0-beta.48