DevRev SDK for iOS

Release notes

All notable changes, improvements, and fixes for the DevRev SDK for iOS. This project adheres to Semantic Versioning.

3.0.2

Changed

  • Computer+ Observe now responds to runtime FeatureConfiguration updates, applying changes immediately without requiring a restart.

Removed

  • Removed an unused internal analytics network request. Custom events sent via trackEvent(name:properties:) continue to be captured as part of session replay.

3.0.1

Added

  • Remote SDK version-based control for session replay recording, without requiring app updates.

3.0.0

Added

  • Computer+ Observe provides automatic, privacy-aware capture of API requests with network events attached to session replays, configurable via FeatureConfiguration.networkObservability.

Changed

  • Improved diagnostics for the key SDK.

Fixed

  • Fixed a race condition that could affect network event counts during concurrent requests.

2.3.9

Added

  • ConversationPageOptions on SupportWidgetTheme to customize the support chat conversation page header and subheader text.

Changed

  • Reduced memory allocation during session replay uploads with staged per-session processing and early validation guards.

Fixed

  • Fixed UI lag during native menu dropdown animations by skipping session replay capture while the menu platter is animating.

2.3.8

Fixed

  • Fixed unknown network type in session events by correctly identifying the cellular data service, radio generation, and Wi-Fi/cellular transitions.
  • Fixed session replay snapshot quality and touch coordinate rendering in landscape orientation.
  • Fixed support chat conversation being cleared when a transient modal is dismissed.
  • Fixed a trait collection initialization crash.

2.3.7

Added

  • Optional prefilled message support for the support chat input field.
  • Feature configuration flag maskAllTextByDefault to automatically mask all visible text.

Fixed

  • Fixed crashes from thread-unsafe access.
  • Fixed pause and resume user interaction tracking APIs.
  • Fixed session recordings associating events with the wrong DevRev workspace.

2.3.6

Fixed

  • Fixed a missing crash type not appearing on the dashboard by exposing the crash type field in the iOS crash event.
  • Fixed push notifications not being delivered in sandbox environments due to incorrect APNs push type.

2.3.5

Changed

  • Reduced snapshot size and screen capture cost.

2.3.4

Fixed

  • Fixed UI lag when multiple simultaneous gestures were active during session touch tracking.

2.3.3

Fixed

  • Fixed screen tracking performance issues with embedded view controllers.

2.3.2

Changed

  • Freed up memory and reduced CPU usage to zero on pause screen recording.

Fixed

  • Fixed a crash for exceeding the nested views limit while screen recording.
  • Handled WebView masking edge cases.
  • Fixed a few memory leaks.

2.3.1

Added

  • Optional Plug article search filters via FeatureConfiguration.supportWidgetArticleSearchFilters (widget search and command palette), with typed filter operators and operand value types.
  • Feature configuration flag to enable real-time AI agent response streaming in Plug support chat.

Fixed

  • Resolved performance lag during paused recording by ensuring complete termination of all background processes.
  • Avoided a potential runtime crash during decoding.
  • Fixed a crash when a view was created before the trait collection was available.

2.3.0

Added

  • Feature configuration for screen capture, auto-start recording, Plug chat theme, and remote config (fresh vs cached/lazy fetch).

Changed

  • Session upload now enforces a minimum visit duration before uploading.

Fixed

  • Fixed frame capture flag injection so the flag is set at the correct place.
  • Fixed native logs ingestion.

2.2.10

Added

  • Implemented caching and lazy fetch for SDK configuration to improve startup performance.
  • Improved sample apps to showcase error capture APIs and camera screen recordings.

Fixed

  • Fixed SwiftUI screen name injection in session events.

2.2.9

Fixed

  • Fixed crash session missing for the frame capture feature.

2.2.8

Added

  • Enabled internal native logging to improve diagnostics and troubleshooting.

Changed

  • Modernized legacy components and aligned for better performance.

Removed

  • Removed deprecated and non-public iOS APIs.

2.2.7

Added

  • Added feature configuration options to enable or disable screen capture, auto-start recording, and configuring Plug chat theme locally.

Changed

  • Improved session replay performance.
  • Reduced log noise.

2.2.6

