Skip to content

Releases: getsentry/sentry-react-native

6.14.0

15 May 09:39
Compare
Choose a tag to compare

Fixes

  • Expo Updates Context is passed to native after native init to be available for crashes (#4808)
  • Expo Updates Context values should all be lowercase (#4809)
  • Avoid duplicate network requests (fetch, xhr) by default (#4816)
    • traceFetch is disabled by default on mobile as RN uses a polyfill which will be traced by traceXHR

Changes

  • Renames enableExperimentalViewRenderer to enableViewRendererV2 which is enabled by default for up to 5x times more performance in Session Replay on iOS (#4815)

Dependencies

7.0.0-alpha.0

12 May 08:43
Compare
Choose a tag to compare
7.0.0-alpha.0 Pre-release
Pre-release

Upgrading from 6.x to 7.0

Version 7 of the Sentry React Native SDK primarily introduces API cleanup and version support changes based on the Sentry Javascript SDK version 9. This update contains behavioral changes that will not be caught by type checkers, linters, or tests, so we recommend carefully reading through the entire migration guide instead of relying on automatic tooling.

Version 7 of the SDK is compatible with Sentry self-hosted versions 24.4.2 or higher (unchanged from v6). Lower versions may continue to work, but may not support all features.

Fixes

  • Expo Updates Context is passed to native after native init to be available for crashes (#4808)
  • Expo Updates Context values should all be lowercase (#4809)
  • Avoid duplicate network requests (fetch, xhr) by default (#4816)
    • traceFetch is disabled by default on mobile as RN uses a polyfill which will be traced by traceXHR

Major Changes

  • Set {{auto}} if user.ip_address is undefined and sendDefaultPii: true (#4466)
  • Exceptions from captureConsoleIntegration are now marked as handled: true by default
  • shutdownTimeout moved from core to @sentry/react-native
  • hasTracingEnabled was renamed to hasSpansEnabled
  • You can no longer drop spans or return null on beforeSendSpan hook

Removed types

  • TransactionNamingScheme
  • Request
  • Scope (prefer using the Scope class)

Other removed items.

  • autoSessionTracking from options.
    To enable session tracking, ensure that enableAutoSessionTracking is enabled.
  • enableTracing. Instead, set tracesSampleRate to a value greater than zero to enable tracing, 0 to keep tracing integrations active without sampling, or undefined to disable the performance integration.
  • getCurrentHub(), Hub, and getCurrentHubShim()
  • spanId from propagation context
  • metrics API
  • transactionContext from samplingContext
  • @sentry/utils package, the exports were moved to @sentry/core
  • Standalone Client interface & deprecate BaseClient

Other Changes

  • Fork scope if custom scope is passed to startSpanManual or startSpan
  • On React Native Web, browserSessionIntegration is added when enableAutoSessionTracking is set to True (#4732)
    Change Cold/Warm App Start span description to Cold/Warm Start (#4636)

Dependencies

6.13.1

05 May 15:12
Compare
Choose a tag to compare

Fixes

  • Disable native driver for Feedback Widget backgroundColor animation in unsupported React Native versions (#4794)
  • Fix Debug Symbolicator for local development builds (use RN 0.79 default exports) (#4801)

6.13.0

30 Apr 11:07
Compare
Choose a tag to compare

Changes

  • Fallback to Current Activity Holder when React Context Activity is not present (#4779)
  • Support REACT_NATIVE_PATH env in Xcode Debug Files upload scripts (#4789)

Fixes

  • Initialize Sentry Android with ApplicationContext if available (#4780)

Dependencies

6.12.0

29 Apr 13:37
Compare
Choose a tag to compare

Features

  • Add Expo Updates Event Context (#4767, #4786)
    • Automatically collects updateId, channel, Emergency Launch Reason and other Expo Updates constants

Fixes

  • Export extraErrorDataIntegration from @sentry/core (#4762)
  • Remove @sentry-internal/replay when includeWebReplay: false (#4774)

Dependencies

6.11.0

23 Apr 08:37
Compare
Choose a tag to compare

Features

  • Improve Warm App Start reporting on Android (#4641, #4695)

  • Add createTimeToInitialDisplay({useFocusEffect}) and createTimeToFullDisplay({useFocusEffect}) to allow record full display on screen focus (#4665)

  • Add support for measuring Time to Initial Display for already seen routes (#4661)

    • Introduce enableTimeToInitialDisplayForPreloadedRoutes option to the React Navigation integration.
    Sentry.reactNavigationIntegration({
      enableTimeToInitialDisplayForPreloadedRoutes: true,
    });
  • Add useDispatchedActionData option to the React Navigation integration to filter out navigation actions that should not create spans (#4684)

    • For example PRELOAD, SET_PARAMS, TOGGLE_DRAWER and others.
    Sentry.reactNavigationIntegration({
      useDispatchedActionData: true,
    });

Fixes

  • Equalize TTID and TTFD duration when TTFD manual API is called and resolved before auto TTID (#4680)
  • Avoid loading Sentry native components in Expo Go (#4696)
  • Avoid silent failure when JS bundle was not created due to Sentry Xcode scripts failure (#4690)
  • Prevent crash on iOS during profiling stop when debug images are missing (#4738)
  • Attach only App Starts within the 60s threshold (fixed comparison units, use ms) (#4746)
  • Add missing popTimeToDisplayFor in to the Android Old Arch Native interface(#4751)

Changes

  • Change gradle.projectsEvaluated to project.afterEvaluate in the Sentry Gradle Plugin to fix tasks not being created when using --configure-on-demand (#4687)
  • Remove SENTRY_FORCE_FOREGROUND from Xcode Scripts as the underlying --force-foreground Sentry CLI is no-op since v2.37.0 (#4689)
  • TTID and TTFD use native getters instead od events to pass timestamps to the JS layer (#4669, #4681)

Dependencies

6.11.0-beta.0

27 Mar 10:27
Compare
Choose a tag to compare
6.11.0-beta.0 Pre-release
Pre-release

Features

  • Improve Warm App Start reporting on Android (#4641, #4695)

  • Add createTimeToInitialDisplay({useFocusEffect}) and createTimeToFullDisplay({useFocusEffect}) to allow record full display on screen focus (#4665)

  • Add support for measuring Time to Initial Display for already seen routes (#4661)

    • Introduce enableTimeToInitialDisplayForPreloadedRoutes option to the React Navigation integration.
    Sentry.reactNavigationIntegration({
      enableTimeToInitialDisplayForPreloadedRoutes: true,
    });
  • Add useDispatchedActionData option to the React Navigation integration to filter out navigation actions that should not create spans (#4684)

    • For example PRELOAD, SET_PARAMS, TOGGLE_DRAWER and others.
    Sentry.reactNavigationIntegration({
      useDispatchedActionData: true,
    });

Fixes

  • Equalize TTID and TTFD duration when TTFD manual API is called and resolved before auto TTID (#4680)
  • Avoid loading Sentry native components in Expo Go (#4696)

Changes

  • Change gradle.projectsEvaluated to project.afterEvaluate in the Sentry Gradle Plugin to fix tasks not being created when using --configure-on-demand (#4687)
  • Remove SENTRY_FORCE_FOREGROUND from Xcode Scripts as the underlying --force-foreground Sentry CLI is no-op since v2.37.0 (#4689)
  • TTID and TTFD use native getters instead od events to pass timestamps to the JS layer (#4669, #4681)

6.10.0 (Stable)

25 Mar 18:01
Compare
Choose a tag to compare

Features

  • Add thread information to spans (#4579)

  • Exposed getDataFromUri as a public API to retrieve data from a URI (#4638)

  • Add enableExperimentalViewRenderer to enable up to 5x times more performance in Session Replay on iOS (#4660)

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

Fixes

  • Considers the SENTRY_DISABLE_AUTO_UPLOAD and SENTRY_DISABLE_NATIVE_DEBUG_UPLOAD environment variables in the configuration of the Sentry Android Gradle Plugin for Expo plugin (#4583)
  • Handle non-string category in getCurrentScreen on iOS (#4629)
  • Use route name instead of route key for current route tracking (#4650)
    • Using key caused user interaction transaction names to contain route hash in the name.

Dependencies

6.9.1

11 Mar 17:03
Compare
Choose a tag to compare

Fixes

  • Fixes missing Cold Start measurements by bumping the Android SDK version to v7.22.1 (#4643)
  • Attach App Start spans to the first created not the first processed root span (#4618, #4644)

Dependencies

6.9.0

24 Feb 14:39
Compare
Choose a tag to compare

Warning

This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
See issue #4598 for more details.

Features

  • User Feedback Widget Beta (#4435)

    To collect user feedback from inside your application call Sentry.showFeedbackWidget().

    import Sentry from "@sentry/react-native";
    
    Sentry.showFeedbackWidget();
    
    Sentry.wrap(RootComponent);

    To change the default options add Sentry.feedbackIntegration().

    import Sentry from "@sentry/react-native";
    import * as ImagePicker from 'expo-image-picker';
    
    Sentry.init({
      integrations: [
        Sentry.feedbackIntegration({
          imagePicker: ImagePicker,
          showName: true,
          showEmail: true,
        }),
      ],
    });

    To learn more about the available configuration options visit the documentation.