Releases: getsentry/sentry-react-native
6.4.0 (Stable)
Features
-
Add Replay Custom Masking for iOS, Android and Web (#4224, #4265, #4272, #4314)
import * as Sentry from '@sentry/react-native'; const Example = () => { return ( <View> <Sentry.Mask> <Text>${"All children of Sentry.Mask will be masked."}</Text> </Sentry.Mask> <Sentry.Unmask> <Text>${"Only direct children of Sentry.Unmask will be unmasked."}</Text> </Sentry.Unmask> </View> ); };
5.36.0 (Stable)
6.4.0-beta.1
Features
-
Add Replay Custom Masking for iOS, Android and Web (#4224, #4265, #4272, #4314)
import * as Sentry from '@sentry/react-native'; const Example = () => { return ( <View> <Sentry.Mask> <Text>${"All children of Sentry.Mask will be masked."}</Text> </Sentry.Mask> <Sentry.Unmask> <Text>${"Only direct children of Sentry.Unmask will be unmasked."}</Text> </Sentry.Unmask> </View> ); };
6.3.0 (Stable)
Features
-
Add support for
.env.sentry-build-plugin(#4281)Don't commit the file to your repository. Use it to set your Sentry Auth Token.
SENTRY_AUTH_TOKEN=your_token_here -
Add Sentry Metro Server Source Context middleware (#4287)
This enables the SDK to add source context to locally symbolicated events using the Metro Development Server.
The middleware can be disabled inmetro.config.jsusing theenableSourceContextInDevelopmentoption.// Expo const { getSentryExpoConfig } = require('@sentry/react-native/metro'); const config = getSentryExpoConfig(__dirname, { enableSourceContextInDevelopment: false, }); // React Native const { withSentryConfig } = require('@sentry/react-native/metro'); module.exports = withSentryConfig(config, { enableSourceContextInDevelopment: false, });
Fixes
- Prevents exception capture context from being overwritten by native scope sync (#4124)
- Excludes Dev Server and Sentry Dsn requests from Breadcrumbs (#4240)
- Skips development server spans (#4271)
- Execute
DebugSymbolicatorafterRewriteFramesto avoid overwrites by default (#4285)- If custom
RewriteFramesis provided the order changes
- If custom
browserReplayIntegrationis no longer included by default on React Native Web (#4270)- Remove
.sentrytmp directory and use environmental variables instead to save default Babel transformer path (#4298)- This resolves concurrency issues when running multiple bundle processes
Dependencies
6.3.0-beta.2
6.3.0-beta.1
Features
-
Add support for
.env.sentry-build-plugin(#4281)Don't commit the file to your repository. Use it to set your Sentry Auth Token.
SENTRY_AUTH_TOKEN=your_token_here -
Add Sentry Metro Server Source Context middleware (#4287)
This enables the SDK to add source context to locally symbolicated events using the Metro Development Server.
The middleware can be disabled inmetro.config.jsusing theenableSourceContextInDevelopmentoption.// Expo const { getSentryExpoConfig } = require('@sentry/react-native/metro'); const config = getSentryExpoConfig(__dirname, { enableSourceContextInDevelopment: false, }); // React Native const { withSentryConfig } = require('@sentry/react-native/metro'); module.exports = withSentryConfig(config, { enableSourceContextInDevelopment: false, });
Fixes
- Prevents exception capture context from being overwritten by native scope sync (#4124)
- Excludes Dev Server and Sentry Dsn requests from Breadcrumbs (#4240)
- Skips development server spans (#4271)
- Execute
DebugSymbolicatorafterRewriteFramesto avoid overwrites by default (#4285)- If custom
RewriteFramesis provided the order changes
- If custom
browserReplayIntegrationis no longer included by default on React Native Web (#4270)
Dependencies
6.2.0
Features
-
Enables Spotlight in Android and iOS SDKs (#4211)
-
Add env flag
SENTRY_DISABLE_NATIVE_DEBUG_UPLOADto allow disabling the debug file upload (#4223)How to use in Android project? It works by default, just set
export SENTRY_DISABLE_NATIVE_DEBUG_UPLOAD=truein your build environment. For Sentry Android Gradle Plugin add the following to yourandroid/app/build.gradle.apply from: "../../../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_NATIVE_DEBUG_UPLOAD=true
Fixes
- Ignore JavascriptException to filter out obfuscated duplicate JS Errors on Android (#4232)
- Skips ignoring require cycle logs for RN 0.70 or newer (#4214)
- Enhanced accuracy of time-to-display spans. (#4189)
- Fix Replay redacting of RN Classes on iOS (#4243)
- Speed up getBinaryImages for finishing transactions and capturing events (#4194)
- Remove duplicate HTTP Client Errors on iOS (#4250)
- Replay
maskAll*set tofalseon iOS kept all masked (#4257) - Add missing
getRootSpan,withActiveSpanandsuppressTracingexports from@sentry/core, andSeverityLevelexport from@sentry/types(#4254, #4260)
Dependencies
5.35.0 (Stable)
Fixes
- Enhanced accuracy of time-to-display spans. (#4042)
- TimeToDisplay correctly warns about not supporting the new React Native architecture (#4160)
- Native Wrapper method
setContextensures only values convertible to NativeMap are passed (#4168) - Native Wrapper method
setExtraensures only stringified values are passed (#4168) setContext('key', null)removes the key value also from platform context (#4168)
6.1.0 (Stable)
5.35.0-beta.0
Fixes
- Enhanced accuracy of time-to-display spans. (#4042)
- TimeToDisplay correctly warns about not supporting the new React Native architecture (#4160)
- Native Wrapper method
setContextensures only values convertible to NativeMap are passed (#4168) - Native Wrapper method
setExtraensures only stringified values are passed (#4168) setContext('key', null)removes the key value also from platform context (#4168)