June 16, 2026
PNLight adds Remote UI targeting, App Events analytics, and SDK 0.7.2
This release gives you more control over which users see Remote UI, more visibility into in-app behavior, and new SDK tools for attribution and Remote UI caching.Dashboard
App Events analytics The dashboard now includes Analytics → App Events, a dedicated view for SDK events sent withlogEvent. You can chart event volume over time, compare event names, search the event table, inspect recent payload samples, and open the related customer profile from a sample. Read the docs.Remote UI targeting and protection
Remote UI placements can now target users by ad campaign, device, OS version, country, and SDK version. Placement settings also include protection modes for secure rendering and capture handling. Read the docs.Test devices for Remote UI QA
You can add test device IDFAs or SDK user IDs from Integration. Test devices can receive Remote UI in test mode, including cases where production targeting or capture protection would normally block the placement. Read the docs.Customer timeline debugging
Customer profiles now provide more debugging context, including app events, attribution details, test-device state, and Remote UI capture state. Read the docs.SDK updates
SDK 0.7.2 The iOS, React Native, and Flutter wrappers are synchronized at version0.7.2. The release improves Remote UI cache behavior, adds ignoreCache, and exposes clearer config-loading errors in wrapper APIs. Read the docs.IDFA refresh after ATT
SDKs now expose updateIdfa() so apps can send the granted IDFA after the App Tracking Transparency prompt completes. This is useful when PNLight initializes before ATT authorization. Read the docs.App-open tracking
The SDK now reports repeat app opens after the first install. PNLight uses this signal to keep customer activity fresh and to add system app-open events to timelines.Remote UI cache refresh
Remote UI configs are cache-first by default and refresh in the background with ETag requests. Use ignoreCache when QA or state changes require a fresh server response. Read the docs.May 31, 2026