Highlights
- Add iOS and macOS gesture system support
- Add gesture UX CI system (Forked Hammer and add macOS support on top of it)
- Add ViewThatFits API support
- Add Linux Stdout Renderer support
What's Changed
- Mark Foundation ProgressView snapshot as intermittent on iOS by @Kyle-Ye in #1031
- Fix ContentPathObservers.notifyPathChanged by @Dark-Existed in #1012
- Fix DefaultLayoutViewResponder.init(inputs:viewSubgraph:) by @Dark-Existed in #1011
- Add previews for shared examples by @Kyle-Ye in #1032
- Implement ViewThatFits layout selection by @Kyle-Ye in #1033
- Fix inherited platform view state propagation by @Kyle-Ye in #1034
- Implement ContainerValues APIs by @Kyle-Ye in #1035
- Add UIKit event and gesture integration by @Kyle-Ye in #1036
- Update Dictionary.optimisticFilter for small dictionaries by @Kyle-Ye in #1037
- Implement event debug triggers by @Kyle-Ye in #1038
- Implement GestureGraph lifecycle and event processing by @Kyle-Ye in #1039
- Reuse helpers for numeric operations and object addresses by @Kyle-Ye in #1041
- Bump Tuist to 4.206.0 by @Kyle-Ye in #1042
- Run optional CI checks on demand and unify release workflows by @Kyle-Ye in #1043
- Update GraphHost and implement global transactions by @Kyle-Ye in #1045
- docs: require Conventional Commits for commits and PR titles by @Kyle-Ye in #1046
- feat(state): add ObservableLocation by @Kyle-Ye in #1047
- test(state): add StoredLocationTests by @Kyle-Ye in #1048
- fix(binding): forward projected location writes by @Kyle-Ye in #1049
- fix(build): avoid UIKit indexing crashes on iOS by @Kyle-Ye in #1053
- [CI] Enable ProgressViewUITests.indeterminateInitializers by @Kyle-Ye in #1044
- chore: disable remote Tuist caching by @Kyle-Ye in #1052
- ci: test OAG and IAG backends on Ubuntu by @Kyle-Ye in #1051
- refactor: use WeakAttribute.base directly by @Kyle-Ye in #1055
- feat(event): implement event binding and dispatch by @Kyle-Ye in #1054
- feat: implement gesture features and integrate FeatureFlags by @Kyle-Ye in #1056
- feat(event): complete ViewResponder implementation by @Kyle-Ye in #1057
- feat(event): implement ViewGraph event lifecycle by @Kyle-Ye in #1058
- feat(event): complete MultiViewResponder implementation by @Kyle-Ye in #1059
- fix(event): set visionOS hit-testing defaults by @Kyle-Ye in #1061
- feat(event): implement hit-test binding modifier by @Kyle-Ye in #1062
- feat(event): implement leaf view responder APIs by @Kyle-Ye in #1063
- fix(event): align gesture debug logging by @Kyle-Ye in #1064
- feat(render): complete renderer leaf view outputs by @Kyle-Ye in #1065
- feat(event): add key press APIs and keyboard shortcut bindings by @Kyle-Ye in #1067
- feat: implement color and shape leaf hit testing by @Kyle-Ye in #1066
- feat(event): add UIKit gesture containers and hosting view inputs by @Kyle-Ye in #1068
- feat(event): add platform view hit-testing support by @Kyle-Ye in #1069
- feat(event): implement UIKit and AppKit view responders by @Kyle-Ye in #1071
- feat: add AppKit gesture event integration by @Kyle-Ye in #1070
- feat(event): add hit-test diagnostics by @Kyle-Ye in #1072
- feat(event): implement SizeGesture by @Kyle-Ye in #1073
- feat(event): add styled text responder APIs by @Kyle-Ye in #1074
- feat(hosting): track foreign subviews and report unsupported additions by @Kyle-Ye in #1076
- feat(hosting): integrate hit-test handling and diagnostics by @Kyle-Ye in #1077
- feat: implement LayoutGesture by @Kyle-Ye in #1079
- fix(gesture): prevent tap gesture crashes by @Kyle-Ye in #1080
- fix(hosting): avoid false AppKit subview warnings by @Kyle-Ye in #1081
- fix(hosting): restore macOS tap gestures in offset views by @Kyle-Ye in #1084
- fix(gesture): prevent layout gesture reset crashes by @Kyle-Ye in #1085
- fix(gesture): restore iOS gesture container handling by @Kyle-Ye in #1088
- feat: complete ViewGraph behavior by @Kyle-Ye in #1087
- test: fix frame sizing and view graph test isolation by @Kyle-Ye in #1090
- fix(hosting): hide private platform overrides from module interfaces by @Kyle-Ye in #1089
- feat(stdout): enable Linux execution and CI by @Kyle-Ye in #1091
- test(stdout): verify renderer output and tree logging by @Kyle-Ye in #1092
- fix(identity): correct seed allocation and restore IdentityLink by @Kyle-Ye in #1093
- test: add gesture UX tests for iOS and macOS by @Kyle-Ye in #1094
- docs: update supported features and compatibility gaps by @Kyle-Ye in #1096
- fix(gesture): restore double-tap recognition by @Kyle-Ye in #1095
Full Changelog: 0.21.0...0.22.0
Binary Integration
.package(url: "https://github.com/OpenSwiftUIProject/OpenSwiftUI-spm.git", from: "0.22.0")See INTEGRATION.md for more details.