v1.0.51 — Interactive Chat: context round-trip + better webhook error visibility
Release date: April 2026
Interactive Chat (interactive_chat step)
contextfield in chat webhook requests — the SDK now echoes back whatever you returned in a prior response’sdataobject on every subsequent turn ascontext. Lets you integrate threaded AI backends (OpenAI Assistants, hosted LLMs withthreadId, Claude with conversation memory, third-party AI proxies) without replaying the full conversation history on every request. Write once viadata, read every turn fromreq.body.context. Last-write-wins across turns per-key. See the new Threaded backends section in the iOS onboarding docs for the full pattern.chat_webhook_errornow surfaces non-2xx HTTP responses — previously the iOS SDK would decode a 4xx/5xx error body as an emptyChatWebhookResponse(all fields nil) and silently firechat_message_receivedwithmessage_count: 0, rendering nothing. It now checksHTTPURLResponse.statusCode, fireschat_webhook_errorwithhttp_statusand a truncatedresponse_bodyproperty, and shows the configurederror_textin-chat. Android already handled this correctly.
Compatibility
- iOS SDK 1.0.51 (Swift 5.9+, iOS 16+)
- Backwards compatible: new
contextfield is additive. Older webhooks that don’t read it keep working. Older SDKs that don’t send it keep working against new webhooks.
v1.0.12 — Diagnostics & Error Handling
Release date: March 2026AppDNA.diagnose(): New public method that prints a full SDK health report — API key validation, bootstrap status, Firebase initialization path, identity, event queue, and active modules- Smart event retry: SDK no longer retries on 401 (invalid key) or 400 (bad payload) — pauses immediately instead of wasting 15 retry cycles
- Event upload logging: HTTP status code and response body now logged on every failure (was silent before)
- Firebase safety: Removed dangerous fallback to host app’s Firebase project. Clear error messages when
GoogleService-Info-AppDNA.plistis missing - API key validation: Format check at
configure()time (must start withadn_live_oradn_test_) - Bootstrap timeout: Increased from 5s to 15s (was shorter than retry cycle on cellular networks)
- Crash prevention: Event flush pauses after 5 consecutive failures + 1000 event memory cap
- Android timeout fixes: Rich push image download 5s→10s/15s, geocoding 5s→10s, hardcoded URL→api.appdna.ai
Compatibility
- iOS SDK 1.0.12 (Swift 5.9+, iOS 16+)
- Android SDK 1.0.12 (Kotlin, API 24+)
v1.0.9 — Critical Fixes
Release date: March 2026- Firebase crash fix: iOS SDK no longer crashes when host app already uses Firebase — uses named secondary app (“appdna”) with 4-tier fallback
- API URL fix: Both sandbox and production environments now use
api.appdna.ai(removed non-existentsandbox-api.appdna.ai) - Main thread fix: iOS
UIApplication.sharedaccess moved to main thread, preventing background-thread crashes - Android null safety: Fixed 3 force-unwrap crashes in bootstrap parsing and Firebase config
- Android connection leak: All HTTP responses now use
.use {}block to prevent connection pool exhaustion - Thread safety: Added NSLock for iOS initialization, synchronized blocks for Android module access
- 31 additional fixes from comprehensive SDK audit (force unwraps, race conditions, error handling)
Compatibility
- iOS SDK 1.0.9 (Swift 5.9+, iOS 16+)
- Android SDK 1.0.9 (Kotlin, API 24+)
v1.0.8 — Stability & Compatibility
Release date: March 2026- Firebase compatibility: iOS SDK now supports Firebase 11.x and 12.x (
>= 11.0, < 13.0) - CocoaPods fix: Added MIT LICENSE file (required for
pod trunk push) - Version alignment: iOS and Android SDKs both report
1.0.8consistently
Compatibility
- iOS SDK 1.0.8 (Swift 5.9+, iOS 16+)
- Android SDK 1.0.8 (Kotlin, API 24+)
v1.1.0 — Server-Driven UI Engine (SPEC-089c)
Release date: March 2026Server-Driven Screens (New Module)
- Unified screen renderer — any screen designed in the console is rendered natively, combining content blocks from onboarding, paywalls, surveys, and messages into a single composable surface
- Multi-screen flows — build guided tours, upgrade funnels, win-back sequences, and onboarding alternatives with server-defined navigation graphs and branching
- Screen slots — embed named
AppDNAScreenSlotviews inline in your app; the console assigns and updates content with audience targeting - Navigation interception — automatically inject screens between app navigations without code changes
- Debug preview — test screen configs from raw JSON without publishing to Firestore
- Screen delegate —
AppDNAScreenDelegateprotocol for screen lifecycle callbacks and action interception - 14 new auto-tracked events —
screen_presented,screen_dismissed,screen_action,flow_started,flow_completed,flow_abandoned,slot_rendered,slot_registered,interception_triggered, and more
Paywall Enhancements
- 12 plan display styles — horizontal cards, vertical stack, toggle switch, segmented control, radio list, carousel, comparison grid, pill selector, tier blocks, minimal text, featured highlight, and accordion
- Card & badge customization — per-plan badge text/color, card border/shadow, save percentage, trial label, card background (solid/gradient/image), and corner radius
Onboarding Enhancements
- Row direction and distribution — configurable horizontal/vertical direction with 7 distribution modes (equal, fill, start, center, end, space_between, space_around)
- Button gradients — gradient backgrounds with configurable direction (horizontal, vertical, diagonal)
- Select display styles — dropdown, stacked, and grid layouts for question option lists
- Progress bar custom colors — custom fill color, track color, gradient fill, corner radius, and height
Platforms
- iOS SDK 1.1.0 (Swift 5.9+, iOS 16+)
- Android SDK 1.1.0 (Kotlin, API 24+)
v1.0.6 — SDK Rendering Parity (SPEC-089d)
Release date: March 2026Onboarding
- 18 new content block types — page indicator, wheel picker, pulsing avatar, social login, timeline, animated loading, countdown timer, rating, rich text, progress bar, circular gauge, date wheel picker, stack, row, custom view, star background, and pricing card
- Custom view registration — host apps can register native SwiftUI/Composable views for
custom_viewblocks - Dynamic bindings —
onBeforeStepRenderhook data flows into block properties via{{binding_key}}syntax - Block styling —
block_styledesign tokens for padding, margin, background, corner radius, border, shadow, and opacity - Visibility conditions — per-block show/hide rules based on responses, bindings, device attributes
- Entrance animations — fade, slide, scale, flip, and bounce animations per block with configurable duration and easing
- 8 new form field types — password, rating, range slider, image picker, color, URL, chips, and signature
Paywalls
- 12 new section types — countdown, legal, divider, sticky footer, card, carousel, timeline, icon grid, comparison table, promo input, toggle, and reviews carousel
- Promo code handling —
onPromoCodeSubmitdelegate for server-side coupon validation with discount display - Toggle state in purchase metadata — toggle section states (e.g., annual billing, add-ons) included in transaction metadata
Bug Fixes
- Fixed 3 remaining audit failures for SPEC-089d rendering compliance
- Added flip animation type to Android entrance animations
Platforms
- iOS SDK 1.0.6 (Swift 5.9+, iOS 16+)
- Android SDK 1.0.6 (Kotlin, API 24+)
v1.0.0 — General Availability
Release date: February 2026SDKs
- iOS SDK 1.0.0 (Swift 5.9+, iOS 16+, SPM & CocoaPods)
- Android SDK 1.0.0 (Kotlin, API 24+, Maven Central)
- Flutter SDK 1.0.0 (Dart 3.0+, pub.dev)
- React Native SDK 1.0.0 (TypeScript, npm)
Core Features
- Offline-first architecture — Three-tier config priority (Remote > Cached > Bundled)
- Config Bundles — Embeddable versioned JSON for CI/CD pipelines
- Identity management — Anonymous ID generation, user identification with traits, cross-session persistence
- Event tracking — Custom events with structured properties, automatic batching and retry
Modules
- Push Notifications — Token registration, rich notifications, deep link handling
- Billing — StoreKit 2 (iOS), Google Play Billing 7.0 (Android), entitlement management, receipt verification
- Onboarding — Server-driven onboarding flows with step tracking
- Paywalls — Server-driven paywall presentation with A/B testing support
- Remote Config — Key-value configuration with real-time updates
- Feature Flags — Boolean feature gates with targeting rules
- A/B Experiments — Deterministic MurmurHash3 assignment, cross-platform consistent bucketing
- Surveys — In-app surveys with response collection
- In-App Messages — Triggered messaging with templates
- Deep Links — Universal/App link handling with deferred deep link support
API & Integrations
- RESTful API with two authentication modes (SDK keys & Dashboard keys)
- 16 webhook event types with HMAC-SHA256 signing
- Exponential backoff retry (5 attempts)
Dashboard
- 10 growth modules (Onboarding, Monetization, Retention, ASO, ICP/USP, Paid UA, Organic Social, Feedback Loop, Web2App, Experiments)
- AI-powered strategy assistant per module
- Real-time Event Debugger
- Organization and app management with role-based access

