HeadSpin Documentation
Documentation

Changelog

Mar 27, 2024

Fixed - Usage report of device usage by team contains too many devices

  • We fixed the unexpected behavior in usage api route <code class="dcode">/v1/usage/team/device</code> where zero usage for all devices in the org was shown instead of only the ones directly allocated to the team.

March 22, 2024

Added - Android 15 preview/beta support

  • Added support for Android 15 preview/beta ("VanillaIceCream"). This requires the Android device host to be updated.

Mar 11, 2024

Modified the default value of <code class="dcode">headspin:screenshotSource</code>

  • To make screenshot-taking more natural for TV Devices, the default value for <code class="dcode">headspin:screenshotSource</code> has been changed from <code class="dcode">default</code> to <code class="dcode">camera</code>. This will make it so that A/V Box setups will take screenshots via the Camera Device by default, if available. Devices under test that do not have a Camera Device associated with them will continue to take screenshots via Appium/Selenium with this new default. Please check Appium Capabilities doc for more details.

Mar 1, 2024

Added - Start Activity is now an additional way to launch an app

  • <code class="dcode">mobile:startActivity</code> for UiAutomator2 and Espresso drivers is now a recognized command which will manually launch an app when the command is received. Here are available ways to launch an application under test for reference.

Feb 29, 2024

Fixed - Android devices, 5G connectivity not showing in the UI

  • The Android UI was showing LTE as the network subtype even when the device has 5G capabilities and shows it is connected to a 5G network. This was due to how the Android API interprets the different 5G network deployment types. This is now fixed. The network subtype will correctly display when the phone has 5G capabilities and it will also distinguish between different 5G network types.

Feb 26, 2024

Modified timeout calculation in a new session request via AppiumLB

  • <code class="dcode">appium:newCommandTimeout</code> or <code class="dcode">headspin:newCommandTimeout</code> will be used to the entire request's max timeout. <code class="dcode">headspin:waitForDeviceOnlineTimeout</code> will be part of the timeout to get an available device if it is provided. Please check Appium Load Balancer for more details.

Feb 15, 2024

Added - Toggling log capture and system capture off when starting capture session via API

  • When starting a capture session via Session API, log capture and system capture can now be toggled off by setting <code class="dcode">capture_log</code> and <code class="dcode">capture_sys</code> to <code class="dcode">False</code>, respectively. It is now possible to turn on only one specific data capture, by toggling all others off.

Jan 29, 2024

Fixed - Bug with certain request/response sizes

  • Fixed a bug that caused incorrect values to be reported for the size of certain HTTP requests and responses.

Jan 17, 2024

Added - <code class="dcode">headspin:app.id</code> Appium capability for TV devices

Added - <code class="dcode">headspin:capture.strictSession</code> Appium capability

  • Added <code class="dcode">headspin:capture.strictSession</code> to end the Appium session when the corresponding capture session ends. Please check Appium Capabilities doc for more details.

Jan 12, 2024

Fixed - Newer Samsung devices (Android 13+) battery drain parsing issue

  • There was an issue on some Samsung devices where battery drain information was not being captured. This was due to a change in the format of the battery data output of these devices. This is now fixed. Devices impacted by this issue will have to have their host updated.

Jan 10, 2024

Modified <code class="dcode">headspin:autoLaunch</code> and <code class="dcode">headspin:capture.autoStart</code> determination logic

  • Changes had to be made to how <code class="dcode">headspin:autoLaunch</code> and <code class="dcode">headspin:capture.autoStart</code> are determined due to the possibility of users not specifying a value for <code class="dcode">headspin:autoLaunch</code>. The default values for <code class="dcode">headspin:autoLaunch</code> and <code class="dcode">headspin:capture.autoStart</code> are now being determined at runtime from other capabilities, namely <code class="dcode">appium:app</code>, <code class="dcode">headspin:appId</code>, <code class="dcode">headspin:app.id</code>, <code class="dcode">appium:appPackage</code>, and <code class="dcode">appium:bundleId</code>.

Dec 11, 2023

Added - <code class="dcode">headspin:appiumAutomationVersion</code> and <code class="dcode">headspin:appiumOptions: {"automationVersion": "5.5.0"}</code> Appium capabilities

  • Added <code class="dcode">headspin:appiumAutomationVersion</code> and <code class="dcode">headspin:appiumOptions: {"automationVersion": "5.5.0"}</code> capabilities syntax to let a session use a specific Appium driver version. Please check Appium Capabilities doc for more details.

Nov 29, 2023

Added - <code class="dcode">headspin:controlLock.autoUnlock</code> Appium capability

  • Added <code class"dcode">headspin:controlLock.autoUnlock</code> to skip unlocking the device during quitting the session with <code class="dcode">headspin:controlLock</code> capability. This may help to control unlocking the device timing over hs connect usage for example. Please check Appium Capabilities doc for more details.

Nov 28, 2023

Added - <code class="dcode">headspin:installApp</code> command

  • Added <code class="dcode">headspin:installApp</code> command to install an application uploaded by App Management API in the middle of a session to help handling application installation task outside of a new session request, Please check Appium Capabilities doc for more details.

Nov 22, 2023

Added - Pintap API

  • The Pintap feature, currently only accessible in Remote Control UI, can now be triggered by an API call. This can be used with any device for which manual Pintap is available. For details, see Android Device API or iOS Device API.

Oct 31, 2023

Fixed - Android 14 landscape mode support

  • Previously, landscape mode on Android 14 devices was broken due to changes in behavior of the OS. The image was rotated within the portrait dimensions and so it appeared small and rotated 90 degrees. This is now fixed and landscape mode works the same as on previous versions of the OS. This fix requires the Android device host to be updated.

Oct 12, 2023

Fixed - Android Remote Control UI file browser directory detection

  • Previously, some sub directories in the file browser were shown incorrectly as files and it was impossible to browse inside of them. This is now fixed.

Aug 29, 2023

Added - Analysis Config API

  • Users can now blocklist issues and/or time series that are irrelevant or otherwise not useful for an org or a group of sessions. See Analysis Config API for details.

Aug 25, 2023

Added - headspin:forceQuitSession Appium and Selenium capability

Aug 23, 2023

Added - headspin:options capability syntax

Aug 15, 2023

Added - Past error messages are included in AppiumLB error message response

  • AppiumLB includes past error messages in the retrial as part of the <code class="dcode">message</code> key up to 10 latest cases. It will help to investigate the possible error reasons in the request's error retrials.

Aug 3, 2023

Added - headspin:capture.startTimeout Appium and Selenium capability

July 24, 2023

Added - New Instrumentation API

  • Added a new Instrumentation API route to instrument apks by apk ID.

July 19, 2023

Added - New User Note API

  • Added a new route <code class="dcode">[GET|POST|DELETE] /v0/usernotes</code> to perform actions on User Notes.

Added - <code class="dcode">include_user_notes</code> option in Usage API v1

  • Users may now supply a boolean value for the <code class="dcode">include_user_notes</code> fields. When <code class="dcode">true</code>, users' User Notes will be injected into the report schema under the key <code class="dcode">user_notes</code>.

July 18, 2023

Fixed - Android 10+ clipboard

  • Previously, the feature to copy the text contents of the Android device clipboard in the RemoteControl UI was not working for Android OS version 10 and higher. This is now fixed. The clipboard feature can be found in the Tools tab in the RemoteControl UI.

HeadSpin CLI v202307.95.0 has been released with the following changes:

  • New: The <code class="dcode">hs connect</code> and <code class="dcode">hs expose</code> commands now have a new <code class="dcode">ViaHost</code> output format field for exposed ports. Unlike the existing <code class="dcode">ViaAddress</code> field which includes both the hostname and port, the <code class="dcode">ViaHost</code> field provides convenient access to just the hostname.
  • Fixed: The <code class="dcode">hs connect</code>, <code class="dcode">hs provide</code> and <code class="dcode">hs tunnel</code> commands should now be able to form connections more reliably.
  • Fixed: Apple devices connected over <code class="dcode">hs connect</code> would sometimes disconnect while in use, especially when connected for an extended period of time. The primary cause of this failure has been fixed. Device hosts must also be updated to v202307.95.0 or later for full effect.
  • Other: General fixes and improvements.

July 17, 2023

Added - Sessions API Pagination

  • The <code class="dcode">GET</code> endpoint of the Sessions API (<code class="dcode">/v0/sessions</code>) now supports pagination. See Sessions API for usage.

July 11, 2023

Modified - deployed v1 routes with syntax change in Usage API

  • Users are encouraged to adopt the new v1 usage API routes as we move away from supporting v0. The main change of v1 lies in the request syntax, where query parameters are now specified in the url instead of in the request body. Please see Usage API for examples.

July 6, 2023

Added - group_by_device_id option in Usage API

  • Added <code class="dcode">group_by_device_id</code> option to combine usage by the same device on different hosts when generating device-specific usage reports. Please see Usage API for details.

June 23, 2023

Added - headspin:otherApps.ids Appium capability for Android and iOS

  • Added <code class="dcode">headspin:otherApps.ids</code> to accept multiple applications managed by App Management API which is then used as <code class="dcode">appium:otherApps</code> capability. Please check Appium Capabilities doc for more details.

Fixed: Memory and CPU details in the UI are not displayed.

  • Previously, for Android devices, the Memory fields would appear blank in the RemoteControl UI. The device's total available RAM is now checked programmatically and surfaced. The host must be updated to version <code class="dcode">202306.107.0</code> or higher.
  • Previously, for Android devices, the CPU fields in the RemoteControl UI would appear blank. These values are now updated for most of the popular devices. The values must be manually maintained per device model so not all devices may display these values. The host must be updated to version <code class="dcode">202306.146.0</code> or higher.

June 22, 2023

Fixed - audio loss in capture when Android screen is off

  • Previously, when Android screen turns off, or there are no changes on the screen for a long time, audio data was lost, resulting in silence at such moments in the capture. This has been fixed. The host must be updated to version <code class="dcode">202306.130.0</code> or higher.

