NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3784 most downloaded on pub.dev
The official SDK for Luciq, the Agentic Observability Platform for Mobile. Use AI agents to resolve issues faster and empower your team to focus on building what matters.
Last release 18 days ago
20 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 15 of 15 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
15 releases · first in 2025
Remove the internal Sonatype snapshot and Luciq Nexus Maven repositories from the Android build configuration, which broke Android builds for apps tha
Add support for logging user events with key-value parameters using UserEventParam .
UserEventParam. (#70)Surveys.setOnFinishCallback API that notifies the host app when a survey finishes,One column per month.
comprehensive debug logging across all modules and performance-critical hot paths, ensuring the strict protection and redaction of SDK consumer PII.
Errors thrown by native (Pigeon) host calls are now logged and swallowed by the SDK instead of being re-thrown into your app. This honors the SDK rule that no exception may escape into the embedding application. As a consequence, every public API that previously returned a value now returns its nullable equivalent � null signals that the underlying host call failed.
Affected public APIs:
| API | Before | After |
|---|---|---|
Luciq.getUserAttributes() |
Future<Map<String, String>> |
Future<Map<String, String>?> |
Replies.hasChats() |
Future<bool> |
Future<bool?> |
Replies.getUnreadRepliesCount() |
Future<int> |
Future<int?> |
SessionReplay.getSessionReplayLink() |
Future<String> |
Future<String?> |
Surveys.getAvailableSurveys() |
Future<List<String>> |
Future<List<String>?> |
Surveys.hasRespondedToSurvey() |
Future<bool> |
Future<bool?> |
| Migration: coalesce with a sensible default or null-check before use, e.g. |
final hasChats = (await Replies.hasChats()) ?? false;
final unread = (await Replies.getUnreadRepliesCount()) ?? 0;
final link = await SessionReplay.getSessionReplayLink();
if (link != null) { ... }WebView Support: New APIs to monitor WebViews in your app, including page navigations, user interactions, and network requests issued from inside the
Luciq.init:
// Enable WebView monitoring (required for the APIs below).
Luciq.setWebViewMonitoringEnabled(true);
// Track taps and other user interactions inside WebViews.
Luciq.setWebViewUserInteractionsTrackingEnabled(true);
// Log network requests issued from WebViews.
Luciq.setWebViewNetworkTrackingEnabled(true);setWebViewMonitoringEnabled must be on for the user-interactions and network-tracking APIs to take effect.Add support for Screen Loading with react-navigation integration and manual reporting API.
Session Replay Screenshot Quality Control: New API to adjust the visual quality of captured screenshots.
// Available quality options:
// - ScreenshotQualityMode.normal (default) - 25% WebP compression, balanced size/quality
// - ScreenshotQualityMode.high - 50% WebP compression, better clarity
// - ScreenshotQualityMode.greyScale - 25% WebP compression, reduced color data
SessionReplay.setScreenshotQualityMode(ScreenshotQualityMode.normal);Warning: Video-like Session Replay may capture sensitive UI unmasked in some cases. USE AT YOUR OWN DISCRETION TO PREVENT PII LEAKAGE. Opt in ONLY after validating masking/privacy in your app.
// Set capturing mode
// - ScreenshotCapturingMode.navigation (default) - Captures on screen changes
// - ScreenshotCapturingMode.interaction - Captures on user interactions
// - ScreenshotCapturingMode.frequency - Captures at fixed intervals
SessionReplay.setScreenshotCapturingMode(ScreenshotCapturingMode.frequency);
// Set screenshot capture interval (only applies to ScreenshotCapturingMode.frequency)
// Value in milliseconds. Minimum: 500ms, Default: 1000ms
SessionReplay.setScreenshotCaptureInterval(500);Note: On Android low-performance devices, only
ScreenshotCapturingMode.navigationmode is available.
APM.startCustomSpan(name) - Start a custom span and return a span objectCustomSpan.end() - End the span and report to SDKAPM.addCompletedCustomSpan(name, startDate, endDate) - Record a pre-completed spanBump Luciq iOS SDK to v19.5.0 ( #42 ). See release notes .
Allow identification with nullable email. ( #40 ).
Add new UserConsentActionType - noAutomaticBugGrouping.
Bump Luciq iOS SDK to v19.3.0 ( #33 ). See release notes .
Add support for Screen Rendering
Guard LuciqNavigatorObserver pending-step removal to eliminate the race that could crash apps or produce incorrect screenshots during rapid route tran
Make LuciqNavigatorObserver screen report delay configurable.
LuciqNavigatorObserver screen report delay configurable. (#17)Bump Luciq iOS SDK to v19.1.0 (#10). See release notes.
Bump Luciq Android SDK to v18.2.0 (#10). See release notes.
Add support for proactive bug-reporting (#4).
Add support for proactive bug-reporting (#4).
Add support enable/disable the automatic masking of sensitive information in network logs. (#6).
Add support NDK Crash. (#2).
Bump Luciq iOS SDK to v18.0.1 (#10). See release notes.
Bump Luciq Android SDK to v18.0.1 (#10). See release notes.
SDK rebranded from Luciq to Luciq.
Your coding agent can read these notes before it upgrades. Set up the MCP server →