Releases: getsentry/sentry-react-native
5.16.0-alpha.1
Features
-
Add
@sentry/react-native/expoExpo 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.initinApp.js
import * as Sentry from '@sentry/react-native'; Sentry.init({ dsn: '__DSN__', });
- And
-
Update
sentry-xcode.shscripts 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: nodefrom Debug Builds Events (#3377)
Dependencies
5.12.0
5.11.1
5.11.0
Features
-
Add
buildFeatures.buildConfig=trueto 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.jsto 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 ImagesandUpload Debug Symbols to Sentrybuild 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_UPLOADflag (#3323)How to use in Android project? It works by default, just set
export SENTRY_DISABLE_AUTO_UPLOAD=truein 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.shandscripts/sentry-xcode-debug-files.shin your
build phases. And add the following to yourios/.xcode.env.localfile.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.wrapdoesn'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.tracingOriginsif set in the options (#3331) - Cancel auto instrumentation transaction when app goes to background (#3307)