June 20, 2023

  • Fixed: Android devices which fail to be setup automatically after a reboot when they have a lock screen configured. Previously some devices would get stuck in "preparing" -> "unavailable" loop after a reboot until the screen was unlocked either manually or via PinTap. This should no longer be the case. The host must be updated to version <code class="dcode">202306.114.0</code> or higher.

June 1, 2023

  • Document that network shaping is now available on more device types in Session API and HeadSpin Appium Capabilities

May 31, 2023

HeadSpin CLI v202305.259.0 has been released with the following changes:

  • Fixed: The functionality behind <code class="dcode">hs expose</code> and <code class="dcode">hs connect</code>'s <code class="dcode">--expose</code> option was mistakenly disabled in version v202305.178.0.

May 23, 2023

Modified - PIN codes for Android devices can be entered in the UI at any time

  • For Android devices, the Pintap unlock tool in the UI can now be used to enter the PIN code at any time. Previously, this was only available for the lock screen PIN entry.

Fixed - BlueFinger dongle performance and reliability has been improved

  • The performance of Pintap unlock for devices that utilize the BlueFinger dongle has been made more reliable by resolving some connectivity issues

May 20, 2023

Added - <code class="dcode">mobile_safari</code> option in Device Cleaning API

  • Added <code class="dcode">mobile_safari</code> option in <code class="dcode">Clean Devices</code> for iPhone and iPad. Please check Device Cleaning API for more details.

May 19, 2023

HeadSpin CLI v202305.178.0 has been released with the following changes:

  • Fixed: When using <code class="dcode">hs connect</code> or <code class="dcode">hs provide</code> with Android devices, a hang could occur under some circumstances (typically upon disconnection).
  • Fixed: When using <code class="dcode">hs connect</code> with Android devices, timing related edge conditions in individual data streams were incorrectly treated as fatal errors, causing devices to disconnect prematurely. This fix is only available on device hosts that are up to date.
  • Fixed: Frequest disconnections could be observed in some network environments when using <code class="dcode">hs tunnel</code>.
  • Fixed: When using the <code class="dcode">--expose</code> and the <code class="dcode">--output-format</code> option with <code class="dcode">hs connect</code>, the <code class="dcode">Exposed</code> output field had the wrong value for ports on connected devices that had already been exposed.
  • Fixed: The background service required for various commands such as <code class="dcode">hs connect</code>, <code class="dcode">hs provide</code>, <code class="dcode">hs tunnel</code> and <code class="dcode">hs signer</code> would sometimes fail to fully start, causing those commands to hang or time out. The same issue could also occur on device hosts, rendering devices and other CLI services on that host temporarily inaccessible. On device hosts, the fix is only available on hosts that are up to date.
  • Other: General fixes and improvements.

May 18, 2023

Added - <code class="dcode">nowait</code> option in Session API

  • Added <code class="dcode">nowait</code> option in <code class="dcode">Create a session</code> to make the request async. Please check Session API for more details.
  • Added <code class="dcode">nowait</code> option in <code class="dcode">Stop a session</code> to make the request async. Please check Session API for more details.

May 16, 2023

  • Added <code class="dcode">/v0/avbox/play/workers</code> and <code class="dcode">/v0/avbox/record/workers</code> to the A/V box API to list active workers.

May 11, 2023

Added - New route to the Auth API

  • Added a new route <code class="dcode">GET /v0/api/token</code> to the Auth API to retrieve API tokens for a user.

May 9, 2023

Added - <code class="dcode">headspin:assistiveTouch</code> Appium capability in iOS

  • <code class="dcode">headspin:assistiveTouch</code> Appium capability will configure the iOS Assistive Touch condition in a session. Please check Appium Capabilities doc for more details.

May 8, 2023

May 2, 2023

  • Added a new route <code class="dcode">GET /v0/devices/{device_selector}/notes</code> to the Basic Device API to retrieve notes associated with devices.

April 25, 2023

Starting from 202304.167.0:

  • Android capture sessions will have battery voltage and temperature timeseries on most devices.

April 20, 2023

HeadSpin CLI v202304.125.0 has been released with the following changes:

  • New: The new <code class="dcode">--hard-timeout</code> option for <code class="dcode">hs connect</code> allows one to set a maximum duration for device connections to safeguard against accidental long term usage. It is also available as the <code class="dcode">HS_CONNECT_HARD_TIMEOUT</code> environment variable. A similar option is also available for <code class="dcode">hs provide</code> and <code class="dcode">hs signer provide</code> to enforce a maximum duration for provided devices and credentials.
  • New: The new <code class="dcode">hs expose</code> command lets you expose device ports for easy local access without having to use any platform specific external port forwarding utilities. Ports are exposed on device-specific unique local IP addresses, which means that the same port can be exposed on any number of devices without having to maintain separate port mappings. The same functionality is also available at connect time with the new <code class="dcode">--expose</code> option for <code class="dcode">hs connect</code>. Please see the updated help output for <code class="dcode">hs connect</code> and <code class="dcode">hs expose</code> for more details. Note that this feature requires device hosts to be updated.
  • Improved: Expanded help output.
  • Fixed: The <code class="dcode">--check-integrity</code> option was handled incorrectly (opposite to documented behavior) in the following commands: <code class="dcode">hs provide</code>, <code class="dcode">hs unprovide</code>, <code class="dcode">hs signer provide</code> and <code class="dcode">hs signer unprovide</code>. It now functions as intended. Note that we only recommend using this option under exceptional circumstances.
  • Fixed: The <code class="dcode">--check-integrity</code> option was missing from the <code class="dcode">hs tunnel</code> command. It is now available as intended. As noted above, we only recommend using this option under exceptional circumstances.
  • Fixed: The description of the <code class="dcode">hs provide</code> command incorrectly stated that provided devices are only visible to the user who provided the device by default. It has been corrected to say that the default behavior makes the device visible to the entire organization.

April 19, 2023

Added - New document in public documentation

  • Migrating from Appium 1 to Appium 2 on HeadSpin: a guide on how to ensure a smooth transition to Appium 2 on HeadSpin.

April 17, 2023

Added - New document in public documentation

  • User Roles and Access Permissions: document covering the basics of user roles and associated permissions in HeadSpin UI.
    April 10, 2023

April 10, 2023

Modified - Function Call Capture for iOS

  • Extended the function call data recording time limit to two minutes. See the Waterfall UI docs for more details.
  • Introduced a permission to disable the function call data recording time limit. Contact HeadSpin support for details.

March 27, 2023

Added - Automatic siging for appium:app Appium capability in iOS

  • If <code class="dcode">appium:app</code> capability has http/https scheme and the file has <code class="dcode">ipa</code> extension, the <code class="dcode">ipa</code> will be resigned with HeadSpin's provisioning profile by default as same as the existing <code class="dcode">headspin:app.id</code> Appium capability and Automated Siging in the the iOS Device API. Please check HeadSpin Appium Capabilities doc for more details.

March 23, 2023

  • Added: <code class="dcode">group</code> column to the capture_issues replica table to distinguish the issue into 'User Experience', 'Root Causes', 'Pitfalls' and 'Warnings' as documented in the HeadSpin Issue documentation.
  • Added:
  • <code class="dcode">name</code> and <code>description</code> columns to the sesssion_metadata replica table in order to store the session name and description annotated using the session annotation API.
  • The keyboard input overlay in iOS Remote Control can now be toggled to hide sensitive information being inputed.

March 20, 2023

  • For iOS devices without a physical home button, a button has been added to open the App Switcher interface.

March 2, 2023

  • Added: ADB API route to list packages installed on a device. Refer to Android API documentation for details.

February 23, 2023

  • The Remote Control Devices page has added quick table filtering options via a dropdown button next to the search bar. Users will now be able to filter the table by selecting the available options.

February 9, 2023

  • Usage API introduces two new routes for usage reporting. Please refer to Usage API documentation for details.
  • <code class="dcode">GET /v0/usage/devicemodel</code> will aggregate usage statistics by device model.
  • <code class="dcode">GET /v0/usage/team/devicemodel</code> will aggregate usage statistics by device model for each team.
  • Added <code class="dcode"code>combine_phone_os</code> option to group phones by their operating systems.
  • Improved "Push to talk" feature in the Android RemoteControl UI. Push to talk will now wait to activate the Voice Assistant until the BT profile has finished switching to ensure that the assistant is able to hear the voice commands before it is activated. Previously it was possible for the assistant to start listening before the correct BT mode was enabled.

Using log statements to create HeadSpin performance analysis labels

  • You can create custom capture session labels via the session annotation API to drive certain HeadSpin performance analyses (such as page load analysis) within a specific timeframe. In addition to using the existing API, you can now create many of these performance analysis labels from log statements. See Performance Analysis - Annotating Your Session for more details.

February 3, 2023

  • Remote Control UI now has Multi Touch capability with a single pointer. This feature is currently in Beta, only available for Android devices.
  • The feature is toggled ON by clicking the 'MultiTouch' button on the top right of the remote control touch bar
  • The first static cursor can be placed by tapping on the screen.
  • A second cursor is used to generate the gesture by holding/dragging to simulate a two finger press or a pinch to zoom motion, respectively.

January 30, 2023

HeadSpin CLI v202301.175.0 has been released with the following changes:

  • New: You can now remove previously provided devices from the platform with the new <code>hs provide delete</code> auxiliary command.
  • Fixed: General fixes and improvements.

January 24, 2023

  • Org Dashboard: User can now see the teams that devices or hosts belong to when editing team devices.
  • Added: New section for the Team Management API. See Team API for more details.

January 13, 2023

HeadSpin CLI v202301.66.0 has been released with the following changes:

  • Fixed: Resolved a rare hang that could sometimes happen when using <code>hs provide</code>.
  • Fixed: Using certain custom traffic routing rules with <code>hs tunnel</code> incorrectly prevented some traffic from passing through.

January 6, 2023

HeadSpin CLI v202301.25.0 has been released with the following changes:

  • Fixed: Improved proxy auto configuration (PAC) support for <code>hs tunnel</code> on Windows.

December 28, 2022

Modified - High Quality Device Screenshots in UI

  • "Take Screenshot" renamed to "Take HQ Screenshot".

Added - Low Latency Device Screenshots in UI

  • Added a new "Take Screenshot" button which takes a lower latency screenshot.
  • Low Latency screenshots are near instantaneous but are generally lower quality and resolution.

