Warning
iOS native crashes now set mechanism.synthetic, taking the mach/signal name out of the grouping hash. Expect a one-time regrouping as your app adopts this version.
Features
-
Add Session Replay runtime controls to start, stop, and manage recording manually (#6703)
-
Use
Sentry.getReplay()to access the active replay and control it at runtime with the same API on iOS, Android, and Web:const replay = Sentry.getReplay(); replay?.start(); // start recording a session replay replay?.startBuffering(); // start recording in buffering mode replay?.stop(); // stop recording replay?.pause(); // pause recording (no-op on Web) replay?.resume(); // resume a paused recording (no-op on Web) replay?.flush(); // flush the buffered replay to Sentry
-
-
Add per-class Session Replay masking via
maskedViewClasses/unmaskedViewClassesonmobileReplayIntegration(#6725) -
Add experimental
avoidForegroundResumeHang(iOS) tomobileReplayIntegrationto work around a fatal App Hang that can occur when Session Replay resumes capture on returning to the foreground with a heavy view hierarchy on screen (#6727)
Fixes
- Prevent a fatal
JavaCallback was already settledcrash fromgetNewScreenTimeToDisplayunder rapid navigation on Android (#6722) - Mask React Native
<Image>in Session Replay on the iOS New Architecture whenmaskAllImagesis enabled (#6726) - Background root spans (app-start, expo-updates) no longer overwrite the native propagation context of an active navigation trace (#6720)
- Honor the host app's pinned
ndkVersionon Android instead of letting AGP download its own default NDK for the module's native code (#6724)