Skip to content

0.24.0: Rendering Effects and Controls

Choose a tag to compare

@github-actions github-actions released this 18 Oct 18:33
39d2cfe

Highlights

  • Add label views, button styles, and toggle styles for iOS and macOS
  • Add compositing groups, blend modes, opacity APIs, and visual, geometry, and color effects
  • Add DragGesture, PanGesture, physical button press gestures, and allowsHitTesting
  • Add visionOS Simulator and device builds, binary distribution, and native Xcode Previews
  • Add PreviewProvider APIs

What's Changed

  • feat(label): add label views and style support by @Kyle-Ye in #1123
  • fix(packaging): link OpenRenderBoxShimsCxx statically by @Kyle-Ye in #1124
  • feat(render): complete opacity effects by @Kyle-Ye in #1129
  • feat(style): add default foreground and material helpers by @Kyle-Ye in #1125
  • feat(render): add compositing groups by @Kyle-Ye in #1126
  • feat(render): add view blend modes by @Kyle-Ye in #1127
  • feat(event): add spring loading behavior by @Kyle-Ye in #1130
  • feat(layout): add coordinate space modifiers by @Kyle-Ye in #1131
  • feat(focus): implement focus event proxy by @Kyle-Ye in #1132
  • feat(environment): update control size support by @Kyle-Ye in #1133
  • feat(gesture): implement physical button press gesture by @Kyle-Ye in #1134
  • feat(opacity): add opacity APIs and appearance animations by @Kyle-Ye in #1135
  • feat(effects): implement visual and custom hover effects by @Kyle-Ye in #1136
  • feat(effects): add geometry and color effect APIs by @Kyle-Ye in #1139
  • feat(button): implement button styles and interactions by @Kyle-Ye in #1138
  • fix(text): preserve macOS font smoothing in keyed text masks by @Kyle-Ye in #1141
  • test(effects): add shared examples and UI snapshots by @Kyle-Ye in #1142
  • test(example): add extendedBlendMode example and UI snapshot test by @Kyle-Ye in #1143
  • ci(uitests): tolerate xcodebuild crash after SwiftUI recording by @Kyle-Ye in #1144
  • fix(uitests): stabilize macOS snapshot host lifetime by @Kyle-Ye in #1146
  • chore(example): restore Text and Button in examples by @Kyle-Ye in #1147
  • fix(example): remove project generation warnings by @Kyle-Ye in #1149
  • feat(toggle): implement toggle styles for iOS and macOS by @Kyle-Ye in #1148
  • feat(gesture): add hitTestingLayoutGesture SPI by @Kyle-Ye in #1150
  • feat(hit-testing): add allowsHitTesting modifier by @Kyle-Ye in #1151
  • fix(layout): update JindoTripleVStack impl by @Kyle-Ye in #1152
  • feat(gesture): implement DragGesture by @Kyle-Ye in #1168
  • feat(gesture): implement PanGesture by @Kyle-Ye in #1170
  • build(visionos): build for the visionOS Simulator with the public SDK by @Kyle-Ye in #1172
  • fix(material): fall back to system colors for foreground material style by @Kyle-Ye in #1174
  • build(visionos): support visionOS device builds by @Kyle-Ye in #1177
  • feat(preview): implement PreviewProvider APIs by @Kyle-Ye in #1175
  • fix(preview): add native visionOS Preview support by @Kyle-Ye in #1179
  • build: include visionOS in binary distributions by @Kyle-Ye in #1181
  • fix: complete release checks and stabilize snapshot tests by @Kyle-Ye in #1184
  • feat(focus): connect keyboard actions and platform focus by @Kyle-Ye in #1183
  • ci: isolate iOS snapshot test simulators by @Kyle-Ye in #1185
  • fix(uitests): stabilize animation snapshot timing by @Kyle-Ye in #1182
  • ci(release): request interface coverage after publishing by @Kyle-Ye in #1186
  • fix(release): normalize and verify binary interfaces by @Kyle-Ye in #1188
  • fix: restore toggle interaction on iOS by @Kyle-Ye in #1189

Full Changelog: 0.23.0...0.24.0

Binary Integration

.package(url: "https://github.com/OpenSwiftUIProject/OpenSwiftUI-spm.git", from: "0.24.0")

See INTEGRATION.md for more details.

Interface Coverage

Full report: OpenSwiftUI 0.24.0

Baseline SwiftUI + SwiftUICore SwiftUI SwiftUICore
iOS 18.5 50.12% 24.82% 77.92%
macOS 15.5 48.93% 23.60% 77.94%