Repository navigation
FeedbackKit 2.2.0
Campaign invitations and sheets
- Add visitor-aware and identity-free Campaign prompt checks so hosts control when invitations appear.
- Add idempotent Campaign read receipts; loaded Campaign sheets mark read without blocking the form on failures.
- Add completed and ended terminal states while preserving host-owned presentation, style, locale, and haptics.
Developer posts
- Add first-class Campaign actions and open them in the shared Campaign sheet.
- Advertise the campaign-post-action capability so older SDKs continue decoding developer posts safely.
Form correctness
- Add respondedAt to Campaigns.
- Harden number parsing, integer overflow handling, floating-point multiple-of checks, repeated arrays, optional empty values, and diagnostic retry reuse.
Compatibility: this release adds the FeedbackDeveloperPostAction.Kind.campaign enum case. Clients with exhaustive switches over Kind should handle the new case.
Validation: 223 tests in 36 suites passed, generic iOS Package and Demo builds passed, iPhone 16e UI tests passed, GitHub CI passed, and API comparison against 2.1.0 reported only the expected added enum case.