Skip to content

Releases: getsentry/sentry-react-native

6.1.0

21 Oct 15:07
Compare
Choose a tag to compare

Dependencies

5.35.0-beta.0

21 Oct 13:21
Compare
Choose a tag to compare
5.35.0-beta.0 Pre-release
Pre-release

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)

6.0.0

16 Oct 08:41
Compare
Choose a tag to compare

This is a new major version 6.0.0 of the Sentry React Native SDK.
To upgrade from the SDK version 5, please follow our migration guide.

Major Changes

  • React Native Tracing options were moved to the root options

    import * as Sentry from '@sentry/react-native'
    
    Sentry.init({
      tracesSampleRate: 1.0,
      enableAppStartTracking: true, // default true
      enableNativeFramesTracking: true, // default true
      enableStallTracking: true, // default true
      enableUserInteractionTracing: true, // default false
      integrations: [
        Sentry.reactNativeTracingIntegration({
          beforeStartSpan: (startSpanOptions) => {
            startSpanOptions.name = 'New Name';
            return startSpanOptions;
          },
        }),
        Sentry.appStartIntegration({
          standalone: false, // default false
        }),
      ],
    });
  • New React Navigation Integration interface (#4003)

    import * as Sentry from '@sentry/react-native';
    import { NavigationContainer } from '@react-navigation/native';
    
    const reactNavigationIntegration = Sentry.reactNavigationIntegration();
    
    Sentry.init({
      tracesSampleRate: 1.0,
      integrations: [reactNavigationIntegration],
    });
    
    function RootComponent() {
      const navigation = React.useRef(null);
    
      return <NavigationContainer ref={navigation}
        onReady={() => {
          reactNavigationIntegration.registerNavigationContainer(navigation);
        }}>
      </NavigationContainer>;
    }
  • Removed beforeNavigate use beforeStartSpan instead (#3998)

    • beforeStartSpan is executed before the span start, compared to beforeNavigate which was executed before the navigation ended (after the span was created)

Other Changes

  • Add sentry.origin to SDK spans to indicated if spans are created by a part of the SDK or manually (#4066)

  • Xcode Debug Files upload completes in foreground by default (#4090)

  • Set parentSpanIsAlwaysRootSpan to true to make parent of network requests predictable (#4084)

  • Remove deprecated enableSpotlight and spotlightSidecarUrl (#4086)

  • tracePropagationTargets defaults to all targets on mobile and same origin on the web (#4083)

  • Move _experiments.profilesSampleRate to profilesSampleRate root options object #3851)

  • Native Frames uses spanId to attach frames replacing traceId (#4030)

  • Removed deprecated ReactNativeTracing option idleTimeout use idleTimeoutMs instead (#3998)

  • Removed deprecated ReactNativeTracing option maxTransactionDuration use finalTimeoutMs instead (#3998)

  • New Native Frames Integration (#3996)

  • New Stall Tracking Integration (#3997)

  • New User Interaction Tracing Integration (#3999)

  • New App Start Integration (#3852)

    • By default app start spans are attached to the first created transaction.
    • Standalone mode creates single root span (transaction) including only app start data.
  • New React Native Navigation Integration interface (#4003)

    import * as Sentry from '@sentry/react-native';
    import { Navigation } from 'react-native-navigation';
    
    Sentry.init({
      tracesSampleRate: 1.0,
      integrations: [
        Sentry.reactNativeNavigationIntegration({ navigation: Navigation })
      ],
    });

Fixes

  • 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)
  • Upload source maps for all splits on Android (not only the last found) (#4125)

Dependencies

5.34.0

15 Oct 07:53
Compare
Choose a tag to compare

Fixes

  • Handles error with string cause (#4163)
  • Use appLaunchedInForeground to determine invalid app start data on Android (#4146)
  • Upload source maps for all release variants on Android (not only the last found) (#4125)

Dependencies

6.0.0-rc.1

08 Oct 10:36
Compare
Choose a tag to compare
6.0.0-rc.1 Pre-release
Pre-release

Fixes

  • Upload source maps for all splits on Android (not only the last found) (#4125)

Dependencies

5.33.2

07 Oct 14:11
Compare
Choose a tag to compare

Fixes

  • Emits Bridge log only in debug mode (#4145)
  • Remove unused spanName from TimeToDisplayProps (#4150)

Dependencies

6.0.0-rc.0

01 Oct 17:09
Compare
Choose a tag to compare
6.0.0-rc.0 Pre-release
Pre-release

This is a release candidate version of the next major version of the Sentry React Native SDK 6.0.0.
This version includes all the changes from the previous 6.0.0-beta.0 and the latest 5.33.1 version.

Changes

  • Xcode Debug Files upload completes in foreground by default (#4090)
    • Use SENTRY_FORCE_FOREGROUND=false for background upload

Dependencies

5.33.1

23 Sep 07:19
Compare
Choose a tag to compare

Internal

This is re-release of 5.33.0 with no changes to ensure that 5.33.1 is tagged as latest release on npmjs.com

5.24.3

20 Sep 08:05
Compare
Choose a tag to compare

Fixes

  • Support metro@0.80.10 new sourceMapString export (#4004)

Dependencies

5.33.0 (Stable)

18 Sep 15:37
Compare
Choose a tag to compare

Features

  • Add an option to disable native (iOS and Android) profiling for the HermesProfiling integration (#4094)

    To disable native profilers add the hermesProfilingIntegration.

    import * as Sentry from '@sentry/react-native';
    
    Sentry.init({
      integrations: [
        Sentry.hermesProfilingIntegration({ platformProfilers: false }),
      ],
    });