Releases: getsentry/sentry-react-native
5.22.1
5.23.0-alpha.0
Features
-
Mobile Session Replay Alpha (#3714)
To enable Replay for React Native on mobile and web add the following options.
Sentry.init({ _experiments: { replaysSessionSampleRate: 1.0, replaysOnErrorSampleRate: 1.0, }, });
To change the default Mobile Replay options add the
mobileReplayIntegration
.Sentry.init({ _experiments: { replaysSessionSampleRate: 1.0, replaysOnErrorSampleRate: 1.0, }, integration: [ Sentry.mobileReplayIntegration({ maskAllText: true, maskAllImages: true, }), ], });
Access is limited to early access orgs on Sentry. If you're interested, sign up for the waitlist
Dependencies
- Bump Cocoa SDK to 8.25.0-alpha.0
- Bump Android SDK to 7.9.0-alpha.1
5.22.0
Features
- Updated metric normalization from
@sentry/core
(#11519) - Metric rate limiting from
sentry-cocoa
andsentry-android
Dependencies
5.21.0
Features
- Add
getDefaultConfig
option togetSentryExpoConfig
(#3690) - Add
beforeScreenshot
option toReactNativeOptions
(#3715)
Fixes
- Do not enable NativeFramesTracking when native is not available (#3705)
- Do not initialize the SDK during
expo-router
static routes generation (#3730) - Cancel spans in background doesn't crash in environments without AppState (#3727)
- Fix missing Stall measurements when using new
.end()
span API (#3737) - Change TimeToDisplay unsupported log from error to warning level. (#3699)
Dependencies
5.20.0
Features
-
Automatic tracing of time to initial display for
react-navigation
(#3588)When enabled the instrumentation will create TTID spans and measurements.
The TTID timestamp represent moment when thereact-navigation
screen
was rendered by the native code.const routingInstrumentation = new Sentry.ReactNavigationInstrumentation({ enableTimeToInitialDisplay: true, }); Sentry.init({ integrations: [new Sentry.ReactNativeTracing({routingInstrumentation})], });
-
Tracing of full display using manual API (#3654)
In combination with the
react-navigation
automatic instrumentation you can record when
the application screen is fully rendered.For more examples and manual time to initial display see the documentation.
function Example() { const [loaded] = React.useState(false); return <View> <Sentry.TimeToFullDisplay record={loaded}> <Text>Example content</Text> </Sentry.TimeToFullDisplay> </View>; }
Fixes
5.19.3
Fixes
- Multiple Debug IDs can be loaded into the global polyfill (#3660)
- This fixes a symbolication issue with Expo on the web with enabled bundle splitting.
Dependencies
5.19.2
Fixes
- expo-upload-sourcemaps now works on Windows (#3643)
- Option
enabled: false
ensures no events are sent (#3606) - Ignore JSON response when retrieving source context from local Expo Dev Server (#3611)
- Upload native debug files only for non-debug builds (#3649)
TurboModuleRegistry
should not be imported in web applications (#3610)
Dependencies
5.19.1
Fixes
- Don't add Expo Plugin option
authToken
to application bundle (#3630)- Expo plugin configurations are generally stored in plain text, and are also automatically added to built app bundles, and are therefore considered insecure.
- You should not set the auth token in the plugin config except for local testing. Instead, use the
SENTRY_AUTH_TOKEN
env variable, as pointed out in our docs. - In addition to showing a warning, we are now actively removing an
authToken
from the plugin config if it was set. - If you had set the auth token in the plugin config previously, and built and published an app with that config, you should rotate your token.
- Reduce waning messages spam when a property in Expo plugin configuration is missing (#3631)
- Add concrete error messages for RN bundle build phase patch (#3626)
5.19.0
This release contains upgrade of sentry-android
dependency to major version 7. There are no breaking changes in the JS API. If you are using the Android API please check the migration guide.
Features
-
Add Android profiles to React Native Profiling (#3397)
-
Add
Sentry.metrics
(#3590)To learn more, see the Set Up Metrics guide.
import * as Sentry from '@sentry/react-native'; Sentry.init({ dsn: '___DSN___', integrations: [ Sentry.metrics.metricsAggregatorIntegration(), ], }); Sentry.metrics.increment("button_click", 1, { tags: { system: "iOS", app_version: "1.0.0" }, });
Fixes
- Upload Debug Symbols Build Phase continues when
node
not found inWITH_ENVIRONMENT
(#3573) - Fix
proguardUuid
loading on Android (#3591)
Dependencies
5.18.0
Features
-
Add
@spotlightjs/spotlight
support (#3550)Download the
Spotlight
desktop application and add the integration to yourSentry.init
.import * as Sentry from '@sentry/react-native'; Sentry.init({ dsn: '___DSN___', enableSpotlight: __DEV__, });
-
Only upload Expo artifact if source map exists (#3568)
-
Read
.env
file insentry-expo-upload-sourcemaps
(#3571)