Android SDK

Android SDK Changelog

v19.7.0

Features

  • Adds the setViewsContentCaptureEnabled API to redact User Steps and Repro Steps content.

  • Adds support for params in user events.

  • Adds a Gradle configuration to automatically capture Jetpack Compose screens as APM screens.

luciq {
  showAutoComposableAsScreen = true
}

Enhancements

  • Adds support for per-variant Luciq app tokens in the luciq-crash Gradle plugin.

  • Optimizes console log lock contention that could block the main thread and cause ANRs.

Bug Fixes

  • Fixes an ANR caused by thread-safety race in OkHttp network logging under concurrent traffic.

  • Fixes data capture in the inapp_webview plugin by instrumenting WebView subclasses.

  • Fixes OOM crashes in long background sessions by applying backoff on sync failure.

v19.6.0

New Features

  • Track user actions in React Native WebViews

  • Support Screen Loading For React Native

Enhancements

  • Improve Accessibility in Bug Reporting screen

Bug Fixes

  • Fix host app crashes caused by RxJava UndeliverableException

  • Fix deadlock between the APM ServiceLocator.class monitor and Kotlin lazy internal locks which causes ANR in Flutter apps.

  • Fix memory leak in screen rendering caused by an unbounded per-instance map and prevent Window/Activity retention

v19.5.1

Bug Fixes

  • Fixes an ANR that could occur when non-HTTP URL connections, such as classpath resource loading via Kotlin reflection, were being intercepted by the network monitor.

  • Fixes an ANR that could occur when using the OkHttp network interceptor due to concurrent access from multiple threads during a network call.

v19.5.0

New Features

  • Adds support for branching in Custom Surveys.

  • Adds NDK symbol upload Gradle task for automated symbol file (.so) upload during the build process.

luciq {
   crashReporting {
       appToken = "APP_TOKEN"
       ndkSymbol {
           autoUploadEnabled = true
           apiKey = "API_KEY"
       }
   }
}

Enhancements

  • Adds support for excluding custom URL patterns from OkHttp response body capture.

luciq {
   networkInterception {
       enabled = true
       excludeUrlPatterns = listOf(".*chat/stream.*", ".*/events.*", ".*/notifications/live.*")
       okHttp {
           it.enabled = true
       }
   }
}

Bug Fixes

  • Fixes OkHttp interceptor breaking streaming/chunked HTTP responses (SSE/event-stream) by skipping response body buffering for streaming content types.

v19.4.1

Bug Fixes

  • Fix host app crashes caused by RxJava UndeliverableException

  • Fix memory leak in screen rendering caused by an unbounded per-instance map and prevent Window/Activity retention

v19.4.0

Features & Enhancements

  • Adds satellite network type detection for Session Profiler and APM network logs, providing better visibility into network connectivity.

  • Adds Multi-window support in Surveys and Announcements.

  • Adds support for Compose BOM version 2026.03.00 (Compose 1.10.5).

  • Improved internal SDK logging and error handling to reduce noise.

v19.3.0

Features

  • Custom Spans in APM: Adds support for CustomSpan tracking with explicit start and end times.

// Start custom span
val span: CustomSpan? = APM.startCustomSpan(name: string)
// ... do work ...
span?.end()  //end custom span
// Save completed custom span with known start and end date
APM.addCompletedCustomSpan(name: String, startDate: Date, endDate: Date)

Enhancements

  • Adds default masking for WebView content to enhance privacy protection.

  • Reduces unnecessary error log output when reporting non-fatal exceptions.

  • Changes the ADB debug property key from debug.instabug.apm.app to debug.luciq.app. The old property is still supported as a fallback.

Bug Fixes

  • Fixes an ANR caused by synchronous SharedPreferences access in the APM ContentProvider during app startup.

  • Fixes an ANR caused by Firebase initialization deadlock when Firebase Performance SDK is enabled.

  • Fixes a crash that occurs under certain conditions when invoking the SDK via the Floating Action Button.

  • Fixes malformed JSON in crash reports when message content exceeds size limits.

  • Fixes an issue where ScreenRendering traces were incorrectly attributed in specific scenarios.

  • Fixes a crash in Replies UI that occurs under certain conditions when the screen is closed unexpectedly.

v19.2.2

Enhancements

  • Adds LogLevel.WARNING log level for filtering SDK warning logs. This is now the default log level.

  • Resolves a security warning by replacing raw SQL construction with parameterized queries in internal diagnostics storage.

Bug Fixes

  • Fixes a build-time crash in the Gradle plugin when logging ASM bytecode transformations for certain ClassVisitor types.

  • Fixes an issue where user steps data scraping captured incorrect view IDs for legacy views inside private scope containers.

  • Fixes a crash that could occur when displaying chat messages with a null attachment type.

  • Fixes potential null pointer exceptions in bug reporting UI when fragment views are accessed after destruction.

v19.2.1

Bug Fixes

  • Fixes an issue where the bug report form could sometimes open twice after a single shake gesture.

  • Fixes an issue where surveys and announcements being obscured by the system navigation bar on certain devices.

  • Fixes an issue where canceled network requests being incorrectly logged as errors when using the OkHttp interceptor.

  • Fixes a crash that could occur when accessing device storage on devices where external storage is temporarily unavailable.

  • Fixes NPE error log that could occur during URL connection interception for certain URL types (JAR, file protocols).

v19.2.0

