Releases: getsentry/sentry-react-native
6.11.0-beta.0
Features
-
Add
createTimeToInitialDisplay({useFocusEffect})andcreateTimeToFullDisplay({useFocusEffect})to allow record full display on screen focus (#4665) -
Add support for measuring Time to Initial Display for already seen routes (#4661)
- Introduce
enableTimeToInitialDisplayForPreloadedRoutesoption to the React Navigation integration.
Sentry.reactNavigationIntegration({ enableTimeToInitialDisplayForPreloadedRoutes: true, });
- Introduce
-
Add
useDispatchedActionDataoption to the React Navigation integration to filter out navigation actions that should not create spans (#4684)- For example
PRELOAD,SET_PARAMS,TOGGLE_DRAWERand others.
Sentry.reactNavigationIntegration({ useDispatchedActionData: true, });
- For example
Fixes
- Equalize TTID and TTFD duration when TTFD manual API is called and resolved before auto TTID (#4680)
- Avoid loading Sentry native components in Expo Go (#4696)
Changes
- Change
gradle.projectsEvaluatedtoproject.afterEvaluatein the Sentry Gradle Plugin to fix tasks not being created when using--configure-on-demand(#4687) - Remove
SENTRY_FORCE_FOREGROUNDfrom Xcode Scripts as the underlying--force-foregroundSentry CLI is no-op since v2.37.0 (#4689) - TTID and TTFD use native getters instead od events to pass timestamps to the JS layer (#4669, #4681)
6.10.0 (Stable)
Features
-
Add thread information to spans (#4579)
-
Exposed
getDataFromUrias a public API to retrieve data from a URI (#4638) -
Add
enableExperimentalViewRendererto enable up to 5x times more performance in Session Replay on iOS (#4660)import * as Sentry from '@sentry/react-native'; Sentry.init({ integrations: [ Sentry.mobileReplayIntegration({ enableExperimentalViewRenderer: true, }), ], });
Fixes
- Considers the
SENTRY_DISABLE_AUTO_UPLOADandSENTRY_DISABLE_NATIVE_DEBUG_UPLOADenvironment variables in the configuration of the Sentry Android Gradle Plugin for Expo plugin (#4583) - Handle non-string category in getCurrentScreen on iOS (#4629)
- Use route name instead of route key for current route tracking (#4650)
- Using key caused user interaction transaction names to contain route hash in the name.
Dependencies
6.9.1
6.9.0
Warning
This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
See issue #4598 for more details.
Features
-
User Feedback Widget Beta (#4435)
To collect user feedback from inside your application call
Sentry.showFeedbackWidget().import Sentry from "@sentry/react-native"; Sentry.showFeedbackWidget(); Sentry.wrap(RootComponent);
To change the default options add
Sentry.feedbackIntegration().import Sentry from "@sentry/react-native"; import * as ImagePicker from 'expo-image-picker'; Sentry.init({ integrations: [ Sentry.feedbackIntegration({ imagePicker: ImagePicker, showName: true, showEmail: true, }), ], });
To learn more about the available configuration options visit the documentation.
6.8.0
Warning
This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
See issue #4598 for more details.
Features
-
Adds Sentry Android Gradle Plugin as an experimental Expo plugin feature (#4440)
To enable the plugin add the
enableAndroidGradlePluginin the@sentry/react-native/expoof the Expo application configuration."plugins": [ [ "@sentry/react-native/expo", { "experimental_android": { "enableAndroidGradlePlugin": true, } } ],
To learn more about the available configuration options visit the documentation.
Fixes
- Remove
error:prefix fromcollect-modules.shto avoid failing iOS builds (#4570) - Sentry Module Collection Script Fails with Spaces in Node Path on iOS (#4559)
- Various crashes and issues of Session Replay on Android. See the Android SDK version bump for more details. (#4529)
Sentry.setUser(null)doesn't crash on iOS with RN 0.77.1 (#4567)- Avoid importing
tslibin Sentry Metro Plugin (#4573)
Dependencies
6.7.0
Warning
This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
See issue #4598 for more details.
Features
-
Add
ignoredComponentsoption toannotateReactComponentsto exclude specific components from React component annotations (#4517)// metro.config.js // for React Native const config = withSentryConfig(mergedConfig, { annotateReactComponents: { ignoredComponents: ['MyCustomComponent'] } }); // for Expo const config = getSentryExpoConfig(__dirname, { annotateReactComponents: { ignoredComponents: ['MyCustomComponent'], }, });
Dependencies
6.7.0-alpha.0
Features
-
Capture App Start errors and crashes by initializing Sentry from
sentry.options.json(#4472)Create
sentry.options.jsonin the React Native project root and set options the same as you currently have inSentry.initin JS.{ "dsn": "https://[email protected]/value", }Initialize Sentry on the native layers by newly provided native methods.
import io.sentry.react.RNSentrySDK class MainApplication : Application(), ReactApplication { override fun onCreate() { super.onCreate() RNSentrySDK.init(this) } }
#import <RNSentry/RNSentry.h> @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [RNSentrySDK start]; return [super application:application didFinishLaunchingWithOptions:launchOptions]; } @end
Changes
- Load
optionsFileinto the JS bundle during Metro bundle process (#4476) - Add experimental version of
startWithConfigureOptionsfor Apple platforms (#4444) - Add experimental version of
initwith optionalOptionsConfiguration<SentryAndroidOptions>for Android (#4451) - Add initialization using
sentry.options.jsonfor Apple platforms (#4447) - Add initialization using
sentry.options.jsonfor Android (#4451) - Merge options from file with
Sentry.initoptions in JS (#4510)
Internal
- Extract iOS native initialization to standalone structures (#4442)
- Extract Android native initialization to standalone structures (#4445)
Dependencies
6.6.0
Warning
This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
See issue #4598 for more details.
Features
- Send Sentry React Native SDK version in the Session Replay Events on iOS (#4450)
Fixes
- Add mechanism field to unhandled rejection errors (#4457)
- Use proper SDK name for Session Replay tags (#4428)
- Use
makeDsnfromcoreto extract the URL from DSN avoiding unimplementedURL.protocolerrors (#4395)
Changes
- Rename
navigation.processingspan to more expressiveNavigation dispatch to screen A mounted/navigation cancelled(#4423) - Add RN SDK package to
sdk.packagesfor Cocoa (#4381)
Internal
- Initialize
RNSentryTimeToDisplayduring native moduleiniton iOS (#4443)
Dependencies
6.5.0
Warning
This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
See issue #4598 for more details.
Features
-
Mobile Session Replay is now generally available and ready for production use (#4384)
To learn about privacy, custom masking or performance overhead visit the documentation.
import * as Sentry from '@sentry/react-native'; Sentry.init({ replaysSessionSampleRate: 1.0, replaysOnErrorSampleRate: 1.0, integrations: [ Sentry.mobileReplayIntegration({ maskAllImages: true, maskAllVectors: true, maskAllText: true, }), ], });
-
Adds new
captureFeedbackand deprecates thecaptureUserFeedbackAPI (#4320)import * as Sentry from "@sentry/react-native"; const eventId = Sentry.lastEventId(); Sentry.captureFeedback({ name: "John Doe", email: "[email protected]", message: "Hello World!", associatedEventId: eventId, // optional });
To learn how to attach context data to the feedback visit the documentation.
-
Export
Spantype from@sentry/types(#4345) -
Add RN SDK package to
sdk.packageson Android (#4380)
Fixes
- Return
lastEventIdexport from@sentry/core(#4315) - Don't log file not found errors when loading envs in
sentry-expo-upload-sourcemaps(#4332) - Navigation Span should have no parent by default (#4326)
- Disable HTTP Client Errors on iOS (#4347)
Changes
- Falsy values of
options.environment(empty string, undefined...) default toproduction - Deprecated
_experiments.replaysSessionSampleRateand_experiments.replaysOnErrorSampleRateusereplaysSessionSampleRateandreplaysOnErrorSampleRate(#4384)
Dependencies
6.5.0-beta.1
Features
-
Adds new
captureFeedbackand deprecates thecaptureUserFeedbackAPI (#4320)import * as Sentry from "@sentry/react-native"; const eventId = Sentry.lastEventId(); Sentry.captureFeedback({ name: "John Doe", email: "[email protected]", message: "Hello World!", associatedEventId: eventId, // optional }, { captureContext: { tags: { "tag-key": "tag-value" }, }, attachments: [ { filename: 'hello.txt', data: 'Hello, World!', }, ], });
Fixes
- Return
lastEventIdexport from@sentry/core(#4315) - Don't log file not found errors when loading envs in
sentry-expo-upload-sourcemaps(#4332) - Navigation Span should have no parent by default (#4326)