Releases: getsentry/sentry-react-native
6.5.0-beta.1
Features
-
Adds new
captureFeedback
and deprecates thecaptureUserFeedback
API (#4320)import * as Sentry from "@sentry/react-native"; const eventId = Sentry.lastEventId(); Sentry.captureFeedback({ name: "John Doe", email: "[email protected]", message: "Hello World!", associatedEventId: eventId, // optional }, { captureContext: { tags: { "tag-key": "tag-value" }, }, attachments: [ { filename: 'hello.txt', data: 'Hello, World!', }, ], });
Fixes
- Return
lastEventId
export from@sentry/core
(#4315) - Don't log file not found errors when loading envs in
sentry-expo-upload-sourcemaps
(#4332) - Navigation Span should have no parent by default (#4326)
Dependencies
6.4.0
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
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
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.js
using theenableSourceContextInDevelopment
option.// 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
DebugSymbolicator
afterRewriteFrames
to avoid overwrites by default (#4285)- If custom
RewriteFrames
is provided the order changes
- If custom
browserReplayIntegration
is no longer included by default on React Native Web (#4270)- Remove
.sentry
tmp 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.js
using theenableSourceContextInDevelopment
option.// 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
DebugSymbolicator
afterRewriteFrames
to avoid overwrites by default (#4285)- If custom
RewriteFrames
is provided the order changes
- If custom
browserReplayIntegration
is 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_UPLOAD
to 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=true
in 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.sh
andscripts/sentry-xcode-debug-files.sh
in your
build phases. And add the following to yourios/.xcode.env.local
file.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 tofalse
on iOS kept all masked (#4257) - Add missing
getRootSpan
,withActiveSpan
andsuppressTracing
exports from@sentry/core
, andSeverityLevel
export from@sentry/types
(#4254, #4260)
Dependencies
5.35.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
setContext
ensures only values convertible to NativeMap are passed (#4168) - Native Wrapper method
setExtra
ensures only stringified values are passed (#4168) setContext('key', null)
removes the key value also from platform context (#4168)