- Add Hermes Debug Info flag to React Native Context (#3290)
- This flag equals
true
when Hermes Bundle contains Debug Info (Hermes Source Map was not emitted)
- This flag equals
- Add
enableNdk
property to ReactNativeOptions for Android. (#3304)
- Create profiles for start up transactions (#3281)
- Fix Hermes Bytecode Symbolication one line off (#3283)
- Bump CLI from v2.20.5 to v2.20.7 (#3265, #3273)
- Bump Cocoa SDK from v8.10.0 to v8.11.0 (#3245)
- Bump JavaScript SDK from v7.63.0 to v7.69.0 (#3277, #3247)
- Bump Android SDK from v6.28.0 to v6.29.0 (#3271)
- Bump Cocoa SDK from v8.9.4 to v8.10.0 (#3250)
Do not use this version if you use CocoaPods with use_frameworks!
option. It introduces a bug where the project won't compile.
This has been fixed in version 5.9.1
.
-
Add support for React Native mixed stacktraces (#3201)
In the current
react-native@nightly
(0.73.0-nightly-20230809-cb60e5c67
) JS errors from native modules can contain native JVM or Objective-C exception stack trace. Both JS and native stack trace are processed by default no configuration needed. -
Add
tracePropagationTargets
option (#3230)This release adds support for distributed tracing without requiring performance monitoring to be active on the React Native SDK. This means even if there is no sampled transaction/span, the SDK will still propagate traces to downstream services. Distributed Tracing can be configured with the
tracePropagationTargets
option, which controls what requests to attach thesentry-trace
andbaggage
HTTP headers to (which is what propagates tracing information).Sentry.init({ tracePropagationTargets: ["third-party-site.com", /^https:\/\/yourserver\.io\/api/], });
Sentry.init
must be called beforeSentry.wrap
(#3227)- The SDK now shows warning if incorrect order is detected
- Stall Time is no longer counted when App is in Background. (#3211)
- Use application variant instead of variant output to hook to correct package task for modules cleanup (#3161)
- Fix
isNativeAvailable
after SDK reinitialization (#3200)
- Bump Android SDK from v6.27.0 to v6.28.0 (#3192)
- Bump Cocoa SDK from v8.9.3 to v8.9.4 (#3225)
- Bump JavaScript SDK from v7.61.0 to v7.63.0 (#3226, #3235)
- Bump CLI from v2.19.4 to v2.20.5 (#3212, #3233)
-
Alpha support for Hermes JavaScript Profiling (#3057)
Profiling is disabled by default. To enable it, configure both
tracesSampleRate
andprofilesSampleRate
when initializing the SDK:Sentry.init({ dsn: '__DSN__', tracesSampleRate: 1.0, _experiments: { // The sampling rate for profiling is relative to TracesSampleRate. // In this case, we'll capture profiles for 100% of transactions. profilesSampleRate: 1.0, }, });
More documentation on profiling and current limitations can be found here.
- Warn users about multiple versions of
promise
package which can cause unexpected behavior like undefinedPromise.allSettled
(#3162) - Event is enriched with all the Android context on the JS layer and you can filter/modify all the data in the
beforeSend
callback similarly to iOS. (#3170)
- Bump JavaScript SDK from v7.57.0 to v7.60.1 (#3184, #3199)
- Bump Cocoa SDK from v8.8.0 to v8.9.3 (#3188, #3206)
- Bump Android SDK from v6.25.1 to v6.27.0 (#3170)
- Filter beforeSendTransaction from the Native SDK (#3140)
- Use
android.namespace
for AGP 8 and RN 0.73 (#3133)
- Bump JavaScript SDK from v7.54.0 to v7.57.0 (#3119, #3153)
- Bump CLI from v2.18.1 to v2.19.4 (#3124, #3151)
- Bump Android SDK from v6.22.0 to v6.25.0 (#3127, #3163)
- Bump Cocoa SDK from v8.7.3 to v8.8.0 (#3123)
- Overwrite Expo bundle names in stack frames (#3115)
- This enables source maps to resolve correctly without using
sentry-expo
package
- This enables source maps to resolve correctly without using
- Disable
enableNative
if Native SDK is not available (#3099) - Dynamically resolve
collectModulesScript
path to support monorepos (#3092) - Native wrapper methods don't throw disabled error after re-initializing (#3093)
- Bump JavaScript SDK from v7.52.0 to v7.54.0 (#3071, #3088, #3094)
- Bump Android SDK from v6.18.1 to v6.22.0 (#3086, #3075)
- Bump Cocoa SDK from v8.7.1 to v8.7.3 (#3076)
- Bump CLI from v2.17.5 to v2.18.1 (#3082)
- Add
expo
,react_native_version
andhermes_version
to React Native Context (#3050)
- Bump JavaScript SDK from v7.51.1 to v7.52.0 (#3054, #3068)
- Bump Cocoa SDK from v8.6.0 to v8.7.1 (#3056, #3067)
- Fix
event.origin
andevent.environment
on unhandled exception (#3041) - Don't pass
enableTracing
from RN tosentry-cocoa
options (#3042) - Only store envelopes of fatal crashes on iOS (#3051)
- Only store envelopes of fatal crashes on iOS (#3051)
- Store envelopes immediately during a fatal crash on iOS (#3031)
- Do not overwrite
_metadata
option by defaultsdkInfo
(#3036)
- Bump JavaScript SDK from v7.49.0 to v7.50.0 (#3035)
- Bump Cocoa SDK from v8.5.0 to v8.6.0 (#3023)
- Bump Android SDK from v6.17.0 to v6.18.1 (#3017)
- Bump CLI from v2.17.4 to v2.17.5 (#3024)
- Store envelopes immediately during a fatal crash on iOS (#3030)
- Add TS 4.1 typings (#2995)
- TS 3.8 are present and work automatically with older projects
- Add CPU Info to Device Context (#2984)
- Allow disabling native on RNNA (#2978)
- iOS Autolinking for RN 0.68 and older (#2980)
- Clean up
modules.json
when building bundles (#3008) - Only include Screenshots and View Hierarchy for iOS and Mac Catalyst builds (#3007)
- Breadcrumbs from Native SDKs are created with timestamps in seconds (#2997)
addBreadcrumb
converts converts non object data to{ value: data }
(#2997)
- Bump JavaScript SDK from v7.47.0 to v7.49.0 (#2975, #2988)
- Bump Cocoa SDK from v8.4.0 to v8.5.0 (#2977)
- Bump CLI from v2.17.1 to v2.17.4 (#2966, #2982, #2987)
- Disable
enableNativeCrashHandling
andenableAutoPerformanceTracing
on Apple (#2936)- Mac Catalyst builds successfully
sentry.gradle
Gracefully skip modules collecting if the script doesn't exist (#2952)
- Bump JavaScript SDK from v7.45.0 to v7.47.0 (#2946, #2958)
- Bump Android SDK from v6.16.0 to v6.17.0 (#2948)
- Bump Cocoa SDK from v8.3.3 to v8.4.0 (#2954)
- Bump CLI from v2.16.1 to v2.17.1 (#2957, #2964)
- Add
enableTracing
option (#2933) - Add Tabs auto instrumentation for React Native Navigation (#2932)
- This is enabled by default, if you want to disable tabs instrumentation see the example below.
const routingInstrumentation = new Sentry.ReactNativeNavigationInstrumentation(Navigation, { enableTabsInstrumentation: false })
- Disable HTTP Client Errors by default on all platform (#2931)
- See HttpClient for configuration details.
- Use
enableCaptureFailedRequests
to enable the feature.
Sentry.init({ enableCaptureFailedRequests: true })
- Bump JavaScript SDK from v7.44.2 to v7.45.0 (#2927)
- Bump CLI from v2.15.2 to v2.16.1 (#2926)
- Bump Cocoa SDK from v8.3.2 to v8.3.3 (#2925)
- Add User Interaction Tracing for Touch events (#2835)
- Add Gesture Tracing for React Native Gesture Handler API v2 (#2865)
- Fix use Fetch transport when option
enableNative
isfalse
(#2897) - Improve logs when
enableNative
isfalse
(#2897)
- Bump JavaScript SDK from v7.40.0 to v7.44.2 (#2874, #2908, #2909)
- Bump Android SDK from v6.15.0 to v6.16.0 (#2903)
- Bump Cocoa SDK from v8.3.0 to v8.3.2 (#2895)
- Bump CLI from v2.14.4 to v2.15.2 (#2898)
- Remove non URL
frame.abs_path
which was causing source maps to fail (#2891)
- Add App Context
in_foreground
(#2826)
- Match app start measurements naming with other SDKs (#2855)
app.start.cold
toapp_start_cold
app.start.warm
toapp_start_warm
- Bump Cocoa SDK from v8.0.0 to v8.2.0 (#2776)
- Bump JavaScript SDK from v7.37.2 to v7.40.0 (#2836, #2864)
- Bump CLI from v2.10.0 to v2.14.3 (#2848, #2869)
- Bump Android SDK from v6.14.0 to v6.15.0 (#2868)
The React Native SDK version 5 supports both Legacy (from RN 0.65 and above) and New Architecture (from RN 0.69 and above) as well as the new React Native Gradle Plugin (introduced in RN 0.71). For detailed migration guide visit our docs.
- Add support for the RN New Architecture, backwards compatible RNSentry Turbo Module (#2522)
- Add View Hierarchy to the crashed/errored events (#2708)
- Send react native js engine, turbo module, fabric flags and component stack in Event contexts (#2552)
- Sync
tags
,extra
,fingerprint
,level
,environment
andbreadcrumbs
fromsentry-cocoa
during event processing. (#2713)breadcrumb.level
valuelog
is transformed todebug
when syncing with native layers.- Remove
breadcrumb.level
valuecritical
transformation tofatal
. - Default
breadcrumb.level
isinfo
- Option
enableAutoPerformanceTracking
renamed toenableAutoPerformanceTracing
- Option
enableOutOfMemoryTracking
renamed toenableWatchdogTerminationTracking
- Remove link hooks (RN 0.68 and older) (#2332)
- iOS min target 11, Android API min 21, min React Native version 0.65 (#2522, #2687)
- New ReactNativeTracingOptions (#2481)
idleTimeout
renamed toidleTimeoutMs
maxTransactionDuration
renamed tofinalTimeoutMs
touchEventBoundaryProps.labelName
property instead of defaultaccessibilityLabel
fallback (#2712)- Message event current stack trace moved from
exception
tothreads
(#2694)
- Unreachable fallback to fetch transport if native is not available (#2695)
- Collect modules script for XCode builds supports NODE_BINARY to set path to node executable (#2805)
- React Native Error Handlers Integration doesn't crash if ErrorUtils are not available (#2808)
- Bump Android SDK from v6.12.1 to v6.14.0 (#2790, #2809, #2828)
- Bump Sample React Native from v0.71.0 to v0.71.1 (#2767)
- Bump JavaScript SDK from v7.32.1 to v7.37.2 (#2785, #2799, #2818)
- React Native Error Handlers Integration doesn't crash if ErrorUtils are not available (#2808)
- Add View Hierarchy to the crashed/errored events (#2708)
- Collect modules script for XCode builds supports NODE_BINARY to set path to node executable (#2805)
- Bump Android SDK from v6.12.1 to v6.14.0 (#2790, #2809, #2828)
- Bump Sample React Native from v0.71.0 to v0.71.1 (#2767)
- Bump JavaScript SDK from v7.32.1 to v7.37.2 (#2785, #2799, #2818)
- Latest changes from 4.14.0
- Option
enableAutoPerformanceTracking
renamed toenableAutoPerformanceTracing
- Option
enableOutOfMemoryTracking
renamed toenableWatchdogTerminationTracking
- Sync
tags
,extra
,fingerprint
,level
,environment
andbreadcrumbs
fromsentry-cocoa
during event processing. (#2713)breadcrumb.level
valuelog
is transformed todebug
when syncing with native layers.- Remove
breadcrumb.level
valuecritical
transformation tofatal
. - Default
breadcrumb.level
isinfo
- Add support for RNGP introduced in React Native 0.71.0 (#2759)
- Take screenshot runs on UI thread on Android (#2743)
- Bump Android SDK from v6.11.0 to v6.12.1 (#2755)
- Bump JavaScript SDK from v7.29.0 to v7.32.1 (#2738, #2777)
- Latest changes from 4.13.0
- Message event current stack trace moved from exception to threads (#2694)
touchEventBoundaryProps.labelName
property instead of defaultaccessibilityLabel
fallback (#2712)
- Unreachable fallback to fetch transport if native is not available (#2695)
- Missing
originalException
inbeforeSend
for events from react native error handler (#2706) - ModulesLoader integration returns original event if native is not available and event modules overwrite native modules (#2730)
- Bump Cocoa SDK from v7.31.3 to v7.31.5 (#2699, #2714)
- Bump JavaScript SDK from v7.26.0 to v7.29.0 (#2705, #2709, #2715, #2736)
- Bump Android SDK from v6.9.2 to v6.11.0 (#2704, #2724)
- Add
lastEventId
method to the API (#2675)
Sentry.startTransaction
doesn't requireop
(#2691)
- Bump Cocoa SDK from v7.31.2 to v7.31.3 (#2647)
- Bump JavaScript SDK from v7.21.1 to v7.26.0 (#2672, #2648, #2692)
- Bump Android SDK from v6.9.1 to v6.9.2 (#2677)
- Latest changes from 4.11.0
- Screenshots (#2610)
- Bump Wizard from v1.2.17 to v1.4.0 (#2645)
- Android builds without ext config, auto create assets dir for modules (#2652)
- Exit gracefully if source map file for collecting modules doesn't exist (#2655)
- Create only one clean-up tasks for modules collection (#2657)
- Latest changes from 4.10.0
- Add missing source Spec for RNSentry Codegen. (#2639)
- JS Runtime dependencies are sent in Events (#2606)
- To collect JS dependencies on iOS add
../node_modules/@sentry/react-native/scripts/collect-modules.sh
at the end of theBundle React Native code and images
build phase. The collection only works on Release builds. Android builds have a new step insentry.gradle
plugin. More in the migration documentation.
- To collect JS dependencies on iOS add
- Latest changes from 4.9.0
- Add
maxQueueSize
option (#2578)
- Use
Scope
class rather thanScope
type for top-level functions (#2627)
- Bump JavaScript SDK from v7.16.0 to v7.20.1 (#2582, #2598, #2632, #2607)
- Bump Cocoa SDK from v7.29.0 to v7.31.2 (#2592, #2601, #2629)
- Bump Android SDK from v6.6.0 to v6.8.0 (#2600, #2628)
- Message event can have attached stacktrace (#2577)
- Fixed maximum call stack exceeded error resulting from large payloads (#2579)
- Latest changes from 4.7.1
- Remove hardcoded Folly version (#2558)
- Send react native js engine, turbo module, fabric flags and component stack in Event contexts (#2552)
- Bump CLI from v1.74.4 to v2.7.0 (#2457)
- Bump Android SDK from v6.5.0 to v6.6.0 (#2572)
- Bump Cocoa SDK from v7.28.0 to v7.29.0 (#2571)
- Remove duplicate sdk package record from envelope (#2570)
- Fix
appHangsTimeoutInterval
->appHangTimeoutInterval
option name (#2574)
- Bump Android SDK from v6.4.3 to v6.5.0 (#2535)
- Bump JavaScript SDK from v7.14.2 to v7.16.0 (#2536, #2561)
- Bump Cocoa SDK from v7.27.1 to v7.28.0 (#2548)
- Latest changes from 4.6.1
- Add initial support for the RN New Architecture, backwards compatible RNSentry Turbo Module (#2522)
- New ReactNativeTracingOptions idleTimeoutMs and finalTimeoutMs replacing idleTimeout and maxTransactionDuration respectively (#2481)
- iOS min target 12.4, Android API min 21, min React Native version 0.70 (#2522)
- Make
configureScope
callback safe #2510 - Allows collecting app start and slow/frozen frames if Native SDK is inited manually #2517
- Nested breadcrumb data on android was not treated correctly #2519
- Bump JavaScript SDK from v7.14.0 to v7.14.2 (#2511, #2526)
- Bump Cocoa SDK from v7.27.0 to v7.27.1 (#2521)
- Bump Android SDK from v6.4.2 to v6.4.3 (#2520)
- Make
configureScope
callback safe #2510
- Bump JavaScript SDK from v7.14.0 to v7.14.1 (#2511)
- Bump Cocoa SDK from v7.27.0 to v7.27.1 (#2521)
- Bump Android SDK from v6.4.2 to v6.4.3 (#2520)
- SDK Gracefully downgrades when callback throws an error (#2502)
- React Navigation v5 ignores when current route is undefined after state changed. (#2484)
- Add ClientReports (#2496)
- Starting with version
4.6.0
of the@sentry/react-native
package, Sentry's self hosted version >= v21.9.0 is required or you have to manually disable sending client reports via thesendClientReports
option. This only applies to self-hosted Sentry. If you are using sentry.io, no action is needed.
- Bump Cocoa SDK from v7.25.1 to v7.27.0 (#2500, #2506)
- Bump JavaScript SDK from v7.13.0 to v7.14.0 (#2504)
- Latest changes from 4.5.0
- New ReactNativeTracingOptions idleTimeoutMs and finalTimeoutMs replacing idleTimeout and maxTransactionDuration respectively (#2481)
- Update warm/cold start span ops (#2487)
- Detect hard crash the same as native sdks (#2480)
- Integrations factory receives default integrations (#2494)
- Add attachments support (#2463)
- ReactNativeTracingOptions maxTransactionDuration is in seconds (#2469)
- Latest changes from 4.3.x
- Add Transaction Source for Dynamic Sampling Context (#2454)
- Bump Cocoa SDK from v7.23.0 to v7.24.1 (#2456)
- Bump Android SDK from v6.3.1 to v6.4.1 (#2437)
- Bump JavaScript SDK from v7.9.0 to v7.12.1 (#2451)
- ReactNativeTracing wrongly marks transactions as deadline_exceeded when it reaches the idleTimeout (#2427)
- Latest changes from 4.2.x
- Auto linking for RN >= 0.69 (#2332)
- Bump Cocoa SDK to v7.23.0 (#2401)
- Bump Android SDK to v6.3.1 (#2410)
- Bump JavaScript SDK to v7.9.0 (#2412)
- Should not ignore
options.transport
function provided inSentry.init(...)
(#2398)
- SENTRY_DIST accepts non-number values on Android (#2395)
- Bump Cocoa SDK to v7.21.0 (#2374)
- Bump Android SDK to v6.3.0 (#2380)
- Bump JavaScript SDK to v7.7.0 (#2375)
- Solve reference to private cocoa SDK class (#2369)
- Set default unit for measurements (#2360)
- When using SENTRY_DIST env. var. on Android, SDK fails to convert to an Integer (#2365)
- Fix: Send DidBecomeActiveNotification when OOM enabled (#2326)
- Fix: SDK overwrites the user defined ReactNativeTracing (#2319)
- Bump Sentry JavaScript 7.3.1 (#2306)
- Bump Sentry Cocoa 7.18.1 (#2320)
- Bump Sentry Android 6.1.4 (#2320)
- Fix Calculate the absolute number of Android versionCode (#2313)
- Filter out app start with more than 60s (#2303)
- Bump Sentry JavaScript 7.1.1 (#2279)
- Bump Sentry Cocoa 7.18.0 (#2303)
- Bump Sentry Android 6.1.2 (#2303)
By bumping Sentry Javascript, new breaking changes were introduced, to know more what was changed, check the breaking changes changelog from Sentry Javascript.
- Fix warning missing DSN on BrowserClient. (#2294)
By bumping Sentry Javascript, new breaking changes were introduced, to know more what was changed, check the breaking changes changelog from Sentry Javascript.
- feat: Support macOS (#2240) by @ospfranco
- fix: Fix cold start appearing again after js bundle reload on Android. #2229
- fix: Make withTouchEventBoundary options optional #2196
- Bump: @sentry/javascript dependencies to 6.19.2 (#2175) by @marandaneto
- fix: Respect given release if no dist is given during SDK init (#2163)
- Bump: @sentry/javascript dependencies to 6.19.2 (#2175)
- Bump: Sentry Cocoa to 7.11.0 and Sentry Android to 5.7.0 (#2160)
- fix(android): setContext serializes as context for Android instead of extra (#2155)
- fix(android): Duplicate Breadcrumbs when captuing messages #2153
- Bump: Sentry Cocoa to 7.10.2 and Sentry Android to 5.6.3 (#2145)
- fix(android): Upload source maps correctly regardless of version codes #2144
- fix: Do not report empty measurements #1983
- fix(iOS): Bump Sentry Cocoa to 7.10.1 and report slow and frozen measurements (#2132)
- fix(iOS): Missing userId on iOS when the user is not set in the Scope (#2133)
- feat: Support setting maxCacheItems #2102
- fix: Clear transaction on route change for React Native Navigation #2119
- feat: Support enableNativeCrashHandling for iOS #2101
- Bump: Sentry Cocoa 7.10.0 #2100
- feat: Touch events now track components with
sentry-label
prop, falls back toaccessibilityLabel
and then finallydisplayName
. #2068 - fix: Respect sentryOption.debug setting instead of #DEBUG build flag for outputting logs #2039
- fix: Passing correct mutableOptions to iOS SDK (#2037)
- Bump: Bump @sentry/javascript dependencies to 6.17.9 #2082
- fix: Discard prior transactions on react navigation dispatch #2053
- feat: Touch events now track components with
sentry-label
prop, falls back toaccessibilityLabel
and then finallydisplayName
. #2068 - fix: Respect sentryOption.debug setting instead of #DEBUG build flag for outputting logs #2039
- fix: Passing correct mutableOptions to iOS SDK (#2037)
- Bump: Bump @sentry/javascript dependencies to 6.17.9 #2082
- fix: Discard prior transactions on react navigation dispatch #2053
- fix(deps): Add
@sentry/wizard
back in as a dependency to avoid missing dependency when running react-native link. #2015 - Bump: sentry-cli to 1.72.0 #2016
- fix: fetchNativeDeviceContexts returns an empty Array if no Device Context available #2002
- Bump: Sentry Cocoa 7.9.0 #2011
- fix: Polyfill the promise library to permanently fix unhandled rejections #1984
- fix: Do not crash if androidx.core isn't available on Android #1981
- fix: App start measurement on Android #1985
- Bump: Sentry Android to 5.5.2 #1985
- Deprecate initialScope in favor of configureScope #1963
- Bump: Sentry Android to 5.5.1 and Sentry Cocoa to 7.7.0 #1965
- replace usage of master to main (30b44232) by @marandaneto
- fix: ReactNavigationV4Instrumentation null when evaluating 'state.routes' #1940
- fix: ConcurrentModification exception for frameMetricsAggregator #1939
- feat(android): Support monorepo in gradle plugin #1917
- fix: Remove dependency on promiseRejectionTrackingOptions #1928
- fix: Fix dynamic require for promise options bypassing try catch block and crashing apps #1923
- fix: Warn when promise rejections won't be caught #1886
- Bump: Sentry Android to 5.4.3 and Sentry Cocoa to 7.5.4 #1920
- fix(ios): tracesSampler becomes NSNull in iOS and the app cannot be started (#1872) by @marandaneto
- Bump Sentry Android SDK to 5.3.0 #1860
- feat(ios): Missing config
enableOutOfMemoryTracking
on iOS/Mac (#1858) by @marandaneto
-
feat: Routing instrumentation will emit breadcrumbs on route change and set route tag #1837
-
Bump Sentry Android SDK to 5.2.4 (#1844)
-
Bump Sentry Cocoa SDK to 7.4.8 (#1856)
- fix: Type React Native Navigation instrumentation constructor argument as unknown to avoid typescript errors #1817
- feat: Routing instrumentation for React Native Navigation #1774
- Feat: Allow custom release for source map upload scripts #1548
- ref: Remove v5 prefix from react navigation instrumentation to support v6 #1768
- Fix: Set Java 8 for source and target compatibility if not using AGP >= 4.2.x (#1763)
- Bump: Android tooling API 30 (#1761)
- fix: Add sentry-cli as a dependency #1755
- feat: Align
event.origin
,event.environment
with other hybrid sdks #1749 - feat: Add native sdk package info onto events #1749
- build(js): Bump sentry-javascript dependencies to 6.12.0 #1750
- fix: Fix native frames not being added to transactions #1752
- build(android): Bump sentry-android to 5.1.2 #1753
- build(ios): Bump sentry-cocoa to 7.2.6 #1753
- fix: Move @sentry/wizard dependency to devDependencies #1751
- feat: Add
wrap
wrapper method with profiler and touch event boundary #1728 - feat: App-start measurements, if using the
wrap
wrapper, will now finish on the root component mount #1728
- feat: Native slow/frozen frames measurements #1711
- build(ios): Bump sentry-cocoa to 7.2.0-beta.9 #1704
- build(android): Bump sentry-android to 5.1.0-beta.9 #1704
- feat: Add app start measurements to the first transaction #1704
- feat: Create an initial initial ui.load transaction by default #1704
- feat: Add
enableAutoPerformanceTracking
flag that enables auto performance when tracing is enabled #1704
- feat: Track stalls in the JavaScript event loop as measurements #1542
- fix: Fix the error handler (error dialog) not called in dev #1712
- build(ios): Bump sentry-cocoa to 7.1.4 #1700
- feat: Support the
sendDefaultPii
option. #1634 - build(android): Bump sentry-android to 5.1.0-beta.2 #1645
- fix: Fix transactions on Android having clock drift and missing span data #1645
- fix: Fix
Sentry.close()
not correctly resolving the promise on iOS. #1617 - build(js): Bump sentry-javascript dependencies to 6.7.1 #1618
- fix: Fatal uncaught events should be tagged handled:false #1597
- fix: Fix duplicate breadcrumbs on Android #1598
- build(js): Bump sentry-javascript dependencies to 6.5.1 #1588
- build(ios): Bump sentry-cocoa to 7.0.0 and remove setLogLevel #1459
- build(android): Bump sentry-android to 5.0.1 #1576
- feat:
Sentry.flush()
to flush events to disk and returns a promise #1547 - feat:
Sentry.close()
method to fully disable the SDK on all layers and returns a promise #1457
- fix: Process "log" levels in breadcrumbs before sending to native #1565
- build(ios): Bump sentry-cocoa to 7.0.0 and remove setLogLevel #1459
- feat: Close method to fully disable the SDK on all layers #1457
- build(android): Bump Android SDK to 5.0.0-beta.1 #1476
- fix: Use the latest outbox path from hub options instead of private options #1529
- fix: enableNative: false should take precedence over autoInitializeNativeSdk: false #1462
- fix: Type navigation container ref arguments as any to avoid TypeScript errors #1453
- fix: Don't call
NATIVE.fetchRelease
if release and dist already exists on the event #1388 - feat: Add onReady callback that gets called after Native SDK init is called #1406
- feat: Re-export Profiler and useProfiler from @sentry/react #1372
- fix(performance): Handle edge cases in React Navigation routing instrumentation. #1365
- build(android): Bump sentry-android to 4.3.0 #1373
- build(devtools): Bump @sentry/wizard to 1.2.2 #1383
- build(js): Bump sentry-javascript dependencies to 6.2.1 #1384
- feat(performance): Option to set route change timeout in routing instrumentation #1370
- fix: Fix unhandled promise rejections not being tracked #1367
- build(js): Bump @sentry/* dependencies on javascript to 6.2.0 #1354
- fix: Fix react-dom dependency issue. #1354
- build(android): Bump sentry-android to 4.1.0 #1334
- Bump: sentry-android to v4.0.0 #1309
- build(ios): Bump sentry-cocoa to 6.1.4 #1308
- fix: Handle auto session tracking start on iOS #1308
- feat: Use beforeNavigate in routing instrumentation to match behavior on JS #1313
- fix: React Navigation Instrumentation starts initial transaction before navigator mount #1315
- build(ios): Bump sentry-cocoa to 6.1.3 #1293
- fix: pass maxBreadcrumbs to Android init
- feat: Allow disabling native SDK initialization but still use it #1259
- ref: Rename shouldInitializeNativeSdk to autoInitializeNativeSdk #1275
- fix: Fix parseErrorStack that only takes string in DebugSymbolicator event processor #1274
- fix: Only set "event" type in envelope item and not the payload #1271
- build: Bump JS dependencies to 5.30.0 #1282
- fix: Add fallback envelope item type to iOS. #1283
- feat: Auto performance tracing with XHR/fetch, and routing instrumentation #1230
- build(android): Bump
sentry-android
to 3.2.1 #1296
- feat: Include @sentry/tracing and expose startTransaction #1167
- feat: A better sample app to showcase the SDK and especially tracing #1168
- build(js): Bump @sentry/javascript dependencies to 5.28.0. #1228
- build(android): Bump
sentry-android
to 3.2.0 #1208
- build(ios): Bump
sentry-cocoa
to 6.0.9 #1200
- build(ios): Bump
sentry-cocoa
to 6.0.8. #1188 - fix(ios): Remove private imports and call
storeEnvelope
on the client. #1188 - fix(ios): Lock specific version in podspec. #1188
- build(android): Bump
sentry-android
to 3.1.3. #1177 - build(deps): Bump @sentry/javascript deps to version-locked 5.27.4 #1199
- build(android): Changes android package name from
io.sentry.RNSentryPackage
toio.sentry.react.RNSentryPackage
(Breaking). #1131 - fix: As auto session tracking is now on by default, allow user to pass
false
to disable it. #1131 - build: Bump
sentry-android
to 3.1.0. #1131 - build: Bump
sentry-cocoa
to 6.0.3. #1131 - feat(ios): Use
captureEnvelope
on iOS/Mac. #1131 - feat: Support envelopes with type other than
event
. #1131 - feat(android): Add enableNdkScopeSync property to ReactNativeOptions. #1131
- feat(android): Pass attachStacktrace option property down to android SDK. #1131
- build(js): Bump @sentry/javascript dependencies to 5.27.1. #1156
- fix: Only show the "Native Sentry SDK is disabled" warning when
enableNative
is false andenableNativeNagger
is true. #1084 - build: Bump @sentry/javascript dependencies to 5.25.0. #1118
- build: Bump @sentry/javascript dependencies to 5.24.2 #1091
- fix: Add a check that
performance
exists before using it. #1091
- build: Bump @sentry/javascript dependencies to 5.24.1 #1088
- fix: Fix timestamp offset issues due to issues with
performance.now()
introduced in React Native 0.63. #1088
- feat: Support MacOS #1068
- build: Bump @sentry/javascript dependencies to 5.23.0 #1079
- fix: Only call native deviceContexts on iOS #1061
- fix: Don't send over Log and Critical levels over native bridge #1063
- meta: Move from Travis CI to Github Actions #1019
- ref: Drop TSLint in favor of ESLint #1023
- test: Add basic end-to-end tests workflow #945
- Bump: sentry-android to v2.3.1
- build: Bump sentry-cocoa to 5.2 #1011
- fix: App Store submission for Mac apps getsentry/sentry-cocoa#635
- fix: Use the release and dist set in init options over native release #1009
- fix: assign default options before enableNative check #1007
- fix: Use
LogBox
instead ofYellowBox
if possible. #989 - fix: Don't add
DeviceContext
default integration ifenableNative
is set tofalse
. #993 - fix: Don't log "Native Sentry SDK is disabled" if
enableNativeNagger
is set tofalse
. #993 - feat: Migrate to
@sentry/react
from@sentry/browser
and exposeErrorBoundary
& the redux enhancer. #1005
- feat: Touch events take Regex for ignoreNames & add tests #973
- fix: Don't prefix app:/// to "native" filename as well #957
- feat: Add sdk_info to envelope header on Android. #958
- Bump
sentry-cocoa
5.1.8
- feat: Log component tree with all touch events #952
- fix: Fix appending app:/// prefix to [native code] #946
- Bump
@sentry/*
to^5.19.0
- Bump
sentry-cocoa
5.1.6
- feat: Track touch events as breadcrumbs #939
- fix: Serialize the default user keys in setUser #926
- Bump android 2.2.0 #942
- fix(android): Fix unmapped context keys being overwritten on Android.
- fix: Fix Native Wrapper not checking enableNative setting #919
- Bump cocoa 5.1.4
- fix(ios): We only store the event in release mode #917
- Extend Scope methods to set native scope too. #902
- Bump android 2.1.6
- Bump
@sentry/*
to^5.16.1
- Bump cocoa 5.1.3
- Bump android 2.1.4 #891
- Expose session timeout. #887
- Added
event.origin
andevent.environment
tags to determine where events originate from. #890
- Filtered out
options
keys passed toinit
that would crash native. #885
- Remove usages of RNSentry to a native wrapper (#857)
- Bump android 2.1.3 (#858)
- Bump cocoa 5.1.0 (#870)
- Accept enableAutoSessionTracking (#870)
- Don't attach Android Threads (#866)
- Refactored startWithDsnString to be startWithOptions. (#860)
- Bump
@sentry/wizard
to1.1.4
- Fixes a bug in
DebugSymbolicator
- Bump
@sentry/wizard
to1.1.2
- Bump
@sentry/*
to^5.15.4
- Bump
@sentry/*
to^5.15.2
- Bump
@sentry/*
to^5.15.1
- Fix a bug in DebugSymbolicator to fetch the correct file
- Bump to
io.sentry:sentry-android:2.0.2
- Fix sourcemap path for Android and
react-native
version< 0.61
- Expose Android SDK in Java
- Bump
io.sentry:sentry-android:2.0.0
- Fixes a bug on Android when sending events with wrong envelope size
- Bump
@sentry/wizard
to1.1.1
fixing iOS release identifiers - console.warn und unhandled rejections in DEV
- Bump
io.sentry:sentry-android:2.0.0-rc04
- Added support for Hermes runtime!!
- Fixed a lot of issues on Android
- NDK support
- fix(android): Crash if stacktrace.frames is empty (#742)
- Bump
io.sentry:sentry-android:1.7.29
- Bump
@sentry/*
to^5.10.0
- Allow overriding sentry.properties location (#722)
- Bump
@sentry/*
to^5.9.0
- fix(android): Feedback not working (#706)
- fix(types): Fix type mismatch when copying breadcrumb
type
(#693)
- Fixed an issue where breadcrumbs failed to be copied correctly
- Fix missing
type
, miscaststatus_code
entries in Android breadcrumbs
- Store
environment
,release
&dist
on native iOS and Android clients in case of an native crash
- Fix error message to guide towards correct docs page
- Convert
message
in Java to string if it's a map (#653)
- Also catch
ClassCastException
to support react-native versions < 0.60 (#651)
- Expose
BrowserIntegrations
to change browser integrations (#639)
- Fixes
breadcrumb.data
cast if it's not a hashmap (#651)
- Fixed typo in
RNSentry.m
(#658)
This is a new major release of the Sentry's React Native SDK rewritten in TypeScript.
This SDK is now unified with the rest of our JavaScript SDKs and published under a new name @sentry/react-native
.
It uses @sentry/browser
and both sentry-cocoa
and sentry-android
for native handling.
This release is a breaking change an code changes are necessary.
New way to import and init the SDK:
import * as Sentry from '@sentry/react-native';
Sentry.init({
dsn: 'DSN',
});
- Add a check for an empty stacktrace on Android (#594)
- Bump
raven-js
3.27.1
- Bump
sentry-wizard
0.13.0
- Bump
sentry-cocoa
4.2.1
- Fix a bug where environment was correctly set
- Only upload source maps in gradle if non debug build
- Fix bump version script
- Update android build tools and gradle scripts to be compatible with latest version
- Fix support to build on windows
- Bump
sentry-cocoa
4.1.3
- Fix import for ArrayList and ReadableArray on Android, Fixes #511
- Use
buildToolsVersion
in build.gradle
- Add fingerprint support for iOS/Android, Fixes #407
- Add support for tvOS
- Bump
@sentry/wizard
0.12.1
- Add constructor for
RNSentryPackage.java
, Fixes #490
react-native-sentry >= 0.39.0
requiresreact-native >= 0.56.0
- [Android] Bumping of gradle deps
compileSdkVersion 26
buildToolsVersion '26.0.3'
...
targetSdkVersion 26
- [Android] Use
sentry-android
1.7.5
- Bump
@sentry/wizard
0.11.0
- Bump
sentry-cocoa
4.1.0
- Use new SDK identifier
sentry.javascript.react-native
- Bump
@sentry/wizard
0.10.2
- [Android] Use
sentry-android
1.7.4
- [Android] set empty message to prevent breadcrumb exception
- [Android] Remove requirement to pass in
MainApplication
new RNSentryPackage(MainApplication.this)
- [Android] Call event callbacks even on failure to trigger crashes when device is offline
- Revert change to podspec file
- Add support for transaction instead of culprit
- Add equalsIgnoreCase to gradle release name compare
- Bump sentry-java to 1.7.3
- Bump raven-js to 3.24.2
- Fixed #391
- Bump sentry-cocoa to 3.12.4
- Fix wizard command
- Fixed #374
- Bump sentry-cocoa to 3.12.0
- Fixes an issue where error will not be reported to Sentry.
- Fixed #354
- Fixed #353
- Fixed #347
- Fixed #346
- Fixed #342
- Add pro guard default rule @kazy1991
- Exposed crashedLastLaunch for iOS @monotkate
- Fixed #337
- Fixed #333
- Fixed #331
- Fixed #322
- Update sentry-wizard
Since we now use @sentry/wizard
for linking with out new @sentry/cli
package, the old
sentry-cli-bin
package has been deprecated.
You have to search your codebase for sentry-cli-binary
and replace it with @sentry/cli
.
There are few places where we put it during the link process:
- In both
sentry.properties
files inios
/android
folder - In your Xcode build scripts once in
Bundle React Native code and images
and once inUpload Debug Symbols to Sentry
So e.g.:
The Upload Debug Symbols to Sentry
build script looks like this:
export SENTRY_PROPERTIES=sentry.properties
../node_modules/sentry-cli-binary/bin/sentry-cli upload-dsym
should be changed to this:
export SENTRY_PROPERTIES=sentry.properties
../node_modules/@sentry/cli/bin/sentry-cli upload-dsym
- Bump
@sentry/wizard
to0.7.3
- Bump
sentry-cocoa
to3.10.0
- Fixed #169
- Use https://github.com/getsentry/sentry-wizard for setup process
- Fix podspec file
- Fix gradle regex to allow number in projectname
Updated npm dependencies
Deploy and release over Probot
Refactored iOS to use shared component from sentry-cocoa. Also squashed many little bugs on iOS.
- Fixed #281
- Fixed #280
- Fixed #275
- Fixed #274
- Fixed #272
- Fixed #253
We had to rename project.ext.sentry
to project.ext.sentryCli
because our own proguard gradle plugin was conflicting with the name.
The docs already reflect this change.
- #257
We now use the mainThread
to report errors to RNSentry
. This change is necessary in order for react-native to export constants.
This change shouldn't impact anyone using react-native-sentry
since most of the "heavy" load was handled by sentry-cocoa
in its own background queue anyway.
- #259
- #244
Bump sentry-cocoa
to 3.8.3
We decided to deactivate stack trace merging by default on iOS since it seems to unstable right now. To activate it set:
Sentry.config('___DSN___', {
deactivateStacktraceMerging: false,
});
We are looking into ways making this more stable and plan to re-enable it again in the future.
- Added
setShouldSendCallback
#250
- Fix a bug in gradle script that trigged the sourcemap upload twice
- Fixed #245
- Fixed #234
- Fixed #241
- Bump
sentry-cli
version to1.20.0
- Fix frame urls when only using
raven-js
- Upgrade
sentry-java
to1.5.3
- Upgrade
sentry-cocoa
to3.8.1
- Added support for
sampleRate
option
- Fixed #228 again ¯\(ツ)/¯
- Fixed #228
- Add more event properties for
setEventSentSuccessfully
callback on Android
- Fixed #158
- Add
project.ext.sentry = [
logLevel: "debug",
flavorAware: true
]
should be before:
apply from: "../../node_modules/react-native-sentry/sentry.gradle"
This enables sentry-cli
debug output on android builds, also adds flavor aware sentry.properties
files.
- Fixing device farm tests
- Store event on release and send on next startup.
- Fixed an issue where javascript error wasn't sent everytime
- Bump
sentry-cocoa
to3.6.0
- Make
userId
optional for user context - Bump
sentry-cocoa
to3.5.0
- Bump
sentry-java
to1.5.1
- Fix linking step
- Bump
raven-js
to3.17.0
- Fixed #190
- Fix
disableNativeIntegration
proptery to use right transport
- Remove send callback when native integration isn't available.
- Removed strange submodule
- Bump
sentry-java
to1.4.0
- Bump
sentry-cocoa
to3.4.2
- Fixed #182
- Fixed path detection of sentry-cli
- Fixed last release
- Added compatiblity for react-native
0.47.0
- Fixed #169
- Fixed #106
- Bumped
sentry-cocoa
to3.3.3
Also added integration tests running on AWS Device Farm.
- Fixed #124
- Updated to
sentry-cocoa
3.1.2
- Fixed #156
- Fixed #166
- Fixed #161
Fixed #163
- Fixed #159
- Fixes breadcrumb tracking on android
- Improve performance for
react-native >= 0.46
- Bump
sentry-cocoa
andKSCrash
- Push Podspec to
sentry-cocoa
3.1.2
- Removed example project from repo
- Make sure native client is only initialized once
- Revert to
23.0.1
android build tools
- Fixes #131
- Bump
raven-js
3.16.1
- Fixes #136
- Allowing calls to Sentry without calling
install()
- Add internal logging if
logLevel >= SentryLog.Debug
- Use
sentry-cocoa
3.1.2
- Fixes #67
- Fixes #116
- Fixes #51
- Fixed Android version dependency
- Overhauled internal handling of exceptions
- Updated iOS and Android native dependencies
- Fixes #105
- Added option
disableNativeIntegration
- Use sentry-cocoa
3.0.9
- Fixes #100
- Update
raven-js
to3.16.0
- Update
sentry-cocoa
to3.0.8
- Fixes #64
- Fixes #57
- Fix typo
- Add support on iOS for stacktrace merging and
react-native 0.45
- Fixes #92
- Fixes #95
- Fixes #91 #87 #82 #63 #54 #48
- Fixed #90
- Fixed #90
- Fixed #94
- Use
3.0.7
sentry-cocoa
in Podspec
- Removed
RSSwizzle
useSentrySwizzle
instead
Update Podspec to use Sentry/KSCrash
- Fix
duplicate symbol
RSSwizzle
when using CocoaPods
- Use
sentry-cocoa
3.0.1
- Fix #77
- Use android buildToolsVersion 23.0.1
- Fix Xcode archive to not build generic archive
- Fix Xcode archiving
- Using latest version of
sentry-cocoa
This is a big release because we switched our internal iOS client from swift to objc which drastically improve the setup experience and compatibility.
We also added support for codepush, please check the docs https://docs.sentry.io/clients/react-native/codepush/ for more information.
After updating run react-native unlink react-native-sentry
and react-native link react-native-sentry
again in order to setup everything correctly.
- Greatly improved the linking process. Check out our docs for more information https://docs.sentry.io/clients/react-native/
- Update to sentry 2.1.11 which fixes a critical bug regarding sending requests on iOS
- Improve link and unlink scripts
- Fixed: bad operand types for binary operator
- Put execution on iOS into a background thread
- Add parameter checks on android
- Bump sentry version to 2.1.10 to fix releases
- Updated podspec thx @alloy
- Added command to package json to inject MainApplication.java into RNSentryPackage
- Added native android support
- raven-js is always used we use the native clients for sending events and add more context to them
- Bump KSCrash and Sentry version
Use raven-js
internally instead switching between native and raven-js.
Native client will be used when available.
Alot of API changes to more like raven-js
- Fix import for
#if __has_include(<React/RNSentry.h>)
#import <React/RNSentry.h> // This is used for versions of react >= 0.40
#else
#import "RNSentry.h" // This is used for versions of react < 0.40
#endif
- Prefix filepath with
app://
if RavenClient is used
- Fix
npm test
- Added
forceRavenClient
option which forces to use RavenClient instead of the NativeClient
- Added support for installation with cocoapods see https://docs.sentry.io/clients/react-native/#setup-with-cocoapods
- Lowered minimum version requirement for
react-native
to0.38.0
- Added
ignoreModulesExclude
to exclude modules that are ignored by default for stacktrace merging - Added
ignoreModulesInclude
to add additional modules that should be ignored for stacktrace merging