@sentry/react-native
Advanced tools
Changelog
5.16.0-alpha.1
Add @sentry/react-native/expo
Expo config plugin (#3429)
This Release introduces the first alpha version of our new SDK for Expo. At this time, the SDK is considered experimental and things might break and change in future versions.
The core of the SDK is Expo plugin which you can easily add to your App config:
const { withSentry } = require('@sentry/react-native/expo');
const config = {...};
module.exports = withSentry(config, {
url: 'https://www.sentry.io/',
authToken: 'example-token', // Or use SENTRY_AUTH_TOKEN env
project: 'project-slug', // Or use SENTRY_PROJECT env
organization: 'org-slug', // Or use SENTRY_ORG env
});
Sentry.init
in App.js
import * as Sentry from '@sentry/react-native';
Sentry.init({
dsn: '__DSN__',
});
Update sentry-xcode.sh
scripts with Node modules resolution (#3450)
Changelog
5.15.0
New simplified Sentry Metro Serializer export (#3450)
const { createSentryMetroSerializer } = require('@sentry/react-native/metro');
Changelog
5.14.0
Changelog
5.13.0
Export New JS Performance API (#3371)
// Start a span that tracks the duration of expensiveFunction
const result = Sentry.startSpan({ name: 'important function' }, () => {
return expensiveFunction();
});
Read more at https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md#7690
Report current screen in contexts.app.view_names
(#3339)
platform: node
from Debug Builds Events (#3377)Changelog
5.11.0
Add buildFeatures.buildConfig=true
to support AGP 8 (#3298)
Add Debug ID support (#3164)
This is optional to use Debug IDs. Your current setup will keep working as is.
Add Sentry Metro Serializer to metro.config.js
to generate Debug ID for the application bundle and source map.
const {createSentryMetroSerializer} = require('@sentry/react-native/dist/js/tools/sentryMetroSerializer');
const config = {serializer: createSentryMetroSerializer()};
On iOS update Bundle React Native Code and Images
and Upload Debug Symbols to Sentry
build phases.
set -e
WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
/bin/sh -c "$WITH_ENVIRONMENT \"/bin/sh ../scripts/sentry-xcode.sh $REACT_NATIVE_XCODE\""
/bin/sh ../../scripts/sentry-xcode-debug-files.sh
More information about the new setup can be found here.
Add SENTRY_DISABLE_AUTO_UPLOAD
flag (#3323)
How to use in Android project? It works by default, just set export SENTRY_DISABLE_AUTO_UPLOAD=true
in your build environment. For Sentry Android Gradle Plugin add the following to your android/app/build.gradle
.
apply from: "../../../sentry.gradle"
sentry {
autoUploadProguardMapping = shouldSentryAutoUpload()
uploadNativeSymbols = shouldSentryAutoUpload()
}
How to use in Xcode? Make sure you are using scripts/sentry-xcode.sh
and scripts/sentry-xcode-debug-files.sh
in your
build phases. And add the following to your ios/.xcode.env.local
file.
export SENTRY_DISABLE_AUTO_UPLOAD=true
Sentry.wrap
doesn't enforce any keys on the wrapped component props (#3332)ReactNativeTracingOptions.tracingOrigins
if set in the options (#3331)