iOS SDK

iOS SDK Changelog

v19.7.0

  • Adds Luciq.viewsContentCaptureEnabled, a master privacy flag that redacts view content (titles, labels, text) in User Steps and Repro Steps while preserving event metadata (gesture, view class, screen name). Enabled by default. Stored in memory, not persisted across launches, and can be set before Luciq.startWithToken:invocationEvents:. Does not affect Session Replay or bug-report screenshots — use auto-masking APIs for those.

v19.6.1

  • Fixed Accessibility VoiceOver issues in the bug reporting UI. The Phone Number field label was incorrectly announced as "Email", the Tooltip button lacked a descriptive announcement, and the Disclaimer text was not fully read aloud.

  • Improves the reliability of session duration tracking to ensure recordings are consistently captured and available in the dashboard.

v19.6.0

  • Adds branching and skip logic to our mobile SDKs, enabling Custom Surveys to adapt to user responses. Apps on the latest SDK versions can route users to specific follow-up questions, jump to the end, or show a thank-you screen, allowing shorter, more relevant in-app surveys and higher-quality feedback.

  • Improves the reliability of our exponential retry logic, ensuring retry limits are enforced correctly.

  • Fixes an issue causing some users to get stuck on a survey.

v19.5.1

  • Improved memory efficiency when handling large network responses.

  • Fixed a crash that could occur when opening the photo library during bug reporting.

  • Fixed an issue where survey theme colors were not updating correctly.

  • Fixed star rating icons disappearing when switching between dark and light themes.

  • Fixed custom survey colors not supporting dark mode properly.

  • Fixed app hangs when reporting non-fatal errors at high frequency.

  • Fixed WebView network requests not being filtered by custom request/response filter predicates.

  • Fixed an issue where crashes could be attributed to incorrect app versions.

  • Fixed a crash when the server returns an unexpected JSON response format.

v19.5.0

  • Added Custom Spans to the APM module, allowing you to measure the duration of any operation in the app.

    • APM.startCustomSpan(withName:)

    • APM.addCompletedCustomSpan(withName:startDate:endDate:) APIs to manually instrument any section of your code with precise timing data.

  • Fixed a crash caused by a data race when accessing the SDK's internal asset cache concurrently.

  • Fixed an issue where WebView screenshots in repro steps were captured before dynamic content, such as JavaScript-rendered DOM, had fully loaded, resulting in blank or incomplete images.

  • Fixed an app hang that could occur on the main thread when the app returned to the foreground while the SDK was syncing data.

  • Fixed a hang and performance degradation when capturing screenshots on apps with complex view hierarchies.

  • Fixed a crash in the Announcements feature caused by accessing a deallocated object during asset loading.

v19.4.1

  • Fixed an issue where the network log displayed the redacted payload size instead of the original size when request/response bodies are obfuscated.

  • Fixed an issue where session replays could appear without network logs.

  • Fixed an app hang caused by locale processing on the main thread.

  • Fixed UI hangs caused by session replay logging operations running on the main thread.

  • Fixed a background color mismatch in the Bug Reporting categories list.

  • Fixed a crash that could occur during session date handling.

  • Fixed an issue with SwiftUIIntegrator not working correctly.

  • Fixed a crash that could occur during attachment metadata serialization.

  • Fixed a false error log when accumulating a network log's response body.

  • Improved memory usage by optimizing screenshot storage.

v19.4.0

  • Fixed out-of-memory crash during base64 encoding.

  • Fixed a crash when adding video attachment without audio.

  • Fixed a SIGSEGV crash that could occur when the SDK inspects the view hierarchy during view controller dismissal or teardown.

  • Fixed an import warning that appeared when importing the SDK by removing an internal header from public headers.

  • Added input validations to LCQReport APIs to improve stability and provide clearer error handling for invalid data.

  • Introduced a new encryption implementation based on CryptoKit as an alternative to CommonCrypto-based AES encryption.

  • Deprecated the following LCQNetworkLogger APIs: enableLoggingForURLSessionConfiguration, setTaskWillPerformHTTPRedirectionBlock, setProgressHandlerForRequestURL

v19.3.1

  • Removed usage of deprecated iOS APIs for better compatibility with modern iOS versions.

  • Optimized screenshot capture to improve performance when navigating through complex UI layouts.

v19.3.0

  • Adds support for automatic network logging for modern Swift concurrency patterns, including async/await and Combine publishers.

  • Adds a no_automatic_bug_grouping action to the User Consent API to prevent automatic bug grouping when consent is not checked.

  • Fixes an issue where network request bodies were missing from network logs in some cases.

  • Fixes an issue where User Steps and Repro Steps were not captured in some crash reports.

  • Fixes inaccurate private view masking and visual artifacts in User Steps screenshots during view controller transitions or keyboard animations.

  • Fixes an issue where session duration could be reported as zero.

  • Fixes an issue where SwiftUI views were incorrectly auto-masked.

  • Fixes a Bug Reporting UI navigation bar background issue on iOS 26 when the liquid glass design is enabled.

v19.2.0

  • Enhanced Session Replay with video-like quality by increasing screenshot capture frequency and improving image compression. Added configurable screenshot quality, capturing mode, and capture intervals.

  • Expanded WebView support to capture network logs and user interactions within WebViews.

  • Revamp UIHangs metric into Screen Rendering metric that captures and reports slow frames and frozen frames occurring in each screen. Deprecated APM.uiHangsEnabled in favor of APM.screenRenderingEnabled.

  • Added support for iOS 26.

  • Added a --keep-changes flag to SwiftUIIntegrator to disable auto revert logic.

  • Made multiple improvements to network logging module.

  • Resolved a symbol conflict that could cause errors.

  • Fixed an out-of-memory crash when uploading large files.

  • Moved operations that were unnecessarily running on the main thread to background threads.

  • Fixed unexpected color changes when using the theme API.

v19.1.1

  • Cleaned up and refined SDK debug logs.

  • Enhanced handling of unexpected API responses during error reporting.

  • Fixed an issue where session replay could be incorrectly linked after app restarts.

v19.1.0

  • Adds persistent crash detection during app launch to identify recurring crashes early.

  • Supports app variant targeting in surveys.

  • Increases the character limit for the disclaimer in bug reports.

  • Increases the character limit for the user consents in bug reports.

  • Improves network logging performance.

  • Fixes an issue with unresponsive survey welcome screens in certain scenarios.

  • Fixes an issue where network logger obfuscation handlers were executed on the main thread instead of a background thread. Handlers now correctly run in the background.

  • Fixes invalid image color theme rendering on the welcome screen.

v19.0.0

  • Updated Automatic Cold App Launch tracking to end on UIApplication.didBecomeActiveNotification rather than waiting for the main run loop idle state.

  • Fixes an issue where the end app launch API would not end prematurely, before the automatic end time, when called.

v18.0.1

  • Fixes an issue where the bug reporting flow would freeze in Flutter when the screenshot option is disabled.

  • Fixes an issue where comments containing only whitespace could bypass the minimum character requirement.

  • Fixes a crash that could occur when presenting the Bug Reporting UI on CarPlay.

  • Fixes a crash that occurred when handling SDK internal diagnostics with Core Data.

v18.0.0

  • [Breaking Change] SDK rebranded from Instabug to Luciq. Please refer to the migration guide for details.

Last updated