Breaking
- Views, modifiers, styles, dynamic properties, scenes, and apps must now be value types. A class-based view will now fail to compile. (This change brings SwiftTUI into line with SwiftUI, but is nevertheless source-breaking.)
Added
- .scale and .scale(scale:anchor:) transitions.
Changed
- DynamicProperty.update(in:) is now mutating; custom wrappers can keep state in a plain stored property. Existing conformers compile unchanged.
- The state.imperativeSeedFallback diagnostic now names the declaring file (Module/File.swift:line:column).
Fixed
- A nested exact .id inside a multi-statement ForEach row was rebuilt every frame.
- A memoized body could be served another view's output in release builds under a stable .id.
- A
@Statevar read only indirectly could be incorrectly reclaimed and reseeded from its default.