Web Changelog

Change Log


  • fix: take full snapshot to minimize lookback in heatmaps

Released on 07/05/24


  • fix: track seen event only when survey view is visible
  • fix: removed open text aria-label, added describedby
  • fix: improve nps and rating scale button semantics
  • fix: update styling for mobile feedback button studies

Released on 07/03/24


  • add: preview banner to call out when viewing a preview mode study
  • add: replayLibraryURL and upchunkLibraryURL config options enabling self-hosted dependencies
  • fix: metadata href returning empty string
  • refactor: Separates replay module with its own entry point.

Released on 06/17/24


  • fix: NPS question iframe height after Matrix question
  • add: trackPageView sends URL to view
  • add: Add heatmaps capture when object received from events
  • add: Sprig_Scroll custom replay event

Released on 06/06/24


  • add: Add method to customize feedback surveys

Released on 05/10/24


  • fix: View CSS should accept from product config instead of global value

Released on 05/02/24


  • add: FeedbackButtonLoaded lifecycle event
  • add: hideRecordPrompt option for Video & Voice questions
  • fix: Memory leak when closing survey
  • fix: Improve Feedback animation and UI
  • fix: Rebuild replay Dexie approach, improve cleanup
  • chore: Reduce size of the view bundle

Released on 04/30/24


  • add: Support for multiple choice questions with dropdown
  • add: Support for rich text headers, descriptions and open text footers
  • add: Show feedback button when received from pageURL event
  • add: Call events/batch if survey opened while event tracked
  • add: Adds properties accessible to mobile sdks for metrics reporting
  • fix: Stop logging error when window.parent.Intercom is inaccessible
  • fix: Live preview restarts on first question when survey finished/closed
  • chore: Add size limit validator to the build process

Released on 04/17/24


  • fix: Mark Intercom data argument optional

Released on 03/26/24


  • add: Clean up custom event info for replay analysis
  • fix: setAttribute types to match what Sprig accepts for attribute values
  • chore: Improve sentry error reporting

Released on 03/12/24


  • add: SDK performance metrics
  • add: Timed code block metrics
  • add: Replay killswitch from performance limits


  • add: Adds SDK logging
  • fix: Add back support for cjs exports
  • fix: Responsive display in sandboxed iframe
  • fix: Show gradient and arrow when matrix has columns offscreen
  • fix: Handle undefined tagName
  • chore: Allow local cdn configurations

Released on 02/14/24


  • add: none of the above multiselect option support
  • fix: Add bundled version to the headers for diagnostics
  • fix: Check browser quota before collecting replay events
  • fix: Update thank you card footer styling
  • fix: Fix build issues
  • fix: Fix mobile SDK scaling in preview
  • fix: Add right padding to matrix questions
  • chore: Strip un-needed code from the sprig bundled package
  • chore: Adds replay config info to sdk events
  • chore: Port tests to different testing framework
  • chore: Remove old testing framework
  • chore: Better error reporting
  • chore: Shrink down size for the shim bundle

Released on 01/19/24


  • fix: Retrieve parent href if available, or fallback to view frame href

Released on 01/16/24


  • fix: Requests canceled before being resolved when survey has been finished
  • fix: Make SDK window height and width have smoother transition inbetween cards
  • fix: Do not save html attributes in replay data
  • add: Adds more custom event info for replay analysis
  • chore: Remove cjs exports for build

Released on 01/12/24


  • fix: Undo view parent href change to fix link preview

Released on 01/03/24


  • add: Add new Matrix question type card
  • add: Support SVG elements in no code CSS selector events
  • add: surveyId to SurveyPresented and SurveyAppeared payloads

Released on 01/03/24


  • chore: Update LICENSE

Released on 11/20/23


  • fix: Pass headers in _completeSessionReplay
  • fix: Do not send trackPageUrl events when no url events are configured

Released on 11/07/23


  • fix: More improvements to RTL formatting
  • fix: Add try-catch to replay recordCustomEvent

Released on 10/30/23


  • add: Add support for previewing language translations if passed through the SDK config
  • add: Improves formatting/layout of RTL languages

Released on 10/26/23


  • fix: Prevent retries requests when prior SDK request violates CSP
  • add: Update Sprig brand logos for free plans

Released on 10/15/23


  • fix: revert "add rrweb & upchunk to the bundle"
  • add: Add public function _generateVideoUploadUrl to allow mobile to generate URL
  • add: Add public function _completeSessionReplay to allow mobile to send completed mobile session replays
  • add: Return surveyId and responseGroupUid after displaying questions

Released on 10/10/23


  • chore: add rrweb & upchunk to the bundle

Released on 09/28/23


  • fix: Fixes error from tracking custom events without recording active
  • fix: QuestionAnswered event wasn't emitting because we weren't using the internal binded event emitter
  • add: Exposes trackPageView function for triggering no-code events
  • chore: Fix trackPageView error stacktrace and send page view storage in extraInfo parameter instead

