Skip to content

Releases: getsentry/sentry-react-native

5.22.0

17 Apr 13:14
Compare
Choose a tag to compare

Features

  • Updated metric normalization from @sentry/core (#11519)
  • Metric rate limiting from sentry-cocoa and sentry-android

Dependencies

5.21.0

17 Apr 07:17
Compare
Choose a tag to compare

Features

  • Add getDefaultConfig option to getSentryExpoConfig (#3690)
  • Add beforeScreenshot option to ReactNativeOptions (#3715)

Fixes

  • Do not enable NativeFramesTracking when native is not available (#3705)
  • Do not initialize the SDK during expo-router static routes generation (#3730)
  • Cancel spans in background doesn't crash in environments without AppState (#3727)
  • Fix missing Stall measurements when using new .end() span API (#3737)
  • Change TimeToDisplay unsupported log from error to warning level. (#3699)

Dependencies

5.20.0

19 Mar 08:51
Compare
Choose a tag to compare

Features

  • Automatic tracing of time to initial display for react-navigation (#3588)

    When enabled the instrumentation will create TTID spans and measurements.
    The TTID timestamp represent moment when the react-navigation screen
    was rendered by the native code.

    const routingInstrumentation = new Sentry.ReactNavigationInstrumentation({
      enableTimeToInitialDisplay: true,
    });
    
    Sentry.init({
      integrations: [new Sentry.ReactNativeTracing({routingInstrumentation})],
    });
  • Tracing of full display using manual API (#3654)

    In combination with the react-navigation automatic instrumentation you can record when
    the application screen is fully rendered.

    For more examples and manual time to initial display see the documentation.

    function Example() {
      const [loaded] = React.useState(false);
    
      return <View>
        <Sentry.TimeToFullDisplay record={loaded}>
          <Text>Example content</Text>
        </Sentry.TimeToFullDisplay>
      </View>;
    }

Fixes

  • Allow custom sentryUrl for Expo updates source maps uploads (#3664)
  • Missing Mobile Vitals (slow, frozen frames) when ActiveSpan (Transaction) is trimmed at the end (#3684)

5.19.3

14 Mar 11:38
Compare
Choose a tag to compare

Fixes

  • Multiple Debug IDs can be loaded into the global polyfill (#3660)
    • This fixes a symbolication issue with Expo on the web with enabled bundle splitting.

Dependencies

5.19.2

06 Mar 09:24
Compare
Choose a tag to compare

Fixes

  • expo-upload-sourcemaps now works on Windows (#3643)
  • Option enabled: false ensures no events are sent (#3606)
  • Ignore JSON response when retrieving source context from local Expo Dev Server (#3611)
  • Upload native debug files only for non-debug builds (#3649)
  • TurboModuleRegistry should not be imported in web applications (#3610)

Dependencies

5.19.1

26 Feb 16:34
Compare
Choose a tag to compare

Fixes

  • Don't add Expo Plugin option authToken to application bundle (#3630)
    • Expo plugin configurations are generally stored in plain text, and are also automatically added to built app bundles, and are therefore considered insecure.
    • You should not set the auth token in the plugin config except for local testing. Instead, use the SENTRY_AUTH_TOKEN env variable, as pointed out in our docs.
    • In addition to showing a warning, we are now actively removing an authToken from the plugin config if it was set.
    • If you had set the auth token in the plugin config previously, and built and published an app with that config, you should rotate your token.
  • Reduce waning messages spam when a property in Expo plugin configuration is missing (#3631)
  • Add concrete error messages for RN bundle build phase patch (#3626)

5.19.0

14 Feb 09:33
Compare
Choose a tag to compare

This release contains upgrade of sentry-android dependency to major version 7. There are no breaking changes in the JS API. If you are using the Android API please check the migration guide.

Features

  • Add Android profiles to React Native Profiling (#3397)

  • Add Sentry.metrics (#3590)

    To learn more, see the Set Up Metrics guide.

    import * as Sentry from '@sentry/react-native';
    
    Sentry.init({
      dsn: '___DSN___',
      integrations: [
        Sentry.metrics.metricsAggregatorIntegration(),
      ],
    });
    
    Sentry.metrics.increment("button_click", 1, {
      tags: { system: "iOS", app_version: "1.0.0" },
    });

Fixes

  • Upload Debug Symbols Build Phase continues when node not found in WITH_ENVIRONMENT (#3573)
  • Fix proguardUuid loading on Android (#3591)

Dependencies

5.18.0

01 Feb 15:25
Compare
Choose a tag to compare

Features

  • Add @spotlightjs/spotlight support (#3550)

    Download the Spotlight desktop application and add the integration to your Sentry.init.

    import * as Sentry from '@sentry/react-native';
    
    Sentry.init({
      dsn: '___DSN___',
      enableSpotlight: __DEV__,
    });
  • Only upload Expo artifact if source map exists (#3568)

  • Read .env file in sentry-expo-upload-sourcemaps (#3571)

Fixes

  • Prevent pod install crash when visionos is not present (#3548)
  • Fetch Organization slug from @sentry/react-native/expo config when uploading artifacts (#3557)
  • Remove 404 Http Client Errors reports for Metro Dev Server Requests (#3553)
  • Stop tracing Spotlight Sidecar network request in JS (#3559)

5.17.0

23 Jan 18:07
Compare
Choose a tag to compare

Features

  • New Sentry Metro configuration function withSentryConfig (#3478)

    • Ensures all Sentry configuration is added to your Metro config
    • Includes createSentryMetroSerializer
    • Collapses Sentry internal frames from the stack trace view in LogBox
    const { getDefaultConfig } = require('@react-native/metro-config');
    const { withSentryConfig } = require('@sentry/react-native/metro');
    
    const config = getDefaultConfig(__dirname);
    module.exports = withSentryConfig(config);
  • Add experimental visionOS support (#3467)

Fixes

  • Fix WITH_ENVIRONMENT overwrite in sentry-xcode-debug-files.sh (#3525)
  • Sentry CLI 2.25.1 fixes background debug files uploads during Xcode builds (#3486)
  • Performance Tracing should be disabled by default (#3533)
  • Use $NODE_BINARY to execute Sentry CLI in Xcode scripts (#3493)
  • Return auto Release and Dist to source maps auto upload (#3540)

Dependencies

5.16.0

15 Jan 17:15
Compare
Choose a tag to compare

This release ships with a beta version of our new built-in Expo SDK 50 support, which replaces the deprecated sentry-expo package. To learn more, see the Expo guide.

Features

  • New @sentry/react-native/expo Expo config plugin (#3429)

    const { withSentry } = require('@sentry/react-native/expo');
    
    const config = {...};
    
    module.exports = withSentry(config, {
      url: 'https://sentry.io/',
      project: 'project-slug', // Or use SENTRY_PROJECT env
      organization: 'org-slug', // Or use SENTRY_ORG env
    });
    export SENTRY_AUTH_TOKEN=__sentry_auth_token__
    • And Sentry.init in App.js
    import * as Sentry from '@sentry/react-native';
    
    Sentry.init({
      dsn: '__DSN__',
    });
  • New getSentryExpoConfig for simple Metro configuration (#3454, #3501, #3514)

    • This function is a drop in replacement for getDefaultConfig from expo/metro-config
    // const { getDefaultConfig } = require("expo/metro-config");
    const { getSentryExpoConfig } = require("@sentry/react-native/metro");
    
    // const config = getDefaultConfig(__dirname);
    const config = getSentryExpoConfig(config, {});
  • New npx sentry-expo-upload-sourcemaps for simple EAS Update (npx expo export) source maps upload (#3491, #3510, #3515, #3507)

    SENTRY_PROJECT=project-slug \
    SENTRY_ORG=org-slug \
    SENTRY_AUTH_TOKEN=super-secret-token \
    npx sentry-expo-upload-sourcemaps dist

Others

  • Update sentry-xcode.sh scripts with Node modules resolution (#3450)
    • RN SDK and Sentry CLI are dynamically resolved if override is not supplied
  • Resolve Default Integrations based on current platform (#3465)
    • Native Integrations are only added if Native Module is available
    • Web Integrations only for React Native Web builds
  • Remove Native Modules warning from platform where the absence is expected (#3466)
  • Add Expo Context information using Expo Native Modules (#3466)
  • Errors from InternalBytecode.js are no longer marked as in_app (#3518)
  • Fix system node can't be overwritten in sentry-xcode-debug-files.sh (#3523)