Changelog

Complete record of API additions, changes, and removals for the Zeta React Native SDK. Follows Keep a Changelog and Semantic Versioning.

This page is for React Native developers who need a precise record of every API-level change across SDK releases. For upgrade instructions, see the Migration Guide.

On this page


1.0.0 (June 8, 2026)

Summary

Version 1.0.0 aligns the React Native SDK with the native 1.0.0 line, introduces the App Inbox wrapper, moves push notification handling to a unified Promise-based API, and replaces the isLoggingEnabled flag with the ZTLogger API. See the Migration Guide for the full upgrade path from 0.2.0.

Added

  • App Inbox — Message lifecycle wrapper exposed via ZetaClient.inbox (ZTInboxManagable). All methods are Promise-based:
    • fetchMessages() — syncs the server state into the local store and returns all non-deleted messages.
    • getUnreadMessages() / getReadMessages() — query the local store by status.
    • getMessageCount() / getUnreadMessageCount() / getReadMessageCount() — message counts.
    • getMessage(messageId) — fetch a single message by ID.
    • markMessageAsRead(messageId) / markAllMessagesAsRead(messageIds).
    • markMessageAsDeleted(messageId) / markAllMessagesAsDeleted(messageIds).
    • onMessageClicked(messageId, actionValue) — records a CTA click and triggers server-side automation.
    • clearAll() — removes all messages from the local store.
  • ZTAppInboxMessage type — inbox message model with messageId, title, body, mediaUrl, status, expirationTimestamp, actionList, templateId, and additionalData.
  • ZTAppInboxAction type — CTA button model with type, text, value, link, and actionType.
  • ZTAppInboxMessageStatus enum — READ, UNREAD, DELETED.
  • ZTLogger — structured logging namespace mirroring the native SDKs:
    • ZTLogger.setLogLevel(ZTLogLevel) — controls native SDK log verbosity. Levels: NONE (default), VERBOSE, DEBUG, INFO, WARNING, ERROR.
    • ZTLogger.setLogPrivacy(ZTLogPrivacy) — controls log content visibility in system captures (iOS only; no-op on Android). Values: PRIVATE (default), PUBLIC.

Changed

  • Native SDK alignment — Aligned with Android SDK net.zetaglobal.app:core:1.0.1 (picks up the 1.0.1 cold-start sync hotfix) and iOS SDK ZetaCore 1.0.0.
  • Push notification handlingZetaClient.push.handleNotificationsMessage(response, actionIdentifier?) is now promise-based and returns Promise<boolean> (true when the Zeta SDK handled the notification). On Android the promise resolves to false so shared JS code does not need platform guards.

Removed

  • isLoggingEnabled (Breaking) — Removed from ZTConfig. Use ZTLogger.setLogLevel(ZTLogLevel.DEBUG) before ZetaClient.initialize(...) instead.
  • userNotificationCenter (Breaking) — Removed in favor of the unified promise-based handleNotificationsMessage.

0.2.0 (February 9, 2026)

Added

  • In-app email collection — In-app forms can prompt unknown users for an email. The submitted address is delivered through the inAppMessageOnClicked event and available on the in-app message form data.
  • Unique client IDsZetaClient.user.setUniqueClientId(name, value) for ZMP profile-merge scenarios.
  • Event listener patternZetaCoreEvents.InAppMessageDelegate and the NativeEventEmitter (iOS) / DeviceEventEmitter (Android) pattern for consuming in-app message lifecycle events.
  • Deeplink handlingZetaClient.push.setDeeplinkDelegate(), ZetaClient.push.notifyReactNativeNavigationReady(), and ZetaCoreEvents.DeeplinkDelegate for deeplink navigation (iOS).

All 0.2.0 changes are additive — no migration is required. See Migration Guide / Upgrading to 0.2.0.


0.1.x and earlier

Initial pre-release versions. Core SDK functionality: user identity, event tracking, and push notifications via APNs (iOS) and Firebase Cloud Messaging (Android).