Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dev-packages/e2e-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"babel-jest": "^29.7.0",
"jest": "^29.7.0",
"react": "19.2.3",
"react-native": "0.86.2",
"react-native": "0.87.1",
"react-native-launch-arguments": "^4.0.2",
"typescript": "4.9.5",
"webdriverio": "^8.27.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
"oxlint": "^1.56.0",
"oxlint-tsgolint": "^0.17.4",
"react": "19.1.0",
"react-native": "0.86.2",
"react-native": "0.87.1",

Check warning on line 115 in packages/core/package.json

View check run for this annotation

@sentry/warden / warden: code-review

Generic RN 0.87.1 workspaces still resolve RN 0.86.2 tooling

In workspaces using generic React Native 0.87.1, bump the pinned `@react-native/babel-preset`, `@react-native/jest-preset`, `@react-native/metro-config`, `@react-native/typescript-config`, and `@react-native/new-app-screen` packages from 0.86.2 to 0.87.1, and regenerate the lockfile. Do not apply this blindly to the macOS sample, which uses `react-native-macos` 0.81.8 and intentionally retains the 0.81.6 tooling.

@sentry-warden sentry-warden Bot Aug 27, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Native 0.87.1 is paired with incompatible 0.86.2 Metro tooling

Upgrade the explicitly declared @react-native/metro-config packages alongside React Native. React Native 0.87.1 brings @react-native/community-cli-plugin@0.87.1, whose optional peer requires @react-native/metro-config@0.87.1, while the core package and sample apps still install @react-native/metro-config@0.86.2. This can leave react-native start and Metro CLI integration running with an incompatible configuration package. The sample apps also retain @react-native/new-app-screen@0.86.2, whose peer dependency requires React Native exactly 0.86.2.

Evidence
  • react-native@0.87.1 depends on @react-native/community-cli-plugin@0.87.1 in yarn.lock.
  • @react-native/community-cli-plugin@0.87.1 declares @react-native/metro-config: 0.87.1, but no 0.87.x Metro config exists in the lockfile.
  • packages/core, samples/react-native, and both performance apps explicitly resolve @react-native/metro-config@0.86.2 and use it in their Metro configuration or SDK tooling.
  • samples/react-native and performance-tests/TestAppSentry retain @react-native/new-app-screen@0.86.2, whose lockfile peer requires react-native: 0.86.2.
Also found at 1 additional location
  • samples/react-native/package.json:56-56

Identified by Warden · code-review, find-bugs · TBY-FGC

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix attempt detected (commit 8be6162)

The commit upgrades React Native to 0.87.1 and refreshes the lockfile, but leaves the explicitly declared @react-native/metro-config and @react-native/new-app-screen dependencies at 0.86.2 in the sample and performance apps, so the incompatibility persists.

The original issue appears unresolved. Please review and try again.

Evaluated by Warden

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix attempt detected (commit e98296d)

The commit upgraded React Native to 0.87.1 and refreshed related lockfile tooling, but the sample and performance apps still explicitly use @react-native/metro-config@0.86.2 and @react-native/new-app-screen@0.86.2, so the incompatibility remains.

The original issue appears unresolved. Please review and try again.

Evaluated by Warden

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix attempt detected (commit fdea9eb)

The commit upgrades React Native to 0.87.1 and its lockfile entries, but leaves @react-native/metro-config@0.86.2 in the sample and performance app manifests and retains @react-native/new-app-screen@0.86.2, so the incompatibility persists.

The original issue appears unresolved. Please review and try again.

Evaluated by Warden

Comment thread
sentry-warden[bot] marked this conversation as resolved.
"react-test-renderer": "19.1.0",
"rimraf": "^4.1.1",

Check warning on line 117 in packages/core/package.json

View check run for this annotation

@sentry/warden / warden: code-review

Core development dependencies leave React 19.1.0 incompatible with RN 0.87.1

