Skip to content

Commit fb47c4a

Browse files
Merge e1d4577 into d18ddb1
2 parents d18ddb1 + e1d4577 commit fb47c4a

File tree

199 files changed

+2693
-885
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

199 files changed

+2693
-885
lines changed

CHANGELOG.md

Lines changed: 238 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,182 @@
22

33
<!-- prettier-ignore-start -->
44
> [!IMPORTANT]
5-
> If you are upgrading to the `6.x` versions of the Sentry React Native SDK from `5.x` or below,
5+
> If you are upgrading to the `7.x` versions of the Sentry React Native SDK from `6.x` or below,
66
> make sure you follow our [migration guide](https://docs.sentry.io/platforms/react-native/migration/) first.
77
<!-- prettier-ignore-end -->
88
9+
## Unreleased
10+
11+
### Features
12+
13+
- Automatically detect Release name and version for Expo Web ([#4967](https://github.com/getsentry/sentry-react-native/pull/4967))
14+
15+
### Fixes
16+
17+
- ignoreError now filters Native errors ([#4948](https://github.com/getsentry/sentry-react-native/pull/4948))
18+
19+
You can use strings to filter errors or RegEx for filtering with a pattern.
20+
21+
example:
22+
23+
```typescript
24+
ignoreErrors: [
25+
'1234', // Will filter any error message that contains 1234.
26+
'.*1234', // Will not filter as regex, instead will filter messages that contains '.*1234"
27+
/.*1234/, // Regex will filter any error message that ends with 1234
28+
/.*1234.*/ // Regex will filter any error message that contains 1234.
29+
]
30+
```
31+
32+
### Dependencies
33+
34+
- Bump Android SDK from v8.14.0 to v8.16.0 ([#4953](https://github.com/getsentry/sentry-react-native/pull/4953), [#4955](https://github.com/getsentry/sentry-react-native/pull/4955))
35+
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8160)
36+
- [diff](https://github.com/getsentry/sentry-java/compare/8.14.0...8.16.0)
37+
38+
## 7.0.0-beta.1
39+
40+
### Upgrading from 6.x to 7.0
41+
42+
Version 7 of the Sentry React Native SDK primarily introduces API cleanup and version support changes based on the Sentry Javascript SDK version 9. 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.
43+
44+
Version 7 of the SDK is compatible with Sentry self-hosted versions 24.4.2 or higher (unchanged from v6). Lower versions may continue to work, but may not support all features.
45+
46+
### Major Changes
47+
48+
- Set `{{auto}}` if `user.ip_address` is `undefined` and `sendDefaultPii: true` ([#4466](https://github.com/getsentry/sentry-react-native/pull/4466))
49+
- `Sentry.captureUserFeedback` removed, use `Sentry.captureFeedback` instead ([#4855](https://github.com/getsentry/sentry-react-native/pull/4855))
50+
51+
### Major Changes from Sentry JS SDK v9
52+
53+
- Exceptions from `captureConsoleIntegration` are now marked as handled: true by default
54+
- `shutdownTimeout` moved from `core` to `@sentry/react-native`
55+
- `hasTracingEnabled` was renamed to `hasSpansEnabled`
56+
- You can no longer drop spans or return null on `beforeSendSpan` hook
57+
- Fork `scope` if custom scope is passed to `startSpanManual` or `startSpan`
58+
59+
#### Removed types
60+
61+
- TransactionNamingScheme
62+
- Request
63+
- Scope (prefer using the Scope class)
64+
65+
#### Other removed items.
66+
67+
- `autoSessionTracking` from options.
68+
To enable session tracking, ensure that `enableAutoSessionTracking` is enabled.
69+
- `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.
70+
- `getCurrentHub()`, `Hub`, and `getCurrentHubShim()`
71+
- `spanId` from propagation `context`
72+
- metrics API
73+
- `transactionContext` from `samplingContext`
74+
- `@sentry/utils` package, the exports were moved to `@sentry/core`
75+
- Standalone `Client` interface & deprecate `BaseClient`
76+
77+
### Features
78+
79+
- Add experimental support for Log tracing ([#4827](https://github.com/getsentry/sentry-react-native/pull/4827))
80+
81+
To enable it add the following code to your Sentry Options:
82+
83+
```typescript
84+
Sentry.init({
85+
// other options...
86+
_experiments: {
87+
enableLogs: true,
88+
},
89+
});
90+
```
91+
92+
You can also filter the logs being collected by adding beforeSendLogs into `_experiments`
93+
94+
```typescript
95+
Sentry.init({
96+
// other options...
97+
_experiments: {
98+
enableLogs: true,
99+
beforeSendLog: (log) => {
100+
return log;
101+
},
102+
}
103+
});
104+
```
105+
106+
### Changes
107+
108+
- Expose `logger` and `consoleLoggingIntegration` ([#4930](https://github.com/getsentry/sentry-react-native/pull/4930))
109+
- Remove deprecated `appOwnership` constant use in Expo Go detection ([#4893](https://github.com/getsentry/sentry-react-native/pull/4893))
110+
- Disable AppStart and NativeFrames in unsupported environments (web, Expo Go) ([#4897](https://github.com/getsentry/sentry-react-native/pull/4897))
111+
112+
### Self Hosted
113+
114+
- It is recommended to use Sentry Self Hosted version `25.2.0` or new for React Native V7 or newer
115+
116+
### Dependencies
117+
118+
- Bump Android SDK from v8.13.2 to v8.14.0 ([#4929](https://github.com/getsentry/sentry-react-native/pull/4929), [#4934](https://github.com/getsentry/sentry-react-native/pull/4934))
119+
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8140)
120+
- [diff](https://github.com/getsentry/sentry-java/compare/8.13.2...8.14.0)
121+
122+
## 7.0.0-beta.0
123+
124+
### Upgrading from 6.x to 7.0
125+
126+
Version 7 of the Sentry React Native SDK primarily introduces API cleanup and version support changes based on the Sentry Javascript SDK version 9. 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.
127+
128+
Version 7 of the SDK is compatible with Sentry self-hosted versions 24.4.2 or higher (unchanged from v6). Lower versions may continue to work, but may not support all features.
129+
130+
### Major Changes
131+
132+
- Set `{{auto}}` if `user.ip_address` is `undefined` and `sendDefaultPii: true` ([#4466](https://github.com/getsentry/sentry-react-native/pull/4466))
133+
- `Sentry.captureUserFeedback` removed, use `Sentry.captureFeedback` instead ([#4855](https://github.com/getsentry/sentry-react-native/pull/4855))
134+
135+
### Major Changes from Sentry JS SDK v9
136+
137+
- Exceptions from `captureConsoleIntegration` are now marked as handled: true by default
138+
- `shutdownTimeout` moved from `core` to `@sentry/react-native`
139+
- `hasTracingEnabled` was renamed to `hasSpansEnabled`
140+
- You can no longer drop spans or return null on `beforeSendSpan` hook
141+
- Fork `scope` if custom scope is passed to `startSpanManual` or `startSpan`
142+
143+
#### Removed types
144+
145+
- TransactionNamingScheme
146+
- Request
147+
- Scope (prefer using the Scope class)
148+
149+
#### Other removed items.
150+
151+
- `autoSessionTracking` from options.
152+
To enable session tracking, ensure that `enableAutoSessionTracking` is enabled.
153+
- `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.
154+
- `getCurrentHub()`, `Hub`, and `getCurrentHubShim()`
155+
- `spanId` from propagation `context`
156+
- metrics API
157+
- `transactionContext` from `samplingContext`
158+
- `@sentry/utils` package, the exports were moved to `@sentry/core`
159+
- Standalone `Client` interface & deprecate `BaseClient`
160+
161+
### Changes
162+
163+
- Use `Replay` interface for `browserReplayIntegration` return type ([#4858](https://github.com/getsentry/sentry-react-native/pull/4858))
164+
- Allow using `browserReplayIntegration` without `isWeb` guard ([#4858](https://github.com/getsentry/sentry-react-native/pull/4858))
165+
- The integration returns noop in non-browser environments
166+
- Use single `encodeUTF8` implementation through the SDK ([#4885](https://github.com/getsentry/sentry-react-native/pull/4885))
167+
- Use global `TextEncoder` (available with Hermes in React Native 0.74 or higher) to improve envelope encoding performance. ([#4874](https://github.com/getsentry/sentry-react-native/pull/4874))
168+
- `breadcrumbsIntegration` disables React Native incompatible options automatically ([#4886](https://github.com/getsentry/sentry-react-native/pull/4886))
169+
- On React Native Web, `browserSessionIntegration` is added when `enableAutoSessionTracking` is set to `True` ([#4732](https://github.com/getsentry/sentry-react-native/pull/4732))
170+
- Change `Cold/Warm App Start` span description to `Cold/Warm Start` ([#4636](https://github.com/getsentry/sentry-react-native/pull/4636))
171+
172+
### Dependencies
173+
174+
- Bump JavaScript SDK from v8.54.0 to v9.22.0 ([#4568](https://github.com/getsentry/sentry-react-native/pull/4568), [#4752](https://github.com/getsentry/sentry-react-native/pull/4752), [#4860](https://github.com/getsentry/sentry-react-native/pull/4860))
175+
- [changelog](https://github.com/getsentry/sentry-javascript/blob/9.22.0/CHANGELOG.md)
176+
- [diff](https://github.com/getsentry/sentry-javascript/compare/8.54.0...9.22.0)
177+
- Bump Android SDK from v7.20.1 to v8.13.2 ([#4490](https://github.com/getsentry/sentry-react-native/pull/4490), [#4847](https://github.com/getsentry/sentry-react-native/pull/4847))
178+
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8132)
179+
- [diff](https://github.com/getsentry/sentry-java/compare/7.20.1...8.13.2)
180+
9181
## 6.16.1
10182

11183
### Fixes
@@ -106,6 +278,71 @@
106278
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2460)
107279
- [diff](https://github.com/getsentry/sentry-cli/compare/2.45.0...2.46.0)
108280

281+
## 7.0.0-alpha.0
282+
283+
### Upgrading from 6.x to 7.0
284+
285+
Version 7 of the Sentry React Native SDK primarily introduces API cleanup and version support changes based on the Sentry Javascript SDK version 9. 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.
286+
287+
Version 7 of the SDK is compatible with Sentry self-hosted versions 24.4.2 or higher (unchanged from v6). Lower versions may continue to work, but may not support all features.
288+
289+
### Fixes
290+
291+
- Expo Updates Context is passed to native after native init to be available for crashes ([#4808](https://github.com/getsentry/sentry-react-native/pull/4808))
292+
- Expo Updates Context values should all be lowercase ([#4809](https://github.com/getsentry/sentry-react-native/pull/4809))
293+
- Avoid duplicate network requests (fetch, xhr) by default ([#4816](https://github.com/getsentry/sentry-react-native/pull/4816))
294+
- `traceFetch` is disabled by default on mobile as RN uses a polyfill which will be traced by `traceXHR`
295+
296+
### Major Changes
297+
298+
- Set `{{auto}}` if `user.ip_address` is `undefined` and `sendDefaultPii: true` ([#4466](https://github.com/getsentry/sentry-react-native/pull/4466))
299+
- Exceptions from `captureConsoleIntegration` are now marked as handled: true by default
300+
- `shutdownTimeout` moved from `core` to `@sentry/react-native`
301+
- `hasTracingEnabled` was renamed to `hasSpansEnabled`
302+
- You can no longer drop spans or return null on `beforeSendSpan` hook
303+
304+
### Removed types
305+
306+
- TransactionNamingScheme
307+
- Request
308+
- Scope (prefer using the Scope class)
309+
310+
### Other removed items.
311+
312+
- `autoSessionTracking` from options.
313+
To enable session tracking, ensure that `enableAutoSessionTracking` is enabled.
314+
- `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.
315+
- `getCurrentHub()`, `Hub`, and `getCurrentHubShim()`
316+
- `spanId` from propagation `context`
317+
- metrics API
318+
- `transactionContext` from `samplingContext`
319+
- `@sentry/utils` package, the exports were moved to `@sentry/core`
320+
- Standalone `Client` interface & deprecate `BaseClient`
321+
322+
### Other Changes
323+
324+
- Fork `scope` if custom scope is passed to `startSpanManual` or `startSpan`
325+
- On React Native Web, `browserSessionIntegration` is added when `enableAutoSessionTracking` is set to `True` ([#4732](https://github.com/getsentry/sentry-react-native/pull/4732))
326+
- Change `Cold/Warm App Start` span description to `Cold/Warm Start` ([#4636](https://github.com/getsentry/sentry-react-native/pull/4636))
327+
328+
### Dependencies
329+
330+
- Bump JavaScript SDK from v8.54.0 to v9.12.0 ([#4568](https://github.com/getsentry/sentry-react-native/pull/4568), [#4752](https://github.com/getsentry/sentry-react-native/pull/4752))
331+
- [changelog](https://github.com/getsentry/sentry-javascript/blob/9.12.0/CHANGELOG.md)
332+
- [diff](https://github.com/getsentry/sentry-javascript/compare/8.54.0...9.12.0)
333+
- Bump Android SDK from v7.20.1 to v8.11.1 ([#4490](https://github.com/getsentry/sentry-react-native/pull/4490))
334+
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8111)
335+
- [diff](https://github.com/getsentry/sentry-java/compare/7.20.1...8.11.1)
336+
- Bump CLI from v2.43.1 to v2.45.0 ([#4804](https://github.com/getsentry/sentry-react-native/pull/4804), [#4818](https://github.com/getsentry/sentry-react-native/pull/4818))
337+
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2450)
338+
- [diff](https://github.com/getsentry/sentry-cli/compare/2.43.1...2.45.0)
339+
- Bump Bundler Plugins from v3.3.1 to v3.4.0 ([#4805](https://github.com/getsentry/sentry-react-native/pull/4805))
340+
- [changelog](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/main/CHANGELOG.md#340)
341+
- [diff](https://github.com/getsentry/sentry-javascript-bundler-plugins/compare/3.3.1...3.4.0)
342+
- Bump Cocoa SDK from v8.49.2 to v8.50.0 ([#4807](https://github.com/getsentry/sentry-react-native/pull/4807))
343+
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8500)
344+
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.49.2...8.50.0)
345+
109346
## 6.14.0
110347

111348
### Fixes

dev-packages/e2e-tests/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sentry-react-native-e2e-tests",
3-
"version": "6.16.1",
3+
"version": "7.0.0-beta.1",
44
"private": true,
55
"description": "Sentry React Native End to End Tests Library",
66
"main": "dist/index.js",
@@ -13,8 +13,8 @@
1313
"devDependencies": {
1414
"@babel/preset-env": "^7.25.3",
1515
"@babel/preset-typescript": "^7.18.6",
16-
"@sentry/core": "8.54.0",
17-
"@sentry/react-native": "6.16.1",
16+
"@sentry/core": "9.22.0",
17+
"@sentry/react-native": "7.0.0-beta.1",
1818
"@types/node": "^20.9.3",
1919
"@types/react": "^18.2.64",
2020
"appium": "2.4.1",

dev-packages/type-check/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "sentry-react-native-type-check",
33
"private": true,
4-
"version": "6.16.1",
4+
"version": "7.0.0-beta.1",
55
"scripts": {
66
"type-check": "./run-type-check.sh"
77
}

dev-packages/type-check/ts3.8-test/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ declare global {
33
interface IDBObjectStore {}
44
interface Window {
55
fetch: any;
6+
setTimeout: any;
7+
document: any;
68
}
79
interface ShadowRoot {}
810
interface BufferSource {}
@@ -19,6 +21,8 @@ declare global {
1921
redirectCount: number;
2022
}
2123
interface PerformanceEntry {}
24+
interface Performance {}
25+
interface PerformanceNavigationTiming {}
2226
}
2327

2428
declare module 'react-native' {

dev-packages/utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sentry-react-native-samples-utils",
3-
"version": "6.16.1",
3+
"version": "7.0.0-beta.1",
44
"description": "Internal Samples Utils",
55
"main": "index.js",
66
"license": "MIT",

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
3-
"version": "6.16.1",
3+
"version": "7.0.0-beta.1",
44
"packages": [
55
"packages/*",
66
"dev-packages/*",

packages/core/.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ module.exports = {
4040
'@typescript-eslint/no-empty-function': 'off',
4141
'@typescript-eslint/no-explicit-any': 'off',
4242
'@typescript-eslint/unbound-method': 'off',
43+
'import/first': 'off',
4344
},
4445
},
4546
{

0 commit comments

Comments
 (0)