Added

  • Introduced a capture error API so apps can report runtime errors through the SDK.
  • Improved rage tap detection to avoid misclassifying double taps as rage taps.

Fixed

  • Corrected timer response rounding to return accurate durations.

2.2.5

Added

  • Added automatic restoration of sessions lost when the app is killed.

Changed

  • Improved crash log parsing and formatting for clearer diagnostics.
  • Refined the session upload pipeline for improved reliability.

2.2.4

Added

  • Added support to track user interactions within WebView components, improving analytics and engagement insights.

Changed

  • Simplified the identification flow by deprecating redundant anonymous API usage.

Fixed

  • Fixed issues in the logout process to ensure complete session termination and improved reliability.

2.2.3

Added

  • Added the ability to pause and resume user interaction event tracking, offering more security on confidential screens.

Changed

  • Improved performance and modularity by decoupling the screen recording functionality from the main tracking flow.

Fixed

  • Corrected incorrect or missing device model names on certain iPhone versions.
  • Fixed visual distortion issues when zooming inside a WebView.

2.2.2

Changed

  • Improved the infrastructure for custom masking.

2.2.1

Added

  • Extended the sample app with masking of WebViews, table views, and lists.

Changed

  • Improved the API reference and integration guide.

Fixed

  • Fixed the broken Objective-C signature for the identifyVerifiedUser:sessionToken: method.
  • Fixed user properties missing in session recording.

2.2.0

Added

  • Introduced custom masking controls for improved privacy management.

Fixed

  • Fixed an issue where manual unmasking did not work during session capture.
  • Resolved a session recording issue affecting SwiftUI views.

2.1.0

Added

  • Introduced crash reporting integrated with session recordings.
  • Improved support widget navigation.

Fixed

  • Fixed an issue with timer tracking to ensure correct session properties are recorded.

2.0.2

Fixed

  • Included the actual changes intended for version 2.0.1 related to improved masking support for WebViews and plugins.

2.0.1

Fixed

  • Improved masking support for WebViews and plugins.

2.0.0

Changed

  • Improved the communication with the DevRev backend.
  • Improved the encryption techniques used throughout the SDK.

Removed

  • The DevRevDelegate protocol has been removed.

1.1.7

Fixed

  • Fixed an issue with sandbox detection.

Deprecated

  • The DevRevDelegate protocol is deprecated and is removed in version 2.0.0.

1.1.6

Fixed

  • Fixed an issue where the DevRev SDK would go into an unrecoverable state.

1.1.5

Changed

  • Added a flag to enforce the preferred theme for the DevRev UI, overriding the system theme when enabled.
  • Added support for sandbox notification testing in debug mode.

1.1.4

Changed

  • Improved the handling of custom fields in user, account, and organization traits.

1.1.3

Added

  • Created a brand-new sample app showcasing the DevRev SDK's features.
  • Added support for CSS masking classes using the devrev-mask and devrev-unmask classes.

Changed

  • Improved the handling of automatic session recording.

1.1.2

Changed

  • Enhanced the Computer+ Observe feature to work better across different environments.

Removed

  • Removed support for automatic processing of DevRev push notifications. For more information, refer to the integration guide (README.md).

1.1.1

Fixed

  • Improved the stability of the on-demand sessions feature.

1.1.0

Added

  • Introduced a logout mechanism that clears the user's credentials, unregisters the device from receiving push notifications, and stops the session recording.
  • Added a boolean flag to check if the SDK has been configured.
  • Added a boolean flag to check if the user has been identified.
  • Added a boolean flag to check if the session is being recorded.
  • Added a boolean flag to check if monitoring is enabled.
  • Added a boolean flag to check if on-demand sessions are enabled.

1.0.3

Fixed

  • Fixed an issue where an already identified user could not be switched with a new user of the same type.

Deprecated

  • Support for iOS versions below 15 is removed in this version.

1.0.2

Fixed

  • Fixed an issue with verified user identification.

1.0.1

Changed

  • Improved the user identification mechanism.

1.0.0

Added

  • The Computer+ Observe feature monitors the health of your application and its components.
  • Added support for Push Notifications for the Plug support chat.
  • Added support for on-demand (offline) sessions.
  • Added support to create new conversations in the Plug support chat.
  • Added support for in-app link handling.

Last updated on