> ## Documentation Index
> Fetch the complete documentation index at: https://docs.userpilot.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Userpilot iOS SDK Release Notes

> Release history for the Userpilot iOS mobile SDK.

## 1.4.0  – Sep 27, 2026

**🚀 Description**\
This release adds persistent offline analytics and experience-event support and improves event delivery when the connection returns, along with Auto Capture and deep-link handling improvements.

🐛 Bug Fixes

* Improved queued event processing after reconnecting and when switching users.
* Prevented content and theme requests from stalling after queued analytics finished processing, and sent pending experience interactions before screen refreshes to avoid immediately showing dismissed content again.
* Preserved experience eligibility across offline navigation and prevented duplicate screen views after offline experience dismissal.
* Corrected custom URL scheme matching, preserved push notifications opened before SDK configuration, and held startup deep links until navigation could be routed. Enabled push-tap navigation without waiting for the analytics connection.
* Improved captured text for list interactions and enforced text redaction settings.
* Prevented suppressed NPS prompts from blocking later event-triggered experiences, allowed NPS to appear again on a new screen visit, and kept the NPS close button clear of the progress bar.

✨ Features

* Added local storage for offline identify calls, screen views, custom events, Auto Capture events, flow/survey/NPS interactions, and push-notification opens.
* Added automatic batch sending of stored events in timestamp order when the connection returns, including events saved before an app restart.
* Added an opt-in setting, disabled by default, to refresh user identity before screen events.
* Reduced redundant identity updates and automatically re-synced push tokens after identifying a user.
* Enabled interaction value capture by default when interaction Auto Capture is enabled.

