Releases: getsentry/sentry-react-native
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)
Dependencies
5.10.0
5.9.2
5.9.1
5.9.0
Important Note
Do not use this version if you use CocoaPods with use_frameworks!
option. It introduces a bug where the project won't compile.
This has been fixed in version 5.9.1
.
Features
-
Add support for React Native mixed stacktraces (#3201)
In the current
react-native@nightly
(0.73.0-nightly-20230809-cb60e5c67
) JS errors from native modules can
contain native JVM or Objective-C exception stack trace. Both JS and native stack trace
are processed by default no configuration needed. -
Add
tracePropagationTargets
option (#3230)This release adds support for distributed tracing
without requiring performance monitoring to be active on the React Native SDK.
This means even if there is no sampled transaction/span, the SDK will still propagate traces to downstream services.
Distributed Tracing can be configured with thetracePropagationTargets
option,
which controls what requests to attach thesentry-trace
andbaggage
HTTP headers to (which is what propagates tracing information).Sentry.init({ tracePropagationTargets: ["third-party-site.com", /^https:\/\/yourserver\.io\/api/], });
Fixes
Sentry.init
must be called beforeSentry.wrap
(#3227)- The SDK now shows warning if incorrect order is detected
- Stall Time is no longer counted when App is in Background. (#3211)
- Use application variant instead of variant output to hook to correct package task for modules cleanup (#3161)
- Fix
isNativeAvailable
after SDK reinitialization (#3200)