Clarity Packages Changelog
- [Enhancement] Custom screen names specified through
setCurrentScreenName()
API fully replace displayed screen name. - [BugFix] Addressed various minor bugs.
- [Breaking] The
allowMeteredNetworkUsage
,enableWebViewCapture
,disableOnLowEndDevices
,allowedActivities
,disallowedActivities
,maximumDailyNetworkUsageInMB
andallowedDomains
configuration options inClarityConfig
are moved to the Settings page on the Clarity dashboard. - [Breaking]
setOnNewSessionStartedCallback
is renamed tosetOnSessionStartedCallback
to better represent its functionality as the callback can be invoked not only when a new Clarity session starts but also when an existing session resumes at app startup. - [Feature] Introduced the
startNewSession
API to initiate new sessions. - [Feature] Enabled setting custom screen name tags using
setCurrentScreenName
API. - [Feature] Added the ability to send custom events to use with the new Smart Events feature.
- [Enhancement] Added support for keyboard visualization for composables.
- [BugFix] Addressed various minor bugs.
- [BugFix] Fixed minor bug related to java utils.
- [BugFix] Fixed a bug related to web views.
- [Feature] Support Jetpack Compose in
clarity-compose
package.
- [Enhancement] Significant optimizations for network consumption.
- [Enhancement] Significant reduction in number of network calls.
- [BugFix] Fixed a bug that caused incorrect visualization of some frames.
- [BugFix] Fixed a bug that caused some frames to be dropped due to an internal exception.
- [BugFix] Fixed a bug that caused some sections of session recordings to repeat within a recording.
- [Enhancement] Optimizations for capturing logic CPU consumption.
- [Feature] Supporting keyboard capturing.
- [Feature] Supporting back gesture capturing.
- [Feature] Added
pause
API to allow pausing Clarity capturing. - [Feature] Added
resume
API to allow resuming Clarity capturing. - [Feature] Added
isPaused
API to check whether clarity capturing is paused or not.
- [Enhancement] Significant optimization for capturing logic CPU consumption.
- [Feature] Supporting dialogues capturing.
- [Feature] Expose a configuration to set a daily network usage limit for Clarity.
- [Feature] Expose a different initialization function
Clarity.initialize(activity, config)
that enables late initialization (for example, after the activity is created and resumed). This allows the developers to initialize Clarity after their key application components loaded.
- [BugFix] Fixed a minor bug that prevented Clarity from starting in a certain scenario.
- [Feature] Support Android 14 (API 34).
- [Enhancement] Added necessary logic to prevent OOM errors.
- [Enhancement] Optimized for the application startup time.
- [Feature] Exposing
setOnNewSessionStartedCallback
API to set an onSessionStarted callback. - [Feature] Exposing
getCurrentSessionUrl
API to retrieve the current active session URL.
- [Feature] Added the
setCustomSessionId
API to set a custom session ID. - [Feature] Added the ability to limit capturing to certain screens through the configuration lists
allowedActivities
anddisallowedActivities
. - [Feature] Added the configuration flag
disableOnLowEndDevices
to allow disabling Clarity on low-end devices. - [Enhancement] Updated the capturing approach to enhance its efficiency and resiliency.
- [Breaking] Jetpack Compose screens aren't captured anymore. Expect an upcoming release with better support for Jetpack Compose.
- [Feature] Support sessions filtering on Device cores and memory.
- [Feature] Added the
setCustomTag
API to support tagging sessions with custom tags. - [Enhancement] Enhanced memory management.
- [Enhancement] Enhanced web view styles capturing.
- [Enhancement] Improved SDK performance and efficiency.
- [Enhancement] Enhanced recording speed for apps with large fonts.
- [Enhancement] Updated heatmaps logic for a more accurate experience.
- [BugFix] Fixed a bug that affected the capture of Ionic/Cordova apps assets.
- [BugFix] Fixed a bug that caused frames to be dropped due to an internal exception.
- [Feature] Switched to
Protobuf
instead ofmoshi
for better compatibility.
- [Enhancement] Improved web views capture component for better performance and reliability.
- [Enhancement] Added resilience to capture failures.
- [Feature] Added a new dashboard feature to filter by device specifications (cores & memory).
- [BugFix] Fixed a bug that affected the movement of input text boxes.
- [BugFix] Fixed a bug that caused a
StackOverFlow
exception in some apps. - [BugFix] Fixed minor capture errors that stopped the SDK.
- [BugFix] Fixed a bug that prevented some events from being captured.
- [BugFix] Fixed a bug that caused the SDK to crash due to some hardware bitmap exceptions.
- [Enhancement] Invalid
UserID
is set asCustomUserID
andUserID
is set to a random value instead of throwing an exception. - [Enhancement] Delayed SDK setup until dashboard configuration is retrieved.
- [Feature] Improved SDK initialization for offline device scenarios.
- [Enhancement] Custom screen names specified through
setCurrentScreenName()
API fully replace displayed screen name.
- [BugFix] Fixed an issue that caused crashes on earlier versions of iOS 16 when using WebViews.
- [BugFix] Fixed a crash that occurred during the orientation transition of third-party video player implementations (for example, Brightcove).
- [Breaking] Removed the experimental feature flag for SwiftUI support, making it enabled by default.
- [Breaking] The
allowMeteredNetworkUsage
,enableWebViewCapture
, anddisableOnLowEndDevices
configuration options inClarityConfig
are moved to the Settings page on the Clarity dashboard. - [Breaking]
setOnNewSessionStartedCallback
is renamed tosetOnSessionStartedCallback
to better reflect its functionality, as the callback can be invoked not only when a new Clarity session starts but also when an existing session is resumed at app startup. - [Feature] Introduced the
startNewSession
API to initiate new sessions. - [Feature] Enabled setting custom screen name tags using
setCurrentScreenName
API. - [Feature] Added the ability to allow or disallow capturing WebViews based on URL patterns defined on the Clarity dashboard.
- [Feature] Added the ability to send custom events to use with the new Smart Events feature.
- [Enhancement] Implemented the capturing of text content from tapped view elements.
- [Enhancement] Enhanced dead tap detection for SwiftUI views.
- [Enhancement] Added initial support for keyboard visualization.
- [BugFix] Addressed various minor bugs.
- [BugFix] Fixed an issue that caused crashes on earlier versions of iOS 16 when using WebViews.
- [BugFix] Fixed a bug which caused crashes when AVPlayer was present on the screen.
- [BugFix] Fixed a bug which caused taps to appear in incorrect locations during session playback.
- [BugFix] Fixed a bug related to font data uploading.
- [Feature] Supporting iOS 18.
- [BugFix] Fixed a bug that caused
UIGraphicsBeginImageContext()
to crash in some apps. - [BugFix] Fixed a bug that caused app layout changes when
CarbonTabSwipeSegmentedControl
component from CarbonKit library is used.
- [BugFix] Fixed a bug that caused crashes in React Native apps that use
react-native-svg
.
- [Feature] Implemented support for custom callbacks that triggers at the beginning of new Clarity sessions.
- [Enhancement] Optimized screen capturing by pausing during periods of inactivity.
- [Enhancement] Included privacy manifest.
- [BugFix] Fixed a bug that caused
UIGraphicsBeginImageContext()
to crash in some apps. - [BugFix] Fixed a bug that caused app layout changes when
CarbonTabSwipeSegmentedControl
component from CarbonKit library is used.
- [Breaking] Dropped the optional fields from the Objective-C interface of ClarityConfig initializer in favor of field setter approach to maintain backwards compatibility for future releases.
- [Feature] Introducing experimental support for SwiftUI apps through the
enableSwiftUI_Experimental
flag.
- [BugFix] Fixed a bug related to web views.
- [BugFix] Minor bug fixes.
- [Initial Release] This is the first public release of the iOS SDK.
- [Enhancement] Custom screen names specified through
setCurrentScreenName()
API fully replace displayed screen name. - [Enhancement] Upgrade native Android SDK to version
3.0.1
. - [Enhancement] Upgrade native iOS SDK to version
3.0.2
. - [BugFix] Addressed various minor bugs.
- [BugFix] Fixed an issue that caused crashes on earlier versions of iOS 16 when using WebViews.
- [BugFix] Fixed a crash that occurred during the orientation transition of third-party video player implementations (for example, Brightcove).
- [Enhancement] Upgrade native iOS SDK to version
3.0.1
.
- [BugFix] This release only addresses an npm registry issue that prevented the installation of version
4.0.1
. Both versions,4.0.1
and4.0.2
, offer the same feature set and improvements.
- [Breaking] npm package is renamed to
@microsoft/react-native-clarity
. - [Breaking] Removed the experimental feature flag for iOS support, making it enabled by default.
- [Breaking] The
allowMeteredNetworkUsage
,enableWebViewCapture
,allowedDomains
,disableOnLowEndDevices
, andmaximumDailyNetworkUsageInMB
configuration options inClarityConfig
are moved to the Settings page on the Clarity dashboard. - [Feature] Introduced the
startNewSession
API to initiate new sessions. - [Feature] Enabled setting custom screen name tags using
setCurrentScreenName
API. - [Feature] Added the ability to allow or disallow capturing WebViews based on URL patterns defined on the Clarity dashboard.
- [Feature] Added the ability to send custom events to use with the new Smart Events feature.
- [Enhancement] Upgrade native iOS SDK to version
3.0.0
. - [Enhancement] Upgrade native Android SDK to version
3.0.0
. - [BugFix] Addressed various minor bugs.
- [Enhancement] Upgrade native iOS SDK to version
2.2.1
.
- [Feature] Supporting iOS 18.
- [Enhancement] Upgrade native iOS SDK to version
2.2.0
.
- [BugFix] Resolved a build issue with the new React Native architecture on iOS.
- [Enhancement] Upgrade native iOS SDK to version
2.1.2
.
- [Enhancement] Upgrade native iOS SDK to version
2.1.1
.
- [Enhancement] Upgrade native iOS SDK to version
2.1.0
.
- [Enhancement] Upgrade native Android SDK to version
2.4.0
.
- [Breaking] Installing Clarity alongside old versions of
react-native-svg
(< 14.x) is no longer allowed due to incompatibility issues. - [Feature] Introducing experimental support for iOS (
enableIOS_experimental
flag). - [Enhancement] Significant optimizations for network consumption.
- [Enhancement] Significant reduction in number of network calls.
- [BugFix] Fixed a bug that caused incorrect visualization of some frames.
- [BugFix] Fixed a bug that caused some frames to be dropped due to an internal exception.
- [BugFix] Fixed a bug that caused some sections of session recordings to repeat within a recording.
- [Enhancement] Optimizations for capturing logic CPU consumption.
- [Feature] Supporting keyboard capturing.
- [Feature] Supporting back gesture capturing.
- [Feature] Added the
pause
API to allow pausing Clarity capturing. - [Feature] Added the
resume
API to allow resuming Clarity capturing. - [Feature] Added the
isPaused
API to check whether clarity capturing is paused or not.
- [Enhancement] Significant optimization for capturing logic CPU consumption.
- [Feature] Supporting dialogues capturing.
- [Feature] Expose a configuration to set a daily network usage limit for Clarity.
- [Feature] Support Android 14 (API 34).
- [Enhancement] Added necessary logic to prevent OOM errors.
- [Enhancement] Optimized for the application startup time.
- [Feature] Exposing an API to retrieve the current active session URL.
- [BugFix] Accept
null
as a legitimate value for thesetCurrentScreenName
function to clear the current screen name.
- [Breaking] Updated the
initialize()
API arguments to take configurations in an object instead of taking them separately. - [Feature] Added the
setCustomSessionId
API to set a custom session ID. - [Feature] Added the configuration flag
disableOnLowEndDevices
to allow disabling Clarity on low-end devices. - [BugFix] Updated the capturing approach to fix issues faced by some customers related to edit text fields.
- [BugFix] Fixed issues relating to
setCustomUserId
not working consistently.
- [Feature] Added the
setCustomTag
API to support tagging sessions with custom tags. - [Feature] Added the
setCurrentScreenName
API to support setting current screen name, which enables filtering on a certain screen on the dashboard.
- [Enhancement] Significant optimizations for network consumption.
- [Enhancement] Significant reduction in number of network calls.
- [BugFix] Fixed a bug that caused incorrect visualization of some frames.
- [BugFix] Fixed a bug that caused some frames to be dropped due to an internal exception.
- [BugFix] Fixed a bug that caused some sections of session recordings to repeat within a recording.
- [Enhancement] Optimizations for capturing logic CPU consumption.
- [Feature] Supporting keyboard capturing.
- [Feature] Supporting back gesture capturing.
- [Feature] Added the
pause
API to allow pausing Clarity capturing. - [Feature] Added the
resume
API to allow resuming Clarity capturing. - [Feature] Added the
isPaused
API to check whether clarity capturing is paused or not.
- [Enhancement] Significant optimization for capturing logic CPU consumption.
- [Feature] Supporting dialogues capturing.
- [Feature] Expose a configuration to set a daily network usage limit for Clarity.
- [Feature] Support Android 14 (API 34).
- [Enhancement] Added necessary logic to prevent OOM errors.
- [Enhancement] Optimized for the application startup time.
- [Feature] Exposing an API to retrieve the current active session URL.
- [Breaking] Updated the
initialize()
API arguments to take configurations in an object instead of taking them separately. - [Feature] Added the
setCustomSessionId
API to set a custom session ID. - [Feature] Added the configuration flag
disableOnLowEndDevices
to allow disabling Clarity on low-end devices. - [BugFix] Fixed issues relating to
setCustomUserId
not working consistently.
- [Feature] Added the
setCustomTag
API to support tagging sessions with custom tags.