Tealeaf UI Capture Release Notes
These release notes pertain to the <
| Release 5.6.0 | Release 5.5.0 | Release 5.4.1 |
| Release 5.4.0 | Release 5.3.0 | All previous releases |
Release 5.6.0
The UI Capture version 5.6.0 library includes the following new features, bug fixes, and improvements.
New Features
- UIC adds support for URL normalization. URL normalization allows you to specify a custom function that accepts the input URL or screenview name and returns the normalized value that is used by the UIC.
- UIC adds support for mouse movement tracking. If enabled, UIC collects up to 1000 unique mouse movement data points per screenview, which can be used to visualize visitor mouse movement during replay.
- UIC adds support for blacklisting DOM Capture based on screenview name. Use the screenviewBlacklist property in the DOM Capture configuration to prevent the UIC from taking DOM snapshots for the specified screenviews.
- UIC adds support for the fetch API. On browsers that support fetch, UIC uses fetch instead of asynchronous XHR. To disable the use of fetch, set useFetch to false in the queue configuration.
- UIC adds support for optimizing the serialization, gzip, and network transfer of the captured data using Web Workers. The worker initializes only on newer browsers that implement fetch. For browsers that do not support Web Workers or implement fetch, the UIC falls back to its default behavior. The tltWorker.js script can be found in the worker directory of the release package. Follow the deployment instructions mentioned in the tltWorker.js file.
- For https-only web apps using the TLCookie module, the TLTSID cookie can now be created as a secure cookie by setting the secureTLTSID property to true in the TLCookie module configuration.
Bug Fixes and Improvements
- UIC does not terminate when the endpoint check fails. If the endpoint check fails, UIC now switches to an asynchronous request on page unload.
- UIC queue flush timer is reset using the same event criteria as the inactivity timeout. Any pause in the user activity that exceeds the configured timerInterval threshold causes the queue to be flushed.
- UIC caches the User ID value retrieved using Eluminate cmRetrieveUserID API.
- UIC ignores page unload events caused by clicking on mailto: and tel: links.
- UIC initializes when the document readyState is interactive or complete.
- UIC does not log the type 7 performance message until after page load and the page load timestamp is non-zero.
- UIC logs the loadEventStart, requestStart and responseEnd properties by default in the type 7 performance message.
- UIC logs the document title in the type 2 screenview message.
- UIC logs query parameters in the type 2 screenview message.
- UIC improves exception reporting. Repeat exceptions i.e. exceptions with the same message, url and line are tracked and counted but do not result in duplicate type 6 exception messages. All repeating exceptions are reported on screenview unload. To disable exception logging entirely remove the error event entry from the core configuration of the replay module.
- UIC does not initialize on IE 9 (and below) when configured with a cross-origin endpoint.
- Made an improvement to prevent the cancellation and data loss associated with the penultimate request by delaying the queue flush when the current event is a "click". The improvement allows the accumulated data to be flushed as part of the unload using a more reliable option like Beacon or synchronous XHR.
- Fixed an issue with Privacy masking where the space character was incorrectly masked as a numeric type instead of a symbol.
- Fixed an issue where the Overstat hover threshold configuration was not taken into account.
- Fixed an issue where multiple consecutive clicks on text input elements would not get recorded.
- Fixed an issue where the page width reported in the type 1 client state message would not reflect the actual scrollable width.
- Fixed an issue where relXY property was being incorrectly set in the type 4 message for keyboard interactions.
- Fixed the event type value in the type 11 gestures message.
- Fixed an issue that could cause the gestures module to fail in some edge cases.
- DOM Capture service options have been removed from the defaultconfiguration.js and made into internal defaults. Service configuration options can continue to be specified to override the internal defaults.
- eval function that was used for maintaining compatibility with IE 6 and IE 7 has been removed from the UIC.
Test Browsers
The following browsers were used for testing this release.
| Browser | Version |
| Chrome | 76.0.3809.100 |
| Firefox | 67.0.4, 68.0.2 |
| Safari | 12.1.2 |
| Edge | 40.15063.674.0 |
| Android Chrome | 76.0.3809.111 |
| iOS Safari | 12.4 |
| Internet Explorer | 11.950.17134.0 |
Test GZIP Encoder
Pako version 1.0.10
Deprecation Notice
The jQuery flavor of the UIC is being deprecated. All new integrations of the UIC should use the W3C flavor. Existing web applications using the jQuery flavor of the UIC should plan for updating to the W3C flavor as soon as possible.
How do I know if my application is using the jQuery flavor of the UIC?
Fewer than 5% of Tealeaf integrations use the jQuery flavor of the UIC. Your web application is only impacted if you are using the jQuery flavor of the UIC. To determine the flavor of the UIC, look for the Copyright message in your UIC file. The jQuery flavor will have a copyright message with the last line containing "@flags jQuery" like the following:
/*! * Licensed Materials - Property of Acoustic * © Copyright Acoustic Corp. 2020 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with Acoustic Corp. * * @version 5.4.1.1813 * @flags jQuery,NDEBUG */
Alternatively, load the web application with which the UIC is integrated and open Developer Tools. In the Console, type "TLT.getFlavor()" to obtain the UIC flavor.
What will happen if I do nothing?
Your current integration continues to function; however, you might not be able to take advantage of the latest enhancements to the product. At some point in the future, support for the jQuery flavor will stop entirely.
Consult with your Professional Services representative for further guidance.
Known issues
- relXY is missing for select list control on Firefox. This is due to a Firefox issue in which Firefox does not provide co-ordinate information for click events on a select list control.
- relXY is missing for select list control on Safari. This is due to a Safari issue in which Safari does not fire a click event on a select list control.
Release 5.5.0
The UI Capture version 5.5.0 library introduces the following new feature.
The SDK now allows storing the session id in local storage. If the sessionIDUsesStorage flag is set in the TLCookie module configuration, the UIC creates the session id in local storage. If local storage is not available, the UIC falls back to creating the session id using cookies. To prevent the UIC from using cookies, set the sessionIDUsesCookie flag to false.Known issues
- You can now set the queue endpoint to an empty string when integrating with the iOS or Android native framework in a hybrid application. This prevents the UI Capture SDK queue from automatically flushing to the network.
- The UI Capture SDK does not create a WCXSID cookie. For session identification, the UIC SDK checks the WCXSID cookie and verifies that it exists. If it exists, the UIC SDK uses the WCXSID cookie value. If a WCXSID cookie does not exist, the UIC SDK creates a TLTSID session cookie with a random 32 character value and uses it for session identification.
- Fixed an issue where the final “tap” gesture message is not flushed on page unload.
- Fixed an issue where the following error message is displayed on the console: “Cannot read property toString of undefined.”
- Fixed an issue that resulted in a URIException when application cookies containing % signs are not URI encoded.
- A new feature to allow specifying a list of elements to be excluded from privacy masking has been added. When this feature is enabled, any "input," "select," or "textarea" element that does not match the list of privacy targets will have the specified privacy mask applied. The "exclude" property should be set to true in the privacy masking rule to enable this feature.
- A new feature to allow pattern matching and replacement in captured DOM snapshots has been added. Pattern matching is applicable to full DOM snapshots as well as DOM diffs. Pattern matching is applicable to user input in "input," "select," or "textarea" elements only if no privacy rule was applicable.
Note: Depending on the application and the specified RegEx patterns, using this feature could result in a performance impact to the application. Adequate performance testing must be performed when using this feature.
- If Beacon is enabled, then the library will always try to use the Beacon API instead of synchronous XHR even when the page is not unloading.
- Added a new property "attributeDiffs" to the type 12 domCapture message. This property replicates the attribute diffs contained in the "diffs" array.
- The type 7 performance message is now posted after page load. An optional delay setting can be used to fine tune when the message is posted. The default delay is 2 seconds. If the message could not be posted after page load, then it is posted during page unload.
- When taking DOM snapshots, frames and iframes having their location as "about:blank" are no longer captured.
- Fixed an issue where the TLTSID session cookie would not be set for single component domain names.
- Fixed an issue where the type 1 clientState message could cause errors to be reported in the debug console when the library was terminated right after startup.
- Fixed an issue where an incorrect "screenviewOffset" value could be reported in certain cases for type 2 UNLOAD messages.
- Fixed an issue where an incorrect path would be specified in the case of Hybrid applications using Webviews.
- A check was added to ensure the library has been successfully initialized before processing any DOM event provided via the TLT.processDOMEvent API.
- A check was added to ensure the library has been successfully initialized before allowing modules to post messages to the queue.
Note: This check may impact the functioning of custom UI SDK modules written by Acoustic Professional Services or Acoustic Business Partners. Any custom modules added to the UI Capture SDK should be re-validated after upgrading to 5.4.
- The "useCapture" setting is enabled by default and it has been removed from defaultconfiguration.js.
- The number of type 5 custom messages that can be posted per page is limited to 300.
- The number of type 6 exception messages that can be posted per page is limited to 400.
- A new feature to use the W3 Beacon API to asynchronously transmit the final POST on page unload was added. If this feature is enabled and the Beacon API is available on the browser, an attempt is made to send the final request on page unload by using the sendBeacon() API. If the feature is enabled but the Beacon API is not available on the browser, the SDK falls back to use the XHR mechanism.
Note: This feature requires <
backend support and is only supported on the cloud. This feature is not supported for the on-prem product. A new flag "useBeacon" was added to the queue configuration, which specifies whether the Beacon feature is used. This feature must be disabled when you use the on-prem product.
- A new public API was added to create and add a form completion message. Form completion indicates whether the user submitted a form (or form equivalent) and if the form was validated. This
information is used by Overstat to produce the Form Completion report.
TLT.logFormCompletion(submitted, valid)
The API accepts two parameters:- submitted: Boolean flag indicates whether the form (or form equivalent) was submitted (true) or not (false).
- valid: Optional boolean flag indicates whether any validation performed on the form input and if the validation check passed (true) or failed (false)
For a standard HTML form element, the submission would be when the submit event is triggered. For applications that use AJAX, a submission is defined according to the business logic.
- Collector killswitch support was added. If a tlAppKey is configured, an asynchronous GET request is made to the corresponding killswitch URL. If the response indicates that the killswitch is enabled, the UIC self-terminates for the current page and does not initialize on any subsequent pages for the current session.
- The queue is automatically flushed after the first full DOM snapshot is taken. This eliminates any need to explicitly configure the queue to send the initial snapshot of the page as soon as possible.
- Additional safety checks are added around message serialization. Serialization errors result in the JSON being rejected and an appropriate message is placed in the JSON payload.
- The inactivity timer does not reset for custom events. The inactivity timer resets only on "click", "change", "blur", "mouse" and "touch" events.
- The DA visitor cookie is automatically added to the type 14 message when available.
- Added support for a uniform session ID between Digital Analytics and <
by using the WCXSID cookie. - The "messageRedirect" API now accepts an "order" parameter that specifies the relative ordering between multiple redirect callbacks.
- The page id is also included as a custom HTTP header "X-PageId" to enable more usage metrics to be gathered by the collector.
- Use percentages for relXY co-ordinates instead of the grid cell coordinates in the Overstat module. This keeps the points within the bounds of the element even when zooming in/out of the browser.
- The document scroll values are rounded to integers.
- The viewport co-ordinates are rounded to integers.
- The screenview load event now resets the visited count of input elements.
- Fixed an issue in the Overstat module where two elements with duplicate IDs have a parent-child relationship.
- Fixed an issue when the observed window for DOM Diff contains an invalid document object.
- The sample target pages are updated to remove the request processing duration information.
- New enhancement to privacy handling for non-standard controls using the blockedElements configuration setting.
UI Capture enables the blocking and masking of user input data by element ID, name, and xpath. Masks can be expressed as an explicit string, replacements for character types, or custom functions. Use the blockedElements configuration setting in the Core configuration file to define a set of elements for which no user interaction is to be reported.
- Privacy masking is extended to select list controls. When a select list control is included in the privacy masking rules; all properties, except for the value property, are removed from the control state that is recorded in the type 4 message. The value property is masked in accordance with the privacy rule.
- New TLCookie module.
The TLCookie module is required for SaaS deployments and can be configured through the Configuration wizard or by modifying defaultconfiguration.js. The TLCookie module is used to record cookie values for each screenview load that occurs.
- New TLT.getLibraryVersion API call.
The TLT.getLibraryVersion API call can be used to return the version number of the UI Capture library. It is recommended to use the latest version of the UI Capture library with your applications.
- New support for regex matching of screenview names in DOM Capture load and unload triggers.
- Improvement to inactivity timeout.
The inactivity timeout setting stops recording user interactions for a page after specified amount of user inactivity on the page. The orientationchange event is now excluded from the event types that are reset by the inactivity timer. The orientationchange event is not reset because the mobile device might report an orientationchange event when the user is not deliberately interacting with the application. For example, the orientation of the mobile device might change while it is stored inside a pocket, bag, or carrier.
- URL parsing for type 2 screenview messages now detects semicolons (;) as a query string separator.
- Added the domain property to the webEnvironment section.
- Added the url, host, and charset properties for frame snapshots in the type 12 DOM Capture messages.
- Improved automatic screenview logging by detecting URL path and hash changes even when there is no hash change event. TLT.logScreenviewLoad and TLT.logScreenviewUnload are used to log nested screenview messages.
- Improved handling of erroneous viewport values from the Google Search Appliance (GSA).
- Normalized tlType property values for submit, reset, image, and other input element types.
- Changed the TLTSID cookie value to only contain uppercase characters.
- Fixed a bug which prevented successful DOM Capture and replay of textarea elements.
- Fixed a bug in the cxOverstat module which was causing erroneous counts for hover events.
- Fixed a bug which provided incorrect checkbox state in type 12 DOM capture messages on Internet Explorer 10.
- Fixed a bug where privacy rules containing CSS selectors would not get applied to elements in child frames and iframes.
- Fixed an edge case where the screenviewOffset would be incorrect for type 2 screenview unload messages.
- Fixed the tlType property values for type 9 messages.
- Fixed a bug when applying privacy mask type 3 to the period (.) character.
- Fixed a bug in the jQuery version check.
- Fixed a bug in the PHP target page to use CONTENT_LENGTH instead of HTTP_CONTENT_LENGTH.
- Removed debug and MD5 functions that are no longer used from the target page examples.
- Added a X-Tealeaf-syncXHR request header which allows the recipient to differentiate between synchronous and asynchronous requests (XHR) that are handled by the Queue service.
- Diagnostic logging related to XHR can be enabled by setting the xhrLogging setting in the queue service configuration. The log data is appended to the JSON. The log data is used by Acoustic technical support for troubleshooting. Do not change the xhrLogging setting without contacting Acoustic technical support first.
- New check endpoint setting.
When enabled, the configured endpoint is sent a test request after each page load to verify that the service is available. The test request can be identified by the presence of the X-Tealeaf-EndpointCheck HTTP request header. If a timeout occurs, the UI Capture library shuts own and no session data for the page is sent to the collector. This feature can be used as a safety check when the endpoint is hosted cross-domain.
Note: The check endpoint setting should be enabled for use with <
. - New threshold setting for DOM Diff mutations.
The DOM Diff service captures and processes the changes in a screenview that occur when a user interacts with a page. Processing the changes is often faster than performing a full DOM capture of a page on each user interaction.
For example, on a page that dynamically displays content in response to the user interaction by toggling the CSS properties of the elements, only the CSS style attribute changes are captured as part of the DOM Diff enabled capture. Without DOM Diff enabled, the entire HTML content of the page would be captured.
Depending on the application, there could be a high number of DOM differences to capture. Processing all of the DOM differences into one capture can decrease application performance. The number of mutations that were processed by the UI Capture SDK are indicated in the mutationCount property of the type 12 DOM Capture message. It is recommended to set a threshold for the maximum number of DOM Diff mutations to capture. If the threshold is exceeded, the UI Capture SDK ignores the DOM mutations and performs a full DOM Capture for the page. When the UI Capture SDK reverts to the full DOM Capture, the forced property is added to the type 12 DOM Capture message. The UI Capture SDK automatically switches back to capturing DOM Diffs for subsequent triggers.
- The UI Capture now supports the ability to enable full a full DOM capture for a specific target while DOM Diff is enabled.
- New inactivity timeout setting.
After initialization, the UI Capture library records user interactions that occur in a page until the page unloads or the browser is closed by the user. If there is an extended period of inactivity where no user interactions are observed, the library ends the recording. Terminating the recording prevents later POST requests (UI hits) of the library from creating one-hit or orphaned sessions. The termination also prevents any interference or accidental
activation of the keep-alive behavior within an application. - New useCapture setting.
Added a useCapture setting to the browser service configuration which enables the use of capture mode for listening to DOM events. The useCapture setting is enabled by default. When disabled or if the browser does not support event capture; then, event bubbling is used. Some events might be missed if the application is preventing the events from bubbling. For more information about event capture and bubbling, see the W3C DOM specification at https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow.
- Removed the feature that allows the dynamic loading of module scripts and SizzleJS due to potential security vulnerability.
- Fixed an issue where ClientState type 1 messages are not reported for the Opera Mini browser.
- The viewPortHeight property of the ClientState message is now limited to a positive range of values between 0 - 10000. Any values outside this range are not reported.
- Explicit definition of the TLT object to ensure it is accessible in the global scope.
- Improvements to click-event message ordering in relation to screenview messages in certain cases.
- The DOM Capture feature was enhanced to incorporate DOM Diff functions. DOM Diff is enabled by default. When enabled, the first DOM Capture of the page is a full snapshot and subsequent DOM Captures capture only the differences from the previous snapshot.
- For <
> SaaS: - A cookie module was added to the configuration so that cookies can be configured based on how
<
> SaaS handles sessionization for the application. - Configuration options were added to test the target page at SDK initialization. You can configure the SDK to send an async test and configure a time to wait for a response back from the target page before the SDK shuts down.
- A cookie module was added to the configuration so that cookies can be configured based on how
<
- The JSON messages that are affected include:
- Type 1 (Client Environment) - the definitions for orientation, width, height, deviceWidth, and deviceHeight were updated.
- Type 11 (Gestures) - scrollX and scrollY fields were added.
- Type 12 (DOM Capture) - now shows the changes in a page to support the DOM diff service.
- The documentation was updated and modified for use in the Knowledge Center. With the Knowledge Center documentation, the user can:
- Search across all of the <
> documents and across all Acoustic product documentation - Create collections of specific topics that they use frequently
- Create pdf documentation of the collections they create
- Search across all of the <
- <
> UI Capture now has the means to capture geolocation information on the user's device. The application programmer must ask for user's permission to collect the geolocation data. The information can be collected automatically when the application starts. Geolocation information can be manually collected as specific points in the application with the geolocation API. - JSON messages were added for geolocation capture events. There are now 13 JSON message types
supported. The message added to the documentation in this release is:
- Type 13: Geolocation - Geolocation information. If the user does not give permission to collect geolocation data, a geolocation type 13 error message is sent.
- Custom events can now be used as triggers for DOM capture.
- DOM Capture can now be delayed until the frames finish loading.
- DOM Capture is now an option for hybrid applications. DOM Capture relies on the Document Object Model (DOM), which provides a structured representation of the web page (document). The DOM Capture Service captures a "snapshot" of the rendered DOM. The Configuration Wizard has been modified to configure basic DOM settings for hybrid applications.
- <
> UI Capture now has the means to capture gestures the user makes on a mobile application. The gestures that are captured include:- Tap
- Tap and hold
- Double tap
- Swipe vertically
- Swipe horizontally
- Pinch open
- Pinch close
- The hybrid bridge has been expanded so that Native iOS and Native
Android APIs are now accessible from the UI Capture JavaScript. The android APIs that are available to JavaScript are:
- Enable <
> Framework - Disable <
> Framework - Log Screen Capture
- Start New <
> Session - Current® Session ID
- Default Value for Configurable Item
- Value for Configurable Item
- Set Configurable Item
- Add Additional HTTP Header
-
The iOS TLFApplicationHelper APIs that are available to JavaScript are:
- -(void)enableTealeafFramework;
- -(void)disableTealeafFramework;
- -(void)requestManualServerPost;
- -(BOOL)startNewTLFSession;
- -(NSString*)currentSessionId;
- -(BOOL)setConfigurableItem:(NSString*)configItem value:(id)value;
- -(id)valueForConfigurableItem:(NSString*)configItem;
- -(id)defaultValueForConfigurableItem:(NSString*)configItem;
- -(void) addAdditionalHttpHeader:(NSString*)value forName:(NSString*)name;
The iOS TLFCustomEvent APIs that are available to JavaScript are:- - (BOOL)logEvent:(NSString*)eventName;
- - (BOOL)logEvent:(NSString*)eventName values:(NSDictionary*)values;
- - (BOOL)logPrintScreenEvent;
- DOM Capture is now an option for hybrid applications. DOM Capture relies on the Document Object Model (DOM), which provides a structured representation of the web page (document). The DOM Capture Service captures a "snapshot" of the rendered DOM. The Configuration Wizard has been modified to configure basic DOM settings for hybrid applications.
- JSON messages were added for gesture capture and DOM capture events.
All of the message types from 9.0 were updated to include the message
type number. The complete list of messages is:
- Type 1: Client State - Current state of client.
- Type 2: Application Context - Message to indicate divisions in application view which could be current page/view/activity user is on.
- Type 3: Connection - Any request/response application performs during capture.
- Type 4: Control - User interface control that fires an event we listen to capture.
- Type 5: Custom Event - Any custom log event from any place in application.
- Type 6: Exception - Any exception application can throw.
- Type 7: Performance - Performance data from a browser.
- Type 8: Web Storage - An object containing information about local storage information on the browser.
- Type 9: Overstat® Hover Event - An object containing information about mouse hover and hover-to-click activity.
- Type 10: Layout - Current display layout of native page.
- Type 11: Gesture - Gesture that fires a higher touch event <
> listens to and captures. - Type 12: DOM Capture - An object containing serialized HTML data (DOM snapshot) of the page.
- Enable <
- Two new APIs were added to the UI Capture library. TLT.logScreenCapture instructs the underlying native functionality to take a screen capture. TLT.registerBridgeCallbacks is used to register callback functions, which are invoked by the UI Capture library in specific instances. This API supports messageRedirect, screeCapture, and addRequestHeaders callbacks. The messageRedirect callback can be registered to redirect and intercept messages from UI Capture. The screeCapture callback can be registered to enable a JavaScript API to allow a screen capture to be taken. The addRequestHeaders callback can be registered to enable a third-party JavaScript to return custom HTTP headers that need to be set on the UI Capture libraries POST request.
- In the development builds of the library, several APIs now throw exceptions and log the exception to the console when the library is not initiated for API calls that depend on the library. In production builds of the library, the API call fails silently if the library was not initialized. The following APIs throw this exception in development builds.
- getSessionData
- logCustomEvent
- logExceptionEvent
- logScreenviewLoad
- logScreenviewUnload
- logScreenCapture
- The UI Capture configuration wizard contains several new options.
- In the Browser Service Configuration step, Internet Explorer Excluded Links option is added to handle beforeunload in Internet Explorer.
- You can Enable asynchronous XHR on page unload to turn on asynchronous requests during page unload in the Queue Service Configuration step.
- Remove Target and Remove Privacy Configuration are added to remove a single target or privacy configuration when you configure multiple privacy masks in the Message Service Configuration step.
- In the Modules step, you can now add custom replay events in the Modules step. You can also enable the overstat module. The overstat module adds mouseout, mousemove, and click overstat events to your configuration.
- Cross-domain communication is added to send UI Capture POST request to a different server than the parent page.
- Incorrect orientation values may be reported on certain Android devices. This issue occurs because the devices themselves report non-standard values for portrait and landscape modes.
- Pinch open & close is not reported on the Android platform.
- Fixed jQuery version check for jQuery 1.10 and above.
- An exception was thrown if multiple copies of the UI Capture were detected.
- Fixed the reporting of width, height, and scale values for Android Chrome.
- The navigationStart property in the performance timing object returns the absolute time stamp value instead of 0.
- Any leading or trailing white space is trimmed from InnerText values of link elements.
- Module events are not subscribed to if the module is not enabled.
- Fixed a bug in the relXY positioning calculation by correctly factoring the elements scroll position.
- JSON message version was updated to 3.0.0.0 to reflect additions
that were made to the JSON format in the <
> 9.0 release. - A bug was fixed so that frames blacklist works for CSS class based selectors.
- Conditional comments were replaced with user agent check (MSIE) and document mode detection.
- A close button was added for the Regex Tester in the Configuration Wizard.
- The timer interval for flushing the queue is now set to 5 minutes in the default configuration.
- Added a new module, Overstat, that tracks two new events; hover duration and hover to click time.
- Added event delegation support for jQuery flavor of UI Capture.
- Added support for cross-domain POSTs.
- Added a host property to the screenview message that now contains the URL scheme and host.
- Check for exceptions when unregistering handlers since the target may no longer be valid in some cases.
- Library configuration object supports specifying window and document objects as strings (for example, target: "document")
- The Configuration Wizard was fixed so the masking function value is displayed and not the function ID.
- Certain cases of user input not being updated in the Configuration Wizard when using Firefox were fixed.
- Clean up frame-related resources and events after a frame reloads.
- Made improvements to the xpath algorithm.
- UI Capture was fixed so that it does not send an empty performance object on legacy Internet Explorer when calculateRenderTime is disabled.
- Added help text for Performance settings and Replay Events under Advanced Options on the Modules page of the Configuration Wizard.
- Allow privacy masking functions to be specified the same way that we allow JSON parser, stringifier, and jQuery Sizzle configuration.
- Set tlType to month for HTML5 input element of type=month. Because HTML5 elements are not uniformly supported across all browsers, this fix only works for browsers that have underlying support for this element.
- Ensure that messages get flushed in the right order when screenview load and unload are used.
- The Configuration Wizard displays the UIC version string.
- The queue service was modified so that serialization for native bridge uses the serializer service abstraction instead of the global JSON object.
- A new public API was implemented, TLT.getSessionData(), that returns the <
> Session id information in JSON format. - Support was added for blacklisting frames.
- Support was added for render time on legacy browsers that do not implement the W3C Navigation Timing API. In such cases, the library can optionally calculate render time based on the difference between the library load and page load.
- Changes were made to TLT.init logic to improve performance on load.
- Made performance improvements to the xpath algorithm.
- Legacy Internet Explorer (and IE9 in quirks mode) access denied issue when document domain is changed were fixed.
- window.JSON calls were replaced with the serializer service abstraction. The JSON stringifier and parser are now configurable. Use of the built-in stringifier and parser is configurable.
- Made performance improvements to the getBoundingClientRect algorithm.
- Fixes implemented to the same origin detection for frames support and multi-level frame support.
- jQuery is no longer assumed to be in the global scope. The configuration is used to specify the jQuery location.
- Performance improvement to break out of the privacy processing loop once a privacy match is found. For targets that are configured multiple times in the privacy configuration, only the privacy mask that is specified for the first match s applied.
- When the initial focus time on a target element is missing, the default dwell time is set to 0 instead of the timestamp.
- Fixed XHR when using Microsoft ActiveX object.
- Check for negative values of the selectedIndex for cases when the select list is empty.
- Removed contenteditablefrom the target selector in the Configuration Wizard and the default configuration. For websites using HTML5 elements with contenteditable attributes, this must be configured manually.
- If the target element's value is empty, the masked value is empty irrespective of the mask type (empty, basic, or type).
- sizzleURL must be configured explicitly and is no longer included in the configuration by default.
- Prioritize use of Sizzle engine over jQuery when available. jQuery detection logic checks for jQueryObject specified in the configuration before assuming jQuery in global scope. Location of the Sizzle engine is now configurable. The library checks for sizzleObject in the configuration before assuming Sizzle in the global scope.
Safari 11.1 has an issue that prevents the sendBeacon API from executing successfully. Until Apple fixes this issue, it is recommended that you do not use sendBeacon on Safari 11.1 (and later). Instead, use the XMLHttpRequest API. For updates about how Apple plans to address this issue, see https://bugs.webkit.org/show_bug.cgi?id=188329.
Release 5.4.1
The UI Capture version 5.4.1 library includes the following bug fixes and improvements.
Bug Fixes and Improvements
Release 5.4.0
The UI Capture version 5.4.0 library includes the following new features, bug fixes, and improvements.
New Features
Bug Fixes and Improvements
Release 5.3.0
The UI Capture version 5.3.0 library includes the following new features, bug fixes, and improvements.
New features
Bug fixes and improvements
Release 5.2.0
The UI Capture version 5.2.0 library includes the following new features, bug fixes, and improvements.
New features
Bug fixes and improvements
Release 5.1.0
The UI Capture version 5.1.0 library includes the following new features, bug fixes, and improvements.
New features
Bug fixes and improvements
New features and changes in 5.0
The 5.0 release contains updates to the DOM Capture feature, extra configuration for <
New features
New features and changes in 4.1
New features
Changes
New features and changes in 4.0
This section describes the new features and changes that
are introduced in version 4.0 of <
New features
Changes
Version 3.1.0
New features
This section describes the new features and changes that are introduced in version 3.1.0 of <
Known issues
Bug fixes and improvements
Version 3.0.1
Bug fixes and improvements
Version 3.0.0
New features
This section describes the new features and changes introduced
in the 8.8 version of <
Bug fixes and improvements
Version 2.1.0
New features
Bug fixes
Version 2.0.4
First release.
Updated 18 days ago
