Releases: getsentry/sentry-react-native
Release list
8.18.0
Features
- Add experimental
extendAppStart/finishExtendedAppStart/getExtendedAppStartSpanto extend the standalone app start window and instrument post-init work (#6392)
Changes
-
Consume
sentry-cocoaas a prebuilt xcframework by default on iOS (#6413)Warning
This may be a breaking change for some setups.
pod installnow downloadsSentry.xcframeworkfrom sentry-cocoa's GitHub release (SHA256-verified) and vendors it, instead of building Sentry from source as a CocoaPod. If your iOS build breaks after upgrading (e.g. when another pod also depends on theSentryCocoaPod), or if yourpod installenvironment cannot reachgithub.com, setSENTRY_USE_XCFRAMEWORK=0beforepod installto restore the previous source-build behavior.
Fixes
- Skip iOS source maps upload on
Debugbuilds (#6405)
Dependencies
8.18.0-alpha.3
Changes
-
Consume
sentry-cocoaas a prebuilt xcframework by default on iOS (#6381)Warning
This may be a breaking change for some setups.
pod installnow downloadsSentry.xcframeworkfrom sentry-cocoa's GitHub release (SHA256-verified) and vendors it, instead of building Sentry from source as a CocoaPod. If your iOS build breaks after upgrading (e.g. when another pod also depends on theSentryCocoaPod), or if yourpod installenvironment cannot reachgithub.com, setSENTRY_USE_XCFRAMEWORK=0beforepod installto restore the previous source-build behavior.
8.18.0-alpha.2
Changes
-
Consume
sentry-cocoaas a prebuilt xcframework by default on iOS (#6381)Warning
This may be a breaking change for some setups.
pod installnow downloadsSentry.xcframeworkfrom sentry-cocoa's GitHub release (SHA256-verified) and vendors it, instead of building Sentry from source as a CocoaPod. If your iOS build breaks after upgrading (e.g. when another pod also depends on theSentryCocoaPod), or if yourpod installenvironment cannot reachgithub.com, setSENTRY_USE_XCFRAMEWORK=0beforepod installto restore the previous source-build behavior.
8.18.0-alpha
Fixes
- Fix Android New Architecture build failing at CMake configure on React Native 0.75 by gating the
libsentry-tm-perf-logger.sonative build to RN 0.76+ (#6407)
8.17.2
Fixes
- Fix Android New Architecture build failing to link
libsentry-tm-perf-logger.sowith an undefinedTurboModulePerfLogger::enableLoggingsymbol on some setups (e.g. armeabi-v7a) (#6406) - Fix Android New Architecture build failing at CMake configure on React Native 0.75 by gating the
libsentry-tm-perf-logger.sonative build to RN 0.76+ (#6407)
8.17.1
Warning
sentry-react-native 8.17.1 can fail to build libsentry-tm-perf-logger.so (subset-ABI builds such as armeabi-v7a/Expo, and React Native 0.75) (#6398). Please use 8.17.2.
Fixes
- Force 16 KB ELF alignment for
libsentry-tm-perf-logger.soso it does not break 16 KB page size compatibility on Android 15+ (#6396)
8.17.0
Warning
sentry-react-native 8.17.0 bundle a native library (libsentry-tm-perf-logger.so) that is not 16 KB page aligned, which breaks 16 KB page size compatibility on Android 15+ (and fails Google Play's 16 KB requirement). See #6394.
Please use 8.17.1.
Features
-
Add experimental
enableStandaloneAppStartTracingto send app start as a standaloneapp.starttransaction (#6359) -
Set
app.vitals.start.screenon the standaloneapp.starttransaction from the current route (#6369) -
Expose top-level
Sentry.setAttributeandSentry.setAttributesAPIs (#6354). -
Add
enableTurboModuleTrackingopt-in experimental option to enable Turbo Module performance tracking in the New Architecture (#6307) -
Use the runtime's native
btoafor envelope base64 encoding when available, to improvecaptureEnvelopeperformance. Falls back to the bundled JS encoder ifbtoais missing (#6351). -
Opt-in build-time auto-wrap for Expo Router's per-route
ErrorBoundary(#6347)Enable
autoWrapExpoRouterErrorBoundary: trueingetSentryExpoConfig(orwithSentryConfig) and the Sentry Babel plugin rewritesexport { ErrorBoundary } from 'expo-router'into awrapExpoRouterErrorBoundarycall at build time — no route-file edits needed:// metro.config.js module.exports = getSentryExpoConfig(__dirname, { autoWrapExpoRouterErrorBoundary: true, });
Changes
- Default
mobileReplayIntegration({ networkCaptureBodies })totrue, matching the iOS and Android native SDK defaults (#6372)
Fixes
- Forward Session Replay network detail options to the native SDKs so network request and response bodies are displayed (#6373)
- The Sentry Babel transformer no longer injects
@sentry/babel-plugin-component-annotateunlessannotateReactComponentsis explicitly enabled (#6347)
Dependencies
8.16.0
Features
-
Capture errors that hit Expo Router's per-route
ErrorBoundary(#6318)Wrap the boundary with
Sentry.wrapExpoRouterErrorBoundaryin your route file:// app/_layout.tsx import { ErrorBoundary as ExpoErrorBoundary } from 'expo-router'; import * as Sentry from '@sentry/react-native'; export const ErrorBoundary = Sentry.wrapExpoRouterErrorBoundary(ExpoErrorBoundary);
Render-phase errors that reach the boundary are captured with route context (
route.name,route.path,route.params), the in-flight navigation transaction is tagged as errored, and a breadcrumb is emitted. Concrete paths and params are gated behindsendDefaultPii.
Fixes
- Fix fatal
NSInvalidArgumentExceptioncrash inRNSentryReplayBreadcrumbConverterwhen a touch breadcrumb path contains a non-dictionary element (#6346) - Apply
SENTRY_ENVIRONMENT,SENTRY_RELEASEandSENTRY_DISTbuild-time overrides to the JS bundled options to match the native SDKs (#6330) - Fix user
geobeing dropped from the native scope by forwarding it as a structured object instead of a JSON string (#6309) - Remove unused
React/RCTTextView.himport that broke iOS builds on React Native 0.87, where the header was removed as part of the legacy architecture cleanup (#6322)
Internal
- Hide the
dataCollectionoption until it is fully supported in React Native. It is exposed by@sentry/corebut is not yet honored by the native SDKs (iOS/Android) nor by the RN-specificsendDefaultPiigates, so setting it would silently have no effect. UsesendDefaultPiiinstead. (#6345)
Dependencies
8.14.1
8.15.1
Fixes
- Fix Android Gradle source map upload being silently skipped on some occasions (#6320)