Features
- Multi-instance
<TimeToInitialDisplay>/<TimeToFullDisplay>coordination (#6090)- New
readyprop. When a screen has multiple async data sources, mount one<TimeToFullDisplay ready={...} />per source — TTID/TTFD is recorded only when every instance reportsready === true. - The existing
recordprop is unchanged BUT it is now deprecated in favor ofready.
- New
- Extract text content from children of touched components as a label fallback for touch breadcrumbs (#6106)
- Auto-inject
sentry-labelfrom static text content at build time whenannotateReactComponentsis enabled (#6141) - Respect Replay Mask boundaries when reading
sentry-labelfor touch breadcrumbs (#6142) - Add
textComponentNamesoption toannotateReactComponentsfor custom text components (#6169) - Add first-class
expoRouterIntegration()with auto-registration (#6189) - Expose
addConsoleInstrumentationFilterfrom@sentry/core(#6180) - Expose experimental
captureSurfaceViewsoption for Android Session Replay (#6175) - Add OTA SDK version to native
sdk.packageswhen JS bundle version differs from built-in version (#6191)
Fixes
- Deduplicate native HTTP breadcrumbs that duplicate JS XHR/fetch breadcrumbs (#6132)
- Fix duplicate JS error reporting on iOS New Architecture when the native SDK is initialized early via
sentry.options.json("Capture App Start Errors"). It's done by applying theExceptionsManager.reportExceptionC++ wrapper filter in both init paths (#6145) - Fix boolean options from
sentry.options.jsonbeing ignored on Android when usingRNSentrySDK.init(#6130) - Fix
includeWebFeedback: falseMetro config option causing crash at startup (#6150) - Fix
sentry-expo-upload-sourcemapsfailing for projects withdevEngines.packageManagerset to non-npm managers (#6155) - Fix Metro serializer wrapper breaking
getModulesRunBeforeMainModulefor third-party plugins likereact-native-workletsbundleMode(#6188)