December 21, 2022

Added - New section in public documentation

  • A new section for Deprecated Documentation has been created.

Modified - App Management and App API documentation

  • The App Management documentation has been slightly modified to direct users to the deprecated App API if it is necessary. App API, iOS device API, and Android device API documents have all been edited to surface the new App Management API routes and methods.

Modified - App Management

  • Uploading and installing Multiple APK Android apps as a packaged <code class="dcode">.zip</code> is now supported by App Management.

Modified - Session Analysis API for waiting on session analysis

December 20, 2022

Fixed an issue where battery drain was always reported as zero on Android 12 and 13. This requires the Android host to be updated.

December 16, 2022

  • Searching devices on the remote control devices list page now will correctly only search columns available to the devices table. A full list of columns can be found and selected when clicking the table settings button on the top right of the table.

December 14, 2022

Setting network routing gateway for Appium capture sessions

  • The Appium capability <code class="dcode">headspin:network.regionalRouting</code> can now be used to set the gateway to route network traffic through for the duration of an Appium capture session. This is available for devices that support capture sessions. See HeadSpin Appium Capabilities for details.
  • Until support for network capture while tunneling through a gateway is added, network capture will be turned off when using this capability.

December 13, 2022

Basic Device API:

  • Device API Capability to add a custom note to a device within the org has been added.
  • New API routes have been added for deleting an uploaded audio or media file. See the Audio API and AVBox API documentations for more details.
  • Device API has been fixed to populate the "device_note" field for all device types. Previously it only worked for Android and iOS device types and was always empty for other device types such as browsers. Now an API user should see in the response their device note from the Remote Control UI if one exists for their org.

December 12, 2022

The usage API has the following changes. Please refer to Usage API documentation for details. - Hourly usage statistics spanning a maximum of 14 days can now be obtained by specifying <code>'bin_size': 'hour'</code> in the request. - The <code>filter_on</code> option now becomes available for all routes. Rather than being used to filter the output view, it will be used to filter individual usage events before aggregation. - Added an <code>automated</code> option to show statistics on only automated or manual sessions.

December 9, 2022

Uploading and installing webOS (LG TV) <code class="dcode">.ipk</code> builds is now supported by App Management.

HeadSpin CLI v202212.68.0 has been released with the following changes:

  • New: The new <code class="dcode">hs tunnel</code>command makes it possible to access local network resources from HeadSpin devices. It allows multiple upstream routes to be configured for both raw traffic and DNS resolution using the <code class="dcode">--proxy</code> and <code class="dcode">--dns</code> options respectively. These routes are chosen based on rules evaluated on the traffic or DNS query using the <code class="dcode">--proxy-rule</code> and <code class="dcode">--dns-rule</code> options respectively. Additionally, the <code class="dcode">--scope</code> option makes it possible to limit or expand access to your user, team or entire organization (default: <code class="dcode">user</code>).

December 1, 2022

  • A new API has been added to return summary statistics about all of the exported sessions in User Flows for the organization. See Exported Session Statistics for the Organization.
  • The Android RemoteControl UI now has a "Push to talk" button available for devices connected to HeadSpin Bluetooth Audio. Its primary purpose is to facilitate testing when using the Voice Assistant or other applications which require manual switching of Bluetooth profiles. See Bluetooth Profiles: Push to talk (Android only) for details and instructions.

November 17, 2022

  • TURN over TCP has been disabled for WebRTC in the RemoteControl UI.

November 16, 2022

The tabs navigation bar in mobile Remote Control has now been changed to a vertical layout.

November 15, 2022

Uploading and installing Tizen TV <code class="dcode">.wgt</code> builds is now supported by App Management.

November 10, 2022

HeadSpin CLI v202211.65.0 has been released with the following changes:

  • New: When using <code class="dcode">hs connect</code> with a wildcard selector, a random sample of devices (up to <code class="dcode">--limit</code>) is now returned. To restore the earlier behavior and return devices in relatively consistent order, please use the new <code class="dcode">--randomize=false</code> option.
  • Backwards compatibility: The default order of devices returned by <code class="dcode">hs connect</code> has changed as noted above.

November 8, 2022

Modified - Basic Device API

  • Devices can now be filtered using device selectors as path parameters.

November 7, 2022

HeadSpin Appium capability support for App Management apps

  • The Appium capability <code class="dcode">headspin:app.id</code> has been added that will work with apps uploaded using the App Management API. If this capability is specified, it will take precedence over the <code class="dcode">headspin:appId</code> capability and the Appium <code class="dcode">app</code> capability. See HeadSpin Appium Capabilities for more details.
  • With this update, if applicable, please update your usage of <code class="dcode">headspin:appId.resignIpa</code> to <code class="dcode">headspin:app.resign</code>, and <code class="dcode">headspin:appId.resignIpaTimeout</code> to <code class="dcode">headspin:app.resignTimeout</code>.
  • For apps uploaded using the <code class="dcode">/v0</code> App API, only <code class="dcode">headspin:appId</code> will work.

November 3, 2022

  • Fix missing user experience issue overlays in Waterfall UI timeline

November 1, 2022

Modified - Devices Automation Configuration API

  • Automation configurations can be filtered using device selectors.

October 28, 2022

Added - New documents in public documentation:

  • Using XCTest and HeadSpin: a guide for using the XCTest (aka XCUITest) framework with HeadSpin's UI and API.

October 20, 2022

Uploading and installing Roku channel <code>zip</code> builds is now supported by App Management.

October 18, 2022

UI shows a user email address instead of a team name for automation tests. Team members cannot view or cancel the automation tests started by another team member. Contact HeadSpin support team if you need the legacy behavior.

October 17, 2022

Fixed - Reservation Popup UI

  • Fixed reservation info popup to render the correct device address.

Modified - ADB API and XAPK API

  • Adb uninstall now accepts an <code>xapk_id</code> to uninstall xapks from devices.
  • Split apks are now supported by the xapk api.

October 12, 2022

Changes to Function Call Profile (FCP):

  • FCP issues now highlight impact events in Waterfall UI timeline
  • FCP methods will open detail cards in Waterfall UI details section on click
  • FCP method detail cards are part of Waterfall UI url so are shareable

October 6, 2022

  • Replica API now supports scheduling syncs for specific sessions in a user flow. See Replica API for full details.
  • Fix device dropdown icon not loading in Performance Monitoring UI

October 4, 2022

Fix bug in Waterfall UI where, for some sessions, user couldn't scroll on the timeline using the scrollbar.

September 30, 2022

  • AVBoxes with Control devices is now supported
  • Control devices will be indicated with their respective badge
  • When starting an AVBox with a control device and camera device, it will open in split-screen with the control device on the left and the camera device on the right

September 29, 2022

  • Uploading and installing <code>.app</code> iOS builds as a packaged <code>.zip</code> is now available. This functionality is supported by both the App API and App Management. See the App API for full details.
  • Device notes
  • Write access can be removed for certain roles such as "Team Members"
  • By default all roles have access to read and write

September 22, 2022

For Android devices, session labels will now be created for two metrics that measure cold and warm application startup times: time to initial display and time to full display. The session labels section in the Waterfall UI documentation has more details about these metrics.

September 21, 2022

Improved usage API capabilities by adding new display options that can be used when generating usage statistics. See Usage API documentation for details on the new arguments: <code>display_all</code> and <code>filter_on</code>.

September 19, 2022

Added - New documents in public documentation:

  • Using ACCELQ and HeadSpin: guide document for use of AccelQ and HeadSpin devices.
  • Using Espresso and HeadSpin: guide document for use of Espresso framework with HeadSpin UI and API.

September 8, 2022

Support for XAPK format in Android has been added.

September 7, 2022

HeadSpin CLI v202209.18.0 has been released with the following changes:

  • New: This maintenance release fixes several small issues.
  • Remote Control UI for iOS devices now supports toggling Assistive Touch visibility. This feature allows the users to more easily access device settings such as screen rotation, control center, and custom gestures. The buttons to enable and disable this feature can be found in the top right of the device action bar of the Remote Control for supported iOS devices. May require the device host to be updated.

September 6, 2022

  • App Management and the associated v1 api is now available. See App Management for full details.

August 31, 2022

Function Call Profile in Waterfall UI got a new look and some bugs fixed.

New Look:

  • Process IDs and names have been moved out of the first thread and into a section header.
  • "Function Call Timeline" title has been renamed to "FCP" ("Function Call Profile") and moved inside the section headers.
  • Dark background has been removed to show our User Experience issues underneath.

Bug fixes:

  • There was an offset that caused the data start, end and duration times to be slightly off visually, it has been removed.
  • Processes are now displayed vertically to avoid potential overlap in multiple processes.
  • Support for multiple root methods in the call stack has been added.
  • Zooming no longer cuts off data at the end.
  • Timeline burst indexes are no longer hidden under Function Call Profile.

August 29, 2022

  • Network Capture is now supported on Android 13 devices. This requires the Android host to be updated.

August 23, 2022

  • Appium and Selenium sessions can now be ended by having the driver run the HeadSpin command <code>headspin:quitSession</code>, which will also set their user flow status (previously only accessible separately via the Performance Monitoring API). See the user flow status section for Appium or Selenium for more details.
  • The Tools tab in the Android Remote Control UI will now display every web browser installed on the device. There was an issue where only the default web browser would be shown.

August 19, 2022

  • HeadSpin Appium and Selenium capabilities: the name and description of HeadSpin sessions can now be set using <code>headspin:session.name</code> and <code>headspin:session.description</code>, respectively.

August 18, 2022

The following image match analysis features have been added:

  • Multiscale template matching
  • Keypoint matching

Unlike the existing template match, these new image matching methods can match a query image that doesn't appear exactly as-is in the video frames. For details, see the Image Match Analysis in the Session Analysis API as well as the newly added documentation, Image Matching Methods Explained.

August 17, 2022

  • Mouse and touchpad scroll support on Android devices in the Remote Control UI has been improved to detect current foreground activity and disable scroll events on the homescreen to prevent unpredictable behavior.

August 11, 2022

