> 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-03.md).

# March 2026

7 product updates shipped in March 2026. See [Product Updates](/changelog/readme.md) for the latest.

{% updates format="full" %}
{% update date="2026-03-29" %}

## Rage Taps Detection

#### What's new?

* Rage Taps detection is now available across Session Replay, Crash Reporting, and Bug Reporting.
* When a user taps the same area at least 3 times with no more than 300ms between consecutive taps, the taps are collapsed into a single Rage Tap event with a count showing how many taps occurred.
* You can filter by Rage Taps to quickly find frustration moments across logs.

#### Why this matters?

* Rage taps are a strong signal that something in the UI is not responding as expected. This feature helps you quickly identify and prioritize UX issues that frustrate your users the most.
  {% endupdate %}

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

## KMP SDK Now in Beta

#### What's new?

* The Luciq KMP (Kotlin Multiplatform) SDK is now available in beta, providing a single integration point in commonMain for full observability across both iOS and Android.
* Supported features include Crash Reporting, Bug Reporting, Session Replay, APM, In-App Surveys, In-App Replies, Feature Requests, and Network Logging (with a Ktor plugin).

#### Why this matters?

* If you use Kotlin Multiplatform, you can now instrument your app from a single shared module instead of maintaining separate integrations for each platform. This is the first KMP SDK to offer the full suite of crash reporting, session replay, and bug reporting in one package.

#### Availability

* Beta SDK is available in production now. Full documentation is available at [docs.luciq.ai/kmp](https://docs.luciq.ai/kmp/).
  {% endupdate %}

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

## AI Common Reproduction Steps

#### What's new?

* A new "Generate steps" action is available inside the AI Crash Insights drawer for any crash.
* Clicking it uses AI to analyze crash occurrences and generate clear, structured steps to reproduce the crash.

#### Why this matters?

* Reproducing crashes, especially ANRs, OOMs, and edge-case crashes, is one of the most time-consuming parts of mobile debugging. This feature automates that process, giving your developers actionable reproduction steps without manually combing through thousands of occurrences.

{% hint style="info" %}

### Note

Interested in trying this out? Please reach out to our support team or your Customer Success Manager to enable it for you.
{% endhint %}
{% endupdate %}

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

## Line Number Exclusion from iOS Crash Grouping

#### What's new?

* iOS crashes sharing the same root cause but differing only in line numbers (e.g., after a code refactor or minor code shift) are now grouped together.
* Line numbers are excluded from the grouping logic, so related crashes are no longer split into separate groups.
* This applies only to new incoming crash occurrences. Historical crash groups remain unchanged.

#### Why this matters?

* Code refactors and minor code changes previously caused identical crashes to be split into separate groups, making it harder to assess true crash impact. This improvement ensures cleaner, more accurate crash grouping.

{% hint style="info" %}

### Note

Interested in trying this out? Please reach out to our support team or your Customer Success Manager to enable it for you.
{% endhint %}
{% endupdate %}

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

## Device Performance Class Visibility and Expandable Replay Panel

#### What's new?

* Bug details, crash occurrences, and session replays now display a device performance class badge (low-end, mid-range, or high-end) for Android devices.
* When data collection is reduced on lower-end devices, empty states now explain why data is limited instead of leaving you guessing, with links to documentation for further details.
* The screenshot panel in Session Replay is now expandable, so you can resize it for a better viewing experience without needing to open the lightbox.

#### Why this matters?

* The device class badge and descriptive empty states remove confusion when encountering missing screenshots or incomplete session data on constrained devices. The expandable replay panel makes it significantly easier to follow session replays alongside logs.
  {% endupdate %}

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

## Surveys: Auto-Pause After Reaching Response Limit

#### What's new?

* You can now set a maximum response limit for any survey. When the limit is reached, the survey is automatically paused.
* The paused survey can be republished at any time with a new limit, without re-targeting users who already responded.
* The response limit counts completed (submitted) responses only, not impressions or views.

#### Why this matters?

* This eliminates the need to manually monitor and pause surveys, enabling controlled data-collection campaigns with a defined response cap.

#### Availability

* Available for NPS, Custom, and App Rating surveys using Auto targeting.
  {% endupdate %}

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

## Custom Spans for APM

#### What's new?

* You can now define custom spans using a start and end API to measure the duration of any operation in your app.
* A completed span API is also available for operations that started before SDK initialization.
* Custom spans appear in the spans table on the dashboard and can be filtered alongside other span types.
* Each custom span is automatically attached to the running metric (App Launch, Network, Flows, etc.) based on its timestamp.

#### Why this matters?

* Custom spans give you full flexibility to measure and monitor the performance of any operation specific to your app, providing deeper insight beyond the default metrics.

#### Availability

* iOS: SDK v19.5.0+. Android: SDK v19.3.0+. React Native and Flutter: Coming soon.
  {% 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/readme/2026-03.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.
