Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology. If you want to join us Check out our open positions
This repo uses the following ways to release SDK updates:
Pre-release: We create pre-releases (alpha, beta, RC,…) for larger and potentially more impactful changes, such as new features or major versions.Latest: We continuously release major/minor/hotfix versions from themainbranch. These releases go through all our internal quality gates and are very safe to use and intended to be the default for most teams.Stable: We promote releases fromLatestwhen they have been used in the field for some time and in scale, considering time since release, adoption, and other quality and stability metrics. These releases will be indicated on the releases page with theStablesuffix.
For a list of which SDK versions are bundled with each release, see SDK-VERSIONS.md.
react-native >= 0.65.0
- Automatic JS Error Tracking (using @sentry/browser)
- Automatic Native Crash Error Tracking (using sentry-cocoa & sentry-android under the hood)
- Offline storage of events
- On Device symbolication for JS (in Debug)
- Autolinking
- Events with enriched device data
- RAM bundle support
- Hermes support
- Expo support
- RN New Architecture support
To install the package and setup your project:
npx @sentry/wizard -s -i reactNativeHow to use it:
import * as Sentry from "@sentry/react-native";
Sentry.init({
dsn: "__DSN__",
// Set tracesSampleRate to 1.0 to capture 100%
// of transactions for performance monitoring.
// We recommend adjusting this value in production
tracesSampleRate: 1.0,
});
Sentry.setTag("myTag", "tag-value");
Sentry.setExtra("myExtra", "extra-value");
Sentry.addBreadcrumb({ message: "test" });
Sentry.captureMessage("Hello Sentry!");React Native 0.87 and newer can autolink iOS dependencies through SwiftPM instead of CocoaPods. The SDK ships a Package.swift, so no extra configuration is needed:
npm install @sentry/react-native
cd ios && npx react-native spm add --deintegrate--deintegrate removes an existing CocoaPods setup; drop it on a project that never had one. Then build as usual — npx react-native run-ios, or open the .xcodeproj (SwiftPM projects have no .xcworkspace).
Two limitations to know about:
- Every autolinked dependency must ship a
Package.swift.react-native spm addstops if one does not, and many community libraries still do not support SwiftPM. This is a React Native constraint, not a Sentry one. - iOS only. macOS, tvOS and visionOS keep building through CocoaPods.
CocoaPods remains the default and is unaffected.
If you are coming from react-native-sentry which was our SDK < 1.0 you should follow the upgrade guide and then follow the install steps.
- Check out product updates, deep dives, and React Native tips on the Sentry blog and our changelog