Releases: getsentry/sentry-react-native
5.19.2
Fixes
- expo-upload-sourcemaps now works on Windows (#3643)
- Option
enabled: false
ensures no events are sent (#3606) - Ignore JSON response when retrieving source context from local Expo Dev Server (#3611)
- Upload native debug files only for non-debug builds (#3649)
TurboModuleRegistry
should not be imported in web applications (#3610)
Dependencies
5.19.1
Fixes
- Don't add Expo Plugin option
authToken
to application bundle (#3630)- Expo plugin configurations are generally stored in plain text, and are also automatically added to built app bundles, and are therefore considered insecure.
- You should not set the auth token in the plugin config except for local testing. Instead, use the
SENTRY_AUTH_TOKEN
env variable, as pointed out in our docs. - In addition to showing a warning, we are now actively removing an
authToken
from the plugin config if it was set. - If you had set the auth token in the plugin config previously, and built and published an app with that config, you should rotate your token.
- Reduce waning messages spam when a property in Expo plugin configuration is missing (#3631)
- Add concrete error messages for RN bundle build phase patch (#3626)
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 [email protected]
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.