HeadSpin CLI v202208.75.0 has been released with the following changes:

  • New: Using <code>hs connect</code> with devices locked for automation is now supported. Furthermore, the new <code>--automation</code> option can be used to make sure that any implicit locks created by the command are created as automation locks.
  • Fixed: Improved port conflict handling on Windows with programs that use the <code>SO_EXCLUSIVEADDRUSE</code> socket option. Previously, this option could cause error return codes that bypassed our intended graceful fallback behavior and resulted in fatal errors.

August 5, 2022

New API routes have been added for fetching all the audio ids and media ids for the user's organization (with the option to filter by the tag field). See the Audio API and AVBox API documentations for more details.

August 4, 2022

  • Horizontal scroll support has been added for touchpad or scroll wheel input on Android devices in the Remote Control UI.

August 2, 2022

The Waterfall UI now displays a new time series called Audio Momentary Loudness (in LUFS) for sessions that contain audio. Unlike the existing Audio Volume time series, the Audio Momentary Loudness time series tracks perceptual loudness. See the Waterfall UI documentation for more information on what the time series is.

August 1, 2022

  • UI, Moved "Bluetooth Audio" card in Remote Control
  • The card has now been removed from Remote Control "Advanced" tab
  • The card can instead be found in "Overview" > "Device Configuration"
  • UI, Improved "Bluetooth Audio" UX in Remote Control
  • Shows all bluetooth profile options, "HSP" and "A2DP"
  • Added icons to the profiles
  • More clearly shows the currently active profile
  • Allows re-requesting the device to activate the current profile

July 27, 2022

  • The video quality slider in the Android Remote Control UI has been fixed. Changing the quality would previously cause the video stream to stop. The host must be updated with version v202207.178.0 or higher for the fix to be deployed.
  • Several functional and UI improvements to the documentation section now include:
  • On navigating to a doc in the table of contents, the section header and doc name will scroll to the top of the menu to better indicate which section the doc belongs to.
  • Documentation now suppports fragment navigation. Users will now be able to navigate directly to the subsection of the doc by following the url containing the fragment link. i.e. Navigating to <code>/docs/byod#ios-troubleshooting</code> should load the page at the <code>iOS Troubleshooting</code> section within the 'Bring Your Own Device' document page.
  • Linked header sections are revealed on mouse hover with an appended anchor link symbol <code>#</code>. On click, the page should position the section at the top of the page, updating the url in the url bar while copying it directly to the clipboard.
  • Capabilities builder at the <code>/automation</code> page has been improved with the addition of inputs and type ahead support for capability names to make it easier to add capabilities. Users can still toggle between the original text area builder if preferred.

July 21, 2022

HeadSpin CLI v202207.133.0 has been released with the following changes:

  • New: <code>hs connect</code> and <code>hs disconnect</code> now accept a new '--context' option (also available as the HS_CONTEXT environment variable), which makes cleaning up after CI runs much easier even in concurrent use cases. By using a value that's unique to a specific run or job, you can easily disconnect the same set of devices later on without having to keep track of any individual device identifiers.

July 19, 2022

  • Mouse and touchpad scroll support on Android devices in the Remote Control UI has been improved with precise input coordinates for better usability in apps with multiple scrolling zones.

July 14, 2022

  • HeadSpin CLI v202207.86.0 has been released with the following changes:
  • New: Significant performance improvements to <code>hs connect</code> for many customers outside the US, especially when using nearby devices. Availability may be partial until fully rolled out.
  • Backwards compatibility: <code>hs connect</code>, <code>hs provide</code> and <code>hs signer</code> may now form connections to new servers. If your environment requires hosts to be individually whitelisted, please continue using an earlier version and ask your account representative for an updated host list.
  • Documentation for Tricentis' Tosca compatibility with HeadSpin has been added to public documentation.

July 13, 2022

  • On Android devices, network shaping can now be specified when starting a capture session via API (no longer limited to Appium). For more details on network shaping settings, see Session API for API or HeadSpin Appium Capabilities for Appium.

July 11, 2022

  • Performance Monitoring API now supports filtering performance measurements based on the status of the underlying session. See the Performance Monitoring API docs for more details.

July 8, 2022

HeadSpin CLI v202207.37.0 has been released with the following changes:

  • New: <code>hs tunnel</code> reverse tunnel server now limits TLS connections to version 1.2 or higher.

July 6, 2022

You can now start an Appium session while in the Remote Control window. It uses the default capabilities as seen in the Automation Configuration window. To start a session, open the Appium pane via the Appium Inspector switch in the Overview tab and click Start Appium Session. Please note that cancelling the session before it starts will release the device.

July 5, 2022

Documentation now supports searching. Search bar can be found at the top of the documentation's table of contents, and activates a modal view to allow users to search for available Headspin documents. Searchable keywords may appear in the document's title, description, and body.

5G network signal strength and quality metrics for Android devices

  • Network signal strength and quality metrics for 5G have been added to network capture on Android devices.

July 1, 2022

  • Android Device API and iOS Device API now require locking the device before running any other commands to improve security and stability.
  • <code>POST /v0/adb/{device_id}/lock</code> locks an android device. See the Android Device API for more details.
  • <code>POST /v0/idevice/{device_id}/lock</code> locks an iOS device. See the iOS Device API for more details.

June 30, 2022

  • Fixed a couple of issue with HeadSpin Selenium Capabilities:
  1. Selenium sessions would fail with an error if the <code>"headspin:testName"</code> capability was set while the <code>"headspin:capture.video"</code> capability was enabled but the <code>"headspin:capture.network"</code> capability was disabled. Selenium sessions will now be properly started when the <code>"headspin:testName"</code> is set and sessions will be added to the appropriate user flow.
  2. Selenium sessions with the <code>"headspin:sessionTags"</code> capability set would not have the desired session tags if the <code>"headspin:capture.video"</code> capability was enabled but the <code>"Headspin:capture.network"</code> capability was disabled. Selenium sessions will now have the session tags properly added when the <code>"headspin:sessionTags"</code> is set.
  • WebRTC in the RemoteControl UI now supports TURN over TCP in addition to UDP. WebRTC may now work for customers who operate in an environment where UDP is blocked, for example, behind an HTTP proxy which doesn't support UDP. However, being able to access the turn server(s) TCP port(s) is still a requirement.

June 27, 2022

  • Performance Monitoring API now supports moving sessions (and performance events) between user flows. See the Performance Monitoring API docs for more details.

June 24, 2022

  • Fixed an issue with HeadSpin Appium Capabilities where setting <code>"headspin:capture"</code> to <code>false</code> would override <code>"headspin:capture.video"</code>, <code>"headspin:capture.network"</code> and <code>"headspin:capture.functionCall"</code>. Setting any of <code>"headspin:capture.video"</code>, <code>"headspin:capture.network"</code>, or <code>"headspin:capture.functionCall"</code> to <code>true</code> will now enable the respective feature regardless of the value assigned to <code>"headspin:capture"</code>. This requires the host to be updated.
  • Added three new dashboard templates for gaming, telco, and page load timing use-cases to the Dashboard (D) tab. These dashboards may be allocated from the Settings page in the Dashboard tab.

June 23, 2022

Added the HeadSpin <code>headspin:capture.video.browser.hwAcceleration</code> to improve video capture performance on Windows hosts. See the HeadSpin Selenium Capabilities doc for details.

June 22, 2022

  • Dashboards UI Settings page had a minor redesign
  • All Grafana credentials available to you are now viewable in Dashboards UI Settings

June 21, 2022

You can now create a <code>"video-content"</code> label to run a specific video quality analysis instead of running the entire suite of video quality analyses. See the Session Analysis API for details.

June 16, 2022

New documents added to public documentation:

  • Getting Started: External Reference Links
  • Integrations: Katalon Studio and HeadSpin Devices

Edits made to documentation: all relevant documentation regarding use of iOS device testing on a Windows machine has been updated to include instructions on the installation of iTunes from Apple's helpdesk.

Mouse and Touchpad Scroll Input Support in Remote Control UI (Android)

  • Users can now use their mousewheel or touchpad gestures to directly send scroll inputs within the remote control ui instead of having to hold and drag with a touch input. Only vertical scrolling on Android is supported at the moment.

Performance budget dashboard template in the D tab

  • Created a performance budget grafana dashboard template in the Dashboard tab. This template is placed in the HeadSpin Folder along with the <code>Home</code> dashboard template.

Performance Monitoring API (Verizon)

  • Updated behavior of default KPIs for <code>/v0/userflows/<user_flow_id>/verizon</code> endpoint. Will now infer KPI names from the user flow by default. Filtering via query parameter <code>kpi=</code> will now always filter exclusively. The <code>append_kpis=</code> parameters is now deprecated. See the Performance Monitoring API docs for more details.

June 15, 2022

  • User flows now have an Impact Score that can be found in the issues section of the Waterfall UI. It is on a scale of 0 (Poor) to 100 (Good) and gives you insight into how much the user flow could be improved.

June 14, 2022

Missing HTTP Security Header Issues

  • Three new HeadSpin Issues (Missing Security Header: Strict-Transport-Security, Missing Security Header: Content-Security-Policy, and Missing Security Header: X-Content-Type-Options) will be surfaced when the aforementioned headers are not present in an HTTP request/response (where appropriate). See the Issue documentation for details.

Bad HTTP Header Value Issues

Two new HeadSpin Issues (Unsafe Header Value: Referrer-Policy and Obsolete Header Value: X-Frame-Options) will be surfaced when the aforementioned headers have obsolete/unsafe values in an HTTP request/response. See the Issue documentation for details.

June 8, 2022

HeadSpin CLI v202206.54.0 has been released with the following changes:

  • Fixed: An incompatibility prevented installing apps on remote devices running iOS 16.
  • Fixed: When using <code>hs connect</code> with Apple devices on Windows, an error prevented the device from connecting if iTunes had never been launched.
  • Fixed: Using <code>hs disconnect</code> and <code>hs unprovide</code> no longer report an error if the background connection manager cannot be communicated with, as being unable to do so is a guarantee that no connection is active.

Usage API routes have been added to support the retrieval of usage statistics such as total usage hours per device, per team, or per user. See Usage API documentation for details.