Released on 09/21/23


  • fix: Fixes bug with corrupted replays in Chrome when duplicating tabs
  • fix: Fixes bug that caused replays to lose up to the most recent 30 seconds of data.
  • fix: Improve accuracy of replay durations
  • fix: During survey dismiss, remove survey container from its parent node, instead of document body
  • chore: Add skip button css for voice + video skip button
  • add: Pass userAgent info along with replay
  • add: Inject custom sprig events into replay
  • add: Upload replay events for IPS after question has been answered
  • add: Emits question and its response after question submission

Released on 09/17/23


  • fix: improved showSurveyCallback to send tracked events during the callback to the batch endpoint
  • chore: centered text prompt question card to center buttons
  • chore: updated the build/release process to upload source-maps to sentry

Released on 08/06/23


  • fix: prevent additional pendingCaptures while waiting
  • fix: batch events fetch to reduce memory load
  • fix: catch uncaught transaction errors
  • chore: updated testing env to test replay image capture

Released on 07/23/23


  • fix: add and remove event listener for survey fading out
  • add: Accepts new skip logic format
  • add: New comparator types for mcss, mcms, and open text questions

Released on 07/06/23


  • fix: wrap deletes and chunkUpload fetch in transactions

Released on 06/14/23


  • fix: block reporting specific errors, return earlier in initializeReplay

Released on 06/06/23


  • fix: remove non-actionable error report of storage init failure

Released on 06/01/23


  • fix: capture failures when initializing indexedDB for replayStorage
  • fix: delete previous db if found

Released on 06/01/23


  • fix: send previewKey during /history and /submit endpoint calls
  • fix: use Dexie for IndexedDB interactions, update tests

Released on 05/31/23


  • fix: Add catches to indexDB interactions
  • add: Accept Optimizely client to add notification listener

Released on 05/09/23


  • fix: Renames rrweb script
  • fix: Fixes shorter-than intended recordings
  • add: Send replayDuration on replay upload
  • add: Ability to integrate LaunchDarkly with Sprig SDK
  • add: Track events with LaunchDarkly metadata, if integration is enabled
  • add: Adds storage usage information to error reports
  • add: Support for "after" and "before and after" replay captures

Released on 04/30/23


  • fix: Prevent uploads of replays below duration threshold
  • fix: Improves usage of indexedDB storage for replay info. Better handles storage limit errors
  • add: Attempt to compress replays before uploading

Released on 04/19/23


  • fix: Prevent uploads of replays below duration threshold
  • fix: Fix whitespace calculation to include border and margin space
  • fix: Emit the calculated height instead of the client height on SURVEY_HEIGHT event
  • fix: fix an issue when selector is invalid and sdk fails to process the no code events

Released on 04/18/23


  • fix: Fix negative whitespace calculation for frame height

Released on 04/16/23


  • fix: Improve performance of replay capture
  • fix: Clear replay data when user logs out or visitor ID changes
  • add: Add Electron support to open external url based on user's default browser

Released on 04/11/23


  • fix: Handle invalid regex gracefully
  • fix: Prioritize locally set config over dashboard provided config
  • add: Session Replay: Controller and network/upload module. replaySettings config object. Capture session.
  • add: Ability to test a new or draft study's trigger logic
  • add: Add Electron support to open external url based on user's default browser

Released on 04/09/23


  • fix: Prevent unintentionally skipping question if user cancel screen or AV permission mid-question
  • fix: Set properties like UPDATES synchronously in sprig initialization
  • fix: Handle invalid regex gracefully

Released on 03/30/23


  • fix: Prevent share screen button to be clicked on multiple times
  • add: Enable optional survey callback function when tracking events for an eligible survey to determine whether or not survey should be shown to visitor
  • add: Add skip button on Start Task page for recorded tasks if the question is optional

Released on 03/21/23


  • fix: Update typings generation to handle external modules
  • chore: Cleaned up some browser package descriptions
  • chore: Improve typings generation and validation

Released on 03/14/23


  • fix: Updated typings for Sprig.dismissActiveSurvey() call to allow for no arguments
  • fix: Fixed typings for previewSurvey and added fix for module resolution NodeNext

Released on 03/06/23


  • fix: Progress bar on surveys was incorrect in some situations
  • chore: skip rc tag creation if the release tag is already public
  • chore: CSP blocked websocket / devserver connection which disable hot reloading
  • chore: update the release merge to main process to run only when there's newer diffs than dev
  • chore: added LICENSE.md and CHANGE_LOG.md to sprig-browser as a build step

Released on 02/20/23


  • chore: Cleaned up android automation errors and outdated files
  • chore: Updates to build and release automation
  • chore: Removed redundant styles.css file

Released on 01/30/23


  • fix: styles.css was missing

Released on 01/08/23


  • fix: Progress bar indicator showed incorrect progress
  • fix: Consent legal red highlight did not show
  • fix: "View Document" button missing on mobile surveys
  • fix: Link preview wasn't showing properly
  • add: Allow Text URL question type to have skipped button customized text
  • chore: Periodically check for webcam/audio permissions when applicable

