Skip to content

v0.8.1

Choose a tag to compare

@aurimasmi aurimasmi released this 10 Sep 06:11
· 52 commits to main since this release

Release 0.8.1 is a stability and compatibility release. Native replay no longer crashes on iPad when a layer holds an opaque backing object, Android replay records normally on screens that mount hidden background WebViews, and the web and React SDKs now handle older TV browsers — fewer stalls during recording, correct screenshots on apps with hidden scrollbars, and successful report preparation on runtimes missing modern browser APIs. On the dashboard side, the retired native view-tree recorder's image-asset settings are gone and the remaining video replay setting is now correctly labelled as applying to both iOS and Android.

SDKs

iOS / tvOS

  • Fixed a crash inside replay snapshot collection that could bring down the host app when a layer's contents were an opaque backing object rather than an image. Snapshot diagnostics now record only the runtime type name for unsupported contents; image classification, fallback rendering and privacy behaviour are unchanged.

Android

  • Native replay no longer records zero frames when a screen keeps an always-mounted background WebView (for example a hidden 1×1 measurement view). WebViews that are proven hidden — GONE, fully transparent, or fully clipped — no longer block capture, and visibility is rechecked at each capture boundary so a view that becomes visible or moves into an overlay cannot slip past the checks. Visible and partially transparent WebViews, explicitly marked sensitive views, inputs, surfaces and uncertain animation or overlay cases remain excluded from capture.

Web and React

  • Large reductions in recording overhead on constrained TV browsers. Replay buffer accounting no longer re-serialises the buffer repeatedly, deep DOM snapshots use a bounded fallback instead of tripping the size cap, and snapshot work is cheaper overall. On an LG TV running Chrome 53, buffer accounting work fell by roughly 64%, sampled full-snapshot work by roughly 29%, and worst observed frame gaps dropped from about 1.0–1.1 s to about 0.8 s. These are small on-device experiments, not guarantees.
  • Screenshots now preserve an app's own scrollbar styling instead of reintroducing native scrollbars, so previews look like the real screen.
  • Compatibility fixes for older runtimes that previously produced grey screenshot previews or failed report preparation: Blob bytes are read via FileReader when arrayBuffer is unavailable, DOM cloning and matrix/transform handling fall back to legacy-safe paths, hashing no longer requires BigInt, and schema validation correctly detects when its optimised parser is unsupported.
  • Time pruning keeps working after an incomplete checkout while preserving the only playable anchor, so replays remain playable.

Service and dashboard

  • The Replay images card has been removed from app settings, along with its configuration end to end. It controlled the retired native view-tree recorder and no longer had any effect.
  • The remaining frame-rate control is now labelled Native video replay (iOS and Android); it always applied to both platforms, but the old wording described it as iOS-only.

For developers

  • Removed configuration: replay image assets. The image-asset settings for the retired native view-tree recorder are gone from the dashboard, the hosted API, and the shared, Android and iOS SDK configuration models, including the related public exports. If you referenced these options in your integration code, remove them. SDK versions that still request an image override receive none and fall back to their built-in defaults, so no action is required to keep older builds working.
  • No schema removal in this release. The now-unused replay-image column remains physically present so that the previous API version keeps working during migrate-before-restart deployments and after a rollback. Nothing in current code reads or writes it.
  • Native video replay is unchanged. The shared frame-rate setting continues to apply to both iOS and Android; only the label changed.
  • Bundled browser patches. The web and React SDKs now ship the patched versions of their recording dependencies together with the corresponding dependency notices. Capture and replay code remains lazily loaded, so this does not change your initial bundle cost.