Skip to content

Releases: getsentry/sentry-react-native

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)

5.16.0-alpha.4

10 Jan 17:19
Compare
Choose a tag to compare
5.16.0-alpha.4 Pre-release
Pre-release

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

10 Jan 09:31
Compare
Choose a tag to compare
5.16.0-alpha.3 Pre-release
Pre-release

This release is compatible with expo@50.0.0-preview.6 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

22 Dec 13:09
Compare
Choose a tag to compare

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

13 Dec 15:15
Compare
Choose a tag to compare
5.16.0-alpha.2 Pre-release
Pre-release

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

07 Dec 10:50
Compare
Choose a tag to compare

Fixes

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

Dependencies

5.16.0-alpha.1

05 Dec 12:36
Compare
Choose a tag to compare
5.16.0-alpha.1 Pre-release
Pre-release

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

5.15.0

05 Dec 10:26
Compare
Choose a tag to compare

Features

  • New simplified Sentry Metro Serializer export (#3450)

    const { createSentryMetroSerializer } = require('@sentry/react-native/metro');

Fixes

  • Encode envelopes using Base64, fix array length limit when transferring over Bridge. (#2852)
    • This fix requires a rebuild of the native app
  • Symbolicate message and non-Error stacktraces locally in debug mode (#3420)
  • Remove Sentry SDK frames from rejected promise SyntheticError stack (#3423)
  • Fix path from Xcode scripts to Collect Modules (#3451)

Dependencies

5.14.1

23 Nov 15:17
Compare
Choose a tag to compare

Fixes

  • Add hermes to Pod dependencies to fix profiling with use_frameworks (#3416)
  • Define SentryCurrentDateProvider in RNSentry (#3418)