June 3, 2022

  • Admins can now register and remove Grafana dashboards via the Dashboards UI using the +/- buttons.
  • Admins can now delete HeadSpin templates via the Dashboards UI. This will delete the dashboard in Grafana. (NOTE: to undo, Admin can use the already existing allocate button.)
  • Fix bug with managing dashboards, only admins should have access

June 2, 2022

Added routes to the App API to upload and store dSYMs on the HeadSpin cloud for function call capture. See App API and iOS Device API documentation for details.

Removed the default userflow timeseries dashboard from the dashboard tab.

May 26, 2022

Sessions can now be shared to users outside of the organization using the dropdown in the top left corner of the main session UI.

Updated Performance Monitoring API routes with RESTful interface. See the Performance Monitoring API docs for more details.

Improved iOS remote control startup speed and reliability.

May 25, 2022

New route for allocating grafana accounts <code>POST /v0/grafana/allocate</code>

New route for retrieving grafana viewer user accounts <code>GET /v0/viewer/info</code>

Updated route used in example for the section Allocating Grafana

May 24, 2022

Added new optional URL option for registering a Grafana dashboard. See the Grafana API docs for more details.

May 19, 2022

Stopping a capture session from the HeadSpin CLI or via API commands no longer indicates that no video was captured, despite the video being present in the capture session. This requires the host to be updated.

May 17, 2022

Extended the HeadSpin <code>enableJSConsoleLog</code> Selenium capability to leave the JavaScript console log output for Chrome and Microsoft Edge browsers. Please check HeadSpin Selenium Capabilities doc.

May 13, 2022

Function Call Capture for iOS has been updated with the following changes:

  • Introduced a time limit of one minute on function call data recording. See the Waterfall UI docs for more details.

HeadSpin CLI v202205.85.0 has been released with the following changes:

  • New: Windows distributions of the HeadSpin CLI are now signed.

HeadSpin CLI v202205.81.0 has been released with the following changes:

  • New: Implemented a new <code>hs tunnel</code> feature that allows network traffic to be routed from remote HeadSpin devices through your local network.
  • New: Added support for a <code>HS_CONNECTD_LOGFILE</code> environment variable that can be used to configure the location of the log file used by <code>hs connect</code>, <code>hs provide</code> and friends.

May 11, 2022

The default idle timeout for Android devices has been changed from 24 hours to 30 minutes. This requires the Android host to be updated.

The default idle timeout was long because automation (Appium) usage of the device did not reset the idle timeout. This is now also fixed on an updated host.

Note that the default device idle timeout can be modified per organization. Please contact HeadSpin support for help with configuring your organization's default timeout. The idle timeout can also be set when locking a device via an API request: <code>POST /v0/devices/lock?idleTimeout={timeout seconds}</code>. See the Basic Device API docs for details.

HeadSpin CLI v202205.63.0 has been released with the following changes:

  • Fixed: A native utility used by <code>hs connect</code> on macOS would sometimes fail to return the expected value and cause a rare crash.
  • Fixed: When using <code>hs connect</code> on macOS, iOS devices would sometimes fail to become available on the local machine. This has been fixed by a more reliable macOS implementation.
  • Fixed: When using <code>hs connect</code>, a connection level error would sometimes shut down the whole background daemon, causing the wrong error to be shown in the output which hid the actual cause.

May 10, 2022

The documentation has two new sections added: Getting Started, a section dedicated to sharing information like basic navigation and resource links to help newcomers to HeadSpin get familiar with the product, and Integrations, a section containing guides for the use of products from other parties that are integrated with or compatible with HeadSpin.

May 09, 2022

Added a '/dashboards/settings' route to Dashboards UI. This route will let you manage your Grafana credentials and Grafana Dashboards.

May 06, 2022

Perf Monitoring API now has an endpoint to query user flow measurements <code>GET /v0/userflows/{user_flow_id}/measurements</code>

May 05, 2022

Support has been added for creating capture labels for iOS. See the Annotating Your Session documentation for more details.

Grafana API documentation updated with new endpoint for retrieving an organization's Grafana Editor username and password.

May 03, 2022

The documentation page now has a side bar navigation menu.

May 02, 2022

On Remote Control devices list page, AVBoxes and related devices are now grouped and sorted to the top by default along with a visual indicator on row hover to show which devices are part of that AVBox group.

April 28, 2022

Added the HeadSpin <code>newSessionRequestProgress</code> AppiumLB capability to extend the client side read timeout. It helps a client to keep waiting a new session request response without explicitly increasing the client side read timeout. Please read the capability in Appium Load Balancer.

April 27, 2022

Added the HeadSpin <code>enableJSConsoleLog</code> Selenium capability to leave the JavaScript console log output. It is available on Firefox. Please check HeadSpin Selenium Capabilities doc.

April 26, 2022

HeadSpin drops the <code>app</code> capability from the given Appium capability when the value has <code>*</code>. It helps to use some inspector tools such as Katalon Studio, it requires Cloud Application ID, on HeadSpin platform. Please check HeadSpin Appium Capabilities doc.

April 19, 2022

Dashboards UI now has a sidebar that can be collapsed for more real estate for dasbhboards. When collapsed, sidebar will expand over content on hover.

April 12, 2022

New audio documentation regarding troubleshooting and general setup and knowledge has been added.

April 7, 2022

HeadSpin CLI v202204.50.0 has been released with the following changes:

  • New: Until now, certain configurations of macOS have required using <code>sudo</code> with <code>hs connect</code>. This is no longer necessary, and all use of <code>sudo</code> with the HeadSpin CLI is therefore discouraged.

April 4, 2022

Dashboards UI now supports deep linking via registered Grafana dashboard UIDs.

March 29, 2022

HeadSpin CLI v202203.193.0 has been released with the following changes:

  • Fixed: A code signing incompatibility with Xcode 13 prevented remote control from working on BYOD iOS devices.

March 28, 2022

HeadSpin CLI v202203.185.0 has been released with the following changes:

  • New: Added a new <code>hs exec</code> command to act as a compatibility layer for certain third party tools that do not recognize HeadSpin's iOS devices. Currently it supports tools that use libimobiledevice in ways that exclude network devices. The new <code>hs exec</code> command runs the given command in a modified execution context that enhances compatibility.
  • Improved: Added additional diagnostics information.

March 17, 2022

Added the HeadSpin <code>appId.resignIpaTimeout</code> Appium capability to handle resigning timeout by <code>headspin:appId.resignIpa</code> capability. Please check HeadSpin Appium Capabilities doc.

March 14, 2022

Relocated all articles containing API commands to new API-only section. Future API documentation will now be posted in the API Reference section.

March 11, 2022

Deletion of session data can now be automatically managed through data lifecycle policies. See the Data Lifecycle Policy API documentation for details.

March 4, 2022

The Session Timeseries Data Stats table (which stores the computed summary statistics from the label-driven time series data analysis) is now exported to the Replica BI database. See the Replica database documentation for details.

HeadSpin CLI v202203.40.0 has been released with the following changes:

  • Fixed: Some valid selectors were not supported by <code>hs connect</code>.

March 1, 2022

HeadSpin CLI v202203.0.0 has been released with the following changes:

  • Fixed: Some commands did not accept the <code>-t</code> flag to set the API token. Similarly, the <code>HS_API_TOKEN</code> environment variable was not accepted by some commands. They now accept both.

Improved video rendering performance in the Session Waterfall UI and Remote Control UI.

February 28, 2022

HeadSpin CLI v202202.122.0 has been released with the following changes:

  • New: When using <code>hs connect</code> with selectors that match multiple devices, the new <code>--limit</code> option can be used to connect only a certain number of them. The default limit has been set to 1 to only connect one matching device. To restore the previous behavior of connecting all available devices, use <code>--limit=0</code>. Additionally, note that if you use a selector that matches devices you have already connected, those devices count towards the limit. Use the new <code>--next</code> option to request a fresh set of devices instead. Finally, it is now also possible to require that at least a certain number of devices are connected by <code>hs connect</code> with the <code>--success-threshold</code> option, which defaults to 1 to match current behavior.
  • Fixed: Devices implicitly locked by <code>hs connect</code> are now automatically unlocked upon <code>hs disconnect</code>. If locking is performed explicitly prior to <code>hs connect</code>, <code>hs disconnect</code> will not immediately unlock the device, however the device will then be subject to the normal idle timeout.
  • Fixed: Using <code>hs connect</code> now counts as user interaction, preventing idle timeouts from unlocking devices while they are connected.
  • Fixed: Any active <code>hs connect</code> sessions for a device will now immediately end when the device is unlocked.
  • Fixed: In order to prevent conflicts when using <code>hs connect</code> in concurrent CI workflows, the same device can no longer be connected to multiple machines at the same time. Consider using more general selectors to let the system automatically pick an available matching device for you.
  • Backwards compatibility: By default, <code>hs connect</code> now only connects 1 device per selector. Please see the new <code>--limit</code> option if you rely on the earlier behavior of connecting all matching devices.
  • Backwards compatibility: The output of <code>hs connect</code> has slightly changed. If you rely on the output format, please consider using the <code>--quiet</code>, <code>--output-format</code> and <code>--output-filter</code> options.
  • Backwards compatibility: You can no longer <code>hs connect</code> the same device from two or more machines at the same time.
  • Note: The availability of these changes may be partial until the rollout is fully completed.

February 24, 2022

Improved performance of toggling between the default IME and "Unicode IME" for Android devices in the Remote Control UI.

February 23, 2022

The start button on the device list page has been changed to a drop down split button with options for starting a remote session with Appium and the ability to edit capabilities.

February 18, 2022

You can now cancel starting an Appium remote control session from the loading dialog.

Added support for inputting a wider set of characters for Android in the Remote Control UI using a custom "Unicode IME".

February 17, 2022

Added the HeadSpin <code>headspin:enableAdbShell</code> Appium capability to allow <code>mobile: shell</code> command in UiAutomator2 and Espresso drivers for On-Premise environment. For cloud environment, please refer to Android Device API to use adb commands. See the HeadSpin Appium Capabilities doc for details.

February 16, 2022

Enable cleaning device from Remote Control devices 'More Actions' menu. See Device Cleaning API for details.

