Skip to content

chore(sample): Bump React Native sample to 0.88.0 - #6910

Merged
antonis merged 2 commits into
mainfrom
antonis/sample-rn-0.88
Oct 19, 2026
Merged

antonis merged 2 commits into
mainfrom
antonis/sample-rn-0.88

Conversation

@antonis

@antonis antonis commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Bumps the React Native sample app (samples/react-native) to React Native 0.88.0 (from 0.87.1).

JS dependencies

  • react-native, @react-native/new-app-screen, @react-native/assets-registry → 0.88.0.
  • @react-native/babel-preset, @react-native/jest-preset, @react-native/metro-config, @react-native/typescript-config → 0.88.0.
  • react and react-test-renderer 19.2.3 → 19.3.0 (RN 0.88 peer requirement ^19.3.0).
  • react-native-reanimated 4.6.0 → 4.7.1 and react-native-worklets 0.12.1 → 0.13.0 (the previous versions declare react-native: 0.83-0.87).
  • @react-native-community/cli* 20.1.3 → 20.2.0 (matches the 0.88 template).
  • yarn.lock — regenerated. It grows because packages/core dev dependencies are still on 0.87.1; that is bumped separately.

Reanimated Mac Catalyst patch
Reanimated 4.7.x fails to build for Mac Catalyst (reference to 'Rect' is ambiguous in NativeProxy.mm): REAReducedMotion.h imports UIKit and AppKit independently, so on Catalyst AppKit's QuickDraw Rect/Point collide with React Native's types (software-mansion/react-native-reanimated#10908, still open). Added a Yarn patch (root resolutions, scoped to react-native-reanimated@4.7.1) that makes the two imports mutually exclusive. Remove it once a fixed Reanimated release is out.

Native
No Android or iOS project changes needed: the Upgrade Helper template diff for 0.87.1 → 0.88.0 has no Android changes. On iOS the template moves to the new SceneDelegate lifecycle, which is optional in 0.88 — the sample keeps its AppDelegate.mm (it starts Sentry natively there), so adopting the scene lifecycle is left as a follow-up.

💡 Motivation and Context

React Native 0.88.0 has been released. This keeps the RN sample app on the latest version and surfaces integration issues early.

Relates to #6893.

💚 How did you test it?

  • yarn test in the sample passes.
  • Release Metro bundle + source map generated locally (Sentry serializer emits the Debug ID).
  • iOS: pod install and a Debug simulator build succeed locally (new architecture).
  • Android: assembleDebug succeeds locally (new architecture).
  • CI: Sample Application workflow (sample-application.yml) across both architectures.

📝 Checklist

  • I added tests to verify changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing.
  • Public API changes reviewed by another Mobile SDK team member or implemented according to the develop docs spec.
  • No breaking changes.

🔮 Next steps

🤖 Generated with Claude Code

- react-native and @react-native/* companions to 0.88.0
- react and react-test-renderer to 19.3.0 (RN 0.88 peer requirement)
- react-native-reanimated 4.7.1 + react-native-worklets 0.13.0 (RN 0.88 compat)
- @react-native-community/cli to 20.2.0 (matches the 0.88 template)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@antonis antonis added the ready-to-merge Triggers the full CI test suite label Oct 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

⚪ None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • chore(sample): Bump React Native sample to 0.88.0 by antonis in #6910
  • chore(deps): update Sentry Android Gradle Plugin to v6.24.0 by github-actions in #6902
  • chore(deps): bump @appium/support from 7.0.6 to 7.2.8 by dependabot in #6897
  • ci(e2e): Remove app metrics job and performance-tests by antonis in #6896

🤖 This preview updates automatically when you update the PR.

@sentry

sentry Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Size Analysis

❌ 4 Failed Size Checks

iOS Builds

Name Configuration Version Download Size Install Size
sentryreactnativesample (iOS)
io.sentry.reactnative.sample
Release 8.31.0 (116) 11.7 MB (+486.4 KB) 36.0 MB (+1.7 MB)

Android Builds

Name Configuration Version Download Size Uncompressed Size
Sentry RN (Android)
io.sentry.reactnative.sample
Release 8.31.0 (111) 15.0 MB (+298.9 KB) 41.2 MB (+785.4 KB)
4 Failed Checks

io.sentry.reactnative.sample | Release (iOS)

  • Install Size (Absolute Diff) > 50.0 KB — Main App
  • Download Size (Absolute Diff) > 50.0 KB — Main App
    io.sentry.reactnative.sample | Release (Android)
  • Install Size (Absolute Diff) > 50.0 KB — Main App
  • Download Size (Absolute Diff) > 50.0 KB — Main App

Configure sentry-react-native status check rules

@sentry

sentry Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
Sentry RN io.sentry.reactnative.sample 8.31.0 (111) Release

⚙️ sentry-react-native Build Distribution Settings

REAReducedMotion.h imports UIKit and AppKit independently, so on Mac
Catalyst both are pulled in and AppKit's QuickDraw Rect/Point collide
with React Native's types. Import them mutually exclusively until
upstream fixes software-mansion/react-native-reanimated#10908.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
antonis added a commit that referenced this pull request Oct 19, 2026
The dependency updater bumps bare `react-native` in every workspace.
Additional changes required:
- keep samples pinned to their own RN line: expo (Expo SDK), macos
  (react-native-macos 0.81), tvos (react-native-tvos fork), visionos
- leave samples/react-native to the dedicated sample bump (#6910)
- core: @react-native/babel-preset and jest-preset to 0.88.0
- core + e2e-tests: react and react-test-renderer to 19.3.0 (RN 0.88 peer)
- regenerate yarn.lock

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@antonis
antonis marked this pull request as ready for review October 19, 2026 10:58
@antonis
antonis merged commit fd054d6 into main Oct 19, 2026
122 of 125 checks passed
@antonis
antonis deleted the antonis/sample-rn-0.88 branch October 19, 2026 11:14
antonis added a commit that referenced this pull request Oct 19, 2026
* chore: update scripts/update-rn.sh to v0.88.0

* chore(deps): Align samples and @react-native/* companions with RN 0.88.0

The dependency updater bumps bare `react-native` in every workspace.
Additional changes required:
- keep samples pinned to their own RN line: expo (Expo SDK), macos
  (react-native-macos 0.81), tvos (react-native-tvos fork), visionos
- leave samples/react-native to the dedicated sample bump (#6910)
- core: @react-native/babel-preset and jest-preset to 0.88.0
- core + e2e-tests: react and react-test-renderer to 19.3.0 (RN 0.88 peer)
- regenerate yarn.lock

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(build): Resolve react-native types under RN 0.88

RN 0.88 renamed its legacy type definitions from `types/` to
`types_DEPRECATED/` and dropped the co-located `Libraries/**/*.d.ts`.
Repoint the classic-resolution `paths` mappings, and import ErrorUtils
and EmitterSubscription from the package root instead of deep paths.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: Antonis Lilis <antonis.lilis@sentry.io>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants