Skip to content

4.4.0

Choose a tag to compare

@belleklaviyo belleklaviyo released this 24 Apr 17:59
· 2 commits to rel/4.4.0 since this release
291b8cf

What's New

  • Push notification action buttons — Klaviyo messages can now include up to 3 tappable buttons with custom labels and deep link or open-app actions. Tapping a button dismisses the notification automatically. No additional integration setup required. (#440, #442)
  • Floating forms — New in-app form presentation style for floating/overlay layouts. (#441)
  • Form lifecycle event hooks — New public API to observe in-app form lifecycle events (shown, dismissed, CTA clicked), aligned with the iOS SDK contract. (#434)
    Klaviyo.registerFormLifecycleHandler { event ->
        when (event) {
            is FormLifecycleEvent.FormShown -> ...
            is FormLifecycleEvent.FormDismissed -> ...
            is FormLifecycleEvent.FormCtaClicked -> ...
        }
    }
  • data-klaviyo-device attribute + layout contract updates — Injects device dimensions, safe-area insets, orientation, and DPR into the in-app forms webview at parse time. Adds addSafeAreaInsetsToOffsets flag for custom safe-area control. Cross-platform parity with iOS SDK. (#443)

Bug Fixes

  • Fix floating form offset clamping to prevent forms being pushed off-screen or reporting negative sizes. (#443)
  • Fix empty or missing Android deep link treated as no-op instead of crash. (#415)
  • Validate required bridge message fields (formId, formName) on incoming messages. (#437)
  • Downgrade androidx.core to 1.16.0 for compileSdk 35 compatibility.
  • Remove WebMessageListener before destroying WebView to prevent memory leaks.

Other Changes

  • Refactor form lifecycle callbacks out of presentation manager for cleaner separation of concerns.