February 15, 2022

A new time series data analysis feature is available where summary statistics of a time series can be computed in time intervals of interest. See the Session Analysis API for details.

February 9, 2022

  • Added the HeadSpin <code>headspin:capture.functionCall</code> Appium capability to enable or disable the function call capture. See the HeadSpin Appium Capabilities doc for details.
  • Similar to the <code>headspin:capture.functionCall</code> Appium capability, the <code>/v0/sessions</code> POST route for creating sessions accepts <code>capture_function_call</code> parameter. See the Session API docs for details.

February 7, 2022

Update default appium version strategy to use the latest version that is available in a host by default. Please specify <code>headspin:appiumVersion</code> if needed. Please check HeadSpin Appium Capabilities doc about the capability and how to check available appium versions in the host.

February 3, 2022

Added two new API routes for registering and removing a Grafana dashboard. See the Grafana API docs for more details.

January 27, 2022

Fix clipboard copy interaction in the Remote Control UI's Appium Inspector integration.

January 20, 2022

A pair of new Issues has been added: <code>Slow DNS Query</code> and <code>Duplicate DNS Query</code>. See the HeadSpin Issue Card documentation for details.

Improved video rendering performance in the Session Waterfall UI.

January 18, 2022

A new time series data analysis feature is available where time intervals in the time series array that have values in the specified range can be identified. See the Session Analysis API for details.

January 12, 2022

Deletion of application data stored for your organization (i.e., APK and IPA files) can now be automatically managed through data lifecycle policies. See the Data Lifecycle Policy API documentation for details.

Added support for handling <code>window.alert()</code> and <code>window.confirm()</code> dialogs for browsers in the Remote Control UI.

December 20, 2021

The VMAF analysis API now supports a <code>timeout</code> parameter, which can be used to set the amount of time to wait (in seconds) before timeout. See the Session Analysis API for details.

December 16, 2021

Added documentation for creating capture labels from within an application. See the Annotating Your Session documentation for more details.

December 15, 2021

Added documentation for Appium Inspector Integration and Appium Session Deep Links. Please check HeadSpin Appium Inspector Integration doc.

December 14, 2021

  • The Regression Intelligence API now supports email notifications for passed/failed status from one-off performance comparisons.
  • Default KPI value is disabled for all regression APIs except regression alert watchers. A new report status <code>complete</code> is added to summarize a successful analysis without KPI selection. See the Regression API documentation for details.

December 13, 2021

The host OS and OS version are now exported to the Session Metadata table in the Replica BI database for devices running browsers. See the Replica database documentation for details.

December 8, 2021

Updated the Reservation API documentation to add better descriptions and usage examples.

November 30, 2021

Automation deep linking added to UI.

December 6, 2021

The Poor Video Quality, Unoptimized DNS, and audio loudness Issue Cards are now considered stable. See the HeadSpin Issue Card documentation for details.

November 24, 2021

Fix broken section link in the Android Device API.

November 23, 2021

Add <code>headspin:preferSystemUnzip</code> to avoid possible iOS application installation failure in over Appium 1.22.1. Please check HeadSpin Appium Capabilities doc.

November 22, 2021

Appium sessions can now be launched directly through the UI from the device list. The capabilities used to start the Appium session are the default ones which can be found in the Automation Configuration dialog or the Automation tab in the remote control interface. When starting a device with an Appium session, the Appium Inspector will also be available.

November 19, 2021

Timeseries are now downloadable from the Waterfall UI download button.

November 18, 2021

Added the HeadSpin <code>appId.resignIpa</code> Appium capability to resign the IPA specified by the <code>appId</code> capability with HeadSpin's provisioning profile. Please check HeadSpin Appium Capabilities doc.

November 16, 2021

For VMAF analysis, you now have the option to invoke the phone model. See the Session Analysis API for details.

November 10, 2021

  • A new <code>Hung Real Method</code> issue card has been added to surface app methods with long execution time from the function call profile data. See the Issue documentation for details.

November 5, 2021

  • Added a popout mode to Waterfall UI video. It allows the video to be dragged and resized within the window.
  • Added Japanese support for Optical Character Recognition (OCR). See the Session Analysis API for details.

October 29, 2021

Added a new API route for calculating some common statistics from the session PCAP. See the Session Analysis API for details.

October 28, 2021

A new parameter, <code>timeout</code>, is added to Android Device API and iOS Device API. The parameter can be used to wait for devices until they come back online or timeout is reached. Devices might be offline for a short time while they are rebooting.

October 25, 2021

Remote Control now has Appium Inspector built in when a remote control session has an active Appium session running. The inspector can be used to explore the app running on the device. Details of elements can be extracted in order to write better automation scripts. Simple interactions such as tap and sending keys can also be done through the inspector. The inspector is also shown in automation view mode along with the logs.

October 22, 2021

Added support for searching session video for user-uploaded query images. See the image match section of the Session Analysis API for details.

October 20, 2021

Added a new <code>Log Warnings</code> issue card to display warnings logged by a foreground app. See the Issue documentation for details.

October 15, 2021

You can now specify the bounding box on the screen where you wish to run the suite of HeadSpin's video quality analyses. See the Session Analysis API for details.

October 11, 2021

Added a new <code>Java Language Reflection</code> issue card to highlight Java reflection methods in the function call profile data for Android devices. These methods are typically slow and good candidates for optimization. See the Issue documentation for details.

October 8, 2021

Added a <code>track</code> query parameter to the <code>WaitForSessionAnalysis</code> route in the Session Analysis API to block API calls until a particular analysis completes. See the Session Analysis API documentation for more details.

October 6, 2021

Added a new <code>Foreground Activity Label</code> for Android capture sessions. See the Annotating Your Session documentation for more details.

October 4, 2021

Updated the Replica DB documentation to add more complete documentation of the tables, columns, column types, and any associated units for the column data.

September 29, 2021

Added <code>directConnectDeviceAddress</code> as the response of a new session request in AppiumLB to know of what device is connected as the session. Please read the attribute in Appium Load Balancer.

New API routes were added to inspect the most recent export status into Replica by session, as well as by User Flow. See the Replica DB API documentation for details.

September 27, 2021

Host machine information is available for browser hosts in the overview section in the Remote Control interface and in the <code>/v0/devices</code> response as <code>host_machine_info</code>. The <code>/v0/devices</code> is available in the Basic Device API docs.

September 24, 2021

More precise device requirements have been added for many of the Waterfall UI Time Series. See the Waterfall UI docs for more details.

September 23, 2021

The Audio Match Analysis has been expanded to run on sessions. See the Session Analysis API for details.

September 22, 2021

Added <code>ignoreFailedDevices</code> capability in AppiumLB to handle retry strategy on AppiumLB. Please read the capability in Appium Load Balancer.

September 21, 2021

Three new issue cards <code>Audio Not Detected</code>, <code>Audio Too Loud</code>, and <code>Audio Too Quiet</code> have been added to surface audio issues diagnosed by integrated loudness (LUFS) of the media contents. See the Issue documentation for details.

September 16, 2021

Automatic device cleaning after use is enabled by default on shared devices. See the Device Cleaning API documentation for more details.

September 8, 2021

Function call profile data is now exported to Replica DB when available. See the Replica DB documentation for more info.

August 31, 2021

Added a new "Home" page to the HeadSpin UI to help users:

  • Discover common use cases for the HeadSpin platform
  • Quickly access insights for frequently-updated user flows

August 26, 2021

  • Added <code>headspin:capture.autoStart</code> capability to manage capture session start. Please read the capability section in HeadSpin Appium Capabilities doc for more details.

August 25, 2021

  • A new <code>Hung CPU Method</code> issue card has been added to surface CPU-intensive app methods from the function call profile data. See the Issue documentation for details.

August 20, 2021

  • Added support for regression analysis at a specified percentile within the selected sample of sessions.

August 20, 2021

  • It is now possible to inspect and download available time series data from a given session. See the Session API for details.

August 18, 2021

  • Validation and error messages were improved for adding tags using the Session Tag API.
  • Added support for a new request body format when creating session tags.

August 13, 2021

  • You can now run OCR (Optical Character Recognition) to extract text from the frames in the session video capture. See the Session Analysis API for details.

August 4, 2021

  • Added support for JMESpath within the Regression Intelligence feature.
  • Users requesting a regression report can download a selection of that report specified by a JMESpath expression.
  • Regressions can pass, fail, and alert using a JMESpath expression to describe the location of a KPI in the regression report. See the documentation describing endpoints that use KPIs for more details.

July 28, 2021

  • New routes were added to manage the session and its status in a User Flow. This permits moving a session from one User Flow into another (by first removing the session from its current User Flow and re-adding it to the new one). See the Replica DB API documentation for details.

July 27, 2021

  • Limit number of HTTP cards displayed at a time in Session Compare UI and Regressions UI.

July 23, 2021

  • A new session audio analysis feature -- the ITU-R BS.1770 standard for measuring integrated loudness (in LUFS) of session videos -- has been added. See the Session Analysis API for details.

July 14, 2021

  • Emails that are generated from regression alert watchers are formatted using better-looking templating and contain more informative context about the alert that generated the email.

July 9, 2021

  • It is now possible to update Replica settings (in particular <code>autosync</code>) for all User Flows in an organization. See the Replica DB API documentation for details.

June 18, 2021

  • It is now possible to attach custom tags (<code>hs_tag</ode>) when uploading APKs and IPAs into HeadSpin. This tag can also be updated for existing uploaded APKs and IPAs. See the App API documentation for details.

May 25, 2021

  • The <code>Connection Reuse</code> Issue card has been updated to take into account the device power source and split into two Issues: <code>Connection Reuse: Externally Powered Device</code> and <code>Connection Reuse: Battery Powered Device</code>. Externally powered devices should always reuse connections when possible; this is consistent with the existing behavior). For battery powered devices, the Issue is only surfaced when a new connection is created before the device has had the opportunity to enter a low power state (roughly within 15 seconds of the previous connection termination).

May 20, 2021

  • The Regression Intelligence API now supports creating multiple Regression Alert Watchers optionally sharing some parameters in a single request. See the Regression API documentation for details.

