Openreplay Versions Save

Session replay and analytics tool you can self-host. Ideal for reproducing issues, co-browsing with users and optimizing your product.

v1.17.0

3 months ago

šŸš€Ā Features

  • (Tag and Watch) Tag a particular element in your web app (e.g. popup) and search for sessions where itā€™s been displayed for users
  • (DevTools) Ability to capture and troubleshoot websocket messages
  • (Offline Mode) Record sessions even when your web app is offline
  • (Conditional Recording)(EE) Limit the number of recorded sessions by capturing only those that meet certain conditions

šŸ’ŖĀ Improvements

  • (React-Native)(iOS) Support of network payloads in DevTools
  • (Assist) Improved search and reviewed the way we manage WebSockets
  • (Backend) Reworked the canvas processing pipeline and reduced resource consumption
  • (Tracker) Better handling of pages with multiple canvas elements
  • (Plugins)(Assist) Changed the WebSocket reconnection policy by adding exponential waits
  • Minor UI/UX improvements
  • Security enhancements

šŸžĀ Bugs

  • Fixed a bug preventing dead clicks and errors from appearing in X-Ray
  • Added method to restart canvas capture in case of context recreation
  • Fixed an issue preventing iOS sessions from being returned to frontend
  • Fixed an issue in sessions list not properly resetting its pagination
  • Fixed a display issue with multiple canvases in session replay
  • Fixed a bug in frontend related to enabling the Elastic integration
  • Fixed the display of events for mobile recordings
  • Fixed a bug in CLI when installing k9s
  • Console.logĀ shows as coming fromĀ console.jsĀ in devtoolsĀ (#1842)
  • Receiving emails with blank bodyĀ (#1829)
  • Error during clean install - command not foundĀ (#1818)
  • Error Occurs in Tracker when Aborting XHR CallsĀ (#1813)
  • Remove console.log Statements from TrackerĀ (#1810)
  • Fix invitation password setĀ (#1795)
  • Cannot reset password or accept invitationĀ (#1794)

v1.16.0

4 months ago

šŸš€Ā Features

  • (Replayer) Support of <canvas> elements in session replay as well as in co-browsing
  • (Usability Testing)(Beta) Conduct usability tests efficiently and gain valuable insights into user behavior to improve UX

šŸ’ŖĀ Improvements

  • (Replayer) Made the DevTools panel resizeable
  • (Backend) Use of the Zstandard compression algorithm for storing recordings (via the COMPRESSION_ALGO: zstd env variable)
  • (Assist) Reworked the service from the ground up for improved performance
  • (Integrations) Refactored the code to make contributions easier
  • (Community) Add nodeSelector or affinity for the migrationJob config in helm chart (#1687)
  • Minor UI/UX improvements
  • Security enhancements

šŸžĀ Bugs

  • Fixed an issue that prevented source maps from being processed
  • Fixed an issue with cards not being deleted
  • Fixed an issue in search resulting from a key conflict between metadata and events
  • Fixed an issue when searching using the not_contains operator
  • Fixed a bug in search with performance related events not taken into account
  • Fixed an issue that caused the Redux tab to crash in DevTools
  • Fixed an issue in the display of clickmaps
  • MS Teams integration subtitle contains placeholder text (#1724)
  • Empty message box on MS Teams error alert (#1719)
  • Unable to create new alert targeting MS Teams integration (#1677)
  • Sharing session to MS Teams displays empty box (#1681)
  • Cannot Reset Password (#1665)
  • Error Deleting User (#1664)
  • Opening a session causes 'Exception in ASGI application' (#1554)
  • Uncaught (in promise) TypeError: Failed to execute 'removeChild' (#1511)
  • Sourcemap-uploader logs all of the files in the console (#1694)

v1.15.0

5 months ago

šŸš€Ā Features

  • (iOS)(Beta) Support for ā€” iOS native and React Native ā€” apps for replaying mobile sessions with full-fledged DevTools (crashlytics/network payloads/performance metrics) and heuristics (crash detection/click rage)
  • (Analytics) Introducing Path Analysis to help visualize how users navigate through your website
  • (Assist)(EE) Keep an eye on key metrics, audit team sessions and create reports
  • (Deployment) Support of Docker Compose

šŸ’ŖĀ Improvements

  • (Replayer) Show closed tabs as users browse your app in multi-tab sessions
  • (Replayer) Display the user's timezone in playback and sessions page
  • (Replayer) Added a contextual menu to the player for quickly launching DevTools
  • (DevTools) Capture of TransferBodySize in network activity
  • (UI/UX) Reviewed the navigation workflow and implemented a new menu
  • (UI/UX) Added modules to allow enabling or disabling specific sections in frontend
  • (UI/UX) Redesigned the integrations section in Preferences
  • (Tracker) Ability to catch browser rendering delays and reflect them in replays
  • (Tracker) Added a safe wrapper for Angular apps
  • (API) Simplified the OmniSearch logic to make it easy to add new analytics capabilities
  • (Backend) Implemented a reconnection mechanism to Postgres, ClickHouse, Redis and Kafka clients
  • (Backend) Refactored assist and reviewed the socket handling mechanism
  • (Backend) Improved session end logic and partition management in ender
  • (Connectors)(EE) Full rewriting of Redshift and ClickHouse connectors in Golang
  • (Assist)(EE) Added prometheus metrics for better monitoring
  • (Deployment) Improved the support of external proxies
  • Minor UI/UX improvements
  • Security enhancements

šŸžĀ Bugs

  • Fixed an issue with missing "js_exception" in sessions table
  • Updated the "getSessionURL" function in tracker
  • Fixed iFrame observer timeout in tracker
  • Added a safe guard for HTML tag names in replayer
  • Disabled mouse movement on inactive tabs during replays
  • Fixed an issue with height resizer in clickmaps
  • Resolved the cursor position in cobrowsing sessions
  • Fixed a reconnection issue when initiating a cobrowsing session
  • Fixed multiple issues related to multi-tab feature with tab state duplication
  • Fixed a bug causing CPU surge in assist service
  • Fixed a bug affecting referrer not being inserted in db
  • Unable to Access /signup after OpenReplay installationĀ (#1502)
  • Browser doesn't support required api, or doNotTrack is activeĀ (#1463)
  • Session Token header not allowed on all urlsĀ (#1449)
  • Ky http requests not getting session token header (#1446)
  • Chalice health check failing with self signed certĀ (#1421)
  • Unhandled Exception Error ReferenceError: fetch is not definedĀ (#1420)
  • ReferenceError: XMLHttpRequest is not definedĀ (#1414)
  • Add a "finalizeBatch" method that could send all current events over on demandĀ (#1395)
  • Multi-Step funnel with metadata filter not applying metadata filter (#1599)

v1.14.0

9 months ago

šŸš€Ā Features

  • (Feature Flags) Enable or disable a feature, make gradual releases and A/B test all without redeploying your app

šŸ’ŖĀ Improvements

  • (Replayer) Improved the rendering performance with less re-renders from the control bar
  • (Tracker) Console and Network modules were rewritten to use Proxy objects instead of directly patching the window object (useProxy: true | false to network config)
  • (Tracker) Added a forceFlushBatch method to send over current events on demand (#1395)
  • (UI/UX) Moved session settings to preferences page
  • (Backend)(EE) Added a Redis based cache layer
  • (Connectors)(EE) Reviewed message processing pipeline in Redshift
  • (API)(EE) Support of multi-workers and better async handling
  • (API)(EE) Introduced the notion of a service account
  • Minor UI/UX improvements
  • Security enhancements

šŸžĀ Bugs

  • Re-added the handler of custom events in db service after being mistakenly deleted
  • Added a check in tracker to ensure browser has the required API for multi-tabs (broadcast channel)
  • Fixed the closed pool error in db service
  • Fixed a crash in replayer caused by recordings having way too many tabs
  • Fixed a panic occurring in heuristics service
  • Fixed input durations recorded on programmable autofill in tracker
  • Fixed a bug in Redshift connector preventing userId from being exported
  • Cannot read properties of undefined (reading 'axiosResponseObj.config')Ā (#1392)
  • OpenReplay session getting freeze on popup modalsĀ (#1335)

v1.13.0

10 months ago

Release Notes

šŸš€ Features

  • (Replayer) Support of tabbed browsing by grouping multi-tab sessions into a single recording (you can now see your users move across tabs as they browse your app)
  • (Replayer) Made geolocation a bit more accurate by determining the state and city associated with a session

šŸ’ŖĀ Improvements

  • (Replayer) Better splitting of recording files (based on duration) for faster time-to-replay
  • (OmniSearch) Ability to search for sessions by state and/or city
  • (Plugins) Improved MobX actions and state display
  • (Analytics)(EE) Reviewed the displayed text and number formats for insights
  • (API) Enhanced SMTP integration for issue detection
  • (EE) Native support of Azure Blob Storage
  • (EE) Support of custom port in SSO
  • Minor UI/UX improvements
  • Security enhancements

šŸžĀ Bugs

  • Fixed an issue causing caching of projects to fail in backend services
  • Ignore lowercase HTTP methods when saving network requests to Clickhouse
  • Fixed a bug leading to XHR headers not being captured with network requests
  • Fixed broken replays due to random resets in string dictionary
  • Prevent the stop() method from causing auto restarts in tracker
  • Fixed a regression preventing strong password from being enforced when signing up
  • Frontend crashes when all projects have been removed
  • Fixed a crash in frontend when clicking on DevTools > Performance
  • Long URLs are shrunk to an invalid value (#1253)
  • Upgrade from 1.8.1 "failed to query with labels: unauthorized" (#1255)
  • VueX tracker does not capture all store statesĀ (#328)

v1.12.0

11 months ago

šŸš€ Features

  • (Replayer) Detection of new frustrations like crashes and text selection
  • (Replayer) Show a trail with each mouse movement

šŸ’ŖĀ Improvements

  • (Replayer) Made jumps almost instant (up to 5x faster on heavy recordings) by rethinking the DOM node creation logic
  • (Replayer) Files are up to 3x smaller (brotli compression) for faster time-to-replay
  • (Replayer) Choose your preferred playback display time (relative vs absolute)
  • (Tracker) Support of compression on big messages to reduce bandwidth usage
  • (Analytics) Improved the way we capture selectors and display clickmaps
  • (Backend) Reduced the size of recordings (by 30% on average) by improving our messaging protocol
  • (Backend) Implemented a memory control manager for ender and heuristics services
  • (Backend) Deprecated input values insertion in databases
  • (Backend) Added support for mutual TLS to cache assets behind authentication walls (#1034)
  • (API) Ability to configure an expiration date for the deleted jobs
  • (API) Better handling of failed Postgres queries
  • (UI/UX) Redesigned the onboarding and getting started pages
  • (UI/UX) Enforced strong password usage
  • (UI/UX) Show the number of recorded sessions and events in the health status widget
  • (DevOps) Ability in CLI to fetch latest patches for the current release
  • (EE)(Assist) Support of compression in WebSockets to speed up connection times (2x faster)
  • (EE) Allow windows integrated authentication for SAMLĀ (#1072)
  • (EE) Support of project filtering in all data warehouse connectors
  • Minor UI/UX improvements
  • Security enhancements

šŸžĀ Bugs

  • Fixed a deadlock issue in audit trail
  • Fixed an issue affecting the login time when using multiple projects
  • Fixed a broken replay issue due to dictionary not being initialized properly
  • Fixed the unmount logic after leaving the replay page
  • Fixed a regression affecting console logs in live sessions
  • Fixed a performance issue affecting tracker caused by crash detection
  • Improved the email sanitizer regexp performance in tracker
  • Fixed a bug affecting the configuration of the Elasticsearch integration
  • Fixed search and scrolling in assistā€™s multi-view slideout
  • Delete user job is not executedĀ (#1150)
  • Custom filters in sessions URL get dropped via a redirectĀ (#1171)
  • Time and issues are not displayed in red in custom eventsĀ (#1029)

v1.11.0

1 year ago

:rocket: Features

  • (Replayer) Detection of new frustrations like mouse thrashing, click hesitation, and input hesitation
  • (UI/UX) Introducing a health status widget to ease troubleshooting
  • (DevOps) Automated the data cleanup process via the CLI

:muscle: Improvements

  • (Replayer) Implemented lazy-loading for faster time-to-replay
  • (Replayer) Ability to see the current time as absolute (#1023)
  • (DevTools) Show when a resource is served from browser cache
  • (Tracker) Record network requests from same-origin iFrames (#1016**)**
  • (Plugins) Added OnCallDeny, OnControlRemoteDeny and OnRecordingDeny callbacks
  • (Backend) Moved page and input events from db to heuristics
  • (UI/UX) Redesigned the login and signup pages
  • (DevOps) Check previous schema version before migrating Postgres
  • (DevOps) OpenReplay can now be installed using the CLI
  • (DevOps) Updating the deployment parameters can now be done via the CLI
  • (DevOps) Serve/proxy the tracker from the OpenReplay instance (#402)
  • (DevOps) Updated the helm charts to support patch releases (#1044)
  • (EE) New metrics for heuristics and storage services
  • (API) Allow option to set SSL verification to false (#1057)
  • Minor UI/UX improvements
  • Security enhancements

:bug: Bugs

  • Fixed a memory leak in heuristics that occurred in rare situations
  • Ensure content-type is text/css when caching stylesheets
  • Fixed a crash in live sessions when a turn-server is used
  • Unable to search for sessions and scroll in Assistā€™s multi-view slideout
  • Fixed long notifications batch in alerts
  • Handled failed transaction block in API
  • Fixed authorized version hopping when an upgrade fails
  • Chrome may crash with recordings having large states (#1009)
  • Time and issues are not displayed in red in DevTools for custom events (#1029)
  • Redux logs not showing up in DevTools on self-hosted instance (#1040)
  • Tracker is not compatible with the latest tracker-zustand package (#1032)
  • Fixed an issue in CLI causing components to infinitely wait during restart

v1.10.0

1 year ago

TL;DR: Check the new features and improvements in the v1.10.0 blog post.

:rocket: Features

  • (Analytics) Added click maps for tracking user clicks and frustrations
  • (Integrations) Support of MS Teams for sharing replays and notes
  • (Analytics)(EE) Introducing insights for surfacing key issues
  • (Assist)(EE) Ability to record co-browsing sessions for training purposes
  • (Assist)(EE) Enabled multi-view mode for watching up to 4 live sessions at once
  • (DevOps) Introducing a CLI to ease the setup/update/troubleshooting operations

:muscle:Ā Improvements

  • (Analytics) Revamped dashboards and replaced metrics with cards for a better experience
  • (Replayer) Added more timezones in settings
  • (Replayer) Absolute time is now displayed in timeline and network payloads
  • (Replayer) Removed the limit on X-Ray categories
  • (Replayer) Ability to replay recordings at a lower speed (#991)
  • (Replayer) Include timespan in the /sessions URL alongside other filters (#965)
  • (Plugins) Merged Fetch and Axios plugins with tracker
  • (Tracker) Added support for XHR requests
  • (Tracker) Introduced a dictionary based logic for improving the size of big recordings
  • (Backend) Implemented a pre-decoding mechanism for skipping broken batches
  • (Backend) Improved sink with batch and file buffers
  • (Backend) Improved db by removing Postgres transactions and rethinking batches and bulks
  • (Backend) Added worker pool and tasks queue for storage
  • (Backend) Enhanced storage for faster file processing and upload
  • (DevOps) Added support for global env variables
  • (DevOps) Added shared PVC name as global variable
  • (EE) Kafka compression and batching are now enabled by default
  • (EE) Added handlers for Kafka rebalance signal to avoid data loss and duplication
  • (EE) Support of supply chain signing
  • (EE) Enabled mTLS support
  • (EE) Implemented secret rotation using Hashicorp Vault
  • (EE) Ability to enforce SSO for logins
  • Minor UI/UX improvements
  • Security enhancements

:bug: Bugs

  • Missing assets due to rolling deploymentĀ (#883)
  • Replayer crashes when dragging timeline (#971)
  • Assets not loading in Shopify websites (#963)
  • Filters on sessions page are not automatically applied from direct URL visitĀ (#961)
  • Import without ".js" suffix inĀ breaks vitestĀ (#981)
  • Potential performance issue on get nodeName (#927)
  • Fixed an issue with resetting token in tracker's web worker on mobile browsers (#944)
  • Fixed a crash in Chrome with rare recordings (#1009)
  • Removed mouse cursor for mobile recordings in replayer
  • Fixed caching for the .ashx file extension
  • Fixed wrong urls for unprocessed session files
  • Fixed an OutOfMemory issue when handling big replay files in storage
  • Fixed an issue related to skipping sessions cache layer in ClickHouse connector (EE)
  • Fixed incorrect message timestamps in recordings
  • Fixed wrong message order in some recordings
  • Fixed the image URL resolver
  • Fixed the display of console logs and errors in Assist
  • Minor fixes everywhere

v1.9.0

1 year ago

TL;DR: Check the new features and improvements in the v1.9.0 blog post.

:rocket: Features

  • (Notes) Introducing Notes for annotating session recordings and sharing feedback
  • (Bug Report) Make a bug report based on session replay insights and share it with your team

:muscle: Improvements

  • (Replayer) Support of FontFace() and focus events
  • (DevTools) Fetch and Axios requests are now displayed under the Network > Fetch/XHR tab
  • (DevTools) Merged Exceptions with the Console > Errors tab
  • (DevTools) Redesigned some tabs and simplified common interactions
  • (DevTools) Reviewed the synchronization logic with the replayer
  • (DevTools) Data is now stored in a separate file and fetched async for faster time-to-replay
  • (DevTools) Added a diff view in state management tab (Redux, VueX, Pinia, Zustand and MobX)
  • (Assist) AddedĀ serverURL option for supporting custom ports in websockets
  • (Backend) Improved the way we merge and count captured JS errors
  • (Backend) Added a cache layer for sink to help with rewriting assets
  • (Backend) Support of graceful shutdown in all services
  • (Backend) Fully reviewed the message processing layer
  • (Backend) Support for Redis credentials and TLS connections (#670)
  • (Tracker) Implemented server time synchronization on start
  • (Tracker) Ability to attach tags to a reported error when calling the handleError method
  • (Plugins) Added agentā€™s details to the onAgentConnect, onCallStart and onRemoteControlStart callbacks of tracker-assist
  • (DevOps) Refactored and extracted sourcemapreader code into a new backend service
  • (DevOps) Run containers with a non-root user
  • (DevOps) Ability to customize installation namespaces
  • (DevOps) Allow storing credentials in secrets rather than env config (#669)
  • (UI/UX) Redesigned the navigation menu
  • (EE) Implemented encryption (AES-CBC) for session replay files
  • (EE) Enhanced session replay and devtools permissions
  • (EE) Enable Kerberos auth for Kafka (#807)
  • Security enhancements

:bug: Bug Fixes

  • Fixed a bug in Assist where jumping from past to live activity might not work
  • Fixed an issue where assets couldnā€™t be downloaded and cached (403)
  • Better handling of broken messages to avoid memory leaks
  • Handle wrongly formatted credentials in GitHub connector
  • Fixed the black screen bug when disabling the camera in a webRTC call
  • Fixed camera size issues in a webRTC call
  • Fixed a regression happening with iFrames and localStorage (#637)
  • Fixed remoteControl end function not being called on agent disconnect
  • Fixed random websocket connection crash in live sessions
  • Fixed a frontend crash due to large number of console events
  • Fixed a scroll issue in replay when app is using ShadowDOM
  • Fixed an issue with performance.now() in tracker leading to very long sessions
  • Fixed verbose CLI option in sourcmaps uploader (#808)
  • Fixed a bug where favourite sessions wouldnā€™t show up (EE)
  • Assist plugin failing to use the specified port (#745)
  • Missing styles from FluentUI (#750)
  • Fixed a timeout issue with querying funnels
  • Some Windows/Chrome users couldnā€™t scroll the list of filters in OmniSearch
  • Fixed and issue with auto-play with support of sessions pagination
  • Minor bug fixes here and there

v1.8.1

1 year ago

:rocket: Features

  • (Plugins) Added Pinia and Zustand state managers support
  • (Replayer) Support of Dynamic CSS

:muscle: Improvements

  • (Tracker) Simplified the existing sanitization options down to 2 attributes: data-openreplay-obscured and data-openreplay-hidden
  • (Tracker) Added domSanitizer function for sanitizing nodes in replays based on custom rules (#697)
  • (Assist) Show agent cursor during a remote control session
  • (Assist) Ability for end user to stop remote control
  • (Assist) Redesigned timeline for playing back past activity
  • Security enhancements

:bug: Bug Fixes

  • Fixed an issue in tracker resulting in blank replays
  • Fixed some overlapping in DevTools
  • X-Ray wasn't showing missing images in network
  • Slightly improved the performance graph in X-Ray
  • Frontend would crash when clicking on an custom event
  • Cannot add a new Role in Preferences
  • Fixed a regression when replaying iFrames and its events
  • sessionHash wasn't properly processed in tracker.start()
  • Skip corrupt and unknown batches in backend services
  • Better handling of RangeError in peers service
  • Context may be missing when requesting sourcemaps
  • Changed periodicity of cleanup cron
  • Show nodes count in DevTools when performance is not tracked
  • Fixed load when tracking sessions in Firefox
  • Set seek pointer at the end of message batch for avoiding memory leaks
  • Fixed PoolError in report-crons (EE)
  • Network activity couldn't be retrieved in DevTools (EE)
  • Minor bug fixes here and there