> 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/readme/2026-10.md).

# October 2026

Luciq product updates shipped in October 2026: self-serve network masking keys, clearer iOS crash messages, APM health status, and Session Replay email filters.

5 product updates shipped in October 2026 so far. See [Product Updates](/changelog/readme.md) for all months.

{% updates format="full" %}
{% update date="2026-10-19" tags="sdk-update-required" %}

## iOS crashes now show the termination reason behind a SIGABRT

<figure><img src="https://1627791424-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX5AT2gAek6Hb4IQeMXHI%2Fuploads%2Fgit-blob-19af3f2184532eec5ee09d6f4d6da39c9c847280%2Fsigabrt-termination-reason.png?alt=media" alt="A crash on the dashboard with the exception SIGABRT at -[CheckoutSession dealloc] and the message Cannot form weak reference to instance (0x114004aa0) of class CheckoutSession. It is possible that this object was over-released, or is in the process of deallocation." width="563"><figcaption></figcaption></figure>

#### Summary

The crash message now shows why a system framework like the Objective-C runtime stopped your app, which makes debugging much easier.

#### What's new?

* Crashes that a system framework ends with a termination reason now show that reason as the crash message, such as `Cannot form weak reference to instance (0x…) of class CheckoutSession. It is possible that this object was over-released, or is in the process of deallocation.`
* This works for any system framework that stops your app with a termination reason. To name a few: the Objective-C runtime, UIKit, Core Animation, Metal, and XPC.
* The SDK captures the reason when the crash happens. The message shows on the crash list and on the crash details page.

#### Why this matters?

* SIGABRT crashes raised by system frameworks are now far easier to debug.
* Crashes that are no longer reported as an exception but as a SIGABRT in apps built with the iOS 27 SDK, such as collection view assertions, still show their crash message, so they stay easy to debug.

#### Availability

* Available from iOS SDK 19.12.0.
  {% endupdate %}

{% update date="2026-10-14" tags="no-sdk-update-required" %}

## Filter Session Replay by email, just like Bugs

#### Summary

Find sessions by the user's email with the same four operators you already use on Bugs: Equals, Doesn't equal, Contains, and Doesn't contain.

#### What's new?

* A new **Email** filter in the Session Replay filter bar, right after **App version**, on both the sessions list and the session details page.
* Four operators: **Equals**, **Doesn't equal**, **Contains**, and **Doesn't contain**.
* Matching ignores case, so `Jane.Doe@Example.com` also matches `jane.doe@example.com`.
* **Contains** matches any part of the address, such as a whole domain like `@example.com`.
* **Doesn't equal** and **Doesn't contain** also include sessions that have no email.
* Works together with the **Search by User ID, Email** box and every other filter, and stays applied when you move between sessions or share the link.
* Text filters on Bugs and crash occurrences now apply as soon as you press Enter, and keep the operator you picked.

#### Why this matters?

* Pull up every session from one company or domain in a single search.
* Leave internal and test accounts out of the list with **Doesn't contain**.

#### Availability

* Available wherever you have Session Replay. Emails come from the user identification API in your app.

<a href="https://docs.luciq.ai/product-guides-and-integrations/product-guides/session-replay#user-identification" class="button secondary">Documentation</a>
{% endupdate %}

{% update date="2026-10-12" tags="no-sdk-update-required" %}

## Add your own network masking keys from the dashboard

<figure><img src="https://1627791424-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX5AT2gAek6Hb4IQeMXHI%2Fuploads%2Fgit-blob-7d22167fe463bb8ce3d72529997858fc2567a706%2Fnetwork-masking-keys-page.png?alt=media" alt="The Network masking keys page under Data privacy in the app settings, listing a Session-Token header key and a payment_address query param key"><figcaption></figcaption></figure>

#### Summary

Pick which extra headers and query parameters the SDK masks in network logs, straight from your app settings. No more waiting on a support request.

#### What's new?

* A new **Data privacy → Network masking keys** page in your app settings, where you can add, rename, and delete your own masking keys.
* Each key is a header or a query parameter name. The SDK replaces its value with an asterisk (\*) on the device, so the value never reaches Luciq's servers.
* Matching ignores case, so `X-Session-Id` also masks `x-session-id`.
* The page also lists the default keys the SDK always masks, such as `Authorization`, `token`, and `password`. They stay on and can't be edited or removed.
* Keys you asked support to add before are already on the page, ready to edit.
* Changes apply from the next session. You don't need to release a new app version.

#### Why this matters?

* You control which of your app's own headers and query parameters stay private, without opening a support request.
* Sensitive values are masked before they leave the device, so they never show up in your network logs.

#### Availability

* Available for apps with automatic network masking turned on, which is the default from SDK 14.2.0.
* Adding, editing, and deleting keys needs permission to manage app settings.

<a href="https://docs.luciq.ai/product-guides-and-integrations/product-guides/luciq-pii-masking/network-log-masking#adding-your-own-masking-keys" class="button secondary">Documentation</a>
{% endupdate %}

{% update date="2026-10-07" tags="no-sdk-update-required" %}

## iOS crashes now show the Swift runtime failure that caused them

<figure><img src="https://1627791424-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX5AT2gAek6Hb4IQeMXHI%2Fuploads%2Fgit-blob-0031211f4e4308cd6dece5804531765eeddf5895%2Fswift_runtime_failure.png?alt=media" alt="A crash on the dashboard with the exception SIGTRAP at SwiftCrashDemo.crash() and the message Swift runtime failure: Unexpectedly found nil while unwrapping an Optional value" width="563"><figcaption></figcaption></figure>

#### Summary

The crash message now shows the reason behind any Swift runtime failure, which makes debugging much easier.

#### What's new?

* Crashes caused by a Swift runtime failure now show the reason as the crash message, such as `Swift runtime failure: Unexpectedly found nil while unwrapping an Optional value`.
* This works for any Swift runtime failure. To name a few: force unwrapping a `nil` optional, an out-of-range array index, and arithmetic overflow.
* Luciq reads the reason from your app's dSYM when it symbolicates the crash. The message shows on the crash list and on the crash details page.
* Crash grouping doesn't change. Only the message is updated, so existing crash groups keep their occurrences and history.

#### Why this matters?

* Swift crashes are now far easier to debug.

#### Availability

* Live for all iOS apps.

<a href="https://docs.luciq.ai/ios/setup-luciq-for-ios/setup-crash-reporting/symbolication#swift-runtime-failure-messages" class="button secondary">Documentation</a>
{% endupdate %}

{% update date="2026-10-01" tags="no-sdk-update-required" %}

## Health Status, Period Summary, and Release Markers on APM Details Pages

#### Summary

APM details pages now open with a day-by-day health status, a period summary, and release markers on the charts. A bad day and the version next to it stand out at a glance.

#### What's new?

* **Health status:** every APM metric details page now opens with one cell per day, colored by that day's Apdex rating, so a bad day stands out at a glance.
* **Summary row:** Apdex, throughput, unique users, and other metrics for the selected period, each with its change compared to the previous period.
* **Release markers:** every app release appears on the Apdex, throughput, and latency charts. Hover over a marker to see the version and release date.

#### Why this matters?

* You can tell whether a metric is healthy before reading a single chart, and see quickly when it isn't.
* When there's a dip, the release marker next to it points to the version to investigate.
  {% 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.luciq.ai/changelog/readme/2026-10.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