Features

  • WebView Monitoring: Added comprehensive WebView monitoring to capture performance metrics, user interactions, and network requests from WebView components.

    • New API: Luciq.setWebViewMonitoringEnabled(boolean)

    • New API: Luciq.setWebViewUserInteractionsTrackingEnabled(boolean)

    • New API: Luciq.setWebViewNetworkTrackingEnabled(boolean)

    • New build configuration: luciq { webViewsTrackingEnabled = true }

  • Notification Icon Color API: Introduces Replies.setNotificationIconColor() to customize the background color of notification icons.

Replies.setNotificationIconColor(Color.RED)

Enhancements

  • Adds defensive validation to prevent sending corrupt app version data under certain conditions.

Bug Fixes

  • Fixes a race condition that could cause duplicate chat sync network requests.

  • Fixes an issue where proactive bug reporting does not trigger after user termination.

  • Fixes a bug causing logs and attachments to go missing with NDK crash reports.

  • Fixes ProtectionLayout appearing repeatedly on each interaction with Composables when using androidx.core:core-ktx v1.16.0+.

  • Fixes button text color in chats to ensure proper visibility.

  • Fixes alert dialogs appearing with a white background in dark mode when using a custom theme.

v19.1.0

Features

  • Session Replay Screenshot Quality Control: New API to adjust the visual quality of captured screenshots.

SessionReplay.setScreenshotQuality(ScreenshotQuality.NORMAL)
  • Video-like Session Replay (Experimental): Capture screenshots based on user interactions or at fixed intervals for a video-like playback experience.

@OptIn(ExperimentalVideoLikeReplay::class)
fun configureVideoLikeSessionReplay() {
    SessionReplay.setCapturingMode(CapturingMode.FREQUENCY)
    SessionReplay.setScreenshotCaptureInterval(500)
}

Enhancements

  • Feature Flags' keys and values limits are now server-side configurable.

  • Introduces actionable user consents for Bug Reporting with a new ActionType.NO_AUTOMATIC_BUG_GROUPING action type.

BugReporting.addUserConsent(
    "grouping-consent",
    "Allow grouping similar bugs",
    false, true,
    ActionType.NO_AUTOMATIC_BUG_GROUPING
)

Bug Fixes

  • Fixes a bug where keyboard open/close detection caused cyclic onGlobalLayout callbacks when adjusting the bottom sheet margin in Bug Reporting.

v19.0.1

Bug Fixes

  • Fixes a critical incompatibility with Jetpack Compose v1.9.0+ that could prevent exceptions and crashes from being propagated.

v19.0.0

Breaking Changes

  • Introducing a new, single network interceptor with automatic instrumentation for OkHttp and native UrlConnection.

// Project-level build.gradle
plugins {
    id("ai.luciq.library") version "$luciqVersion" apply false
}
// app-level build.gradle
plugins {
    id("luciq")
}
luciq {
    networkInterception {
        enabled = true
    }
}
  • Revamped APM's UI Hangs with slow and frozen frames metric.

// Deprecated:
APM.setUIHangEnabled()
// Replace with:
APM.setScreenRenderingEnabled()

Bug Fixes

  • Fixed a race condition causing android.database.sqlite.SQLiteConstraintException error to be logged under certain conditions.

v18.2.1

Enhancements

  • Cleaned up and refined logging levels for non-critical events.

Bug Fixes

  • Fixed incorrect UI translation when the device locale is set to Portuguese (Brazil) pt_BR.

  • Fixed Out of Memory (OOM) issues during chat messages synchronization by optimizing memory allocation and resource management.

v18.2.0

Enhancements

  • Added support for app variant targeting in Surveys and Announcements.

new Instabug.Builder(this, "APP_TOKEN")
    .setAppVariant("App1")
    .build();
  • Increased character limit for disclaimer and consent fields in bug reporting to 200 chars.

Bug Fixes

  • Fixed an issue that caused missing screenshots in Repro Steps for Flutter apps.

  • Fixed an issue where the first UI trace wasn't inserted into the database, leading to SqliteConstraintException logs.

  • Fixed an issue where a white box covered the bug description field on small-screen devices.

  • Fixed a Disk Read StrictMode violation that occurred when attaching images from the gallery in Bug Reporting.

  • Fixed an issue where BugReporting.setDisclaimerText() did not apply if called immediately after SDK initialization.

v18.1.0

Enhancements

  • Adds test tags support for Compose v1.7.+

  • Adds support for Apollo v4

Bug Fixes

  • Fixes missing request and response headers in NetworkLogSnapshot when using APM.registerNetworkLogsListener(listener).

  • Fixes header changes done using APM.registerNetworkLogsListener(listener) not being applied to the captured network data.

  • Fixes attributes added using OnNetworkTraceListener.addAttributesOnFinish() are not added in some cases.

v18.0.1

Enhancements

  • Optimizes SDK's UncaughtExceptionHandler operations to prevent ANRs from occurring while the application is exiting (crashing).

  • Mutes a few diagnostics logs to reduce noise in the logcat.

Bug Fixes

  • Fixes an issue where features cache was being stored before features states were properly consumed, which could lead to inconsistent SDK behavior.

  • Fixes an issue with email format validation causing malformed emails to be sent with crash reports.

  • Fixes a crash (ActivityNotFoundException) encountered while attaching extra images to bug reports via Android's new photo picker on some devices.

  • Fixes a race condition that causes chats synchronization request to get fired while chats being disabled with Replies APIs.

  • Fixes an issue that causes interactions tracking for Jetpack Compose screens to yield inaccurate results when an overlay Composable is present.

v18.0.0

Breaking Changes

  • SDK rebranded from Instabug to Luciq. To migrate, visit the migration guide for guidance.

Last updated