`packages/core` uses `react-native@0.87.1`, whose peer dependency requires `react: ^19.2.3`, but its exact development dependency remains `react@19.1.0`. Align `react` and `react-test-renderer` with React Native 0.87.1 to avoid peer-dependency warnings and an unsupported SDK test/build environment.
"ts-jest": "^29.3.1",
Expand Down
2 changes: 1 addition & 1 deletion performance-tests/TestAppPlain/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
"dependencies": {
"react": "19.2.3",
"react-native": "0.86.2"
"react-native": "0.87.1"

Check warning on line 12 in performance-tests/TestAppPlain/package.json

View check run for this annotation

@sentry/warden / warden: code-review

[PCN-WX3] Generic RN 0.87.1 workspaces still resolve RN 0.86.2 tooling (additional location)

In workspaces using generic React Native 0.87.1, bump the pinned `@react-native/babel-preset`, `@react-native/jest-preset`, `@react-native/metro-config`, `@react-native/typescript-config`, and `@react-native/new-app-screen` packages from 0.86.2 to 0.87.1, and regenerate the lockfile. Do not apply this blindly to the macOS sample, which uses `react-native-macos` 0.81.8 and intentionally retains the 0.81.6 tooling.

Check warning on line 12 in performance-tests/TestAppPlain/package.json

View check run for this annotation

@sentry/warden / warden: find-bugs

React Native 0.87.1 is paired with incompatible 0.86.2 Metro/Babel tooling

The updated React Native workspaces now use `react-native` 0.87.1 while still pinning `@react-native/babel-preset` and `@react-native/metro-config` to 0.86.2. React Native 0.87.1 brings `@react-native/community-cli-plugin` 0.87.1, whose optional peer requires `@react-native/metro-config` 0.87.1; the lockfile provides only the 0.86.2 Metro config. This can cause peer incompatibility and Metro/Babel failures when building or starting the affected apps.
},
"devDependencies": {
"@babel/core": "^7.25.2",
Expand Down
2 changes: 1 addition & 1 deletion performance-tests/TestAppSentry/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"@react-native/new-app-screen": "0.86.2",
"@sentry/react-native": "8.24.0",
"react": "19.2.3",
"react-native": "0.86.2"
"react-native": "0.87.1"

Check warning on line 14 in performance-tests/TestAppSentry/package.json

View check run for this annotation

@sentry/warden / warden: find-bugs

[48A-NB5] React Native 0.87.1 is paired with incompatible 0.86.2 Metro/Babel tooling (additional location)

The updated React Native workspaces now use `react-native` 0.87.1 while still pinning `@react-native/babel-preset` and `@react-native/metro-config` to 0.86.2. React Native 0.87.1 brings `@react-native/community-cli-plugin` 0.87.1, whose optional peer requires `@react-native/metro-config` 0.87.1; the lockfile provides only the 0.86.2 Metro config. This can cause peer incompatibility and Metro/Babel failures when building or starting the affected apps.
},
"devDependencies": {
"@babel/core": "^7.25.2",
Expand Down
2 changes: 1 addition & 1 deletion samples/expo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"expo-web-browser": "~57.0.0",
"react": "19.2.3",
"react-dom": "19.2.3",
"react-native": "0.86.2",
"react-native": "0.87.1",
"react-native-gesture-handler": "~2.32.0",
"react-native-safe-area-context": "~5.7.0",
"react-native-screens": "~4.25.2",
Expand Down
2 changes: 1 addition & 1 deletion samples/react-native-macos/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"@sentry/react-native": "8.24.0",
"delay": "^6.0.0",
"react": "19.1.4",
"react-native": "0.81.6",
"react-native": "0.87.1",

Check failure on line 24 in samples/react-native-macos/package.json

View check run for this annotation

@sentry/warden / warden: code-review

macOS sample react-native 0.87.1 breaks react-native-macos 0.81.8 peer

Keep react-native at 0.81.6 here (or upgrade react-native-macos and @react-native/* together); react-native-macos@0.81.8 peers exactly react-native@0.81.6.
"react-native-gesture-handler": "2.14.0",
"react-native-macos": "0.81.8",
"react-native-reanimated": "3.19.5",
Expand Down
2 changes: 1 addition & 1 deletion samples/react-native/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
"@shopify/flash-list": "^2.0.2",
"delay": "^6.0.0",
"react": "19.2.3",
"react-native": "0.86.2",
"react-native": "0.87.1",

Check warning on line 56 in samples/react-native/package.json

View check run for this annotation

@sentry/warden / warden: code-review

[PCN-WX3] Generic RN 0.87.1 workspaces still resolve RN 0.86.2 tooling (additional location)

In workspaces using generic React Native 0.87.1, bump the pinned `@react-native/babel-preset`, `@react-native/jest-preset`, `@react-native/metro-config`, `@react-native/typescript-config`, and `@react-native/new-app-screen` packages from 0.86.2 to 0.87.1, and regenerate the lockfile. Do not apply this blindly to the macOS sample, which uses `react-native-macos` 0.81.8 and intentionally retains the 0.81.6 tooling.

Check warning on line 56 in samples/react-native/package.json

View check run for this annotation

@sentry/warden / warden: code-review

RN 0.87.1 is outside the reanimated/worklets peer range

The sample resolves React Native 0.87.1 alongside react-native-reanimated 4.4.1 and react-native-worklets 0.9.2, whose declared peer range ends at RN 0.86. Yarn will report unmet peer dependencies, and the native animation stack is not declared compatible with this RN version. Upgrade the animation packages to versions supporting RN 0.87 before relying on this sample configuration.

Check warning on line 56 in samples/react-native/package.json

View check run for this annotation

@sentry/warden / warden: find-bugs

[48A-NB5] React Native 0.87.1 is paired with incompatible 0.86.2 Metro/Babel tooling (additional location)

The updated React Native workspaces now use `react-native` 0.87.1 while still pinning `@react-native/babel-preset` and `@react-native/metro-config` to 0.86.2. React Native 0.87.1 brings `@react-native/community-cli-plugin` 0.87.1, whose optional peer requires `@react-native/metro-config` 0.87.1; the lockfile provides only the 0.86.2 Metro config. This can cause peer incompatibility and Metro/Babel failures when building or starting the affected apps.

Check warning on line 56 in samples/react-native/package.json

View check run for this annotation

@sentry/warden / warden: find-bugs

React Native 0.87.1 is outside the sample's Reanimated and Worklets peer ranges

The sample now uses React Native 0.87.1 while its pinned react-native-reanimated 4.4.1 and react-native-worklets 0.9.2 packages each declare support only through React Native 0.86. Update these packages to versions supporting 0.87, or pin React Native to a supported version, to avoid an unsupported native dependency combination and peer-dependency warnings.
"react-native-build-config": "^0.3.2",
"react-native-gesture-handler": "^3.0.1",
"react-native-image-picker": "^8.2.1",
Expand Down
Loading
Loading