Skip to content

Commit b754aa3

Browse files
Merge remote-tracking branch 'origin/main' into capture-app-start-errors
2 parents cf00d4d + 3f05680 commit b754aa3

37 files changed

+1462
-493
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
# Initializes the CodeQL tools for scanning.
4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@dd746615b3b9d728a6a37ca2045b68ca76d4841a # pin@v3.28.8
47+
uses: github/codeql-action/init@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # pin@v3.28.9
4848
with:
4949
languages: ${{ matrix.language }}
5050
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -55,7 +55,7 @@ jobs:
5555
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5656
# If this step fails, then you should remove it and run the build manually (see below)
5757
- name: Autobuild
58-
uses: github/codeql-action/autobuild@dd746615b3b9d728a6a37ca2045b68ca76d4841a # pin@v3.28.8
58+
uses: github/codeql-action/autobuild@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # pin@v3.28.9
5959

6060
# ℹ️ Command-line programs to run using the OS shell.
6161
# 📚 https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
@@ -66,4 +66,4 @@ jobs:
6666
# make bootstrap
6767
# make release
6868
- name: Perform CodeQL Analysis
69-
uses: github/codeql-action/analyze@dd746615b3b9d728a6a37ca2045b68ca76d4841a # pin@v3.28.8
69+
uses: github/codeql-action/analyze@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # pin@v3.28.9

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
steps:
2020
- name: Get auth token
2121
id: token
22-
uses: actions/create-github-app-token@136412a57a7081aa63c935a2cc2918f76c34f514 # v1.11.2
22+
uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # v1.11.5
2323
with:
2424
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
2525
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}

.github/workflows/update-deps.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,15 @@ jobs:
5656
secrets:
5757
api-token: ${{ secrets.CI_DEPLOY_KEY }}
5858

59+
bundler-plugins:
60+
uses: getsentry/github-workflows/.github/workflows/updater.yml@v2
61+
with:
62+
path: scripts/update-bundler-plugins.sh
63+
name: Bundler Plugins
64+
pr-strategy: update
65+
secrets:
66+
api-token: ${{ secrets.CI_DEPLOY_KEY }}
67+
5968
sample-rn:
6069
uses: getsentry/github-workflows/.github/workflows/updater.yml@v2
6170
with:

