Skip to content

Releases: getsentry/sentry-react-native

6.5.0-beta.1

10 Dec 10:11
Compare
Choose a tag to compare
6.5.0-beta.1 Pre-release
Pre-release

Features

  • Adds new captureFeedback and deprecates the captureUserFeedback API (#4320)

    import * as Sentry from "@sentry/react-native";
    
    const eventId = Sentry.lastEventId();
    
    Sentry.captureFeedback({
      name: "John Doe",
      email: "[email protected]",
      message: "Hello World!",
      associatedEventId: eventId, // optional
    }, {
      captureContext: {
        tags: { "tag-key": "tag-value" },
      },
      attachments: [
        {
          filename: 'hello.txt',
          data: 'Hello, World!',
        },
      ],
    });

Fixes

  • Return lastEventId export from @sentry/core (#4315)
  • Don't log file not found errors when loading envs in sentry-expo-upload-sourcemaps (#4332)
  • Navigation Span should have no parent by default (#4326)

Dependencies

6.4.0

04 Dec 10:13
Compare
Choose a tag to compare

Features

  • Add Replay Custom Masking for iOS, Android and Web (#4224, #4265, #4272, #4314)

    import * as Sentry from '@sentry/react-native';
    
    const Example = () => {
      return (
        <View>
          <Sentry.Mask>
            <Text>${"All children of Sentry.Mask will be masked."}</Text>
          </Sentry.Mask>
          <Sentry.Unmask>
            <Text>${"Only direct children of Sentry.Unmask will be unmasked."}</Text>
          </Sentry.Unmask>
        </View>
      );
    };

5.36.0

03 Dec 16:36
Compare
Choose a tag to compare

Fixes

  • Replay maskAll* set to false on iOS kept all masked (#4257, #4309)
  • browserReplayIntegration is no longer included by default on React Native Web (#4270, #4308)
  • Fix Replay redacting of RN Classes on iOS (#4243, #4309)

Dependencies

6.4.0-beta.1

26 Nov 12:59
Compare
Choose a tag to compare
6.4.0-beta.1 Pre-release
Pre-release

Features

  • Add Replay Custom Masking for iOS, Android and Web (#4224, #4265, #4272, #4314)

    import * as Sentry from '@sentry/react-native';
    
    const Example = () => {
      return (
        <View>
          <Sentry.Mask>
            <Text>${"All children of Sentry.Mask will be masked."}</Text>
          </Sentry.Mask>
          <Sentry.Unmask>
            <Text>${"Only direct children of Sentry.Unmask will be unmasked."}</Text>
          </Sentry.Unmask>
        </View>
      );
    };

6.3.0

25 Nov 16:19
Compare
Choose a tag to compare

Features

  • Add support for .env.sentry-build-plugin (#4281)

    Don't commit the file to your repository. Use it to set your Sentry Auth Token.

    SENTRY_AUTH_TOKEN=your_token_here
    
  • Add Sentry Metro Server Source Context middleware (#4287)

    This enables the SDK to add source context to locally symbolicated events using the Metro Development Server.
    The middleware can be disabled in metro.config.js using the enableSourceContextInDevelopment option.

    // Expo
    const { getSentryExpoConfig } = require('@sentry/react-native/metro');
    const config = getSentryExpoConfig(__dirname, {
      enableSourceContextInDevelopment: false,
    });
    
    // React Native
    const { withSentryConfig } = require('@sentry/react-native/metro');
    module.exports = withSentryConfig(config, {
      enableSourceContextInDevelopment: false,
    });

Fixes

  • Prevents exception capture context from being overwritten by native scope sync (#4124)
  • Excludes Dev Server and Sentry Dsn requests from Breadcrumbs (#4240)
  • Skips development server spans (#4271)
  • Execute DebugSymbolicator after RewriteFrames to avoid overwrites by default (#4285)
    • If custom RewriteFrames is provided the order changes
  • browserReplayIntegration is no longer included by default on React Native Web (#4270)
  • Remove .sentry tmp directory and use environmental variables instead to save default Babel transformer path (#4298)
    • This resolves concurrency issues when running multiple bundle processes

Dependencies

6.3.0-beta.2

20 Nov 17:27
Compare
Choose a tag to compare
6.3.0-beta.2 Pre-release
Pre-release

Dependencies

6.3.0-beta.1

19 Nov 15:23
Compare
Choose a tag to compare
6.3.0-beta.1 Pre-release
Pre-release

Features

  • Add support for .env.sentry-build-plugin (#4281)

    Don't commit the file to your repository. Use it to set your Sentry Auth Token.

    SENTRY_AUTH_TOKEN=your_token_here
    
  • Add Sentry Metro Server Source Context middleware (#4287)

    This enables the SDK to add source context to locally symbolicated events using the Metro Development Server.
    The middleware can be disabled in metro.config.js using the enableSourceContextInDevelopment option.

    // Expo
    const { getSentryExpoConfig } = require('@sentry/react-native/metro');
    const config = getSentryExpoConfig(__dirname, {
      enableSourceContextInDevelopment: false,
    });
    
    // React Native
    const { withSentryConfig } = require('@sentry/react-native/metro');
    module.exports = withSentryConfig(config, {
      enableSourceContextInDevelopment: false,
    });

Fixes

  • Prevents exception capture context from being overwritten by native scope sync (#4124)
  • Excludes Dev Server and Sentry Dsn requests from Breadcrumbs (#4240)
  • Skips development server spans (#4271)
  • Execute DebugSymbolicator after RewriteFrames to avoid overwrites by default (#4285)
    • If custom RewriteFrames is provided the order changes
  • browserReplayIntegration is no longer included by default on React Native Web (#4270)

Dependencies

6.2.0

18 Nov 11:17
Compare
Choose a tag to compare

Features

  • Enables Spotlight in Android and iOS SDKs (#4211)

  • Add env flag SENTRY_DISABLE_NATIVE_DEBUG_UPLOAD to allow disabling the debug file upload (#4223)

    How to use in Android project? It works by default, just set export SENTRY_DISABLE_NATIVE_DEBUG_UPLOAD=true in your build environment. For Sentry Android Gradle Plugin add the following to your android/app/build.gradle.

    apply from: "../../../sentry.gradle"
    
    sentry {
        autoUploadProguardMapping = shouldSentryAutoUpload()
        uploadNativeSymbols = shouldSentryAutoUpload()
    }

    How to use in Xcode? Make sure you are using scripts/sentry-xcode.sh and scripts/sentry-xcode-debug-files.sh in your
    build phases. And add the following to your ios/.xcode.env.local file.

    export SENTRY_DISABLE_NATIVE_DEBUG_UPLOAD=true

Fixes

  • Ignore JavascriptException to filter out obfuscated duplicate JS Errors on Android (#4232)
  • Skips ignoring require cycle logs for RN 0.70 or newer (#4214)
  • Enhanced accuracy of time-to-display spans. (#4189)
  • Fix Replay redacting of RN Classes on iOS (#4243)
  • Speed up getBinaryImages for finishing transactions and capturing events (#4194)
  • Remove duplicate HTTP Client Errors on iOS (#4250)
  • Replay maskAll* set to false on iOS kept all masked (#4257)
  • Add missing getRootSpan, withActiveSpan and suppressTracing exports from @sentry/core, and SeverityLevel export from @sentry/types (#4254, #4260)

Dependencies

5.35.0

05 Nov 17:42
1d15d81
Compare
Choose a tag to compare

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.1.0 (Stable)

21 Oct 15:07
Compare
Choose a tag to compare

Dependencies