> For the complete documentation index, see [llms.txt](https://docs.luciq.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.luciq.ai/changelog/ios-sdk.md).

# iOS SDK

{% updates format="full" %}
{% update date="2026-06-09" %}

## v19.8.1

* Fixed a concurrent access crash that could occur during our internal network request handling.
* Added the ability to start a new session on logout so each user identity gets an isolated session, ensuring activity is attributed to the correct user. This is disabled by default — reach out to customer support to enable it.
  {% endupdate %}

{% update date="2026-06-08" %}

## v19.8.0

* Adds parameters to user events. `Luciq.logUserEvent(withName:parameters:)` lets you attach an array of `UserEventParam` key-value pairs to a user event for additional context. Keys are limited to 50 characters and values to 200; empty, over-length, or duplicate-key entries are dropped with a console error. Up to 15 parameters are accepted per event by default, and logging more parameters for the same event name merges them using first-wins semantics.
* Improves VoiceOver accessibility in the bug reporting UI: the attachments toolbar expand/collapse control is now correctly announced.
  {% endupdate %}

{% update date="2026-05-18" %}

## 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.
  {% endupdate %}

{% update date="2026-04-29" %}

## 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.
  {% endupdate %}

{% update date="2026-04-17" %}

## 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.
  {% endupdate %}

{% update date="2026-04-01" %}

## 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.
  {% endupdate %}

{% update date="2026-03-04" %}

## 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.
  {% endupdate %}

{% update date="2026-02-18" %}

## 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.
  {% endupdate %}

{% update date="2026-01-21" %}

## 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`
  {% endupdate %}

{% update date="2026-01-09" %}

## 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.
  {% endupdate %}

{% update date="2025-12-25" %}

## 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.
  {% endupdate %}

{% update date="2025-12-12" %}

## 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 `WebView`s.
* 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.
  {% endupdate %}

{% update date="2025-11-27" %}

## 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.
  {% endupdate %}

{% update date="2025-11-12" %}

## 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.
  {% endupdate %}

{% update date="2025-10-30" %}

## 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.
  {% endupdate %}

{% update date="2025-10-16" %}

## 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`.
  {% endupdate %}

{% update date="2025-09-23" %}

## v18.0.0

* \[Breaking Change] SDK rebranded from Instabug to Luciq. Please refer to the migration guide for details.
  {% endupdate %}
  {% endupdates %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.luciq.ai/changelog/ios-sdk.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