CHANGELOG.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,70 @@
6060
- Extract iOS native initialization to standalone structures ([#4442](https://github.com/getsentry/sentry-react-native/pull/4442))
6161
- Extract Android native initialization to standalone structures ([#4445](https://github.com/getsentry/sentry-react-native/pull/4445))
6262
63+
### Features
64+
65+
- Adds Sentry Android Gradle Plugin as an experimental Expo plugin feature ([#4440](https://github.com/getsentry/sentry-react-native/pull/4440))
66+
67+
To enable the plugin add the `enableAndroidGradlePlugin` in the `@sentry/react-native/expo` of the Expo application configuration.
68+
69+
```js
70+
"plugins": [
71+
[
72+
"@sentry/react-native/expo",
73+
{
74+
"experimental_android": {
75+
"enableAndroidGradlePlugin": true,
76+
}
77+
}
78+
],
79+
```
80+
81+
To learn more about the available configuration options visit [the documentation](https://docs.sentry.io/platforms/react-native/manual-setup/expo/expo-sagp/).
82+
83+
### Fixes
84+
85+
- Various crashes and issues of Session Replay on Android. See the Android SDK version bump for more details. ([#4529](https://github.com/getsentry/sentry-react-native/pull/4529))
86+
87+
### Dependencies
88+
89+
- Bump Android SDK from v7.20.1 to v7.22.0 ([#4529](https://github.com/getsentry/sentry-react-native/pull/4529))
90+
- [changelog](https://github.com/getsentry/sentry-java/blob/7.x.x/CHANGELOG.md#7220)
91+
- [diff](https://github.com/getsentry/sentry-java/compare/7.20.1...7.22.0)
92+
- Bump Cocoa SDK from v8.44.0 to v8.45.0 ([#4537](https://github.com/getsentry/sentry-react-native/pull/4537))
93+
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8450)
94+
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.44.0...8.45.0)
95+
96+
## 6.7.0
97+
98+
### Features
99+
100+
- Add `ignoredComponents` option to `annotateReactComponents` to exclude specific components from React component annotations ([#4517](https://github.com/getsentry/sentry-react-native/pull/4517))
101+
102+
```js
103+
// metro.config.js
104+
// for React Native
105+
const config = withSentryConfig(mergedConfig, {
106+
annotateReactComponents: {
107+
ignoredComponents: ['MyCustomComponent']
108+
}
109+
});
110+
111+
// for Expo
112+
const config = getSentryExpoConfig(__dirname, {
113+
annotateReactComponents: {
114+
ignoredComponents: ['MyCustomComponent'],
115+
},
116+
});
117+
```
118+
63119
### Dependencies
64120

65121
- Bump JavaScript SDK from v8.53.0 to v8.54.0 ([#4503](https://github.com/getsentry/sentry-react-native/pull/4503))
66122
- [changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md#8540)
67123
- [diff](https://github.com/getsentry/sentry-javascript/compare/8.53.0...8.54.0)
124+
- Bump `@sentry/babel-plugin-component-annotate` from v2.20.1 to v3.1.2 ([#4516](https://github.com/getsentry/sentry-react-native/pull/4516))
125+
- [changelog](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/main/CHANGELOG.md#312)
126+
- [diff](https://github.com/getsentry/sentry-javascript-bundler-plugins/compare/2.20.1...3.1.2)
68127

69128
## 6.6.0
70129

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.7.0-alpha.0",
3+
"version": "6.7.0",
44
"private": true,
55
"description": "Sentry React Native End to End Tests Library",
66
"main": "dist/index.js",
@@ -14,7 +14,7 @@
1414
"@babel/preset-env": "^7.25.3",
1515
"@babel/preset-typescript": "^7.18.6",
1616
"@sentry/core": "8.54.0",
17-
"@sentry/react-native": "6.7.0-alpha.0",
17+
"@sentry/react-native": "6.7.0",
1818
"@types/node": "^20.9.3",
1919
"@types/react": "^18.2.64",
2020
"appium": "2.4.1",
@@ -23,7 +23,7 @@
2323
"babel-jest": "^29.7.0",
2424
"jest": "^29.7.0",
2525
"react": "18.3.1",
26-
"react-native": "0.76.3",
26+
"react-native": "0.77.0",
2727
"react-native-launch-arguments": "^4.0.2",
2828
"typescript": "4.9.5",
2929
"webdriverio": "^8.27.0"

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.7.0-alpha.0",
4+
"version": "6.7.0",
55
"scripts": {
66
"type-check": "./run-type-check.sh"
77
}

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.7.0-alpha.0",
3+
"version": "6.7.0",
44
"description": "Internal Samples Utils",
55
"main": "index.js",
66
"license": "MIT",

lerna.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
3-
"version": "6.7.0-alpha.0",
3+
"version": "6.7.0",
44
"packages": [
55
"packages/*",
66
"dev-packages/*",
77
"samples/*",
88
"performance-tests/*"
99
],
1010
"npmClient": "yarn"
11-
}
11+
}

packages/core/RNSentry.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
3737

3838
s.compiler_flags = other_cflags
3939

40-
s.dependency 'Sentry/HybridSDK', '8.44.0'
40+
s.dependency 'Sentry/HybridSDK', '8.45.0'
4141

4242
if defined? install_modules_dependencies
4343
# Default React Native dependencies for 0.71 and above (new and legacy architecture)

packages/core/android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,5 @@ android {
5454

5555
dependencies {
5656
implementation 'com.facebook.react:react-native:+'
57-
api 'io.sentry:sentry-android:7.20.1'
57+
api 'io.sentry:sentry-android:7.22.0'
5858
}

packages/core/android/src/main/java/io/sentry/react/RNSentryVersion.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
class RNSentryVersion {
44
static final String REACT_NATIVE_SDK_PACKAGE_NAME = "npm:@sentry/react-native";
5-
static final String REACT_NATIVE_SDK_PACKAGE_VERSION = "6.7.0-alpha.0";
5+
static final String REACT_NATIVE_SDK_PACKAGE_VERSION = "6.7.0";
66
static final String NATIVE_SDK_NAME = "sentry.native.android.react-native";
77
static final String ANDROID_SDK_NAME = "sentry.java.android.react-native";
88
static final String REACT_NATIVE_SDK_NAME = "sentry.javascript.react-native";

packages/core/ios/RNSentryVersion.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
NSString *const NATIVE_SDK_NAME = @"sentry.cocoa.react-native";
44
NSString *const REACT_NATIVE_SDK_NAME = @"sentry.javascript.react-native";
55
NSString *const REACT_NATIVE_SDK_PACKAGE_NAME = @"npm:@sentry/react-native";
6-
NSString *const REACT_NATIVE_SDK_PACKAGE_VERSION = @"6.7.0-alpha.0";
6+
NSString *const REACT_NATIVE_SDK_PACKAGE_VERSION = @"6.7.0";

packages/core/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "@sentry/react-native",
33
"homepage": "https://github.com/getsentry/sentry-react-native",
44
"repository": "https://github.com/getsentry/sentry-react-native",
5-
"version": "6.7.0-alpha.0",
5+
"version": "6.7.0",
66
"description": "Official Sentry SDK for react-native",
77
"typings": "dist/js/index.d.ts",
88
"types": "dist/js/index.d.ts",
@@ -65,7 +65,7 @@
6565
"react-native": ">=0.65.0"
6666
},
6767
"dependencies": {
68-
"@sentry/babel-plugin-component-annotate": "2.20.1",
68+
"@sentry/babel-plugin-component-annotate": "3.1.2",
6969
"@sentry/browser": "8.54.0",
7070
"@sentry/cli": "2.41.1",
7171
"@sentry/core": "8.54.0",
@@ -77,21 +77,21 @@
7777
"@babel/core": "^7.25.2",
7878
"@expo/metro-config": "0.19.5",
7979
"@mswjs/interceptors": "^0.25.15",
80-
"@react-native/babel-preset": "0.76.3",
80+
"@react-native/babel-preset": "0.77.0",
8181
"@sentry-internal/eslint-config-sdk": "8.54.0",
8282
"@sentry-internal/eslint-plugin-sdk": "8.54.0",
8383
"@sentry-internal/typescript": "8.54.0",
84-
"@sentry/wizard": "3.40.0",
84+
"@sentry/wizard": "3.42.0",
8585
"@testing-library/react-native": "^12.7.2",
86-
"@types/jest": "^29.5.3",
86+
"@types/jest": "^29.5.13",
8787
"@types/node": "^20.9.3",
8888
"@types/react": "^18.2.64",
8989
"@types/uglify-js": "^3.17.2",
9090
"@types/uuid": "^9.0.4",
9191
"@types/xmlhttprequest": "^1.8.2",
9292
"@typescript-eslint/eslint-plugin": "^5.48.0",
9393
"@typescript-eslint/parser": "^5.48.0",
94-
"babel-jest": "^29.6.2",
94+
"babel-jest": "^29.6.3",
9595
"babel-plugin-module-resolver": "^5.0.0",
9696
"babel-preset-fbjs": "^3.4.0",
9797
"downlevel-dts": "^0.11.0",
@@ -107,7 +107,7 @@
107107
"metro": "0.81.0",
108108
"prettier": "^2.0.5",
109109
"react": "18.3.1",
110-
"react-native": "0.76.3",
110+
"react-native": "0.77.0",
111111
"react-test-renderer": "^18.3.1",
112112
"rimraf": "^4.1.1",
113113
"ts-jest": "^29.1.1",

packages/core/plugin/src/withSentry.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ import { createRunOncePlugin } from 'expo/config-plugins';
33

44
import { bold, sdkPackage, warnOnce } from './utils';
55
import { withSentryAndroid } from './withSentryAndroid';
6+
import type { SentryAndroidGradlePluginOptions } from './withSentryAndroidGradlePlugin';
7+
import { withSentryAndroidGradlePlugin } from './withSentryAndroidGradlePlugin';
68
import { withSentryIOS } from './withSentryIOS';
79

810
interface PluginProps {
911
organization?: string;
1012
project?: string;
1113
authToken?: string;
1214
url?: string;
15+
experimental_android?: SentryAndroidGradlePluginOptions;
1316
}
1417

1518
const withSentryPlugin: ConfigPlugin<PluginProps | void> = (config, props) => {
@@ -27,6 +30,14 @@ const withSentryPlugin: ConfigPlugin<PluginProps | void> = (config, props) => {
2730
} catch (e) {
2831
warnOnce(`There was a problem with configuring your native Android project: ${e}`);
2932
}
33+
// if `enableAndroidGradlePlugin` is provided configure the Sentry Android Gradle Plugin
34+
if (props?.experimental_android && props?.experimental_android?.enableAndroidGradlePlugin) {
35+
try {
36+
cfg = withSentryAndroidGradlePlugin(cfg, props.experimental_android);
37+
} catch (e) {
38+
warnOnce(`There was a problem with configuring Sentry Android Gradle Plugin: ${e}`);
39+
}
40+
}
3041
try {
3142
cfg = withSentryIOS(cfg, sentryProperties);
3243
} catch (e) {

0 commit comments

Comments
 (0)