Released on 01/02/23


  • fix: "Seen" event was not being sent which affected resurvey window

Released on 11/29/22


  • add: UI framework rewritten to Preact 10.11.2 (from Hyperapp)

Released on 11/17/22


  • fix: Check Optimizely.get() function is defined before invoking

Released on 11/09/22


  • fix: When SDK is disabled, should return a valid config object

Released on 11/09/22


  • fix: Surveys were not showing for NPM installs because of a faulty event listener

Released on 11/01/22


  • fix: Pressing the spacebar was toggling Other:specify question types

Released on 10/31/22


  • fix: When a survey with a delay is delivered, use the events/batch endpoint so subsequent events do not trigger surveys

Released on 10/27/22


  • add: Support nonce for style tags

Released on 10/25/22


  • fix: Voice & Video skip logic wasn't working because of faulty comparison

Released on 10/14/22


  • add: Support required questions

Released on 10/13/22


  • add: If enabled, read the Optimizely singleton and include experiments when tracking events

Released on 10/12/22


  • fix: Provide default for event properties

Released on 10/11/22


  • chore: Include preview mode in request headers

Released on 10/11/22


  • add: Support event properties

Released on 10/10/22


  • fix: Improve ontouchstart and ontouchend handling for multiple select options

Released on 09/27/22


  • fix: Add wordbreak for very long words
  • fix: Remove height restriction for multiple choice questions with lots of options

Released on 09/23/22


  • fix: Likert number turned white on Safari browser after completing a likert star question

Released on 08/24/22


  • fix: Prevent touchend() from being called twice which skipped a question on Android

Released on 08/18/22


  • fix: Remove visual flicker in select components
  • chore: Remove unused import

Released on 08/11/22


  • add: Support for 'Other' options with text entry for single-select and multi-select questions

Released on 08/09/22


  • add: Support likert question with stars and smiley labels

Released on 08/08/22


  • fix: Recorded tasks events were not being emitted for websurveys

Released on 08/05/22


  • fix: Properly destroy event listeners to better support multiple surveys showing in a single session

Released on 08/01/22


  • add: Allow text entry for Consent/Legal questions

Released on 07/29/22


  • fix: Revert change that made select box in Consent/Legal questions not selectable

Released on 07/29/22


  • add: Allow Option (Specify) to be configurable
  • chore: Disable error reporting with response JSON parsing fails

Released on 07/27/22


  • chore: Automatically convert attributes with email key to !email

Released on 07/26/22


  • add: Support 7-pt likert and more options

Released on 07/25/22


  • add: Height update notification to event listeners

Released on 07/07/22


  • fix: SDK installed via NPM had incorrect document heights
  • add: Github actions support for deploying SDKs

Released on 07/05/22


  • fix: Reset scroll position when moving to next question
  • add: Internal SURVEY_COMPLETED event for event listeners

Released on 07/01/22


  • add: showQuestionIdx int into SDK config to show a specific question index (if exist)
  • add: useDesktopPrototype boolean into SDK config to use the desktop version of embedded questions for link/email platforms

Released on 06/29/22


  • fix: Transitioning from a "Screen only" permissions question to a "Screen + Audio" permission wasn't being detected properly
  • fix: Stream wasn't terminating properly when going from a "Screen + Audio" to a "Screen + Audio + Video" question

Released on 06/15/22


  • chore: Add npm install to build script

Released on 06/09/22


  • fix: Autosizing of open text questions wasn't working properly on NPM installs

Released on 06/09/22


  • fix: Wrong questionId was being passed to video player event listeners during response submission
  • add: "View Prototype" button to recorded question type

Released on 06/02/22


  • add: Upload spinner for video uploads
  • add: Show permissions request when permissions type changes between questions

Released on 05/31/22


  • fix: avStream wasn't stopping when it was the last question
  • fix: Record UUID was not being updated properly
  • fix: Subsequent recording questions weren't working
  • fix: Various polishes and tweaks

Released on 05/27/22


  • fix: Skip logic for recorded task when user gives up

Released on 05/20/22


  • fix: Text entry boxes would lose focus shortly after being displayed

Released on 05/20/22


  • fix: Video codec issue that was not working on safari/firefox
  • fix: Video permission screen state transition now will skip to the next page for audio only, and will always show the video preview even if permission is previously given
  • add: Upload card before thank you card when videos are uploading
  • add: "Try again" button for retry permissions

Released on 05/20/22


  • fix: Skip logic for multiple choice questions wasn't working

Released on 05/16/22


  • fix: Addressed several issues with consecutive recorded task states
  • add: Recorded task now can record and uploads multiple tasks with different permission settings

Released on 05/16/22


  • add: Internal events for recorded task permission screen and recorded task start

Released on 05/12/22


  • add: Log analytics events for video recorder

Released on 05/12/22


  • fix: Add passthrough data to provide required fields
  • fix: Fix check for video tracks

Released on 05/09/22