Skip to content

Releases: getsentry/sentry-react-native

7.0.1

03 Sep 12:50
a7de1bc
Compare
Choose a tag to compare

Important Changes

This release includes a fix for a behaviour change
that was originally fixed on version 6.21.0 of the React Native SDK: User IP Addresses should only be added to Sentry events automatically,
if sendDefaultPii was set to true.

To avoid making a major bump, the fix was patched on the current version and not by bumping to V8.
There is no API breakage involved and hence it is safe to update.
However, after updating the SDK, events (errors, traces, replays, etc.) sent from the browser, will only include
user IP addresses, if you set sendDefaultPii: true in your Sentry.init options.

We apologize for any inconvenience caused!

Fixes

  • Ensure IP address is only inferred by Relay if sendDefaultPii is true (#5138)

Dependencies

7.0.0

02 Sep 17:55
cf40b19
Compare
Choose a tag to compare

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 versions 9 and 10. 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 25.2.0 or higher (up from 24.4.2 for v6). Lower versions may continue to work, but may not support all features.

See our migration docs for more information.

Major Changes

  • Ensure IP address is only inferred by Relay if sendDefaultPii is true (#5111)

  • Set {{auto}} if user.ip_address is undefined and sendDefaultPii: true (#4466)

  • Sentry.captureUserFeedback removed, use Sentry.captureFeedback instead (#4855)

  • 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

  • Tags formatting logic updated (#4965)
    Here are the altered/unaltered types, make sure to update your UI filters and alerts.

    Unaltered: string, null, number, and undefined values remain unchanged.

    Altered: Boolean values are now capitalized: true -> True, false -> False.

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

Changes

  • Expose featureFlagsIntegration (#4984)
  • Expose logger and consoleLoggingIntegration (#4930)
  • Remove deprecated appOwnership constant use in Expo Go detection (#4893)
  • Disable AppStart and NativeFrames in unsupported environments (web, Expo Go) (#4897)
  • Use Replay interface for browserReplayIntegration return type (#4858)
  • Allow using browserReplayIntegration without isWeb guard (#4858)
    • The integration returns noop in non-browser environments
  • Use single encodeUTF8 implementation through the SDK (#4885)
  • Use global TextEncoder (available with Hermes in React Native 0.74 or higher) to improve envelope encoding performance. (#4874)
  • breadcrumbsIntegration disables React Native incompatible options automatically (#4886)
  • 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)

Features

To enable it add the following code to your Sentry Options:

Sentry.init({
  enableLogs: true,
});

You can also filter the logs being collected by adding beforeSendLogs

Sentry.init({
  enableLogs: true,
  beforeSendLog: log => {
    return log;
  },
});
  • Automatically detect Release name and version for Expo Web (#4967)

Fixes

  • Align spanΒ description with other platforms (#4636) by @krystofwoldrich
  • Tags with symbol are now logged (#4965)
  • IgnoreError now filters Native errors (#4948)

You can use strings to filter errors or RegEx for filtering with a pattern.

example:

  ignoreErrors: [
    '1234', // Will filter any error message that contains 1234.
    '.*1234', // Will not filter as regex, instead will filter messages that contains '.*1234"
    /.*1234/, // Regex will filter any error message that ends with 1234
    /.*1234.*/ // Regex will filter any error message that contains 1234.
  ]
  • 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

Dependencies

6.21.0

02 Sep 09:00
Compare
Choose a tag to compare

Important Changes

  • fix(browser): Ensure IP address is only inferred by Relay if sendDefaultPii is true (#5092)

This release includes a fix for a behaviour change
that was originally introduced with v9 of the JavaScript SDK: User IP Addresses should only be added to Sentry events automatically,
if sendDefaultPii was set to true.

However, the change in v9 required further internal adjustment, which should have been included in v10 of the SDK.
To avoid making a major bump, the fix was patched on the current version and not by bumping to V10.
There is no API breakage involved and hence it is safe to update.
However, after updating the SDK, events (errors, traces, replays, etc.) sent from the browser, will only include
user IP addresses, if you set sendDefaultPii: true in your Sentry.init options.

We apologize for any inconvenience caused!

Fixes

  • Fix Expo prebuild failed on cached builds (#5098)
  • Remove the warning that used to indicate that Time To Initial Display and Time To Full Display are not supported (#5081)

Dependencies

7.0.0-rc.2

29 Aug 08:27
670196d
Compare
Choose a tag to compare
7.0.0-rc.2 Pre-release
Pre-release

Important Changes

  • Ensure IP address is only inferred by Relay if sendDefaultPii is true (#5111)

This release includes a fix for a behaviour change
that was originally introduced with v9 of the JavaScript SDK included in v7.0.0-beta.0: User IP Addresses should only be added to Sentry events automatically,
if sendDefaultPii was set to true.

We apologize for any inconvenience caused!

Features

  • Logs now contains more attributes like release, os and device information (#5032)

Dependencies

6.20.0

13 Aug 14:58
Compare
Choose a tag to compare

Features

  • Support for React Native 0.81 (#5051)
  • Support New Hermes Runtime Access Pattern (#5051)
  • Support Metro 0.83 (#5035)

Fixes

  • Correct detection of whether turbo modules are available (#5064)

Dependencies

7.0.0-rc.1

30 Jul 07:43
Compare
Choose a tag to compare
7.0.0-rc.1 Pre-release
Pre-release

See 7.0.0 beta changelogs for a complete list of changes.

6.19.0

29 Jul 14:41
Compare
Choose a tag to compare

Fixes

  • Warnings when .env.sentry-build-plugin is not set on Sentry/CLI (#5029)
  • Fix for sentry-cli path discovery not working on Android (#5009)
  • Export addIntegration from @sentry/core (#5020)

Features

  • Adds replaysSessionQuality Session Replay option to control replay quality and performance overhead on mobile (#5001)

    import * as Sentry from '@sentry/react-native';
    
    Sentry.init({
      replaysSessionSampleRate: 1.0,
      replaysSessionQuality: 'low', // possible values: low, medium (default), high
      integrations: [Sentry.mobileReplayIntegration()],
    });

Dependencies

6.18.1 (Stable)

23 Jul 11:45
Compare
Choose a tag to compare

Fixes

  • Fixed Sentry CLI executable path resolution that was causing iOS build script failures (#5003)

6.18.0

21 Jul 08:52
Compare
Choose a tag to compare

Fixes

  • SDK now Builds when using PnPM (#4977)
  • Skip idle span creation when app is in background (#4995)

Dependencies

7.0.0-beta.2

11 Jul 08:58
Compare
Choose a tag to compare
7.0.0-beta.2 Pre-release
Pre-release

Features

  • Automatically detect Release name and version for Expo Web (#4967)

Changes

  • Expose featureFlagsIntegration (#4984)

Breaking changes

  • Tags formatting logic updated (#4965)
    Here are the altered/unaltered types, make sure to update your UI filters and alerts.

    Unaltered: string, null, number, and undefined values remain unchanged.

    Altered: Boolean values are now capitalized: true -> True, false -> False.

Fixes

  • tags with symbol are now logged (#4965)
  • ignoreError now filters Native errors (#4948)

You can use strings to filter errors or RegEx for filtering with a pattern.

example:

  ignoreErrors: [
    '1234', // Will filter any error message that contains 1234.
    '.*1234', // Will not filter as regex, instead will filter messages that contains '.*1234"
    /.*1234/, // Regex will filter any error message that ends with 1234
    /.*1234.*/ // Regex will filter any error message that contains 1234.
  ]

Dependencies