Sentry React Native Versions Save

Official Sentry SDK for React-Native

5.19.0

3 months ago

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

4 months ago

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

4 months ago

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

4 months ago

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)

5.16.0-alpha.4

4 months ago

Fixes

  • Make getSentryExpoConfig options parameter optional (#3514)
  • Use @sentry/react-native/expo as plugin name in expo-upload-sourcemaps.js (#3515)

5.16.0-alpha.3

4 months ago

This release is compatible with [email protected] and newer.

Features

  • withSentryExpoSerializers changes to getSentryExpoConfig (#3501)

    • getSentryExpoConfig accepts the same parameters as getDefaultConfig from expo/metro-config and returns Metro configuration
    • This also works for EAS Updates (and expo export). Debug ID is generated by expo/metro-config and used by Sentry.
    const { getSentryExpoConfig } = require("@sentry/react-native/metro");
    const config = getSentryExpoConfig(config, {});
    
  • Add npx sentry-expo-upload-sourcemaps for simple EAS Update (expo export) source maps upload to Sentry (#3491, #3510)

    SENTRY_PROJECT=project-slug \
    SENTRY_ORG=org-slug \
    SENTRY_AUTH_TOKEN=super-secret-token \
    npx sentry-expo-upload-sourcemaps dist
    
  • Sentry CLI binary path in scripts/expo-upload-sourcemaps.js is resolved dynamically (#3507)

    • Or can be overwritten by SENTRY_CLI_EXECUTABLE env
  • 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)

Fixes

  • Includes fixes from version 5.15.2

5.15.2

5 months ago

Fixes

  • Stop sending navigation route params for auto-generated transactions, as they may contain PII or other sensitive data (#3487)

5.16.0-alpha.2

5 months ago

Features

  • Add withSentryExpoSerializers for easy configurable metro.config.js (#3454)

    This Serializer doesn't support EAS Updates (and expo export) commands yet. Debug IDs needed for source maps resolution in Sentry are generated only during native builds.

    const { getDefaultConfig } = require('expo/metro-config');
    const { withSentryExpoSerializers } = require("@sentry/react-native/metro");
    
    const config = getDefaultConfig(__dirname);
    module.exports = withSentryExpoSerializers(config);
    

    Note that this will remove any existing customSerializer. Guide for advanced setups can be found here.

Fixes

  • Expo SDK minimum version is 49 (#3453)
  • Remove RN Internal imports for RN Web builds (#3462)
  • Remove circular dependencies inside of the SDK (#3464)
  • Includes fixes from version 5.15.1

5.15.1

5 months ago

Fixes

  • Sentry CLI upgrade resolves Xcode Could timeout during source maps upload #3390

Dependencies

5.16.0-alpha.1

5 months ago

Features

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

    This Release introduces the first alpha version of our new SDK for Expo. At this time, the SDK is considered experimental and things might break and change in future versions.

    The core of the SDK is Expo plugin which you can easily add to your App config:

    const { withSentry } = require('@sentry/react-native/expo');
    
    const config = {...};
    
    module.exports = withSentry(config, {
      url: 'https://www.sentry.io/',
      authToken: 'example-token', // Or use SENTRY_AUTH_TOKEN env
      project: 'project-slug', // Or use SENTRY_PROJECT env
      organization: 'org-slug', // Or use SENTRY_ORG env
    });
    
    • And Sentry.init in App.js
    import * as Sentry from '@sentry/react-native';
    
    Sentry.init({
      dsn: '__DSN__',
    });
    
  • Update sentry-xcode.sh scripts with Node modules resolution (#3450)

    • RN SDK and Sentry CLI are dynamically resolved if override is not supplied

Fixes

  • Transform shipped JSX for both react-native and web (#3428)
    • Removes builds errors when using react-native-web with Webpack