May 13, 2021

  • Adding User Flow routes to view and update the Replica export settings through an HTTP request.

May 4, 2021

  • <code>Application CPU Usage</code>, <code>Application Memory Used</code> and <code>Application Memory Used Percent</code> have been added in the Waterfall UI to show resource usage of the application under test. These metrics are captured in Selenium sessions. See the Waterfall UI docs for more details.

April 30, 2021

New "Dashboards" Tab

  • All Grafana dashboards have been moved to a new "Dashboards" tab, accessible via the "D" icon in the main sidebar. This UI replaces the Grafana tab in the Performance Monitoring UI. See the Grafana docs for more details.

April 26, 2021

  • It is possible to query whether analyses for a session have completed. See the Session Analysis API for details.

April 15, 2021

  • The App API now supports deleting app files previously uploaded to the HeadSpin cloud. See the App API for details.

April 2, 2021

HTTP Errors update

  • The <code>HTTP Errors</code> Issue card has been split into <code>HTTP Client Errors</code> (for 4xx status codes) and <code>HTTP Server Errors</code> (for 5xx status codes).

March 17, 2021

Query labels in a session

  • Session labels can now be queried by <code>label_type</code>, <code>category</code>, and/or <code>name</code> using the <code>/v0/session/{session_id}/label/list</code> endpoint. See the "Get labels associated with a session" section in the Session Annotation API documentation for details.

New Documentations

  • The Session Annotation API and the available session analysis APIs now have their own documentation pages.
  • The documentation on measuring visual load time has been updated to with detailed instructions on running the page load analysis.

March 16, 2021

Regression Alerts Chart

  • Improve regression alerts chart.
  • Alerts with no regression records are empty bars with a status icon above it.
  • Alerts with regression records display their breakdown by status using a stacked bar graph.
  • On hover over an alert, UI displays info about the alert in a popup.

March 10, 2021

Rotate Button

  • A "rotate" button has been added to the Waterfall UI video view. Videos may be freely rotated between the landscape and portrait orientations.

February 23, 2021

Session Video Metadata

  • A new route has been added to the Session API for retrieving the metadata of the session video. See the "Get the session video metadata" section in the Session API documentation for details.

February 17, 2021

Unoptimized DNS Configuration Issues

  • Two new HeadSpin Issues (Unoptimized DNS: High Latency Host and Unoptimized DNS: Poor Host Prioritization) will be surfaced when DNS results indicate suboptimal configuration. See the Issue documentation for details.

February 12, 2021

Run video quality analyses via labels

  • Video quality analyses can now be run on custom time regions by adding <code>video-content</code> labels to a session.

February 10, 2021

Regression API Now Supports Alerting Using Custom Key Peformance Indicators (KPIs)

  • Pro-active regression alert watchers now support setting a custom KPI for determining the pass/fail status of an alert. See the Regression API documentation for details.

February 10, 2021

New User Flow API Routes.

  • New routes have been added to the Replica DB API for syncing User Flows into Replica. These new routes permit checking the status of and waiting on a sync to complete. See the Replica DB API documentation for details.

February 5, 2021

Filter HAR export by session label

  • Callers can supply a <code>label_id</code> query parameter to the session HAR download route to filter HAR entries to the timeframe of a session label. See the Session API documentation for details.

February 2, 2021

Replica Export Now Includes Session Tags

  • A new table is now exported into the Replica Database that stores the session tags for all exported sessions. Sessions that are already exported beforehand should backfill this table when that particular user flow is resynced. See the Replica DB documentation for details.

January 26, 2021

Regression API Now Includes Aggregate Metrics for Session Label Data

  • New summary metrics for session label data have been added to the Regression API regression report schema. New metrics include the duration and count of labels per session aggregated by label type, category, and name. See the Regression API documentation for details.

January 25, 2021

DNS Issue Cards

  • The first set of DNS related issues has been released
  • The issues flag the basic DNS errors specified in RFC 1035 (FormErr, ServeFail, NXDomain, NotImp, Refused)

Add multiple labels at a time

  • Using the same API route for adding a single label, users can now add multiple labels at a time to a session.
  • See the Session Annotation API in the Session API documentation for details.

January 18, 2021

Platform adb updated to 1.0.41

  • The previous platform standard of 1.0.39 was updated to 1.0.41. This supports new adb features such as streaming install, which impacts newer devices. End user adb from 1.0.32+ are supported.

January 13, 2020

Download Screen Recording Video Resampled to Constant Frame Rate

  • Screen recording videos may now be resampled to a constant frame rate during download using the <code>GET /v0/sessions/{session_id}.mp4\?fps\={int}</code> route in the Session API. See the Session API documentation for details.

December 17, 2020

DNS in Waterfall UI

  • Waterfall timeline now displays DNS data if captured

November 24, 2020

Enhanced HAR data

  • HAR files can now be enhanced with HTTP/1.X request/response body data parsed from the associated session PCAP.
  • See the Session API documentation for details.

October 15, 2020

Log Exceptions Issue Card

  • A new warning Issue Card for Log Exceptions while apps are in the foreground is added.
  • Read more in the Issue documentation

September 29, 2020

High Battery Drain Issue Card

  • A new Warning Issue Card for High Battery Drain is added. This Issue flags regions where the device battery drained at a high rate.
  • Read more in the Issue documentation

September 18, 2020

New Documentation on Measuring Visual Load Time

August 28, 2020