See [Offline Mode](/docs/developer/installation/mobile/ios/features#offline-mode) for supported behavior and storage limits.

***

## 1.3.0  – Sep 2, 2026

**🚀 Description**\
This release adds QR-code preview experiences and test push notification support, and makes the analytics connection and in-app preview flow more reliable, along with minor improvements and enhancements.

🐛 Bug Fixes

* Stabilized the analytics connection to prevent crashes when the socket connects and tears down concurrently.

✨ Features

* Added preview experiences launched from a QR code.
* Added support for test push notifications.

***

## 1.2.3  – Aug 6, 2026

**🚀 Description**\
This release improves Auto Capture accuracy and privacy handling by ensuring events are captured in the correct order, enhancing text and accessibility data handling, and improving the NPS experience.

🐛 Bug Fixes

* Improved the visibility of the NPS close button by increasing its contrast.
* Ensured pending interaction events are flushed before auto-captured screen events for more accurate event ordering.
* Fixed text and accessibility capture behavior to correctly respect privacy configuration settings.

***

## 1.2.2  – Jul 13, 2026

**🚀 Description**\
This release improves the keyboard experience and extends support to more Userpilot SDK wrappers, along with minor improvements and enhancements.

🐛 Bug Fixes
Enhanced the keyboard experience.

✨ Features
Extended support to more Userpilot SDK wrappers.

***

## 1.2.1  – Jul 8, 2026

**🚀 Description**\
This release introduces Auto Capture support for Userpilot SDK wrappers, enabling automatic tracking of screen views and user interactions across supported wrapper platforms, along with minor improvements and enhancements.

✨ Features

* Added Auto Capture support for Userpilot SDK wrappers.
* Enabled automatic capture of screen views and user interaction events.

🛠 Improvements

* Applied minor enhancements to improve Auto Capture reliability and overall SDK stability.

***

## 1.2.0  – Jun 24, 2026

**🚀 Description**\
This release introduces multi-instance support for the Userpilot SDK, along with stability improvements to enhance overall reliability and maintainability.

✨ Features

* Added support for multiple Userpilot SDK instances.

🛠 Improvements

* Expanded test coverage and added automated tests to improve stability and ensure long-term maintainability.

***

## 1.1.4  – Jun 7, 2026

**🚀 Description**\
This release introduces the full auto capture solution for iOS applications, with support for both UIKit and SwiftUI

🛠 Improvements

* Added automatic screen and interaction tracking for iOS applications.
* Updated documentation with auto capture setup and migration guides.

***

## 1.1.3  – May 21, 2026

**🚀 Description**\
This release includes improvements to cached event handling and event processing stability in the mobile SDK.

🛠 Improvements

* Added automatic cleanup of cached track events by invoking clearCachedEvent() after processing to prevent duplicate event handling and tracking.

***

## 1.1.2  – May 10, 2026

**🚀 Description**\
This release includes compatibility updates between the mobile SDK and the Userpilot analytics/dashboard platform.

🛠 Improvements

* Added compatibility support between the mobile SDK and Userpilot analytics/dashboard.
* Enhanced screen targeting and improved migration flow from manual screen events to auto-captured screen events.

***

## 1.1.1  – May 6, 2026

🚀 Overview
This release includes general enhancements and improvements.

✨ Improvements

* Resolved a keyboard interaction conflict between the SDK and the IQKeyboardManagerSwift library.

***

## 1.1.0  – Apr 8, 2026

🚀 Overview
This release includes general enhancements, improved socket stability, and introduces the auto capture solution for iOS UIKit apps.

✨ Features / Improvements

* Introduced automatic screen event capture and interactions event capture for iOS UIKit apps.
* General codebase enhancements for better performance and maintainability.
* Fixed handling of abnormal socket edge cases to improve reliability.

***

## 1.0.17  – Mar 15, 2026

🚀 Overview
Patch release improving Phoenix client stability by simplifying threading and enhancing timeout handling.

🐛 Fixes & Improvements
Moved Socket, Channel, and timer callbacks to the main thread, removed internal locks, and centralized delegate callbacks. Added robust push timeout handling, limited automatic socket reconnects to 3, and simplified connect/disconnect logic.

***

## 1.0.16  – Feb 10, 2026

🚀 Overview
This is a patch release that focuses on improving SDK stability and handling edge-case networking errors more safely.

🐛 Bug Fixes
Fixed a rare crash related to socket connection error handling by improving thread safety and guarding against invalid or unexpected network response states during asynchronous operations.

***

## 1.0.15  – Dec 15, 2025

🚀 Overview
Improved stability and performance.

🛠 Improvements

* Added submissionId parameter to all Survey events.

***

## 1.0.14  – Nov 10, 2025

🚀 Overview
Improve reporting for surveys.

🛠 Improvements

* Added submissionId parameter to Survey List View and Step View to improve exported answers reports.

***

## 1.0.13  – Oct 5, 2025

🚀 Overview
This is a patch release that focuses on stability and bug fixes.

🐛 Bug Fixes

* Resolved an issue that caused duplicate join events when attempting to join the same channel more than once.

***

## 1.0.12  – Sep 22, 2025

**🚀 Description**\
Add a configuration option to disable requesting push notifications permission by Userpilot SDK.

***

## 1.0.11  – Sep 18, 2025

**🚀 Description**\
This release improves the SDK’s reliability, user experience, and maintainability by refining core logic, fixing event duplication, enhancing UI layouts, and strengthening session and experience handling.

📄 Motivation and Context

* Updated business logic for smoother handling of user property updates with fake reload support.
* Fixed processing of pending content to ensure consistent behavior.
* Ensured a screen event is requested after returning from background when active content is visible.
* Refined logout flush queue logic for better event cleanup.
* Updated and expanded unit tests to align with recent logic improvements.
* Enhanced documentation and comments for ExperiencesPublisher & AnalyticsPublisher.

***

## 1.0.10  – Sep 15, 2025

**🚀 Description**\
Fixed app state handling when the SDK is initialized late.

📄 Motivation and Context

* Ensures proper state management during late SDK initialization.

***

## 1.0.9  – Sep 11, 2025

**🚀 Description**\
Enhanced the SDK’s stability, reliability, and maintainability by improving core logic, cleaning unused components, and fixing key UI and survey issues.

📄 Motivation and Context

* Enhanced boot-up managers for smoother initialization.
* Improved fetching active experience.
* Removed user agent logic for wrappers integrations.
* Improved logout logic for handling pending contents.
* Updated unit tests to reflect recent changes and improvements.
* Updated handling of application state.
* Fixed rotation issues for surveys and NPS.
* Fixed Likert scale layout issues in landscape mode.
* Fixed answer casting logic in surveys conditions.

***

## 1.0.8  – Sep 3, 2025

**🚀 Description**\
Refactored core publishers and reorganized the sample app to make the SDK more stable, scalable, robust, and efficient in CPU and memory usage.

📄 Motivation and Context

* Refactored ExperiencesPublisher and AnalyticsPublisher to improve maintainability and scalability.
* Renamed UserPilotSample to UserpilotSwiftSample for consistency and clarity.
* Removed unused loader assets, deprecated threading utilities, and related tests to reduce overhead.
* Updated unit tests to align with the new threading model and refactored publishers.

***

## 1.0.7  – Aug 14, 2025

**🚀 Description**\
Enhance anonymous user tracking for more accurate identification, improves documentation.

📄 Motivation and Context

* Refined anonymous user tracking logic to consistently track the same anonymous user per device.
* Updated the README with the latest usage instructions and feature details.

***

## 1.0.6  – Jul 16, 2025

**🚀 Description**\
This update improves session handling and code quality, enhancing both stability and test reliability. It introduces better logout behavior, fixes start session status in edge cases, and strengthens test coverage and lint compliance.

📄 Motivation and Context

* Improved logout flow to ensure proper session cleanup.
* Fixed a bug related to start session status in specific H-case scenarios.
* Increased unit test coverage to 40% for better reliability and regression protection.
* Resolved SwiftLint violations in unit tests to maintain code quality and pass CI checks.

***

## 1.0.5  – Jul 14, 2025

**🚀 Description**\
This release focuses on cleanup and production readiness by removing unnecessary debug logs, resulting in a lighter and more secure SDK build.

📄 Motivation and Context
Eliminated verbose logging used during development to reduce noise in production environments. This helps improve performance, prevent accidental exposure of sensitive data, and ensure cleaner log outputs for integrators and users.

***

## 1.0.4  – Jul 13, 2025

**🚀 Description**\
This release includes key improvements to experience logging and fixes for app lifecycle detection, improving stability and integration reliability across platforms.

📄 Motivation and Context

* Fixed an issue with app lifecycle state detection that affected plugins and SDK wrappers, ensuring consistent session handling.
* Enhanced experience logging with improved step index visibility.

***

## 1.0.3  – Jul 10, 2025

**🚀 Description**\
This release focuses on stability improvements, enhanced developer experience, and better debugging support.

📄 Motivation and Context

* Fixed several edge cases in screen event triggering for more accurate analytics.
* Enhanced experience logging to provide clearer visibility into step and state transitions.
* Increased unit test coverage to 22%.
* Applied minor enhancements to linting rules and code formatting for improved code consistency.

***

## 1.0.2  – Jun 29, 2025

**🚀 Description**\
This release focuses on code cleanup, enhancements, and improved reliability.

📄 Motivation and Context

* Improved handling of text link clicks for a smoother user experience.
* Added support for testing the push notification monitor functionality.
* Updated the README file with the latest changes and usage instructions.

***

## 1.0.1  – Jun 17, 2025

**🚀 Description**\
Remove unnecessary sanitize payload properties.

***

## 1.0.0  – Jun 16, 2025

**🚀 Description**\
Updates the SDK with improved handling of event properties and upgraded dependencies to maintain compatibility and performance.

📄 Motivation and Context
⬆️ Updated internal and external dependencies to their latest stable versions for improved security and support.
🔧 Enhanced the processing of event properties to allow for more accurate and consistent tracking.
🧱 Minor improvements to maintain SDK robustness and forward compatibility.
