Releases: getsentry/sentry-react-native
5.15.1
5.16.0-alpha.1
Features
-
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 });
- And
Sentry.init
inApp.js
import * as Sentry from '@sentry/react-native'; Sentry.init({ dsn: '__DSN__', });
- And
-
Update
sentry-xcode.sh
scripts with Node modules resolution (#3450)- RN SDK and Sentry CLI are dynamically resolved if override is not supplied
Fixes
- Transform shipped JSX for both react-native and web (#3428)
- Removes builds errors when using react-native-web with Webpack
5.15.0
Features
-
New simplified Sentry Metro Serializer export (#3450)
const { createSentryMetroSerializer } = require('@sentry/react-native/metro');
Fixes
- Encode envelopes using Base64, fix array length limit when transferring over Bridge. (#2852)
- This fix requires a rebuild of the native app
- Symbolicate message and non-Error stacktraces locally in debug mode (#3420)
- Remove Sentry SDK frames from rejected promise SyntheticError stack (#3423)
- Fix path from Xcode scripts to Collect Modules (#3451)
Dependencies
5.14.1
5.14.0
Features
- Add iOS profiles to React Native Profiling (#3349)
Fixes
- Conditionally use Set or CountingSet in Sentry Metro plugin (#3409)
- This makes sentryMetroSerializer compatible with Metro 0.66.2 and newer
- Fix SIGSEV, SIGABRT and SIGBUS crashes happening after/around the August Google Play System update, see #2955 for more details
Dependencies
5.13.1-beta.1
5.13.0
Features
-
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)
Fixes
- Remove
platform: node
from Debug Builds Events (#3377)
Dependencies
5.12.0
5.11.1
5.11.0
Features
-
Add
buildFeatures.buildConfig=true
to support AGP 8 (#3298) -
Add Debug IDs support (#3164)
This is optional. 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: {customSerializer: createSentryMetroSerializer()}};
On iOS update
Bundle React Native Code and Images
andUpload 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 ../node_modules/@sentry/react-native/scripts/sentry-xcode.sh $REACT_NATIVE_XCODE\""
/bin/sh ../node_modules/@sentry/react-native/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 yourandroid/app/build.gradle
.apply from: "../../node_modules/@sentry/react-native/sentry.gradle" sentry { autoUploadProguardMapping = shouldSentryAutoUpload() uploadNativeSymbols = shouldSentryAutoUpload() }
How to use in Xcode? Make sure you are using
scripts/sentry-xcode.sh
andscripts/sentry-xcode-debug-files.sh
in your
build phases. And add the following to yourios/.xcode.env.local
file.export SENTRY_DISABLE_AUTO_UPLOAD=true
Fixes
- App start time span no longer created if too long (#3299)
- Change log output to show what paths are considered when collecting modules (#3316)
Sentry.wrap
doesn't enforce any keys on the wrapped component props (#3332)- Ignore defaults when warning about duplicate definition of trace propagation targets (#3327)
- Screenshots are not taken when the SDK is disabled (#3333)
- Use deprecated
ReactNativeTracingOptions.tracingOrigins
if set in the options (#3331) - Cancel auto instrumentation transaction when app goes to background (#3307)