Netflix VMAF Video Quality Score

  • In addition to the HeadSpin reference-free video quality MOS (Mean Opinion Score), HeadSpin now offers support for the open source full-reference Video Multi-Method Assessment Fusion (VMAF) video quality MOS analysis released by Netflix (https://github.com/Netflix/vmaf).
  • The following VMAF features are also surfaced with the VMAF Score:
  • ADM2 Detail Loss
  • Structural Similarity Index
  • MultiScale Structural Similarity Index
  • Peak Signal-to-Noise Ratio
  • Visual Information Fidelity (multiple scales)
  • The VMAF MOS allows for strict frame-by-frame comparison between two videos. This is useful when, for example, optimizing compression of a video to minimize the file size while preserving the subjective quality of the content. VMAF scores may only be meaningfully compared across variants of a single reference video (for example, multiple compressed versions of a single source video). Comparison of scores across multiple reference videos is not meaningful.
  • The HeadSpin MOS allows for monitoring the subjective quality of live content or content viewed on a device (for example video on demand as observed from a consumer device) at scale. No reference video is required and HeadSpin MOS scores may be meaningfully compared across different devices and video content.
  • Contact a sales representative to learn more.

Grafana Autoprovisioning

  • HeadSpin now supports automatically provisioning Grafana accounts that are automatically connected to the Replica export database. The account is allocated by simply clicking a button and is embedded inside the HeadSpin UI.
  • See the Grafana documentation for more details.

August 13, 2020

Performance Monitoring

  • Can now access Performance Regression UI from dashboard.

July 29, 2020

Performance Regression UI

  • Launch new Performance Regression UI, a UI to examine regressions between sets of sessions in a User Flow.

July 28, 2020

Performance Regression API

  • HeadSpin now supports performance regression comparisons between sets of sessions in a User Flow.
  • Regression analytics may be queried through the Performance Regression API.
  • Regressions analytics include a deep link to the Performance Regression UI.

July 22, 2020

HeadSpin University Course Page Facelift

  • HeadSpin university courses overview pages now display units by modules.
  • Teaser videos added for courses.

Audio Video Capture

  • HeadSpin now supports capturing both audio and video during capture sessions. Capturing audio requires having a HeadSpin Bluetooth Soundcard attached to the host.

June 9, 2020

HeadSpin Univeristy Home Facelift

  • Updated the look of the home page for HeadSpin University to include a preview for news feed items and courses.

May 31, 2020

Session Compare Recommender

  • Launch Session Compare Recommender.
  • HeadSpin now picks representative sessions from a provided set of tagged sessions.

May 20, 2020

Selenium Support

  • Selenium can be used to automate real desktop browsers such as Chrome, Firefox, Microsoft Edge, Safari, and others on the HeadSpin platform. Test HeadSpin browser devices directly in the UI using Remote Control, or run your own tests on HeadSpin devices and preview the results in Automation View.

Automatic Visual Launch Time Estimation for Appium and Selenium Tests

  • Any automation sessions captured using the headspin:capture Appium or Selenium capabilities will automatically estimate the time to visual load on app or browser launch.

More Ways to Measure Visual Load KPIs

  • HeadSpin now supports automated measurement of time to visual load KPIs using session annotations with the <code>page-load-request</code> label type. These are available using the Visual Page Load Time API, Session Annotation API, or by adding a "Page Load Request" annotation directly in the Waterfall UI. See the Session API documentation for details.

Device View Improvements

  • The remote control UI supports a full screen device view. Click the small box near the top of the device view to enter fullscreen mode.
  • Device remote control can now be performed on a multi touch mobile device through the miniremote UI. A QR code can be scanned near the top of the device view to load miniremote on a mobile device.

New Document on Available Session Annotations

  • A new guide for Annotating Your Session is available.
  • The document covers the usage of session tags and session label annotations.

Get Recent Sessions with Session Tags

  • The <code>/v0/sessions</code> API route can now filter sessions using session tags. See the Session API documentation for usage.

April 15, 2020

Android RemoteControl Improvements

  • Starting an Android device is faster.

March 30, 2020

HeadSpin University

  • Launched HeadSpin University learning platform.
  • A university account can be created at ui.headspin.io/university/register.
  • Includes two free courses on automation techniques.
  • Includes a news feed with some supplementary material.

March 23, 2020

New Unoptimized Resource Issue Cards

  • Issue cards are now created when an app downloads content in a format that may not be optimial for performance. See the HeadSpin AI-based Issue Detection Engine doc for details.

March 18, 2020

Android RemoteControl Improvements

  • Video stream quality is improved for Android devices.

March 5, 2020

Session Compare UI

  • Launch new Compare UI that shows regressions between two sessions.
  • Add a Session Compare Discovery popup to HeadSpin's Waterfall and Burst UIs for easy access to the Compare UI.

March 3, 2020

HeadSpin Video Quality MOS Time Series Update

  • The HeadSpin Video Quality MOS time series now surfaces MOS values on the closed range [1, 5] (adjusted from [0, 4]) to better align with expectations set by video quality MOS industry standards.
  • The range corresponds to the Likert scale consisting of the following values: 1 (Very Poor), 2 (Poor), 3 (Fair), 4 (Good), and 5 (Excellent).

HeadSpin Poor Video Quality Issue Card Update

  • The HeadSpin Poor Video Quality issue card has updated thresholds to account for the change in the Video Quality MOS time series.

March 2, 2020

Slow TLS Issue Card Update

  • The <code>Slow TLS</code> issue card has been updated to reflect current best practices and to more completely describe the performance impacts of slow TLS handshakes.

February 29, 2020

Session API Updates

  • <code>/v0/sessions</code> now includes the <code>device_address</code> field for each of the returned sessions.

February 17, 2020

Session Feedback Annotations

  • Users can now provide feedback directly on performance session data in the form of suggestions, requests for improvement, or error reporting using the session annotation API or the annotation feature in the Waterfall UI.
  • See the documentation on providing effective feedback for usage.

February 10, 2020

Android Remote Control UI

  • The remote control UI for Android has been streamlined, and includes a WebRTC device view that offers much improved performance when interacting with a device

Function Call Timeline in Waterfall UI

  • A new section, Function Call Timeline, is added to the Waterfall UI for Android devices (iOS support coming soon).
  • The Function Call Timeline provides real-time stack trace information, profiling debuggable foreground apps.
  • Read more in the Waterfall UI docs.

Browser Automation Feature

  • HeadSpin now supports browser automation. Browsers (run on macOS devices) are connected to Pboxes and can be selected for automation in the Remote Control > Devices page.
  • Browsers can be automated with the HeadSpin Appium IDE or Selenium scripts.
  • Browsers sessions can be captured and analyzed in Performance Sessions.
  • Read more in the Browser Automation docs.

HeadSpin Appium IDE 1.16.0

  • An update for the HeadSpin Appium IDE, version 1.16.0, is released. This version supports actions related to web browser automation.
  • Download the Appium IDE in the Settings and Downloads page

New Time Series and Issue Cards

  • A new time series, Local Information Density, is added to measures the fraction of pixels used to convey information on small scales. Read more in the Waterfall UI docs.
  • Battery Current, Battery Percent Usage, Battery Voltage and Wifi Signal are now also available for iOS.
  • Device GPS Location is now available for Android.
  • A new Pitfall Issue card, Slow Find Element Command, is added. This issue card flags regions where your "Find Element" Appium command took longer than 500ms.

New Session Labels

  • Appium Command Labels are now available from Appium capture sessions. These labels give information on the Appium commands used, such as selector strategy and how long it took to execute a command.
  • Log Exception Labels are now available for Android from capture sessions. These labels give information on exceptions found in the device log.
  • Foreground Application Labels are now also available for iOS.

New API Routes

Several new API routes are added:

  • <code>/v0/adb/{device_id}/screenshot_url</code> and <code>/v0/idevice/{device_id}/screenshot_url</code> routes to take a screenshot and save to the cloud. Read more in the idevice API docs and the adb API docs.
  • <code>/v0/sessions/{session_id}/timestamps</code> to fetch all capture-related timestamps for the associated session ID. Read more in the Session API docs.

New Parameters for the Visual Page Load Time API

  • The User-Perceived Load Time Analysis route, <code>/v0/sessions/analysis/pageloadtime/{session_id}</code>, now supports additional parameters in the request body to fine-tune the analysis. The new parameters adjusts how sensitive the algorithm is when detecting the start or end of page load.
  • Read more in the Session API docs.

December 6, 2019

New Remote Control API Route

  • A new API route, <code>/v0/device-url</code> is added. This route returns the Remote Control URL for the first device matching the <code>?selector</code> parameter.
  • Read more in the Basic Device API docs.

Script API

  • A new API route is added to run existing bundled scripts and perform common tasks on selected devices.
  • Read more in the Script API docs.

New HeadSpin Appium Capability

  • There is a new HeadSpin Appium Capability, <code>headpin:capture.networkKeepInSessionPatterns</code> to control whether a destination host:port is kept in the session after an error (e.g. TLS Exceptions).
  • Read more in the HeadSpin Appium Capabilities docs.

New API Parameter for Creating Sessions

  • The <code>/v0/sessions</code> POST route for creating sessions accepts <code>network_keep_in_session_patterns</code> as a parameter. Similar to the <code>headpin:capture.networkKeepInSessionPatterns</code> Appium capability, this parameter controls whether a destination <code>host:port</code> (or <code>ip:port</code>) is kept in the session after an error.
  • Read more in the Session API docs.

New Time Series

  • Two time series, <code>Wifi Signal Strength</code> and <code>LTE Reference Signal Signal-to-Noise Ratio</code>, are added to the Waterfall UI.
  • Read more in the Waterfall UI docs.

Pitfalls Issue Card Group

  • There is a new issue card group, Pitfalls, to flag test configuration issues that can interfere with the proper running of a test.
  • Read more in the Issues docs.

Import a HeadSpin Session from a Video

  • A new API route, <code>/v0/sessions/import/video</code> is added. This route uploads a video, creates a session from that video, and applies video quality analyses.
  • Read more in the Session API docs.

November 1, 2019

Tutorials Page

  • There is a new tutorial page at ui.headspin.io/tutorials, where you can find short tutorial videos for HeadSpin's key features. This page can also be viewed by clicking on the Tutorials button above the Docs button at the bottom left corner of the screen.
  • Tutorials will be added on a biweekly basis.

Label Pinning

  • Labels can now be "pinned". Pinned labels are displayed by default on the Details pane on the right side of the Waterfall UI.

Foreground Application Label

  • A new section, Foreground Application, can be found in the labels section of the Waterfall UI. This section contains teal labels highlighting the current active application, or "home" for the device home screen.
  • These labels are recorded by the HeadSpin capture session and may be pinned to the Details pane on the Waterfall UI. They cannot be edited.
  • Only for sessions on Android devices.

Cell Service Signal Strength Time Series

  • HeadSpin capture now records cell service signal strength and quality metrics for Android devices with an active SIM card. New time series are added for each metrics.
  • Read more in the Waterfall UI docs.

October 4, 2019

Waterfall UI Updates

  • The Waterfall UI now has an "Analysis in Progress" indicator above the capture data download buttons to show when the HeadSpin AI is actively analyzing your data.

iPhone 11 and Android 10

  • iPhone 11 and iPhone 11 Pro/Max devices are supported
  • Android 10 OS is supported.

Performance Session Product Tour

  • New product tours have been added that give an overview of the Performance Sessions page and the Waterfall UI. To view it, click on the Performance Session tab, and then the Product Tour button located above the Docs button on the lower left hand side of the screen. Click "Start Tour" to start.

September 6, 2019

New Recorder Tour

  • A new product tour has been added to give an overview of the Script Recorder. To view it, click on the Product Tour button, located above the Docs button on the lower left hand side of the screen, and click "Start Tour" next to the Recorder section.

HeadSpin MOS Video Quality Timeseries

  • A new timeseries, HeadSpin Mean Opinion Score (MOS) Video Quality, has been added to the Waterfall UI.
  • The timeseries displays a score for the quality of the video stream as it would be perceived by a user. The score is generated by an AI algorithm.
  • Read more about the HeadSpin MOS Video Quality score in the Waterfall UI docs.

HeadSpin MOS Video Quality Issue Card

  • A new issue card, Poor Video Quality, is added for regions where the HeadSpin MOS Video Quality falls below the "Fair" threshold.

Session Labels and Labels API

  • Sessions now support labels. Labels can be applied to arbitrary regions of any session to annotate noteworthy sections.
  • To create a label, click and drag your mouse over any segment of the Waterfall UI timeseries.
  • Existing labels can be found in the label section, between the time series and the connection list.
  • New label API routes are added. Read more in Session Annotation API section in the Session API docs.

New API Route to Copy Labels Across Similar Sessions

  • A new API route has been added to automatically copy labels from a session to other sessions captured on the same device model.
  • The mechanism by which the labels are copied is a visual match algorithm where the start and end points of the reference labels are identified in the target sessions.
  • Read more in the "Copy a Label to Another Session" section in the Session API docs.

New API Routes for Session Name and Description

  • New API routes are added for session name and description.
  • Read more in the Session API docs.

August 2, 2019

Resizable Appium Log View

  • When viewing a device's Appium logs in remote control, the pane between the device screen and the Appium log window can be moved to resize the two windows.

Exporting Load Test Data to Replica DB

  • Load test data can be added to a userflow and synced with Replica DB. To add to a userflow, select the target load test run and choose <code>Options > Add to a userflow</code>.

July 12, 2019

Waterfall UI

  • New time series added: Battery Voltage, Current In, Current Out.

Session API

  • Labels now can be added to each session. New API routes are added to support adding, listing, and removing labels.
  • An API route is also provided to copy labels from one session to other sessions by matching the image at the labeled time.

Read more in the Session API docs.

New Load Test API route

  • <code>/api/v0/info</code> route is added to get configuration information.
  • </code>/api/v0/upload-playbook</code> and <code>/api/v0/check-playbook</code> routes are added.

Read more in the Loadtests docs.

iOS 13 Support

  • Remote Control and Appium work with devices running iOS 13.

Capture and Streaming Improvements

  • Video capture is more stable on Android.
  • iOS streaming quality improved.

June 21, 2019

Waterfall UI

  • New time series added for Android: Battery Temperature, Janky Frame Count, High Input Latency, Slow UI Thread, Frame Render Time p50, Frame Render Time p95, Frame Render Time p99.

iOS Biometrics SDK

  • An iOS Biometrics SDK can be downloaded and utilized to emulate interactions with Face ID and Touch ID authentication prompt on real iOS devices.

Read more in the biometrics docs.

Distributed Bridge Client

  • Local Android devices can be used with HeadSpin's platform features such as Remote Control and Automation through a program that runs on MacOS, Windows or Linux.

Read more in the distributed device bridge client docs.

iOS Remote Control

  • Improvements to the iOS Remote Control interface when resizing.

Older Features

Read about older features here.