Releases: getsentry/sentry-react-native
5.19.0
This release contains upgrade of sentry-android
dependency to major version 7. There are no breaking changes in the JS API. If you are using the Android API please check the migration guide.
Features
-
Add Android profiles to React Native Profiling (#3397)
-
Add
Sentry.metrics
(#3590)To learn more, see the Set Up Metrics guide.
import * as Sentry from '@sentry/react-native'; Sentry.init({ dsn: '___DSN___', integrations: [ Sentry.metrics.metricsAggregatorIntegration(), ], }); Sentry.metrics.increment("button_click", 1, { tags: { system: "iOS", app_version: "1.0.0" }, });
Fixes
- Upload Debug Symbols Build Phase continues when
node
not found inWITH_ENVIRONMENT
(#3573) - Fix
proguardUuid
loading on Android (#3591)
Dependencies
5.18.0
Features
-
Add
@spotlightjs/spotlight
support (#3550)Download the
Spotlight
desktop application and add the integration to yourSentry.init
.import * as Sentry from '@sentry/react-native'; Sentry.init({ dsn: '___DSN___', enableSpotlight: __DEV__, });
-
Only upload Expo artifact if source map exists (#3568)
-
Read
.env
file insentry-expo-upload-sourcemaps
(#3571)
Fixes
5.17.0
Features
-
New Sentry Metro configuration function
withSentryConfig
(#3478)- Ensures all Sentry configuration is added to your Metro config
- Includes
createSentryMetroSerializer
- Collapses Sentry internal frames from the stack trace view in LogBox
const { getDefaultConfig } = require('@react-native/metro-config'); const { withSentryConfig } = require('@sentry/react-native/metro'); const config = getDefaultConfig(__dirname); module.exports = withSentryConfig(config);
-
Add experimental visionOS support (#3467)
- To set up
react-native-visionos
with the Sentry React Native SDK follow the standardiOS
guides. - Xcode project is located in
visionos
folder instead ofios
.
- To set up
Fixes
- Fix
WITH_ENVIRONMENT
overwrite insentry-xcode-debug-files.sh
(#3525) - Sentry CLI 2.25.1 fixes background debug files uploads during Xcode builds (#3486)
- Performance Tracing should be disabled by default (#3533)
- Use
$NODE_BINARY
to execute Sentry CLI in Xcode scripts (#3493) - Return auto Release and Dist to source maps auto upload (#3540)
Dependencies
5.16.0
This release ships with a beta version of our new built-in Expo SDK 50 support, which replaces the deprecated sentry-expo
package. To learn more, see the Expo guide.
Features
-
New
@sentry/react-native/expo
Expo config plugin (#3429)const { withSentry } = require('@sentry/react-native/expo'); const config = {...}; module.exports = withSentry(config, { url: 'https://sentry.io/', project: 'project-slug', // Or use SENTRY_PROJECT env organization: 'org-slug', // Or use SENTRY_ORG env });
export SENTRY_AUTH_TOKEN=__sentry_auth_token__
- And
Sentry.init
inApp.js
import * as Sentry from '@sentry/react-native'; Sentry.init({ dsn: '__DSN__', });
- And
-
New
getSentryExpoConfig
for simple Metro configuration (#3454, #3501, #3514)- This function is a drop in replacement for
getDefaultConfig
fromexpo/metro-config
// const { getDefaultConfig } = require("expo/metro-config"); const { getSentryExpoConfig } = require("@sentry/react-native/metro"); // const config = getDefaultConfig(__dirname); const config = getSentryExpoConfig(__dirname);
- This function is a drop in replacement for
-
New
npx sentry-expo-upload-sourcemaps
for simple EAS Update (npx expo export
) source maps upload (#3491, #3510, #3515, #3507)SENTRY_PROJECT=project-slug \ SENTRY_ORG=org-slug \ SENTRY_AUTH_TOKEN=super-secret-token \ npx sentry-expo-upload-sourcemaps dist
Others
- Update
sentry-xcode.sh
scripts with Node modules resolution (#3450)- RN SDK and Sentry CLI are dynamically resolved if override is not supplied
- Resolve Default Integrations based on current platform (#3465)
- Native Integrations are only added if Native Module is available
- Web Integrations only for React Native Web builds
- Remove Native Modules warning from platform where the absence is expected (#3466)
- Add Expo Context information using Expo Native Modules (#3466)
- Errors from InternalBytecode.js are no longer marked as in_app (#3518)
- Fix system node can't be overwritten in
sentry-xcode-debug-files.sh
(#3523)
5.16.0-alpha.4
5.16.0-alpha.3
This release is compatible with expo@50.0.0-preview.6
and newer.
Features
-
withSentryExpoSerializers
changes togetSentryExpoConfig
(#3501)getSentryExpoConfig
accepts the same parameters asgetDefaultConfig
fromexpo/metro-config
and returns Metro configuration- This also works for EAS Updates (and expo export). Debug ID is generated by
expo/metro-config
and used by Sentry.
const { getSentryExpoConfig } = require("@sentry/react-native/metro"); const config = getSentryExpoConfig(config, {});
-
Add
npx sentry-expo-upload-sourcemaps
for simple EAS Update (expo export) source maps upload to Sentry (#3491, #3510)SENTRY_PROJECT=project-slug \ SENTRY_ORG=org-slug \ SENTRY_AUTH_TOKEN=super-secret-token \ npx sentry-expo-upload-sourcemaps dist
-
Sentry CLI binary path in
scripts/expo-upload-sourcemaps.js
is resolved dynamically (#3507)- Or can be overwritten by
SENTRY_CLI_EXECUTABLE
env
- Or can be overwritten by
-
Resolve Default Integrations based on current platform (#3465)
- Native Integrations are only added if Native Module is available
- Web Integrations only for React Native Web builds
-
Remove Native Modules warning from platform where the absence is expected (#3466)
-
Add Expo Context information using Expo Native Modules (#3466)
Fixes
- Includes fixes from version 5.15.2
5.15.2
Fixes
- Stop sending navigation route params for auto-generated transactions, as they may contain PII or other sensitive data (#3487)
- Further details and other strategies to mitigate this issue can be found on our trouble shooting guide page
5.16.0-alpha.2
Features
-
Add
withSentryExpoSerializers
for easy configurablemetro.config.js
(#3454)This Serializer doesn't support EAS Updates (and expo export) commands yet. Debug IDs needed for source maps resolution in Sentry
are generated only during native builds.const { getDefaultConfig } = require('expo/metro-config'); const { withSentryExpoSerializers } = require("@sentry/react-native/metro"); const config = getDefaultConfig(__dirname); module.exports = withSentryExpoSerializers(config);
Note that this will remove any existing
customSerializer
. Guide for advanced setups can be found here.
Fixes
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